//**************************************************************************** // test section in RAM #pragma DATA_SECTION(variable, ".infoD") float variable = 0.0; //************************************** // do some operation with variable, like variable += 20.0 //*************************************** and the linker file modified as follows: #define APP_BASE 0x00000000 #define RAM_BASE 0x20000000 /* System memory map */ MEMORY { /* Application stored in and executes from internal flash */ FLASH (RX) : origin = APP_BASE, length = 0x00100000 /* Application uses internal RAM for data */ SRAM (RWX) : origin = 0x20000000, length = 0x0002FFFF REZRAM(RWX): origin = 0x20030000, length = 0x00010000 } /* Section allocation in memory */ SECTIONS { .intvecs: > APP_BASE .text : > FLASH .const : > FLASH .cinit : > FLASH .pinit : > FLASH .init_array : > FLASH .vtable : > RAM_BASE .data : > SRAM .bss : > SRAM .sysmem : > SRAM .stack : > SRAM .infoD : > REZRAM } __STACK_TOP = __stack + 1024;