_estack = 0x20004fff; MEMORY { ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K rom (rx) : ORIGIN = 0x00000000, LENGTH = 128K } SECTIONS { . = 0x0; /* From 0x00000000 */ .text : { *(.isr_vector) /* Vector table */ *(.text) /* Program code */ *(.text.*) *(.rodata) /* Read only data */ *(.rodata.*) /* Read only data */ } >rom .gnu.linkonce : { *(.gnu.linkonce.t.*) *(.gnu.linkonce.r.*) } >rom .gnu.linkoncearm : { *(.gnu.linkonce.armexidx.*) } >rom .rel.text : { *(.rel.text) *(.rel.text.*) *(.rel.gnu.linkonce.t*) } >rom __exidx_start=.; .exidx : { *(.ARM.exidx*) }>rom __exidx_end =.; .extab : { *(.ARM.extab*) }>rom .sidat : { _etext = .; _sidata = _etext; /* Used by the startup in order to initialize the .data section */ } >rom . = 0x20000000; /* From 0x20000000 */ .data : AT ( _sidata ) { . = ALIGN(4); _sdata = .; *(.data) /* Data memory */ . = ALIGN(4); _edata = .; } >ram .bss : { . = ALIGN(4); _sbss = .; *(.bss) /* Zero-filled run time allocate data memory */ . = ALIGN(4); _ebss = .; } >ram _end = .; } /*========== end of file ==========*/