I have an LPCXpresso54S018M (LPC54S018M-EVK) board. I am trying to set up a noinit section in SRAM0:
/* MAIN DATA SECTION */
/* DEFAULT NOINIT SECTION */
/* This must be the first section in SRAM_0_1_2_3 */
.noinit (NOLOAD): ALIGN(4)
{
_noinit = .;
*(.noinit*)
. = ALIGN(4) ;
_end_noinit = .;
} > SRAM_0_1_2_3
In my code in both images, I allocated the following variable in the noinit section:
__NOINIT_DEF MyFlags my_flags;
Every time the MCU resets (without losing power), the value 0xBF30B671 is written to every word in SRAM_0_1_2_3. This defeats the purpose of the noinit section. I have tried with images from both MCUXpresso and Keil, and both produce the same result. It seems to be a property of the MCU, and not the compiler.
Could someone tell me how to successfully add a noinit section to SRAM0 on the LPC54S018M please?