mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
mbed_official
Date:
Fri Sep 04 08:45:09 2015 +0100
Revision:
618:484341a108bc
Parent:
120:3e3b6882f22a
Synchronized with git revision a412b49ac52f8002fb8f35dd143db771675e8d88

Full URL: https://github.com/mbedmicro/mbed/commit/a412b49ac52f8002fb8f35dd143db771675e8d88/

Fixed linker script for LPCXpresso for EA LPC11U35 QuickStart Board

Who changed what in which revision?

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