FlexNVM EEPROM Partition of FS32K146

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

FlexNVM EEPROM Partition of FS32K146

ソリューションへジャンプ
1,621件の閲覧回数
DanielDuJijun
Contributor III

I have the following questions about analogue EE and need advice:
1. What is the erase life when the data sheet says the size ratio of FlexRAM and E_Flash is 1:16?
2、If the FlexNVM is divided into 48k E_Flash and 16k D_Flash, i.e. the size ratio of FlexRAM and E_Flash is 1:12, is it feasible? What is the erase life at this time?

Parts : FS32K146HAT0MLLT S32K146 Arm Cortex-M4F, 80 MHz, 1 Mb Flash, CAN FD, FlexIO, CSEc security, LQFP100 - S32K MCUs for General-Purpose.

タグ(1)
0 件の賞賛
1 解決策
1,577件の閲覧回数
danielmartynek
NXP TechSupport
NXP TechSupport

Hi @DanielDuJijun,

If the ratio is 1:16, the write endurance is 100k.

In this case, up to 10k endurance (10% of 100k), the retention is 20 year, and 5 years for endurance >10k.

 danielmartynek_0-1693228262260.png

The datasheet specifies ratios 16 and 256.

But there is the Flex Memory Endurance Calculator for any other use case:

https://www.nxp.com/downloads/en/calculators/FME-Calculator.zip

 

Regards,

Daniel

 

元の投稿で解決策を見る

0 件の賞賛
4 返答(返信)
188件の閲覧回数
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 件の賞賛
1,578件の閲覧回数
danielmartynek
NXP TechSupport
NXP TechSupport

Hi @DanielDuJijun,

If the ratio is 1:16, the write endurance is 100k.

In this case, up to 10k endurance (10% of 100k), the retention is 20 year, and 5 years for endurance >10k.

 danielmartynek_0-1693228262260.png

The datasheet specifies ratios 16 and 256.

But there is the Flex Memory Endurance Calculator for any other use case:

https://www.nxp.com/downloads/en/calculators/FME-Calculator.zip

 

Regards,

Daniel

 

0 件の賞賛
1,534件の閲覧回数
DanielDuJijun
Contributor III
Got it and thanks a lot for your great support.
0 件の賞賛
194件の閲覧回数
NXP2
Contributor I
 
0 件の賞賛