- MCU: nRF52840
- IDE: Keil uVision
- SDK: 15.2.0
- Board: Custom
Hello,
I realize there are a ton of threads about this, but none address the specific question I have. Currently, I have defined IRAM2 in Keil uVision as 'NoInit" and write data to this region of RAM so it persists across reset. My implementation is working great, even for watchdog reset. According to the nRF52840 datasheet, it states " The RAM is never reset, but depending on a reset source the content of RAM may be corrupted". My question is specific to RAM contents after watchdog reset. According to the datasheet, a watchdog reset can (but not always) corrupt the contents of RAM.
Question: If a watchdog reset corrupts RAM, will it corrupt ALL of the RAM banks, or maybe only some banks but not all?
I am trying to understand the scope of potential RAM corruption due to the various reset sources.
I ask because I currently have a marker/magic number at the beginning of my "NoInit" RAM data structure to validate the integrity of the RAM contents. If the marker is there, I assume the rest of the data is valid. I am wondering if this marker/magic number is sufficient, or if I really need to calculate a CRC over the entire data structure?
Thanks,
Derek