mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Mon Sep 28 14:00:11 2015 +0100
Revision:
632:7687fb9c4f91
Synchronized with git revision f7ce4ed029cc611121464252ff28d5e8beb895b0

Full URL: https://github.com/mbedmicro/mbed/commit/f7ce4ed029cc611121464252ff28d5e8beb895b0/

NUCLEO_F303K8 - add support of the STM32F303K8

Who changed what in which revision?

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