[11U68]fix P0_11 to use GPIO

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Mon Jun 01 11:00:11 2015 +0100
Revision:
554:edd95c0879f8
Synchronized with git revision 7a1d25e3dfbe5bc1457774d4af3c73383a0ff81d

Full URL: https://github.com/mbedmicro/mbed/commit/7a1d25e3dfbe5bc1457774d4af3c73383a0ff81d/

Silicon Labs - Initial test framework pin definitions for EFM32 platforms

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 554:edd95c0879f8 1 OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
mbed_official 554:edd95c0879f8 2 OUTPUT_ARCH(arm)
mbed_official 554:edd95c0879f8 3 ENTRY(vectors)
mbed_official 554:edd95c0879f8 4
mbed_official 554:edd95c0879f8 5 /* Memory Definitions: */
mbed_official 554:edd95c0879f8 6 MEMORY
mbed_official 554:edd95c0879f8 7 {
mbed_official 554:edd95c0879f8 8 Flash (rx) : ORIGIN = 0xA0001000, LENGTH = 512k
mbed_official 554:edd95c0879f8 9 Ram (rwx) : ORIGIN = 0x40000040, LENGTH = 64k - 0x40
mbed_official 554:edd95c0879f8 10 UsbRam (rw) : ORIGIN = 0x7FD00000, LENGTH = 8k
mbed_official 554:edd95c0879f8 11 EthRam (rw) : ORIGIN = 0x7FE00000, LENGTH = 16k
mbed_official 554:edd95c0879f8 12 CanRam (rw) : ORIGIN = 0xE0038000, LENGTH = 2k
mbed_official 554:edd95c0879f8 13 BatRam (rw) : ORIGIN = 0xE0084000, LENGTH = 2k
mbed_official 554:edd95c0879f8 14 }
mbed_official 554:edd95c0879f8 15
mbed_official 554:edd95c0879f8 16 /* Stack sizes: */
mbed_official 554:edd95c0879f8 17 UND_Stack_Size = 64;
mbed_official 554:edd95c0879f8 18 SVC_Stack_Size = 64;
mbed_official 554:edd95c0879f8 19 ABT_Stack_Size = 64;
mbed_official 554:edd95c0879f8 20 FIQ_Stack_Size = 64;
mbed_official 554:edd95c0879f8 21 IRQ_Stack_Size = 64;
mbed_official 554:edd95c0879f8 22 User_Stack_Size = 4096;
mbed_official 554:edd95c0879f8 23 Stack_Size_Total = UND_Stack_Size + SVC_Stack_Size + ABT_Stack_Size + FIQ_Stack_Size + IRQ_Stack_Size + User_Stack_Size;
mbed_official 554:edd95c0879f8 24
mbed_official 554:edd95c0879f8 25 /* Stack tops for each mode: */
mbed_official 554:edd95c0879f8 26 __und_stack_top__ = __stacks_top__;
mbed_official 554:edd95c0879f8 27 __abt_stack_top__ = __und_stack_top__ - UND_Stack_Size ;
mbed_official 554:edd95c0879f8 28 __fiq_stack_top__ = __abt_stack_top__ - ABT_Stack_Size ;
mbed_official 554:edd95c0879f8 29 __irq_stack_top__ = __fiq_stack_top__ - FIQ_Stack_Size ;
mbed_official 554:edd95c0879f8 30 __svc_stack_top__ = __irq_stack_top__ - IRQ_Stack_Size ;
mbed_official 554:edd95c0879f8 31 __usr_stack_top__ = __svc_stack_top__ - User_Stack_Size ;
mbed_official 554:edd95c0879f8 32
mbed_official 554:edd95c0879f8 33 /* C-accessible symbols for memory address ranges: */
mbed_official 554:edd95c0879f8 34 __FLASH_segment_start__ = ORIGIN( Flash );
mbed_official 554:edd95c0879f8 35 __FLASH_segment_end__ = ORIGIN( Flash ) + LENGTH( Flash );
mbed_official 554:edd95c0879f8 36 __SRAM_segment_start__ = ORIGIN( Ram );
mbed_official 554:edd95c0879f8 37 __SRAM_segment_end__ = ORIGIN( Ram ) + LENGTH( Ram );
mbed_official 554:edd95c0879f8 38
mbed_official 554:edd95c0879f8 39 /* Stacks (full descending) at top of RAM, grows downward:
mbed_official 554:edd95c0879f8 40 *
mbed_official 554:edd95c0879f8 41 * __stack_min__ is used by the malloc implementation to ensure heap never collides
mbed_official 554:edd95c0879f8 42 * with stack (assuming stack never grows beyond Stack_Size_Total in length) */
mbed_official 554:edd95c0879f8 43 __stacks_top__ = __SRAM_segment_end__;
mbed_official 554:edd95c0879f8 44 __stacks_min__ = __SRAM_segment_end__ - Stack_Size_Total;
mbed_official 554:edd95c0879f8 45
mbed_official 554:edd95c0879f8 46 SECTIONS
mbed_official 554:edd95c0879f8 47 {
mbed_official 554:edd95c0879f8 48 /* first section is .text which is used for code */
mbed_official 554:edd95c0879f8 49 __text_start__ = . ;
mbed_official 554:edd95c0879f8 50 .text : {
mbed_official 554:edd95c0879f8 51 __privileged_code_start__ = . ;
mbed_official 554:edd95c0879f8 52 KEEP( *( .vectors ) )
mbed_official 554:edd95c0879f8 53 *( .privileged_code )
mbed_official 554:edd95c0879f8 54
mbed_official 554:edd95c0879f8 55 __privileged_code_end__ = .;
mbed_official 554:edd95c0879f8 56
mbed_official 554:edd95c0879f8 57 *( .text .text.* .gnu.linkonce.t.* )
mbed_official 554:edd95c0879f8 58 *( .plt )
mbed_official 554:edd95c0879f8 59 *( .gnu.warning )
mbed_official 554:edd95c0879f8 60 *( .glue_7t ) *( .glue_7 ) *( .vfp11_veneer )
mbed_official 554:edd95c0879f8 61
mbed_official 554:edd95c0879f8 62 *( .rodata .rodata.* .gnu.linkonce.r.* )
mbed_official 554:edd95c0879f8 63
mbed_official 554:edd95c0879f8 64 *(.ARM.extab* .gnu.linkonce.armextab.*)
mbed_official 554:edd95c0879f8 65 *(.gcc_except_table)
mbed_official 554:edd95c0879f8 66 *(.eh_frame_hdr)
mbed_official 554:edd95c0879f8 67 *(.eh_frame)
mbed_official 554:edd95c0879f8 68
mbed_official 554:edd95c0879f8 69 . = ALIGN( 4 ) ;
mbed_official 554:edd95c0879f8 70 KEEP( *( .init ) )
mbed_official 554:edd95c0879f8 71 . = ALIGN( 4 ) ;
mbed_official 554:edd95c0879f8 72 __preinit_array_start = . ;
mbed_official 554:edd95c0879f8 73 KEEP( *( .preinit_array ) )
mbed_official 554:edd95c0879f8 74 __preinit_array_end = . ;
mbed_official 554:edd95c0879f8 75 . = ALIGN( 4 ) ;
mbed_official 554:edd95c0879f8 76 __init_array_start = . ;
mbed_official 554:edd95c0879f8 77 KEEP( *( SORT( .init_array.* ) ) )
mbed_official 554:edd95c0879f8 78 KEEP( *( .init_array ) )
mbed_official 554:edd95c0879f8 79 __init_array_end = . ;
mbed_official 554:edd95c0879f8 80
mbed_official 554:edd95c0879f8 81 . = ALIGN( 4 ) ;
mbed_official 554:edd95c0879f8 82 KEEP( *crtbegin.o( .ctors ) )
mbed_official 554:edd95c0879f8 83 KEEP( *( EXCLUDE_FILE( *crtend.o ) .ctors ) )
mbed_official 554:edd95c0879f8 84 KEEP( *( SORT( .ctors.* ) ) )
mbed_official 554:edd95c0879f8 85 KEEP( *crtend.o( .ctors ) )
mbed_official 554:edd95c0879f8 86
mbed_official 554:edd95c0879f8 87 . = ALIGN( 4 ) ;
mbed_official 554:edd95c0879f8 88 KEEP( *( .fini ) )
mbed_official 554:edd95c0879f8 89 . = ALIGN( 4 ) ;
mbed_official 554:edd95c0879f8 90 __fini_array_start = . ;
mbed_official 554:edd95c0879f8 91 KEEP( *( .fini_array ) )
mbed_official 554:edd95c0879f8 92 KEEP( *( SORT( .fini_array.* ) ) )
mbed_official 554:edd95c0879f8 93 __fini_array_end = . ;
mbed_official 554:edd95c0879f8 94
mbed_official 554:edd95c0879f8 95 KEEP( *crtbegin.o( .dtors ) )
mbed_official 554:edd95c0879f8 96 KEEP( *( EXCLUDE_FILE( *crtend.o ) .dtors ) )
mbed_official 554:edd95c0879f8 97 KEEP( *( SORT( .dtors.* ) ) )
mbed_official 554:edd95c0879f8 98 KEEP( *crtend.o( .dtors ) )
mbed_official 554:edd95c0879f8 99
mbed_official 554:edd95c0879f8 100 } >Flash
mbed_official 554:edd95c0879f8 101
mbed_official 554:edd95c0879f8 102 __exidx_start = . ;
mbed_official 554:edd95c0879f8 103 .ARM.exidx : {
mbed_official 554:edd95c0879f8 104 *( .ARM.exidx* .gnu.linkonce.armexidx.* )
mbed_official 554:edd95c0879f8 105 } >Flash
mbed_official 554:edd95c0879f8 106 __exidx_end = . ;
mbed_official 554:edd95c0879f8 107
mbed_official 554:edd95c0879f8 108 .text.align : { . = ALIGN( 8 ) ; } >Flash /* Alignment schenanigans */
mbed_official 554:edd95c0879f8 109 __text_end__ = . ;
mbed_official 554:edd95c0879f8 110
mbed_official 554:edd95c0879f8 111 /* .bss section -- used for uninitialized data */
mbed_official 554:edd95c0879f8 112 /* Located at the start of RAM */
mbed_official 554:edd95c0879f8 113 .bss (NOLOAD) : {
mbed_official 554:edd95c0879f8 114 __bss_start__ = . ;
mbed_official 554:edd95c0879f8 115 *crt0.o( .ram_vectors )
mbed_official 554:edd95c0879f8 116
mbed_official 554:edd95c0879f8 117 __user_bss_start__ = . ;
mbed_official 554:edd95c0879f8 118 *( .user_bss )
mbed_official 554:edd95c0879f8 119 __user_bss_end__ = . ;
mbed_official 554:edd95c0879f8 120
mbed_official 554:edd95c0879f8 121 *( .shbss )
mbed_official 554:edd95c0879f8 122 *( .bss .bss.* .gnu.linkonce.b.* )
mbed_official 554:edd95c0879f8 123 *( COMMON )
mbed_official 554:edd95c0879f8 124 *( .ram.b )
mbed_official 554:edd95c0879f8 125 . = ALIGN( 8 ) ;
mbed_official 554:edd95c0879f8 126
mbed_official 554:edd95c0879f8 127 __bss_end__ = . ;
mbed_official 554:edd95c0879f8 128 } >Ram AT>Flash
mbed_official 554:edd95c0879f8 129
mbed_official 554:edd95c0879f8 130 /* .data section -- used for initialized data */
mbed_official 554:edd95c0879f8 131 .data : {
mbed_official 554:edd95c0879f8 132 __data_start__ = . ;
mbed_official 554:edd95c0879f8 133 KEEP( *( .jcr ) )
mbed_official 554:edd95c0879f8 134 *( .got.plt ) *( .got )
mbed_official 554:edd95c0879f8 135 *( .shdata )
mbed_official 554:edd95c0879f8 136 *( .data .data.* .gnu.linkonce.d.* )
mbed_official 554:edd95c0879f8 137 *( .ram )
mbed_official 554:edd95c0879f8 138 . = ALIGN( 8 ) ;
mbed_official 554:edd95c0879f8 139 __data_end__ = . ;
mbed_official 554:edd95c0879f8 140 } >Ram AT>Flash
mbed_official 554:edd95c0879f8 141
mbed_official 554:edd95c0879f8 142 __data_init_start__ = LOADADDR( .data ) ;
mbed_official 554:edd95c0879f8 143
mbed_official 554:edd95c0879f8 144 /* Heap starts here and grows up in memory */
mbed_official 554:edd95c0879f8 145 . = ALIGN( 8 ) ;
mbed_official 554:edd95c0879f8 146 __heap_start__ = . ;
mbed_official 554:edd95c0879f8 147 end = . ;
mbed_official 554:edd95c0879f8 148 __end__ = . ;
mbed_official 554:edd95c0879f8 149
mbed_official 554:edd95c0879f8 150 .stab 0 (NOLOAD) : { *(.stab) }
mbed_official 554:edd95c0879f8 151 .stabstr 0 (NOLOAD) : { *(.stabstr) }
mbed_official 554:edd95c0879f8 152 /* DWARF debug sections. */
mbed_official 554:edd95c0879f8 153 /* Symbols in the DWARF debugging sections are relative to the */
mbed_official 554:edd95c0879f8 154 /* beginning of the section so we begin them at 0. */
mbed_official 554:edd95c0879f8 155 /* DWARF 1 */
mbed_official 554:edd95c0879f8 156 .debug 0 : { *(.debug) }
mbed_official 554:edd95c0879f8 157 .line 0 : { *(.line) }
mbed_official 554:edd95c0879f8 158 /* GNU DWARF 1 extensions */
mbed_official 554:edd95c0879f8 159 .debug_srcinfo 0 : { *(.debug_srcinfo) }
mbed_official 554:edd95c0879f8 160 .debug_sfnames 0 : { *(.debug_sfnames) }
mbed_official 554:edd95c0879f8 161 /* DWARF 1.1 and DWARF 2 */
mbed_official 554:edd95c0879f8 162 .debug_aranges 0 : { *(.debug_aranges) }
mbed_official 554:edd95c0879f8 163 .debug_pubnames 0 : { *(.debug_pubnames) }
mbed_official 554:edd95c0879f8 164 /* DWARF 2 */
mbed_official 554:edd95c0879f8 165 .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
mbed_official 554:edd95c0879f8 166 .debug_abbrev 0 : { *(.debug_abbrev) }
mbed_official 554:edd95c0879f8 167 .debug_line 0 : { *(.debug_line) }
mbed_official 554:edd95c0879f8 168 .debug_frame 0 : { *(.debug_frame) }
mbed_official 554:edd95c0879f8 169 .debug_str 0 : { *(.debug_str) }
mbed_official 554:edd95c0879f8 170 .debug_loc 0 : { *(.debug_loc) }
mbed_official 554:edd95c0879f8 171 .debug_macinfo 0 : { *(.debug_macinfo) }
mbed_official 554:edd95c0879f8 172 /* SGI/MIPS DWARF 2 extensions */
mbed_official 554:edd95c0879f8 173 .debug_weaknames 0 : { *(.debug_weaknames) }
mbed_official 554:edd95c0879f8 174 .debug_funcnames 0 : { *(.debug_funcnames) }
mbed_official 554:edd95c0879f8 175 .debug_typenames 0 : { *(.debug_typenames) }
mbed_official 554:edd95c0879f8 176 .debug_varnames 0 : { *(.debug_varnames) }
mbed_official 554:edd95c0879f8 177 /* DWARF 3 */
mbed_official 554:edd95c0879f8 178 .debug_pubtypes 0 : { *(.debug_pubtypes) }
mbed_official 554:edd95c0879f8 179 .debug_ranges 0 : { *(.debug_ranges) }
mbed_official 554:edd95c0879f8 180
mbed_official 554:edd95c0879f8 181 .note.gnu.arm.ident 0 : { KEEP( *( .note.gnu.arm.ident ) ) }
mbed_official 554:edd95c0879f8 182 .ARM.attributes 0 : {
mbed_official 554:edd95c0879f8 183 KEEP( *( .ARM.attributes ) )
mbed_official 554:edd95c0879f8 184 KEEP( *( .gnu.attributes ) )
mbed_official 554:edd95c0879f8 185 }
mbed_official 554:edd95c0879f8 186 /DISCARD/ : { *( .note.GNU-stack ) }
mbed_official 554:edd95c0879f8 187
mbed_official 554:edd95c0879f8 188 /* C data can be defined as being in special purpose RAMs using
mbed_official 554:edd95c0879f8 189 * __attribute__ ((section ("ethram"))) for example. */
mbed_official 554:edd95c0879f8 190 .usbram (NOLOAD):
mbed_official 554:edd95c0879f8 191 {
mbed_official 554:edd95c0879f8 192 *( .usbram )
mbed_official 554:edd95c0879f8 193 *( .usbram.* )
mbed_official 554:edd95c0879f8 194 } > UsbRam
mbed_official 554:edd95c0879f8 195 .ethram (NOLOAD):
mbed_official 554:edd95c0879f8 196 {
mbed_official 554:edd95c0879f8 197 *( .ethram )
mbed_official 554:edd95c0879f8 198 *( .ethram.* )
mbed_official 554:edd95c0879f8 199 } > EthRam
mbed_official 554:edd95c0879f8 200 .canram (NOLOAD):
mbed_official 554:edd95c0879f8 201 {
mbed_official 554:edd95c0879f8 202 *( .canram )
mbed_official 554:edd95c0879f8 203 *( .canram.* )
mbed_official 554:edd95c0879f8 204 } > CanRam
mbed_official 554:edd95c0879f8 205 .batram (NOLOAD):
mbed_official 554:edd95c0879f8 206 {
mbed_official 554:edd95c0879f8 207 *( .batram )
mbed_official 554:edd95c0879f8 208 *( .batram.* )
mbed_official 554:edd95c0879f8 209 } > BatRam
mbed_official 554:edd95c0879f8 210 }