Soundharrajan

Fork of mbed by mbed official

Committer:
bogdanm
Date:
Mon Nov 18 22:09:31 2013 +0200
Revision:
70:673126e12c73
Release 70 of the mbed library

This release is a bugfix release for release 69, it adds proper target
support for LPC4088_EA.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 70:673126e12c73 1 /*
bogdanm 70:673126e12c73 2 * GENERATED FILE - DO NOT EDIT
bogdanm 70:673126e12c73 3 * (C) Code Red Technologies Ltd, 2008-2013
bogdanm 70:673126e12c73 4 * Generated linker script file for LPC4088
bogdanm 70:673126e12c73 5 * Created from generic_c.ld (vLPCXpresso v5.1 (2 [Build 2065] [2013-02-20] ))
bogdanm 70:673126e12c73 6 * By LPCXpresso v5.1.2 [Build 2065] [2013-02-20] on Wed Apr 17 14:50:07 CEST 2013
bogdanm 70:673126e12c73 7 */
bogdanm 70:673126e12c73 8
bogdanm 70:673126e12c73 9
bogdanm 70:673126e12c73 10 GROUP(libgcc.a libc.a libstdc++.a libm.a libcr_newlib_nohost.a crti.o crtn.o crtbegin.o crtend.o)
bogdanm 70:673126e12c73 11
bogdanm 70:673126e12c73 12 MEMORY
bogdanm 70:673126e12c73 13 {
bogdanm 70:673126e12c73 14 /* Define each memory region */
bogdanm 70:673126e12c73 15 MFlash512 (rx) : ORIGIN = 0x0, LENGTH = 0x80000 /* 512k */
bogdanm 70:673126e12c73 16 RamLoc64 (rwx) : ORIGIN = 0x100000E8, LENGTH = 0xFF18 /* 64k */
bogdanm 70:673126e12c73 17 RamPeriph32 (rwx) : ORIGIN = 0x20000000, LENGTH = 0x8000 /* 32k */
bogdanm 70:673126e12c73 18
bogdanm 70:673126e12c73 19 }
bogdanm 70:673126e12c73 20 /* Define a symbol for the top of each memory region */
bogdanm 70:673126e12c73 21 __top_MFlash512 = 0x0 + 0x80000;
bogdanm 70:673126e12c73 22 __top_RamLoc64 = 0x10000000 + 0x10000;
bogdanm 70:673126e12c73 23 __top_RamPeriph32 = 0x20000000 + 0x8000;
bogdanm 70:673126e12c73 24
bogdanm 70:673126e12c73 25 ENTRY(ResetISR)
bogdanm 70:673126e12c73 26
bogdanm 70:673126e12c73 27 SECTIONS
bogdanm 70:673126e12c73 28 {
bogdanm 70:673126e12c73 29
bogdanm 70:673126e12c73 30 /* MAIN TEXT SECTION */
bogdanm 70:673126e12c73 31 .text : ALIGN(4)
bogdanm 70:673126e12c73 32 {
bogdanm 70:673126e12c73 33 FILL(0xff)
bogdanm 70:673126e12c73 34 KEEP(*(.isr_vector))
bogdanm 70:673126e12c73 35
bogdanm 70:673126e12c73 36 /* Global Section Table */
bogdanm 70:673126e12c73 37 . = ALIGN(4) ;
bogdanm 70:673126e12c73 38 __section_table_start = .;
bogdanm 70:673126e12c73 39 __data_section_table = .;
bogdanm 70:673126e12c73 40 LONG(LOADADDR(.data));
bogdanm 70:673126e12c73 41 LONG( ADDR(.data)) ;
bogdanm 70:673126e12c73 42 LONG( SIZEOF(.data));
bogdanm 70:673126e12c73 43 LONG(LOADADDR(.data_RAM2));
bogdanm 70:673126e12c73 44 LONG( ADDR(.data_RAM2)) ;
bogdanm 70:673126e12c73 45 LONG( SIZEOF(.data_RAM2));
bogdanm 70:673126e12c73 46 __data_section_table_end = .;
bogdanm 70:673126e12c73 47 __bss_section_table = .;
bogdanm 70:673126e12c73 48 LONG( ADDR(.bss));
bogdanm 70:673126e12c73 49 LONG( SIZEOF(.bss));
bogdanm 70:673126e12c73 50 LONG( ADDR(.bss_RAM2));
bogdanm 70:673126e12c73 51 LONG( SIZEOF(.bss_RAM2));
bogdanm 70:673126e12c73 52 __bss_section_table_end = .;
bogdanm 70:673126e12c73 53 __section_table_end = . ;
bogdanm 70:673126e12c73 54 /* End of Global Section Table */
bogdanm 70:673126e12c73 55
bogdanm 70:673126e12c73 56
bogdanm 70:673126e12c73 57 *(.after_vectors*)
bogdanm 70:673126e12c73 58
bogdanm 70:673126e12c73 59 *(.text*)
bogdanm 70:673126e12c73 60 *(.rodata .rodata.*)
bogdanm 70:673126e12c73 61 . = ALIGN(4);
bogdanm 70:673126e12c73 62
bogdanm 70:673126e12c73 63 /* C++ constructors etc */
bogdanm 70:673126e12c73 64 . = ALIGN(4);
bogdanm 70:673126e12c73 65 KEEP(*(.init))
bogdanm 70:673126e12c73 66
bogdanm 70:673126e12c73 67 . = ALIGN(4);
bogdanm 70:673126e12c73 68 __preinit_array_start = .;
bogdanm 70:673126e12c73 69 KEEP (*(.preinit_array))
bogdanm 70:673126e12c73 70 __preinit_array_end = .;
bogdanm 70:673126e12c73 71
bogdanm 70:673126e12c73 72 . = ALIGN(4);
bogdanm 70:673126e12c73 73 __init_array_start = .;
bogdanm 70:673126e12c73 74 KEEP (*(SORT(.init_array.*)))
bogdanm 70:673126e12c73 75 KEEP (*(.init_array))
bogdanm 70:673126e12c73 76 __init_array_end = .;
bogdanm 70:673126e12c73 77
bogdanm 70:673126e12c73 78 KEEP(*(.fini));
bogdanm 70:673126e12c73 79
bogdanm 70:673126e12c73 80 . = ALIGN(4);
bogdanm 70:673126e12c73 81 KEEP (*crtbegin.o(.ctors))
bogdanm 70:673126e12c73 82 KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
bogdanm 70:673126e12c73 83 KEEP (*(SORT(.ctors.*)))
bogdanm 70:673126e12c73 84 KEEP (*crtend.o(.ctors))
bogdanm 70:673126e12c73 85
bogdanm 70:673126e12c73 86 . = ALIGN(4);
bogdanm 70:673126e12c73 87 KEEP (*crtbegin.o(.dtors))
bogdanm 70:673126e12c73 88 KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
bogdanm 70:673126e12c73 89 KEEP (*(SORT(.dtors.*)))
bogdanm 70:673126e12c73 90 KEEP (*crtend.o(.dtors))
bogdanm 70:673126e12c73 91 /* End C++ */
bogdanm 70:673126e12c73 92 } > MFlash512
bogdanm 70:673126e12c73 93
bogdanm 70:673126e12c73 94 /*
bogdanm 70:673126e12c73 95 * for exception handling/unwind - some Newlib functions (in common
bogdanm 70:673126e12c73 96 * with C++ and STDC++) use this.
bogdanm 70:673126e12c73 97 */
bogdanm 70:673126e12c73 98 .ARM.extab : ALIGN(4)
bogdanm 70:673126e12c73 99 {
bogdanm 70:673126e12c73 100 *(.ARM.extab* .gnu.linkonce.armextab.*)
bogdanm 70:673126e12c73 101 } > MFlash512
bogdanm 70:673126e12c73 102 __exidx_start = .;
bogdanm 70:673126e12c73 103
bogdanm 70:673126e12c73 104 .ARM.exidx : ALIGN(4)
bogdanm 70:673126e12c73 105 {
bogdanm 70:673126e12c73 106 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
bogdanm 70:673126e12c73 107 } > MFlash512
bogdanm 70:673126e12c73 108 __exidx_end = .;
bogdanm 70:673126e12c73 109
bogdanm 70:673126e12c73 110 _etext = .;
bogdanm 70:673126e12c73 111
bogdanm 70:673126e12c73 112
bogdanm 70:673126e12c73 113 /* DATA section for RamPeriph32 */
bogdanm 70:673126e12c73 114 .data_RAM2 : ALIGN(4)
bogdanm 70:673126e12c73 115 {
bogdanm 70:673126e12c73 116 FILL(0xff)
bogdanm 70:673126e12c73 117 *(.data.$RAM2*)
bogdanm 70:673126e12c73 118 *(.data.$RamPeriph32*)
bogdanm 70:673126e12c73 119 . = ALIGN(4) ;
bogdanm 70:673126e12c73 120 } > RamPeriph32 AT>MFlash512
bogdanm 70:673126e12c73 121
bogdanm 70:673126e12c73 122 /* MAIN DATA SECTION */
bogdanm 70:673126e12c73 123
bogdanm 70:673126e12c73 124
bogdanm 70:673126e12c73 125 .uninit_RESERVED : ALIGN(4)
bogdanm 70:673126e12c73 126 {
bogdanm 70:673126e12c73 127 KEEP(*(.bss.$RESERVED*))
bogdanm 70:673126e12c73 128 . = ALIGN(4) ;
bogdanm 70:673126e12c73 129 _end_uninit_RESERVED = .;
bogdanm 70:673126e12c73 130 } > RamLoc64
bogdanm 70:673126e12c73 131
bogdanm 70:673126e12c73 132 .data : ALIGN(4)
bogdanm 70:673126e12c73 133 {
bogdanm 70:673126e12c73 134 FILL(0xff)
bogdanm 70:673126e12c73 135 _data = .;
bogdanm 70:673126e12c73 136 *(vtable)
bogdanm 70:673126e12c73 137 *(.data*)
bogdanm 70:673126e12c73 138 . = ALIGN(4) ;
bogdanm 70:673126e12c73 139 _edata = .;
bogdanm 70:673126e12c73 140 } > RamLoc64 AT>MFlash512
bogdanm 70:673126e12c73 141
bogdanm 70:673126e12c73 142 /* BSS section for RamPeriph32 */
bogdanm 70:673126e12c73 143 .bss_RAM2 : ALIGN(4)
bogdanm 70:673126e12c73 144 {
bogdanm 70:673126e12c73 145 *(.bss.$RAM2*)
bogdanm 70:673126e12c73 146 *(.bss.$RamPeriph32*)
bogdanm 70:673126e12c73 147 . = ALIGN(4) ;
bogdanm 70:673126e12c73 148 } > RamPeriph32
bogdanm 70:673126e12c73 149
bogdanm 70:673126e12c73 150 /* MAIN BSS SECTION */
bogdanm 70:673126e12c73 151 .bss : ALIGN(4)
bogdanm 70:673126e12c73 152 {
bogdanm 70:673126e12c73 153 _bss = .;
bogdanm 70:673126e12c73 154 *(.bss*)
bogdanm 70:673126e12c73 155 *(COMMON)
bogdanm 70:673126e12c73 156 . = ALIGN(4) ;
bogdanm 70:673126e12c73 157 _ebss = .;
bogdanm 70:673126e12c73 158 PROVIDE(end = .);
bogdanm 70:673126e12c73 159 } > RamLoc64
bogdanm 70:673126e12c73 160
bogdanm 70:673126e12c73 161 /* NOINIT section for RamPeriph32 */
bogdanm 70:673126e12c73 162 .noinit_RAM2 (NOLOAD) : ALIGN(4)
bogdanm 70:673126e12c73 163 {
bogdanm 70:673126e12c73 164 *(.noinit.$RAM2*)
bogdanm 70:673126e12c73 165 *(.noinit.$RamPeriph32*)
bogdanm 70:673126e12c73 166 . = ALIGN(4) ;
bogdanm 70:673126e12c73 167 } > RamPeriph32
bogdanm 70:673126e12c73 168
bogdanm 70:673126e12c73 169 /* DEFAULT NOINIT SECTION */
bogdanm 70:673126e12c73 170 .noinit (NOLOAD): ALIGN(4)
bogdanm 70:673126e12c73 171 {
bogdanm 70:673126e12c73 172 _noinit = .;
bogdanm 70:673126e12c73 173 *(.noinit*)
bogdanm 70:673126e12c73 174 . = ALIGN(4) ;
bogdanm 70:673126e12c73 175 _end_noinit = .;
bogdanm 70:673126e12c73 176 } > RamLoc64
bogdanm 70:673126e12c73 177
bogdanm 70:673126e12c73 178 PROVIDE(_pvHeapStart = .);
bogdanm 70:673126e12c73 179 PROVIDE(_vStackTop = __top_RamLoc64 - 0);
bogdanm 70:673126e12c73 180 }