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