1/* 2 * - Up to 512 kB on-chip flash memory 3 * - Up to 96 kB main SRAM. 4 * - An additional 8 kB SRAM. with GNU ld 5 * Date Author Notes 6 * 2014-11-02 aozima first implementation 7 * 2014-12-16 RT_learning change little for support LPC5410x 8 */ 9 10/* Program Entry, set to mark it as "used" and avoid gc */ 11MEMORY 12{ 13 FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 512K /* */ 14 SRAM (rwx) : ORIGIN = 0x02000000, LENGTH = 96K 15} 16 17_system_stack_size = 0x200; 18 19SECTIONS 20{ 21 .text : 22 { 23 _text = .; 24 KEEP(*(.isr_vector)) 25 *(.text*) 26 *(.rodata*) 27 28 /* section information for finsh shell */ 29 . = ALIGN(4); 30 __fsymtab_start = .; 31 KEEP(*(FSymTab)) 32 __fsymtab_end = .; 33 . = ALIGN(4); 34 __vsymtab_start = .; 35 KEEP(*(VSymTab)) 36 __vsymtab_end = .; 37 . = ALIGN(4); 38 39 /* section information for components init. */ 40 . = ALIGN(4); 41 __rt_init_start = .; 42 KEEP(*(SORT(.rti_fn*))) 43 __rt_init_end = .; 44 . = ALIGN(4); 45 46 } > FLASH 47 48 /* .ARM.exidx is sorted, so has to go in its own output section. */ 49 __exidx_start = .; 50 .ARM.exidx : 51 { 52 *(.ARM.exidx* .gnu.linkonce.armexidx.*) 53 54 /* This is used by the startup in order to initialize the .data secion */ 55 _sidata = .; 56 } > FLASH 57 __exidx_end = .; 58 59 /* end of all text. */ 60 _etext = .; 61 62 .data : AT(_etext) 63 { 64 _data = .; 65 *(vtable) 66 *(.data*) 67 _edata = .; 68 } > SRAM 69 70 .bss : 71 { 72 _bss = .; 73 *(.bss*) 74 *(COMMON) 75 _ebss = .; 76 } > SRAM 77 __bss_end = .; 78 79} 80