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

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
Anna Bridge
Date:
Fri Jun 22 15:38:59 2018 +0100
Revision:
169:a7c7b631e539
Parent:
86:04dd9b1680ae
Child:
171:3a7713b1edbc
mbed library. Release version 162

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