Cortney Padua / mbed-dev

Dependents:   capstone_i2c

Fork of mbed-dev by mbed official

Committer:
<>
Date:
Fri Oct 28 11:17:30 2016 +0100
Revision:
149:156823d33999
Parent:
targets/cmsis/TARGET_Maxim/TARGET_MAX32610/TOOLCHAIN_GCC_ARM/max32610.ld@144:ef7eb2e8f9f7
This updates the lib to the mbed lib v128

NOTE: This release includes a restructuring of the file and directory locations and thus some
include paths in your code may need updating accordingly.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 144:ef7eb2e8f9f7 1 /*******************************************************************************
<> 144:ef7eb2e8f9f7 2 * Copyright (C) 2015 Maxim Integrated Products, Inc., All Rights Reserved.
<> 144:ef7eb2e8f9f7 3 *
<> 144:ef7eb2e8f9f7 4 * Permission is hereby granted, free of charge, to any person obtaining a
<> 144:ef7eb2e8f9f7 5 * copy of this software and associated documentation files (the "Software"),
<> 144:ef7eb2e8f9f7 6 * to deal in the Software without restriction, including without limitation
<> 144:ef7eb2e8f9f7 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
<> 144:ef7eb2e8f9f7 8 * and/or sell copies of the Software, and to permit persons to whom the
<> 144:ef7eb2e8f9f7 9 * Software is furnished to do so, subject to the following conditions:
<> 144:ef7eb2e8f9f7 10 *
<> 144:ef7eb2e8f9f7 11 * The above copyright notice and this permission notice shall be included
<> 144:ef7eb2e8f9f7 12 * in all copies or substantial portions of the Software.
<> 144:ef7eb2e8f9f7 13 *
<> 144:ef7eb2e8f9f7 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
<> 144:ef7eb2e8f9f7 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
<> 144:ef7eb2e8f9f7 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
<> 144:ef7eb2e8f9f7 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
<> 144:ef7eb2e8f9f7 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
<> 144:ef7eb2e8f9f7 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
<> 144:ef7eb2e8f9f7 20 * OTHER DEALINGS IN THE SOFTWARE.
<> 144:ef7eb2e8f9f7 21 *
<> 144:ef7eb2e8f9f7 22 * Except as contained in this notice, the name of Maxim Integrated
<> 144:ef7eb2e8f9f7 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
<> 144:ef7eb2e8f9f7 24 * Products, Inc. Branding Policy.
<> 144:ef7eb2e8f9f7 25 *
<> 144:ef7eb2e8f9f7 26 * The mere transfer of this software does not imply any licenses
<> 144:ef7eb2e8f9f7 27 * of trade secrets, proprietary technology, copyrights, patents,
<> 144:ef7eb2e8f9f7 28 * trademarks, maskwork rights, or any other form of intellectual
<> 144:ef7eb2e8f9f7 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
<> 144:ef7eb2e8f9f7 30 * ownership rights.
<> 144:ef7eb2e8f9f7 31 *******************************************************************************
<> 144:ef7eb2e8f9f7 32 */
<> 144:ef7eb2e8f9f7 33
<> 144:ef7eb2e8f9f7 34 /******************************************************************************
<> 144:ef7eb2e8f9f7 35 *
<> 144:ef7eb2e8f9f7 36 * Linker configuration file, default ARM Cortex M3 produced by Maxim Integrated Inc.
<> 144:ef7eb2e8f9f7 37 *
<> 144:ef7eb2e8f9f7 38 *****************************************************************************/
<> 144:ef7eb2e8f9f7 39
<> 144:ef7eb2e8f9f7 40 MEMORY
<> 144:ef7eb2e8f9f7 41 {
<> 144:ef7eb2e8f9f7 42 FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000 /* start from 0x0, fullsize flash, 256k */
<> 144:ef7eb2e8f9f7 43 RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00008000 /* full-size SRAM, 32k */
<> 144:ef7eb2e8f9f7 44 }
<> 144:ef7eb2e8f9f7 45
<> 144:ef7eb2e8f9f7 46 /* Linker script to place sections and symbol values. Should be used together
<> 144:ef7eb2e8f9f7 47 * with other linker script that defines memory regions FLASH and RAM.
<> 144:ef7eb2e8f9f7 48 * It references following symbols, which must be defined in code:
<> 144:ef7eb2e8f9f7 49 * Reset_Handler : Entry of reset handler
<> 144:ef7eb2e8f9f7 50 *
<> 144:ef7eb2e8f9f7 51 * It defines following symbols, which code can use without definition:
<> 144:ef7eb2e8f9f7 52 * __exidx_start
<> 144:ef7eb2e8f9f7 53 * __exidx_end
<> 144:ef7eb2e8f9f7 54 * __etext
<> 144:ef7eb2e8f9f7 55 * __data_start__
<> 144:ef7eb2e8f9f7 56 * __preinit_array_start
<> 144:ef7eb2e8f9f7 57 * __preinit_array_end
<> 144:ef7eb2e8f9f7 58 * __init_array_start
<> 144:ef7eb2e8f9f7 59 * __init_array_end
<> 144:ef7eb2e8f9f7 60 * __fini_array_start
<> 144:ef7eb2e8f9f7 61 * __fini_array_end
<> 144:ef7eb2e8f9f7 62 * __data_end__
<> 144:ef7eb2e8f9f7 63 * __bss_start__
<> 144:ef7eb2e8f9f7 64 * __bss_end__
<> 144:ef7eb2e8f9f7 65 * __end__
<> 144:ef7eb2e8f9f7 66 * end
<> 144:ef7eb2e8f9f7 67 * __HeapLimit
<> 144:ef7eb2e8f9f7 68 * __StackLimit
<> 144:ef7eb2e8f9f7 69 * __StackTop
<> 144:ef7eb2e8f9f7 70 * __stack
<> 144:ef7eb2e8f9f7 71 */
<> 144:ef7eb2e8f9f7 72 ENTRY(Reset_Handler)
<> 144:ef7eb2e8f9f7 73
<> 144:ef7eb2e8f9f7 74 SECTIONS
<> 144:ef7eb2e8f9f7 75 {
<> 144:ef7eb2e8f9f7 76 .text :
<> 144:ef7eb2e8f9f7 77 {
<> 144:ef7eb2e8f9f7 78 KEEP(*(.isr_vector))
<> 144:ef7eb2e8f9f7 79 *(.text*)
<> 144:ef7eb2e8f9f7 80
<> 144:ef7eb2e8f9f7 81 KEEP(*(.init))
<> 144:ef7eb2e8f9f7 82 KEEP(*(.fini))
<> 144:ef7eb2e8f9f7 83
<> 144:ef7eb2e8f9f7 84 /* .ctors */
<> 144:ef7eb2e8f9f7 85 *crtbegin.o(.ctors)
<> 144:ef7eb2e8f9f7 86 *crtbegin?.o(.ctors)
<> 144:ef7eb2e8f9f7 87 *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
<> 144:ef7eb2e8f9f7 88 *(SORT(.ctors.*))
<> 144:ef7eb2e8f9f7 89 *(.ctors)
<> 144:ef7eb2e8f9f7 90
<> 144:ef7eb2e8f9f7 91 /* .dtors */
<> 144:ef7eb2e8f9f7 92 *crtbegin.o(.dtors)
<> 144:ef7eb2e8f9f7 93 *crtbegin?.o(.dtors)
<> 144:ef7eb2e8f9f7 94 *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
<> 144:ef7eb2e8f9f7 95 *(SORT(.dtors.*))
<> 144:ef7eb2e8f9f7 96 *(.dtors)
<> 144:ef7eb2e8f9f7 97
<> 144:ef7eb2e8f9f7 98 *(.rodata*)
<> 144:ef7eb2e8f9f7 99
<> 144:ef7eb2e8f9f7 100 KEEP(*(.eh_frame*))
<> 144:ef7eb2e8f9f7 101 } > FLASH
<> 144:ef7eb2e8f9f7 102
<> 144:ef7eb2e8f9f7 103 .ARM.extab :
<> 144:ef7eb2e8f9f7 104 {
<> 144:ef7eb2e8f9f7 105 *(.ARM.extab* .gnu.linkonce.armextab.*)
<> 144:ef7eb2e8f9f7 106 } > FLASH
<> 144:ef7eb2e8f9f7 107
<> 144:ef7eb2e8f9f7 108 __exidx_start = .;
<> 144:ef7eb2e8f9f7 109 .ARM.exidx :
<> 144:ef7eb2e8f9f7 110 {
<> 144:ef7eb2e8f9f7 111 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
<> 144:ef7eb2e8f9f7 112 } > FLASH
<> 144:ef7eb2e8f9f7 113 __exidx_end = .;
<> 144:ef7eb2e8f9f7 114
<> 144:ef7eb2e8f9f7 115 __etext = .;
<> 144:ef7eb2e8f9f7 116
<> 144:ef7eb2e8f9f7 117 .data : AT (__etext)
<> 144:ef7eb2e8f9f7 118 {
<> 144:ef7eb2e8f9f7 119 __data_start__ = .;
<> 144:ef7eb2e8f9f7 120 *(vtable)
<> 144:ef7eb2e8f9f7 121 *(.data*)
<> 144:ef7eb2e8f9f7 122
<> 144:ef7eb2e8f9f7 123 . = ALIGN(4);
<> 144:ef7eb2e8f9f7 124 /* preinit data */
<> 144:ef7eb2e8f9f7 125 PROVIDE_HIDDEN (__preinit_array_start = .);
<> 144:ef7eb2e8f9f7 126 KEEP(*(.preinit_array))
<> 144:ef7eb2e8f9f7 127 PROVIDE_HIDDEN (__preinit_array_end = .);
<> 144:ef7eb2e8f9f7 128
<> 144:ef7eb2e8f9f7 129 . = ALIGN(4);
<> 144:ef7eb2e8f9f7 130 /* init data */
<> 144:ef7eb2e8f9f7 131 PROVIDE_HIDDEN (__init_array_start = .);
<> 144:ef7eb2e8f9f7 132 KEEP(*(SORT(.init_array.*)))
<> 144:ef7eb2e8f9f7 133 KEEP(*(.init_array))
<> 144:ef7eb2e8f9f7 134 PROVIDE_HIDDEN (__init_array_end = .);
<> 144:ef7eb2e8f9f7 135
<> 144:ef7eb2e8f9f7 136
<> 144:ef7eb2e8f9f7 137 . = ALIGN(4);
<> 144:ef7eb2e8f9f7 138 /* finit data */
<> 144:ef7eb2e8f9f7 139 PROVIDE_HIDDEN (__fini_array_start = .);
<> 144:ef7eb2e8f9f7 140 KEEP(*(SORT(.fini_array.*)))
<> 144:ef7eb2e8f9f7 141 KEEP(*(.fini_array))
<> 144:ef7eb2e8f9f7 142 PROVIDE_HIDDEN (__fini_array_end = .);
<> 144:ef7eb2e8f9f7 143
<> 144:ef7eb2e8f9f7 144 . = ALIGN(4);
<> 144:ef7eb2e8f9f7 145 /* All data end */
<> 144:ef7eb2e8f9f7 146 __data_end__ = .;
<> 144:ef7eb2e8f9f7 147
<> 144:ef7eb2e8f9f7 148 } > RAM
<> 144:ef7eb2e8f9f7 149
<> 144:ef7eb2e8f9f7 150 .bss :
<> 144:ef7eb2e8f9f7 151 {
<> 144:ef7eb2e8f9f7 152 __bss_start__ = .;
<> 144:ef7eb2e8f9f7 153 *(.bss*)
<> 144:ef7eb2e8f9f7 154 *(COMMON)
<> 144:ef7eb2e8f9f7 155 __bss_end__ = .;
<> 144:ef7eb2e8f9f7 156 } > RAM
<> 144:ef7eb2e8f9f7 157
<> 144:ef7eb2e8f9f7 158 .heap :
<> 144:ef7eb2e8f9f7 159 {
<> 144:ef7eb2e8f9f7 160 __end__ = .;
<> 144:ef7eb2e8f9f7 161 end = __end__;
<> 144:ef7eb2e8f9f7 162 *(.heap*)
<> 144:ef7eb2e8f9f7 163 __HeapLimit = .;
<> 144:ef7eb2e8f9f7 164 } > RAM
<> 144:ef7eb2e8f9f7 165
<> 144:ef7eb2e8f9f7 166 /* .stack_dummy section doesn't contains any symbols. It is only
<> 144:ef7eb2e8f9f7 167 * used for linker to calculate size of stack sections, and assign
<> 144:ef7eb2e8f9f7 168 * values to stack symbols later */
<> 144:ef7eb2e8f9f7 169 .stack_dummy :
<> 144:ef7eb2e8f9f7 170 {
<> 144:ef7eb2e8f9f7 171 *(.stack)
<> 144:ef7eb2e8f9f7 172 } > RAM
<> 144:ef7eb2e8f9f7 173
<> 144:ef7eb2e8f9f7 174 /* Set stack top to end of RAM, and stack limit move down by
<> 144:ef7eb2e8f9f7 175 * size of stack_dummy section */
<> 144:ef7eb2e8f9f7 176 __StackTop = ORIGIN(RAM) + LENGTH(RAM);
<> 144:ef7eb2e8f9f7 177 __StackLimit = __StackTop - SIZEOF(.stack_dummy);
<> 144:ef7eb2e8f9f7 178 PROVIDE(__stack = __StackTop);
<> 144:ef7eb2e8f9f7 179
<> 144:ef7eb2e8f9f7 180 /* Check if data + heap + stack exceeds RAM limit */
<> 144:ef7eb2e8f9f7 181 ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
<> 144:ef7eb2e8f9f7 182 }