[11U68]fix P0_11 to use GPIO

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Tue Jun 16 07:45:08 2015 +0100
Revision:
569:18c5cf67e74d
Parent:
targets/cmsis/TARGET_STM/TARGET_STM32L1/TARGET_NZ32ST1L/TOOLCHAIN_GCC_ARM/STM32L151XC.ld@545:5112d5ae6723
Synchronized with git revision 1ac6ed51713a39016247449a86708eec8ef431cd

Full URL: https://github.com/mbedmicro/mbed/commit/1ac6ed51713a39016247449a86708eec8ef431cd/

Moved target folder, renamed target to NZ32SC151

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 545:5112d5ae6723 1 /* Linker script to configure memory regions. */
mbed_official 545:5112d5ae6723 2
mbed_official 545:5112d5ae6723 3 MEMORY
mbed_official 545:5112d5ae6723 4 {
mbed_official 545:5112d5ae6723 5 /* 256KB FLASH, 32KB RAM, Reserve up till 0x13C. There are 0x73 vectors = 292
mbed_official 545:5112d5ae6723 6 * bytes (0x124) in RAM. But all GCC scripts seem to require BootRAM @0x138
mbed_official 545:5112d5ae6723 7 */
mbed_official 545:5112d5ae6723 8 FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256k
mbed_official 545:5112d5ae6723 9 RAM (rwx) : ORIGIN = 0x2000013C, LENGTH = 0x8000-0x13C
mbed_official 545:5112d5ae6723 10 }
mbed_official 545:5112d5ae6723 11
mbed_official 545:5112d5ae6723 12 /* Linker script to place sections and symbol values. Should be used together
mbed_official 545:5112d5ae6723 13 * with other linker script that defines memory regions FLASH and RAM.
mbed_official 545:5112d5ae6723 14 * It references following symbols, which must be defined in code:
mbed_official 545:5112d5ae6723 15 * Reset_Handler : Entry of reset handler
mbed_official 545:5112d5ae6723 16 *
mbed_official 545:5112d5ae6723 17 * It defines following symbols, which code can use without definition:
mbed_official 545:5112d5ae6723 18 * __exidx_start
mbed_official 545:5112d5ae6723 19 * __exidx_end
mbed_official 545:5112d5ae6723 20 * __etext
mbed_official 545:5112d5ae6723 21 * __data_start__
mbed_official 545:5112d5ae6723 22 * __preinit_array_start
mbed_official 545:5112d5ae6723 23 * __preinit_array_end
mbed_official 545:5112d5ae6723 24 * __init_array_start
mbed_official 545:5112d5ae6723 25 * __init_array_end
mbed_official 545:5112d5ae6723 26 * __fini_array_start
mbed_official 545:5112d5ae6723 27 * __fini_array_end
mbed_official 545:5112d5ae6723 28 * __data_end__
mbed_official 545:5112d5ae6723 29 * __bss_start__
mbed_official 545:5112d5ae6723 30 * __bss_end__
mbed_official 545:5112d5ae6723 31 * __end__
mbed_official 545:5112d5ae6723 32 * end
mbed_official 545:5112d5ae6723 33 * __HeapLimit
mbed_official 545:5112d5ae6723 34 * __StackLimit
mbed_official 545:5112d5ae6723 35 * __StackTop
mbed_official 545:5112d5ae6723 36 * __stack
mbed_official 545:5112d5ae6723 37 * _estack
mbed_official 545:5112d5ae6723 38 */
mbed_official 545:5112d5ae6723 39 ENTRY(Reset_Handler)
mbed_official 545:5112d5ae6723 40
mbed_official 545:5112d5ae6723 41 SECTIONS
mbed_official 545:5112d5ae6723 42 {
mbed_official 545:5112d5ae6723 43 .text :
mbed_official 545:5112d5ae6723 44 {
mbed_official 545:5112d5ae6723 45 KEEP(*(.isr_vector))
mbed_official 545:5112d5ae6723 46 *(.text*)
mbed_official 545:5112d5ae6723 47 KEEP(*(.init))
mbed_official 545:5112d5ae6723 48 KEEP(*(.fini))
mbed_official 545:5112d5ae6723 49
mbed_official 545:5112d5ae6723 50 /* .ctors */
mbed_official 545:5112d5ae6723 51 *crtbegin.o(.ctors)
mbed_official 545:5112d5ae6723 52 *crtbegin?.o(.ctors)
mbed_official 545:5112d5ae6723 53 *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
mbed_official 545:5112d5ae6723 54 *(SORT(.ctors.*))
mbed_official 545:5112d5ae6723 55 *(.ctors)
mbed_official 545:5112d5ae6723 56
mbed_official 545:5112d5ae6723 57 /* .dtors */
mbed_official 545:5112d5ae6723 58 *crtbegin.o(.dtors)
mbed_official 545:5112d5ae6723 59 *crtbegin?.o(.dtors)
mbed_official 545:5112d5ae6723 60 *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
mbed_official 545:5112d5ae6723 61 *(SORT(.dtors.*))
mbed_official 545:5112d5ae6723 62 *(.dtors)
mbed_official 545:5112d5ae6723 63
mbed_official 545:5112d5ae6723 64 *(.rodata*)
mbed_official 545:5112d5ae6723 65
mbed_official 545:5112d5ae6723 66 KEEP(*(.eh_frame*))
mbed_official 545:5112d5ae6723 67 } > FLASH
mbed_official 545:5112d5ae6723 68
mbed_official 545:5112d5ae6723 69 .ARM.extab :
mbed_official 545:5112d5ae6723 70 {
mbed_official 545:5112d5ae6723 71 *(.ARM.extab* .gnu.linkonce.armextab.*)
mbed_official 545:5112d5ae6723 72 } > FLASH
mbed_official 545:5112d5ae6723 73
mbed_official 545:5112d5ae6723 74 __exidx_start = .;
mbed_official 545:5112d5ae6723 75 .ARM.exidx :
mbed_official 545:5112d5ae6723 76 {
mbed_official 545:5112d5ae6723 77 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
mbed_official 545:5112d5ae6723 78 } > FLASH
mbed_official 545:5112d5ae6723 79 __exidx_end = .;
mbed_official 545:5112d5ae6723 80
mbed_official 545:5112d5ae6723 81 __etext = .;
mbed_official 545:5112d5ae6723 82 _sidata = .;
mbed_official 545:5112d5ae6723 83
mbed_official 545:5112d5ae6723 84 .data : AT (__etext)
mbed_official 545:5112d5ae6723 85 {
mbed_official 545:5112d5ae6723 86 __data_start__ = .;
mbed_official 545:5112d5ae6723 87 _sdata = .;
mbed_official 545:5112d5ae6723 88 *(vtable)
mbed_official 545:5112d5ae6723 89 *(.data*)
mbed_official 545:5112d5ae6723 90
mbed_official 545:5112d5ae6723 91 . = ALIGN(4);
mbed_official 545:5112d5ae6723 92 /* preinit data */
mbed_official 545:5112d5ae6723 93 PROVIDE_HIDDEN (__preinit_array_start = .);
mbed_official 545:5112d5ae6723 94 KEEP(*(.preinit_array))
mbed_official 545:5112d5ae6723 95 PROVIDE_HIDDEN (__preinit_array_end = .);
mbed_official 545:5112d5ae6723 96
mbed_official 545:5112d5ae6723 97 . = ALIGN(4);
mbed_official 545:5112d5ae6723 98 /* init data */
mbed_official 545:5112d5ae6723 99 PROVIDE_HIDDEN (__init_array_start = .);
mbed_official 545:5112d5ae6723 100 KEEP(*(SORT(.init_array.*)))
mbed_official 545:5112d5ae6723 101 KEEP(*(.init_array))
mbed_official 545:5112d5ae6723 102 PROVIDE_HIDDEN (__init_array_end = .);
mbed_official 545:5112d5ae6723 103
mbed_official 545:5112d5ae6723 104
mbed_official 545:5112d5ae6723 105 . = ALIGN(4);
mbed_official 545:5112d5ae6723 106 /* finit data */
mbed_official 545:5112d5ae6723 107 PROVIDE_HIDDEN (__fini_array_start = .);
mbed_official 545:5112d5ae6723 108 KEEP(*(SORT(.fini_array.*)))
mbed_official 545:5112d5ae6723 109 KEEP(*(.fini_array))
mbed_official 545:5112d5ae6723 110 PROVIDE_HIDDEN (__fini_array_end = .);
mbed_official 545:5112d5ae6723 111
mbed_official 545:5112d5ae6723 112 KEEP(*(.jcr*))
mbed_official 545:5112d5ae6723 113 . = ALIGN(4);
mbed_official 545:5112d5ae6723 114 /* All data end */
mbed_official 545:5112d5ae6723 115 __data_end__ = .;
mbed_official 545:5112d5ae6723 116 _edata = .;
mbed_official 545:5112d5ae6723 117
mbed_official 545:5112d5ae6723 118 } > RAM
mbed_official 545:5112d5ae6723 119
mbed_official 545:5112d5ae6723 120 .bss :
mbed_official 545:5112d5ae6723 121 {
mbed_official 545:5112d5ae6723 122 . = ALIGN(4);
mbed_official 545:5112d5ae6723 123 __bss_start__ = .;
mbed_official 545:5112d5ae6723 124 _sbss = .;
mbed_official 545:5112d5ae6723 125 *(.bss*)
mbed_official 545:5112d5ae6723 126 *(COMMON)
mbed_official 545:5112d5ae6723 127 . = ALIGN(4);
mbed_official 545:5112d5ae6723 128 __bss_end__ = .;
mbed_official 545:5112d5ae6723 129 _ebss = .;
mbed_official 545:5112d5ae6723 130 } > RAM
mbed_official 545:5112d5ae6723 131
mbed_official 545:5112d5ae6723 132 .heap (COPY):
mbed_official 545:5112d5ae6723 133 {
mbed_official 545:5112d5ae6723 134 __end__ = .;
mbed_official 545:5112d5ae6723 135 end = __end__;
mbed_official 545:5112d5ae6723 136 *(.heap*)
mbed_official 545:5112d5ae6723 137 __HeapLimit = .;
mbed_official 545:5112d5ae6723 138 } > RAM
mbed_official 545:5112d5ae6723 139
mbed_official 545:5112d5ae6723 140 /* .stack_dummy section doesn't contains any symbols. It is only
mbed_official 545:5112d5ae6723 141 * used for linker to calculate size of stack sections, and assign
mbed_official 545:5112d5ae6723 142 * values to stack symbols later */
mbed_official 545:5112d5ae6723 143 .stack_dummy (COPY):
mbed_official 545:5112d5ae6723 144 {
mbed_official 545:5112d5ae6723 145 *(.stack*)
mbed_official 545:5112d5ae6723 146 } > RAM
mbed_official 545:5112d5ae6723 147
mbed_official 545:5112d5ae6723 148 /* Set stack top to end of RAM, and stack limit move down by
mbed_official 545:5112d5ae6723 149 * size of stack_dummy section */
mbed_official 545:5112d5ae6723 150 __StackTop = ORIGIN(RAM) + LENGTH(RAM);
mbed_official 545:5112d5ae6723 151 _estack = __StackTop;
mbed_official 545:5112d5ae6723 152 __StackLimit = __StackTop - SIZEOF(.stack_dummy);
mbed_official 545:5112d5ae6723 153 PROVIDE(__stack = __StackTop);
mbed_official 545:5112d5ae6723 154
mbed_official 545:5112d5ae6723 155 /* Check if data + heap + stack exceeds RAM limit */
mbed_official 545:5112d5ae6723 156 ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
mbed_official 545:5112d5ae6723 157 }