1/* ------------------------------------------------------------------------- */ 2/* @file: startup_MIMXRT633S.s */ 3/* @purpose: CMSIS Cortex-M33 Core Device Startup File */ 4/* MIMXRT633S */ 5/* @version: 2.0 */ 6/* @date: 2019-11-12 */ 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 armv8-m.main 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 SecureFault_Handler /* Secure Fault Handler*/ 31#if (defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE & 0x2)) 32 .long 0x180000 /* Image length*/ 33#else 34 .long _image_size /* Image length*/ 35#endif 36 .long 0 /* Reserved*/ 37 .long 0 /* Reserved*/ 38 .long SVC_Handler /* SVCall Handler*/ 39 .long DebugMon_Handler /* Debug Monitor Handler*/ 40 .long __isr_vector /* Image load address*/ 41 .long PendSV_Handler /* PendSV Handler*/ 42 .long SysTick_Handler /* SysTick Handler*/ 43 44 /* External Interrupts*/ 45 .long WDT0_IRQHandler /* Windowed watchdog timer 0 (CM33 watchdog)*/ 46 .long DMA0_IRQHandler /* DMA controller 0 (secure or CM33 DMA)*/ 47 .long GPIO_INTA_IRQHandler /* GPIO interrupt A*/ 48 .long GPIO_INTB_IRQHandler /* GPIO interrupt B*/ 49 .long PIN_INT0_IRQHandler /* Pin interrupt 0 or pattern match engine slice 0 int*/ 50 .long PIN_INT1_IRQHandler /* Pin interrupt 1 or pattern match engine slice 1 int*/ 51 .long PIN_INT2_IRQHandler /* Pin interrupt 2 or pattern match engine slice 2 int*/ 52 .long PIN_INT3_IRQHandler /* Pin interrupt 3 or pattern match engine slice 3 int*/ 53 .long UTICK0_IRQHandler /* Micro-tick Timer*/ 54 .long MRT0_IRQHandler /* Multi-Rate Timer*/ 55 .long CTIMER0_IRQHandler /* Standard counter/timer CTIMER0*/ 56 .long CTIMER1_IRQHandler /* Standard counter/timer CTIMER1*/ 57 .long SCT0_IRQHandler /* SCTimer/PWM*/ 58 .long CTIMER3_IRQHandler /* Standard counter/timer CTIMER3*/ 59 .long FLEXCOMM0_IRQHandler /* Flexcomm Interface 0 (USART, SPI, I2C, I2S)*/ 60 .long FLEXCOMM1_IRQHandler /* Flexcomm Interface 1 (USART, SPI, I2C, I2S)*/ 61 .long FLEXCOMM2_IRQHandler /* Flexcomm Interface 2 (USART, SPI, I2C, I2S)*/ 62 .long FLEXCOMM3_IRQHandler /* Flexcomm Interface 3 (USART, SPI, I2C, I2S)*/ 63 .long FLEXCOMM4_IRQHandler /* Flexcomm Interface 4 (USART, SPI, I2C, I2S)*/ 64 .long FLEXCOMM5_IRQHandler /* Flexcomm Interface 5 (USART, SPI, I2C, I2S)*/ 65 .long FLEXCOMM14_IRQHandler /* Flexcomm Interface 14 (SPI only)*/ 66 .long FLEXCOMM15_IRQHandler /* Flexcomm Interface 15 (I2C only)*/ 67 .long ADC0_IRQHandler /* ADC0 */ 68 .long Reserved39_IRQHandler /* Reserved interrupt*/ 69 .long ACMP_IRQHandler /* Analog comparator*/ 70 .long DMIC0_IRQHandler /* Digital microphone and DMIC subsystem*/ 71 .long Reserved42_IRQHandler /* Reserved interrupt*/ 72 .long HYPERVISOR_IRQHandler /* Hypervisor*/ 73 .long SECUREVIOLATION_IRQHandler /* Secure violation*/ 74 .long HWVAD0_IRQHandler /* Hardware Voice Activity Detector*/ 75 .long Reserved46_IRQHandler /* Reserved interrupt*/ 76 .long RNG_IRQHandler /* Random number Generator*/ 77 .long RTC_IRQHandler /* RTC alarm and wake-up*/ 78 .long Reserved49_IRQHandler /* Reserved interrupt*/ 79 .long MU_A_IRQHandler /* Messaging Unit port A for CM33*/ 80 .long PIN_INT4_IRQHandler /* Pin interrupt 4 or pattern match engine slice 4 int*/ 81 .long PIN_INT5_IRQHandler /* Pin interrupt 5 or pattern match engine slice 5 int*/ 82 .long PIN_INT6_IRQHandler /* Pin interrupt 6 or pattern match engine slice 6 int*/ 83 .long PIN_INT7_IRQHandler /* Pin interrupt 7 or pattern match engine slice 7 int*/ 84 .long CTIMER2_IRQHandler /* Standard counter/timer CTIMER2*/ 85 .long CTIMER4_IRQHandler /* Standard counter/timer CTIMER4*/ 86 .long OS_EVENT_IRQHandler /* OS event timer*/ 87 .long FLEXSPI_IRQHandler /* FLEXSPI interface*/ 88 .long FLEXCOMM6_IRQHandler /* Flexcomm Interface 6 (USART, SPI, I2C, I2S)*/ 89 .long FLEXCOMM7_IRQHandler /* Flexcomm Interface 7 (USART, SPI, I2C, I2S)*/ 90 .long USDHC0_IRQHandler /* USDHC0 (Enhanced SDHC) interrupt request*/ 91 .long USDHC1_IRQHandler /* USDHC1 (Enhanced SDHC) interrupt request*/ 92 .long SGPIO_INTA_IRQHandler /* Secure GPIO interrupt A*/ 93 .long SGPIO_INTB_IRQHandler /* Secure GPIO interrupt B*/ 94 .long I3C0_IRQHandler /* I3C interface 0*/ 95 .long USB_IRQHandler /* High-speed USB device/host*/ 96 .long USB_WAKEUP_IRQHandler /* USB Activity Wake-up Interrupt*/ 97 .long WDT1_IRQHandler /* Windowed watchdog timer 1 (HiFi 4 watchdog)*/ 98 .long USBPHY_DCD_IRQHandler /* USBPHY DCD*/ 99 .long DMA1_IRQHandler /* DMA controller 1 (non-secure or HiFi 4 DMA)*/ 100 .long PUF_IRQHandler /* Physical Unclonable Function*/ 101 .long POWERQUAD_IRQHandler /* PowerQuad math coprocessor*/ 102 .long CASPER_IRQHandler /* Casper cryptographic coprocessor*/ 103 .long PMC_PMIC_IRQHandler /* Power management IC*/ 104 .long HASHCRYPT_IRQHandler /* Hash-AES unit*/ 105 106 .size __isr_vector, . - __isr_vector 107 108 .text 109 .thumb 110 111#if defined (__cplusplus) 112#ifdef __REDLIB__ 113#error Redlib does not support C++ 114#endif 115#endif 116/* Reset Handler */ 117 118 .thumb_func 119 .align 2 120 .globl Reset_Handler 121 .weak Reset_Handler 122 .type Reset_Handler, %function 123Reset_Handler: 124 cpsid i /* Mask interrupts */ 125 .equ VTOR, 0xE000ED08 126 ldr r0, =VTOR 127 ldr r1, =__isr_vector 128 str r1, [r0] 129 ldr r2, [r1] 130 msr msp, r2 131 ldr r0, =__StackLimit 132 msr msplim, r0 133#ifndef __NO_SYSTEM_INIT 134 ldr r0,=SystemInit 135 blx r0 136#endif 137/* Loop to copy data from read only memory to RAM. The ranges 138 * of copy from/to are specified by following symbols evaluated in 139 * linker script. 140 * __etext: End of code section, i.e., begin of data sections to copy from. 141 * __data_start__/__data_end__: RAM address range that data should be 142 * copied to. Both must be aligned to 4 bytes boundary. */ 143 144 ldr r1, =__etext 145 ldr r2, =__data_start__ 146 ldr r3, =__data_end__ 147 148#if 1 149/* Here are two copies of loop implemenations. First one favors code size 150 * and the second one favors performance. Default uses the first one. 151 * Change to "#if 0" to use the second one */ 152.LC0: 153 cmp r2, r3 154 ittt lt 155 ldrlt r0, [r1], #4 156 strlt r0, [r2], #4 157 blt .LC0 158#else 159 subs r3, r2 160 ble .LC1 161.LC0: 162 subs r3, #4 163 ldr r0, [r1, r3] 164 str r0, [r2, r3] 165 bgt .LC0 166.LC1: 167#endif 168 169#ifdef __STARTUP_CLEAR_BSS 170/* This part of work usually is done in C library startup code. Otherwise, 171 * define this macro to enable it in this startup. 172 * 173 * Loop to zero out BSS section, which uses following symbols 174 * in linker script: 175 * __bss_start__: start of BSS section. Must align to 4 176 * __bss_end__: end of BSS section. Must align to 4 177 */ 178 ldr r1, =__bss_start__ 179 ldr r2, =__bss_end__ 180 181 movs r0, 0 182.LC2: 183 cmp r1, r2 184 itt lt 185 strlt r0, [r1], #4 186 blt .LC2 187#endif /* __STARTUP_CLEAR_BSS */ 188 189/* Add stack / heap initializaiton */ 190 movs r0, 0 191 ldr r1, =__HeapBase 192 ldr r2, =__HeapLimit 193.LC3: 194 cmp r1, r2 195 itt lt 196 strlt r0, [r1], #4 197 blt .LC3 198 199 ldr r1, =__StackLimit 200 ldr r2, =__StackTop 201.LC4: 202 cmp r1, r2 203 itt lt 204 strlt r0, [r1], #4 205 blt .LC4 206 207/*End of stack / heap initializaiton */ 208 cpsie i /* Unmask interrupts */ 209#ifndef __START 210#ifdef __REDLIB__ 211#define __START __main 212#else 213#define __START _start 214#endif 215#endif 216#ifndef __ATOLLIC__ 217 ldr r0,=__START 218 blx r0 219#else 220 ldr r0,=__libc_init_array 221 blx r0 222 ldr r0,=main 223 bx r0 224#endif 225 .pool 226 .size Reset_Handler, . - Reset_Handler 227 228 .align 1 229 .thumb_func 230 .weak DefaultISR 231 .type DefaultISR, %function 232DefaultISR: 233 b DefaultISR 234 .size DefaultISR, . - DefaultISR 235 236 .align 1 237 .thumb_func 238 .weak NMI_Handler 239 .type NMI_Handler, %function 240NMI_Handler: 241 ldr r0,=NMI_Handler 242 bx r0 243 .size NMI_Handler, . - NMI_Handler 244 245 .align 1 246 .thumb_func 247 .weak HardFault_Handler 248 .type HardFault_Handler, %function 249HardFault_Handler: 250 ldr r0,=HardFault_Handler 251 bx r0 252 .size HardFault_Handler, . - HardFault_Handler 253 254 .align 1 255 .thumb_func 256 .weak SVC_Handler 257 .type SVC_Handler, %function 258SVC_Handler: 259 ldr r0,=SVC_Handler 260 bx r0 261 .size SVC_Handler, . - SVC_Handler 262 263 .align 1 264 .thumb_func 265 .weak PendSV_Handler 266 .type PendSV_Handler, %function 267PendSV_Handler: 268 ldr r0,=PendSV_Handler 269 bx r0 270 .size PendSV_Handler, . - PendSV_Handler 271 272 .align 1 273 .thumb_func 274 .weak SysTick_Handler 275 .type SysTick_Handler, %function 276SysTick_Handler: 277 ldr r0,=SysTick_Handler 278 bx r0 279 .size SysTick_Handler, . - SysTick_Handler 280 281 .align 1 282 .thumb_func 283 .weak WDT0_IRQHandler 284 .type WDT0_IRQHandler, %function 285WDT0_IRQHandler: 286 ldr r0,=WDT0_DriverIRQHandler 287 bx r0 288 .size WDT0_IRQHandler, . - WDT0_IRQHandler 289 290 .align 1 291 .thumb_func 292 .weak DMA0_IRQHandler 293 .type DMA0_IRQHandler, %function 294DMA0_IRQHandler: 295 ldr r0,=DMA0_DriverIRQHandler 296 bx r0 297 .size DMA0_IRQHandler, . - DMA0_IRQHandler 298 299 .align 1 300 .thumb_func 301 .weak GPIO_INTA_IRQHandler 302 .type GPIO_INTA_IRQHandler, %function 303GPIO_INTA_IRQHandler: 304 ldr r0,=GPIO_INTA_DriverIRQHandler 305 bx r0 306 .size GPIO_INTA_IRQHandler, . - GPIO_INTA_IRQHandler 307 308 .align 1 309 .thumb_func 310 .weak GPIO_INTB_IRQHandler 311 .type GPIO_INTB_IRQHandler, %function 312GPIO_INTB_IRQHandler: 313 ldr r0,=GPIO_INTB_DriverIRQHandler 314 bx r0 315 .size GPIO_INTB_IRQHandler, . - GPIO_INTB_IRQHandler 316 317 .align 1 318 .thumb_func 319 .weak PIN_INT0_IRQHandler 320 .type PIN_INT0_IRQHandler, %function 321PIN_INT0_IRQHandler: 322 ldr r0,=PIN_INT0_DriverIRQHandler 323 bx r0 324 .size PIN_INT0_IRQHandler, . - PIN_INT0_IRQHandler 325 326 .align 1 327 .thumb_func 328 .weak PIN_INT1_IRQHandler 329 .type PIN_INT1_IRQHandler, %function 330PIN_INT1_IRQHandler: 331 ldr r0,=PIN_INT1_DriverIRQHandler 332 bx r0 333 .size PIN_INT1_IRQHandler, . - PIN_INT1_IRQHandler 334 335 .align 1 336 .thumb_func 337 .weak PIN_INT2_IRQHandler 338 .type PIN_INT2_IRQHandler, %function 339PIN_INT2_IRQHandler: 340 ldr r0,=PIN_INT2_DriverIRQHandler 341 bx r0 342 .size PIN_INT2_IRQHandler, . - PIN_INT2_IRQHandler 343 344 .align 1 345 .thumb_func 346 .weak PIN_INT3_IRQHandler 347 .type PIN_INT3_IRQHandler, %function 348PIN_INT3_IRQHandler: 349 ldr r0,=PIN_INT3_DriverIRQHandler 350 bx r0 351 .size PIN_INT3_IRQHandler, . - PIN_INT3_IRQHandler 352 353 .align 1 354 .thumb_func 355 .weak UTICK0_IRQHandler 356 .type UTICK0_IRQHandler, %function 357UTICK0_IRQHandler: 358 ldr r0,=UTICK0_DriverIRQHandler 359 bx r0 360 .size UTICK0_IRQHandler, . - UTICK0_IRQHandler 361 362 .align 1 363 .thumb_func 364 .weak MRT0_IRQHandler 365 .type MRT0_IRQHandler, %function 366MRT0_IRQHandler: 367 ldr r0,=MRT0_DriverIRQHandler 368 bx r0 369 .size MRT0_IRQHandler, . - MRT0_IRQHandler 370 371 .align 1 372 .thumb_func 373 .weak CTIMER0_IRQHandler 374 .type CTIMER0_IRQHandler, %function 375CTIMER0_IRQHandler: 376 ldr r0,=CTIMER0_DriverIRQHandler 377 bx r0 378 .size CTIMER0_IRQHandler, . - CTIMER0_IRQHandler 379 380 .align 1 381 .thumb_func 382 .weak CTIMER1_IRQHandler 383 .type CTIMER1_IRQHandler, %function 384CTIMER1_IRQHandler: 385 ldr r0,=CTIMER1_DriverIRQHandler 386 bx r0 387 .size CTIMER1_IRQHandler, . - CTIMER1_IRQHandler 388 389 .align 1 390 .thumb_func 391 .weak SCT0_IRQHandler 392 .type SCT0_IRQHandler, %function 393SCT0_IRQHandler: 394 ldr r0,=SCT0_DriverIRQHandler 395 bx r0 396 .size SCT0_IRQHandler, . - SCT0_IRQHandler 397 398 .align 1 399 .thumb_func 400 .weak CTIMER3_IRQHandler 401 .type CTIMER3_IRQHandler, %function 402CTIMER3_IRQHandler: 403 ldr r0,=CTIMER3_DriverIRQHandler 404 bx r0 405 .size CTIMER3_IRQHandler, . - CTIMER3_IRQHandler 406 407 .align 1 408 .thumb_func 409 .weak FLEXCOMM0_IRQHandler 410 .type FLEXCOMM0_IRQHandler, %function 411FLEXCOMM0_IRQHandler: 412 ldr r0,=FLEXCOMM0_DriverIRQHandler 413 bx r0 414 .size FLEXCOMM0_IRQHandler, . - FLEXCOMM0_IRQHandler 415 416 .align 1 417 .thumb_func 418 .weak FLEXCOMM1_IRQHandler 419 .type FLEXCOMM1_IRQHandler, %function 420FLEXCOMM1_IRQHandler: 421 ldr r0,=FLEXCOMM1_DriverIRQHandler 422 bx r0 423 .size FLEXCOMM1_IRQHandler, . - FLEXCOMM1_IRQHandler 424 425 .align 1 426 .thumb_func 427 .weak FLEXCOMM2_IRQHandler 428 .type FLEXCOMM2_IRQHandler, %function 429FLEXCOMM2_IRQHandler: 430 ldr r0,=FLEXCOMM2_DriverIRQHandler 431 bx r0 432 .size FLEXCOMM2_IRQHandler, . - FLEXCOMM2_IRQHandler 433 434 .align 1 435 .thumb_func 436 .weak FLEXCOMM3_IRQHandler 437 .type FLEXCOMM3_IRQHandler, %function 438FLEXCOMM3_IRQHandler: 439 ldr r0,=FLEXCOMM3_DriverIRQHandler 440 bx r0 441 .size FLEXCOMM3_IRQHandler, . - FLEXCOMM3_IRQHandler 442 443 .align 1 444 .thumb_func 445 .weak FLEXCOMM4_IRQHandler 446 .type FLEXCOMM4_IRQHandler, %function 447FLEXCOMM4_IRQHandler: 448 ldr r0,=FLEXCOMM4_DriverIRQHandler 449 bx r0 450 .size FLEXCOMM4_IRQHandler, . - FLEXCOMM4_IRQHandler 451 452 .align 1 453 .thumb_func 454 .weak FLEXCOMM5_IRQHandler 455 .type FLEXCOMM5_IRQHandler, %function 456FLEXCOMM5_IRQHandler: 457 ldr r0,=FLEXCOMM5_DriverIRQHandler 458 bx r0 459 .size FLEXCOMM5_IRQHandler, . - FLEXCOMM5_IRQHandler 460 461 .align 1 462 .thumb_func 463 .weak FLEXCOMM14_IRQHandler 464 .type FLEXCOMM14_IRQHandler, %function 465FLEXCOMM14_IRQHandler: 466 ldr r0,=FLEXCOMM14_DriverIRQHandler 467 bx r0 468 .size FLEXCOMM14_IRQHandler, . - FLEXCOMM14_IRQHandler 469 470 .align 1 471 .thumb_func 472 .weak FLEXCOMM15_IRQHandler 473 .type FLEXCOMM15_IRQHandler, %function 474FLEXCOMM15_IRQHandler: 475 ldr r0,=FLEXCOMM15_DriverIRQHandler 476 bx r0 477 .size FLEXCOMM15_IRQHandler, . - FLEXCOMM15_IRQHandler 478 479 .align 1 480 .thumb_func 481 .weak ADC0_IRQHandler 482 .type ADC0_IRQHandler, %function 483ADC0_IRQHandler: 484 ldr r0,=ADC0_DriverIRQHandler 485 bx r0 486 .size ADC0_IRQHandler, . - ADC0_IRQHandler 487 488 .align 1 489 .thumb_func 490 .weak Reserved39_IRQHandler 491 .type Reserved39_IRQHandler, %function 492Reserved39_IRQHandler: 493 ldr r0,=Reserved39_DriverIRQHandler 494 bx r0 495 .size Reserved39_IRQHandler, . - Reserved39_IRQHandler 496 497 .align 1 498 .thumb_func 499 .weak ACMP_IRQHandler 500 .type ACMP_IRQHandler, %function 501ACMP_IRQHandler: 502 ldr r0,=ACMP_DriverIRQHandler 503 bx r0 504 .size ACMP_IRQHandler, . - ACMP_IRQHandler 505 506 .align 1 507 .thumb_func 508 .weak DMIC0_IRQHandler 509 .type DMIC0_IRQHandler, %function 510DMIC0_IRQHandler: 511 ldr r0,=DMIC0_DriverIRQHandler 512 bx r0 513 .size DMIC0_IRQHandler, . - DMIC0_IRQHandler 514 515 .align 1 516 .thumb_func 517 .weak Reserved42_IRQHandler 518 .type Reserved42_IRQHandler, %function 519Reserved42_IRQHandler: 520 ldr r0,=Reserved42_DriverIRQHandler 521 bx r0 522 .size Reserved42_IRQHandler, . - Reserved42_IRQHandler 523 524 .align 1 525 .thumb_func 526 .weak HYPERVISOR_IRQHandler 527 .type HYPERVISOR_IRQHandler, %function 528HYPERVISOR_IRQHandler: 529 ldr r0,=HYPERVISOR_DriverIRQHandler 530 bx r0 531 .size HYPERVISOR_IRQHandler, . - HYPERVISOR_IRQHandler 532 533 .align 1 534 .thumb_func 535 .weak SECUREVIOLATION_IRQHandler 536 .type SECUREVIOLATION_IRQHandler, %function 537SECUREVIOLATION_IRQHandler: 538 ldr r0,=SECUREVIOLATION_DriverIRQHandler 539 bx r0 540 .size SECUREVIOLATION_IRQHandler, . - SECUREVIOLATION_IRQHandler 541 542 .align 1 543 .thumb_func 544 .weak HWVAD0_IRQHandler 545 .type HWVAD0_IRQHandler, %function 546HWVAD0_IRQHandler: 547 ldr r0,=HWVAD0_DriverIRQHandler 548 bx r0 549 .size HWVAD0_IRQHandler, . - HWVAD0_IRQHandler 550 551 .align 1 552 .thumb_func 553 .weak Reserved46_IRQHandler 554 .type Reserved46_IRQHandler, %function 555Reserved46_IRQHandler: 556 ldr r0,=Reserved46_DriverIRQHandler 557 bx r0 558 .size Reserved46_IRQHandler, . - Reserved46_IRQHandler 559 560 .align 1 561 .thumb_func 562 .weak RNG_IRQHandler 563 .type RNG_IRQHandler, %function 564RNG_IRQHandler: 565 ldr r0,=RNG_DriverIRQHandler 566 bx r0 567 .size RNG_IRQHandler, . - RNG_IRQHandler 568 569 .align 1 570 .thumb_func 571 .weak RTC_IRQHandler 572 .type RTC_IRQHandler, %function 573RTC_IRQHandler: 574 ldr r0,=RTC_DriverIRQHandler 575 bx r0 576 .size RTC_IRQHandler, . - RTC_IRQHandler 577 578 .align 1 579 .thumb_func 580 .weak Reserved49_IRQHandler 581 .type Reserved49_IRQHandler, %function 582Reserved49_IRQHandler: 583 ldr r0,=Reserved49_DriverIRQHandler 584 bx r0 585 .size Reserved49_IRQHandler, . - Reserved49_IRQHandler 586 587 .align 1 588 .thumb_func 589 .weak MU_A_IRQHandler 590 .type MU_A_IRQHandler, %function 591MU_A_IRQHandler: 592 ldr r0,=MU_A_DriverIRQHandler 593 bx r0 594 .size MU_A_IRQHandler, . - MU_A_IRQHandler 595 596 .align 1 597 .thumb_func 598 .weak PIN_INT4_IRQHandler 599 .type PIN_INT4_IRQHandler, %function 600PIN_INT4_IRQHandler: 601 ldr r0,=PIN_INT4_DriverIRQHandler 602 bx r0 603 .size PIN_INT4_IRQHandler, . - PIN_INT4_IRQHandler 604 605 .align 1 606 .thumb_func 607 .weak PIN_INT5_IRQHandler 608 .type PIN_INT5_IRQHandler, %function 609PIN_INT5_IRQHandler: 610 ldr r0,=PIN_INT5_DriverIRQHandler 611 bx r0 612 .size PIN_INT5_IRQHandler, . - PIN_INT5_IRQHandler 613 614 .align 1 615 .thumb_func 616 .weak PIN_INT6_IRQHandler 617 .type PIN_INT6_IRQHandler, %function 618PIN_INT6_IRQHandler: 619 ldr r0,=PIN_INT6_DriverIRQHandler 620 bx r0 621 .size PIN_INT6_IRQHandler, . - PIN_INT6_IRQHandler 622 623 .align 1 624 .thumb_func 625 .weak PIN_INT7_IRQHandler 626 .type PIN_INT7_IRQHandler, %function 627PIN_INT7_IRQHandler: 628 ldr r0,=PIN_INT7_DriverIRQHandler 629 bx r0 630 .size PIN_INT7_IRQHandler, . - PIN_INT7_IRQHandler 631 632 .align 1 633 .thumb_func 634 .weak CTIMER2_IRQHandler 635 .type CTIMER2_IRQHandler, %function 636CTIMER2_IRQHandler: 637 ldr r0,=CTIMER2_DriverIRQHandler 638 bx r0 639 .size CTIMER2_IRQHandler, . - CTIMER2_IRQHandler 640 641 .align 1 642 .thumb_func 643 .weak CTIMER4_IRQHandler 644 .type CTIMER4_IRQHandler, %function 645CTIMER4_IRQHandler: 646 ldr r0,=CTIMER4_DriverIRQHandler 647 bx r0 648 .size CTIMER4_IRQHandler, . - CTIMER4_IRQHandler 649 650 .align 1 651 .thumb_func 652 .weak OS_EVENT_IRQHandler 653 .type OS_EVENT_IRQHandler, %function 654OS_EVENT_IRQHandler: 655 ldr r0,=OS_EVENT_DriverIRQHandler 656 bx r0 657 .size OS_EVENT_IRQHandler, . - OS_EVENT_IRQHandler 658 659 .align 1 660 .thumb_func 661 .weak FLEXSPI_IRQHandler 662 .type FLEXSPI_IRQHandler, %function 663FLEXSPI_IRQHandler: 664 ldr r0,=FLEXSPI_DriverIRQHandler 665 bx r0 666 .size FLEXSPI_IRQHandler, . - FLEXSPI_IRQHandler 667 668 .align 1 669 .thumb_func 670 .weak FLEXCOMM6_IRQHandler 671 .type FLEXCOMM6_IRQHandler, %function 672FLEXCOMM6_IRQHandler: 673 ldr r0,=FLEXCOMM6_DriverIRQHandler 674 bx r0 675 .size FLEXCOMM6_IRQHandler, . - FLEXCOMM6_IRQHandler 676 677 .align 1 678 .thumb_func 679 .weak FLEXCOMM7_IRQHandler 680 .type FLEXCOMM7_IRQHandler, %function 681FLEXCOMM7_IRQHandler: 682 ldr r0,=FLEXCOMM7_DriverIRQHandler 683 bx r0 684 .size FLEXCOMM7_IRQHandler, . - FLEXCOMM7_IRQHandler 685 686 .align 1 687 .thumb_func 688 .weak USDHC0_IRQHandler 689 .type USDHC0_IRQHandler, %function 690USDHC0_IRQHandler: 691 ldr r0,=USDHC0_DriverIRQHandler 692 bx r0 693 .size USDHC0_IRQHandler, . - USDHC0_IRQHandler 694 695 .align 1 696 .thumb_func 697 .weak USDHC1_IRQHandler 698 .type USDHC1_IRQHandler, %function 699USDHC1_IRQHandler: 700 ldr r0,=USDHC1_DriverIRQHandler 701 bx r0 702 .size USDHC1_IRQHandler, . - USDHC1_IRQHandler 703 704 .align 1 705 .thumb_func 706 .weak SGPIO_INTA_IRQHandler 707 .type SGPIO_INTA_IRQHandler, %function 708SGPIO_INTA_IRQHandler: 709 ldr r0,=SGPIO_INTA_DriverIRQHandler 710 bx r0 711 .size SGPIO_INTA_IRQHandler, . - SGPIO_INTA_IRQHandler 712 713 .align 1 714 .thumb_func 715 .weak SGPIO_INTB_IRQHandler 716 .type SGPIO_INTB_IRQHandler, %function 717SGPIO_INTB_IRQHandler: 718 ldr r0,=SGPIO_INTB_DriverIRQHandler 719 bx r0 720 .size SGPIO_INTB_IRQHandler, . - SGPIO_INTB_IRQHandler 721 722 .align 1 723 .thumb_func 724 .weak I3C0_IRQHandler 725 .type I3C0_IRQHandler, %function 726I3C0_IRQHandler: 727 ldr r0,=I3C0_DriverIRQHandler 728 bx r0 729 .size I3C0_IRQHandler, . - I3C0_IRQHandler 730 731 .align 1 732 .thumb_func 733 .weak USB_IRQHandler 734 .type USB_IRQHandler, %function 735USB_IRQHandler: 736 ldr r0,=USB_DriverIRQHandler 737 bx r0 738 .size USB_IRQHandler, . - USB_IRQHandler 739 740 .align 1 741 .thumb_func 742 .weak USB_WAKEUP_IRQHandler 743 .type USB_WAKEUP_IRQHandler, %function 744USB_WAKEUP_IRQHandler: 745 ldr r0,=USB_WAKEUP_DriverIRQHandler 746 bx r0 747 .size USB_WAKEUP_IRQHandler, . - USB_WAKEUP_IRQHandler 748 749 .align 1 750 .thumb_func 751 .weak WDT1_IRQHandler 752 .type WDT1_IRQHandler, %function 753WDT1_IRQHandler: 754 ldr r0,=WDT1_DriverIRQHandler 755 bx r0 756 .size WDT1_IRQHandler, . - WDT1_IRQHandler 757 758 .align 1 759 .thumb_func 760 .weak USBPHY_DCD_IRQHandler 761 .type USBPHY_DCD_IRQHandler, %function 762USBPHY_DCD_IRQHandler: 763 ldr r0,=USBPHY_DCD_DriverIRQHandler 764 bx r0 765 .size USBPHY_DCD_IRQHandler, . - USBPHY_DCD_IRQHandler 766 767 .align 1 768 .thumb_func 769 .weak DMA1_IRQHandler 770 .type DMA1_IRQHandler, %function 771DMA1_IRQHandler: 772 ldr r0,=DMA1_DriverIRQHandler 773 bx r0 774 .size DMA1_IRQHandler, . - DMA1_IRQHandler 775 776 .align 1 777 .thumb_func 778 .weak PUF_IRQHandler 779 .type PUF_IRQHandler, %function 780PUF_IRQHandler: 781 ldr r0,=PUF_DriverIRQHandler 782 bx r0 783 .size PUF_IRQHandler, . - PUF_IRQHandler 784 785 .align 1 786 .thumb_func 787 .weak POWERQUAD_IRQHandler 788 .type POWERQUAD_IRQHandler, %function 789POWERQUAD_IRQHandler: 790 ldr r0,=POWERQUAD_DriverIRQHandler 791 bx r0 792 .size POWERQUAD_IRQHandler, . - POWERQUAD_IRQHandler 793 794 .align 1 795 .thumb_func 796 .weak CASPER_IRQHandler 797 .type CASPER_IRQHandler, %function 798CASPER_IRQHandler: 799 ldr r0,=CASPER_DriverIRQHandler 800 bx r0 801 .size CASPER_IRQHandler, . - CASPER_IRQHandler 802 803 .align 1 804 .thumb_func 805 .weak PMC_PMIC_IRQHandler 806 .type PMC_PMIC_IRQHandler, %function 807PMC_PMIC_IRQHandler: 808 ldr r0,=PMC_PMIC_DriverIRQHandler 809 bx r0 810 .size PMC_PMIC_IRQHandler, . - PMC_PMIC_IRQHandler 811 812 .align 1 813 .thumb_func 814 .weak HASHCRYPT_IRQHandler 815 .type HASHCRYPT_IRQHandler, %function 816HASHCRYPT_IRQHandler: 817 ldr r0,=HASHCRYPT_DriverIRQHandler 818 bx r0 819 .size HASHCRYPT_IRQHandler, . - HASHCRYPT_IRQHandler 820 821 822/* Macro to define default handlers. Default handler 823 * will be weak symbol and just dead loops. They can be 824 * overwritten by other handlers */ 825 .macro def_irq_handler handler_name 826 .weak \handler_name 827 .set \handler_name, DefaultISR 828 .endm 829/* Exception Handlers */ 830 def_irq_handler MemManage_Handler 831 def_irq_handler BusFault_Handler 832 def_irq_handler UsageFault_Handler 833 def_irq_handler SecureFault_Handler 834 def_irq_handler DebugMon_Handler 835 def_irq_handler WDT0_DriverIRQHandler 836 def_irq_handler DMA0_DriverIRQHandler 837 def_irq_handler GPIO_INTA_DriverIRQHandler 838 def_irq_handler GPIO_INTB_DriverIRQHandler 839 def_irq_handler PIN_INT0_DriverIRQHandler 840 def_irq_handler PIN_INT1_DriverIRQHandler 841 def_irq_handler PIN_INT2_DriverIRQHandler 842 def_irq_handler PIN_INT3_DriverIRQHandler 843 def_irq_handler UTICK0_DriverIRQHandler 844 def_irq_handler MRT0_DriverIRQHandler 845 def_irq_handler CTIMER0_DriverIRQHandler 846 def_irq_handler CTIMER1_DriverIRQHandler 847 def_irq_handler SCT0_DriverIRQHandler 848 def_irq_handler CTIMER3_DriverIRQHandler 849 def_irq_handler FLEXCOMM0_DriverIRQHandler 850 def_irq_handler FLEXCOMM1_DriverIRQHandler 851 def_irq_handler FLEXCOMM2_DriverIRQHandler 852 def_irq_handler FLEXCOMM3_DriverIRQHandler 853 def_irq_handler FLEXCOMM4_DriverIRQHandler 854 def_irq_handler FLEXCOMM5_DriverIRQHandler 855 def_irq_handler FLEXCOMM14_DriverIRQHandler 856 def_irq_handler FLEXCOMM15_DriverIRQHandler 857 def_irq_handler ADC0_DriverIRQHandler 858 def_irq_handler Reserved39_DriverIRQHandler 859 def_irq_handler ACMP_DriverIRQHandler 860 def_irq_handler DMIC0_DriverIRQHandler 861 def_irq_handler Reserved42_DriverIRQHandler 862 def_irq_handler HYPERVISOR_DriverIRQHandler 863 def_irq_handler SECUREVIOLATION_DriverIRQHandler 864 def_irq_handler HWVAD0_DriverIRQHandler 865 def_irq_handler Reserved46_DriverIRQHandler 866 def_irq_handler RNG_DriverIRQHandler 867 def_irq_handler RTC_DriverIRQHandler 868 def_irq_handler Reserved49_DriverIRQHandler 869 def_irq_handler MU_A_DriverIRQHandler 870 def_irq_handler PIN_INT4_DriverIRQHandler 871 def_irq_handler PIN_INT5_DriverIRQHandler 872 def_irq_handler PIN_INT6_DriverIRQHandler 873 def_irq_handler PIN_INT7_DriverIRQHandler 874 def_irq_handler CTIMER2_DriverIRQHandler 875 def_irq_handler CTIMER4_DriverIRQHandler 876 def_irq_handler OS_EVENT_DriverIRQHandler 877 def_irq_handler FLEXSPI_DriverIRQHandler 878 def_irq_handler FLEXCOMM6_DriverIRQHandler 879 def_irq_handler FLEXCOMM7_DriverIRQHandler 880 def_irq_handler USDHC0_DriverIRQHandler 881 def_irq_handler USDHC1_DriverIRQHandler 882 def_irq_handler SGPIO_INTA_DriverIRQHandler 883 def_irq_handler SGPIO_INTB_DriverIRQHandler 884 def_irq_handler I3C0_DriverIRQHandler 885 def_irq_handler USB_DriverIRQHandler 886 def_irq_handler USB_WAKEUP_DriverIRQHandler 887 def_irq_handler WDT1_DriverIRQHandler 888 def_irq_handler USBPHY_DCD_DriverIRQHandler 889 def_irq_handler DMA1_DriverIRQHandler 890 def_irq_handler PUF_DriverIRQHandler 891 def_irq_handler POWERQUAD_DriverIRQHandler 892 def_irq_handler CASPER_DriverIRQHandler 893 def_irq_handler PMC_PMIC_DriverIRQHandler 894 def_irq_handler HASHCRYPT_DriverIRQHandler 895 896 .end 897