1/* --------------------------------------------------------------------------*/ 2/* @file: startup_LPC54018.S */ 3/* @purpose: CMSIS Cortex-M4 Core Device Startup File */ 4/* LPC54018 */ 5/* @version: 1.2 */ 6/* @date: 2017-6-8 */ 7/* --------------------------------------------------------------------------*/ 8/* */ 9/* Copyright 1997-2016 Freescale Semiconductor, Inc. */ 10/* Copyright 2016-2019 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 armv7-m 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 0 /* Reserved*/ 34 .long 0 /* Reserved*/ 35 .long 0xEDDC94BD /* Enhanced image marker, set to 0x0 for legacy boot */ 36 .long 0x160 /* Pointer to enhanced boot block, set to 0x0 for legacy boot */ 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 */ 45 .long DMA0_IRQHandler /* DMA 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, FLEXCOMM) */ 59 .long FLEXCOMM1_IRQHandler /* Flexcomm Interface 1 (USART, SPI, I2C, FLEXCOMM) */ 60 .long FLEXCOMM2_IRQHandler /* Flexcomm Interface 2 (USART, SPI, I2C, FLEXCOMM) */ 61 .long FLEXCOMM3_IRQHandler /* Flexcomm Interface 3 (USART, SPI, I2C, FLEXCOMM) */ 62 .long FLEXCOMM4_IRQHandler /* Flexcomm Interface 4 (USART, SPI, I2C, FLEXCOMM) */ 63 .long FLEXCOMM5_IRQHandler /* Flexcomm Interface 5 (USART, SPI, I2C,, 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_SEQA_IRQHandler /* ADC0 sequence A completion. */ 67 .long ADC0_SEQB_IRQHandler /* ADC0 sequence B completion. */ 68 .long ADC0_THCMP_IRQHandler /* ADC0 threshold compare and error. */ 69 .long DMIC0_IRQHandler /* Digital microphone and DMIC subsystem */ 70 .long HWVAD0_IRQHandler /* Hardware Voice Activity Detector */ 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 FLEXCOMM10_IRQHandler /* Flexcomm Interface 10 (SPI, FLEXCOMM) */ 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 RIT_IRQHandler /* Repetitive Interrupt Timer */ 83 .long SPIFI0_IRQHandler /* SPI flash interface */ 84 .long FLEXCOMM8_IRQHandler /* Flexcomm Interface 8 (USART, SPI, I2C, FLEXCOMM) */ 85 .long FLEXCOMM9_IRQHandler /* Flexcomm Interface 9 (USART, SPI, I2C, FLEXCOMM) */ 86 .long SDIO_IRQHandler /* SD/MMC */ 87 .long CAN0_IRQ0_IRQHandler /* CAN0 interrupt0 */ 88 .long CAN0_IRQ1_IRQHandler /* CAN0 interrupt1 */ 89 .long CAN1_IRQ0_IRQHandler /* CAN1 interrupt0 */ 90 .long CAN1_IRQ1_IRQHandler /* CAN1 interrupt1 */ 91 .long USB1_IRQHandler /* USB1 interrupt */ 92 .long USB1_NEEDCLK_IRQHandler /* USB1 activity */ 93 .long ETHERNET_IRQHandler /* Ethernet */ 94 .long ETHERNET_PMT_IRQHandler /* Ethernet power management interrupt */ 95 .long ETHERNET_MACLP_IRQHandler /* Ethernet MAC interrupt */ 96 .long Reserved68_IRQHandler /* Reserved interrupt */ 97 .long LCD_IRQHandler /* LCD interrupt */ 98 .long SHA_IRQHandler /* SHA interrupt */ 99 .long SMARTCARD0_IRQHandler /* Smart card 0 interrupt */ 100 .long SMARTCARD1_IRQHandler /* Smart card 1 interrupt */ 101 102 .size __Vectors, . - __Vectors 103 104 .long 0 /* Reserved */ 105 .long 0 /* Reserved */ 106 .long 0 /* Reserved */ 107 .long 0 /* Reserved */ 108 .long 0 /* Reserved */ 109 .long 0 /* Reserved */ 110 .long 0 /* Reserved */ 111 .long 0 /* Reserved */ 112 .long 0 /* Reserved */ 113 .long 0 /* Reserved */ 114 .long 0 /* Reserved */ 115 .long 0 /* Reserved */ 116 .long 0 /* Reserved */ 117 .long 0 /* Reserved */ 118 .long 0 /* Reserved */ 119 120#ifndef IMG_BAUDRATE 121#define IMG_BAUDRATE 0 122#endif 123 124__image_header: 125 .long 0xFEEDA5A5 /* (0x00, 0x160) Header Marker */ 126 #ifdef XIP_IMAGE 127 #ifdef ADD_CRC 128 .long 0x2 /* (0x04) Image Type */ 129 #else 130 .long 0x3 /* (0x04) Image Type */ 131 #endif 132 #else 133 #ifdef ADD_CRC 134 .long 0x0 /* (0x04) Image Type */ 135 #else 136 .long 0x1 /* (0x04) Image Type */ 137 #endif 138 #endif 139 140 #ifdef XIP_IMAGE 141 .long 0x10000000 /* (0x08) Load_address */ 142 #else 143 .long 0x00000000 /* (0x08) Load_address */ 144 #endif 145 .long __IMAGE_SIZE - 4 /* (0x0C) load_length, exclude 4 bytes CRC field */ 146 .long 0 /* (0x10) CRC value (only applicable to NON Non-secure images) */ 147 .long 0 /* (0x14) Version (only applicable to DUAL_ENH image type */ 148 .long 0 /* (0x18) EMC static memory configuration settings, required for EMC boot */ 149 .long IMG_BAUDRATE /* image baudrate */ 150 .long 0 /* Reserved */ 151 .long 0xEDDC94BD /* (0x24) Image_marker */ 152 .long 0 /* (0x28) SBZ */ 153 .long 0 /* (0x2C) reserved */ 154 #ifdef W25Q128JVFM 155 /* SPI Descriptor - W25Q128JVFM */ 156 .long 0x00000000 /* 0xFFFFFFFF to default 1-bit SPI mode ;DevStrAdr */ 157 .long 0x001870EF /* mfgId + extCount */ 158 .long 0x00000000 /* extid 0-3 */ 159 .long 0x00000000 /* extid 4-7 */ 160 .long 0x0001001D /* caps */ 161 .long 0x00000100 /* Blks + RESV1 */ 162 .long 0x00010000 /* blkSize */ 163 .long 0x00000000 /* subBlks + subBlkSize */ 164 .long 0x00000100 /* pageSize + RESV2 */ 165 .long 0x00003F00 /* maxReadSize */ 166 .long 0x68506850 /* maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate */ 167 .long 0x04030050 /* maxHSProgramRate,initDeInitFxId,clearStatusFxId,getStatusFxId, */ 168 .long 0x14110D09 /* setStatusFxId,setOptionsFxId,getReadCmdFxId,getWriteCmdFxId */ 169 #endif 170 171 #ifdef MXL12835F 172 /* SPI Descriptor - MXL12835F */ 173 .long 0x00000000 /* 0xFFFFFFFF to default 1-bit SPI mode ;DevStrAdr */ 174 .long 0x001820C2 /* mfgId + extCount */ 175 .long 0x00000000 /* extid 0-3 */ 176 .long 0x00000000 /* extid 4-7 */ 177 .long 0x0001001D /* caps */ 178 .long 0x00000100 /* Blks + RESV1 */ 179 .long 0x00010000 /* blkSize */ 180 .long 0x00000000 /* subBlks + subBlkSize */ 181 .long 0x00000100 /* pageSize + RESV2 */ 182 .long 0x00003F00 /* maxReadSize */ 183 .long 0x68506850 /* maxClkRate,maxReadRate,maxHSReadRate,maxProgramRate */ 184 .long 0x06030050 /* maxHSProgramRate,initDeInitFxId,clearStatusFxId,getStatusFxId */ 185 .long 0x14110F0B /* setStatusFxId,setOptionsFxId,getReadCmdFxId,getWriteCmdFxId */ 186 #endif 187 .text 188 .thumb 189 190/* Reset Handler */ 191 .thumb_func 192 .align 2 193 .globl Reset_Handler 194 .weak Reset_Handler 195 .type Reset_Handler, %function 196Reset_Handler: 197 198#ifndef __NO_SYSTEM_INIT 199 movs r0,#56 200 ldr r1, =0x40000220 201 str r0, [r1] /* Enable SRAM clock used by Stack */ 202 ldr r0,=SystemInit 203 blx r0 204#endif 205/* Loop to copy data from read only memory to RAM. The ranges 206 * of copy from/to are specified by following symbols evaluated in 207 * linker script. 208 * __etext: End of code section, i.e., begin of data sections to copy from. 209 * __data_start__/__data_end__: RAM address range that data should be 210 * copied to. Both must be aligned to 4 bytes boundary. */ 211 212 ldr r1, =__etext 213 ldr r2, =__data_start__ 214 ldr r3, =__data_end__ 215 216#if 1 217/* Here are two copies of loop implemenations. First one favors code size 218 * and the second one favors performance. Default uses the first one. 219 * Change to "#if 0" to use the second one */ 220.LC0: 221 cmp r2, r3 222 ittt lt 223 ldrlt r0, [r1], #4 224 strlt r0, [r2], #4 225 blt .LC0 226#else 227 subs r3, r2 228 ble .LC1 229.LC0: 230 subs r3, #4 231 ldr r0, [r1, r3] 232 str r0, [r2, r3] 233 bgt .LC0 234.LC1: 235#endif 236 237#ifdef __STARTUP_CLEAR_BSS 238/* This part of work usually is done in C library startup code. Otherwise, 239 * define this macro to enable it in this startup. 240 * 241 * Loop to zero out BSS section, which uses following symbols 242 * in linker script: 243 * __bss_start__: start of BSS section. Must align to 4 244 * __bss_end__: end of BSS section. Must align to 4 245 */ 246 ldr r1, =__bss_start__ 247 ldr r2, =__bss_end__ 248 249 movs r0, 0 250.LC2: 251 cmp r1, r2 252 itt lt 253 strlt r0, [r1], #4 254 blt .LC2 255#endif /* __STARTUP_CLEAR_BSS */ 256 257#ifndef __START 258#define __START _start 259#endif 260#ifndef __ATOLLIC__ 261 ldr r0,=__START 262 blx r0 263#else 264 ldr r0,=__libc_init_array 265 blx r0 266 ldr r0,=main 267 bx r0 268#endif 269 .pool 270 .size Reset_Handler, . - Reset_Handler 271 272 .align 1 273 .thumb_func 274 .weak DefaultISR 275 .type DefaultISR, %function 276DefaultISR: 277 b DefaultISR 278 .size DefaultISR, . - DefaultISR 279 280 .align 1 281 .thumb_func 282 .weak NMI_Handler 283 .type NMI_Handler, %function 284NMI_Handler: 285 ldr r0,=NMI_Handler 286 bx r0 287 .size NMI_Handler, . - NMI_Handler 288 289 .align 1 290 .thumb_func 291 .weak HardFault_Handler 292 .type HardFault_Handler, %function 293HardFault_Handler: 294 ldr r0,=HardFault_Handler 295 bx r0 296 .size HardFault_Handler, . - HardFault_Handler 297 298 .align 1 299 .thumb_func 300 .weak SVC_Handler 301 .type SVC_Handler, %function 302SVC_Handler: 303 ldr r0,=SVC_Handler 304 bx r0 305 .size SVC_Handler, . - SVC_Handler 306 307 .align 1 308 .thumb_func 309 .weak PendSV_Handler 310 .type PendSV_Handler, %function 311PendSV_Handler: 312 ldr r0,=PendSV_Handler 313 bx r0 314 .size PendSV_Handler, . - PendSV_Handler 315 316 .align 1 317 .thumb_func 318 .weak SysTick_Handler 319 .type SysTick_Handler, %function 320SysTick_Handler: 321 ldr r0,=SysTick_Handler 322 bx r0 323 .size SysTick_Handler, . - SysTick_Handler 324 325 .align 1 326 .thumb_func 327 .weak WDT_BOD_IRQHandler 328 .type WDT_BOD_IRQHandler, %function 329WDT_BOD_IRQHandler: 330 ldr r0,=WDT_BOD_DriverIRQHandler 331 bx r0 332 .size WDT_BOD_IRQHandler, . - WDT_BOD_IRQHandler 333 334 .align 1 335 .thumb_func 336 .weak DMA0_IRQHandler 337 .type DMA0_IRQHandler, %function 338DMA0_IRQHandler: 339 ldr r0,=DMA0_DriverIRQHandler 340 bx r0 341 .size DMA0_IRQHandler, . - DMA0_IRQHandler 342 343 .align 1 344 .thumb_func 345 .weak GINT0_IRQHandler 346 .type GINT0_IRQHandler, %function 347GINT0_IRQHandler: 348 ldr r0,=GINT0_DriverIRQHandler 349 bx r0 350 .size GINT0_IRQHandler, . - GINT0_IRQHandler 351 352 .align 1 353 .thumb_func 354 .weak GINT1_IRQHandler 355 .type GINT1_IRQHandler, %function 356GINT1_IRQHandler: 357 ldr r0,=GINT1_DriverIRQHandler 358 bx r0 359 .size GINT1_IRQHandler, . - GINT1_IRQHandler 360 361 .align 1 362 .thumb_func 363 .weak PIN_INT0_IRQHandler 364 .type PIN_INT0_IRQHandler, %function 365PIN_INT0_IRQHandler: 366 ldr r0,=PIN_INT0_DriverIRQHandler 367 bx r0 368 .size PIN_INT0_IRQHandler, . - PIN_INT0_IRQHandler 369 370 .align 1 371 .thumb_func 372 .weak PIN_INT1_IRQHandler 373 .type PIN_INT1_IRQHandler, %function 374PIN_INT1_IRQHandler: 375 ldr r0,=PIN_INT1_DriverIRQHandler 376 bx r0 377 .size PIN_INT1_IRQHandler, . - PIN_INT1_IRQHandler 378 379 .align 1 380 .thumb_func 381 .weak PIN_INT2_IRQHandler 382 .type PIN_INT2_IRQHandler, %function 383PIN_INT2_IRQHandler: 384 ldr r0,=PIN_INT2_DriverIRQHandler 385 bx r0 386 .size PIN_INT2_IRQHandler, . - PIN_INT2_IRQHandler 387 388 .align 1 389 .thumb_func 390 .weak PIN_INT3_IRQHandler 391 .type PIN_INT3_IRQHandler, %function 392PIN_INT3_IRQHandler: 393 ldr r0,=PIN_INT3_DriverIRQHandler 394 bx r0 395 .size PIN_INT3_IRQHandler, . - PIN_INT3_IRQHandler 396 397 .align 1 398 .thumb_func 399 .weak UTICK0_IRQHandler 400 .type UTICK0_IRQHandler, %function 401UTICK0_IRQHandler: 402 ldr r0,=UTICK0_DriverIRQHandler 403 bx r0 404 .size UTICK0_IRQHandler, . - UTICK0_IRQHandler 405 406 .align 1 407 .thumb_func 408 .weak MRT0_IRQHandler 409 .type MRT0_IRQHandler, %function 410MRT0_IRQHandler: 411 ldr r0,=MRT0_DriverIRQHandler 412 bx r0 413 .size MRT0_IRQHandler, . - MRT0_IRQHandler 414 415 .align 1 416 .thumb_func 417 .weak CTIMER0_IRQHandler 418 .type CTIMER0_IRQHandler, %function 419CTIMER0_IRQHandler: 420 ldr r0,=CTIMER0_DriverIRQHandler 421 bx r0 422 .size CTIMER0_IRQHandler, . - CTIMER0_IRQHandler 423 424 .align 1 425 .thumb_func 426 .weak CTIMER1_IRQHandler 427 .type CTIMER1_IRQHandler, %function 428CTIMER1_IRQHandler: 429 ldr r0,=CTIMER1_DriverIRQHandler 430 bx r0 431 .size CTIMER1_IRQHandler, . - CTIMER1_IRQHandler 432 433 .align 1 434 .thumb_func 435 .weak SCT0_IRQHandler 436 .type SCT0_IRQHandler, %function 437SCT0_IRQHandler: 438 ldr r0,=SCT0_DriverIRQHandler 439 bx r0 440 .size SCT0_IRQHandler, . - SCT0_IRQHandler 441 442 .align 1 443 .thumb_func 444 .weak CTIMER3_IRQHandler 445 .type CTIMER3_IRQHandler, %function 446CTIMER3_IRQHandler: 447 ldr r0,=CTIMER3_DriverIRQHandler 448 bx r0 449 .size CTIMER3_IRQHandler, . - CTIMER3_IRQHandler 450 451 .align 1 452 .thumb_func 453 .weak FLEXCOMM0_IRQHandler 454 .type FLEXCOMM0_IRQHandler, %function 455FLEXCOMM0_IRQHandler: 456 ldr r0,=FLEXCOMM0_DriverIRQHandler 457 bx r0 458 .size FLEXCOMM0_IRQHandler, . - FLEXCOMM0_IRQHandler 459 460 .align 1 461 .thumb_func 462 .weak FLEXCOMM1_IRQHandler 463 .type FLEXCOMM1_IRQHandler, %function 464FLEXCOMM1_IRQHandler: 465 ldr r0,=FLEXCOMM1_DriverIRQHandler 466 bx r0 467 .size FLEXCOMM1_IRQHandler, . - FLEXCOMM1_IRQHandler 468 469 .align 1 470 .thumb_func 471 .weak FLEXCOMM2_IRQHandler 472 .type FLEXCOMM2_IRQHandler, %function 473FLEXCOMM2_IRQHandler: 474 ldr r0,=FLEXCOMM2_DriverIRQHandler 475 bx r0 476 .size FLEXCOMM2_IRQHandler, . - FLEXCOMM2_IRQHandler 477 478 .align 1 479 .thumb_func 480 .weak FLEXCOMM3_IRQHandler 481 .type FLEXCOMM3_IRQHandler, %function 482FLEXCOMM3_IRQHandler: 483 ldr r0,=FLEXCOMM3_DriverIRQHandler 484 bx r0 485 .size FLEXCOMM3_IRQHandler, . - FLEXCOMM3_IRQHandler 486 487 .align 1 488 .thumb_func 489 .weak FLEXCOMM4_IRQHandler 490 .type FLEXCOMM4_IRQHandler, %function 491FLEXCOMM4_IRQHandler: 492 ldr r0,=FLEXCOMM4_DriverIRQHandler 493 bx r0 494 .size FLEXCOMM4_IRQHandler, . - FLEXCOMM4_IRQHandler 495 496 .align 1 497 .thumb_func 498 .weak FLEXCOMM5_IRQHandler 499 .type FLEXCOMM5_IRQHandler, %function 500FLEXCOMM5_IRQHandler: 501 ldr r0,=FLEXCOMM5_DriverIRQHandler 502 bx r0 503 .size FLEXCOMM5_IRQHandler, . - FLEXCOMM5_IRQHandler 504 505 .align 1 506 .thumb_func 507 .weak FLEXCOMM6_IRQHandler 508 .type FLEXCOMM6_IRQHandler, %function 509FLEXCOMM6_IRQHandler: 510 ldr r0,=FLEXCOMM6_DriverIRQHandler 511 bx r0 512 .size FLEXCOMM6_IRQHandler, . - FLEXCOMM6_IRQHandler 513 514 .align 1 515 .thumb_func 516 .weak FLEXCOMM7_IRQHandler 517 .type FLEXCOMM7_IRQHandler, %function 518FLEXCOMM7_IRQHandler: 519 ldr r0,=FLEXCOMM7_DriverIRQHandler 520 bx r0 521 .size FLEXCOMM7_IRQHandler, . - FLEXCOMM7_IRQHandler 522 523 .align 1 524 .thumb_func 525 .weak ADC0_SEQA_IRQHandler 526 .type ADC0_SEQA_IRQHandler, %function 527ADC0_SEQA_IRQHandler: 528 ldr r0,=ADC0_SEQA_DriverIRQHandler 529 bx r0 530 .size ADC0_SEQA_IRQHandler, . - ADC0_SEQA_IRQHandler 531 532 .align 1 533 .thumb_func 534 .weak ADC0_SEQB_IRQHandler 535 .type ADC0_SEQB_IRQHandler, %function 536ADC0_SEQB_IRQHandler: 537 ldr r0,=ADC0_SEQB_DriverIRQHandler 538 bx r0 539 .size ADC0_SEQB_IRQHandler, . - ADC0_SEQB_IRQHandler 540 541 .align 1 542 .thumb_func 543 .weak ADC0_THCMP_IRQHandler 544 .type ADC0_THCMP_IRQHandler, %function 545ADC0_THCMP_IRQHandler: 546 ldr r0,=ADC0_THCMP_DriverIRQHandler 547 bx r0 548 .size ADC0_THCMP_IRQHandler, . - ADC0_THCMP_IRQHandler 549 550 .align 1 551 .thumb_func 552 .weak DMIC0_IRQHandler 553 .type DMIC0_IRQHandler, %function 554DMIC0_IRQHandler: 555 ldr r0,=DMIC0_DriverIRQHandler 556 bx r0 557 .size DMIC0_IRQHandler, . - DMIC0_IRQHandler 558 559 .align 1 560 .thumb_func 561 .weak HWVAD0_IRQHandler 562 .type HWVAD0_IRQHandler, %function 563HWVAD0_IRQHandler: 564 ldr r0,=HWVAD0_DriverIRQHandler 565 bx r0 566 .size HWVAD0_IRQHandler, . - HWVAD0_IRQHandler 567 568 .align 1 569 .thumb_func 570 .weak USB0_NEEDCLK_IRQHandler 571 .type USB0_NEEDCLK_IRQHandler, %function 572USB0_NEEDCLK_IRQHandler: 573 ldr r0,=USB0_NEEDCLK_DriverIRQHandler 574 bx r0 575 .size USB0_NEEDCLK_IRQHandler, . - USB0_NEEDCLK_IRQHandler 576 577 .align 1 578 .thumb_func 579 .weak USB0_IRQHandler 580 .type USB0_IRQHandler, %function 581USB0_IRQHandler: 582 ldr r0,=USB0_DriverIRQHandler 583 bx r0 584 .size USB0_IRQHandler, . - USB0_IRQHandler 585 586 .align 1 587 .thumb_func 588 .weak RTC_IRQHandler 589 .type RTC_IRQHandler, %function 590RTC_IRQHandler: 591 ldr r0,=RTC_DriverIRQHandler 592 bx r0 593 .size RTC_IRQHandler, . - RTC_IRQHandler 594 595 .align 1 596 .thumb_func 597 .weak FLEXCOMM10_IRQHandler 598 .type FLEXCOMM10_IRQHandler, %function 599FLEXCOMM10_IRQHandler: 600 ldr r0,=FLEXCOMM10_DriverIRQHandler 601 bx r0 602 .size FLEXCOMM10_IRQHandler, . - FLEXCOMM10_IRQHandler 603 604 .align 1 605 .thumb_func 606 .weak Reserved47_IRQHandler 607 .type Reserved47_IRQHandler, %function 608Reserved47_IRQHandler: 609 ldr r0,=Reserved47_DriverIRQHandler 610 bx r0 611 .size Reserved47_IRQHandler, . - Reserved47_IRQHandler 612 613 .align 1 614 .thumb_func 615 .weak PIN_INT4_IRQHandler 616 .type PIN_INT4_IRQHandler, %function 617PIN_INT4_IRQHandler: 618 ldr r0,=PIN_INT4_DriverIRQHandler 619 bx r0 620 .size PIN_INT4_IRQHandler, . - PIN_INT4_IRQHandler 621 622 .align 1 623 .thumb_func 624 .weak PIN_INT5_IRQHandler 625 .type PIN_INT5_IRQHandler, %function 626PIN_INT5_IRQHandler: 627 ldr r0,=PIN_INT5_DriverIRQHandler 628 bx r0 629 .size PIN_INT5_IRQHandler, . - PIN_INT5_IRQHandler 630 631 .align 1 632 .thumb_func 633 .weak PIN_INT6_IRQHandler 634 .type PIN_INT6_IRQHandler, %function 635PIN_INT6_IRQHandler: 636 ldr r0,=PIN_INT6_DriverIRQHandler 637 bx r0 638 .size PIN_INT6_IRQHandler, . - PIN_INT6_IRQHandler 639 640 .align 1 641 .thumb_func 642 .weak PIN_INT7_IRQHandler 643 .type PIN_INT7_IRQHandler, %function 644PIN_INT7_IRQHandler: 645 ldr r0,=PIN_INT7_DriverIRQHandler 646 bx r0 647 .size PIN_INT7_IRQHandler, . - PIN_INT7_IRQHandler 648 649 .align 1 650 .thumb_func 651 .weak CTIMER2_IRQHandler 652 .type CTIMER2_IRQHandler, %function 653CTIMER2_IRQHandler: 654 ldr r0,=CTIMER2_DriverIRQHandler 655 bx r0 656 .size CTIMER2_IRQHandler, . - CTIMER2_IRQHandler 657 658 .align 1 659 .thumb_func 660 .weak CTIMER4_IRQHandler 661 .type CTIMER4_IRQHandler, %function 662CTIMER4_IRQHandler: 663 ldr r0,=CTIMER4_DriverIRQHandler 664 bx r0 665 .size CTIMER4_IRQHandler, . - CTIMER4_IRQHandler 666 667 .align 1 668 .thumb_func 669 .weak RIT_IRQHandler 670 .type RIT_IRQHandler, %function 671RIT_IRQHandler: 672 ldr r0,=RIT_DriverIRQHandler 673 bx r0 674 .size RIT_IRQHandler, . - RIT_IRQHandler 675 676 .align 1 677 .thumb_func 678 .weak SPIFI0_IRQHandler 679 .type SPIFI0_IRQHandler, %function 680SPIFI0_IRQHandler: 681 ldr r0,=SPIFI0_DriverIRQHandler 682 bx r0 683 .size SPIFI0_IRQHandler, . - SPIFI0_IRQHandler 684 685 .align 1 686 .thumb_func 687 .weak FLEXCOMM8_IRQHandler 688 .type FLEXCOMM8_IRQHandler, %function 689FLEXCOMM8_IRQHandler: 690 ldr r0,=FLEXCOMM8_DriverIRQHandler 691 bx r0 692 .size FLEXCOMM8_IRQHandler, . - FLEXCOMM8_IRQHandler 693 694 .align 1 695 .thumb_func 696 .weak FLEXCOMM9_IRQHandler 697 .type FLEXCOMM9_IRQHandler, %function 698FLEXCOMM9_IRQHandler: 699 ldr r0,=FLEXCOMM9_DriverIRQHandler 700 bx r0 701 .size FLEXCOMM9_IRQHandler, . - FLEXCOMM9_IRQHandler 702 703 .align 1 704 .thumb_func 705 .weak SDIO_IRQHandler 706 .type SDIO_IRQHandler, %function 707SDIO_IRQHandler: 708 ldr r0,=SDIO_DriverIRQHandler 709 bx r0 710 .size SDIO_IRQHandler, . - SDIO_IRQHandler 711 712 .align 1 713 .thumb_func 714 .weak CAN0_IRQ0_IRQHandler 715 .type CAN0_IRQ0_IRQHandler, %function 716CAN0_IRQ0_IRQHandler: 717 ldr r0,=CAN0_IRQ0_DriverIRQHandler 718 bx r0 719 .size CAN0_IRQ0_IRQHandler, . - CAN0_IRQ0_IRQHandler 720 721 .align 1 722 .thumb_func 723 .weak CAN0_IRQ1_IRQHandler 724 .type CAN0_IRQ1_IRQHandler, %function 725CAN0_IRQ1_IRQHandler: 726 ldr r0,=CAN0_IRQ1_DriverIRQHandler 727 bx r0 728 .size CAN0_IRQ1_IRQHandler, . - CAN0_IRQ1_IRQHandler 729 730 .align 1 731 .thumb_func 732 .weak CAN1_IRQ0_IRQHandler 733 .type CAN1_IRQ0_IRQHandler, %function 734CAN1_IRQ0_IRQHandler: 735 ldr r0,=CAN1_IRQ0_DriverIRQHandler 736 bx r0 737 .size CAN1_IRQ0_IRQHandler, . - CAN1_IRQ0_IRQHandler 738 739 .align 1 740 .thumb_func 741 .weak CAN1_IRQ1_IRQHandler 742 .type CAN1_IRQ1_IRQHandler, %function 743CAN1_IRQ1_IRQHandler: 744 ldr r0,=CAN1_IRQ1_DriverIRQHandler 745 bx r0 746 .size CAN1_IRQ1_IRQHandler, . - CAN1_IRQ1_IRQHandler 747 748 .align 1 749 .thumb_func 750 .weak USB1_IRQHandler 751 .type USB1_IRQHandler, %function 752USB1_IRQHandler: 753 ldr r0,=USB1_DriverIRQHandler 754 bx r0 755 .size USB1_IRQHandler, . - USB1_IRQHandler 756 757 .align 1 758 .thumb_func 759 .weak USB1_NEEDCLK_IRQHandler 760 .type USB1_NEEDCLK_IRQHandler, %function 761USB1_NEEDCLK_IRQHandler: 762 ldr r0,=USB1_NEEDCLK_DriverIRQHandler 763 bx r0 764 .size USB1_NEEDCLK_IRQHandler, . - USB1_NEEDCLK_IRQHandler 765 766 .align 1 767 .thumb_func 768 .weak ETHERNET_IRQHandler 769 .type ETHERNET_IRQHandler, %function 770ETHERNET_IRQHandler: 771 ldr r0,=ETHERNET_DriverIRQHandler 772 bx r0 773 .size ETHERNET_IRQHandler, . - ETHERNET_IRQHandler 774 775 .align 1 776 .thumb_func 777 .weak ETHERNET_PMT_IRQHandler 778 .type ETHERNET_PMT_IRQHandler, %function 779ETHERNET_PMT_IRQHandler: 780 ldr r0,=ETHERNET_PMT_DriverIRQHandler 781 bx r0 782 .size ETHERNET_PMT_IRQHandler, . - ETHERNET_PMT_IRQHandler 783 784 .align 1 785 .thumb_func 786 .weak ETHERNET_MACLP_IRQHandler 787 .type ETHERNET_MACLP_IRQHandler, %function 788ETHERNET_MACLP_IRQHandler: 789 ldr r0,=ETHERNET_MACLP_DriverIRQHandler 790 bx r0 791 .size ETHERNET_MACLP_IRQHandler, . - ETHERNET_MACLP_IRQHandler 792 793 .align 1 794 .thumb_func 795 .weak Reserved68_IRQHandler 796 .type Reserved68_IRQHandler, %function 797Reserved68_IRQHandler: 798 ldr r0,=Reserved68_DriverIRQHandler 799 bx r0 800 .size Reserved68_IRQHandler, . - Reserved68_IRQHandler 801 802 .align 1 803 .thumb_func 804 .weak LCD_IRQHandler 805 .type LCD_IRQHandler, %function 806LCD_IRQHandler: 807 ldr r0,=LCD_DriverIRQHandler 808 bx r0 809 .size LCD_IRQHandler, . - LCD_IRQHandler 810 811 .align 1 812 .thumb_func 813 .weak SHA_IRQHandler 814 .type SHA_IRQHandler, %function 815SHA_IRQHandler: 816 ldr r0,=SHA_DriverIRQHandler 817 bx r0 818 .size SHA_IRQHandler, . - SHA_IRQHandler 819 820 .align 1 821 .thumb_func 822 .weak SMARTCARD0_IRQHandler 823 .type SMARTCARD0_IRQHandler, %function 824SMARTCARD0_IRQHandler: 825 ldr r0,=SMARTCARD0_DriverIRQHandler 826 bx r0 827 .size SMARTCARD0_IRQHandler, . - SMARTCARD0_IRQHandler 828 829 .align 1 830 .thumb_func 831 .weak SMARTCARD1_IRQHandler 832 .type SMARTCARD1_IRQHandler, %function 833SMARTCARD1_IRQHandler: 834 ldr r0,=SMARTCARD1_DriverIRQHandler 835 bx r0 836 .size SMARTCARD1_IRQHandler, . - SMARTCARD1_IRQHandler 837 838/* Macro to define default handlers. Default handler 839 * will be weak symbol and just dead loops. They can be 840 * overwritten by other handlers */ 841 .macro def_irq_handler handler_name 842 .weak \handler_name 843 .set \handler_name, DefaultISR 844 .endm 845/* Exception Handlers */ 846 def_irq_handler MemManage_Handler 847 def_irq_handler BusFault_Handler 848 def_irq_handler UsageFault_Handler 849 def_irq_handler DebugMon_Handler 850 def_irq_handler WDT_BOD_DriverIRQHandler 851 def_irq_handler DMA0_DriverIRQHandler 852 def_irq_handler GINT0_DriverIRQHandler 853 def_irq_handler GINT1_DriverIRQHandler 854 def_irq_handler PIN_INT0_DriverIRQHandler 855 def_irq_handler PIN_INT1_DriverIRQHandler 856 def_irq_handler PIN_INT2_DriverIRQHandler 857 def_irq_handler PIN_INT3_DriverIRQHandler 858 def_irq_handler UTICK0_DriverIRQHandler 859 def_irq_handler MRT0_DriverIRQHandler 860 def_irq_handler CTIMER0_DriverIRQHandler 861 def_irq_handler CTIMER1_DriverIRQHandler 862 def_irq_handler SCT0_DriverIRQHandler 863 def_irq_handler CTIMER3_DriverIRQHandler 864 def_irq_handler FLEXCOMM0_DriverIRQHandler 865 def_irq_handler FLEXCOMM1_DriverIRQHandler 866 def_irq_handler FLEXCOMM2_DriverIRQHandler 867 def_irq_handler FLEXCOMM3_DriverIRQHandler 868 def_irq_handler FLEXCOMM4_DriverIRQHandler 869 def_irq_handler FLEXCOMM5_DriverIRQHandler 870 def_irq_handler FLEXCOMM6_DriverIRQHandler 871 def_irq_handler FLEXCOMM7_DriverIRQHandler 872 def_irq_handler ADC0_SEQA_DriverIRQHandler 873 def_irq_handler ADC0_SEQB_DriverIRQHandler 874 def_irq_handler ADC0_THCMP_DriverIRQHandler 875 def_irq_handler DMIC0_DriverIRQHandler 876 def_irq_handler HWVAD0_DriverIRQHandler 877 def_irq_handler USB0_NEEDCLK_DriverIRQHandler 878 def_irq_handler USB0_DriverIRQHandler 879 def_irq_handler RTC_DriverIRQHandler 880 def_irq_handler FLEXCOMM10_DriverIRQHandler 881 def_irq_handler Reserved47_DriverIRQHandler 882 def_irq_handler PIN_INT4_DriverIRQHandler 883 def_irq_handler PIN_INT5_DriverIRQHandler 884 def_irq_handler PIN_INT6_DriverIRQHandler 885 def_irq_handler PIN_INT7_DriverIRQHandler 886 def_irq_handler CTIMER2_DriverIRQHandler 887 def_irq_handler CTIMER4_DriverIRQHandler 888 def_irq_handler RIT_DriverIRQHandler 889 def_irq_handler SPIFI0_DriverIRQHandler 890 def_irq_handler FLEXCOMM8_DriverIRQHandler 891 def_irq_handler FLEXCOMM9_DriverIRQHandler 892 def_irq_handler SDIO_DriverIRQHandler 893 def_irq_handler CAN0_IRQ0_DriverIRQHandler 894 def_irq_handler CAN0_IRQ1_DriverIRQHandler 895 def_irq_handler CAN1_IRQ0_DriverIRQHandler 896 def_irq_handler CAN1_IRQ1_DriverIRQHandler 897 def_irq_handler USB1_DriverIRQHandler 898 def_irq_handler USB1_NEEDCLK_DriverIRQHandler 899 def_irq_handler ETHERNET_DriverIRQHandler 900 def_irq_handler ETHERNET_PMT_DriverIRQHandler 901 def_irq_handler ETHERNET_MACLP_DriverIRQHandler 902 def_irq_handler Reserved68_DriverIRQHandler 903 def_irq_handler LCD_DriverIRQHandler 904 def_irq_handler SHA_DriverIRQHandler 905 def_irq_handler SMARTCARD0_DriverIRQHandler 906 def_irq_handler SMARTCARD1_DriverIRQHandler 907 908 .end 909