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