mbed library sources

Dependents:   Marvino mbot

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Fri Sep 25 11:45:09 2015 +0100
Revision:
624:83778a75d1b4
Synchronized with git revision b290644b9cdd33d24fc3f629368795b3d9c386fe

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

changes for adding IoT Subsystem for Cortex-M target

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 624:83778a75d1b4 1 ;/**************************************************************************//**
mbed_official 624:83778a75d1b4 2 ; * @file startup_CMSDK_CM3.s
mbed_official 624:83778a75d1b4 3 ; * @brief CMSIS Core Device Startup File for
mbed_official 624:83778a75d1b4 4 ; * CMSDK_CM3 Device
mbed_official 624:83778a75d1b4 5 ; * @version V3.02
mbed_official 624:83778a75d1b4 6 ; * @date 15. November 2013
mbed_official 624:83778a75d1b4 7 ; *
mbed_official 624:83778a75d1b4 8 ; * @note
mbed_official 624:83778a75d1b4 9 ; * Copyright (C) 2014 ARM Limited. All rights reserved.
mbed_official 624:83778a75d1b4 10 ; *
mbed_official 624:83778a75d1b4 11 ; ******************************************************************************/
mbed_official 624:83778a75d1b4 12 ;/* Copyright (c) 2011 - 2013 ARM LIMITED
mbed_official 624:83778a75d1b4 13 ;
mbed_official 624:83778a75d1b4 14 ; All rights reserved.
mbed_official 624:83778a75d1b4 15 ; Redistribution and use in source and binary forms, with or without
mbed_official 624:83778a75d1b4 16 ; modification, are permitted provided that the following conditions are met:
mbed_official 624:83778a75d1b4 17 ; - Redistributions of source code must retain the above copyright
mbed_official 624:83778a75d1b4 18 ; notice, this list of conditions and the following disclaimer.
mbed_official 624:83778a75d1b4 19 ; - Redistributions in binary form must reproduce the above copyright
mbed_official 624:83778a75d1b4 20 ; notice, this list of conditions and the following disclaimer in the
mbed_official 624:83778a75d1b4 21 ; documentation and/or other materials provided with the distribution.
mbed_official 624:83778a75d1b4 22 ; - Neither the name of ARM nor the names of its contributors may be used
mbed_official 624:83778a75d1b4 23 ; to endorse or promote products derived from this software without
mbed_official 624:83778a75d1b4 24 ; specific prior written permission.
mbed_official 624:83778a75d1b4 25 ; *
mbed_official 624:83778a75d1b4 26 ; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 624:83778a75d1b4 27 ; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 624:83778a75d1b4 28 ; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
mbed_official 624:83778a75d1b4 29 ; ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
mbed_official 624:83778a75d1b4 30 ; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
mbed_official 624:83778a75d1b4 31 ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
mbed_official 624:83778a75d1b4 32 ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
mbed_official 624:83778a75d1b4 33 ; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
mbed_official 624:83778a75d1b4 34 ; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
mbed_official 624:83778a75d1b4 35 ; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
mbed_official 624:83778a75d1b4 36 ; POSSIBILITY OF SUCH DAMAGE.
mbed_official 624:83778a75d1b4 37 ; ---------------------------------------------------------------------------*/
mbed_official 624:83778a75d1b4 38 ;/*
mbed_official 624:83778a75d1b4 39 ;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
mbed_official 624:83778a75d1b4 40 ;*/
mbed_official 624:83778a75d1b4 41
mbed_official 624:83778a75d1b4 42
mbed_official 624:83778a75d1b4 43 ; <h> Stack Configuration
mbed_official 624:83778a75d1b4 44 ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
mbed_official 624:83778a75d1b4 45 ; </h>
mbed_official 624:83778a75d1b4 46
mbed_official 624:83778a75d1b4 47 Stack_Size EQU 0x00004000
mbed_official 624:83778a75d1b4 48
mbed_official 624:83778a75d1b4 49 AREA STACK, NOINIT, READWRITE, ALIGN=3
mbed_official 624:83778a75d1b4 50 Stack_Mem SPACE Stack_Size
mbed_official 624:83778a75d1b4 51 __initial_sp
mbed_official 624:83778a75d1b4 52
mbed_official 624:83778a75d1b4 53
mbed_official 624:83778a75d1b4 54 ; <h> Heap Configuration
mbed_official 624:83778a75d1b4 55 ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
mbed_official 624:83778a75d1b4 56 ; </h>
mbed_official 624:83778a75d1b4 57
mbed_official 624:83778a75d1b4 58 Heap_Size EQU 0x00001000
mbed_official 624:83778a75d1b4 59
mbed_official 624:83778a75d1b4 60 AREA HEAP, NOINIT, READWRITE, ALIGN=3
mbed_official 624:83778a75d1b4 61 __heap_base
mbed_official 624:83778a75d1b4 62 Heap_Mem SPACE Heap_Size
mbed_official 624:83778a75d1b4 63 __heap_limit
mbed_official 624:83778a75d1b4 64
mbed_official 624:83778a75d1b4 65
mbed_official 624:83778a75d1b4 66 PRESERVE8
mbed_official 624:83778a75d1b4 67 THUMB
mbed_official 624:83778a75d1b4 68
mbed_official 624:83778a75d1b4 69
mbed_official 624:83778a75d1b4 70 ; Vector Table Mapped to Address 0 at Reset
mbed_official 624:83778a75d1b4 71
mbed_official 624:83778a75d1b4 72 AREA RESET, DATA, READONLY
mbed_official 624:83778a75d1b4 73 EXPORT __Vectors
mbed_official 624:83778a75d1b4 74 EXPORT __Vectors_End
mbed_official 624:83778a75d1b4 75 EXPORT __Vectors_Size
mbed_official 624:83778a75d1b4 76
mbed_official 624:83778a75d1b4 77 __Vectors DCD __initial_sp ; Top of Stack
mbed_official 624:83778a75d1b4 78 DCD Reset_Handler ; Reset Handler
mbed_official 624:83778a75d1b4 79 DCD NMI_Handler ; NMI Handler
mbed_official 624:83778a75d1b4 80 DCD HardFault_Handler ; Hard Fault Handler
mbed_official 624:83778a75d1b4 81 DCD MemManage_Handler ; MPU Fault Handler
mbed_official 624:83778a75d1b4 82 DCD BusFault_Handler ; Bus Fault Handler
mbed_official 624:83778a75d1b4 83 DCD UsageFault_Handler ; Usage Fault Handler
mbed_official 624:83778a75d1b4 84 DCD 0 ; Reserved
mbed_official 624:83778a75d1b4 85 DCD 0 ; Reserved
mbed_official 624:83778a75d1b4 86 DCD 0 ; Reserved
mbed_official 624:83778a75d1b4 87 DCD 0 ; Reserved
mbed_official 624:83778a75d1b4 88 DCD SVC_Handler ; SVCall Handler
mbed_official 624:83778a75d1b4 89 DCD DebugMon_Handler ; Debug Monitor Handler
mbed_official 624:83778a75d1b4 90 DCD 0 ; Reserved
mbed_official 624:83778a75d1b4 91 DCD PendSV_Handler ; PendSV Handler
mbed_official 624:83778a75d1b4 92 DCD SysTick_Handler ; SysTick Handler
mbed_official 624:83778a75d1b4 93
mbed_official 624:83778a75d1b4 94 ; External Interrupts
mbed_official 624:83778a75d1b4 95 DCD UARTRX0_Handler ; UART 0 RX Handler
mbed_official 624:83778a75d1b4 96 DCD UARTTX0_Handler ; UART 0 TX Handler
mbed_official 624:83778a75d1b4 97 DCD UARTRX1_Handler ; UART 1 RX Handler
mbed_official 624:83778a75d1b4 98 DCD UARTTX1_Handler ; UART 1 TX Handler
mbed_official 624:83778a75d1b4 99 DCD UARTRX2_Handler ; UART 2 RX Handler
mbed_official 624:83778a75d1b4 100 DCD UARTTX2_Handler ; UART 2 TX Handler
mbed_official 624:83778a75d1b4 101 DCD PORT0_COMB_Handler ; GPIO Port 0 Combined Handler
mbed_official 624:83778a75d1b4 102 DCD PORT1_COMB_Handler ; GPIO Port 1 Combined Handler
mbed_official 624:83778a75d1b4 103 DCD TIMER0_Handler ; TIMER 0 handler
mbed_official 624:83778a75d1b4 104 DCD TIMER1_Handler ; TIMER 1 handler
mbed_official 624:83778a75d1b4 105 DCD DUALTIMER_HANDLER ; Dual timer handler
mbed_official 624:83778a75d1b4 106 DCD SPI_Handler ; SPI exceptions Handler
mbed_official 624:83778a75d1b4 107 DCD UARTOVF_Handler ; UART 0,1,2 Overflow Handler
mbed_official 624:83778a75d1b4 108 DCD ETHERNET_Handler ; Ethernet Overflow Handler
mbed_official 624:83778a75d1b4 109 DCD I2S_Handler ; I2S Handler
mbed_official 624:83778a75d1b4 110 DCD TSC_Handler ; Touch Screen handler
mbed_official 624:83778a75d1b4 111 DCD PORT0_0_Handler ; GPIO Port 0 pin 0 Handler
mbed_official 624:83778a75d1b4 112 DCD PORT0_1_Handler ; GPIO Port 0 pin 1 Handler
mbed_official 624:83778a75d1b4 113 DCD PORT0_2_Handler ; GPIO Port 0 pin 2 Handler
mbed_official 624:83778a75d1b4 114 DCD PORT0_3_Handler ; GPIO Port 0 pin 3 Handler
mbed_official 624:83778a75d1b4 115 DCD PORT0_4_Handler ; GPIO Port 0 pin 4 Handler
mbed_official 624:83778a75d1b4 116 DCD PORT0_5_Handler ; GPIO Port 0 pin 5 Handler
mbed_official 624:83778a75d1b4 117 DCD PORT0_6_Handler ; GPIO Port 0 pin 6 Handler
mbed_official 624:83778a75d1b4 118 DCD PORT0_7_Handler ; GPIO Port 0 pin 7 Handler
mbed_official 624:83778a75d1b4 119 DCD PORT0_8_Handler ; GPIO Port 0 pin 8 Handler
mbed_official 624:83778a75d1b4 120 DCD PORT0_9_Handler ; GPIO Port 0 pin 9 Handler
mbed_official 624:83778a75d1b4 121 DCD PORT0_10_Handler ; GPIO Port 0 pin 10 Handler
mbed_official 624:83778a75d1b4 122 DCD PORT0_11_Handler ; GPIO Port 0 pin 11 Handler
mbed_official 624:83778a75d1b4 123 DCD PORT0_12_Handler ; GPIO Port 0 pin 12 Handler
mbed_official 624:83778a75d1b4 124 DCD PORT0_13_Handler ; GPIO Port 0 pin 13 Handler
mbed_official 624:83778a75d1b4 125 DCD PORT0_14_Handler ; GPIO Port 0 pin 14 Handler
mbed_official 624:83778a75d1b4 126 DCD PORT0_15_Handler ; GPIO Port 0 pin 15 Handler
mbed_official 624:83778a75d1b4 127 __Vectors_End
mbed_official 624:83778a75d1b4 128
mbed_official 624:83778a75d1b4 129 __Vectors_Size EQU __Vectors_End - __Vectors
mbed_official 624:83778a75d1b4 130
mbed_official 624:83778a75d1b4 131 AREA |.text|, CODE, READONLY
mbed_official 624:83778a75d1b4 132
mbed_official 624:83778a75d1b4 133
mbed_official 624:83778a75d1b4 134 ; Reset Handler
mbed_official 624:83778a75d1b4 135
mbed_official 624:83778a75d1b4 136 Reset_Handler PROC
mbed_official 624:83778a75d1b4 137 EXPORT Reset_Handler [WEAK]
mbed_official 624:83778a75d1b4 138 IMPORT SystemInit
mbed_official 624:83778a75d1b4 139 IMPORT __main
mbed_official 624:83778a75d1b4 140 LDR R0, =SystemInit
mbed_official 624:83778a75d1b4 141 BLX R0
mbed_official 624:83778a75d1b4 142 LDR R0, =__main
mbed_official 624:83778a75d1b4 143 BX R0
mbed_official 624:83778a75d1b4 144 ENDP
mbed_official 624:83778a75d1b4 145
mbed_official 624:83778a75d1b4 146
mbed_official 624:83778a75d1b4 147 ; Dummy Exception Handlers (infinite loops which can be modified)
mbed_official 624:83778a75d1b4 148
mbed_official 624:83778a75d1b4 149 NMI_Handler PROC
mbed_official 624:83778a75d1b4 150 EXPORT NMI_Handler [WEAK]
mbed_official 624:83778a75d1b4 151 B .
mbed_official 624:83778a75d1b4 152 ENDP
mbed_official 624:83778a75d1b4 153 HardFault_Handler\
mbed_official 624:83778a75d1b4 154 PROC
mbed_official 624:83778a75d1b4 155 EXPORT HardFault_Handler [WEAK]
mbed_official 624:83778a75d1b4 156 B .
mbed_official 624:83778a75d1b4 157 ENDP
mbed_official 624:83778a75d1b4 158 MemManage_Handler\
mbed_official 624:83778a75d1b4 159 PROC
mbed_official 624:83778a75d1b4 160 EXPORT MemManage_Handler [WEAK]
mbed_official 624:83778a75d1b4 161 B .
mbed_official 624:83778a75d1b4 162 ENDP
mbed_official 624:83778a75d1b4 163 BusFault_Handler\
mbed_official 624:83778a75d1b4 164 PROC
mbed_official 624:83778a75d1b4 165 EXPORT BusFault_Handler [WEAK]
mbed_official 624:83778a75d1b4 166 B .
mbed_official 624:83778a75d1b4 167 ENDP
mbed_official 624:83778a75d1b4 168 UsageFault_Handler\
mbed_official 624:83778a75d1b4 169 PROC
mbed_official 624:83778a75d1b4 170 EXPORT UsageFault_Handler [WEAK]
mbed_official 624:83778a75d1b4 171 B .
mbed_official 624:83778a75d1b4 172 ENDP
mbed_official 624:83778a75d1b4 173 SVC_Handler PROC
mbed_official 624:83778a75d1b4 174 EXPORT SVC_Handler [WEAK]
mbed_official 624:83778a75d1b4 175 B .
mbed_official 624:83778a75d1b4 176 ENDP
mbed_official 624:83778a75d1b4 177 DebugMon_Handler\
mbed_official 624:83778a75d1b4 178 PROC
mbed_official 624:83778a75d1b4 179 EXPORT DebugMon_Handler [WEAK]
mbed_official 624:83778a75d1b4 180 B .
mbed_official 624:83778a75d1b4 181 ENDP
mbed_official 624:83778a75d1b4 182 PendSV_Handler PROC
mbed_official 624:83778a75d1b4 183 EXPORT PendSV_Handler [WEAK]
mbed_official 624:83778a75d1b4 184 B .
mbed_official 624:83778a75d1b4 185 ENDP
mbed_official 624:83778a75d1b4 186 SysTick_Handler PROC
mbed_official 624:83778a75d1b4 187 EXPORT SysTick_Handler [WEAK]
mbed_official 624:83778a75d1b4 188 B .
mbed_official 624:83778a75d1b4 189 ENDP
mbed_official 624:83778a75d1b4 190
mbed_official 624:83778a75d1b4 191 Default_Handler PROC
mbed_official 624:83778a75d1b4 192 EXPORT UARTRX0_Handler [WEAK]
mbed_official 624:83778a75d1b4 193 EXPORT UARTTX0_Handler [WEAK]
mbed_official 624:83778a75d1b4 194 EXPORT UARTRX1_Handler [WEAK]
mbed_official 624:83778a75d1b4 195 EXPORT UARTTX1_Handler [WEAK]
mbed_official 624:83778a75d1b4 196 EXPORT UARTRX2_Handler [WEAK]
mbed_official 624:83778a75d1b4 197 EXPORT UARTTX2_Handler [WEAK]
mbed_official 624:83778a75d1b4 198 EXPORT PORT0_COMB_Handler [WEAK]
mbed_official 624:83778a75d1b4 199 EXPORT PORT1_COMB_Handler [WEAK]
mbed_official 624:83778a75d1b4 200 EXPORT TIMER0_Handler [WEAK]
mbed_official 624:83778a75d1b4 201 EXPORT TIMER1_Handler [WEAK]
mbed_official 624:83778a75d1b4 202 EXPORT DUALTIMER_HANDLER [WEAK]
mbed_official 624:83778a75d1b4 203 EXPORT SPI_Handler [WEAK]
mbed_official 624:83778a75d1b4 204 EXPORT UARTOVF_Handler [WEAK]
mbed_official 624:83778a75d1b4 205 EXPORT ETHERNET_Handler [WEAK]
mbed_official 624:83778a75d1b4 206 EXPORT I2S_Handler [WEAK]
mbed_official 624:83778a75d1b4 207 EXPORT TSC_Handler [WEAK]
mbed_official 624:83778a75d1b4 208 EXPORT PORT0_0_Handler [WEAK]
mbed_official 624:83778a75d1b4 209 EXPORT PORT0_1_Handler [WEAK]
mbed_official 624:83778a75d1b4 210 EXPORT PORT0_2_Handler [WEAK]
mbed_official 624:83778a75d1b4 211 EXPORT PORT0_3_Handler [WEAK]
mbed_official 624:83778a75d1b4 212 EXPORT PORT0_4_Handler [WEAK]
mbed_official 624:83778a75d1b4 213 EXPORT PORT0_5_Handler [WEAK]
mbed_official 624:83778a75d1b4 214 EXPORT PORT0_6_Handler [WEAK]
mbed_official 624:83778a75d1b4 215 EXPORT PORT0_7_Handler [WEAK]
mbed_official 624:83778a75d1b4 216 EXPORT PORT0_8_Handler [WEAK]
mbed_official 624:83778a75d1b4 217 EXPORT PORT0_9_Handler [WEAK]
mbed_official 624:83778a75d1b4 218 EXPORT PORT0_10_Handler [WEAK]
mbed_official 624:83778a75d1b4 219 EXPORT PORT0_11_Handler [WEAK]
mbed_official 624:83778a75d1b4 220 EXPORT PORT0_12_Handler [WEAK]
mbed_official 624:83778a75d1b4 221 EXPORT PORT0_13_Handler [WEAK]
mbed_official 624:83778a75d1b4 222 EXPORT PORT0_14_Handler [WEAK]
mbed_official 624:83778a75d1b4 223 EXPORT PORT0_15_Handler [WEAK]
mbed_official 624:83778a75d1b4 224
mbed_official 624:83778a75d1b4 225 UARTRX0_Handler
mbed_official 624:83778a75d1b4 226 UARTTX0_Handler
mbed_official 624:83778a75d1b4 227 UARTRX1_Handler
mbed_official 624:83778a75d1b4 228 UARTTX1_Handler
mbed_official 624:83778a75d1b4 229 UARTRX2_Handler
mbed_official 624:83778a75d1b4 230 UARTTX2_Handler
mbed_official 624:83778a75d1b4 231 PORT0_COMB_Handler
mbed_official 624:83778a75d1b4 232 PORT1_COMB_Handler
mbed_official 624:83778a75d1b4 233 TIMER0_Handler
mbed_official 624:83778a75d1b4 234 TIMER1_Handler
mbed_official 624:83778a75d1b4 235 DUALTIMER_HANDLER
mbed_official 624:83778a75d1b4 236 SPI_Handler
mbed_official 624:83778a75d1b4 237 UARTOVF_Handler
mbed_official 624:83778a75d1b4 238 ETHERNET_Handler
mbed_official 624:83778a75d1b4 239 I2S_Handler
mbed_official 624:83778a75d1b4 240 TSC_Handler
mbed_official 624:83778a75d1b4 241 PORT0_0_Handler
mbed_official 624:83778a75d1b4 242 PORT0_1_Handler
mbed_official 624:83778a75d1b4 243 PORT0_2_Handler
mbed_official 624:83778a75d1b4 244 PORT0_3_Handler
mbed_official 624:83778a75d1b4 245 PORT0_4_Handler
mbed_official 624:83778a75d1b4 246 PORT0_5_Handler
mbed_official 624:83778a75d1b4 247 PORT0_6_Handler
mbed_official 624:83778a75d1b4 248 PORT0_7_Handler
mbed_official 624:83778a75d1b4 249 PORT0_8_Handler
mbed_official 624:83778a75d1b4 250 PORT0_9_Handler
mbed_official 624:83778a75d1b4 251 PORT0_10_Handler
mbed_official 624:83778a75d1b4 252 PORT0_11_Handler
mbed_official 624:83778a75d1b4 253 PORT0_12_Handler
mbed_official 624:83778a75d1b4 254 PORT0_13_Handler
mbed_official 624:83778a75d1b4 255 PORT0_14_Handler
mbed_official 624:83778a75d1b4 256 PORT0_15_Handler
mbed_official 624:83778a75d1b4 257 B .
mbed_official 624:83778a75d1b4 258
mbed_official 624:83778a75d1b4 259 ENDP
mbed_official 624:83778a75d1b4 260
mbed_official 624:83778a75d1b4 261
mbed_official 624:83778a75d1b4 262 ALIGN
mbed_official 624:83778a75d1b4 263
mbed_official 624:83778a75d1b4 264
mbed_official 624:83778a75d1b4 265 ; User Initial Stack & Heap
mbed_official 624:83778a75d1b4 266
mbed_official 624:83778a75d1b4 267 IF :DEF:__MICROLIB
mbed_official 624:83778a75d1b4 268
mbed_official 624:83778a75d1b4 269 EXPORT __initial_sp
mbed_official 624:83778a75d1b4 270 EXPORT __heap_base
mbed_official 624:83778a75d1b4 271 EXPORT __heap_limit
mbed_official 624:83778a75d1b4 272
mbed_official 624:83778a75d1b4 273 ELSE
mbed_official 624:83778a75d1b4 274
mbed_official 624:83778a75d1b4 275 IMPORT __use_two_region_memory
mbed_official 624:83778a75d1b4 276 EXPORT __user_initial_stackheap
mbed_official 624:83778a75d1b4 277
mbed_official 624:83778a75d1b4 278 __user_initial_stackheap PROC
mbed_official 624:83778a75d1b4 279 LDR R0, = Heap_Mem
mbed_official 624:83778a75d1b4 280 LDR R1, =(Stack_Mem + Stack_Size)
mbed_official 624:83778a75d1b4 281 LDR R2, = (Heap_Mem + Heap_Size)
mbed_official 624:83778a75d1b4 282 LDR R3, = Stack_Mem
mbed_official 624:83778a75d1b4 283 BX LR
mbed_official 624:83778a75d1b4 284 ENDP
mbed_official 624:83778a75d1b4 285
mbed_official 624:83778a75d1b4 286 ALIGN
mbed_official 624:83778a75d1b4 287
mbed_official 624:83778a75d1b4 288 ENDIF
mbed_official 624:83778a75d1b4 289
mbed_official 624:83778a75d1b4 290
mbed_official 624:83778a75d1b4 291 END