diff options
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.S | 861 |
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 | ||
116 | Reset_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 | ||
197 | DefaultISR: | ||
198 | b DefaultISR | ||
199 | .size DefaultISR, . - DefaultISR | ||
200 | |||
201 | .align 1 | ||
202 | .thumb_func | ||
203 | .weak NMI_Handler | ||
204 | .type NMI_Handler, %function | ||
205 | NMI_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 | ||
214 | HardFault_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 | ||
223 | MemManage_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 | ||
232 | BusFault_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 | ||
241 | UsageFault_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 | |||
251 | SVC_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 | ||
259 | DebugMon_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 | ||
268 | PendSV_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 | ||
277 | SysTick_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 | ||
286 | WDT_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 | ||
295 | DMA0_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 | ||
304 | GINT0_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 | ||
313 | GINT1_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 | ||
322 | PIN_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 | ||
331 | PIN_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 | ||
340 | PIN_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 | ||
349 | PIN_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 | ||
358 | UTICK0_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 | ||
367 | MRT0_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 | ||
376 | CTIMER0_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 | ||
385 | CTIMER1_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 | ||
394 | SCT0_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 | ||
403 | CTIMER3_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 | ||
412 | FLEXCOMM0_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 | ||
421 | FLEXCOMM1_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 | ||
430 | FLEXCOMM2_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 | ||
439 | FLEXCOMM3_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 | ||
448 | FLEXCOMM4_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 | ||
457 | FLEXCOMM5_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 | ||
466 | FLEXCOMM6_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 | ||
475 | FLEXCOMM7_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 | ||
484 | ADC0_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 | ||
493 | ADC0_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 | ||
502 | ADC0_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 | ||
511 | DMIC0_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 | ||
520 | HWVAD0_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 | ||
529 | USB0_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 | ||
538 | USB0_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 | ||
547 | RTC_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 | ||
556 | Reserved46_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 | ||
565 | Reserved47_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 | ||
574 | PIN_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 | ||
583 | PIN_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 | ||
592 | PIN_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 | ||
601 | PIN_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 | ||
610 | CTIMER2_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 | ||
619 | CTIMER4_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 | ||
628 | RIT_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 | ||
637 | SPIFI0_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 | ||
646 | FLEXCOMM8_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 | ||
655 | FLEXCOMM9_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 | ||
664 | SDIO_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 | ||
673 | CAN0_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 | ||
682 | CAN0_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 | ||
691 | CAN1_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 | ||
700 | CAN1_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 | ||
709 | USB1_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 | ||
718 | USB1_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 | ||
727 | ETHERNET_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 | ||
736 | ETHERNET_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 | ||
745 | ETHERNET_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 | ||
754 | EEPROM_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 | ||
763 | LCD_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 | ||
772 | SHA_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 | ||
781 | SMARTCARD0_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 | ||
790 | SMARTCARD1_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 | ||