1/* ------------------------------------------------------------------------- */ 2/* @file: startup_MIMXRT1011.s */ 3/* @purpose: CMSIS Cortex-M7 Core Device Startup File */ 4/* MIMXRT1011 */ 5/* @version: 1.2 */ 6/* @date: 2021-8-10 */ 7/* @build: b231019 */ 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 DMA0_IRQHandler /* DMA channel 0 transfer complete*/ 42 .long DMA1_IRQHandler /* DMA channel 1 transfer complete*/ 43 .long DMA2_IRQHandler /* DMA channel 2 transfer complete*/ 44 .long DMA3_IRQHandler /* DMA channel 3 transfer complete*/ 45 .long DMA4_IRQHandler /* DMA channel 4 transfer complete*/ 46 .long DMA5_IRQHandler /* DMA channel 5 transfer complete*/ 47 .long DMA6_IRQHandler /* DMA channel 6 transfer complete*/ 48 .long DMA7_IRQHandler /* DMA channel 7 transfer complete*/ 49 .long DMA8_IRQHandler /* DMA channel 8 transfer complete*/ 50 .long DMA9_IRQHandler /* DMA channel 9 transfer complete*/ 51 .long DMA10_IRQHandler /* DMA channel 10 transfer complete*/ 52 .long DMA11_IRQHandler /* DMA channel 11 transfer complete*/ 53 .long DMA12_IRQHandler /* DMA channel 12 transfer complete*/ 54 .long DMA13_IRQHandler /* DMA channel 13 transfer complete*/ 55 .long DMA14_IRQHandler /* DMA channel 14 transfer complete*/ 56 .long DMA15_IRQHandler /* DMA channel 15 transfer complete*/ 57 .long DMA_ERROR_IRQHandler /* DMA error interrupt channels 0-15*/ 58 .long CTI0_ERROR_IRQHandler /* CTI trigger outputs*/ 59 .long CTI1_ERROR_IRQHandler /* CTI trigger outputs*/ 60 .long CORE_IRQHandler /* CorePlatform exception IRQ*/ 61 .long LPUART1_IRQHandler /* LPUART1 TX interrupt and RX interrupt*/ 62 .long LPUART2_IRQHandler /* LPUART2 TX interrupt and RX interrupt*/ 63 .long LPUART3_IRQHandler /* LPUART3 TX interrupt and RX interrupt*/ 64 .long LPUART4_IRQHandler /* LPUART4 TX interrupt and RX interrupt*/ 65 .long PIT_IRQHandler /* PIT interrupt*/ 66 .long USB_OTG1_IRQHandler /* USBO2 USB OTG1*/ 67 .long FLEXSPI_IRQHandler /* FlexSPI0 interrupt*/ 68 .long FLEXRAM_IRQHandler /* FlexRAM address out of range Or access hit IRQ*/ 69 .long LPI2C1_IRQHandler /* LPI2C1 interrupt*/ 70 .long LPI2C2_IRQHandler /* LPI2C2 interrupt*/ 71 .long GPT1_IRQHandler /* GPT1 interrupt*/ 72 .long GPT2_IRQHandler /* GPT2 interrupt*/ 73 .long LPSPI1_IRQHandler /* LPSPI1 single interrupt vector for all sources*/ 74 .long LPSPI2_IRQHandler /* LPSPI2 single interrupt vector for all sources*/ 75 .long PWM1_0_IRQHandler /* PWM1 capture 0, compare 0, or reload 0 interrupt*/ 76 .long PWM1_1_IRQHandler /* PWM1 capture 1, compare 1, or reload 0 interrupt*/ 77 .long PWM1_2_IRQHandler /* PWM1 capture 2, compare 2, or reload 0 interrupt*/ 78 .long PWM1_3_IRQHandler /* PWM1 capture 3, compare 3, or reload 0 interrupt*/ 79 .long PWM1_FAULT_IRQHandler /* PWM1 fault or reload error interrupt*/ 80 .long KPP_IRQHandler /* Keypad nterrupt*/ 81 .long SRC_IRQHandler /* SRC interrupt*/ 82 .long GPR_IRQ_IRQHandler /* Used to notify cores on exception condition while boot*/ 83 .long CCM_1_IRQHandler /* CCM IRQ1 interrupt*/ 84 .long CCM_2_IRQHandler /* CCM IRQ2 interrupt*/ 85 .long EWM_IRQHandler /* EWM interrupt*/ 86 .long WDOG2_IRQHandler /* WDOG2 interrupt*/ 87 .long SNVS_HP_WRAPPER_IRQHandler /* SNVS Functional Interrupt*/ 88 .long SNVS_HP_WRAPPER_TZ_IRQHandler /* SNVS Security Interrupt*/ 89 .long SNVS_LP_WRAPPER_IRQHandler /* ON-OFF button press shorter than 5 secs (pulse event)*/ 90 .long CSU_IRQHandler /* CSU interrupt*/ 91 .long DCP_IRQHandler /* Combined DCP channel interrupts(except channel 0) and CRC interrupt*/ 92 .long DCP_VMI_IRQHandler /* IRQ of DCP channel 0*/ 93 .long Reserved68_IRQHandler /* Reserved interrupt*/ 94 .long TRNG_IRQHandler /* TRNG interrupt*/ 95 .long Reserved70_IRQHandler /* Reserved interrupt*/ 96 .long Reserved71_IRQHandler /* Reserved interrupt*/ 97 .long SAI1_IRQHandler /* SAI1 interrupt*/ 98 .long RTWDOG_IRQHandler /* RTWDOG interrupt*/ 99 .long SAI3_RX_IRQHandler /* SAI3 interrupt*/ 100 .long SAI3_TX_IRQHandler /* SAI3 interrupt*/ 101 .long SPDIF_IRQHandler /* SPDIF interrupt*/ 102 .long PMU_IRQHandler /* PMU interrupt*/ 103 .long XBAR1_IRQ_0_1_2_3_IRQHandler /* XBAR1 interrupt*/ 104 .long TEMP_LOW_HIGH_IRQHandler /* TEMPMON interrupt*/ 105 .long TEMP_PANIC_IRQHandler /* TEMPMON interrupt*/ 106 .long USB_PHY_IRQHandler /* USBPHY (OTG1 UTMI), Interrupt*/ 107 .long GPC_IRQHandler /* GPC interrupt*/ 108 .long ADC1_IRQHandler /* ADC1 interrupt*/ 109 .long FLEXIO1_IRQHandler /* FLEXIO1 interrupt*/ 110 .long DCDC_IRQHandler /* DCDC interrupt*/ 111 .long GPIO1_Combined_0_15_IRQHandler /* Combined interrupt indication for GPIO1 signal 0 throughout 15*/ 112 .long GPIO1_Combined_16_31_IRQHandler /* Combined interrupt indication for GPIO1 signal 16 throughout 31*/ 113 .long GPIO2_Combined_0_15_IRQHandler /* Combined interrupt indication for GPIO2 signal 0 throughout 15*/ 114 .long GPIO5_Combined_0_15_IRQHandler /* Combined interrupt indication for GPIO5 signal 0 throughout 15*/ 115 .long WDOG1_IRQHandler /* WDOG1 interrupt*/ 116 .long ADC_ETC_IRQ0_IRQHandler /* ADCETC IRQ0 interrupt*/ 117 .long ADC_ETC_IRQ1_IRQHandler /* ADCETC IRQ1 interrupt*/ 118 .long ADC_ETC_IRQ2_IRQHandler /* ADCETC IRQ2 interrupt*/ 119 .long ADC_ETC_IRQ3_IRQHandler /* ADCETC IRQ3 interrupt*/ 120 .long ADC_ETC_ERROR_IRQ_IRQHandler /* ADCETC Error IRQ interrupt*/ 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 * __noncachedata_start__/__noncachedata_end__ : none cachable region 317 * __ram_function_start__/__ram_function_end__ : ramfunction region 318 * copied to. Both must be aligned to 4 bytes boundary. */ 319 320 ldr r1, =__etext 321 ldr r2, =__data_start__ 322 ldr r3, =__data_end__ 323 324#ifdef __PERFORMANCE_IMPLEMENTATION 325/* Here are two copies of loop implementations. First one favors performance 326 * and the second one favors code size. Default uses the second one. 327 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 328 subs r3, r2 329 ble .LC1 330.LC0: 331 subs r3, #4 332 ldr r0, [r1, r3] 333 str r0, [r2, r3] 334 bgt .LC0 335.LC1: 336#else /* code size implemenation */ 337.LC0: 338 cmp r2, r3 339 ittt lt 340 ldrlt r0, [r1], #4 341 strlt r0, [r2], #4 342 blt .LC0 343#endif 344#ifdef __STARTUP_INITIALIZE_RAMFUNCTION 345 ldr r2, =__ram_function_start__ 346 ldr r3, =__ram_function_end__ 347#ifdef __PERFORMANCE_IMPLEMENTATION 348/* Here are two copies of loop implementations. First one favors performance 349 * and the second one favors code size. Default uses the second one. 350 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 351 subs r3, r2 352 ble .LC_ramfunc_copy_end 353.LC_ramfunc_copy_start: 354 subs r3, #4 355 ldr r0, [r1, r3] 356 str r0, [r2, r3] 357 bgt .LC_ramfunc_copy_start 358.LC_ramfunc_copy_end: 359#else /* code size implemenation */ 360.LC_ramfunc_copy_start: 361 cmp r2, r3 362 ittt lt 363 ldrlt r0, [r1], #4 364 strlt r0, [r2], #4 365 blt .LC_ramfunc_copy_start 366#endif 367#endif /* __STARTUP_INITIALIZE_RAMFUNCTION */ 368#ifdef __STARTUP_INITIALIZE_NONCACHEDATA 369 ldr r2, =__noncachedata_start__ 370 ldr r3, =__noncachedata_init_end__ 371#ifdef __PERFORMANCE_IMPLEMENTATION 372/* Here are two copies of loop implementations. First one favors performance 373 * and the second one favors code size. Default uses the second one. 374 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 375 subs r3, r2 376 ble .LC3 377.LC2: 378 subs r3, #4 379 ldr r0, [r1, r3] 380 str r0, [r2, r3] 381 bgt .LC2 382.LC3: 383#else /* code size implemenation */ 384.LC2: 385 cmp r2, r3 386 ittt lt 387 ldrlt r0, [r1], #4 388 strlt r0, [r2], #4 389 blt .LC2 390#endif 391/* zero inited ncache section initialization */ 392 ldr r3, =__noncachedata_end__ 393 movs r0,0 394.LC4: 395 cmp r2,r3 396 itt lt 397 strlt r0,[r2],#4 398 blt .LC4 399#endif /* __STARTUP_INITIALIZE_NONCACHEDATA */ 400 401#ifdef __STARTUP_CLEAR_BSS 402/* This part of work usually is done in C library startup code. Otherwise, 403 * define this macro to enable it in this startup. 404 * 405 * Loop to zero out BSS section, which uses following symbols 406 * in linker script: 407 * __bss_start__: start of BSS section. Must align to 4 408 * __bss_end__: end of BSS section. Must align to 4 409 */ 410 ldr r1, =__bss_start__ 411 ldr r2, =__bss_end__ 412 413 movs r0, 0 414.LC5: 415 cmp r1, r2 416 itt lt 417 strlt r0, [r1], #4 418 blt .LC5 419#endif /* __STARTUP_CLEAR_BSS */ 420 421 cpsie i /* Unmask interrupts */ 422#ifndef __START 423#ifdef __REDLIB__ 424#define __START __main 425#else 426#define __START _start 427#endif 428#endif 429#ifndef __ATOLLIC__ 430 ldr r0,=__START 431 blx r0 432#else 433 ldr r0,=__libc_init_array 434 blx r0 435 ldr r0,=main 436 bx r0 437#endif 438 .pool 439 .size Reset_Handler, . - Reset_Handler 440 441 .align 1 442 .thumb_func 443 .weak DefaultISR 444 .type DefaultISR, %function 445DefaultISR: 446 b DefaultISR 447 .size DefaultISR, . - DefaultISR 448 449 .align 1 450 .thumb_func 451 .weak NMI_Handler 452 .type NMI_Handler, %function 453NMI_Handler: 454 ldr r0,=NMI_Handler 455 bx r0 456 .size NMI_Handler, . - NMI_Handler 457 458 .align 1 459 .thumb_func 460 .weak HardFault_Handler 461 .type HardFault_Handler, %function 462HardFault_Handler: 463 ldr r0,=HardFault_Handler 464 bx r0 465 .size HardFault_Handler, . - HardFault_Handler 466 467 .align 1 468 .thumb_func 469 .weak SVC_Handler 470 .type SVC_Handler, %function 471SVC_Handler: 472 ldr r0,=SVC_Handler 473 bx r0 474 .size SVC_Handler, . - SVC_Handler 475 476 .align 1 477 .thumb_func 478 .weak PendSV_Handler 479 .type PendSV_Handler, %function 480PendSV_Handler: 481 ldr r0,=PendSV_Handler 482 bx r0 483 .size PendSV_Handler, . - PendSV_Handler 484 485 .align 1 486 .thumb_func 487 .weak SysTick_Handler 488 .type SysTick_Handler, %function 489SysTick_Handler: 490 ldr r0,=SysTick_Handler 491 bx r0 492 .size SysTick_Handler, . - SysTick_Handler 493 494 .align 1 495 .thumb_func 496 .weak DMA0_IRQHandler 497 .type DMA0_IRQHandler, %function 498DMA0_IRQHandler: 499 ldr r0,=DMA0_DriverIRQHandler 500 bx r0 501 .size DMA0_IRQHandler, . - DMA0_IRQHandler 502 503 .align 1 504 .thumb_func 505 .weak DMA1_IRQHandler 506 .type DMA1_IRQHandler, %function 507DMA1_IRQHandler: 508 ldr r0,=DMA1_DriverIRQHandler 509 bx r0 510 .size DMA1_IRQHandler, . - DMA1_IRQHandler 511 512 .align 1 513 .thumb_func 514 .weak DMA2_IRQHandler 515 .type DMA2_IRQHandler, %function 516DMA2_IRQHandler: 517 ldr r0,=DMA2_DriverIRQHandler 518 bx r0 519 .size DMA2_IRQHandler, . - DMA2_IRQHandler 520 521 .align 1 522 .thumb_func 523 .weak DMA3_IRQHandler 524 .type DMA3_IRQHandler, %function 525DMA3_IRQHandler: 526 ldr r0,=DMA3_DriverIRQHandler 527 bx r0 528 .size DMA3_IRQHandler, . - DMA3_IRQHandler 529 530 .align 1 531 .thumb_func 532 .weak DMA4_IRQHandler 533 .type DMA4_IRQHandler, %function 534DMA4_IRQHandler: 535 ldr r0,=DMA4_DriverIRQHandler 536 bx r0 537 .size DMA4_IRQHandler, . - DMA4_IRQHandler 538 539 .align 1 540 .thumb_func 541 .weak DMA5_IRQHandler 542 .type DMA5_IRQHandler, %function 543DMA5_IRQHandler: 544 ldr r0,=DMA5_DriverIRQHandler 545 bx r0 546 .size DMA5_IRQHandler, . - DMA5_IRQHandler 547 548 .align 1 549 .thumb_func 550 .weak DMA6_IRQHandler 551 .type DMA6_IRQHandler, %function 552DMA6_IRQHandler: 553 ldr r0,=DMA6_DriverIRQHandler 554 bx r0 555 .size DMA6_IRQHandler, . - DMA6_IRQHandler 556 557 .align 1 558 .thumb_func 559 .weak DMA7_IRQHandler 560 .type DMA7_IRQHandler, %function 561DMA7_IRQHandler: 562 ldr r0,=DMA7_DriverIRQHandler 563 bx r0 564 .size DMA7_IRQHandler, . - DMA7_IRQHandler 565 566 .align 1 567 .thumb_func 568 .weak DMA8_IRQHandler 569 .type DMA8_IRQHandler, %function 570DMA8_IRQHandler: 571 ldr r0,=DMA8_DriverIRQHandler 572 bx r0 573 .size DMA8_IRQHandler, . - DMA8_IRQHandler 574 575 .align 1 576 .thumb_func 577 .weak DMA9_IRQHandler 578 .type DMA9_IRQHandler, %function 579DMA9_IRQHandler: 580 ldr r0,=DMA9_DriverIRQHandler 581 bx r0 582 .size DMA9_IRQHandler, . - DMA9_IRQHandler 583 584 .align 1 585 .thumb_func 586 .weak DMA10_IRQHandler 587 .type DMA10_IRQHandler, %function 588DMA10_IRQHandler: 589 ldr r0,=DMA10_DriverIRQHandler 590 bx r0 591 .size DMA10_IRQHandler, . - DMA10_IRQHandler 592 593 .align 1 594 .thumb_func 595 .weak DMA11_IRQHandler 596 .type DMA11_IRQHandler, %function 597DMA11_IRQHandler: 598 ldr r0,=DMA11_DriverIRQHandler 599 bx r0 600 .size DMA11_IRQHandler, . - DMA11_IRQHandler 601 602 .align 1 603 .thumb_func 604 .weak DMA12_IRQHandler 605 .type DMA12_IRQHandler, %function 606DMA12_IRQHandler: 607 ldr r0,=DMA12_DriverIRQHandler 608 bx r0 609 .size DMA12_IRQHandler, . - DMA12_IRQHandler 610 611 .align 1 612 .thumb_func 613 .weak DMA13_IRQHandler 614 .type DMA13_IRQHandler, %function 615DMA13_IRQHandler: 616 ldr r0,=DMA13_DriverIRQHandler 617 bx r0 618 .size DMA13_IRQHandler, . - DMA13_IRQHandler 619 620 .align 1 621 .thumb_func 622 .weak DMA14_IRQHandler 623 .type DMA14_IRQHandler, %function 624DMA14_IRQHandler: 625 ldr r0,=DMA14_DriverIRQHandler 626 bx r0 627 .size DMA14_IRQHandler, . - DMA14_IRQHandler 628 629 .align 1 630 .thumb_func 631 .weak DMA15_IRQHandler 632 .type DMA15_IRQHandler, %function 633DMA15_IRQHandler: 634 ldr r0,=DMA15_DriverIRQHandler 635 bx r0 636 .size DMA15_IRQHandler, . - DMA15_IRQHandler 637 638 .align 1 639 .thumb_func 640 .weak DMA_ERROR_IRQHandler 641 .type DMA_ERROR_IRQHandler, %function 642DMA_ERROR_IRQHandler: 643 ldr r0,=DMA_ERROR_DriverIRQHandler 644 bx r0 645 .size DMA_ERROR_IRQHandler, . - DMA_ERROR_IRQHandler 646 647 .align 1 648 .thumb_func 649 .weak LPUART1_IRQHandler 650 .type LPUART1_IRQHandler, %function 651LPUART1_IRQHandler: 652 ldr r0,=LPUART1_DriverIRQHandler 653 bx r0 654 .size LPUART1_IRQHandler, . - LPUART1_IRQHandler 655 656 .align 1 657 .thumb_func 658 .weak LPUART2_IRQHandler 659 .type LPUART2_IRQHandler, %function 660LPUART2_IRQHandler: 661 ldr r0,=LPUART2_DriverIRQHandler 662 bx r0 663 .size LPUART2_IRQHandler, . - LPUART2_IRQHandler 664 665 .align 1 666 .thumb_func 667 .weak LPUART3_IRQHandler 668 .type LPUART3_IRQHandler, %function 669LPUART3_IRQHandler: 670 ldr r0,=LPUART3_DriverIRQHandler 671 bx r0 672 .size LPUART3_IRQHandler, . - LPUART3_IRQHandler 673 674 .align 1 675 .thumb_func 676 .weak LPUART4_IRQHandler 677 .type LPUART4_IRQHandler, %function 678LPUART4_IRQHandler: 679 ldr r0,=LPUART4_DriverIRQHandler 680 bx r0 681 .size LPUART4_IRQHandler, . - LPUART4_IRQHandler 682 683 .align 1 684 .thumb_func 685 .weak FLEXSPI_IRQHandler 686 .type FLEXSPI_IRQHandler, %function 687FLEXSPI_IRQHandler: 688 ldr r0,=FLEXSPI_DriverIRQHandler 689 bx r0 690 .size FLEXSPI_IRQHandler, . - FLEXSPI_IRQHandler 691 692 .align 1 693 .thumb_func 694 .weak LPI2C1_IRQHandler 695 .type LPI2C1_IRQHandler, %function 696LPI2C1_IRQHandler: 697 ldr r0,=LPI2C1_DriverIRQHandler 698 bx r0 699 .size LPI2C1_IRQHandler, . - LPI2C1_IRQHandler 700 701 .align 1 702 .thumb_func 703 .weak LPI2C2_IRQHandler 704 .type LPI2C2_IRQHandler, %function 705LPI2C2_IRQHandler: 706 ldr r0,=LPI2C2_DriverIRQHandler 707 bx r0 708 .size LPI2C2_IRQHandler, . - LPI2C2_IRQHandler 709 710 .align 1 711 .thumb_func 712 .weak LPSPI1_IRQHandler 713 .type LPSPI1_IRQHandler, %function 714LPSPI1_IRQHandler: 715 ldr r0,=LPSPI1_DriverIRQHandler 716 bx r0 717 .size LPSPI1_IRQHandler, . - LPSPI1_IRQHandler 718 719 .align 1 720 .thumb_func 721 .weak LPSPI2_IRQHandler 722 .type LPSPI2_IRQHandler, %function 723LPSPI2_IRQHandler: 724 ldr r0,=LPSPI2_DriverIRQHandler 725 bx r0 726 .size LPSPI2_IRQHandler, . - LPSPI2_IRQHandler 727 728 .align 1 729 .thumb_func 730 .weak SAI1_IRQHandler 731 .type SAI1_IRQHandler, %function 732SAI1_IRQHandler: 733 ldr r0,=SAI1_DriverIRQHandler 734 bx r0 735 .size SAI1_IRQHandler, . - SAI1_IRQHandler 736 737 .align 1 738 .thumb_func 739 .weak SAI3_RX_IRQHandler 740 .type SAI3_RX_IRQHandler, %function 741SAI3_RX_IRQHandler: 742 ldr r0,=SAI3_RX_DriverIRQHandler 743 bx r0 744 .size SAI3_RX_IRQHandler, . - SAI3_RX_IRQHandler 745 746 .align 1 747 .thumb_func 748 .weak SAI3_TX_IRQHandler 749 .type SAI3_TX_IRQHandler, %function 750SAI3_TX_IRQHandler: 751 ldr r0,=SAI3_TX_DriverIRQHandler 752 bx r0 753 .size SAI3_TX_IRQHandler, . - SAI3_TX_IRQHandler 754 755 .align 1 756 .thumb_func 757 .weak SPDIF_IRQHandler 758 .type SPDIF_IRQHandler, %function 759SPDIF_IRQHandler: 760 ldr r0,=SPDIF_DriverIRQHandler 761 bx r0 762 .size SPDIF_IRQHandler, . - SPDIF_IRQHandler 763 764 .align 1 765 .thumb_func 766 .weak FLEXIO1_IRQHandler 767 .type FLEXIO1_IRQHandler, %function 768FLEXIO1_IRQHandler: 769 ldr r0,=FLEXIO1_DriverIRQHandler 770 bx r0 771 .size FLEXIO1_IRQHandler, . - FLEXIO1_IRQHandler 772 773 774/* Macro to define default handlers. Default handler 775 * will be weak symbol and just dead loops. They can be 776 * overwritten by other handlers */ 777 .macro def_irq_handler handler_name 778 .weak \handler_name 779 .set \handler_name, DefaultISR 780 .endm 781/* Exception Handlers */ 782 def_irq_handler MemManage_Handler 783 def_irq_handler BusFault_Handler 784 def_irq_handler UsageFault_Handler 785 def_irq_handler DebugMon_Handler 786 def_irq_handler DMA0_DriverIRQHandler 787 def_irq_handler DMA1_DriverIRQHandler 788 def_irq_handler DMA2_DriverIRQHandler 789 def_irq_handler DMA3_DriverIRQHandler 790 def_irq_handler DMA4_DriverIRQHandler 791 def_irq_handler DMA5_DriverIRQHandler 792 def_irq_handler DMA6_DriverIRQHandler 793 def_irq_handler DMA7_DriverIRQHandler 794 def_irq_handler DMA8_DriverIRQHandler 795 def_irq_handler DMA9_DriverIRQHandler 796 def_irq_handler DMA10_DriverIRQHandler 797 def_irq_handler DMA11_DriverIRQHandler 798 def_irq_handler DMA12_DriverIRQHandler 799 def_irq_handler DMA13_DriverIRQHandler 800 def_irq_handler DMA14_DriverIRQHandler 801 def_irq_handler DMA15_DriverIRQHandler 802 def_irq_handler DMA_ERROR_DriverIRQHandler 803 def_irq_handler CTI0_ERROR_IRQHandler 804 def_irq_handler CTI1_ERROR_IRQHandler 805 def_irq_handler CORE_IRQHandler 806 def_irq_handler LPUART1_DriverIRQHandler 807 def_irq_handler LPUART2_DriverIRQHandler 808 def_irq_handler LPUART3_DriverIRQHandler 809 def_irq_handler LPUART4_DriverIRQHandler 810 def_irq_handler PIT_IRQHandler 811 def_irq_handler USB_OTG1_IRQHandler 812 def_irq_handler FLEXSPI_DriverIRQHandler 813 def_irq_handler FLEXRAM_IRQHandler 814 def_irq_handler LPI2C1_DriverIRQHandler 815 def_irq_handler LPI2C2_DriverIRQHandler 816 def_irq_handler GPT1_IRQHandler 817 def_irq_handler GPT2_IRQHandler 818 def_irq_handler LPSPI1_DriverIRQHandler 819 def_irq_handler LPSPI2_DriverIRQHandler 820 def_irq_handler PWM1_0_IRQHandler 821 def_irq_handler PWM1_1_IRQHandler 822 def_irq_handler PWM1_2_IRQHandler 823 def_irq_handler PWM1_3_IRQHandler 824 def_irq_handler PWM1_FAULT_IRQHandler 825 def_irq_handler KPP_IRQHandler 826 def_irq_handler SRC_IRQHandler 827 def_irq_handler GPR_IRQ_IRQHandler 828 def_irq_handler CCM_1_IRQHandler 829 def_irq_handler CCM_2_IRQHandler 830 def_irq_handler EWM_IRQHandler 831 def_irq_handler WDOG2_IRQHandler 832 def_irq_handler SNVS_HP_WRAPPER_IRQHandler 833 def_irq_handler SNVS_HP_WRAPPER_TZ_IRQHandler 834 def_irq_handler SNVS_LP_WRAPPER_IRQHandler 835 def_irq_handler CSU_IRQHandler 836 def_irq_handler DCP_IRQHandler 837 def_irq_handler DCP_VMI_IRQHandler 838 def_irq_handler Reserved68_IRQHandler 839 def_irq_handler TRNG_IRQHandler 840 def_irq_handler Reserved70_IRQHandler 841 def_irq_handler Reserved71_IRQHandler 842 def_irq_handler SAI1_DriverIRQHandler 843 def_irq_handler RTWDOG_IRQHandler 844 def_irq_handler SAI3_RX_DriverIRQHandler 845 def_irq_handler SAI3_TX_DriverIRQHandler 846 def_irq_handler SPDIF_DriverIRQHandler 847 def_irq_handler PMU_IRQHandler 848 def_irq_handler XBAR1_IRQ_0_1_2_3_IRQHandler 849 def_irq_handler TEMP_LOW_HIGH_IRQHandler 850 def_irq_handler TEMP_PANIC_IRQHandler 851 def_irq_handler USB_PHY_IRQHandler 852 def_irq_handler GPC_IRQHandler 853 def_irq_handler ADC1_IRQHandler 854 def_irq_handler FLEXIO1_DriverIRQHandler 855 def_irq_handler DCDC_IRQHandler 856 def_irq_handler GPIO1_Combined_0_15_IRQHandler 857 def_irq_handler GPIO1_Combined_16_31_IRQHandler 858 def_irq_handler GPIO2_Combined_0_15_IRQHandler 859 def_irq_handler GPIO5_Combined_0_15_IRQHandler 860 def_irq_handler WDOG1_IRQHandler 861 def_irq_handler ADC_ETC_IRQ0_IRQHandler 862 def_irq_handler ADC_ETC_IRQ1_IRQHandler 863 def_irq_handler ADC_ETC_IRQ2_IRQHandler 864 def_irq_handler ADC_ETC_IRQ3_IRQHandler 865 def_irq_handler ADC_ETC_ERROR_IRQ_IRQHandler 866 867 .end 868