Hi
I’m trying to set a specific address in RAM to a value so on a reset the boot loader can read it and action on it. The RAM is configured to not initialise.
I've simplified the test so that it doesn't involve the boot loader and checks itself. My app sets the address to a value, resets and when it re-starts it simply prints out that value before it is set again.
Unfortunately the value is not as expected. Oddly if I step through the code and monitor the variable and RAM it works.
I'm using Embedded Artist's iMX RT1062 OEM board with NXP's MCUXpresso IDE and SDK.
I've added the variable to OC RAM using Properties C/C++ Build - MCU settings:
Screenshot 2021-04-27 080409.jpg
I also did this, but not sure it is required:
Screenshot 2021-04-27 080644.jpg
Variable declared as:
__NOINIT(RAM4) volatile unsigned long mailBox; // note must be global!
It's as if it has been cached and not properly written to the RAM. I've tried adding delays using lots of "__NOP();"
Has anyone seen this before?
Many thanks