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