S32K144: Did I corrupt my internal flash memory?

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

S32K144: Did I corrupt my internal flash memory?

1,041 Views
Dojhoe
Contributor I

Hey, I having been facing a code freeze issue when I am trying to read specific memory address. On further step by step debug of my code I understood that the code jumps to the DefaultISR as soon as I try to read that particular memory location. Can you help me understand if this has happened because of multiple write operations that has happened on that particular location of the internal flash memory. 

I have attached a screenshot where you guys can find all the relevant information around debugging the issue, if you guys need any other information, please let me know.

Code flow: 

- Read memory location 0x10000078 for some information using the internalflash_readbytes function WORKS WELL

Code:  Dojhoe_2-1735024961394.png

- Read another memory location 0x10000080 using the same internalflash_readbytes function WORKS WELL

Code:  Dojhoe_3-1735025009912.png

- Read memory location 0x10000000 using the internalflash_readbytes function FAILS

Code:  Dojhoe_1-1735024924381.png

internalflash_readbytes():

Dojhoe_0-1735024782015.png

Observations: 

  • Code goes to the DefaultISR
  • Am unable to read that particular memory locations in the Memory browser (shows question marks)
  • When scrolling on the Memory Window the Console window shows failure in reading some memory addresses
  • Debug view shows this issue was caused due to a watchdog interrupt (? Didn't understand how this part of the code could trigger a watchdog interrupt, is there something I might be missing)WDOG_EWM_IRQHandler() at startup_S32K144.S:377 0x458

FYI: This issue has been observed on just 1 of the boards, the code I am referring to here is a well-tested code and has been running on multiple devices. This doesn't mean that there can't be an issue with the code, but I thought will just mention this as a note 

 

 

 

 

0 Kudos
Reply
3 Replies

970 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi 

Please download the S32K1 RM, and then check if this is the cause:

36.5.2.5 ECC implementation for FlexNVM
When the FlexNVM region is configured as Data Flash, any single-bit ECC errors are automatically corrected, and any double-bit ECC errors are reflected onto FERSTAT[DFDIF] flag at the read access from Data Flash.
When the FlexNVM region is configured as Emulated EEPROM, any single-bit ECC errors are automatically corrected before copying data into EEERAM at the read access from Emulated EEPROM, and any double-bit ECC errors on valid Emulated EEPROM locations which containing data that need to be copied to EEERAM are reflected as the corresponding data records left as all 1's in EEERAM.

Best Regards,
Robin
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "ACCEPT AS SOLUTION" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
Reply

987 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi

Due to the Christmas vacation period, our response times may be longer than usual. We appreciate your patience as our team navigates this busy season. 
Please be assured, we are committed to responding your inquiries as quickly as possible. 
Thank you for your understanding and happy holidays!

Best Regards,
Robin

0 Kudos
Reply

1,038 Views
Dojhoe
Contributor I

Heres a screenshot of the observations

0 Kudos
Reply