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