Tool/software:
Hello,
I was wondering how to define a noinit section of ram that is persistent through a soft reboot. So far I've defined a section of ram to noinit in the linker file and then used the attribute to place the object in that section of ram. I see in the map file that it is being placed there however when I do a sysreset the value looks like its resetting back to 0 even though I am incrementing it on each boot up. Below I attached the edits to the .cmd file the project is using project_zero as the base.
* Memory Sizes */ #define NOINIT_SIZE 0x00001000 /******************************************************************************* * Memory Definitions ******************************************************************************/ /******************************************************************************* * RAM */ #define NOINIT_START (RAM_END - NOINIT_SIZE) /******************************************************************************* * System Memory Map ******************************************************************************/ MEMORY { SRAM (RWX) : origin = RAM_START, length = (RAM_END - NOINIT_SIZE - RAM_START + 1) NOINIT (RWX) : origin = RAM_END - NOINIT_SIZE + 1, length = NOINIT_SIZE /******************************************************************************* * Section Allocation in Memory ******************************************************************************/ SECTIONS { .noinit (NOLOAD): { *(.noinit) } > NOINIT
Thanks