/memory.x
MEMORY { BOOT2 (r) : ORIGIN = 0x10000000, LENGTH = 0x100 FLASH (rx) : ORIGIN = 0x10000100, LENGTH = 1024K - 0x100 ARAM (rw) : ORIGIN = 0x20000000, LENGTH = 252K RAM (rw) : ORIGIN = 0x2003F000, LENGTH = 8K RAM2 (rw) : ORIGIN = 0x20041000, LENGTH = 4K } EXTERN(BOOT2_FIRMWARE) SECTIONS { /* ### Boot loader */ .boot2 ORIGIN(BOOT2) : { KEEP(*(.boot2)); } > BOOT2 } INSERT BEFORE .text; SECTIONS { .appram (NOLOAD) : { *(.appram); . = ALIGN(4); } > ARAM _appram = ADDR(.appram); _appram_end = ADDR(.appram) + SIZEOF(.appram); } INSERT BEFORE .data; SECTIONS { .ram2 : { *(.ram2); . = ALIGN(4); } > RAM2 AT >FLASH __sram2 = ADDR(.ram2); __eram2 = ADDR(.ram2) + SIZEOF(.ram2); __lram2 = LOADADDR(.ram2); } INSERT AFTER .bss;