mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Wed Feb 20 22:31:08 2019 +0000
Revision:
189:f392fc9709a3
Parent:
188:bcfe06ba3d64
mbed library release version 165

Who changed what in which revision?

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