mbed library sources

Dependents:   frdm_kl05z_gpio_test

Fork of mbed-src by mbed official

Committer:
shaoziyang
Date:
Sat Sep 13 14:25:46 2014 +0000
Revision:
323:9e901b0a5aa1
Parent:
120:3e3b6882f22a
test with CLOCK_SETUP = 0

Who changed what in which revision?

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