mbed(SerialHalfDuplex入り)

Fork of mbed by mbed official

Committer:
bogdanm
Date:
Fri Jul 25 09:46:51 2014 +0100
Revision:
87:6213f644d804
Release 87 of the mbed library

Main changes:

- error.h renamed to mbed_error.h to avoid name clashes
- upgraded to V7 of the nRF51822 soft-device 110
- New targets: HRM107
- Improved test infrastructure
- Bug fixes on various targets

Who changed what in which revision?

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