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