mbed library sources. Supersedes mbed-src.

Fork of mbed by teralytic

Committer:
bogdanm
Date:
Thu Oct 01 15:25:22 2015 +0300
Revision:
0:9b334a45a8ff
Child:
144:ef7eb2e8f9f7
Initial commit on mbed-dev

Replaces mbed-src (now inactive)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 0:9b334a45a8ff 1 ;/*****************************************************************************
bogdanm 0:9b334a45a8ff 2 ; * @file: startup_LPC407x_8x.s
bogdanm 0:9b334a45a8ff 3 ; * @purpose: CMSIS Cortex-M4 Core Device Startup File
bogdanm 0:9b334a45a8ff 4 ; * for the NXP LPC407x_8x Device Series
bogdanm 0:9b334a45a8ff 5 ; * @version: V1.20
bogdanm 0:9b334a45a8ff 6 ; * @date: 16. January 2012
bogdanm 0:9b334a45a8ff 7 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
bogdanm 0:9b334a45a8ff 8 ; *
bogdanm 0:9b334a45a8ff 9 ; * Copyright (C) 2012 ARM Limited. All rights reserved.
bogdanm 0:9b334a45a8ff 10 ; * ARM Limited (ARM) is supplying this software for use with Cortex-M4
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
bogdanm 0:9b334a45a8ff 23
bogdanm 0:9b334a45a8ff 24 __initial_sp EQU 0x10010000 ; Top of RAM from LPC4088
bogdanm 0:9b334a45a8ff 25
bogdanm 0:9b334a45a8ff 26 PRESERVE8
bogdanm 0:9b334a45a8ff 27 THUMB
bogdanm 0:9b334a45a8ff 28
bogdanm 0:9b334a45a8ff 29 ; Vector Table Mapped to Address 0 at Reset
bogdanm 0:9b334a45a8ff 30
bogdanm 0:9b334a45a8ff 31 AREA RESET, DATA, READONLY
bogdanm 0:9b334a45a8ff 32 EXPORT __Vectors
bogdanm 0:9b334a45a8ff 33
bogdanm 0:9b334a45a8ff 34 __Vectors DCD __initial_sp ; Top of Stack
bogdanm 0:9b334a45a8ff 35 DCD Reset_Handler ; Reset Handler
bogdanm 0:9b334a45a8ff 36 DCD NMI_Handler ; NMI Handler
bogdanm 0:9b334a45a8ff 37 DCD HardFault_Handler ; Hard Fault Handler
bogdanm 0:9b334a45a8ff 38 DCD MemManage_Handler ; MPU Fault Handler
bogdanm 0:9b334a45a8ff 39 DCD BusFault_Handler ; Bus Fault Handler
bogdanm 0:9b334a45a8ff 40 DCD UsageFault_Handler ; Usage Fault Handler
bogdanm 0:9b334a45a8ff 41 ; DCD 0xEFFFF5D6 ; Reserved- vector sum
bogdanm 0:9b334a45a8ff 42 DCD 0xEFFFF39E ; Reserved- vector sum
bogdanm 0:9b334a45a8ff 43 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 44 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 45 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 46 DCD SVC_Handler ; SVCall Handler
bogdanm 0:9b334a45a8ff 47 DCD DebugMon_Handler ; Debug Monitor Handler
bogdanm 0:9b334a45a8ff 48 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 49 DCD PendSV_Handler ; PendSV Handler
bogdanm 0:9b334a45a8ff 50 DCD SysTick_Handler ; SysTick Handler
bogdanm 0:9b334a45a8ff 51
bogdanm 0:9b334a45a8ff 52 ; External Interrupts
bogdanm 0:9b334a45a8ff 53 DCD WDT_IRQHandler ; 16: Watchdog Timer
bogdanm 0:9b334a45a8ff 54 DCD TIMER0_IRQHandler ; 17: Timer0
bogdanm 0:9b334a45a8ff 55 DCD TIMER1_IRQHandler ; 18: Timer1
bogdanm 0:9b334a45a8ff 56 DCD TIMER2_IRQHandler ; 19: Timer2
bogdanm 0:9b334a45a8ff 57 DCD TIMER3_IRQHandler ; 20: Timer3
bogdanm 0:9b334a45a8ff 58 DCD UART0_IRQHandler ; 21: UART0
bogdanm 0:9b334a45a8ff 59 DCD UART1_IRQHandler ; 22: UART1
bogdanm 0:9b334a45a8ff 60 DCD UART2_IRQHandler ; 23: UART2
bogdanm 0:9b334a45a8ff 61 DCD UART3_IRQHandler ; 24: UART3
bogdanm 0:9b334a45a8ff 62 DCD PWM1_IRQHandler ; 25: PWM1
bogdanm 0:9b334a45a8ff 63 DCD I2C0_IRQHandler ; 26: I2C0
bogdanm 0:9b334a45a8ff 64 DCD I2C1_IRQHandler ; 27: I2C1
bogdanm 0:9b334a45a8ff 65 DCD I2C2_IRQHandler ; 28: I2C2
bogdanm 0:9b334a45a8ff 66 DCD 0 ; 29: reserved, not for SPIFI anymore
bogdanm 0:9b334a45a8ff 67 DCD SSP0_IRQHandler ; 30: SSP0
bogdanm 0:9b334a45a8ff 68 DCD SSP1_IRQHandler ; 31: SSP1
bogdanm 0:9b334a45a8ff 69 DCD PLL0_IRQHandler ; 32: PLL0 Lock (Main PLL)
bogdanm 0:9b334a45a8ff 70 DCD RTC_IRQHandler ; 33: Real Time Clock
bogdanm 0:9b334a45a8ff 71 DCD EINT0_IRQHandler ; 34: External Interrupt 0
bogdanm 0:9b334a45a8ff 72 DCD EINT1_IRQHandler ; 35: External Interrupt 1
bogdanm 0:9b334a45a8ff 73 DCD EINT2_IRQHandler ; 36: External Interrupt 2
bogdanm 0:9b334a45a8ff 74 DCD EINT3_IRQHandler ; 37: External Interrupt 3
bogdanm 0:9b334a45a8ff 75 DCD ADC_IRQHandler ; 38: A/D Converter
bogdanm 0:9b334a45a8ff 76 DCD BOD_IRQHandler ; 39: Brown-Out Detect
bogdanm 0:9b334a45a8ff 77 DCD USB_IRQHandler ; 40: USB
bogdanm 0:9b334a45a8ff 78 DCD CAN_IRQHandler ; 41: CAN
bogdanm 0:9b334a45a8ff 79 DCD DMA_IRQHandler ; 42: General Purpose DMA
bogdanm 0:9b334a45a8ff 80 DCD I2S_IRQHandler ; 43: I2S
bogdanm 0:9b334a45a8ff 81 DCD ENET_IRQHandler ; 44: Ethernet
bogdanm 0:9b334a45a8ff 82 DCD MCI_IRQHandler ; 45: SD/MMC card I/F
bogdanm 0:9b334a45a8ff 83 DCD MCPWM_IRQHandler ; 46: Motor Control PWM
bogdanm 0:9b334a45a8ff 84 DCD QEI_IRQHandler ; 47: Quadrature Encoder Interface
bogdanm 0:9b334a45a8ff 85 DCD PLL1_IRQHandler ; 48: PLL1 Lock (USB PLL)
bogdanm 0:9b334a45a8ff 86 DCD USBActivity_IRQHandler ; 49: USB Activity interrupt to wakeup
bogdanm 0:9b334a45a8ff 87 DCD CANActivity_IRQHandler ; 50: CAN Activity interrupt to wakeup
bogdanm 0:9b334a45a8ff 88 DCD UART4_IRQHandler ; 51: UART4
bogdanm 0:9b334a45a8ff 89 DCD SSP2_IRQHandler ; 52: SSP2
bogdanm 0:9b334a45a8ff 90 DCD LCD_IRQHandler ; 53: LCD
bogdanm 0:9b334a45a8ff 91 DCD GPIO_IRQHandler ; 54: GPIO
bogdanm 0:9b334a45a8ff 92 DCD PWM0_IRQHandler ; 55: PWM0
bogdanm 0:9b334a45a8ff 93 DCD EEPROM_IRQHandler ; 56: EEPROM
bogdanm 0:9b334a45a8ff 94
bogdanm 0:9b334a45a8ff 95
bogdanm 0:9b334a45a8ff 96 IF :LNOT::DEF:NO_CRP
bogdanm 0:9b334a45a8ff 97 AREA |.ARM.__at_0x02FC|, CODE, READONLY
bogdanm 0:9b334a45a8ff 98 CRP_Key DCD 0xFFFFFFFF
bogdanm 0:9b334a45a8ff 99 ENDIF
bogdanm 0:9b334a45a8ff 100
bogdanm 0:9b334a45a8ff 101
bogdanm 0:9b334a45a8ff 102 AREA |.text|, CODE, READONLY
bogdanm 0:9b334a45a8ff 103
bogdanm 0:9b334a45a8ff 104
bogdanm 0:9b334a45a8ff 105 ; Reset Handler
bogdanm 0:9b334a45a8ff 106
bogdanm 0:9b334a45a8ff 107 Reset_Handler PROC
bogdanm 0:9b334a45a8ff 108 EXPORT Reset_Handler [WEAK]
bogdanm 0:9b334a45a8ff 109 IMPORT SystemInit
bogdanm 0:9b334a45a8ff 110 IMPORT __main
bogdanm 0:9b334a45a8ff 111 LDR R0, =SystemInit
bogdanm 0:9b334a45a8ff 112 BLX R0
bogdanm 0:9b334a45a8ff 113 LDR R0, =__main
bogdanm 0:9b334a45a8ff 114 BX R0
bogdanm 0:9b334a45a8ff 115 ENDP
bogdanm 0:9b334a45a8ff 116
bogdanm 0:9b334a45a8ff 117
bogdanm 0:9b334a45a8ff 118 ; Dummy Exception Handlers (infinite loops which can be modified)
bogdanm 0:9b334a45a8ff 119
bogdanm 0:9b334a45a8ff 120 NMI_Handler PROC
bogdanm 0:9b334a45a8ff 121 EXPORT NMI_Handler [WEAK]
bogdanm 0:9b334a45a8ff 122 B .
bogdanm 0:9b334a45a8ff 123 ENDP
bogdanm 0:9b334a45a8ff 124 HardFault_Handler\
bogdanm 0:9b334a45a8ff 125 PROC
bogdanm 0:9b334a45a8ff 126 EXPORT HardFault_Handler [WEAK]
bogdanm 0:9b334a45a8ff 127 B .
bogdanm 0:9b334a45a8ff 128 ENDP
bogdanm 0:9b334a45a8ff 129 MemManage_Handler\
bogdanm 0:9b334a45a8ff 130 PROC
bogdanm 0:9b334a45a8ff 131 EXPORT MemManage_Handler [WEAK]
bogdanm 0:9b334a45a8ff 132 B .
bogdanm 0:9b334a45a8ff 133 ENDP
bogdanm 0:9b334a45a8ff 134 BusFault_Handler\
bogdanm 0:9b334a45a8ff 135 PROC
bogdanm 0:9b334a45a8ff 136 EXPORT BusFault_Handler [WEAK]
bogdanm 0:9b334a45a8ff 137 B .
bogdanm 0:9b334a45a8ff 138 ENDP
bogdanm 0:9b334a45a8ff 139 UsageFault_Handler\
bogdanm 0:9b334a45a8ff 140 PROC
bogdanm 0:9b334a45a8ff 141 EXPORT UsageFault_Handler [WEAK]
bogdanm 0:9b334a45a8ff 142 B .
bogdanm 0:9b334a45a8ff 143 ENDP
bogdanm 0:9b334a45a8ff 144 SVC_Handler PROC
bogdanm 0:9b334a45a8ff 145 EXPORT SVC_Handler [WEAK]
bogdanm 0:9b334a45a8ff 146 B .
bogdanm 0:9b334a45a8ff 147 ENDP
bogdanm 0:9b334a45a8ff 148 DebugMon_Handler\
bogdanm 0:9b334a45a8ff 149 PROC
bogdanm 0:9b334a45a8ff 150 EXPORT DebugMon_Handler [WEAK]
bogdanm 0:9b334a45a8ff 151 B .
bogdanm 0:9b334a45a8ff 152 ENDP
bogdanm 0:9b334a45a8ff 153 PendSV_Handler PROC
bogdanm 0:9b334a45a8ff 154 EXPORT PendSV_Handler [WEAK]
bogdanm 0:9b334a45a8ff 155 B .
bogdanm 0:9b334a45a8ff 156 ENDP
bogdanm 0:9b334a45a8ff 157 SysTick_Handler PROC
bogdanm 0:9b334a45a8ff 158 EXPORT SysTick_Handler [WEAK]
bogdanm 0:9b334a45a8ff 159 B .
bogdanm 0:9b334a45a8ff 160 ENDP
bogdanm 0:9b334a45a8ff 161
bogdanm 0:9b334a45a8ff 162 Default_Handler PROC
bogdanm 0:9b334a45a8ff 163
bogdanm 0:9b334a45a8ff 164 EXPORT WDT_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 165 EXPORT TIMER0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 166 EXPORT TIMER1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 167 EXPORT TIMER2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 168 EXPORT TIMER3_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 169 EXPORT UART0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 170 EXPORT UART1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 171 EXPORT UART2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 172 EXPORT UART3_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 173 EXPORT PWM1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 174 EXPORT I2C0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 175 EXPORT I2C1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 176 EXPORT I2C2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 177 ;EXPORT SPIFI_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 178 EXPORT SSP0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 179 EXPORT SSP1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 180 EXPORT PLL0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 181 EXPORT RTC_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 182 EXPORT EINT0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 183 EXPORT EINT1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 184 EXPORT EINT2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 185 EXPORT EINT3_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 186 EXPORT ADC_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 187 EXPORT BOD_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 188 EXPORT USB_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 189 EXPORT CAN_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 190 EXPORT DMA_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 191 EXPORT I2S_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 192 EXPORT ENET_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 193 EXPORT MCI_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 194 EXPORT MCPWM_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 195 EXPORT QEI_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 196 EXPORT PLL1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 197 EXPORT USBActivity_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 198 EXPORT CANActivity_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 199 EXPORT UART4_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 200 EXPORT SSP2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 201 EXPORT LCD_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 202 EXPORT GPIO_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 203 EXPORT PWM0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 204 EXPORT EEPROM_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 205
bogdanm 0:9b334a45a8ff 206 WDT_IRQHandler
bogdanm 0:9b334a45a8ff 207 TIMER0_IRQHandler
bogdanm 0:9b334a45a8ff 208 TIMER1_IRQHandler
bogdanm 0:9b334a45a8ff 209 TIMER2_IRQHandler
bogdanm 0:9b334a45a8ff 210 TIMER3_IRQHandler
bogdanm 0:9b334a45a8ff 211 UART0_IRQHandler
bogdanm 0:9b334a45a8ff 212 UART1_IRQHandler
bogdanm 0:9b334a45a8ff 213 UART2_IRQHandler
bogdanm 0:9b334a45a8ff 214 UART3_IRQHandler
bogdanm 0:9b334a45a8ff 215 PWM1_IRQHandler
bogdanm 0:9b334a45a8ff 216 I2C0_IRQHandler
bogdanm 0:9b334a45a8ff 217 I2C1_IRQHandler
bogdanm 0:9b334a45a8ff 218 I2C2_IRQHandler
bogdanm 0:9b334a45a8ff 219 ;SPIFI_IRQHandler ;not used
bogdanm 0:9b334a45a8ff 220 SSP0_IRQHandler
bogdanm 0:9b334a45a8ff 221 SSP1_IRQHandler
bogdanm 0:9b334a45a8ff 222 PLL0_IRQHandler
bogdanm 0:9b334a45a8ff 223 RTC_IRQHandler
bogdanm 0:9b334a45a8ff 224 EINT0_IRQHandler
bogdanm 0:9b334a45a8ff 225 EINT1_IRQHandler
bogdanm 0:9b334a45a8ff 226 EINT2_IRQHandler
bogdanm 0:9b334a45a8ff 227 EINT3_IRQHandler
bogdanm 0:9b334a45a8ff 228 ADC_IRQHandler
bogdanm 0:9b334a45a8ff 229 BOD_IRQHandler
bogdanm 0:9b334a45a8ff 230 USB_IRQHandler
bogdanm 0:9b334a45a8ff 231 CAN_IRQHandler
bogdanm 0:9b334a45a8ff 232 DMA_IRQHandler
bogdanm 0:9b334a45a8ff 233 I2S_IRQHandler
bogdanm 0:9b334a45a8ff 234 ENET_IRQHandler
bogdanm 0:9b334a45a8ff 235 MCI_IRQHandler
bogdanm 0:9b334a45a8ff 236 MCPWM_IRQHandler
bogdanm 0:9b334a45a8ff 237 QEI_IRQHandler
bogdanm 0:9b334a45a8ff 238 PLL1_IRQHandler
bogdanm 0:9b334a45a8ff 239 USBActivity_IRQHandler
bogdanm 0:9b334a45a8ff 240 CANActivity_IRQHandler
bogdanm 0:9b334a45a8ff 241 UART4_IRQHandler
bogdanm 0:9b334a45a8ff 242 SSP2_IRQHandler
bogdanm 0:9b334a45a8ff 243 LCD_IRQHandler
bogdanm 0:9b334a45a8ff 244 GPIO_IRQHandler
bogdanm 0:9b334a45a8ff 245 PWM0_IRQHandler
bogdanm 0:9b334a45a8ff 246 EEPROM_IRQHandler
bogdanm 0:9b334a45a8ff 247
bogdanm 0:9b334a45a8ff 248 B .
bogdanm 0:9b334a45a8ff 249
bogdanm 0:9b334a45a8ff 250 ENDP
bogdanm 0:9b334a45a8ff 251
bogdanm 0:9b334a45a8ff 252
bogdanm 0:9b334a45a8ff 253 ALIGN
bogdanm 0:9b334a45a8ff 254 END