]> git.gir.st - tmk_keyboard.git/blob - tmk_core/tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC11XX_11CXX/TOOLCHAIN_GCC_CR/TARGET_LPC11XX/LPC1114.ld
Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8'
[tmk_keyboard.git] / tmk_core / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_NXP / TARGET_LPC11XX_11CXX / TOOLCHAIN_GCC_CR / TARGET_LPC11XX / LPC1114.ld
1 /* mbed - LPC1114 linker script
2 * Based linker script generated by Code Red Technologies Red Suite 4.1
3 */
4 GROUP(libgcc.a libc_s.a libstdc++_s.a libm.a libcr_newlib_nohost.a crti.o crtn.o crtbegin.o crtend.o)
5 MEMORY
6 {
7 /* Define each memory region */
8 MFlash32 (rx) : ORIGIN = 0x0, LENGTH = 0x8000 /* 32k */
9 RamLoc8 (rwx) : ORIGIN = 0x100000C0, LENGTH = 0x0F40 /* 4k */
10 }
11 /* Define a symbol for the top of each memory region */
12 __top_MFlash32 = 0x0 + 0x8000;
13 __top_RamLoc8 = 0x10000000 + 0x0F40;
14
15 ENTRY(ResetISR)
16
17 SECTIONS
18 {
19
20 /* MAIN TEXT SECTION */
21 .text : ALIGN(4)
22 {
23 FILL(0xff)
24 KEEP(*(.isr_vector))
25 *(.text.ResetISR)
26 *(.text.SystemInit)
27 . = 0x200;
28
29 /* Global Section Table */
30 . = ALIGN(4) ;
31 __section_table_start = .;
32 __data_section_table = .;
33 LONG(LOADADDR(.data));
34 LONG( ADDR(.data)) ;
35 LONG( SIZEOF(.data));
36 __data_section_table_end = .;
37 __bss_section_table = .;
38 LONG( ADDR(.bss));
39 LONG( SIZEOF(.bss));
40 __bss_section_table_end = .;
41 __section_table_end = . ;
42 /* End of Global Section Table */
43
44
45 *(.after_vectors*)
46
47 *(.text*)
48 *(.rodata .rodata.*)
49 . = ALIGN(4);
50
51 /* C++ constructors etc */
52 . = ALIGN(4);
53 KEEP(*(.init))
54
55 . = ALIGN(4);
56 __preinit_array_start = .;
57 KEEP (*(.preinit_array))
58 __preinit_array_end = .;
59
60 . = ALIGN(4);
61 __init_array_start = .;
62 KEEP (*(SORT(.init_array.*)))
63 KEEP (*(.init_array))
64 __init_array_end = .;
65
66 KEEP(*(.fini));
67
68 . = ALIGN(0x4);
69 KEEP (*crtbegin.o(.ctors))
70 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
71 KEEP (*(SORT(.ctors.*)))
72 KEEP (*crtend.o(.ctors))
73
74 . = ALIGN(0x4);
75 KEEP (*crtbegin.o(.dtors))
76 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
77 KEEP (*(SORT(.dtors.*)))
78 KEEP (*crtend.o(.dtors))
79 /* End C++ */
80 } > MFlash32
81
82 /*
83 * for exception handling/unwind - some Newlib functions (in common
84 * with C++ and STDC++) use this.
85 */
86 .ARM.extab : ALIGN(4)
87 {
88 *(.ARM.extab* .gnu.linkonce.armextab.*)
89 } > MFlash32
90 __exidx_start = .;
91
92 .ARM.exidx : ALIGN(4)
93 {
94 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
95 } > MFlash32
96 __exidx_end = .;
97
98 _etext = .;
99
100
101
102 /* MAIN DATA SECTION */
103
104 .uninit_RESERVED : ALIGN(4)
105 {
106 KEEP(*(.bss.$RESERVED*))
107 } > RamLoc8
108
109 .data : ALIGN(4)
110 {
111 FILL(0xff)
112 _data = .;
113 *(vtable)
114 *(.data*)
115 . = ALIGN(4) ;
116 _edata = .;
117 } > RamLoc8 AT>MFlash32
118
119
120
121 /* MAIN BSS SECTION */
122 .bss : ALIGN(4)
123 {
124 _bss = .;
125 *(.bss*)
126 *(COMMON)
127 . = ALIGN(4) ;
128 _ebss = .;
129 PROVIDE(end = .);
130 __end__ = .;
131 } > RamLoc8
132
133 PROVIDE(_pvHeapStart = .);
134 PROVIDE(_vStackTop = __top_RamLoc8 - 0);
135 }
Imprint / Impressum