1/* ------------------------------------------------------------------------- */ 2/* @file: startup_K32L3A60_cm4.s */ 3/* @purpose: CMSIS Cortex-M4 Core Device Startup File */ 4/* K32L3A60_cm4 */ 5/* @version: 1.0 */ 6/* @date: 2019-4-22 */ 7/* @build: b231018 */ 8/* ------------------------------------------------------------------------- */ 9/* */ 10/* Copyright 1997-2016 Freescale Semiconductor, Inc. */ 11/* Copyright 2016-2023 NXP */ 12/* SPDX-License-Identifier: BSD-3-Clause */ 13/*****************************************************************************/ 14/* Version: GCC for ARM Embedded Processors */ 15/*****************************************************************************/ 16 .syntax unified 17 .arch armv7-m 18 19 .section .isr_vector, "a" 20 .align 2 21 .globl __isr_vector 22__isr_vector: 23 .long __StackTop /* Top of Stack */ 24 .long Reset_Handler /* Reset Handler */ 25 .long NMI_Handler /* NMI Handler*/ 26 .long HardFault_Handler /* Hard Fault Handler*/ 27 .long MemManage_Handler /* MPU Fault Handler*/ 28 .long BusFault_Handler /* Bus Fault Handler*/ 29 .long UsageFault_Handler /* Usage Fault Handler*/ 30 .long 0 /* Reserved*/ 31 .long 0 /* Reserved*/ 32 .long 0 /* Reserved*/ 33 .long 0 /* Reserved*/ 34 .long SVC_Handler /* SVCall Handler*/ 35 .long DebugMon_Handler /* Debug Monitor Handler*/ 36 .long 0 /* Reserved*/ 37 .long PendSV_Handler /* PendSV Handler*/ 38 .long SysTick_Handler /* SysTick Handler*/ 39 40 /* External Interrupts*/ 41 .long CTI0_MCM0_IRQHandler /* Cross Trigger Interface 0 / Miscellaneous Control Module*/ 42 .long DMA0_IRQHandler /* DMA0 channel 0 transfer complete*/ 43 .long DMA1_IRQHandler /* DMA0 channel 1 transfer complete*/ 44 .long DMA2_IRQHandler /* DMA0 channel 2 transfer complete*/ 45 .long DMA3_IRQHandler /* DMA0 channel 3 transfer complete*/ 46 .long DMA4_IRQHandler /* DMA0 channel 4 transfer complete*/ 47 .long DMA5_IRQHandler /* DMA0 channel 5 transfer complete*/ 48 .long DMA6_IRQHandler /* DMA0 channel 6 transfer complete*/ 49 .long DMA7_IRQHandler /* DMA0 channel 7 transfer complete*/ 50 .long DMA8_IRQHandler /* DMA0 channel 8 transfer complete*/ 51 .long DMA9_IRQHandler /* DMA0 channel 9 transfer complete*/ 52 .long DMA10_IRQHandler /* DMA0 channel 10 transfer complete*/ 53 .long DMA11_IRQHandler /* DMA0 channel 11 transfer complete*/ 54 .long DMA12_IRQHandler /* DMA0 channel 12 transfer complete*/ 55 .long DMA13_IRQHandler /* DMA0 channel 13 transfer complete*/ 56 .long DMA14_IRQHandler /* DMA0 channel 14 transfer complete*/ 57 .long DMA15_IRQHandler /* DMA0 channel 15 transfer complete*/ 58 .long DMA0_Error_IRQHandler /* DMA0 channel 0-15 error interrupt*/ 59 .long MSMC_IRQHandler /* MSMC (SMC0) interrupt*/ 60 .long EWM_IRQHandler /* EWM interrupt*/ 61 .long FTFE_Command_Complete_IRQHandler /* FTFE interrupt*/ 62 .long FTFE_Read_Collision_IRQHandler /* FTFE interrupt*/ 63 .long LLWU0_IRQHandler /* Low leakage wakeup 0*/ 64 .long MUA_IRQHandler /* MU Side A interrupt*/ 65 .long SPM_IRQHandler /* SPM*/ 66 .long WDOG0_IRQHandler /* WDOG0 interrupt*/ 67 .long SCG_IRQHandler /* SCG interrupt*/ 68 .long LPIT0_IRQHandler /* LPIT0 interrupt*/ 69 .long RTC_IRQHandler /* RTC Alarm interrupt*/ 70 .long LPTMR0_IRQHandler /* LPTMR0 interrupt*/ 71 .long LPTMR1_IRQHandler /* LPTMR1 interrupt*/ 72 .long TPM0_IRQHandler /* TPM0 single interrupt vector for all sources*/ 73 .long TPM1_IRQHandler /* TPM1 single interrupt vector for all sources*/ 74 .long TPM2_IRQHandler /* TPM2 single interrupt vector for all sources*/ 75 .long EMVSIM0_IRQHandler /* EMVSIM0 interrupt*/ 76 .long FLEXIO0_IRQHandler /* FLEXIO0*/ 77 .long LPI2C0_IRQHandler /* LPI2C0 interrupt*/ 78 .long LPI2C1_IRQHandler /* LPI2C1 interrupt*/ 79 .long LPI2C2_IRQHandler /* LPI2C2 interrupt*/ 80 .long I2S0_IRQHandler /* I2S0 interrupt*/ 81 .long USDHC0_IRQHandler /* SDHC0 interrupt*/ 82 .long LPSPI0_IRQHandler /* LPSPI0 single interrupt vector for all sources*/ 83 .long LPSPI1_IRQHandler /* LPSPI1 single interrupt vector for all sources*/ 84 .long LPSPI2_IRQHandler /* LPSPI2 single interrupt vector for all sources*/ 85 .long LPUART0_IRQHandler /* LPUART0 status and error*/ 86 .long LPUART1_IRQHandler /* LPUART1 status and error*/ 87 .long LPUART2_IRQHandler /* LPUART2 status and error*/ 88 .long USB0_IRQHandler /* USB0 interrupt*/ 89 .long PORTA_IRQHandler /* PORTA Pin detect*/ 90 .long PORTB_IRQHandler /* PORTB Pin detect*/ 91 .long PORTC_IRQHandler /* PORTC Pin detect*/ 92 .long PORTD_IRQHandler /* PORTD Pin detect*/ 93 .long LPADC0_IRQHandler /* LPADC0 interrupt*/ 94 .long LPCMP0_IRQHandler /* LPCMP0 interrupt*/ 95 .long LPDAC0_IRQHandler /* LPDAC0 interrupt*/ 96 .long CAU3_Task_Complete_IRQHandler /* Cryptographic Acceleration Unit version 3 Task Complete*/ 97 .long CAU3_Security_Violation_IRQHandler /* Cryptographic Acceleration Unit version 3 Security Violation*/ 98 .long TRNG_IRQHandler /* TRNG interrupt*/ 99 .long LPIT1_IRQHandler /* LPIT1 interrupt*/ 100 .long LPTMR2_IRQHandler /* LPTMR2 interrupt*/ 101 .long TPM3_IRQHandler /* TPM3 single interrupt vector for all sources*/ 102 .long LPI2C3_IRQHandler /* LPI2C3 interrupt*/ 103 .long LPSPI3_IRQHandler /* LPSPI3 single interrupt vector for all sources*/ 104 .long LPUART3_IRQHandler /* LPUART3 status and error*/ 105 .long PORTE_IRQHandler /* PORTE Pin detect*/ 106 .long LPCMP1_IRQHandler /* LPCMP1 interrupt*/ 107 .long DefaultISR /* 82*/ 108 .long DefaultISR /* 83*/ 109 .long DefaultISR /* 84*/ 110 .long DefaultISR /* 85*/ 111 .long DefaultISR /* 86*/ 112 .long DefaultISR /* 87*/ 113 .long DefaultISR /* 88*/ 114 .long DefaultISR /* 89*/ 115 .long DefaultISR /* 90*/ 116 .long DefaultISR /* 91*/ 117 .long DefaultISR /* 92*/ 118 .long DefaultISR /* 93*/ 119 .long DefaultISR /* 94*/ 120 .long DefaultISR /* 95*/ 121 .long DefaultISR /* 96*/ 122 .long DefaultISR /* 97*/ 123 .long DefaultISR /* 98*/ 124 .long DefaultISR /* 99*/ 125 .long DefaultISR /* 100*/ 126 .long DefaultISR /* 101*/ 127 .long DefaultISR /* 102*/ 128 .long DefaultISR /* 103*/ 129 .long DefaultISR /* 104*/ 130 .long DefaultISR /* 105*/ 131 .long DefaultISR /* 106*/ 132 .long DefaultISR /* 107*/ 133 .long DefaultISR /* 108*/ 134 .long DefaultISR /* 109*/ 135 .long DefaultISR /* 110*/ 136 .long DefaultISR /* 111*/ 137 .long DefaultISR /* 112*/ 138 .long DefaultISR /* 113*/ 139 .long DefaultISR /* 114*/ 140 .long DefaultISR /* 115*/ 141 .long DefaultISR /* 116*/ 142 .long DefaultISR /* 117*/ 143 .long DefaultISR /* 118*/ 144 .long DefaultISR /* 119*/ 145 .long DefaultISR /* 120*/ 146 .long DefaultISR /* 121*/ 147 .long DefaultISR /* 122*/ 148 .long DefaultISR /* 123*/ 149 .long DefaultISR /* 124*/ 150 .long DefaultISR /* 125*/ 151 .long DefaultISR /* 126*/ 152 .long DefaultISR /* 127*/ 153 .long DefaultISR /* 128*/ 154 .long DefaultISR /* 129*/ 155 .long DefaultISR /* 130*/ 156 .long DefaultISR /* 131*/ 157 .long DefaultISR /* 132*/ 158 .long DefaultISR /* 133*/ 159 .long DefaultISR /* 134*/ 160 .long DefaultISR /* 135*/ 161 .long DefaultISR /* 136*/ 162 .long DefaultISR /* 137*/ 163 .long DefaultISR /* 138*/ 164 .long DefaultISR /* 139*/ 165 .long DefaultISR /* 140*/ 166 .long DefaultISR /* 141*/ 167 .long DefaultISR /* 142*/ 168 .long DefaultISR /* 143*/ 169 .long DefaultISR /* 144*/ 170 .long DefaultISR /* 145*/ 171 .long DefaultISR /* 146*/ 172 .long DefaultISR /* 147*/ 173 .long DefaultISR /* 148*/ 174 .long DefaultISR /* 149*/ 175 .long DefaultISR /* 150*/ 176 .long DefaultISR /* 151*/ 177 .long DefaultISR /* 152*/ 178 .long DefaultISR /* 153*/ 179 .long DefaultISR /* 154*/ 180 .long DefaultISR /* 155*/ 181 .long DefaultISR /* 156*/ 182 .long DefaultISR /* 157*/ 183 .long DefaultISR /* 158*/ 184 .long DefaultISR /* 159*/ 185 .long DefaultISR /* 160*/ 186 .long DefaultISR /* 161*/ 187 .long DefaultISR /* 162*/ 188 .long DefaultISR /* 163*/ 189 .long DefaultISR /* 164*/ 190 .long DefaultISR /* 165*/ 191 .long DefaultISR /* 166*/ 192 .long DefaultISR /* 167*/ 193 .long DefaultISR /* 168*/ 194 .long DefaultISR /* 169*/ 195 .long DefaultISR /* 170*/ 196 .long DefaultISR /* 171*/ 197 .long DefaultISR /* 172*/ 198 .long DefaultISR /* 173*/ 199 .long DefaultISR /* 174*/ 200 .long DefaultISR /* 175*/ 201 .long DefaultISR /* 176*/ 202 .long DefaultISR /* 177*/ 203 .long DefaultISR /* 178*/ 204 .long DefaultISR /* 179*/ 205 .long DefaultISR /* 180*/ 206 .long DefaultISR /* 181*/ 207 .long DefaultISR /* 182*/ 208 .long DefaultISR /* 183*/ 209 .long DefaultISR /* 184*/ 210 .long DefaultISR /* 185*/ 211 .long DefaultISR /* 186*/ 212 .long DefaultISR /* 187*/ 213 .long DefaultISR /* 188*/ 214 .long DefaultISR /* 189*/ 215 .long DefaultISR /* 190*/ 216 .long DefaultISR /* 191*/ 217 .long DefaultISR /* 192*/ 218 .long DefaultISR /* 193*/ 219 .long DefaultISR /* 194*/ 220 .long DefaultISR /* 195*/ 221 .long DefaultISR /* 196*/ 222 .long DefaultISR /* 197*/ 223 .long DefaultISR /* 198*/ 224 .long DefaultISR /* 199*/ 225 .long DefaultISR /* 200*/ 226 .long DefaultISR /* 201*/ 227 .long DefaultISR /* 202*/ 228 .long DefaultISR /* 203*/ 229 .long DefaultISR /* 204*/ 230 .long DefaultISR /* 205*/ 231 .long DefaultISR /* 206*/ 232 .long DefaultISR /* 207*/ 233 .long DefaultISR /* 208*/ 234 .long DefaultISR /* 209*/ 235 .long DefaultISR /* 210*/ 236 .long DefaultISR /* 211*/ 237 .long DefaultISR /* 212*/ 238 .long DefaultISR /* 213*/ 239 .long DefaultISR /* 214*/ 240 .long DefaultISR /* 215*/ 241 .long DefaultISR /* 216*/ 242 .long DefaultISR /* 217*/ 243 .long DefaultISR /* 218*/ 244 .long DefaultISR /* 219*/ 245 .long DefaultISR /* 220*/ 246 .long DefaultISR /* 221*/ 247 .long DefaultISR /* 222*/ 248 .long DefaultISR /* 223*/ 249 .long DefaultISR /* 224*/ 250 .long DefaultISR /* 225*/ 251 .long DefaultISR /* 226*/ 252 .long DefaultISR /* 227*/ 253 .long DefaultISR /* 228*/ 254 .long DefaultISR /* 229*/ 255 .long DefaultISR /* 230*/ 256 .long DefaultISR /* 231*/ 257 .long DefaultISR /* 232*/ 258 .long DefaultISR /* 233*/ 259 .long DefaultISR /* 234*/ 260 .long DefaultISR /* 235*/ 261 .long DefaultISR /* 236*/ 262 .long DefaultISR /* 237*/ 263 .long DefaultISR /* 238*/ 264 .long DefaultISR /* 239*/ 265 .long DefaultISR /* 240*/ 266 .long DefaultISR /* 241*/ 267 .long DefaultISR /* 242*/ 268 .long DefaultISR /* 243*/ 269 .long DefaultISR /* 244*/ 270 .long DefaultISR /* 245*/ 271 .long DefaultISR /* 246*/ 272 .long DefaultISR /* 247*/ 273 .long DefaultISR /* 248*/ 274 .long DefaultISR /* 249*/ 275 .long DefaultISR /* 250*/ 276 .long DefaultISR /* 251*/ 277 .long DefaultISR /* 252*/ 278 .long DefaultISR /* 253*/ 279 .long DefaultISR /* 254*/ 280 .long 0xFFFFFFFF /* Reserved for user TRIM value*/ 281 282 .size __isr_vector, . - __isr_vector 283 284 .text 285 .thumb 286 287#if defined (__cplusplus) 288#ifdef __REDLIB__ 289#error Redlib does not support C++ 290#endif 291#endif 292/* Reset Handler */ 293 294 .thumb_func 295 .align 2 296 .globl Reset_Handler 297 .weak Reset_Handler 298 .type Reset_Handler, %function 299Reset_Handler: 300 cpsid i /* Mask interrupts */ 301 .equ VTOR, 0xE000ED08 302 ldr r0, =VTOR 303 ldr r1, =__isr_vector 304 str r1, [r0] 305 ldr r2, [r1] 306 msr msp, r2 307#ifndef __NO_SYSTEM_INIT 308 ldr r0,=SystemInit 309 blx r0 310#endif 311/* Loop to copy data from read only memory to RAM. The ranges 312 * of copy from/to are specified by following symbols evaluated in 313 * linker script. 314 * __etext: End of code section, i.e., begin of data sections to copy from. 315 * __data_start__/__data_end__: RAM address range that data should be 316 * copied to. Both must be aligned to 4 bytes boundary. */ 317 318 ldr r1, =__etext 319 ldr r2, =__data_start__ 320 ldr r3, =__data_end__ 321 322#ifdef __PERFORMANCE_IMPLEMENTATION 323/* Here are two copies of loop implementations. First one favors performance 324 * and the second one favors code size. Default uses the second one. 325 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 326 subs r3, r2 327 ble .LC1 328.LC0: 329 subs r3, #4 330 ldr r0, [r1, r3] 331 str r0, [r2, r3] 332 bgt .LC0 333.LC1: 334#else /* code size implemenation */ 335.LC0: 336 cmp r2, r3 337 ittt lt 338 ldrlt r0, [r1], #4 339 strlt r0, [r2], #4 340 blt .LC0 341#endif 342 343#ifdef __STARTUP_CLEAR_BSS 344/* This part of work usually is done in C library startup code. Otherwise, 345 * define this macro to enable it in this startup. 346 * 347 * Loop to zero out BSS section, which uses following symbols 348 * in linker script: 349 * __bss_start__: start of BSS section. Must align to 4 350 * __bss_end__: end of BSS section. Must align to 4 351 */ 352 ldr r1, =__bss_start__ 353 ldr r2, =__bss_end__ 354 355 movs r0, 0 356.LC2: 357 cmp r1, r2 358 itt lt 359 strlt r0, [r1], #4 360 blt .LC2 361#endif /* __STARTUP_CLEAR_BSS */ 362 363 cpsie i /* Unmask interrupts */ 364#ifndef __START 365#ifdef __REDLIB__ 366#define __START __main 367#else 368#define __START _start 369#endif 370#endif 371#ifndef __ATOLLIC__ 372 ldr r0,=__START 373 blx r0 374#else 375 ldr r0,=__libc_init_array 376 blx r0 377 ldr r0,=main 378 bx r0 379#endif 380 .pool 381 .size Reset_Handler, . - Reset_Handler 382 383 .align 1 384 .thumb_func 385 .weak DefaultISR 386 .type DefaultISR, %function 387DefaultISR: 388 b DefaultISR 389 .size DefaultISR, . - DefaultISR 390 391 .align 1 392 .thumb_func 393 .weak NMI_Handler 394 .type NMI_Handler, %function 395NMI_Handler: 396 ldr r0,=NMI_Handler 397 bx r0 398 .size NMI_Handler, . - NMI_Handler 399 400 .align 1 401 .thumb_func 402 .weak HardFault_Handler 403 .type HardFault_Handler, %function 404HardFault_Handler: 405 ldr r0,=HardFault_Handler 406 bx r0 407 .size HardFault_Handler, . - HardFault_Handler 408 409 .align 1 410 .thumb_func 411 .weak SVC_Handler 412 .type SVC_Handler, %function 413SVC_Handler: 414 ldr r0,=SVC_Handler 415 bx r0 416 .size SVC_Handler, . - SVC_Handler 417 418 .align 1 419 .thumb_func 420 .weak PendSV_Handler 421 .type PendSV_Handler, %function 422PendSV_Handler: 423 ldr r0,=PendSV_Handler 424 bx r0 425 .size PendSV_Handler, . - PendSV_Handler 426 427 .align 1 428 .thumb_func 429 .weak SysTick_Handler 430 .type SysTick_Handler, %function 431SysTick_Handler: 432 ldr r0,=SysTick_Handler 433 bx r0 434 .size SysTick_Handler, . - SysTick_Handler 435 436 .align 1 437 .thumb_func 438 .weak DMA0_IRQHandler 439 .type DMA0_IRQHandler, %function 440DMA0_IRQHandler: 441 ldr r0,=DMA0_DriverIRQHandler 442 bx r0 443 .size DMA0_IRQHandler, . - DMA0_IRQHandler 444 445 .align 1 446 .thumb_func 447 .weak DMA1_IRQHandler 448 .type DMA1_IRQHandler, %function 449DMA1_IRQHandler: 450 ldr r0,=DMA1_DriverIRQHandler 451 bx r0 452 .size DMA1_IRQHandler, . - DMA1_IRQHandler 453 454 .align 1 455 .thumb_func 456 .weak DMA2_IRQHandler 457 .type DMA2_IRQHandler, %function 458DMA2_IRQHandler: 459 ldr r0,=DMA2_DriverIRQHandler 460 bx r0 461 .size DMA2_IRQHandler, . - DMA2_IRQHandler 462 463 .align 1 464 .thumb_func 465 .weak DMA3_IRQHandler 466 .type DMA3_IRQHandler, %function 467DMA3_IRQHandler: 468 ldr r0,=DMA3_DriverIRQHandler 469 bx r0 470 .size DMA3_IRQHandler, . - DMA3_IRQHandler 471 472 .align 1 473 .thumb_func 474 .weak DMA4_IRQHandler 475 .type DMA4_IRQHandler, %function 476DMA4_IRQHandler: 477 ldr r0,=DMA4_DriverIRQHandler 478 bx r0 479 .size DMA4_IRQHandler, . - DMA4_IRQHandler 480 481 .align 1 482 .thumb_func 483 .weak DMA5_IRQHandler 484 .type DMA5_IRQHandler, %function 485DMA5_IRQHandler: 486 ldr r0,=DMA5_DriverIRQHandler 487 bx r0 488 .size DMA5_IRQHandler, . - DMA5_IRQHandler 489 490 .align 1 491 .thumb_func 492 .weak DMA6_IRQHandler 493 .type DMA6_IRQHandler, %function 494DMA6_IRQHandler: 495 ldr r0,=DMA6_DriverIRQHandler 496 bx r0 497 .size DMA6_IRQHandler, . - DMA6_IRQHandler 498 499 .align 1 500 .thumb_func 501 .weak DMA7_IRQHandler 502 .type DMA7_IRQHandler, %function 503DMA7_IRQHandler: 504 ldr r0,=DMA7_DriverIRQHandler 505 bx r0 506 .size DMA7_IRQHandler, . - DMA7_IRQHandler 507 508 .align 1 509 .thumb_func 510 .weak DMA8_IRQHandler 511 .type DMA8_IRQHandler, %function 512DMA8_IRQHandler: 513 ldr r0,=DMA8_DriverIRQHandler 514 bx r0 515 .size DMA8_IRQHandler, . - DMA8_IRQHandler 516 517 .align 1 518 .thumb_func 519 .weak DMA9_IRQHandler 520 .type DMA9_IRQHandler, %function 521DMA9_IRQHandler: 522 ldr r0,=DMA9_DriverIRQHandler 523 bx r0 524 .size DMA9_IRQHandler, . - DMA9_IRQHandler 525 526 .align 1 527 .thumb_func 528 .weak DMA10_IRQHandler 529 .type DMA10_IRQHandler, %function 530DMA10_IRQHandler: 531 ldr r0,=DMA10_DriverIRQHandler 532 bx r0 533 .size DMA10_IRQHandler, . - DMA10_IRQHandler 534 535 .align 1 536 .thumb_func 537 .weak DMA11_IRQHandler 538 .type DMA11_IRQHandler, %function 539DMA11_IRQHandler: 540 ldr r0,=DMA11_DriverIRQHandler 541 bx r0 542 .size DMA11_IRQHandler, . - DMA11_IRQHandler 543 544 .align 1 545 .thumb_func 546 .weak DMA12_IRQHandler 547 .type DMA12_IRQHandler, %function 548DMA12_IRQHandler: 549 ldr r0,=DMA12_DriverIRQHandler 550 bx r0 551 .size DMA12_IRQHandler, . - DMA12_IRQHandler 552 553 .align 1 554 .thumb_func 555 .weak DMA13_IRQHandler 556 .type DMA13_IRQHandler, %function 557DMA13_IRQHandler: 558 ldr r0,=DMA13_DriverIRQHandler 559 bx r0 560 .size DMA13_IRQHandler, . - DMA13_IRQHandler 561 562 .align 1 563 .thumb_func 564 .weak DMA14_IRQHandler 565 .type DMA14_IRQHandler, %function 566DMA14_IRQHandler: 567 ldr r0,=DMA14_DriverIRQHandler 568 bx r0 569 .size DMA14_IRQHandler, . - DMA14_IRQHandler 570 571 .align 1 572 .thumb_func 573 .weak DMA15_IRQHandler 574 .type DMA15_IRQHandler, %function 575DMA15_IRQHandler: 576 ldr r0,=DMA15_DriverIRQHandler 577 bx r0 578 .size DMA15_IRQHandler, . - DMA15_IRQHandler 579 580 .align 1 581 .thumb_func 582 .weak DMA0_Error_IRQHandler 583 .type DMA0_Error_IRQHandler, %function 584DMA0_Error_IRQHandler: 585 ldr r0,=DMA0_Error_DriverIRQHandler 586 bx r0 587 .size DMA0_Error_IRQHandler, . - DMA0_Error_IRQHandler 588 589 .align 1 590 .thumb_func 591 .weak FLEXIO0_IRQHandler 592 .type FLEXIO0_IRQHandler, %function 593FLEXIO0_IRQHandler: 594 ldr r0,=FLEXIO0_DriverIRQHandler 595 bx r0 596 .size FLEXIO0_IRQHandler, . - FLEXIO0_IRQHandler 597 598 .align 1 599 .thumb_func 600 .weak LPI2C0_IRQHandler 601 .type LPI2C0_IRQHandler, %function 602LPI2C0_IRQHandler: 603 ldr r0,=LPI2C0_DriverIRQHandler 604 bx r0 605 .size LPI2C0_IRQHandler, . - LPI2C0_IRQHandler 606 607 .align 1 608 .thumb_func 609 .weak LPI2C1_IRQHandler 610 .type LPI2C1_IRQHandler, %function 611LPI2C1_IRQHandler: 612 ldr r0,=LPI2C1_DriverIRQHandler 613 bx r0 614 .size LPI2C1_IRQHandler, . - LPI2C1_IRQHandler 615 616 .align 1 617 .thumb_func 618 .weak LPI2C2_IRQHandler 619 .type LPI2C2_IRQHandler, %function 620LPI2C2_IRQHandler: 621 ldr r0,=LPI2C2_DriverIRQHandler 622 bx r0 623 .size LPI2C2_IRQHandler, . - LPI2C2_IRQHandler 624 625 .align 1 626 .thumb_func 627 .weak I2S0_IRQHandler 628 .type I2S0_IRQHandler, %function 629I2S0_IRQHandler: 630 ldr r0,=I2S0_DriverIRQHandler 631 bx r0 632 .size I2S0_IRQHandler, . - I2S0_IRQHandler 633 634 .align 1 635 .thumb_func 636 .weak USDHC0_IRQHandler 637 .type USDHC0_IRQHandler, %function 638USDHC0_IRQHandler: 639 ldr r0,=USDHC0_DriverIRQHandler 640 bx r0 641 .size USDHC0_IRQHandler, . - USDHC0_IRQHandler 642 643 .align 1 644 .thumb_func 645 .weak LPSPI0_IRQHandler 646 .type LPSPI0_IRQHandler, %function 647LPSPI0_IRQHandler: 648 ldr r0,=LPSPI0_DriverIRQHandler 649 bx r0 650 .size LPSPI0_IRQHandler, . - LPSPI0_IRQHandler 651 652 .align 1 653 .thumb_func 654 .weak LPSPI1_IRQHandler 655 .type LPSPI1_IRQHandler, %function 656LPSPI1_IRQHandler: 657 ldr r0,=LPSPI1_DriverIRQHandler 658 bx r0 659 .size LPSPI1_IRQHandler, . - LPSPI1_IRQHandler 660 661 .align 1 662 .thumb_func 663 .weak LPSPI2_IRQHandler 664 .type LPSPI2_IRQHandler, %function 665LPSPI2_IRQHandler: 666 ldr r0,=LPSPI2_DriverIRQHandler 667 bx r0 668 .size LPSPI2_IRQHandler, . - LPSPI2_IRQHandler 669 670 .align 1 671 .thumb_func 672 .weak LPUART0_IRQHandler 673 .type LPUART0_IRQHandler, %function 674LPUART0_IRQHandler: 675 ldr r0,=LPUART0_DriverIRQHandler 676 bx r0 677 .size LPUART0_IRQHandler, . - LPUART0_IRQHandler 678 679 .align 1 680 .thumb_func 681 .weak LPUART1_IRQHandler 682 .type LPUART1_IRQHandler, %function 683LPUART1_IRQHandler: 684 ldr r0,=LPUART1_DriverIRQHandler 685 bx r0 686 .size LPUART1_IRQHandler, . - LPUART1_IRQHandler 687 688 .align 1 689 .thumb_func 690 .weak LPUART2_IRQHandler 691 .type LPUART2_IRQHandler, %function 692LPUART2_IRQHandler: 693 ldr r0,=LPUART2_DriverIRQHandler 694 bx r0 695 .size LPUART2_IRQHandler, . - LPUART2_IRQHandler 696 697 .align 1 698 .thumb_func 699 .weak LPI2C3_IRQHandler 700 .type LPI2C3_IRQHandler, %function 701LPI2C3_IRQHandler: 702 ldr r0,=LPI2C3_DriverIRQHandler 703 bx r0 704 .size LPI2C3_IRQHandler, . - LPI2C3_IRQHandler 705 706 .align 1 707 .thumb_func 708 .weak LPSPI3_IRQHandler 709 .type LPSPI3_IRQHandler, %function 710LPSPI3_IRQHandler: 711 ldr r0,=LPSPI3_DriverIRQHandler 712 bx r0 713 .size LPSPI3_IRQHandler, . - LPSPI3_IRQHandler 714 715 .align 1 716 .thumb_func 717 .weak LPUART3_IRQHandler 718 .type LPUART3_IRQHandler, %function 719LPUART3_IRQHandler: 720 ldr r0,=LPUART3_DriverIRQHandler 721 bx r0 722 .size LPUART3_IRQHandler, . - LPUART3_IRQHandler 723 724 725/* Macro to define default handlers. Default handler 726 * will be weak symbol and just dead loops. They can be 727 * overwritten by other handlers */ 728 .macro def_irq_handler handler_name 729 .weak \handler_name 730 .set \handler_name, DefaultISR 731 .endm 732/* Exception Handlers */ 733 def_irq_handler MemManage_Handler 734 def_irq_handler BusFault_Handler 735 def_irq_handler UsageFault_Handler 736 def_irq_handler DebugMon_Handler 737 def_irq_handler CTI0_MCM0_IRQHandler 738 def_irq_handler DMA0_DriverIRQHandler 739 def_irq_handler DMA1_DriverIRQHandler 740 def_irq_handler DMA2_DriverIRQHandler 741 def_irq_handler DMA3_DriverIRQHandler 742 def_irq_handler DMA4_DriverIRQHandler 743 def_irq_handler DMA5_DriverIRQHandler 744 def_irq_handler DMA6_DriverIRQHandler 745 def_irq_handler DMA7_DriverIRQHandler 746 def_irq_handler DMA8_DriverIRQHandler 747 def_irq_handler DMA9_DriverIRQHandler 748 def_irq_handler DMA10_DriverIRQHandler 749 def_irq_handler DMA11_DriverIRQHandler 750 def_irq_handler DMA12_DriverIRQHandler 751 def_irq_handler DMA13_DriverIRQHandler 752 def_irq_handler DMA14_DriverIRQHandler 753 def_irq_handler DMA15_DriverIRQHandler 754 def_irq_handler DMA0_Error_DriverIRQHandler 755 def_irq_handler MSMC_IRQHandler 756 def_irq_handler EWM_IRQHandler 757 def_irq_handler FTFE_Command_Complete_IRQHandler 758 def_irq_handler FTFE_Read_Collision_IRQHandler 759 def_irq_handler LLWU0_IRQHandler 760 def_irq_handler MUA_IRQHandler 761 def_irq_handler SPM_IRQHandler 762 def_irq_handler WDOG0_IRQHandler 763 def_irq_handler SCG_IRQHandler 764 def_irq_handler LPIT0_IRQHandler 765 def_irq_handler RTC_IRQHandler 766 def_irq_handler LPTMR0_IRQHandler 767 def_irq_handler LPTMR1_IRQHandler 768 def_irq_handler TPM0_IRQHandler 769 def_irq_handler TPM1_IRQHandler 770 def_irq_handler TPM2_IRQHandler 771 def_irq_handler EMVSIM0_IRQHandler 772 def_irq_handler FLEXIO0_DriverIRQHandler 773 def_irq_handler LPI2C0_DriverIRQHandler 774 def_irq_handler LPI2C1_DriverIRQHandler 775 def_irq_handler LPI2C2_DriverIRQHandler 776 def_irq_handler I2S0_DriverIRQHandler 777 def_irq_handler USDHC0_DriverIRQHandler 778 def_irq_handler LPSPI0_DriverIRQHandler 779 def_irq_handler LPSPI1_DriverIRQHandler 780 def_irq_handler LPSPI2_DriverIRQHandler 781 def_irq_handler LPUART0_DriverIRQHandler 782 def_irq_handler LPUART1_DriverIRQHandler 783 def_irq_handler LPUART2_DriverIRQHandler 784 def_irq_handler USB0_IRQHandler 785 def_irq_handler PORTA_IRQHandler 786 def_irq_handler PORTB_IRQHandler 787 def_irq_handler PORTC_IRQHandler 788 def_irq_handler PORTD_IRQHandler 789 def_irq_handler LPADC0_IRQHandler 790 def_irq_handler LPCMP0_IRQHandler 791 def_irq_handler LPDAC0_IRQHandler 792 def_irq_handler CAU3_Task_Complete_IRQHandler 793 def_irq_handler CAU3_Security_Violation_IRQHandler 794 def_irq_handler TRNG_IRQHandler 795 def_irq_handler LPIT1_IRQHandler 796 def_irq_handler LPTMR2_IRQHandler 797 def_irq_handler TPM3_IRQHandler 798 def_irq_handler LPI2C3_DriverIRQHandler 799 def_irq_handler LPSPI3_DriverIRQHandler 800 def_irq_handler LPUART3_DriverIRQHandler 801 def_irq_handler PORTE_IRQHandler 802 def_irq_handler LPCMP1_IRQHandler 803 804 .end 805