1/* ------------------------------------------------------------------------- */ 2/* @file: startup_MCIMX7U3_cm4.s */ 3/* @purpose: CMSIS Cortex-M4 Core Device Startup File */ 4/* MCIMX7U3_cm4 */ 5/* @version: 7.0 */ 6/* @date: 2018-11-5 */ 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_IRQHandler /* Cross Trigger Interface for CM4*/ 42 .long DMA0_0_4_IRQHandler /* DMA Channel 0, 4 Transfer Complete*/ 43 .long DMA0_1_5_IRQHandler /* DMA Channel 1, 5 Transfer Complete*/ 44 .long DMA0_2_6_IRQHandler /* DMA Channel 2, 6 Transfer Complete*/ 45 .long DMA0_3_7_IRQHandler /* DMA Channel 3, 7 Transfer Complete*/ 46 .long DMA0_8_12_IRQHandler /* DMA Channel 8, 12 Transfer Complete*/ 47 .long DMA0_9_13_IRQHandler /* DMA Channel 9, 13 Transfer Complete*/ 48 .long DMA0_10_14_IRQHandler /* DMA Channel 10, 14 Transfer Complete*/ 49 .long DMA0_11_15_IRQHandler /* DMA Channel 11, 15 Transfer Complete*/ 50 .long DMA0_16_20_IRQHandler /* DMA Channel 16, 20 Transfer Complete*/ 51 .long DMA0_17_21_IRQHandler /* DMA Channel 17, 21 Transfer Complete*/ 52 .long DMA0_18_22_IRQHandler /* DMA Channel 18, 22 Transfer Complete*/ 53 .long DMA0_19_23_IRQHandler /* DMA Channel 19, 23 Transfer Complete*/ 54 .long DMA0_24_28_IRQHandler /* DMA Channel 24, 28 Transfer Complete*/ 55 .long DMA0_25_29_IRQHandler /* DMA Channel 25, 29 Transfer Complete*/ 56 .long DMA0_26_30_IRQHandler /* DMA Channel 26, 30 Transfer Complete*/ 57 .long DMA0_27_31_IRQHandler /* DMA Channel 27, 31 Transfer Complete*/ 58 .long DMA0_Error_IRQHandler /* DMA Error Interrupt - All Channels*/ 59 .long MCM0_IRQHandler /* MCM Interrupt*/ 60 .long EWM_IRQHandler /* External Watchdog Monitor Interrupt*/ 61 .long LLWU0_IRQHandler /* Low Leakage Wake Up*/ 62 .long SIM_IRQHandler /* System Integation Module*/ 63 .long MU_A_IRQHandler /* Messaging Unit - Side A*/ 64 .long Reserved39_IRQHandler /* Secured JTAG Controller*/ 65 .long Software1_IRQHandler /* Software Interrupt*/ 66 .long Software2_IRQHandler /* Software Interrupt*/ 67 .long WDOG0_IRQHandler /* Watchdog Interrupt*/ 68 .long SCG0_IRQHandler /* System Clock Generator for M4 domain*/ 69 .long QSPI_IRQHandler /* Quad Serial Peripheral Interface*/ 70 .long LTC_IRQHandler /* Low Power Trusted Cryptography*/ 71 .long XRDC_IRQHandler /* Extended Domain Resource Controller*/ 72 .long SNVS_IRQHandler /* Secure Non-Volatile Storage Consolidated Interrupt*/ 73 .long TRNG0_IRQHandler /* Random Number Generator*/ 74 .long LPIT0_IRQHandler /* Low Power Periodic Interrupt Timer*/ 75 .long PMC0_IRQHandler /* Power Management Control interrupts for M4 domain*/ 76 .long CMC0_IRQHandler /* Core Mode Controller interrupts for M4 domain*/ 77 .long LPTMR0_IRQHandler /* Low Power Timer*/ 78 .long LPTMR1_IRQHandler /* Low Power Timer*/ 79 .long TPM0_IRQHandler /* Timer PWM module*/ 80 .long TPM1_IRQHandler /* Timer PWM module*/ 81 .long TPM2_IRQHandler /* Timer PWM module*/ 82 .long TPM3_IRQHandler /* Timer PWM module*/ 83 .long FLEXIO0_IRQHandler /* Flexible IO*/ 84 .long LPI2C0_IRQHandler /* Inter-integrated circuit 0*/ 85 .long LPI2C1_IRQHandler /* Inter-integrated circuit 1*/ 86 .long LPI2C2_IRQHandler /* Inter-integrated circuit 2*/ 87 .long LPI2C3_IRQHandler /* Inter-integrated circuit 3*/ 88 .long I2S0_IRQHandler /* Serial Audio Interface 0*/ 89 .long I2S1_IRQHandler /* Serial Audio Interface 1*/ 90 .long LPSPI0_IRQHandler /* Low Power Serial Peripheral Interface*/ 91 .long LPSPI1_IRQHandler /* Low Power Serial Peripheral Interface*/ 92 .long LPUART0_IRQHandler /* Low Power UART*/ 93 .long LPUART1_IRQHandler /* Low Power UART*/ 94 .long LPUART2_IRQHandler /* Low Power UART*/ 95 .long LPUART3_IRQHandler /* Low Power UART*/ 96 .long DPM_IRQHandler /* Dynamic Process Monitor*/ 97 .long PCTLA_IRQHandler /* Port A pin interrupt*/ 98 .long PCTLB_IRQHandler /* Port B pin interrupt*/ 99 .long ADC0_IRQHandler /* Analog to Digital Convertor*/ 100 .long ADC1_IRQHandler /* Analog to Digital Convertor*/ 101 .long CMP0_IRQHandler /* Comparator*/ 102 .long CMP1_IRQHandler /* Comparator*/ 103 .long DAC0_IRQHandler /* Digital to Analog Convertor*/ 104 .long DAC1_IRQHandler /* Digital to Analog Convertor*/ 105 .long WDOG1_IRQHandler /* Watchdog Interrupt from A7 subsystem*/ 106 .long USB0_IRQHandler /* USB 0 Interrupt from A7 subsystem*/ 107 .long USB1_IRQHandler /* USB 1 Interrupt from A7 subsystem*/ 108 .long Reserved83_IRQHandler /* */ 109 .long WDOG2_IRQHandler /* Watchdog Interrupt from A7 subsystem*/ 110 .long USBPHY_IRQHandler /* USB PHY (used in conjunction with USBOTG1)*/ 111 .long CMC1_IRQHandler /* A7 resets*/ 112 .long Reserved87_IRQHandler /* Reserved interrupt*/ 113 .long Reserved88_IRQHandler /* Reserved interrupt*/ 114 .long Reserved89_IRQHandler /* Reserved interrupt*/ 115 .long Reserved90_IRQHandler /* Reserved interrupt*/ 116 .long Reserved91_IRQHandler /* Reserved interrupt*/ 117 .long Reserved92_IRQHandler /* Reserved interrupt*/ 118 .long Reserved93_IRQHandler /* Reserved interrupt*/ 119 .long Reserved94_IRQHandler /* Reserved interrupt*/ 120 .long Reserved95_IRQHandler /* Reserved interrupt*/ 121 .long Reserved96_IRQHandler /* Reserved interrupt*/ 122 .long Reserved97_IRQHandler /* Reserved interrupt*/ 123 .long Reserved98_IRQHandler /* Reserved interrupt*/ 124 .long Reserved99_IRQHandler /* Reserved interrupt*/ 125 .long Reserved100_IRQHandler /* Reserved interrupt*/ 126 .long Reserved101_IRQHandler /* Reserved interrupt*/ 127 .long Reserved102_IRQHandler /* Reserved interrupt*/ 128 .long Reserved103_IRQHandler /* Reserved interrupt*/ 129 .long Reserved104_IRQHandler /* Reserved interrupt*/ 130 .long Reserved105_IRQHandler /* Reserved interrupt*/ 131 .long Reserved106_IRQHandler /* Reserved interrupt*/ 132 .long Reserved107_IRQHandler /* Reserved interrupt*/ 133 .long Reserved108_IRQHandler /* Reserved interrupt*/ 134 .long Reserved109_IRQHandler /* Reserved interrupt*/ 135 .long Reserved110_IRQHandler /* Reserved interrupt*/ 136 .long Reserved111_IRQHandler /* Reserved interrupt*/ 137 .long Reserved112_IRQHandler /* Reserved interrupt*/ 138 .long Reserved113_IRQHandler /* Reserved interrupt*/ 139 .long Reserved114_IRQHandler /* Reserved interrupt*/ 140 .long Reserved115_IRQHandler /* Reserved interrupt*/ 141 .long Reserved116_IRQHandler /* Reserved interrupt*/ 142 .long Reserved117_IRQHandler /* Reserved interrupt*/ 143 .long Reserved118_IRQHandler /* Reserved interrupt*/ 144 .long Reserved119_IRQHandler /* Reserved interrupt*/ 145 .long Reserved120_IRQHandler /* Reserved interrupt*/ 146 .long Reserved121_IRQHandler /* Reserved interrupt*/ 147 .long Reserved122_IRQHandler /* Reserved interrupt*/ 148 .long Reserved123_IRQHandler /* Reserved interrupt*/ 149 .long Reserved124_IRQHandler /* Reserved interrupt*/ 150 .long Reserved125_IRQHandler /* Reserved interrupt*/ 151 .long Reserved126_IRQHandler /* Reserved interrupt*/ 152 .long Reserved127_IRQHandler /* Reserved interrupt*/ 153 .long Reserved128_IRQHandler /* Reserved interrupt*/ 154 .long Reserved129_IRQHandler /* Reserved interrupt*/ 155 .long Reserved130_IRQHandler /* Reserved interrupt*/ 156 .long Reserved131_IRQHandler /* Reserved interrupt*/ 157 .long Reserved132_IRQHandler /* Reserved interrupt*/ 158 .long Reserved133_IRQHandler /* Reserved interrupt*/ 159 .long Reserved134_IRQHandler /* Reserved interrupt*/ 160 .long Reserved135_IRQHandler /* Reserved interrupt*/ 161 .long Reserved136_IRQHandler /* Reserved interrupt*/ 162 .long Reserved137_IRQHandler /* Reserved interrupt*/ 163 .long Reserved138_IRQHandler /* Reserved interrupt*/ 164 .long Reserved139_IRQHandler /* Reserved interrupt*/ 165 .long Reserved140_IRQHandler /* Reserved interrupt*/ 166 .long Reserved141_IRQHandler /* Reserved interrupt*/ 167 .long Reserved142_IRQHandler /* Reserved interrupt*/ 168 .long Reserved143_IRQHandler /* Reserved interrupt*/ 169 170 .size __isr_vector, . - __isr_vector 171 172 .text 173 .thumb 174 175#if defined (__cplusplus) 176#ifdef __REDLIB__ 177#error Redlib does not support C++ 178#endif 179#endif 180/* Reset Handler */ 181 182 .thumb_func 183 .align 2 184 .globl Reset_Handler 185 .weak Reset_Handler 186 .type Reset_Handler, %function 187Reset_Handler: 188 cpsid i /* Mask interrupts */ 189 .equ VTOR, 0xE000ED08 190 ldr r0, =VTOR 191 ldr r1, =__isr_vector 192 str r1, [r0] 193 ldr r2, [r1] 194 msr msp, r2 195#ifndef __NO_SYSTEM_INIT 196 ldr r0,=SystemInit 197 blx r0 198#endif 199/* Loop to copy data from read only memory to RAM. The ranges 200 * of copy from/to are specified by following symbols evaluated in 201 * linker script. 202 * __etext: End of code section, i.e., begin of data sections to copy from. 203 * __data_start__/__data_end__: RAM address range that data should be 204 * copied to. Both must be aligned to 4 bytes boundary. */ 205 206 ldr r1, =__etext 207 ldr r2, =__data_start__ 208 ldr r3, =__data_end__ 209 210#ifdef __PERFORMANCE_IMPLEMENTATION 211/* Here are two copies of loop implementations. First one favors performance 212 * and the second one favors code size. Default uses the second one. 213 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 214 subs r3, r2 215 ble .LC1 216.LC0: 217 subs r3, #4 218 ldr r0, [r1, r3] 219 str r0, [r2, r3] 220 bgt .LC0 221.LC1: 222#else /* code size implemenation */ 223.LC0: 224 cmp r2, r3 225 ittt lt 226 ldrlt r0, [r1], #4 227 strlt r0, [r2], #4 228 blt .LC0 229#endif 230 231#ifdef __STARTUP_CLEAR_BSS 232/* This part of work usually is done in C library startup code. Otherwise, 233 * define this macro to enable it in this startup. 234 * 235 * Loop to zero out BSS section, which uses following symbols 236 * in linker script: 237 * __bss_start__: start of BSS section. Must align to 4 238 * __bss_end__: end of BSS section. Must align to 4 239 */ 240 ldr r1, =__bss_start__ 241 ldr r2, =__bss_end__ 242 243 movs r0, 0 244.LC2: 245 cmp r1, r2 246 itt lt 247 strlt r0, [r1], #4 248 blt .LC2 249#endif /* __STARTUP_CLEAR_BSS */ 250 251 cpsie i /* Unmask interrupts */ 252#ifndef __START 253#ifdef __REDLIB__ 254#define __START __main 255#else 256#define __START _start 257#endif 258#endif 259#ifndef __ATOLLIC__ 260 ldr r0,=__START 261 blx r0 262#else 263 ldr r0,=__libc_init_array 264 blx r0 265 ldr r0,=main 266 bx r0 267#endif 268 .pool 269 .size Reset_Handler, . - Reset_Handler 270 271 .align 1 272 .thumb_func 273 .weak DefaultISR 274 .type DefaultISR, %function 275DefaultISR: 276 b DefaultISR 277 .size DefaultISR, . - DefaultISR 278 279 .align 1 280 .thumb_func 281 .weak NMI_Handler 282 .type NMI_Handler, %function 283NMI_Handler: 284 ldr r0,=NMI_Handler 285 bx r0 286 .size NMI_Handler, . - NMI_Handler 287 288 .align 1 289 .thumb_func 290 .weak HardFault_Handler 291 .type HardFault_Handler, %function 292HardFault_Handler: 293 ldr r0,=HardFault_Handler 294 bx r0 295 .size HardFault_Handler, . - HardFault_Handler 296 297 .align 1 298 .thumb_func 299 .weak SVC_Handler 300 .type SVC_Handler, %function 301SVC_Handler: 302 ldr r0,=SVC_Handler 303 bx r0 304 .size SVC_Handler, . - SVC_Handler 305 306 .align 1 307 .thumb_func 308 .weak PendSV_Handler 309 .type PendSV_Handler, %function 310PendSV_Handler: 311 ldr r0,=PendSV_Handler 312 bx r0 313 .size PendSV_Handler, . - PendSV_Handler 314 315 .align 1 316 .thumb_func 317 .weak SysTick_Handler 318 .type SysTick_Handler, %function 319SysTick_Handler: 320 ldr r0,=SysTick_Handler 321 bx r0 322 .size SysTick_Handler, . - SysTick_Handler 323 324 .align 1 325 .thumb_func 326 .weak DMA0_0_4_IRQHandler 327 .type DMA0_0_4_IRQHandler, %function 328DMA0_0_4_IRQHandler: 329 ldr r0,=DMA0_0_4_DriverIRQHandler 330 bx r0 331 .size DMA0_0_4_IRQHandler, . - DMA0_0_4_IRQHandler 332 333 .align 1 334 .thumb_func 335 .weak DMA0_1_5_IRQHandler 336 .type DMA0_1_5_IRQHandler, %function 337DMA0_1_5_IRQHandler: 338 ldr r0,=DMA0_1_5_DriverIRQHandler 339 bx r0 340 .size DMA0_1_5_IRQHandler, . - DMA0_1_5_IRQHandler 341 342 .align 1 343 .thumb_func 344 .weak DMA0_2_6_IRQHandler 345 .type DMA0_2_6_IRQHandler, %function 346DMA0_2_6_IRQHandler: 347 ldr r0,=DMA0_2_6_DriverIRQHandler 348 bx r0 349 .size DMA0_2_6_IRQHandler, . - DMA0_2_6_IRQHandler 350 351 .align 1 352 .thumb_func 353 .weak DMA0_3_7_IRQHandler 354 .type DMA0_3_7_IRQHandler, %function 355DMA0_3_7_IRQHandler: 356 ldr r0,=DMA0_3_7_DriverIRQHandler 357 bx r0 358 .size DMA0_3_7_IRQHandler, . - DMA0_3_7_IRQHandler 359 360 .align 1 361 .thumb_func 362 .weak DMA0_8_12_IRQHandler 363 .type DMA0_8_12_IRQHandler, %function 364DMA0_8_12_IRQHandler: 365 ldr r0,=DMA0_8_12_DriverIRQHandler 366 bx r0 367 .size DMA0_8_12_IRQHandler, . - DMA0_8_12_IRQHandler 368 369 .align 1 370 .thumb_func 371 .weak DMA0_9_13_IRQHandler 372 .type DMA0_9_13_IRQHandler, %function 373DMA0_9_13_IRQHandler: 374 ldr r0,=DMA0_9_13_DriverIRQHandler 375 bx r0 376 .size DMA0_9_13_IRQHandler, . - DMA0_9_13_IRQHandler 377 378 .align 1 379 .thumb_func 380 .weak DMA0_10_14_IRQHandler 381 .type DMA0_10_14_IRQHandler, %function 382DMA0_10_14_IRQHandler: 383 ldr r0,=DMA0_10_14_DriverIRQHandler 384 bx r0 385 .size DMA0_10_14_IRQHandler, . - DMA0_10_14_IRQHandler 386 387 .align 1 388 .thumb_func 389 .weak DMA0_11_15_IRQHandler 390 .type DMA0_11_15_IRQHandler, %function 391DMA0_11_15_IRQHandler: 392 ldr r0,=DMA0_11_15_DriverIRQHandler 393 bx r0 394 .size DMA0_11_15_IRQHandler, . - DMA0_11_15_IRQHandler 395 396 .align 1 397 .thumb_func 398 .weak DMA0_16_20_IRQHandler 399 .type DMA0_16_20_IRQHandler, %function 400DMA0_16_20_IRQHandler: 401 ldr r0,=DMA0_16_20_DriverIRQHandler 402 bx r0 403 .size DMA0_16_20_IRQHandler, . - DMA0_16_20_IRQHandler 404 405 .align 1 406 .thumb_func 407 .weak DMA0_17_21_IRQHandler 408 .type DMA0_17_21_IRQHandler, %function 409DMA0_17_21_IRQHandler: 410 ldr r0,=DMA0_17_21_DriverIRQHandler 411 bx r0 412 .size DMA0_17_21_IRQHandler, . - DMA0_17_21_IRQHandler 413 414 .align 1 415 .thumb_func 416 .weak DMA0_18_22_IRQHandler 417 .type DMA0_18_22_IRQHandler, %function 418DMA0_18_22_IRQHandler: 419 ldr r0,=DMA0_18_22_DriverIRQHandler 420 bx r0 421 .size DMA0_18_22_IRQHandler, . - DMA0_18_22_IRQHandler 422 423 .align 1 424 .thumb_func 425 .weak DMA0_19_23_IRQHandler 426 .type DMA0_19_23_IRQHandler, %function 427DMA0_19_23_IRQHandler: 428 ldr r0,=DMA0_19_23_DriverIRQHandler 429 bx r0 430 .size DMA0_19_23_IRQHandler, . - DMA0_19_23_IRQHandler 431 432 .align 1 433 .thumb_func 434 .weak DMA0_24_28_IRQHandler 435 .type DMA0_24_28_IRQHandler, %function 436DMA0_24_28_IRQHandler: 437 ldr r0,=DMA0_24_28_DriverIRQHandler 438 bx r0 439 .size DMA0_24_28_IRQHandler, . - DMA0_24_28_IRQHandler 440 441 .align 1 442 .thumb_func 443 .weak DMA0_25_29_IRQHandler 444 .type DMA0_25_29_IRQHandler, %function 445DMA0_25_29_IRQHandler: 446 ldr r0,=DMA0_25_29_DriverIRQHandler 447 bx r0 448 .size DMA0_25_29_IRQHandler, . - DMA0_25_29_IRQHandler 449 450 .align 1 451 .thumb_func 452 .weak DMA0_26_30_IRQHandler 453 .type DMA0_26_30_IRQHandler, %function 454DMA0_26_30_IRQHandler: 455 ldr r0,=DMA0_26_30_DriverIRQHandler 456 bx r0 457 .size DMA0_26_30_IRQHandler, . - DMA0_26_30_IRQHandler 458 459 .align 1 460 .thumb_func 461 .weak DMA0_27_31_IRQHandler 462 .type DMA0_27_31_IRQHandler, %function 463DMA0_27_31_IRQHandler: 464 ldr r0,=DMA0_27_31_DriverIRQHandler 465 bx r0 466 .size DMA0_27_31_IRQHandler, . - DMA0_27_31_IRQHandler 467 468 .align 1 469 .thumb_func 470 .weak DMA0_Error_IRQHandler 471 .type DMA0_Error_IRQHandler, %function 472DMA0_Error_IRQHandler: 473 ldr r0,=DMA0_Error_DriverIRQHandler 474 bx r0 475 .size DMA0_Error_IRQHandler, . - DMA0_Error_IRQHandler 476 477 .align 1 478 .thumb_func 479 .weak QSPI_IRQHandler 480 .type QSPI_IRQHandler, %function 481QSPI_IRQHandler: 482 ldr r0,=QSPI_DriverIRQHandler 483 bx r0 484 .size QSPI_IRQHandler, . - QSPI_IRQHandler 485 486 .align 1 487 .thumb_func 488 .weak FLEXIO0_IRQHandler 489 .type FLEXIO0_IRQHandler, %function 490FLEXIO0_IRQHandler: 491 ldr r0,=FLEXIO0_DriverIRQHandler 492 bx r0 493 .size FLEXIO0_IRQHandler, . - FLEXIO0_IRQHandler 494 495 .align 1 496 .thumb_func 497 .weak LPI2C0_IRQHandler 498 .type LPI2C0_IRQHandler, %function 499LPI2C0_IRQHandler: 500 ldr r0,=LPI2C0_DriverIRQHandler 501 bx r0 502 .size LPI2C0_IRQHandler, . - LPI2C0_IRQHandler 503 504 .align 1 505 .thumb_func 506 .weak LPI2C1_IRQHandler 507 .type LPI2C1_IRQHandler, %function 508LPI2C1_IRQHandler: 509 ldr r0,=LPI2C1_DriverIRQHandler 510 bx r0 511 .size LPI2C1_IRQHandler, . - LPI2C1_IRQHandler 512 513 .align 1 514 .thumb_func 515 .weak LPI2C2_IRQHandler 516 .type LPI2C2_IRQHandler, %function 517LPI2C2_IRQHandler: 518 ldr r0,=LPI2C2_DriverIRQHandler 519 bx r0 520 .size LPI2C2_IRQHandler, . - LPI2C2_IRQHandler 521 522 .align 1 523 .thumb_func 524 .weak LPI2C3_IRQHandler 525 .type LPI2C3_IRQHandler, %function 526LPI2C3_IRQHandler: 527 ldr r0,=LPI2C3_DriverIRQHandler 528 bx r0 529 .size LPI2C3_IRQHandler, . - LPI2C3_IRQHandler 530 531 .align 1 532 .thumb_func 533 .weak I2S0_IRQHandler 534 .type I2S0_IRQHandler, %function 535I2S0_IRQHandler: 536 ldr r0,=I2S0_DriverIRQHandler 537 bx r0 538 .size I2S0_IRQHandler, . - I2S0_IRQHandler 539 540 .align 1 541 .thumb_func 542 .weak I2S1_IRQHandler 543 .type I2S1_IRQHandler, %function 544I2S1_IRQHandler: 545 ldr r0,=I2S1_DriverIRQHandler 546 bx r0 547 .size I2S1_IRQHandler, . - I2S1_IRQHandler 548 549 .align 1 550 .thumb_func 551 .weak LPSPI0_IRQHandler 552 .type LPSPI0_IRQHandler, %function 553LPSPI0_IRQHandler: 554 ldr r0,=LPSPI0_DriverIRQHandler 555 bx r0 556 .size LPSPI0_IRQHandler, . - LPSPI0_IRQHandler 557 558 .align 1 559 .thumb_func 560 .weak LPSPI1_IRQHandler 561 .type LPSPI1_IRQHandler, %function 562LPSPI1_IRQHandler: 563 ldr r0,=LPSPI1_DriverIRQHandler 564 bx r0 565 .size LPSPI1_IRQHandler, . - LPSPI1_IRQHandler 566 567 .align 1 568 .thumb_func 569 .weak LPUART0_IRQHandler 570 .type LPUART0_IRQHandler, %function 571LPUART0_IRQHandler: 572 ldr r0,=LPUART0_DriverIRQHandler 573 bx r0 574 .size LPUART0_IRQHandler, . - LPUART0_IRQHandler 575 576 .align 1 577 .thumb_func 578 .weak LPUART1_IRQHandler 579 .type LPUART1_IRQHandler, %function 580LPUART1_IRQHandler: 581 ldr r0,=LPUART1_DriverIRQHandler 582 bx r0 583 .size LPUART1_IRQHandler, . - LPUART1_IRQHandler 584 585 .align 1 586 .thumb_func 587 .weak LPUART2_IRQHandler 588 .type LPUART2_IRQHandler, %function 589LPUART2_IRQHandler: 590 ldr r0,=LPUART2_DriverIRQHandler 591 bx r0 592 .size LPUART2_IRQHandler, . - LPUART2_IRQHandler 593 594 .align 1 595 .thumb_func 596 .weak LPUART3_IRQHandler 597 .type LPUART3_IRQHandler, %function 598LPUART3_IRQHandler: 599 ldr r0,=LPUART3_DriverIRQHandler 600 bx r0 601 .size LPUART3_IRQHandler, . - LPUART3_IRQHandler 602 603 604/* Macro to define default handlers. Default handler 605 * will be weak symbol and just dead loops. They can be 606 * overwritten by other handlers */ 607 .macro def_irq_handler handler_name 608 .weak \handler_name 609 .set \handler_name, DefaultISR 610 .endm 611/* Exception Handlers */ 612 def_irq_handler MemManage_Handler 613 def_irq_handler BusFault_Handler 614 def_irq_handler UsageFault_Handler 615 def_irq_handler DebugMon_Handler 616 def_irq_handler CTI0_IRQHandler 617 def_irq_handler DMA0_0_4_DriverIRQHandler 618 def_irq_handler DMA0_1_5_DriverIRQHandler 619 def_irq_handler DMA0_2_6_DriverIRQHandler 620 def_irq_handler DMA0_3_7_DriverIRQHandler 621 def_irq_handler DMA0_8_12_DriverIRQHandler 622 def_irq_handler DMA0_9_13_DriverIRQHandler 623 def_irq_handler DMA0_10_14_DriverIRQHandler 624 def_irq_handler DMA0_11_15_DriverIRQHandler 625 def_irq_handler DMA0_16_20_DriverIRQHandler 626 def_irq_handler DMA0_17_21_DriverIRQHandler 627 def_irq_handler DMA0_18_22_DriverIRQHandler 628 def_irq_handler DMA0_19_23_DriverIRQHandler 629 def_irq_handler DMA0_24_28_DriverIRQHandler 630 def_irq_handler DMA0_25_29_DriverIRQHandler 631 def_irq_handler DMA0_26_30_DriverIRQHandler 632 def_irq_handler DMA0_27_31_DriverIRQHandler 633 def_irq_handler DMA0_Error_DriverIRQHandler 634 def_irq_handler MCM0_IRQHandler 635 def_irq_handler EWM_IRQHandler 636 def_irq_handler LLWU0_IRQHandler 637 def_irq_handler SIM_IRQHandler 638 def_irq_handler MU_A_IRQHandler 639 def_irq_handler Reserved39_IRQHandler 640 def_irq_handler Software1_IRQHandler 641 def_irq_handler Software2_IRQHandler 642 def_irq_handler WDOG0_IRQHandler 643 def_irq_handler SCG0_IRQHandler 644 def_irq_handler QSPI_DriverIRQHandler 645 def_irq_handler LTC_IRQHandler 646 def_irq_handler XRDC_IRQHandler 647 def_irq_handler SNVS_IRQHandler 648 def_irq_handler TRNG0_IRQHandler 649 def_irq_handler LPIT0_IRQHandler 650 def_irq_handler PMC0_IRQHandler 651 def_irq_handler CMC0_IRQHandler 652 def_irq_handler LPTMR0_IRQHandler 653 def_irq_handler LPTMR1_IRQHandler 654 def_irq_handler TPM0_IRQHandler 655 def_irq_handler TPM1_IRQHandler 656 def_irq_handler TPM2_IRQHandler 657 def_irq_handler TPM3_IRQHandler 658 def_irq_handler FLEXIO0_DriverIRQHandler 659 def_irq_handler LPI2C0_DriverIRQHandler 660 def_irq_handler LPI2C1_DriverIRQHandler 661 def_irq_handler LPI2C2_DriverIRQHandler 662 def_irq_handler LPI2C3_DriverIRQHandler 663 def_irq_handler I2S0_DriverIRQHandler 664 def_irq_handler I2S1_DriverIRQHandler 665 def_irq_handler LPSPI0_DriverIRQHandler 666 def_irq_handler LPSPI1_DriverIRQHandler 667 def_irq_handler LPUART0_DriverIRQHandler 668 def_irq_handler LPUART1_DriverIRQHandler 669 def_irq_handler LPUART2_DriverIRQHandler 670 def_irq_handler LPUART3_DriverIRQHandler 671 def_irq_handler DPM_IRQHandler 672 def_irq_handler PCTLA_IRQHandler 673 def_irq_handler PCTLB_IRQHandler 674 def_irq_handler ADC0_IRQHandler 675 def_irq_handler ADC1_IRQHandler 676 def_irq_handler CMP0_IRQHandler 677 def_irq_handler CMP1_IRQHandler 678 def_irq_handler DAC0_IRQHandler 679 def_irq_handler DAC1_IRQHandler 680 def_irq_handler WDOG1_IRQHandler 681 def_irq_handler USB0_IRQHandler 682 def_irq_handler USB1_IRQHandler 683 def_irq_handler Reserved83_IRQHandler 684 def_irq_handler WDOG2_IRQHandler 685 def_irq_handler USBPHY_IRQHandler 686 def_irq_handler CMC1_IRQHandler 687 def_irq_handler Reserved87_IRQHandler 688 def_irq_handler Reserved88_IRQHandler 689 def_irq_handler Reserved89_IRQHandler 690 def_irq_handler Reserved90_IRQHandler 691 def_irq_handler Reserved91_IRQHandler 692 def_irq_handler Reserved92_IRQHandler 693 def_irq_handler Reserved93_IRQHandler 694 def_irq_handler Reserved94_IRQHandler 695 def_irq_handler Reserved95_IRQHandler 696 def_irq_handler Reserved96_IRQHandler 697 def_irq_handler Reserved97_IRQHandler 698 def_irq_handler Reserved98_IRQHandler 699 def_irq_handler Reserved99_IRQHandler 700 def_irq_handler Reserved100_IRQHandler 701 def_irq_handler Reserved101_IRQHandler 702 def_irq_handler Reserved102_IRQHandler 703 def_irq_handler Reserved103_IRQHandler 704 def_irq_handler Reserved104_IRQHandler 705 def_irq_handler Reserved105_IRQHandler 706 def_irq_handler Reserved106_IRQHandler 707 def_irq_handler Reserved107_IRQHandler 708 def_irq_handler Reserved108_IRQHandler 709 def_irq_handler Reserved109_IRQHandler 710 def_irq_handler Reserved110_IRQHandler 711 def_irq_handler Reserved111_IRQHandler 712 def_irq_handler Reserved112_IRQHandler 713 def_irq_handler Reserved113_IRQHandler 714 def_irq_handler Reserved114_IRQHandler 715 def_irq_handler Reserved115_IRQHandler 716 def_irq_handler Reserved116_IRQHandler 717 def_irq_handler Reserved117_IRQHandler 718 def_irq_handler Reserved118_IRQHandler 719 def_irq_handler Reserved119_IRQHandler 720 def_irq_handler Reserved120_IRQHandler 721 def_irq_handler Reserved121_IRQHandler 722 def_irq_handler Reserved122_IRQHandler 723 def_irq_handler Reserved123_IRQHandler 724 def_irq_handler Reserved124_IRQHandler 725 def_irq_handler Reserved125_IRQHandler 726 def_irq_handler Reserved126_IRQHandler 727 def_irq_handler Reserved127_IRQHandler 728 def_irq_handler Reserved128_IRQHandler 729 def_irq_handler Reserved129_IRQHandler 730 def_irq_handler Reserved130_IRQHandler 731 def_irq_handler Reserved131_IRQHandler 732 def_irq_handler Reserved132_IRQHandler 733 def_irq_handler Reserved133_IRQHandler 734 def_irq_handler Reserved134_IRQHandler 735 def_irq_handler Reserved135_IRQHandler 736 def_irq_handler Reserved136_IRQHandler 737 def_irq_handler Reserved137_IRQHandler 738 def_irq_handler Reserved138_IRQHandler 739 def_irq_handler Reserved139_IRQHandler 740 def_irq_handler Reserved140_IRQHandler 741 def_irq_handler Reserved141_IRQHandler 742 def_irq_handler Reserved142_IRQHandler 743 def_irq_handler Reserved143_IRQHandler 744 745 .end 746