mbed library sources

Fork of mbed-src by mbed official

Committer:
lzbpli
Date:
Thu Jul 07 06:48:59 2016 +0000
Revision:
636:b0d178e9fa10
Parent:
232:1e593fe58241
l053

Who changed what in which revision?

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