2359673_en-US

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2359673_en-US

2359673_en-US

S32K1 EEprom RTD

Hi,

I do not understand why is I use Eep_Ftfc_Example_S32K144 works okay.

But if i remove Erasing and Write code and so i just want to read the previus stored data, it fails with error  "FTFC_EEP_IP_STATUS_BLOCK_INCONSISTENT".

I have set both "Preserve Partitioning for teh device" and "Preserve this Range" from 0x10000000 to 0x1000ffff.

So the second round code is:


/* Initialize Clock */
Clock_Ip_Init(&Clock_Ip_aClockConfig[0]);
/* partition only if it was not partitioned before for EERAM with code 0x4 */
Eep_DepartParitition(T_EEEPROM_SIZE);
/* Initialize Eep driver */
Ftfc_Eep_Ip_Init(&EepFtfcCfg_VS_0);

// /* Erase memory by writing erase value */
// for(i=0; i// {
// retJobResultType = Ftfc_Eep_Ip_Erase(EEP_ERASE_START_ADD + i, FTFC_EEP_IP_PAGE_LONGWORD, FALSE);
// if(FTFC_EEP_IP_STATUS_OK != retJobResultType)
// {
// Exit_Example(FALSE);
// return 0;
// }
// }
//
// /* Write one or more complete eeprom pages to the eeprom device */
// for(i=0; i// {
// retJobResultType = Ftfc_Eep_Ip_Write(EEP_ERASE_START_ADD + i, dataWrTestPatt + i, FTFC_EEP_IP_PAGE_LONGWORD, FALSE);
// if(FTFC_EEP_IP_STATUS_OK != retJobResultType)
// {
// Exit_Example(FALSE);
// return 0;
// }
// }

/* Compares a eeprom memory area with an application data buffer */
for(i=0; i{
retJobResultType = Ftfc_Eep_Ip_Compare(EEP_ERASE_START_ADD + i, dataWrTestPatt + i, FTFC_EEP_IP_PAGE_LONGWORD);
if(FTFC_EEP_IP_STATUS_OK != retJobResultType)
{
Exit_Example(FALSE);
return 0;
}
}


Thank you in advance.

Re: S32K1 EEprom RTD

"FTFC_EEP_IP_STATUS_BLOCK_INCONSISTENT" may cause by the block addrees alignment, can you help to share more information about your EEPROM address setting besides Preserve this Range" from 0x10000000 to 0x1000ffff during intitial partition?

Re: S32K1 EEprom RTD

please share the FlexNVM Partition Code for data flash and EEPROM setting. It may need to know which part has been to set as EEPROM between 1000000 and 1000FFFF. And you may need to read EEPROM data according to the setting. 

More detailed please refer to AN11983 Using the S32K1xx EEPROM Functionality

Re: S32K1 EEprom RTD

Hi db16122,

thank you for you replay.

ck182_0-1777878996851.pngck182_0-1777878996851.png

I have change nothings from the original example "Eep_Ftfc_Ip_Example_S32K144".

Also I have notice that when execute this code:

retJobResultType = Ftfc_Eep_Ip_Write(EEP_ERASE_START_ADD + i, dataWrTestPatt + i, FTFC_EEP_IP_PAGE_LONGWORD, FALSE);

in the example, it write in Ram at address 0x14000000, that is correct, but never writes "something" in the Flex Memory. 

I expect that "somethings" is writes not only in ram but also in Flex memory starting from address 0x10000000, but I never see any change. 

I do not understand what I'm wrong

I'm using DS3.4 with RDT 1.01. 

Thanks




Re: S32K1 EEprom RTD

Hi @ck182,

Once EEE is enabled on the FlexNVM, the FlexNVM (Backup) is no longer directly accessible by the application core. At that point, only the FlexRAM as EEPROM is accessible.
If FlexNVM was partitioned with EEP_FTFC_LOAD_AT_RESET_ENABLED, then after a reset the contents of the Backup Flash are automatically copied into FlexRAM (EEPROM), and the EEERDY flag is set.

At the beginning of main(), could you please confirm that:

EEERDY == 1,
DEPART contains a valid partition code, and
valid data are present in FlexRAM (EEPROM)?


Regards,

Daniel

Tags (1)
No ratings
Version history
Last update:
‎05-05-2026 04:32 AM
Updated by: