1 /*Based on following file*/
3 * GENERATED FILE - DO NOT EDIT
4 * (c) Code Red Technologies Ltd, 2008-13
5 * (c) NXP Semiconductors 2013-2014
6 * Generated linker script file for LPC11U68
7 * Created from LibIncTemplate.ld (LPCXpresso v7.2 (0 [Build 153] [2014-05-19] ))
8 * By LPCXpresso v7.2.0 [Build 153] [2014-05-19] on Sat Jun 14 15:26:54 JST 2014
10 GROUP(libgcc.a libc.a libstdc++.a libm.a libcr_newlib_nohost.a crti.o crtn.o crtbegin.o crtend.o)
14 /* Define each memory region */
15 MFlash256 (rx) : ORIGIN = 0x0, LENGTH = 0x40000 /* 256K bytes */
16 Ram0_32 (rwx) : ORIGIN = 0x10000000+0x100, LENGTH = 0x8000-0x100 /* 32K bytes */
17 Ram1_2 (rwx) : ORIGIN = 0x20000000, LENGTH = 0x800 /* 2K bytes */
18 Ram2USB_2 (rwx) : ORIGIN = 0x20004000, LENGTH = 0x800 /* 2K bytes */
22 /* Define a symbol for the top of each memory region */
23 __top_MFlash256 = 0x0 + 0x40000;
24 __top_Ram0_32 = 0x10000000+0x100 + 0x8000-0x100;
25 __top_Ram1_2 = 0x20000000 + 0x800;
26 __top_Ram2USB_2 = 0x20004000 + 0x800;
33 /* MAIN TEXT SECTION */
41 /* Global Section Table */
43 __section_table_start = .;
44 __data_section_table = .;
45 LONG(LOADADDR(.data));
48 LONG(LOADADDR(.data_RAM2));
49 LONG( ADDR(.data_RAM2));
50 LONG( SIZEOF(.data_RAM2));
51 LONG(LOADADDR(.data_RAM3));
52 LONG( ADDR(.data_RAM3));
53 LONG( SIZEOF(.data_RAM3));
54 __data_section_table_end = .;
55 __bss_section_table = .;
58 LONG( ADDR(.bss_RAM2));
59 LONG( SIZEOF(.bss_RAM2));
60 LONG( ADDR(.bss_RAM3));
61 LONG( SIZEOF(.bss_RAM3));
62 __bss_section_table_end = .;
63 __section_table_end = . ;
64 /* End of Global Section Table */
73 /* C++ constructors etc */
78 __preinit_array_start = .;
79 KEEP (*(.preinit_array))
80 __preinit_array_end = .;
83 __init_array_start = .;
84 KEEP (*(SORT(.init_array.*)))
91 KEEP (*crtbegin.o(.ctors))
92 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
93 KEEP (*(SORT(.ctors.*)))
94 KEEP (*crtend.o(.ctors))
97 KEEP (*crtbegin.o(.dtors))
98 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
99 KEEP (*(SORT(.dtors.*)))
100 KEEP (*crtend.o(.dtors))
104 * for exception handling/unwind - some Newlib functions (in common
105 * with C++ and STDC++) use this.
107 .ARM.extab : ALIGN(4)
109 *(.ARM.extab* .gnu.linkonce.armextab.*)
113 .ARM.exidx : ALIGN(4)
115 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
121 /* possible MTB section for Ram1_2 */
122 .mtb_buffer_RAM2 (NOLOAD) :
125 KEEP(*(.mtb.$RAM1_2*))
128 /* DATA section for Ram1_2 */
129 .data_RAM2 : ALIGN(4)
137 } > Ram1_2 AT>MFlash256
138 /* possible MTB section for Ram2USB_2 */
139 .mtb_buffer_RAM3 (NOLOAD) :
142 KEEP(*(.mtb.$RAM2USB_2*))
145 /* DATA section for Ram2USB_2 */
146 .data_RAM3 : ALIGN(4)
150 *(.ramfunc.$Ram2USB_2)
154 } > Ram2USB_2 AT>MFlash256
156 /* MAIN DATA SECTION */
158 /* Default MTB section */
159 .mtb_buffer_default (NOLOAD) :
164 .uninit_RESERVED : ALIGN(4)
166 KEEP(*(.bss.$RESERVED*))
168 _end_uninit_RESERVED = .;
172 /* Main DATA section (Ram0_32) */
182 } > Ram0_32 AT>MFlash256
184 /* BSS section for Ram1_2 */
191 /* BSS section for Ram2USB_2 */
199 /* MAIN BSS SECTION */
211 /* NOINIT section for Ram1_2 */
212 .noinit_RAM2 (NOLOAD) : ALIGN(4)
218 /* NOINIT section for Ram2USB_2 */
219 .noinit_RAM3 (NOLOAD) : ALIGN(4)
222 *(.noinit.$Ram2USB_2*)
226 /* DEFAULT NOINIT SECTION */
227 .noinit (NOLOAD): ALIGN(4)
235 PROVIDE(_pvHeapStart = .);
236 PROVIDE(_vStackTop = __top_Ram0_32 - 0);