diff options
Diffstat (limited to 'lib/chibios-contrib/ext/mcux-sdk/devices/LPC5528/gcc/startup_LPC5528.S')
-rw-r--r-- | lib/chibios-contrib/ext/mcux-sdk/devices/LPC5528/gcc/startup_LPC5528.S | 875 |
1 files changed, 875 insertions, 0 deletions
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC5528/gcc/startup_LPC5528.S b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC5528/gcc/startup_LPC5528.S new file mode 100644 index 000000000..7352b250a --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC5528/gcc/startup_LPC5528.S | |||
@@ -0,0 +1,875 @@ | |||
1 | /* --------------------------------------------------------------------------*/ | ||
2 | /* @file: startup_LPC5528.s */ | ||
3 | /* @purpose: CMSIS Cortex-M33 Core Device Startup File */ | ||
4 | /* LPC5528 */ | ||
5 | /* @version: 1.1 */ | ||
6 | /* @date: 2019-5-16 */ | ||
7 | /* --------------------------------------------------------------------------*/ | ||
8 | /* */ | ||
9 | /* Copyright 1997-2016 Freescale Semiconductor, Inc. */ | ||
10 | /* Copyright 2016-2019 NXP */ | ||
11 | /* All rights reserved. */ | ||
12 | /* */ | ||
13 | /* SPDX-License-Identifier: BSD-3-Clause */ | ||
14 | /*****************************************************************************/ | ||
15 | /* Version: GCC for ARM Embedded Processors */ | ||
16 | /*****************************************************************************/ | ||
17 | |||
18 | |||
19 | .syntax unified | ||
20 | .arch armv8-m.main | ||
21 | |||
22 | .section .isr_vector, "a" | ||
23 | .align 2 | ||
24 | .globl __Vectors | ||
25 | __Vectors: | ||
26 | .long __StackTop /* Top of Stack */ | ||
27 | .long Reset_Handler /* Reset Handler */ | ||
28 | .long NMI_Handler /* NMI Handler*/ | ||
29 | .long HardFault_Handler /* Hard Fault Handler*/ | ||
30 | .long MemManage_Handler /* MPU Fault Handler*/ | ||
31 | .long BusFault_Handler /* Bus Fault Handler*/ | ||
32 | .long UsageFault_Handler /* Usage Fault Handler*/ | ||
33 | .long SecureFault_Handler /* Secure Fault Handler*/ | ||
34 | .long 0 /* Reserved*/ | ||
35 | .long 0 /* Reserved*/ | ||
36 | .long 0 /* Reserved*/ | ||
37 | .long SVC_Handler /* SVCall Handler*/ | ||
38 | .long DebugMon_Handler /* Debug Monitor Handler*/ | ||
39 | .long 0 /* Reserved*/ | ||
40 | .long PendSV_Handler /* PendSV Handler*/ | ||
41 | .long SysTick_Handler /* SysTick Handler*/ | ||
42 | |||
43 | /* External Interrupts */ | ||
44 | .long WDT_BOD_IRQHandler /* Windowed watchdog timer, Brownout detect, Flash interrupt */ | ||
45 | .long DMA0_IRQHandler /* DMA0 controller */ | ||
46 | .long GINT0_IRQHandler /* GPIO group 0 */ | ||
47 | .long GINT1_IRQHandler /* GPIO group 1 */ | ||
48 | .long PIN_INT0_IRQHandler /* Pin interrupt 0 or pattern match engine slice 0 */ | ||
49 | .long PIN_INT1_IRQHandler /* Pin interrupt 1or pattern match engine slice 1 */ | ||
50 | .long PIN_INT2_IRQHandler /* Pin interrupt 2 or pattern match engine slice 2 */ | ||
51 | .long PIN_INT3_IRQHandler /* Pin interrupt 3 or pattern match engine slice 3 */ | ||
52 | .long UTICK0_IRQHandler /* Micro-tick Timer */ | ||
53 | .long MRT0_IRQHandler /* Multi-rate timer */ | ||
54 | .long CTIMER0_IRQHandler /* Standard counter/timer CTIMER0 */ | ||
55 | .long CTIMER1_IRQHandler /* Standard counter/timer CTIMER1 */ | ||
56 | .long SCT0_IRQHandler /* SCTimer/PWM */ | ||
57 | .long CTIMER3_IRQHandler /* Standard counter/timer CTIMER3 */ | ||
58 | .long FLEXCOMM0_IRQHandler /* Flexcomm Interface 0 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
59 | .long FLEXCOMM1_IRQHandler /* Flexcomm Interface 1 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
60 | .long FLEXCOMM2_IRQHandler /* Flexcomm Interface 2 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
61 | .long FLEXCOMM3_IRQHandler /* Flexcomm Interface 3 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
62 | .long FLEXCOMM4_IRQHandler /* Flexcomm Interface 4 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
63 | .long FLEXCOMM5_IRQHandler /* Flexcomm Interface 5 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
64 | .long FLEXCOMM6_IRQHandler /* Flexcomm Interface 6 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
65 | .long FLEXCOMM7_IRQHandler /* Flexcomm Interface 7 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
66 | .long ADC0_IRQHandler /* ADC0 */ | ||
67 | .long Reserved39_IRQHandler /* Reserved interrupt */ | ||
68 | .long ACMP_IRQHandler /* ACMP interrupts */ | ||
69 | .long Reserved41_IRQHandler /* Reserved interrupt */ | ||
70 | .long Reserved42_IRQHandler /* Reserved interrupt */ | ||
71 | .long USB0_NEEDCLK_IRQHandler /* USB Activity Wake-up Interrupt */ | ||
72 | .long USB0_IRQHandler /* USB device */ | ||
73 | .long RTC_IRQHandler /* RTC alarm and wake-up interrupts */ | ||
74 | .long Reserved46_IRQHandler /* Reserved interrupt */ | ||
75 | .long Reserved47_IRQHandler /* Reserved interrupt */ | ||
76 | .long PIN_INT4_IRQHandler /* Pin interrupt 4 or pattern match engine slice 4 int */ | ||
77 | .long PIN_INT5_IRQHandler /* Pin interrupt 5 or pattern match engine slice 5 int */ | ||
78 | .long PIN_INT6_IRQHandler /* Pin interrupt 6 or pattern match engine slice 6 int */ | ||
79 | .long PIN_INT7_IRQHandler /* Pin interrupt 7 or pattern match engine slice 7 int */ | ||
80 | .long CTIMER2_IRQHandler /* Standard counter/timer CTIMER2 */ | ||
81 | .long CTIMER4_IRQHandler /* Standard counter/timer CTIMER4 */ | ||
82 | .long OS_EVENT_IRQHandler /* OSEVTIMER0 and OSEVTIMER0_WAKEUP interrupts */ | ||
83 | .long Reserved55_IRQHandler /* Reserved interrupt */ | ||
84 | .long Reserved56_IRQHandler /* Reserved interrupt */ | ||
85 | .long Reserved57_IRQHandler /* Reserved interrupt */ | ||
86 | .long SDIO_IRQHandler /* SD/MMC */ | ||
87 | .long Reserved59_IRQHandler /* Reserved interrupt */ | ||
88 | .long Reserved60_IRQHandler /* Reserved interrupt */ | ||
89 | .long Reserved61_IRQHandler /* Reserved interrupt */ | ||
90 | .long USB1_PHY_IRQHandler /* USB1_PHY */ | ||
91 | .long USB1_IRQHandler /* USB1 interrupt */ | ||
92 | .long USB1_NEEDCLK_IRQHandler /* USB1 activity */ | ||
93 | .long SEC_HYPERVISOR_CALL_IRQHandler /* SEC_HYPERVISOR_CALL interrupt */ | ||
94 | .long SEC_GPIO_INT0_IRQ0_IRQHandler /* SEC_GPIO_INT0_IRQ0 interrupt */ | ||
95 | .long SEC_GPIO_INT0_IRQ1_IRQHandler /* SEC_GPIO_INT0_IRQ1 interrupt */ | ||
96 | .long PLU_IRQHandler /* PLU interrupt */ | ||
97 | .long SEC_VIO_IRQHandler /* SEC_VIO interrupt */ | ||
98 | .long Reserved70_IRQHandler /* Reserved interrupt */ | ||
99 | .long CASER_IRQHandler /* CASPER interrupt */ | ||
100 | .long Reserved72_IRQHandler /* Reserved interrupt */ | ||
101 | .long PQ_IRQHandler /* PQ interrupt */ | ||
102 | .long DMA1_IRQHandler /* DMA1 interrupt */ | ||
103 | .long FLEXCOMM8_IRQHandler /* Flexcomm Interface 8 (SPI, , FLEXCOMM) */ | ||
104 | |||
105 | .size __Vectors, . - __Vectors | ||
106 | |||
107 | .text | ||
108 | .thumb | ||
109 | |||
110 | /* Reset Handler */ | ||
111 | .thumb_func | ||
112 | .align 2 | ||
113 | .globl Reset_Handler | ||
114 | .weak Reset_Handler | ||
115 | .type Reset_Handler, %function | ||
116 | Reset_Handler: | ||
117 | #ifndef __NO_SYSTEM_INIT | ||
118 | ldr r0,=SystemInit | ||
119 | blx r0 | ||
120 | #endif | ||
121 | /* Loop to copy data from read only memory to RAM. The ranges | ||
122 | * of copy from/to are specified by following symbols evaluated in | ||
123 | * linker script. | ||
124 | * __etext: End of code section, i.e., begin of data sections to copy from. | ||
125 | * __data_start__/__data_end__: RAM address range that data should be | ||
126 | * copied to. Both must be aligned to 4 bytes boundary. */ | ||
127 | |||
128 | ldr r1, =__etext | ||
129 | ldr r2, =__data_start__ | ||
130 | ldr r3, =__data_end__ | ||
131 | |||
132 | #if 1 | ||
133 | /* Here are two copies of loop implemenations. First one favors code size | ||
134 | * and the second one favors performance. Default uses the first one. | ||
135 | * Change to "#if 0" to use the second one */ | ||
136 | .LC0: | ||
137 | cmp r2, r3 | ||
138 | ittt lt | ||
139 | ldrlt r0, [r1], #4 | ||
140 | strlt r0, [r2], #4 | ||
141 | blt .LC0 | ||
142 | #else | ||
143 | subs r3, r2 | ||
144 | ble .LC1 | ||
145 | .LC0: | ||
146 | subs r3, #4 | ||
147 | ldr r0, [r1, r3] | ||
148 | str r0, [r2, r3] | ||
149 | bgt .LC0 | ||
150 | .LC1: | ||
151 | #endif | ||
152 | |||
153 | #ifdef __STARTUP_CLEAR_BSS | ||
154 | /* This part of work usually is done in C library startup code. Otherwise, | ||
155 | * define this macro to enable it in this startup. | ||
156 | * | ||
157 | * Loop to zero out BSS section, which uses following symbols | ||
158 | * in linker script: | ||
159 | * __bss_start__: start of BSS section. Must align to 4 | ||
160 | * __bss_end__: end of BSS section. Must align to 4 | ||
161 | */ | ||
162 | ldr r1, =__bss_start__ | ||
163 | ldr r2, =__bss_end__ | ||
164 | |||
165 | movs r0, 0 | ||
166 | .LC2: | ||
167 | cmp r1, r2 | ||
168 | itt lt | ||
169 | strlt r0, [r1], #4 | ||
170 | blt .LC2 | ||
171 | #endif /* __STARTUP_CLEAR_BSS */ | ||
172 | |||
173 | /* Add stack / heap initializaiton */ | ||
174 | movs r0, 0 | ||
175 | ldr r1, =__HeapBase | ||
176 | ldr r2, =__HeapLimit | ||
177 | .LC3: | ||
178 | cmp r1, r2 | ||
179 | itt lt | ||
180 | strlt r0, [r1], #4 | ||
181 | blt .LC3 | ||
182 | |||
183 | ldr r1, =__StackLimit | ||
184 | ldr r2, =__StackTop | ||
185 | .LC4: | ||
186 | cmp r1, r2 | ||
187 | itt lt | ||
188 | strlt r0, [r1], #4 | ||
189 | blt .LC4 | ||
190 | /*End of stack / heap initializaiton */ | ||
191 | cpsie i /* Unmask interrupts */ | ||
192 | |||
193 | #ifndef __START | ||
194 | #define __START _start | ||
195 | #endif | ||
196 | #ifndef __ATOLLIC__ | ||
197 | ldr r0,=__START | ||
198 | blx r0 | ||
199 | #else | ||
200 | ldr r0,=__libc_init_array | ||
201 | blx r0 | ||
202 | ldr r0,=main | ||
203 | bx r0 | ||
204 | #endif | ||
205 | .pool | ||
206 | .size Reset_Handler, . - Reset_Handler | ||
207 | |||
208 | .align 1 | ||
209 | .thumb_func | ||
210 | .weak DefaultISR | ||
211 | .type DefaultISR, %function | ||
212 | DefaultISR: | ||
213 | b DefaultISR | ||
214 | .size DefaultISR, . - DefaultISR | ||
215 | |||
216 | .align 1 | ||
217 | .thumb_func | ||
218 | .weak NMI_Handler | ||
219 | .type NMI_Handler, %function | ||
220 | NMI_Handler: | ||
221 | ldr r0,=NMI_Handler | ||
222 | bx r0 | ||
223 | .size NMI_Handler, . - NMI_Handler | ||
224 | |||
225 | .align 1 | ||
226 | .thumb_func | ||
227 | .weak HardFault_Handler | ||
228 | .type HardFault_Handler, %function | ||
229 | HardFault_Handler: | ||
230 | ldr r0,=HardFault_Handler | ||
231 | bx r0 | ||
232 | .size HardFault_Handler, . - HardFault_Handler | ||
233 | |||
234 | .align 1 | ||
235 | .thumb_func | ||
236 | .weak SVC_Handler | ||
237 | .type SVC_Handler, %function | ||
238 | SVC_Handler: | ||
239 | ldr r0,=SVC_Handler | ||
240 | bx r0 | ||
241 | .size SVC_Handler, . - SVC_Handler | ||
242 | |||
243 | .align 1 | ||
244 | .thumb_func | ||
245 | .weak PendSV_Handler | ||
246 | .type PendSV_Handler, %function | ||
247 | PendSV_Handler: | ||
248 | ldr r0,=PendSV_Handler | ||
249 | bx r0 | ||
250 | .size PendSV_Handler, . - PendSV_Handler | ||
251 | |||
252 | .align 1 | ||
253 | .thumb_func | ||
254 | .weak SysTick_Handler | ||
255 | .type SysTick_Handler, %function | ||
256 | SysTick_Handler: | ||
257 | ldr r0,=SysTick_Handler | ||
258 | bx r0 | ||
259 | .size SysTick_Handler, . - SysTick_Handler | ||
260 | |||
261 | .align 1 | ||
262 | .thumb_func | ||
263 | .weak WDT_BOD_IRQHandler | ||
264 | .type WDT_BOD_IRQHandler, %function | ||
265 | WDT_BOD_IRQHandler: | ||
266 | ldr r0,=WDT_BOD_DriverIRQHandler | ||
267 | bx r0 | ||
268 | .size WDT_BOD_IRQHandler, . - WDT_BOD_IRQHandler | ||
269 | |||
270 | .align 1 | ||
271 | .thumb_func | ||
272 | .weak DMA0_IRQHandler | ||
273 | .type DMA0_IRQHandler, %function | ||
274 | DMA0_IRQHandler: | ||
275 | ldr r0,=DMA0_DriverIRQHandler | ||
276 | bx r0 | ||
277 | .size DMA0_IRQHandler, . - DMA0_IRQHandler | ||
278 | |||
279 | .align 1 | ||
280 | .thumb_func | ||
281 | .weak GINT0_IRQHandler | ||
282 | .type GINT0_IRQHandler, %function | ||
283 | GINT0_IRQHandler: | ||
284 | ldr r0,=GINT0_DriverIRQHandler | ||
285 | bx r0 | ||
286 | .size GINT0_IRQHandler, . - GINT0_IRQHandler | ||
287 | |||
288 | .align 1 | ||
289 | .thumb_func | ||
290 | .weak GINT1_IRQHandler | ||
291 | .type GINT1_IRQHandler, %function | ||
292 | GINT1_IRQHandler: | ||
293 | ldr r0,=GINT1_DriverIRQHandler | ||
294 | bx r0 | ||
295 | .size GINT1_IRQHandler, . - GINT1_IRQHandler | ||
296 | |||
297 | .align 1 | ||
298 | .thumb_func | ||
299 | .weak PIN_INT0_IRQHandler | ||
300 | .type PIN_INT0_IRQHandler, %function | ||
301 | PIN_INT0_IRQHandler: | ||
302 | ldr r0,=PIN_INT0_DriverIRQHandler | ||
303 | bx r0 | ||
304 | .size PIN_INT0_IRQHandler, . - PIN_INT0_IRQHandler | ||
305 | |||
306 | .align 1 | ||
307 | .thumb_func | ||
308 | .weak PIN_INT1_IRQHandler | ||
309 | .type PIN_INT1_IRQHandler, %function | ||
310 | PIN_INT1_IRQHandler: | ||
311 | ldr r0,=PIN_INT1_DriverIRQHandler | ||
312 | bx r0 | ||
313 | .size PIN_INT1_IRQHandler, . - PIN_INT1_IRQHandler | ||
314 | |||
315 | .align 1 | ||
316 | .thumb_func | ||
317 | .weak PIN_INT2_IRQHandler | ||
318 | .type PIN_INT2_IRQHandler, %function | ||
319 | PIN_INT2_IRQHandler: | ||
320 | ldr r0,=PIN_INT2_DriverIRQHandler | ||
321 | bx r0 | ||
322 | .size PIN_INT2_IRQHandler, . - PIN_INT2_IRQHandler | ||
323 | |||
324 | .align 1 | ||
325 | .thumb_func | ||
326 | .weak PIN_INT3_IRQHandler | ||
327 | .type PIN_INT3_IRQHandler, %function | ||
328 | PIN_INT3_IRQHandler: | ||
329 | ldr r0,=PIN_INT3_DriverIRQHandler | ||
330 | bx r0 | ||
331 | .size PIN_INT3_IRQHandler, . - PIN_INT3_IRQHandler | ||
332 | |||
333 | .align 1 | ||
334 | .thumb_func | ||
335 | .weak UTICK0_IRQHandler | ||
336 | .type UTICK0_IRQHandler, %function | ||
337 | UTICK0_IRQHandler: | ||
338 | ldr r0,=UTICK0_DriverIRQHandler | ||
339 | bx r0 | ||
340 | .size UTICK0_IRQHandler, . - UTICK0_IRQHandler | ||
341 | |||
342 | .align 1 | ||
343 | .thumb_func | ||
344 | .weak MRT0_IRQHandler | ||
345 | .type MRT0_IRQHandler, %function | ||
346 | MRT0_IRQHandler: | ||
347 | ldr r0,=MRT0_DriverIRQHandler | ||
348 | bx r0 | ||
349 | .size MRT0_IRQHandler, . - MRT0_IRQHandler | ||
350 | |||
351 | .align 1 | ||
352 | .thumb_func | ||
353 | .weak CTIMER0_IRQHandler | ||
354 | .type CTIMER0_IRQHandler, %function | ||
355 | CTIMER0_IRQHandler: | ||
356 | ldr r0,=CTIMER0_DriverIRQHandler | ||
357 | bx r0 | ||
358 | .size CTIMER0_IRQHandler, . - CTIMER0_IRQHandler | ||
359 | |||
360 | .align 1 | ||
361 | .thumb_func | ||
362 | .weak CTIMER1_IRQHandler | ||
363 | .type CTIMER1_IRQHandler, %function | ||
364 | CTIMER1_IRQHandler: | ||
365 | ldr r0,=CTIMER1_DriverIRQHandler | ||
366 | bx r0 | ||
367 | .size CTIMER1_IRQHandler, . - CTIMER1_IRQHandler | ||
368 | |||
369 | .align 1 | ||
370 | .thumb_func | ||
371 | .weak SCT0_IRQHandler | ||
372 | .type SCT0_IRQHandler, %function | ||
373 | SCT0_IRQHandler: | ||
374 | ldr r0,=SCT0_DriverIRQHandler | ||
375 | bx r0 | ||
376 | .size SCT0_IRQHandler, . - SCT0_IRQHandler | ||
377 | |||
378 | .align 1 | ||
379 | .thumb_func | ||
380 | .weak CTIMER3_IRQHandler | ||
381 | .type CTIMER3_IRQHandler, %function | ||
382 | CTIMER3_IRQHandler: | ||
383 | ldr r0,=CTIMER3_DriverIRQHandler | ||
384 | bx r0 | ||
385 | .size CTIMER3_IRQHandler, . - CTIMER3_IRQHandler | ||
386 | |||
387 | .align 1 | ||
388 | .thumb_func | ||
389 | .weak FLEXCOMM0_IRQHandler | ||
390 | .type FLEXCOMM0_IRQHandler, %function | ||
391 | FLEXCOMM0_IRQHandler: | ||
392 | ldr r0,=FLEXCOMM0_DriverIRQHandler | ||
393 | bx r0 | ||
394 | .size FLEXCOMM0_IRQHandler, . - FLEXCOMM0_IRQHandler | ||
395 | |||
396 | .align 1 | ||
397 | .thumb_func | ||
398 | .weak FLEXCOMM1_IRQHandler | ||
399 | .type FLEXCOMM1_IRQHandler, %function | ||
400 | FLEXCOMM1_IRQHandler: | ||
401 | ldr r0,=FLEXCOMM1_DriverIRQHandler | ||
402 | bx r0 | ||
403 | .size FLEXCOMM1_IRQHandler, . - FLEXCOMM1_IRQHandler | ||
404 | |||
405 | .align 1 | ||
406 | .thumb_func | ||
407 | .weak FLEXCOMM2_IRQHandler | ||
408 | .type FLEXCOMM2_IRQHandler, %function | ||
409 | FLEXCOMM2_IRQHandler: | ||
410 | ldr r0,=FLEXCOMM2_DriverIRQHandler | ||
411 | bx r0 | ||
412 | .size FLEXCOMM2_IRQHandler, . - FLEXCOMM2_IRQHandler | ||
413 | |||
414 | .align 1 | ||
415 | .thumb_func | ||
416 | .weak FLEXCOMM3_IRQHandler | ||
417 | .type FLEXCOMM3_IRQHandler, %function | ||
418 | FLEXCOMM3_IRQHandler: | ||
419 | ldr r0,=FLEXCOMM3_DriverIRQHandler | ||
420 | bx r0 | ||
421 | .size FLEXCOMM3_IRQHandler, . - FLEXCOMM3_IRQHandler | ||
422 | |||
423 | .align 1 | ||
424 | .thumb_func | ||
425 | .weak FLEXCOMM4_IRQHandler | ||
426 | .type FLEXCOMM4_IRQHandler, %function | ||
427 | FLEXCOMM4_IRQHandler: | ||
428 | ldr r0,=FLEXCOMM4_DriverIRQHandler | ||
429 | bx r0 | ||
430 | .size FLEXCOMM4_IRQHandler, . - FLEXCOMM4_IRQHandler | ||
431 | |||
432 | .align 1 | ||
433 | .thumb_func | ||
434 | .weak FLEXCOMM5_IRQHandler | ||
435 | .type FLEXCOMM5_IRQHandler, %function | ||
436 | FLEXCOMM5_IRQHandler: | ||
437 | ldr r0,=FLEXCOMM5_DriverIRQHandler | ||
438 | bx r0 | ||
439 | .size FLEXCOMM5_IRQHandler, . - FLEXCOMM5_IRQHandler | ||
440 | |||
441 | .align 1 | ||
442 | .thumb_func | ||
443 | .weak FLEXCOMM6_IRQHandler | ||
444 | .type FLEXCOMM6_IRQHandler, %function | ||
445 | FLEXCOMM6_IRQHandler: | ||
446 | ldr r0,=FLEXCOMM6_DriverIRQHandler | ||
447 | bx r0 | ||
448 | .size FLEXCOMM6_IRQHandler, . - FLEXCOMM6_IRQHandler | ||
449 | |||
450 | .align 1 | ||
451 | .thumb_func | ||
452 | .weak FLEXCOMM7_IRQHandler | ||
453 | .type FLEXCOMM7_IRQHandler, %function | ||
454 | FLEXCOMM7_IRQHandler: | ||
455 | ldr r0,=FLEXCOMM7_DriverIRQHandler | ||
456 | bx r0 | ||
457 | .size FLEXCOMM7_IRQHandler, . - FLEXCOMM7_IRQHandler | ||
458 | |||
459 | .align 1 | ||
460 | .thumb_func | ||
461 | .weak ADC0_IRQHandler | ||
462 | .type ADC0_IRQHandler, %function | ||
463 | ADC0_IRQHandler: | ||
464 | ldr r0,=ADC0_DriverIRQHandler | ||
465 | bx r0 | ||
466 | .size ADC0_IRQHandler, . - ADC0_IRQHandler | ||
467 | |||
468 | .align 1 | ||
469 | .thumb_func | ||
470 | .weak Reserved39_IRQHandler | ||
471 | .type Reserved39_IRQHandler, %function | ||
472 | Reserved39_IRQHandler: | ||
473 | ldr r0,=Reserved39_DriverIRQHandler | ||
474 | bx r0 | ||
475 | .size Reserved39_IRQHandler, . - Reserved39_IRQHandler | ||
476 | |||
477 | .align 1 | ||
478 | .thumb_func | ||
479 | .weak ACMP_IRQHandler | ||
480 | .type ACMP_IRQHandler, %function | ||
481 | ACMP_IRQHandler: | ||
482 | ldr r0,=ACMP_DriverIRQHandler | ||
483 | bx r0 | ||
484 | .size ACMP_IRQHandler, . - ACMP_IRQHandler | ||
485 | |||
486 | .align 1 | ||
487 | .thumb_func | ||
488 | .weak Reserved41_IRQHandler | ||
489 | .type Reserved41_IRQHandler, %function | ||
490 | Reserved41_IRQHandler: | ||
491 | ldr r0,=Reserved41_DriverIRQHandler | ||
492 | bx r0 | ||
493 | .size Reserved41_IRQHandler, . - Reserved41_IRQHandler | ||
494 | |||
495 | .align 1 | ||
496 | .thumb_func | ||
497 | .weak Reserved42_IRQHandler | ||
498 | .type Reserved42_IRQHandler, %function | ||
499 | Reserved42_IRQHandler: | ||
500 | ldr r0,=Reserved42_DriverIRQHandler | ||
501 | bx r0 | ||
502 | .size Reserved42_IRQHandler, . - Reserved42_IRQHandler | ||
503 | |||
504 | .align 1 | ||
505 | .thumb_func | ||
506 | .weak USB0_NEEDCLK_IRQHandler | ||
507 | .type USB0_NEEDCLK_IRQHandler, %function | ||
508 | USB0_NEEDCLK_IRQHandler: | ||
509 | ldr r0,=USB0_NEEDCLK_DriverIRQHandler | ||
510 | bx r0 | ||
511 | .size USB0_NEEDCLK_IRQHandler, . - USB0_NEEDCLK_IRQHandler | ||
512 | |||
513 | .align 1 | ||
514 | .thumb_func | ||
515 | .weak USB0_IRQHandler | ||
516 | .type USB0_IRQHandler, %function | ||
517 | USB0_IRQHandler: | ||
518 | ldr r0,=USB0_DriverIRQHandler | ||
519 | bx r0 | ||
520 | .size USB0_IRQHandler, . - USB0_IRQHandler | ||
521 | |||
522 | .align 1 | ||
523 | .thumb_func | ||
524 | .weak RTC_IRQHandler | ||
525 | .type RTC_IRQHandler, %function | ||
526 | RTC_IRQHandler: | ||
527 | ldr r0,=RTC_DriverIRQHandler | ||
528 | bx r0 | ||
529 | .size RTC_IRQHandler, . - RTC_IRQHandler | ||
530 | |||
531 | .align 1 | ||
532 | .thumb_func | ||
533 | .weak Reserved46_IRQHandler | ||
534 | .type Reserved46_IRQHandler, %function | ||
535 | Reserved46_IRQHandler: | ||
536 | ldr r0,=Reserved46_DriverIRQHandler | ||
537 | bx r0 | ||
538 | .size Reserved46_IRQHandler, . - Reserved46_IRQHandler | ||
539 | |||
540 | .align 1 | ||
541 | .thumb_func | ||
542 | .weak Reserved47_IRQHandler | ||
543 | .type Reserved47_IRQHandler, %function | ||
544 | Reserved47_IRQHandler: | ||
545 | ldr r0,=Reserved47_DriverIRQHandler | ||
546 | bx r0 | ||
547 | .size Reserved47_IRQHandler, . - Reserved47_IRQHandler | ||
548 | |||
549 | .align 1 | ||
550 | .thumb_func | ||
551 | .weak PIN_INT4_IRQHandler | ||
552 | .type PIN_INT4_IRQHandler, %function | ||
553 | PIN_INT4_IRQHandler: | ||
554 | ldr r0,=PIN_INT4_DriverIRQHandler | ||
555 | bx r0 | ||
556 | .size PIN_INT4_IRQHandler, . - PIN_INT4_IRQHandler | ||
557 | |||
558 | .align 1 | ||
559 | .thumb_func | ||
560 | .weak PIN_INT5_IRQHandler | ||
561 | .type PIN_INT5_IRQHandler, %function | ||
562 | PIN_INT5_IRQHandler: | ||
563 | ldr r0,=PIN_INT5_DriverIRQHandler | ||
564 | bx r0 | ||
565 | .size PIN_INT5_IRQHandler, . - PIN_INT5_IRQHandler | ||
566 | |||
567 | .align 1 | ||
568 | .thumb_func | ||
569 | .weak PIN_INT6_IRQHandler | ||
570 | .type PIN_INT6_IRQHandler, %function | ||
571 | PIN_INT6_IRQHandler: | ||
572 | ldr r0,=PIN_INT6_DriverIRQHandler | ||
573 | bx r0 | ||
574 | .size PIN_INT6_IRQHandler, . - PIN_INT6_IRQHandler | ||
575 | |||
576 | .align 1 | ||
577 | .thumb_func | ||
578 | .weak PIN_INT7_IRQHandler | ||
579 | .type PIN_INT7_IRQHandler, %function | ||
580 | PIN_INT7_IRQHandler: | ||
581 | ldr r0,=PIN_INT7_DriverIRQHandler | ||
582 | bx r0 | ||
583 | .size PIN_INT7_IRQHandler, . - PIN_INT7_IRQHandler | ||
584 | |||
585 | .align 1 | ||
586 | .thumb_func | ||
587 | .weak CTIMER2_IRQHandler | ||
588 | .type CTIMER2_IRQHandler, %function | ||
589 | CTIMER2_IRQHandler: | ||
590 | ldr r0,=CTIMER2_DriverIRQHandler | ||
591 | bx r0 | ||
592 | .size CTIMER2_IRQHandler, . - CTIMER2_IRQHandler | ||
593 | |||
594 | .align 1 | ||
595 | .thumb_func | ||
596 | .weak CTIMER4_IRQHandler | ||
597 | .type CTIMER4_IRQHandler, %function | ||
598 | CTIMER4_IRQHandler: | ||
599 | ldr r0,=CTIMER4_DriverIRQHandler | ||
600 | bx r0 | ||
601 | .size CTIMER4_IRQHandler, . - CTIMER4_IRQHandler | ||
602 | |||
603 | .align 1 | ||
604 | .thumb_func | ||
605 | .weak OS_EVENT_IRQHandler | ||
606 | .type OS_EVENT_IRQHandler, %function | ||
607 | OS_EVENT_IRQHandler: | ||
608 | ldr r0,=OS_EVENT_DriverIRQHandler | ||
609 | bx r0 | ||
610 | .size OS_EVENT_IRQHandler, . - OS_EVENT_IRQHandler | ||
611 | |||
612 | .align 1 | ||
613 | .thumb_func | ||
614 | .weak Reserved55_IRQHandler | ||
615 | .type Reserved55_IRQHandler, %function | ||
616 | Reserved55_IRQHandler: | ||
617 | ldr r0,=Reserved55_DriverIRQHandler | ||
618 | bx r0 | ||
619 | .size Reserved55_IRQHandler, . - Reserved55_IRQHandler | ||
620 | |||
621 | .align 1 | ||
622 | .thumb_func | ||
623 | .weak Reserved56_IRQHandler | ||
624 | .type Reserved56_IRQHandler, %function | ||
625 | Reserved56_IRQHandler: | ||
626 | ldr r0,=Reserved56_DriverIRQHandler | ||
627 | bx r0 | ||
628 | .size Reserved56_IRQHandler, . - Reserved56_IRQHandler | ||
629 | |||
630 | .align 1 | ||
631 | .thumb_func | ||
632 | .weak Reserved57_IRQHandler | ||
633 | .type Reserved57_IRQHandler, %function | ||
634 | Reserved57_IRQHandler: | ||
635 | ldr r0,=Reserved57_DriverIRQHandler | ||
636 | bx r0 | ||
637 | .size Reserved57_IRQHandler, . - Reserved57_IRQHandler | ||
638 | |||
639 | .align 1 | ||
640 | .thumb_func | ||
641 | .weak SDIO_IRQHandler | ||
642 | .type SDIO_IRQHandler, %function | ||
643 | SDIO_IRQHandler: | ||
644 | ldr r0,=SDIO_DriverIRQHandler | ||
645 | bx r0 | ||
646 | .size SDIO_IRQHandler, . - SDIO_IRQHandler | ||
647 | |||
648 | .align 1 | ||
649 | .thumb_func | ||
650 | .weak Reserved59_IRQHandler | ||
651 | .type Reserved59_IRQHandler, %function | ||
652 | Reserved59_IRQHandler: | ||
653 | ldr r0,=Reserved59_DriverIRQHandler | ||
654 | bx r0 | ||
655 | .size Reserved59_IRQHandler, . - Reserved59_IRQHandler | ||
656 | |||
657 | .align 1 | ||
658 | .thumb_func | ||
659 | .weak Reserved60_IRQHandler | ||
660 | .type Reserved60_IRQHandler, %function | ||
661 | Reserved60_IRQHandler: | ||
662 | ldr r0,=Reserved60_DriverIRQHandler | ||
663 | bx r0 | ||
664 | .size Reserved60_IRQHandler, . - Reserved60_IRQHandler | ||
665 | |||
666 | .align 1 | ||
667 | .thumb_func | ||
668 | .weak Reserved61_IRQHandler | ||
669 | .type Reserved61_IRQHandler, %function | ||
670 | Reserved61_IRQHandler: | ||
671 | ldr r0,=Reserved61_DriverIRQHandler | ||
672 | bx r0 | ||
673 | .size Reserved61_IRQHandler, . - Reserved61_IRQHandler | ||
674 | |||
675 | .align 1 | ||
676 | .thumb_func | ||
677 | .weak USB1_PHY_IRQHandler | ||
678 | .type USB1_PHY_IRQHandler, %function | ||
679 | USB1_PHY_IRQHandler: | ||
680 | ldr r0,=USB1_PHY_DriverIRQHandler | ||
681 | bx r0 | ||
682 | .size USB1_PHY_IRQHandler, . - USB1_PHY_IRQHandler | ||
683 | |||
684 | .align 1 | ||
685 | .thumb_func | ||
686 | .weak USB1_IRQHandler | ||
687 | .type USB1_IRQHandler, %function | ||
688 | USB1_IRQHandler: | ||
689 | ldr r0,=USB1_DriverIRQHandler | ||
690 | bx r0 | ||
691 | .size USB1_IRQHandler, . - USB1_IRQHandler | ||
692 | |||
693 | .align 1 | ||
694 | .thumb_func | ||
695 | .weak USB1_NEEDCLK_IRQHandler | ||
696 | .type USB1_NEEDCLK_IRQHandler, %function | ||
697 | USB1_NEEDCLK_IRQHandler: | ||
698 | ldr r0,=USB1_NEEDCLK_DriverIRQHandler | ||
699 | bx r0 | ||
700 | .size USB1_NEEDCLK_IRQHandler, . - USB1_NEEDCLK_IRQHandler | ||
701 | |||
702 | .align 1 | ||
703 | .thumb_func | ||
704 | .weak SEC_HYPERVISOR_CALL_IRQHandler | ||
705 | .type SEC_HYPERVISOR_CALL_IRQHandler, %function | ||
706 | SEC_HYPERVISOR_CALL_IRQHandler: | ||
707 | ldr r0,=SEC_HYPERVISOR_CALL_DriverIRQHandler | ||
708 | bx r0 | ||
709 | .size SEC_HYPERVISOR_CALL_IRQHandler, . - SEC_HYPERVISOR_CALL_IRQHandler | ||
710 | |||
711 | .align 1 | ||
712 | .thumb_func | ||
713 | .weak SEC_GPIO_INT0_IRQ0_IRQHandler | ||
714 | .type SEC_GPIO_INT0_IRQ0_IRQHandler, %function | ||
715 | SEC_GPIO_INT0_IRQ0_IRQHandler: | ||
716 | ldr r0,=SEC_GPIO_INT0_IRQ0_DriverIRQHandler | ||
717 | bx r0 | ||
718 | .size SEC_GPIO_INT0_IRQ0_IRQHandler, . - SEC_GPIO_INT0_IRQ0_IRQHandler | ||
719 | |||
720 | .align 1 | ||
721 | .thumb_func | ||
722 | .weak SEC_GPIO_INT0_IRQ1_IRQHandler | ||
723 | .type SEC_GPIO_INT0_IRQ1_IRQHandler, %function | ||
724 | SEC_GPIO_INT0_IRQ1_IRQHandler: | ||
725 | ldr r0,=SEC_GPIO_INT0_IRQ1_DriverIRQHandler | ||
726 | bx r0 | ||
727 | .size SEC_GPIO_INT0_IRQ1_IRQHandler, . - SEC_GPIO_INT0_IRQ1_IRQHandler | ||
728 | |||
729 | .align 1 | ||
730 | .thumb_func | ||
731 | .weak PLU_IRQHandler | ||
732 | .type PLU_IRQHandler, %function | ||
733 | PLU_IRQHandler: | ||
734 | ldr r0,=PLU_DriverIRQHandler | ||
735 | bx r0 | ||
736 | .size PLU_IRQHandler, . - PLU_IRQHandler | ||
737 | |||
738 | .align 1 | ||
739 | .thumb_func | ||
740 | .weak SEC_VIO_IRQHandler | ||
741 | .type SEC_VIO_IRQHandler, %function | ||
742 | SEC_VIO_IRQHandler: | ||
743 | ldr r0,=SEC_VIO_DriverIRQHandler | ||
744 | bx r0 | ||
745 | .size SEC_VIO_IRQHandler, . - SEC_VIO_IRQHandler | ||
746 | |||
747 | .align 1 | ||
748 | .thumb_func | ||
749 | .weak Reserved70_IRQHandler | ||
750 | .type Reserved70_IRQHandler, %function | ||
751 | Reserved70_IRQHandler: | ||
752 | ldr r0,=Reserved70_DriverIRQHandler | ||
753 | bx r0 | ||
754 | .size Reserved70_IRQHandler, . - Reserved70_IRQHandler | ||
755 | |||
756 | .align 1 | ||
757 | .thumb_func | ||
758 | .weak CASER_IRQHandler | ||
759 | .type CASER_IRQHandler, %function | ||
760 | CASER_IRQHandler: | ||
761 | ldr r0,=CASER_DriverIRQHandler | ||
762 | bx r0 | ||
763 | .size CASER_IRQHandler, . - CASER_IRQHandler | ||
764 | |||
765 | .align 1 | ||
766 | .thumb_func | ||
767 | .weak Reserved72_IRQHandler | ||
768 | .type Reserved72_IRQHandler, %function | ||
769 | Reserved72_IRQHandler: | ||
770 | ldr r0,=Reserved72_DriverIRQHandler | ||
771 | bx r0 | ||
772 | .size Reserved72_IRQHandler, . - Reserved72_IRQHandler | ||
773 | |||
774 | .align 1 | ||
775 | .thumb_func | ||
776 | .weak PQ_IRQHandler | ||
777 | .type PQ_IRQHandler, %function | ||
778 | PQ_IRQHandler: | ||
779 | ldr r0,=PQ_DriverIRQHandler | ||
780 | bx r0 | ||
781 | .size PQ_IRQHandler, . - PQ_IRQHandler | ||
782 | |||
783 | .align 1 | ||
784 | .thumb_func | ||
785 | .weak DMA1_IRQHandler | ||
786 | .type DMA1_IRQHandler, %function | ||
787 | DMA1_IRQHandler: | ||
788 | ldr r0,=DMA1_DriverIRQHandler | ||
789 | bx r0 | ||
790 | .size DMA1_IRQHandler, . - DMA1_IRQHandler | ||
791 | |||
792 | .align 1 | ||
793 | .thumb_func | ||
794 | .weak FLEXCOMM8_IRQHandler | ||
795 | .type FLEXCOMM8_IRQHandler, %function | ||
796 | FLEXCOMM8_IRQHandler: | ||
797 | ldr r0,=FLEXCOMM8_DriverIRQHandler | ||
798 | bx r0 | ||
799 | .size FLEXCOMM8_IRQHandler, . - FLEXCOMM8_IRQHandler | ||
800 | |||
801 | /* Macro to define default handlers. Default handler | ||
802 | * will be weak symbol and just dead loops. They can be | ||
803 | * overwritten by other handlers */ | ||
804 | .macro def_irq_handler handler_name | ||
805 | .weak \handler_name | ||
806 | .set \handler_name, DefaultISR | ||
807 | .endm | ||
808 | /* Exception Handlers */ | ||
809 | def_irq_handler MemManage_Handler | ||
810 | def_irq_handler BusFault_Handler | ||
811 | def_irq_handler UsageFault_Handler | ||
812 | def_irq_handler SecureFault_Handler | ||
813 | def_irq_handler DebugMon_Handler | ||
814 | def_irq_handler WDT_BOD_DriverIRQHandler | ||
815 | def_irq_handler DMA0_DriverIRQHandler | ||
816 | def_irq_handler GINT0_DriverIRQHandler | ||
817 | def_irq_handler GINT1_DriverIRQHandler | ||
818 | def_irq_handler PIN_INT0_DriverIRQHandler | ||
819 | def_irq_handler PIN_INT1_DriverIRQHandler | ||
820 | def_irq_handler PIN_INT2_DriverIRQHandler | ||
821 | def_irq_handler PIN_INT3_DriverIRQHandler | ||
822 | def_irq_handler UTICK0_DriverIRQHandler | ||
823 | def_irq_handler MRT0_DriverIRQHandler | ||
824 | def_irq_handler CTIMER0_DriverIRQHandler | ||
825 | def_irq_handler CTIMER1_DriverIRQHandler | ||
826 | def_irq_handler SCT0_DriverIRQHandler | ||
827 | def_irq_handler CTIMER3_DriverIRQHandler | ||
828 | def_irq_handler FLEXCOMM0_DriverIRQHandler | ||
829 | def_irq_handler FLEXCOMM1_DriverIRQHandler | ||
830 | def_irq_handler FLEXCOMM2_DriverIRQHandler | ||
831 | def_irq_handler FLEXCOMM3_DriverIRQHandler | ||
832 | def_irq_handler FLEXCOMM4_DriverIRQHandler | ||
833 | def_irq_handler FLEXCOMM5_DriverIRQHandler | ||
834 | def_irq_handler FLEXCOMM6_DriverIRQHandler | ||
835 | def_irq_handler FLEXCOMM7_DriverIRQHandler | ||
836 | def_irq_handler ADC0_DriverIRQHandler | ||
837 | def_irq_handler Reserved39_DriverIRQHandler | ||
838 | def_irq_handler ACMP_DriverIRQHandler | ||
839 | def_irq_handler Reserved41_DriverIRQHandler | ||
840 | def_irq_handler Reserved42_DriverIRQHandler | ||
841 | def_irq_handler USB0_NEEDCLK_DriverIRQHandler | ||
842 | def_irq_handler USB0_DriverIRQHandler | ||
843 | def_irq_handler RTC_DriverIRQHandler | ||
844 | def_irq_handler Reserved46_DriverIRQHandler | ||
845 | def_irq_handler Reserved47_DriverIRQHandler | ||
846 | def_irq_handler PIN_INT4_DriverIRQHandler | ||
847 | def_irq_handler PIN_INT5_DriverIRQHandler | ||
848 | def_irq_handler PIN_INT6_DriverIRQHandler | ||
849 | def_irq_handler PIN_INT7_DriverIRQHandler | ||
850 | def_irq_handler CTIMER2_DriverIRQHandler | ||
851 | def_irq_handler CTIMER4_DriverIRQHandler | ||
852 | def_irq_handler OS_EVENT_DriverIRQHandler | ||
853 | def_irq_handler Reserved55_DriverIRQHandler | ||
854 | def_irq_handler Reserved56_DriverIRQHandler | ||
855 | def_irq_handler Reserved57_DriverIRQHandler | ||
856 | def_irq_handler SDIO_DriverIRQHandler | ||
857 | def_irq_handler Reserved59_DriverIRQHandler | ||
858 | def_irq_handler Reserved60_DriverIRQHandler | ||
859 | def_irq_handler Reserved61_DriverIRQHandler | ||
860 | def_irq_handler USB1_PHY_DriverIRQHandler | ||
861 | def_irq_handler USB1_DriverIRQHandler | ||
862 | def_irq_handler USB1_NEEDCLK_DriverIRQHandler | ||
863 | def_irq_handler SEC_HYPERVISOR_CALL_DriverIRQHandler | ||
864 | def_irq_handler SEC_GPIO_INT0_IRQ0_DriverIRQHandler | ||
865 | def_irq_handler SEC_GPIO_INT0_IRQ1_DriverIRQHandler | ||
866 | def_irq_handler PLU_DriverIRQHandler | ||
867 | def_irq_handler SEC_VIO_DriverIRQHandler | ||
868 | def_irq_handler Reserved70_DriverIRQHandler | ||
869 | def_irq_handler CASER_DriverIRQHandler | ||
870 | def_irq_handler Reserved72_DriverIRQHandler | ||
871 | def_irq_handler PQ_DriverIRQHandler | ||
872 | def_irq_handler DMA1_DriverIRQHandler | ||
873 | def_irq_handler FLEXCOMM8_DriverIRQHandler | ||
874 | |||
875 | .end | ||