/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;