mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
mbed_official
Date:
Fri Mar 18 08:30:10 2016 +0000
Revision:
95:75b7d1f8d36d
Parent:
0:9b334a45a8ff
Child:
144:ef7eb2e8f9f7
Synchronized with git revision 1f340445d5333b485923beb9a7216fc54a8efeb4

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

add hard fault handlers for MultiTech mDot and Dragonfly platforms

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 0:9b334a45a8ff 1 ;/*****************************************************************************
bogdanm 0:9b334a45a8ff 2 ; * @file: startup_LPC17xx.s
bogdanm 0:9b334a45a8ff 3 ; * @purpose: CMSIS Cortex-M3 Core Device Startup File
bogdanm 0:9b334a45a8ff 4 ; * for the NXP LPC17xx Device Series
bogdanm 0:9b334a45a8ff 5 ; * @version: V1.02, modified for mbed
bogdanm 0:9b334a45a8ff 6 ; * @date: 27. July 2009, modified 3rd Aug 2009
bogdanm 0:9b334a45a8ff 7 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
bogdanm 0:9b334a45a8ff 8 ; *
bogdanm 0:9b334a45a8ff 9 ; * Copyright (C) 2009 ARM Limited. All rights reserved.
bogdanm 0:9b334a45a8ff 10 ; * ARM Limited (ARM) is supplying this software for use with Cortex-M3
bogdanm 0:9b334a45a8ff 11 ; * processor based microcontrollers. This file can be freely distributed
bogdanm 0:9b334a45a8ff 12 ; * within development tools that are supporting such ARM based processors.
bogdanm 0:9b334a45a8ff 13 ; *
bogdanm 0:9b334a45a8ff 14 ; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
bogdanm 0:9b334a45a8ff 15 ; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
bogdanm 0:9b334a45a8ff 16 ; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
bogdanm 0:9b334a45a8ff 17 ; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
bogdanm 0:9b334a45a8ff 18 ; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
bogdanm 0:9b334a45a8ff 19 ; *
bogdanm 0:9b334a45a8ff 20 ; *****************************************************************************/
bogdanm 0:9b334a45a8ff 21
bogdanm 0:9b334a45a8ff 22 Stack_Size EQU 0x00000400
bogdanm 0:9b334a45a8ff 23
bogdanm 0:9b334a45a8ff 24 AREA STACK, NOINIT, READWRITE, ALIGN=3
bogdanm 0:9b334a45a8ff 25 EXPORT __initial_sp
bogdanm 0:9b334a45a8ff 26
bogdanm 0:9b334a45a8ff 27 Stack_Mem SPACE Stack_Size
bogdanm 0:9b334a45a8ff 28 __initial_sp EQU 0x10008000 ; Top of RAM from LPC1768
bogdanm 0:9b334a45a8ff 29
bogdanm 0:9b334a45a8ff 30
bogdanm 0:9b334a45a8ff 31 Heap_Size EQU 0x00000000
bogdanm 0:9b334a45a8ff 32
bogdanm 0:9b334a45a8ff 33 AREA HEAP, NOINIT, READWRITE, ALIGN=3
bogdanm 0:9b334a45a8ff 34 EXPORT __heap_base
bogdanm 0:9b334a45a8ff 35 EXPORT __heap_limit
bogdanm 0:9b334a45a8ff 36
bogdanm 0:9b334a45a8ff 37 __heap_base
bogdanm 0:9b334a45a8ff 38 Heap_Mem SPACE Heap_Size
bogdanm 0:9b334a45a8ff 39 __heap_limit
bogdanm 0:9b334a45a8ff 40
bogdanm 0:9b334a45a8ff 41 PRESERVE8
bogdanm 0:9b334a45a8ff 42 THUMB
bogdanm 0:9b334a45a8ff 43
bogdanm 0:9b334a45a8ff 44 ; Vector Table Mapped to Address 0 at Reset
bogdanm 0:9b334a45a8ff 45
bogdanm 0:9b334a45a8ff 46 AREA RESET, DATA, READONLY
bogdanm 0:9b334a45a8ff 47 EXPORT __Vectors
bogdanm 0:9b334a45a8ff 48
bogdanm 0:9b334a45a8ff 49 __Vectors DCD __initial_sp ; Top of Stack
bogdanm 0:9b334a45a8ff 50 DCD Reset_Handler ; Reset Handler
bogdanm 0:9b334a45a8ff 51 DCD NMI_Handler ; NMI Handler
bogdanm 0:9b334a45a8ff 52 DCD HardFault_Handler ; Hard Fault Handler
bogdanm 0:9b334a45a8ff 53 DCD MemManage_Handler ; MPU Fault Handler
bogdanm 0:9b334a45a8ff 54 DCD BusFault_Handler ; Bus Fault Handler
bogdanm 0:9b334a45a8ff 55 DCD UsageFault_Handler ; Usage Fault Handler
bogdanm 0:9b334a45a8ff 56 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 57 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 58 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 59 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 60 DCD SVC_Handler ; SVCall Handler
bogdanm 0:9b334a45a8ff 61 DCD DebugMon_Handler ; Debug Monitor Handler
bogdanm 0:9b334a45a8ff 62 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 63 DCD PendSV_Handler ; PendSV Handler
bogdanm 0:9b334a45a8ff 64 DCD SysTick_Handler ; SysTick Handler
bogdanm 0:9b334a45a8ff 65
bogdanm 0:9b334a45a8ff 66 ; External Interrupts
bogdanm 0:9b334a45a8ff 67 DCD WDT_IRQHandler ; 16: Watchdog Timer
bogdanm 0:9b334a45a8ff 68 DCD TIMER0_IRQHandler ; 17: Timer0
bogdanm 0:9b334a45a8ff 69 DCD TIMER1_IRQHandler ; 18: Timer1
bogdanm 0:9b334a45a8ff 70 DCD TIMER2_IRQHandler ; 19: Timer2
bogdanm 0:9b334a45a8ff 71 DCD TIMER3_IRQHandler ; 20: Timer3
bogdanm 0:9b334a45a8ff 72 DCD UART0_IRQHandler ; 21: UART0
bogdanm 0:9b334a45a8ff 73 DCD UART1_IRQHandler ; 22: UART1
bogdanm 0:9b334a45a8ff 74 DCD UART2_IRQHandler ; 23: UART2
bogdanm 0:9b334a45a8ff 75 DCD UART3_IRQHandler ; 24: UART3
bogdanm 0:9b334a45a8ff 76 DCD PWM1_IRQHandler ; 25: PWM1
bogdanm 0:9b334a45a8ff 77 DCD I2C0_IRQHandler ; 26: I2C0
bogdanm 0:9b334a45a8ff 78 DCD I2C1_IRQHandler ; 27: I2C1
bogdanm 0:9b334a45a8ff 79 DCD I2C2_IRQHandler ; 28: I2C2
bogdanm 0:9b334a45a8ff 80 DCD SPI_IRQHandler ; 29: SPI
bogdanm 0:9b334a45a8ff 81 DCD SSP0_IRQHandler ; 30: SSP0
bogdanm 0:9b334a45a8ff 82 DCD SSP1_IRQHandler ; 31: SSP1
bogdanm 0:9b334a45a8ff 83 DCD PLL0_IRQHandler ; 32: PLL0 Lock (Main PLL)
bogdanm 0:9b334a45a8ff 84 DCD RTC_IRQHandler ; 33: Real Time Clock
bogdanm 0:9b334a45a8ff 85 DCD EINT0_IRQHandler ; 34: External Interrupt 0
bogdanm 0:9b334a45a8ff 86 DCD EINT1_IRQHandler ; 35: External Interrupt 1
bogdanm 0:9b334a45a8ff 87 DCD EINT2_IRQHandler ; 36: External Interrupt 2
bogdanm 0:9b334a45a8ff 88 DCD EINT3_IRQHandler ; 37: External Interrupt 3
bogdanm 0:9b334a45a8ff 89 DCD ADC_IRQHandler ; 38: A/D Converter
bogdanm 0:9b334a45a8ff 90 DCD BOD_IRQHandler ; 39: Brown-Out Detect
bogdanm 0:9b334a45a8ff 91 DCD USB_IRQHandler ; 40: USB
bogdanm 0:9b334a45a8ff 92 DCD CAN_IRQHandler ; 41: CAN
bogdanm 0:9b334a45a8ff 93 DCD DMA_IRQHandler ; 42: General Purpose DMA
bogdanm 0:9b334a45a8ff 94 DCD I2S_IRQHandler ; 43: I2S
bogdanm 0:9b334a45a8ff 95 DCD ENET_IRQHandler ; 44: Ethernet
bogdanm 0:9b334a45a8ff 96 DCD RIT_IRQHandler ; 45: Repetitive Interrupt Timer
bogdanm 0:9b334a45a8ff 97 DCD MCPWM_IRQHandler ; 46: Motor Control PWM
bogdanm 0:9b334a45a8ff 98 DCD QEI_IRQHandler ; 47: Quadrature Encoder Interface
bogdanm 0:9b334a45a8ff 99 DCD PLL1_IRQHandler ; 48: PLL1 Lock (USB PLL)
bogdanm 0:9b334a45a8ff 100
bogdanm 0:9b334a45a8ff 101
bogdanm 0:9b334a45a8ff 102 IF :LNOT::DEF:NO_CRP
bogdanm 0:9b334a45a8ff 103 AREA |.ARM.__at_0x02FC|, CODE, READONLY
bogdanm 0:9b334a45a8ff 104 CRP_Key DCD 0xFFFFFFFF
bogdanm 0:9b334a45a8ff 105 ENDIF
bogdanm 0:9b334a45a8ff 106
bogdanm 0:9b334a45a8ff 107
bogdanm 0:9b334a45a8ff 108 AREA |.text|, CODE, READONLY
bogdanm 0:9b334a45a8ff 109
bogdanm 0:9b334a45a8ff 110
bogdanm 0:9b334a45a8ff 111 ; Reset Handler
bogdanm 0:9b334a45a8ff 112
bogdanm 0:9b334a45a8ff 113 Reset_Handler PROC
bogdanm 0:9b334a45a8ff 114 EXPORT Reset_Handler [WEAK]
bogdanm 0:9b334a45a8ff 115 IMPORT SystemInit
bogdanm 0:9b334a45a8ff 116 IMPORT __main
bogdanm 0:9b334a45a8ff 117 LDR R0, =SystemInit
bogdanm 0:9b334a45a8ff 118 BLX R0
bogdanm 0:9b334a45a8ff 119 LDR R0, =__main
bogdanm 0:9b334a45a8ff 120 BX R0
bogdanm 0:9b334a45a8ff 121 ENDP
bogdanm 0:9b334a45a8ff 122
bogdanm 0:9b334a45a8ff 123
bogdanm 0:9b334a45a8ff 124 ; Dummy Exception Handlers (infinite loops which can be modified)
bogdanm 0:9b334a45a8ff 125
bogdanm 0:9b334a45a8ff 126 NMI_Handler PROC
bogdanm 0:9b334a45a8ff 127 EXPORT NMI_Handler [WEAK]
bogdanm 0:9b334a45a8ff 128 B .
bogdanm 0:9b334a45a8ff 129 ENDP
bogdanm 0:9b334a45a8ff 130 HardFault_Handler\
bogdanm 0:9b334a45a8ff 131 PROC
bogdanm 0:9b334a45a8ff 132 EXPORT HardFault_Handler [WEAK]
bogdanm 0:9b334a45a8ff 133 B .
bogdanm 0:9b334a45a8ff 134 ENDP
bogdanm 0:9b334a45a8ff 135 MemManage_Handler\
bogdanm 0:9b334a45a8ff 136 PROC
bogdanm 0:9b334a45a8ff 137 EXPORT MemManage_Handler [WEAK]
bogdanm 0:9b334a45a8ff 138 B .
bogdanm 0:9b334a45a8ff 139 ENDP
bogdanm 0:9b334a45a8ff 140 BusFault_Handler\
bogdanm 0:9b334a45a8ff 141 PROC
bogdanm 0:9b334a45a8ff 142 EXPORT BusFault_Handler [WEAK]
bogdanm 0:9b334a45a8ff 143 B .
bogdanm 0:9b334a45a8ff 144 ENDP
bogdanm 0:9b334a45a8ff 145 UsageFault_Handler\
bogdanm 0:9b334a45a8ff 146 PROC
bogdanm 0:9b334a45a8ff 147 EXPORT UsageFault_Handler [WEAK]
bogdanm 0:9b334a45a8ff 148 B .
bogdanm 0:9b334a45a8ff 149 ENDP
bogdanm 0:9b334a45a8ff 150 SVC_Handler PROC
bogdanm 0:9b334a45a8ff 151 EXPORT SVC_Handler [WEAK]
bogdanm 0:9b334a45a8ff 152 B .
bogdanm 0:9b334a45a8ff 153 ENDP
bogdanm 0:9b334a45a8ff 154 DebugMon_Handler\
bogdanm 0:9b334a45a8ff 155 PROC
bogdanm 0:9b334a45a8ff 156 EXPORT DebugMon_Handler [WEAK]
bogdanm 0:9b334a45a8ff 157 B .
bogdanm 0:9b334a45a8ff 158 ENDP
bogdanm 0:9b334a45a8ff 159 PendSV_Handler PROC
bogdanm 0:9b334a45a8ff 160 EXPORT PendSV_Handler [WEAK]
bogdanm 0:9b334a45a8ff 161 B .
bogdanm 0:9b334a45a8ff 162 ENDP
bogdanm 0:9b334a45a8ff 163 SysTick_Handler PROC
bogdanm 0:9b334a45a8ff 164 EXPORT SysTick_Handler [WEAK]
bogdanm 0:9b334a45a8ff 165 B .
bogdanm 0:9b334a45a8ff 166 ENDP
bogdanm 0:9b334a45a8ff 167
bogdanm 0:9b334a45a8ff 168 Default_Handler PROC
bogdanm 0:9b334a45a8ff 169
bogdanm 0:9b334a45a8ff 170 EXPORT WDT_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 171 EXPORT TIMER0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 172 EXPORT TIMER1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 173 EXPORT TIMER2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 174 EXPORT TIMER3_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 175 EXPORT UART0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 176 EXPORT UART1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 177 EXPORT UART2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 178 EXPORT UART3_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 179 EXPORT PWM1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 180 EXPORT I2C0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 181 EXPORT I2C1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 182 EXPORT I2C2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 183 EXPORT SPI_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 184 EXPORT SSP0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 185 EXPORT SSP1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 186 EXPORT PLL0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 187 EXPORT RTC_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 188 EXPORT EINT0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 189 EXPORT EINT1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 190 EXPORT EINT2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 191 EXPORT EINT3_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 192 EXPORT ADC_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 193 EXPORT BOD_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 194 EXPORT USB_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 195 EXPORT CAN_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 196 EXPORT DMA_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 197 EXPORT I2S_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 198 EXPORT ENET_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 199 EXPORT RIT_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 200 EXPORT MCPWM_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 201 EXPORT QEI_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 202 EXPORT PLL1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 203
bogdanm 0:9b334a45a8ff 204 WDT_IRQHandler
bogdanm 0:9b334a45a8ff 205 TIMER0_IRQHandler
bogdanm 0:9b334a45a8ff 206 TIMER1_IRQHandler
bogdanm 0:9b334a45a8ff 207 TIMER2_IRQHandler
bogdanm 0:9b334a45a8ff 208 TIMER3_IRQHandler
bogdanm 0:9b334a45a8ff 209 UART0_IRQHandler
bogdanm 0:9b334a45a8ff 210 UART1_IRQHandler
bogdanm 0:9b334a45a8ff 211 UART2_IRQHandler
bogdanm 0:9b334a45a8ff 212 UART3_IRQHandler
bogdanm 0:9b334a45a8ff 213 PWM1_IRQHandler
bogdanm 0:9b334a45a8ff 214 I2C0_IRQHandler
bogdanm 0:9b334a45a8ff 215 I2C1_IRQHandler
bogdanm 0:9b334a45a8ff 216 I2C2_IRQHandler
bogdanm 0:9b334a45a8ff 217 SPI_IRQHandler
bogdanm 0:9b334a45a8ff 218 SSP0_IRQHandler
bogdanm 0:9b334a45a8ff 219 SSP1_IRQHandler
bogdanm 0:9b334a45a8ff 220 PLL0_IRQHandler
bogdanm 0:9b334a45a8ff 221 RTC_IRQHandler
bogdanm 0:9b334a45a8ff 222 EINT0_IRQHandler
bogdanm 0:9b334a45a8ff 223 EINT1_IRQHandler
bogdanm 0:9b334a45a8ff 224 EINT2_IRQHandler
bogdanm 0:9b334a45a8ff 225 EINT3_IRQHandler
bogdanm 0:9b334a45a8ff 226 ADC_IRQHandler
bogdanm 0:9b334a45a8ff 227 BOD_IRQHandler
bogdanm 0:9b334a45a8ff 228 USB_IRQHandler
bogdanm 0:9b334a45a8ff 229 CAN_IRQHandler
bogdanm 0:9b334a45a8ff 230 DMA_IRQHandler
bogdanm 0:9b334a45a8ff 231 I2S_IRQHandler
bogdanm 0:9b334a45a8ff 232 ENET_IRQHandler
bogdanm 0:9b334a45a8ff 233 RIT_IRQHandler
bogdanm 0:9b334a45a8ff 234 MCPWM_IRQHandler
bogdanm 0:9b334a45a8ff 235 QEI_IRQHandler
bogdanm 0:9b334a45a8ff 236 PLL1_IRQHandler
bogdanm 0:9b334a45a8ff 237
bogdanm 0:9b334a45a8ff 238 B .
bogdanm 0:9b334a45a8ff 239
bogdanm 0:9b334a45a8ff 240 ENDP
bogdanm 0:9b334a45a8ff 241
bogdanm 0:9b334a45a8ff 242 ALIGN
bogdanm 0:9b334a45a8ff 243 END