We are trying to understand which memory types of the S32K is protected by ECC. It is clear from the S32K1xx Series Reference Manual that both sections of RAM is protected as well as how to detect both single-bit and double-bit ECC errors. For the FlexNVM module it is also clear that if it is configured as Data Flash or Emulated EEPROM, single-bit ECC errors are automatically corrected and how to detect double-bit ECC errors. If CSEc is used, it is also clear that CSE_PRAM area is protected.
However, for the regular data/program flash (ex in S32K148 address range: 0000_0000-0017_FFFF ), it is not clear for us from the Reference Manual or other S32K documentation if it is ECC protected and how. It seems like double-bit faults in regular flash is reported in register FTFC->FERSTAT->DFDIF (Double Bit Fault Detect Interrupt Flag). Is this correct? For single-bit faults in regular flash there is less information: Is it in place for regular flash? Is it automatically corrected? Is there any reporting of it?
Best regards,
André
Solved! Go to Solution.
That's a good point, you are right. Sorry, I mismatched that with another devices where it is possible.
I just confirmed that there's no flag for single bit error. Only double bit error can be reported on flash.
Regards,
Lukas
Hi,
program and data flash is protected by ECC too.
Are you aware of this application note?
https://www.nxp.com/docs/en/application-note/AN12522.pdf
It should answer all your questions.
Regards,
Lukas
After reading the application note, it is still a bit unclear to us about the single-bit fault for flash. Following information exist in the application note:
The ECC logic implemented in the S32K1xx Flash memory can correct single-bit fault automatically and can detect multiple-bit fault in each NVM sections. The multiple-bit fault is enabled using the FERCNFG[DFDIE] bit. When the multiple-bit error is detected, the FERSTAT[DFDIF] flag is set, and the interrupt request is generated.
Best regards,
André
Hi André,
yes, single bit errors are automatically corrected. This feature can't be turned off.
Reporting can be enabled in Error Reporting Module in CR0 register if needed.
Regards,
Lukas
Hi Lukas,
Then our doubts regarding enabling of single bit error correction are clear, thank you!
Regarding Error Reporting, the latest Reference Manual for S32K (Rev. 12.1, 02/2020) states that the mentioned register is used only for RAM error reporting. Is this not the case?
Best regards,
André
That's a good point, you are right. Sorry, I mismatched that with another devices where it is possible.
I just confirmed that there's no flag for single bit error. Only double bit error can be reported on flash.
Regards,
Lukas
Thank you Lukas for your fast support in this matter!
Have a nice evening.
Best regards,
André
Thank you for the quick reply! We have not seen this specific application note, we will review it and hopefully it should clear out our doubts.
Best regards,
André