Partition of FlexNVM in S32K146

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Partition of FlexNVM in S32K146

跳至解决方案
810 次查看
Venkatesh_Prasanna
Contributor I

Hi All,

I am trying to partition the FlexNVM like 32 kb for D-Flash and 32 kb for E-Flash.

The DEPART value is 0x3 .

Q. Which part of the 64 kb of FLexNVM will be allocated for D-Flash?

Is it the 1st 32 kb of FlexNVM or the 2nd 32 kb of FlexNVM?

 

0 项奖励
回复
1 解答
804 次查看
danielmartynek
NXP TechSupport
NXP TechSupport

Hi,

It is as shown below, DFlash starts at 0x10000000.

danielmartynek_1-1610717595442.png

 

Regards,

Daniel

 

 

在原帖中查看解决方案

3 回复数
200 次查看
NXP2
Contributor I

Hello, I have some problems when operating FlexNVM partitions. I hope to get your reply. The questions are as follows:
In my application, Flexram is used as an emulated EEPROM, partitioning as follows using 32k for DFLASH and 32k for EFLASH. boot needs to write some flag bits to DFLASH, after writing. Start running my application, my application needs to perform three steps to read the flag bit, partition, read the flag bit, there is a problem in the process. The flag bit can be read normally before the partition, but after the partition is erased when reading the flag bit, the read content is full FF. I am not quite clear what is the reason for this operation, I hope you can tell me the reason and the solution.

 

void BswM_Eeeprom_Init(void)
{
status_t ret;
//ret定义为全局变量
//initial flash
ret = FLASH_DRV_Init(&Flash_Cfg_InitConfig0,&flashSSDConfig);
    DEV_ASSERT(STATUS_SUCCESS == ret);
 
    ///若未分配EEE,则执行分配指令
   if (flashSSDConfig.EEESize == 0u) //检查FlexRAM是否已配置为EEPROM,为0表示目前是传统RAM
   {
 
       ret = FLASH_DRV_DEFlashPartition(&flashSSDConfig, 0x2u, 0x3u, 0x0u, false, true); //分区
       DEV_ASSERT(STATUS_SUCCESS == ret);
       /* Re-initialize the driver to update the new EEPROM configuration */
       ret = FLASH_DRV_Init(&Flash_Cfg_InitConfig0,&flashSSDConfig);
       DEV_ASSERT(STATUS_SUCCESS == ret);
 
       ret = FLASH_DRV_SetFlexRamFunction(&flashSSDConfig, EEE_ENABLE, 0x00u, &status);
//       ret = FLASH_DRV_SetFlexRamFunction(&flashSSDConfig, EEE_ENABLE, 0x00u, NULL);
       DEV_ASSERT(STATUS_SUCCESS == ret);
   }
   else    /* FLexRAM is already configured as EEPROM */
   {
       ret = FLASH_DRV_SetFlexRamFunction(&flashSSDConfig, EEE_ENABLE, 0x00u, NULL);
       DEV_ASSERT(STATUS_SUCCESS == ret);
   }
}

 

0 项奖励
回复
805 次查看
danielmartynek
NXP TechSupport
NXP TechSupport

Hi,

It is as shown below, DFlash starts at 0x10000000.

danielmartynek_1-1610717595442.png

 

Regards,

Daniel

 

 

201 次查看
NXP2
Contributor I
Hello, I have some problems when operating FlexNVM partitions. I hope to get your reply. The questions are as follows:
In my application, Flexram is used as an emulated EEPROM, partitioning as follows using 32k for DFLASH and 32k for EFLASH. boot needs to write some flag bits to DFLASH, after writing. Start running my application, my application needs to perform three steps to read the flag bit, partition, read the flag bit, there is a problem in the process. The flag bit can be read normally before the partition, but after the partition is erased when reading the flag bit, the read content is full FF. I am not quite clear what is the reason for this operation, I hope you can tell me the reason and the solution.
0 项奖励
回复