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