]> git.gir.st - tmk_keyboard.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC43XX/TOOLCHAIN_ARM_STD/TARGET_LPC4330/startup_LPC43xx.s
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[tmk_keyboard.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_NXP / TARGET_LPC43XX / TOOLCHAIN_ARM_STD / TARGET_LPC4330 / startup_LPC43xx.s
1 ;/***********************************************************************
2 ; * @brief: LPC18xx/43xx M3/M4 startup code
3 ; *
4 ; * @note
5 ; * Copyright(C) NXP Semiconductors, 2012
6 ; * All rights reserved.
7 ; *
8 ; * @par
9 ; * Software that is described herein is for illustrative purposes only
10 ; * which provides customers with programming information regarding the
11 ; * LPC products. This software is supplied "AS IS" without any warranties of
12 ; * any kind, and NXP Semiconductors and its licensor disclaim any and
13 ; * all warranties, express or implied, including all implied warranties of
14 ; * merchantability, fitness for a particular purpose and non-infringement of
15 ; * intellectual property rights. NXP Semiconductors assumes no responsibility
16 ; * or liability for the use of the software, conveys no license or rights under any
17 ; * patent, copyright, mask work right, or any other intellectual property rights in
18 ; * or to any products. NXP Semiconductors reserves the right to make changes
19 ; * in the software without notification. NXP Semiconductors also makes no
20 ; * representation or warranty that such application will be suitable for the
21 ; * specified use without further testing or modification.
22 ; *
23 ; * @par
24 ; * Permission to use, copy, modify, and distribute this software and its
25 ; * documentation is hereby granted, under NXP Semiconductors' and its
26 ; * licensor's relevant copyrights in the software, without fee, provided that it
27 ; * is used in conjunction with NXP Semiconductors microcontrollers. This
28 ; * copyright, permission, and disclaimer notice must appear in all copies of
29 ; * this code.
30 ; */
31
32 ; __initial_sp EQU 0x10020000 ; Top of first RAM segment for LPC43XX (IRAM1)
33 __initial_sp EQU 0x10092000 ; Top of first RAM segment for LPC43XX (IRAM2)
34
35 PRESERVE8
36 THUMB
37
38 ; Vector Table Mapped to Address 0 at Reset
39
40 AREA RESET, DATA, READONLY
41 EXPORT __Vectors
42
43 Sign_Value EQU 0x5A5A5A5A
44
45 __Vectors DCD __initial_sp ; 0 Top of Stack
46 DCD Reset_Handler ; 1 Reset Handler
47 DCD NMI_Handler ; 2 NMI Handler
48 DCD HardFault_Handler ; 3 Hard Fault Handler
49 DCD MemManage_Handler ; 4 MPU Fault Handler
50 DCD BusFault_Handler ; 5 Bus Fault Handler
51 DCD UsageFault_Handler ; 6 Usage Fault Handler
52 DCD Sign_Value ; 7 Reserved
53 DCD UnHandled_Vector ; 8 Reserved
54 DCD UnHandled_Vector ; 9 Reserved
55 DCD UnHandled_Vector ; 10 Reserved
56 DCD SVC_Handler ; 11 SVCall Handler
57 DCD DebugMon_Handler ; 12 Debug Monitor Handler
58 DCD UnHandled_Vector ; 13 Reserved
59 DCD PendSV_Handler ; 14 PendSV Handler
60 DCD SysTick_Handler ; 15 SysTick Handler
61
62 ; External Interrupts
63 DCD DAC_IRQHandler ; 16 D/A Converter
64 DCD MX_CORE_IRQHandler ; 17 M0/M4 IRQ handler (LPC43XX ONLY)
65 DCD DMA_IRQHandler ; 18 General Purpose DMA
66 DCD UnHandled_Vector ; 19 Reserved
67 DCD FLASHEEPROM_IRQHandler ; 20 ORed flash bank A, flash bank B, EEPROM interrupts
68 DCD ETH_IRQHandler ; 21 Ethernet
69 DCD SDIO_IRQHandler ; 22 SD/MMC
70 DCD LCD_IRQHandler ; 23 LCD
71 DCD USB0_IRQHandler ; 24 USB0
72 DCD USB1_IRQHandler ; 25 USB1
73 DCD SCT_IRQHandler ; 26 State Configurable Timer
74 DCD RIT_IRQHandler ; 27 Repetitive Interrupt Timer
75 DCD TIMER0_IRQHandler ; 28 Timer0
76 DCD TIMER1_IRQHandler ; 29 Timer1
77 DCD TIMER2_IRQHandler ; 30 Timer2
78 DCD TIMER3_IRQHandler ; 31 Timer3
79 DCD MCPWM_IRQHandler ; 32 Motor Control PWM
80 DCD ADC0_IRQHandler ; 33 A/D Converter 0
81 DCD I2C0_IRQHandler ; 34 I2C0
82 DCD I2C1_IRQHandler ; 35 I2C1
83 DCD SPI_IRQHandler ; 36 SPI (LPC43XX ONLY)
84 DCD ADC1_IRQHandler ; 37 A/D Converter 1
85 DCD SSP0_IRQHandler ; 38 SSP0
86 DCD SSP1_IRQHandler ; 39 SSP1
87 DCD UART0_IRQHandler ; 40 UART0
88 DCD UART1_IRQHandler ; 41 UART1
89 DCD UART2_IRQHandler ; 42 UART2
90 DCD UART3_IRQHandler ; 43 UART3
91 DCD I2S0_IRQHandler ; 44 I2S0
92 DCD I2S1_IRQHandler ; 45 I2S1
93 DCD SPIFI_IRQHandler ; 46 SPI Flash Interface
94 DCD SGPIO_IRQHandler ; 47 SGPIO (LPC43XX ONLY)
95 DCD GPIO0_IRQHandler ; 48 GPIO0
96 DCD GPIO1_IRQHandler ; 49 GPIO1
97 DCD GPIO2_IRQHandler ; 50 GPIO2
98 DCD GPIO3_IRQHandler ; 51 GPIO3
99 DCD GPIO4_IRQHandler ; 52 GPIO4
100 DCD GPIO5_IRQHandler ; 53 GPIO5
101 DCD GPIO6_IRQHandler ; 54 GPIO6
102 DCD GPIO7_IRQHandler ; 55 GPIO7
103 DCD GINT0_IRQHandler ; 56 GINT0
104 DCD GINT1_IRQHandler ; 57 GINT1
105 DCD EVRT_IRQHandler ; 58 Event Router
106 DCD CAN1_IRQHandler ; 59 C_CAN1
107 DCD UnHandled_Vector ; 60 Reserved
108 DCD VADC_IRQHandler ; 61 VADC
109 DCD ATIMER_IRQHandler ; 62 ATIMER
110 DCD RTC_IRQHandler ; 63 RTC
111 DCD UnHandled_Vector ; 64 Reserved
112 DCD WDT_IRQHandler ; 65 WDT
113 DCD UnHandled_Vector ; 66 M0s
114 DCD CAN0_IRQHandler ; 67 C_CAN0
115 DCD QEI_IRQHandler ; 68 QEI
116
117
118 ; IF :LNOT::DEF:NO_CRP
119 ; AREA |.ARM.__at_0x02FC|, CODE, READONLY
120 ;CRP_Key DCD 0xFFFFFFFF
121 ; ENDIF
122
123 AREA |.text|, CODE, READONLY
124
125
126 ; Reset Handler
127
128 Reset_Handler PROC
129 EXPORT Reset_Handler [WEAK]
130 IMPORT SystemInit
131 IMPORT __main
132 LDR R0, =SystemInit
133 BLX R0
134 LDR R0, =__main
135 BX R0
136 ENDP
137
138
139 ; Dummy Exception Handlers (infinite loops which can be modified)
140
141 NMI_Handler PROC
142 EXPORT NMI_Handler [WEAK]
143 B .
144 ENDP
145 HardFault_Handler\
146 PROC
147 EXPORT HardFault_Handler [WEAK]
148 B .
149 ENDP
150 MemManage_Handler\
151 PROC
152 EXPORT MemManage_Handler [WEAK]
153 B .
154 ENDP
155 BusFault_Handler\
156 PROC
157 EXPORT BusFault_Handler [WEAK]
158 B .
159 ENDP
160 UsageFault_Handler\
161 PROC
162 EXPORT UsageFault_Handler [WEAK]
163 B .
164 ENDP
165 SVC_Handler PROC
166 EXPORT SVC_Handler [WEAK]
167 B .
168 ENDP
169 DebugMon_Handler\
170 PROC
171 EXPORT DebugMon_Handler [WEAK]
172 B .
173 ENDP
174 PendSV_Handler PROC
175 EXPORT PendSV_Handler [WEAK]
176 B .
177 ENDP
178 SysTick_Handler PROC
179 EXPORT SysTick_Handler [WEAK]
180 B .
181 ENDP
182 UnHandled_Vector PROC
183 EXPORT UnHandled_Vector [WEAK]
184 B .
185 ENDP
186
187 Default_Handler PROC
188
189 EXPORT DAC_IRQHandler [WEAK]
190 EXPORT MX_CORE_IRQHandler [WEAK]
191 EXPORT DMA_IRQHandler [WEAK]
192 EXPORT FLASHEEPROM_IRQHandler [WEAK]
193 EXPORT ETH_IRQHandler [WEAK]
194 EXPORT SDIO_IRQHandler [WEAK]
195 EXPORT LCD_IRQHandler [WEAK]
196 EXPORT USB0_IRQHandler [WEAK]
197 EXPORT USB1_IRQHandler [WEAK]
198 EXPORT SCT_IRQHandler [WEAK]
199 EXPORT RIT_IRQHandler [WEAK]
200 EXPORT TIMER0_IRQHandler [WEAK]
201 EXPORT TIMER1_IRQHandler [WEAK]
202 EXPORT TIMER2_IRQHandler [WEAK]
203 EXPORT TIMER3_IRQHandler [WEAK]
204 EXPORT MCPWM_IRQHandler [WEAK]
205 EXPORT ADC0_IRQHandler [WEAK]
206 EXPORT I2C0_IRQHandler [WEAK]
207 EXPORT I2C1_IRQHandler [WEAK]
208 EXPORT SPI_IRQHandler [WEAK]
209 EXPORT ADC1_IRQHandler [WEAK]
210 EXPORT SSP0_IRQHandler [WEAK]
211 EXPORT SSP1_IRQHandler [WEAK]
212 EXPORT UART0_IRQHandler [WEAK]
213 EXPORT UART1_IRQHandler [WEAK]
214 EXPORT UART2_IRQHandler [WEAK]
215 EXPORT UART3_IRQHandler [WEAK]
216 EXPORT I2S0_IRQHandler [WEAK]
217 EXPORT I2S1_IRQHandler [WEAK]
218 EXPORT SPIFI_IRQHandler [WEAK]
219 EXPORT SGPIO_IRQHandler [WEAK]
220 EXPORT GPIO0_IRQHandler [WEAK]
221 EXPORT GPIO1_IRQHandler [WEAK]
222 EXPORT GPIO2_IRQHandler [WEAK]
223 EXPORT GPIO3_IRQHandler [WEAK]
224 EXPORT GPIO4_IRQHandler [WEAK]
225 EXPORT GPIO5_IRQHandler [WEAK]
226 EXPORT GPIO6_IRQHandler [WEAK]
227 EXPORT GPIO7_IRQHandler [WEAK]
228 EXPORT GINT0_IRQHandler [WEAK]
229 EXPORT GINT1_IRQHandler [WEAK]
230 EXPORT EVRT_IRQHandler [WEAK]
231 EXPORT CAN1_IRQHandler [WEAK]
232 EXPORT VADC_IRQHandler [WEAK]
233 EXPORT ATIMER_IRQHandler [WEAK]
234 EXPORT RTC_IRQHandler [WEAK]
235 EXPORT WDT_IRQHandler [WEAK]
236 EXPORT CAN0_IRQHandler [WEAK]
237 EXPORT QEI_IRQHandler [WEAK]
238
239 DAC_IRQHandler
240 MX_CORE_IRQHandler
241 DMA_IRQHandler
242 FLASHEEPROM_IRQHandler
243 ETH_IRQHandler
244 SDIO_IRQHandler
245 LCD_IRQHandler
246 USB0_IRQHandler
247 USB1_IRQHandler
248 SCT_IRQHandler
249 RIT_IRQHandler
250 TIMER0_IRQHandler
251 TIMER1_IRQHandler
252 TIMER2_IRQHandler
253 TIMER3_IRQHandler
254 MCPWM_IRQHandler
255 ADC0_IRQHandler
256 I2C0_IRQHandler
257 I2C1_IRQHandler
258 SPI_IRQHandler
259 ADC1_IRQHandler
260 SSP0_IRQHandler
261 SSP1_IRQHandler
262 UART0_IRQHandler
263 UART1_IRQHandler
264 UART2_IRQHandler
265 UART3_IRQHandler
266 I2S0_IRQHandler
267 I2S1_IRQHandler
268 SPIFI_IRQHandler
269 SGPIO_IRQHandler
270 GPIO0_IRQHandler
271 GPIO1_IRQHandler
272 GPIO2_IRQHandler
273 GPIO3_IRQHandler
274 GPIO4_IRQHandler
275 GPIO5_IRQHandler
276 GPIO6_IRQHandler
277 GPIO7_IRQHandler
278 GINT0_IRQHandler
279 GINT1_IRQHandler
280 EVRT_IRQHandler
281 CAN1_IRQHandler
282 VADC_IRQHandler
283 ATIMER_IRQHandler
284 RTC_IRQHandler
285 WDT_IRQHandler
286 CAN0_IRQHandler
287 QEI_IRQHandler
288
289 B .
290
291 ENDP
292
293 ALIGN
294 END
Imprint / Impressum