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:
Wed Jul 08 14:45:08 2015 +0100
Revision:
585:a1ed5b41f74f
Synchronized with git revision 7a2b57896e0263b82f31ddc5a0ad2443615db184

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

Add rtc_api.c

Who changed what in which revision?

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