The official mbed C/C SDK provides the software platform and libraries to build your applications.

Fork of mbed by mbed official

Committer:
Mikchel
Date:
Sun May 03 16:04:42 2015 +0000
Revision:
99:7f6c6de930c0
Parent:
86:04dd9b1680ae
12

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 86:04dd9b1680ae 1 /*Based on following file*/
bogdanm 86:04dd9b1680ae 2 /*
bogdanm 86:04dd9b1680ae 3 * GENERATED FILE - DO NOT EDIT
bogdanm 86:04dd9b1680ae 4 * (c) Code Red Technologies Ltd, 2008-13
bogdanm 86:04dd9b1680ae 5 * (c) NXP Semiconductors 2013-2014
bogdanm 86:04dd9b1680ae 6 * Generated linker script file for LPC11U68
bogdanm 86:04dd9b1680ae 7 * Created from LibIncTemplate.ld (LPCXpresso v7.2 (0 [Build 153] [2014-05-19] ))
bogdanm 86:04dd9b1680ae 8 * By LPCXpresso v7.2.0 [Build 153] [2014-05-19] on Sat Jun 14 15:26:54 JST 2014
bogdanm 86:04dd9b1680ae 9 */
bogdanm 86:04dd9b1680ae 10 GROUP(libgcc.a libc.a libstdc++.a libm.a libcr_newlib_nohost.a crti.o crtn.o crtbegin.o crtend.o)
bogdanm 86:04dd9b1680ae 11
bogdanm 86:04dd9b1680ae 12 MEMORY
bogdanm 86:04dd9b1680ae 13 {
bogdanm 86:04dd9b1680ae 14 /* Define each memory region */
bogdanm 86:04dd9b1680ae 15 MFlash256 (rx) : ORIGIN = 0x0, LENGTH = 0x40000 /* 256K bytes */
bogdanm 86:04dd9b1680ae 16 Ram0_32 (rwx) : ORIGIN = 0x10000000+0x100, LENGTH = 0x8000-0x100 /* 32K bytes */
bogdanm 86:04dd9b1680ae 17 Ram1_2 (rwx) : ORIGIN = 0x20000000, LENGTH = 0x800 /* 2K bytes */
bogdanm 86:04dd9b1680ae 18 Ram2USB_2 (rwx) : ORIGIN = 0x20004000, LENGTH = 0x800 /* 2K bytes */
bogdanm 86:04dd9b1680ae 19
bogdanm 86:04dd9b1680ae 20
bogdanm 86:04dd9b1680ae 21 }
bogdanm 86:04dd9b1680ae 22 /* Define a symbol for the top of each memory region */
bogdanm 86:04dd9b1680ae 23 __top_MFlash256 = 0x0 + 0x40000;
bogdanm 86:04dd9b1680ae 24 __top_Ram0_32 = 0x10000000+0x100 + 0x8000-0x100;
bogdanm 86:04dd9b1680ae 25 __top_Ram1_2 = 0x20000000 + 0x800;
bogdanm 86:04dd9b1680ae 26 __top_Ram2USB_2 = 0x20004000 + 0x800;
bogdanm 86:04dd9b1680ae 27
bogdanm 86:04dd9b1680ae 28 ENTRY(ResetISR)
bogdanm 86:04dd9b1680ae 29
bogdanm 86:04dd9b1680ae 30 SECTIONS
bogdanm 86:04dd9b1680ae 31 {
bogdanm 86:04dd9b1680ae 32
bogdanm 86:04dd9b1680ae 33 /* MAIN TEXT SECTION */
bogdanm 86:04dd9b1680ae 34 .text : ALIGN(4)
bogdanm 86:04dd9b1680ae 35 {
bogdanm 86:04dd9b1680ae 36 FILL(0xff)
bogdanm 86:04dd9b1680ae 37 KEEP(*(.isr_vector))
bogdanm 86:04dd9b1680ae 38 *(.text.ResetISR)
bogdanm 86:04dd9b1680ae 39 *(.text.SystemInit)
bogdanm 86:04dd9b1680ae 40
bogdanm 86:04dd9b1680ae 41 /* Global Section Table */
bogdanm 86:04dd9b1680ae 42 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 43 __section_table_start = .;
bogdanm 86:04dd9b1680ae 44 __data_section_table = .;
bogdanm 86:04dd9b1680ae 45 LONG(LOADADDR(.data));
bogdanm 86:04dd9b1680ae 46 LONG( ADDR(.data));
bogdanm 86:04dd9b1680ae 47 LONG( SIZEOF(.data));
bogdanm 86:04dd9b1680ae 48 LONG(LOADADDR(.data_RAM2));
bogdanm 86:04dd9b1680ae 49 LONG( ADDR(.data_RAM2));
bogdanm 86:04dd9b1680ae 50 LONG( SIZEOF(.data_RAM2));
bogdanm 86:04dd9b1680ae 51 LONG(LOADADDR(.data_RAM3));
bogdanm 86:04dd9b1680ae 52 LONG( ADDR(.data_RAM3));
bogdanm 86:04dd9b1680ae 53 LONG( SIZEOF(.data_RAM3));
bogdanm 86:04dd9b1680ae 54 __data_section_table_end = .;
bogdanm 86:04dd9b1680ae 55 __bss_section_table = .;
bogdanm 86:04dd9b1680ae 56 LONG( ADDR(.bss));
bogdanm 86:04dd9b1680ae 57 LONG( SIZEOF(.bss));
bogdanm 86:04dd9b1680ae 58 LONG( ADDR(.bss_RAM2));
bogdanm 86:04dd9b1680ae 59 LONG( SIZEOF(.bss_RAM2));
bogdanm 86:04dd9b1680ae 60 LONG( ADDR(.bss_RAM3));
bogdanm 86:04dd9b1680ae 61 LONG( SIZEOF(.bss_RAM3));
bogdanm 86:04dd9b1680ae 62 __bss_section_table_end = .;
bogdanm 86:04dd9b1680ae 63 __section_table_end = . ;
bogdanm 86:04dd9b1680ae 64 /* End of Global Section Table */
bogdanm 86:04dd9b1680ae 65
bogdanm 86:04dd9b1680ae 66
bogdanm 86:04dd9b1680ae 67 *(.after_vectors*)
bogdanm 86:04dd9b1680ae 68
bogdanm 86:04dd9b1680ae 69 *(.text*)
bogdanm 86:04dd9b1680ae 70 *(.rodata .rodata.*)
bogdanm 86:04dd9b1680ae 71 . = ALIGN(4);
bogdanm 86:04dd9b1680ae 72
bogdanm 86:04dd9b1680ae 73 /* C++ constructors etc */
bogdanm 86:04dd9b1680ae 74 . = ALIGN(4);
bogdanm 86:04dd9b1680ae 75 KEEP(*(.init))
bogdanm 86:04dd9b1680ae 76
bogdanm 86:04dd9b1680ae 77 . = ALIGN(4);
bogdanm 86:04dd9b1680ae 78 __preinit_array_start = .;
bogdanm 86:04dd9b1680ae 79 KEEP (*(.preinit_array))
bogdanm 86:04dd9b1680ae 80 __preinit_array_end = .;
bogdanm 86:04dd9b1680ae 81
bogdanm 86:04dd9b1680ae 82 . = ALIGN(4);
bogdanm 86:04dd9b1680ae 83 __init_array_start = .;
bogdanm 86:04dd9b1680ae 84 KEEP (*(SORT(.init_array.*)))
bogdanm 86:04dd9b1680ae 85 KEEP (*(.init_array))
bogdanm 86:04dd9b1680ae 86 __init_array_end = .;
bogdanm 86:04dd9b1680ae 87
bogdanm 86:04dd9b1680ae 88 KEEP(*(.fini));
bogdanm 86:04dd9b1680ae 89
bogdanm 86:04dd9b1680ae 90 . = ALIGN(0x4);
bogdanm 86:04dd9b1680ae 91 KEEP (*crtbegin.o(.ctors))
bogdanm 86:04dd9b1680ae 92 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
bogdanm 86:04dd9b1680ae 93 KEEP (*(SORT(.ctors.*)))
bogdanm 86:04dd9b1680ae 94 KEEP (*crtend.o(.ctors))
bogdanm 86:04dd9b1680ae 95
bogdanm 86:04dd9b1680ae 96 . = ALIGN(0x4);
bogdanm 86:04dd9b1680ae 97 KEEP (*crtbegin.o(.dtors))
bogdanm 86:04dd9b1680ae 98 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
bogdanm 86:04dd9b1680ae 99 KEEP (*(SORT(.dtors.*)))
bogdanm 86:04dd9b1680ae 100 KEEP (*crtend.o(.dtors))
bogdanm 86:04dd9b1680ae 101 } > MFlash256
bogdanm 86:04dd9b1680ae 102
bogdanm 86:04dd9b1680ae 103 /*
bogdanm 86:04dd9b1680ae 104 * for exception handling/unwind - some Newlib functions (in common
bogdanm 86:04dd9b1680ae 105 * with C++ and STDC++) use this.
bogdanm 86:04dd9b1680ae 106 */
bogdanm 86:04dd9b1680ae 107 .ARM.extab : ALIGN(4)
bogdanm 86:04dd9b1680ae 108 {
bogdanm 86:04dd9b1680ae 109 *(.ARM.extab* .gnu.linkonce.armextab.*)
bogdanm 86:04dd9b1680ae 110 } > MFlash256
bogdanm 86:04dd9b1680ae 111 __exidx_start = .;
bogdanm 86:04dd9b1680ae 112
bogdanm 86:04dd9b1680ae 113 .ARM.exidx : ALIGN(4)
bogdanm 86:04dd9b1680ae 114 {
bogdanm 86:04dd9b1680ae 115 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
bogdanm 86:04dd9b1680ae 116 } > MFlash256
bogdanm 86:04dd9b1680ae 117 __exidx_end = .;
bogdanm 86:04dd9b1680ae 118
bogdanm 86:04dd9b1680ae 119 _etext = .;
bogdanm 86:04dd9b1680ae 120
bogdanm 86:04dd9b1680ae 121 /* possible MTB section for Ram1_2 */
bogdanm 86:04dd9b1680ae 122 .mtb_buffer_RAM2 (NOLOAD) :
bogdanm 86:04dd9b1680ae 123 {
bogdanm 86:04dd9b1680ae 124 KEEP(*(.mtb.$RAM2*))
bogdanm 86:04dd9b1680ae 125 KEEP(*(.mtb.$RAM1_2*))
bogdanm 86:04dd9b1680ae 126 } > Ram1_2
bogdanm 86:04dd9b1680ae 127
bogdanm 86:04dd9b1680ae 128 /* DATA section for Ram1_2 */
bogdanm 86:04dd9b1680ae 129 .data_RAM2 : ALIGN(4)
bogdanm 86:04dd9b1680ae 130 {
bogdanm 86:04dd9b1680ae 131 FILL(0xff)
bogdanm 86:04dd9b1680ae 132 *(.ramfunc.$RAM2)
bogdanm 86:04dd9b1680ae 133 *(.ramfunc.$Ram1_2)
bogdanm 86:04dd9b1680ae 134 *(.data.$RAM2*)
bogdanm 86:04dd9b1680ae 135 *(.data.$Ram1_2*)
bogdanm 86:04dd9b1680ae 136 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 137 } > Ram1_2 AT>MFlash256
bogdanm 86:04dd9b1680ae 138 /* possible MTB section for Ram2USB_2 */
bogdanm 86:04dd9b1680ae 139 .mtb_buffer_RAM3 (NOLOAD) :
bogdanm 86:04dd9b1680ae 140 {
bogdanm 86:04dd9b1680ae 141 KEEP(*(.mtb.$RAM3*))
bogdanm 86:04dd9b1680ae 142 KEEP(*(.mtb.$RAM2USB_2*))
bogdanm 86:04dd9b1680ae 143 } > Ram2USB_2
bogdanm 86:04dd9b1680ae 144
bogdanm 86:04dd9b1680ae 145 /* DATA section for Ram2USB_2 */
bogdanm 86:04dd9b1680ae 146 .data_RAM3 : ALIGN(4)
bogdanm 86:04dd9b1680ae 147 {
bogdanm 86:04dd9b1680ae 148 FILL(0xff)
bogdanm 86:04dd9b1680ae 149 *(.ramfunc.$RAM3)
bogdanm 86:04dd9b1680ae 150 *(.ramfunc.$Ram2USB_2)
bogdanm 86:04dd9b1680ae 151 *(.data.$RAM3*)
bogdanm 86:04dd9b1680ae 152 *(.data.$Ram2USB_2*)
bogdanm 86:04dd9b1680ae 153 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 154 } > Ram2USB_2 AT>MFlash256
bogdanm 86:04dd9b1680ae 155
bogdanm 86:04dd9b1680ae 156 /* MAIN DATA SECTION */
bogdanm 86:04dd9b1680ae 157
bogdanm 86:04dd9b1680ae 158 /* Default MTB section */
bogdanm 86:04dd9b1680ae 159 .mtb_buffer_default (NOLOAD) :
bogdanm 86:04dd9b1680ae 160 {
bogdanm 86:04dd9b1680ae 161 KEEP(*(.mtb*))
bogdanm 86:04dd9b1680ae 162 } > Ram0_32
bogdanm 86:04dd9b1680ae 163
bogdanm 86:04dd9b1680ae 164 .uninit_RESERVED : ALIGN(4)
bogdanm 86:04dd9b1680ae 165 {
bogdanm 86:04dd9b1680ae 166 KEEP(*(.bss.$RESERVED*))
bogdanm 86:04dd9b1680ae 167 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 168 _end_uninit_RESERVED = .;
bogdanm 86:04dd9b1680ae 169 } > Ram0_32
bogdanm 86:04dd9b1680ae 170
bogdanm 86:04dd9b1680ae 171
bogdanm 86:04dd9b1680ae 172 /* Main DATA section (Ram0_32) */
bogdanm 86:04dd9b1680ae 173 .data : ALIGN(4)
bogdanm 86:04dd9b1680ae 174 {
bogdanm 86:04dd9b1680ae 175 FILL(0xff)
bogdanm 86:04dd9b1680ae 176 _data = . ;
bogdanm 86:04dd9b1680ae 177 *(vtable)
bogdanm 86:04dd9b1680ae 178 *(.ramfunc*)
bogdanm 86:04dd9b1680ae 179 *(.data*)
bogdanm 86:04dd9b1680ae 180 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 181 _edata = . ;
bogdanm 86:04dd9b1680ae 182 } > Ram0_32 AT>MFlash256
bogdanm 86:04dd9b1680ae 183
bogdanm 86:04dd9b1680ae 184 /* BSS section for Ram1_2 */
bogdanm 86:04dd9b1680ae 185 .bss_RAM2 : ALIGN(4)
bogdanm 86:04dd9b1680ae 186 {
bogdanm 86:04dd9b1680ae 187 *(.bss.$RAM2*)
bogdanm 86:04dd9b1680ae 188 *(.bss.$Ram1_2*)
bogdanm 86:04dd9b1680ae 189 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 190 } > Ram1_2
bogdanm 86:04dd9b1680ae 191 /* BSS section for Ram2USB_2 */
bogdanm 86:04dd9b1680ae 192 .bss_RAM3 : ALIGN(4)
bogdanm 86:04dd9b1680ae 193 {
bogdanm 86:04dd9b1680ae 194 *(.bss.$RAM3*)
bogdanm 86:04dd9b1680ae 195 *(.bss.$Ram2USB_2*)
bogdanm 86:04dd9b1680ae 196 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 197 } > Ram2USB_2
bogdanm 86:04dd9b1680ae 198
bogdanm 86:04dd9b1680ae 199 /* MAIN BSS SECTION */
bogdanm 86:04dd9b1680ae 200 .bss : ALIGN(4)
bogdanm 86:04dd9b1680ae 201 {
bogdanm 86:04dd9b1680ae 202 _bss = .;
bogdanm 86:04dd9b1680ae 203 *(.bss*)
bogdanm 86:04dd9b1680ae 204 *(COMMON)
bogdanm 86:04dd9b1680ae 205 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 206 _ebss = .;
bogdanm 86:04dd9b1680ae 207 PROVIDE(end = .);
bogdanm 86:04dd9b1680ae 208 __end__ = .;
bogdanm 86:04dd9b1680ae 209 } > Ram0_32
bogdanm 86:04dd9b1680ae 210
bogdanm 86:04dd9b1680ae 211 /* NOINIT section for Ram1_2 */
bogdanm 86:04dd9b1680ae 212 .noinit_RAM2 (NOLOAD) : ALIGN(4)
bogdanm 86:04dd9b1680ae 213 {
bogdanm 86:04dd9b1680ae 214 *(.noinit.$RAM2*)
bogdanm 86:04dd9b1680ae 215 *(.noinit.$Ram1_2*)
bogdanm 86:04dd9b1680ae 216 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 217 } > Ram1_2
bogdanm 86:04dd9b1680ae 218 /* NOINIT section for Ram2USB_2 */
bogdanm 86:04dd9b1680ae 219 .noinit_RAM3 (NOLOAD) : ALIGN(4)
bogdanm 86:04dd9b1680ae 220 {
bogdanm 86:04dd9b1680ae 221 *(.noinit.$RAM3*)
bogdanm 86:04dd9b1680ae 222 *(.noinit.$Ram2USB_2*)
bogdanm 86:04dd9b1680ae 223 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 224 } > Ram2USB_2
bogdanm 86:04dd9b1680ae 225
bogdanm 86:04dd9b1680ae 226 /* DEFAULT NOINIT SECTION */
bogdanm 86:04dd9b1680ae 227 .noinit (NOLOAD): ALIGN(4)
bogdanm 86:04dd9b1680ae 228 {
bogdanm 86:04dd9b1680ae 229 _noinit = .;
bogdanm 86:04dd9b1680ae 230 *(.noinit*)
bogdanm 86:04dd9b1680ae 231 . = ALIGN(4) ;
bogdanm 86:04dd9b1680ae 232 _end_noinit = .;
bogdanm 86:04dd9b1680ae 233 } > Ram0_32
bogdanm 86:04dd9b1680ae 234
bogdanm 86:04dd9b1680ae 235 PROVIDE(_pvHeapStart = .);
bogdanm 86:04dd9b1680ae 236 PROVIDE(_vStackTop = __top_Ram0_32 - 0);
bogdanm 86:04dd9b1680ae 237 }