MEMORY { PAGE 0: /* Program Memory */ FLASH : origin = 0x100000, length = 0x3F000 FPUTABLES : origin = 0x13F000, length = 0x00FF0 BEGIN : origin = 0x13FFF0, length = 0x2 RSVD : origin = 0x13FFF2, length = 0xD PAGE 1 : /* Data Memory */ M01SARAM : origin = 0x0, length = 0x800 /* on-chip RAM block M0, M1 */ PIEVECT : origin = 0xD00, length = 0x100 L03SARAM : origin = 0x8000, length = 0x4000 /* on-chip RAM block L0-L3 */ /* S07SHRAM : origin = 0xC000, length = 0x8000 */ S05SHRAM : origin = 0x0000C000, length = 0x6000 S6SHRAM : origin = 0x00012000, length = 0x1000 S7SHRAM : origin = 0x00013000, length = 0x1000 } SECTIONS { /* Allocate program areas: */ .text : > FLASH PAGE = 0 .cinit : > FLASH PAGE = 0 .pinit : > FLASH PAGE = 0 .binit : > FLASH PAGE = 0 dclfuncs : > FLASH PAGE = 0, ALIGN(4) ramfuncs : LOAD = FLASH PAGE = 0, RUN = L03SARAM PAGE = 1, LOAD_START(_RamfuncsLoadStart), LOAD_SIZE(_RamfuncsLoadSize), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart) FPUmathTables : > FPUTABLES, PAGE = 0 /* Initalized sections go in Flash */ .econst : > FLASH PAGE = 0 .switch : > FLASH PAGE = 0 .args : > FLASH PAGE = 0 /* Allocate uninitalized data sections: */ .stack : > M01SARAM | L03SARAM PAGE = 1 .ebss : > M01SARAM | L03SARAM PAGE = 1 .esysmem : > L03SARAM | M01SARAM PAGE = 1 .cio : > L03SARAM | M01SARAM PAGE = 1 }