1/* ------------------------------------------------------------------------- */ 2/* @file: startup_MK27FA15.s */ 3/* @purpose: CMSIS Cortex-M4 Core Device Startup File */ 4/* MK27FA15 */ 5/* @version: 1.3 */ 6/* @date: 2018-1-9 */ 7/* @build: b190918 */ 8/* ------------------------------------------------------------------------- */ 9/* */ 10/* Copyright 1997-2016 Freescale Semiconductor, Inc. */ 11/* Copyright 2016-2019 NXP */ 12/* All rights reserved. */ 13/* */ 14/* SPDX-License-Identifier: BSD-3-Clause */ 15/*****************************************************************************/ 16/* Version: GCC for ARM Embedded Processors */ 17/*****************************************************************************/ 18 .syntax unified 19 .arch armv7-m 20 21 .section .isr_vector, "a" 22 .align 2 23 .globl __isr_vector 24__isr_vector: 25 .long __StackTop /* Top of Stack */ 26 .long Reset_Handler /* Reset Handler */ 27 .long NMI_Handler /* NMI Handler*/ 28 .long HardFault_Handler /* Hard Fault Handler*/ 29 .long MemManage_Handler /* MPU Fault Handler*/ 30 .long BusFault_Handler /* Bus Fault Handler*/ 31 .long UsageFault_Handler /* Usage Fault Handler*/ 32 .long 0 /* Reserved*/ 33 .long 0 /* Reserved*/ 34 .long 0 /* Reserved*/ 35 .long 0 /* Reserved*/ 36 .long SVC_Handler /* SVCall Handler*/ 37 .long DebugMon_Handler /* Debug Monitor Handler*/ 38 .long 0 /* Reserved*/ 39 .long PendSV_Handler /* PendSV Handler*/ 40 .long SysTick_Handler /* SysTick Handler*/ 41 42 /* External Interrupts*/ 43 .long DMA0_DMA16_IRQHandler /* DMA channel 0,16 transfer complete*/ 44 .long DMA1_DMA17_IRQHandler /* DMA channel 1,17 transfer complete*/ 45 .long DMA2_DMA18_IRQHandler /* DMA channel 2,18 transfer complete*/ 46 .long DMA3_DMA19_IRQHandler /* DMA channel 3,19 transfer complete*/ 47 .long DMA4_DMA20_IRQHandler /* DMA channel 4,20 transfer complete*/ 48 .long DMA5_DMA21_IRQHandler /* DMA channel 5,21 transfer complete*/ 49 .long DMA6_DMA22_IRQHandler /* DMA channel 6,22 transfer complete*/ 50 .long DMA7_DMA23_IRQHandler /* DMA channel 7,23 transfer complete*/ 51 .long DMA8_DMA24_IRQHandler /* DMA channel 8,24 transfer complete*/ 52 .long DMA9_DMA25_IRQHandler /* DMA channel 9,25 transfer complete*/ 53 .long DMA10_DMA26_IRQHandler /* DMA channel 10,26 transfer complete*/ 54 .long DMA11_DMA27_IRQHandler /* DMA channel 11,27 transfer complete*/ 55 .long DMA12_DMA28_IRQHandler /* DMA channel 12,28 transfer complete*/ 56 .long DMA13_DMA29_IRQHandler /* DMA channel 13,29 transfer complete*/ 57 .long DMA14_DMA30_IRQHandler /* DMA channel 14,30 transfer complete*/ 58 .long DMA15_DMA31_IRQHandler /* DMA channel 15,31 transfer complete*/ 59 .long DMA_Error_IRQHandler /* DMA channel 0 - 31 error*/ 60 .long MCM_IRQHandler /* MCM normal interrupt*/ 61 .long FTFE_IRQHandler /* FTFE command complete*/ 62 .long Read_Collision_IRQHandler /* FTFE read collision*/ 63 .long LVD_LVW_IRQHandler /* PMC controller low-voltage detect, low-voltage warning*/ 64 .long LLWU_IRQHandler /* Low leakage wakeup unit*/ 65 .long WDOG_EWM_IRQHandler /* Single interrupt vector for WDOG and EWM*/ 66 .long TRNG0_IRQHandler /* True randon number generator*/ 67 .long I2C0_IRQHandler /* Inter-integrated circuit 0*/ 68 .long I2C1_IRQHandler /* Inter-integrated circuit 1*/ 69 .long SPI0_IRQHandler /* Serial peripheral Interface 0*/ 70 .long SPI1_IRQHandler /* Serial peripheral Interface 1*/ 71 .long I2S0_Tx_IRQHandler /* Integrated interchip sound 0 transmit interrupt*/ 72 .long I2S0_Rx_IRQHandler /* Integrated interchip sound 0 receive interrupt*/ 73 .long LPUART0_IRQHandler /* LPUART0 receive/transmit/error interrupt*/ 74 .long LPUART1_IRQHandler /* LPUART1 receive/transmit/error interrupt*/ 75 .long LPUART2_IRQHandler /* LPUART2 receive/transmit/error interrupt*/ 76 .long LPUART3_IRQHandler /* LPUART3 receive/transmit/error interrupt*/ 77 .long LPUART4_IRQHandler /* LPUART4 receive/transmit/error interrupt*/ 78 .long Reserved51_IRQHandler /* Reserved interrupt*/ 79 .long Reserved52_IRQHandler /* Reserved interrupt*/ 80 .long Reserved53_IRQHandler /* Reserved interrupt*/ 81 .long Reserved54_IRQHandler /* Reserved interrupt*/ 82 .long ADC0_IRQHandler /* Analog-to-digital converter 0*/ 83 .long CMP0_IRQHandler /* Comparator 0*/ 84 .long CMP1_IRQHandler /* Comparator 1*/ 85 .long FTM0_IRQHandler /* FlexTimer module 0 fault, overflow and channels interrupt*/ 86 .long FTM1_IRQHandler /* FlexTimer module 1 fault, overflow and channels interrupt*/ 87 .long FTM2_IRQHandler /* FlexTimer module 2 fault, overflow and channels interrupt*/ 88 .long CMT_IRQHandler /* Carrier modulator transmitter*/ 89 .long RTC_IRQHandler /* Real time clock*/ 90 .long RTC_Seconds_IRQHandler /* Real time clock seconds*/ 91 .long PIT0CH0_IRQHandler /* Periodic interrupt timer 0 channel 0*/ 92 .long PIT0CH1_IRQHandler /* Periodic interrupt timer 0 channel 1*/ 93 .long PIT0CH2_IRQHandler /* Periodic interrupt timer 0 channel 2*/ 94 .long PIT0CH3_IRQHandler /* Periodic interrupt timer 0 channel 3*/ 95 .long PDB0_IRQHandler /* Programmable delay block*/ 96 .long USB0_IRQHandler /* USB OTG interrupt*/ 97 .long USBDCD_IRQHandler /* USB charger detect*/ 98 .long Reserved71_IRQHandler /* Reserved interrupt*/ 99 .long DAC0_IRQHandler /* Digital-to-analog converter 0*/ 100 .long MCG_IRQHandler /* Multipurpose clock generator*/ 101 .long LPTMR0_LPTMR1_IRQHandler /* Single interrupt vector for Low Power Timer 0 and 1*/ 102 .long PORTA_IRQHandler /* Port A pin detect interrupt*/ 103 .long PORTB_IRQHandler /* Port B pin detect interrupt*/ 104 .long PORTC_IRQHandler /* Port C pin detect interrupt*/ 105 .long PORTD_IRQHandler /* Port D pin detect interrupt*/ 106 .long PORTE_IRQHandler /* Port E pin detect interrupt*/ 107 .long SWI_IRQHandler /* Software interrupt*/ 108 .long SPI2_IRQHandler /* Serial peripheral Interface 2*/ 109 .long SPI3_IRQHandler /* Serial peripheral Interface 3*/ 110 .long Reserved83_IRQHandler /* Reserved interrupt*/ 111 .long I2S1_Tx_IRQHandler /* Integrated interchip sound 1 transmit interrupt*/ 112 .long I2S1_Rx_IRQHandler /* Integrated interchip sound 1 receive interrupt*/ 113 .long FLEXIO0_IRQHandler /* FLEXIO0*/ 114 .long FTM3_IRQHandler /* FlexTimer module 3 fault, overflow and channels interrupt*/ 115 .long Reserved88_IRQHandler /* Reserved interrupt*/ 116 .long Reserved89_IRQHandler /* Reserved interrupt*/ 117 .long I2C2_IRQHandler /* Inter-integrated circuit 2*/ 118 .long Reserved91_IRQHandler /* Reserved interrupt*/ 119 .long Reserved92_IRQHandler /* Reserved interrupt*/ 120 .long Reserved93_IRQHandler /* Reserved interrupt*/ 121 .long Reserved94_IRQHandler /* Reserved interrupt*/ 122 .long Reserved95_IRQHandler /* Reserved interrupt*/ 123 .long Reserved96_IRQHandler /* Reserved interrupt*/ 124 .long SDHC_IRQHandler /* Secured digital host controller*/ 125 .long Reserved98_IRQHandler /* Reserved interrupt*/ 126 .long Reserved99_IRQHandler /* Reserved interrupt*/ 127 .long Reserved100_IRQHandler /* Reserved interrupt*/ 128 .long Reserved101_IRQHandler /* Reserved interrupt*/ 129 .long Reserved102_IRQHandler /* Reserved interrupt*/ 130 .long Reserved103_IRQHandler /* Reserved interrupt*/ 131 .long TPM1_IRQHandler /* TPM1 single interrupt vector for all sources*/ 132 .long TPM2_IRQHandler /* TPM2 single interrupt vector for all sources*/ 133 .long USBHSDCD_IRQHandler /* HS USB charger detect*/ 134 .long I2C3_IRQHandler /* Inter-integrated circuit 3*/ 135 .long Reserved108_IRQHandler /* Reserved interrupt*/ 136 .long USBHS_IRQHandler /* USB HS interrupt*/ 137 .long Reserved110_IRQHandler /* Reserved interrupt*/ 138 .long Reserved111_IRQHandler /* Reserved interrupt*/ 139 .long Reserved112_IRQHandler /* Reserved interrupt*/ 140 .long Reserved113_IRQHandler /* Reserved interrupt*/ 141 .long Reserved114_IRQHandler /* Reserved interrupt*/ 142 .long Reserved115_IRQHandler /* Reserved interrupt*/ 143 .long QuadSPI0_IRQHandler /* qspi*/ 144 .long Reserved117_IRQHandler /* Reserved interrupt*/ 145 .long Reserved118_IRQHandler /* Reserved interrupt*/ 146 .long Reserved119_IRQHandler /* Reserved interrupt*/ 147 .long Reserved120_IRQHandler /* Reserved interrupt*/ 148 .long Reserved121_IRQHandler /* Reserved interrupt*/ 149 .long Reserved122_IRQHandler /* Reserved interrupt*/ 150 .long DefaultISR /* 123*/ 151 .long DefaultISR /* 124*/ 152 .long DefaultISR /* 125*/ 153 .long DefaultISR /* 126*/ 154 .long DefaultISR /* 127*/ 155 .long DefaultISR /* 128*/ 156 .long DefaultISR /* 129*/ 157 .long DefaultISR /* 130*/ 158 .long DefaultISR /* 131*/ 159 .long DefaultISR /* 132*/ 160 .long DefaultISR /* 133*/ 161 .long DefaultISR /* 134*/ 162 .long DefaultISR /* 135*/ 163 .long DefaultISR /* 136*/ 164 .long DefaultISR /* 137*/ 165 .long DefaultISR /* 138*/ 166 .long DefaultISR /* 139*/ 167 .long DefaultISR /* 140*/ 168 .long DefaultISR /* 141*/ 169 .long DefaultISR /* 142*/ 170 .long DefaultISR /* 143*/ 171 .long DefaultISR /* 144*/ 172 .long DefaultISR /* 145*/ 173 .long DefaultISR /* 146*/ 174 .long DefaultISR /* 147*/ 175 .long DefaultISR /* 148*/ 176 .long DefaultISR /* 149*/ 177 .long DefaultISR /* 150*/ 178 .long DefaultISR /* 151*/ 179 .long DefaultISR /* 152*/ 180 .long DefaultISR /* 153*/ 181 .long DefaultISR /* 154*/ 182 .long DefaultISR /* 155*/ 183 .long DefaultISR /* 156*/ 184 .long DefaultISR /* 157*/ 185 .long DefaultISR /* 158*/ 186 .long DefaultISR /* 159*/ 187 .long DefaultISR /* 160*/ 188 .long DefaultISR /* 161*/ 189 .long DefaultISR /* 162*/ 190 .long DefaultISR /* 163*/ 191 .long DefaultISR /* 164*/ 192 .long DefaultISR /* 165*/ 193 .long DefaultISR /* 166*/ 194 .long DefaultISR /* 167*/ 195 .long DefaultISR /* 168*/ 196 .long DefaultISR /* 169*/ 197 .long DefaultISR /* 170*/ 198 .long DefaultISR /* 171*/ 199 .long DefaultISR /* 172*/ 200 .long DefaultISR /* 173*/ 201 .long DefaultISR /* 174*/ 202 .long DefaultISR /* 175*/ 203 .long DefaultISR /* 176*/ 204 .long DefaultISR /* 177*/ 205 .long DefaultISR /* 178*/ 206 .long DefaultISR /* 179*/ 207 .long DefaultISR /* 180*/ 208 .long DefaultISR /* 181*/ 209 .long DefaultISR /* 182*/ 210 .long DefaultISR /* 183*/ 211 .long DefaultISR /* 184*/ 212 .long DefaultISR /* 185*/ 213 .long DefaultISR /* 186*/ 214 .long DefaultISR /* 187*/ 215 .long DefaultISR /* 188*/ 216 .long DefaultISR /* 189*/ 217 .long DefaultISR /* 190*/ 218 .long DefaultISR /* 191*/ 219 .long DefaultISR /* 192*/ 220 .long DefaultISR /* 193*/ 221 .long DefaultISR /* 194*/ 222 .long DefaultISR /* 195*/ 223 .long DefaultISR /* 196*/ 224 .long DefaultISR /* 197*/ 225 .long DefaultISR /* 198*/ 226 .long DefaultISR /* 199*/ 227 .long DefaultISR /* 200*/ 228 .long DefaultISR /* 201*/ 229 .long DefaultISR /* 202*/ 230 .long DefaultISR /* 203*/ 231 .long DefaultISR /* 204*/ 232 .long DefaultISR /* 205*/ 233 .long DefaultISR /* 206*/ 234 .long DefaultISR /* 207*/ 235 .long DefaultISR /* 208*/ 236 .long DefaultISR /* 209*/ 237 .long DefaultISR /* 210*/ 238 .long DefaultISR /* 211*/ 239 .long DefaultISR /* 212*/ 240 .long DefaultISR /* 213*/ 241 .long DefaultISR /* 214*/ 242 .long DefaultISR /* 215*/ 243 .long DefaultISR /* 216*/ 244 .long DefaultISR /* 217*/ 245 .long DefaultISR /* 218*/ 246 .long DefaultISR /* 219*/ 247 .long DefaultISR /* 220*/ 248 .long DefaultISR /* 221*/ 249 .long DefaultISR /* 222*/ 250 .long DefaultISR /* 223*/ 251 .long DefaultISR /* 224*/ 252 .long DefaultISR /* 225*/ 253 .long DefaultISR /* 226*/ 254 .long DefaultISR /* 227*/ 255 .long DefaultISR /* 228*/ 256 .long DefaultISR /* 229*/ 257 .long DefaultISR /* 230*/ 258 .long DefaultISR /* 231*/ 259 .long DefaultISR /* 232*/ 260 .long DefaultISR /* 233*/ 261 .long DefaultISR /* 234*/ 262 .long DefaultISR /* 235*/ 263 .long DefaultISR /* 236*/ 264 .long DefaultISR /* 237*/ 265 .long DefaultISR /* 238*/ 266 .long DefaultISR /* 239*/ 267 268 .size __isr_vector, . - __isr_vector 269 270/* Flash Configuration */ 271 .section .FlashConfig, "a" 272 .long 0xFFFFFFFF 273 .long 0xFFFFFFFF 274 .long 0xFFFFFFFF 275 .long 0xFFFF3DFE 276 277 .text 278 .thumb 279 280/* Reset Handler */ 281 282 .thumb_func 283 .align 2 284 .globl Reset_Handler 285 .weak Reset_Handler 286 .type Reset_Handler, %function 287Reset_Handler: 288 cpsid i /* Mask interrupts */ 289 .equ VTOR, 0xE000ED08 290 ldr r0, =VTOR 291 ldr r1, =__isr_vector 292 str r1, [r0] 293 ldr r2, [r1] 294 msr msp, r2 295#ifndef __NO_SYSTEM_INIT 296 ldr r0,=SystemInit 297 blx r0 298#endif 299/* Loop to copy data from read only memory to RAM. The ranges 300 * of copy from/to are specified by following symbols evaluated in 301 * linker script. 302 * __etext: End of code section, i.e., begin of data sections to copy from. 303 * __data_start__/__data_end__: RAM address range that data should be 304 * __noncachedata_start__/__noncachedata_end__ : none cachable region 305 * copied to. Both must be aligned to 4 bytes boundary. */ 306 307 ldr r1, =__etext 308 ldr r2, =__data_start__ 309 ldr r3, =__data_end__ 310 311#ifdef __PERFORMANCE_IMPLEMENTATION 312/* Here are two copies of loop implementations. First one favors performance 313 * and the second one favors code size. Default uses the second one. 314 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 315 subs r3, r2 316 ble .LC1 317.LC0: 318 subs r3, #4 319 ldr r0, [r1, r3] 320 str r0, [r2, r3] 321 bgt .LC0 322.LC1: 323#else /* code size implemenation */ 324.LC0: 325 cmp r2, r3 326 ittt lt 327 ldrlt r0, [r1], #4 328 strlt r0, [r2], #4 329 blt .LC0 330#endif 331#ifdef __STARTUP_INITIALIZE_NONCACHEDATA 332 ldr r2, =__noncachedata_start__ 333 ldr r3, =__noncachedata_init_end__ 334#ifdef __PERFORMANCE_IMPLEMENTATION 335/* Here are two copies of loop implementations. First one favors performance 336 * and the second one favors code size. Default uses the second one. 337 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 338 subs r3, r2 339 ble .LC3 340.LC2: 341 subs r3, #4 342 ldr r0, [r1, r3] 343 str r0, [r2, r3] 344 bgt .LC2 345.LC3: 346#else /* code size implemenation */ 347.LC2: 348 cmp r2, r3 349 ittt lt 350 ldrlt r0, [r1], #4 351 strlt r0, [r2], #4 352 blt .LC2 353#endif 354/* zero inited ncache section initialization */ 355 ldr r3, =__noncachedata_end__ 356 movs r0,0 357.LC4: 358 cmp r2,r3 359 itt lt 360 strlt r0,[r2],#4 361 blt .LC4 362#endif /* __STARTUP_INITIALIZE_NONCACHEDATA */ 363 364#ifdef __STARTUP_CLEAR_BSS 365/* This part of work usually is done in C library startup code. Otherwise, 366 * define this macro to enable it in this startup. 367 * 368 * Loop to zero out BSS section, which uses following symbols 369 * in linker script: 370 * __bss_start__: start of BSS section. Must align to 4 371 * __bss_end__: end of BSS section. Must align to 4 372 */ 373 ldr r1, =__bss_start__ 374 ldr r2, =__bss_end__ 375 376 movs r0, 0 377.LC5: 378 cmp r1, r2 379 itt lt 380 strlt r0, [r1], #4 381 blt .LC5 382#endif /* __STARTUP_CLEAR_BSS */ 383 384 cpsie i /* Unmask interrupts */ 385#ifndef __START 386#define __START _start 387#endif 388#ifndef __ATOLLIC__ 389 ldr r0,=__START 390 blx r0 391#else 392 ldr r0,=__libc_init_array 393 blx r0 394 ldr r0,=main 395 bx r0 396#endif 397 .pool 398 .size Reset_Handler, . - Reset_Handler 399 400 .align 1 401 .thumb_func 402 .weak DefaultISR 403 .type DefaultISR, %function 404DefaultISR: 405 b DefaultISR 406 .size DefaultISR, . - DefaultISR 407 408 .align 1 409 .thumb_func 410 .weak NMI_Handler 411 .type NMI_Handler, %function 412NMI_Handler: 413 ldr r0,=NMI_Handler 414 bx r0 415 .size NMI_Handler, . - NMI_Handler 416 417 .align 1 418 .thumb_func 419 .weak HardFault_Handler 420 .type HardFault_Handler, %function 421HardFault_Handler: 422 ldr r0,=HardFault_Handler 423 bx r0 424 .size HardFault_Handler, . - HardFault_Handler 425 426 .align 1 427 .thumb_func 428 .weak SVC_Handler 429 .type SVC_Handler, %function 430SVC_Handler: 431 ldr r0,=SVC_Handler 432 bx r0 433 .size SVC_Handler, . - SVC_Handler 434 435 .align 1 436 .thumb_func 437 .weak PendSV_Handler 438 .type PendSV_Handler, %function 439PendSV_Handler: 440 ldr r0,=PendSV_Handler 441 bx r0 442 .size PendSV_Handler, . - PendSV_Handler 443 444 .align 1 445 .thumb_func 446 .weak SysTick_Handler 447 .type SysTick_Handler, %function 448SysTick_Handler: 449 ldr r0,=SysTick_Handler 450 bx r0 451 .size SysTick_Handler, . - SysTick_Handler 452 453 .align 1 454 .thumb_func 455 .weak DMA0_DMA16_IRQHandler 456 .type DMA0_DMA16_IRQHandler, %function 457DMA0_DMA16_IRQHandler: 458 ldr r0,=DMA0_DMA16_DriverIRQHandler 459 bx r0 460 .size DMA0_DMA16_IRQHandler, . - DMA0_DMA16_IRQHandler 461 462 .align 1 463 .thumb_func 464 .weak DMA1_DMA17_IRQHandler 465 .type DMA1_DMA17_IRQHandler, %function 466DMA1_DMA17_IRQHandler: 467 ldr r0,=DMA1_DMA17_DriverIRQHandler 468 bx r0 469 .size DMA1_DMA17_IRQHandler, . - DMA1_DMA17_IRQHandler 470 471 .align 1 472 .thumb_func 473 .weak DMA2_DMA18_IRQHandler 474 .type DMA2_DMA18_IRQHandler, %function 475DMA2_DMA18_IRQHandler: 476 ldr r0,=DMA2_DMA18_DriverIRQHandler 477 bx r0 478 .size DMA2_DMA18_IRQHandler, . - DMA2_DMA18_IRQHandler 479 480 .align 1 481 .thumb_func 482 .weak DMA3_DMA19_IRQHandler 483 .type DMA3_DMA19_IRQHandler, %function 484DMA3_DMA19_IRQHandler: 485 ldr r0,=DMA3_DMA19_DriverIRQHandler 486 bx r0 487 .size DMA3_DMA19_IRQHandler, . - DMA3_DMA19_IRQHandler 488 489 .align 1 490 .thumb_func 491 .weak DMA4_DMA20_IRQHandler 492 .type DMA4_DMA20_IRQHandler, %function 493DMA4_DMA20_IRQHandler: 494 ldr r0,=DMA4_DMA20_DriverIRQHandler 495 bx r0 496 .size DMA4_DMA20_IRQHandler, . - DMA4_DMA20_IRQHandler 497 498 .align 1 499 .thumb_func 500 .weak DMA5_DMA21_IRQHandler 501 .type DMA5_DMA21_IRQHandler, %function 502DMA5_DMA21_IRQHandler: 503 ldr r0,=DMA5_DMA21_DriverIRQHandler 504 bx r0 505 .size DMA5_DMA21_IRQHandler, . - DMA5_DMA21_IRQHandler 506 507 .align 1 508 .thumb_func 509 .weak DMA6_DMA22_IRQHandler 510 .type DMA6_DMA22_IRQHandler, %function 511DMA6_DMA22_IRQHandler: 512 ldr r0,=DMA6_DMA22_DriverIRQHandler 513 bx r0 514 .size DMA6_DMA22_IRQHandler, . - DMA6_DMA22_IRQHandler 515 516 .align 1 517 .thumb_func 518 .weak DMA7_DMA23_IRQHandler 519 .type DMA7_DMA23_IRQHandler, %function 520DMA7_DMA23_IRQHandler: 521 ldr r0,=DMA7_DMA23_DriverIRQHandler 522 bx r0 523 .size DMA7_DMA23_IRQHandler, . - DMA7_DMA23_IRQHandler 524 525 .align 1 526 .thumb_func 527 .weak DMA8_DMA24_IRQHandler 528 .type DMA8_DMA24_IRQHandler, %function 529DMA8_DMA24_IRQHandler: 530 ldr r0,=DMA8_DMA24_DriverIRQHandler 531 bx r0 532 .size DMA8_DMA24_IRQHandler, . - DMA8_DMA24_IRQHandler 533 534 .align 1 535 .thumb_func 536 .weak DMA9_DMA25_IRQHandler 537 .type DMA9_DMA25_IRQHandler, %function 538DMA9_DMA25_IRQHandler: 539 ldr r0,=DMA9_DMA25_DriverIRQHandler 540 bx r0 541 .size DMA9_DMA25_IRQHandler, . - DMA9_DMA25_IRQHandler 542 543 .align 1 544 .thumb_func 545 .weak DMA10_DMA26_IRQHandler 546 .type DMA10_DMA26_IRQHandler, %function 547DMA10_DMA26_IRQHandler: 548 ldr r0,=DMA10_DMA26_DriverIRQHandler 549 bx r0 550 .size DMA10_DMA26_IRQHandler, . - DMA10_DMA26_IRQHandler 551 552 .align 1 553 .thumb_func 554 .weak DMA11_DMA27_IRQHandler 555 .type DMA11_DMA27_IRQHandler, %function 556DMA11_DMA27_IRQHandler: 557 ldr r0,=DMA11_DMA27_DriverIRQHandler 558 bx r0 559 .size DMA11_DMA27_IRQHandler, . - DMA11_DMA27_IRQHandler 560 561 .align 1 562 .thumb_func 563 .weak DMA12_DMA28_IRQHandler 564 .type DMA12_DMA28_IRQHandler, %function 565DMA12_DMA28_IRQHandler: 566 ldr r0,=DMA12_DMA28_DriverIRQHandler 567 bx r0 568 .size DMA12_DMA28_IRQHandler, . - DMA12_DMA28_IRQHandler 569 570 .align 1 571 .thumb_func 572 .weak DMA13_DMA29_IRQHandler 573 .type DMA13_DMA29_IRQHandler, %function 574DMA13_DMA29_IRQHandler: 575 ldr r0,=DMA13_DMA29_DriverIRQHandler 576 bx r0 577 .size DMA13_DMA29_IRQHandler, . - DMA13_DMA29_IRQHandler 578 579 .align 1 580 .thumb_func 581 .weak DMA14_DMA30_IRQHandler 582 .type DMA14_DMA30_IRQHandler, %function 583DMA14_DMA30_IRQHandler: 584 ldr r0,=DMA14_DMA30_DriverIRQHandler 585 bx r0 586 .size DMA14_DMA30_IRQHandler, . - DMA14_DMA30_IRQHandler 587 588 .align 1 589 .thumb_func 590 .weak DMA15_DMA31_IRQHandler 591 .type DMA15_DMA31_IRQHandler, %function 592DMA15_DMA31_IRQHandler: 593 ldr r0,=DMA15_DMA31_DriverIRQHandler 594 bx r0 595 .size DMA15_DMA31_IRQHandler, . - DMA15_DMA31_IRQHandler 596 597 .align 1 598 .thumb_func 599 .weak DMA_Error_IRQHandler 600 .type DMA_Error_IRQHandler, %function 601DMA_Error_IRQHandler: 602 ldr r0,=DMA_Error_DriverIRQHandler 603 bx r0 604 .size DMA_Error_IRQHandler, . - DMA_Error_IRQHandler 605 606 .align 1 607 .thumb_func 608 .weak I2C0_IRQHandler 609 .type I2C0_IRQHandler, %function 610I2C0_IRQHandler: 611 ldr r0,=I2C0_DriverIRQHandler 612 bx r0 613 .size I2C0_IRQHandler, . - I2C0_IRQHandler 614 615 .align 1 616 .thumb_func 617 .weak I2C1_IRQHandler 618 .type I2C1_IRQHandler, %function 619I2C1_IRQHandler: 620 ldr r0,=I2C1_DriverIRQHandler 621 bx r0 622 .size I2C1_IRQHandler, . - I2C1_IRQHandler 623 624 .align 1 625 .thumb_func 626 .weak SPI0_IRQHandler 627 .type SPI0_IRQHandler, %function 628SPI0_IRQHandler: 629 ldr r0,=SPI0_DriverIRQHandler 630 bx r0 631 .size SPI0_IRQHandler, . - SPI0_IRQHandler 632 633 .align 1 634 .thumb_func 635 .weak SPI1_IRQHandler 636 .type SPI1_IRQHandler, %function 637SPI1_IRQHandler: 638 ldr r0,=SPI1_DriverIRQHandler 639 bx r0 640 .size SPI1_IRQHandler, . - SPI1_IRQHandler 641 642 .align 1 643 .thumb_func 644 .weak I2S0_Tx_IRQHandler 645 .type I2S0_Tx_IRQHandler, %function 646I2S0_Tx_IRQHandler: 647 ldr r0,=I2S0_Tx_DriverIRQHandler 648 bx r0 649 .size I2S0_Tx_IRQHandler, . - I2S0_Tx_IRQHandler 650 651 .align 1 652 .thumb_func 653 .weak I2S0_Rx_IRQHandler 654 .type I2S0_Rx_IRQHandler, %function 655I2S0_Rx_IRQHandler: 656 ldr r0,=I2S0_Rx_DriverIRQHandler 657 bx r0 658 .size I2S0_Rx_IRQHandler, . - I2S0_Rx_IRQHandler 659 660 .align 1 661 .thumb_func 662 .weak LPUART0_IRQHandler 663 .type LPUART0_IRQHandler, %function 664LPUART0_IRQHandler: 665 ldr r0,=LPUART0_DriverIRQHandler 666 bx r0 667 .size LPUART0_IRQHandler, . - LPUART0_IRQHandler 668 669 .align 1 670 .thumb_func 671 .weak LPUART1_IRQHandler 672 .type LPUART1_IRQHandler, %function 673LPUART1_IRQHandler: 674 ldr r0,=LPUART1_DriverIRQHandler 675 bx r0 676 .size LPUART1_IRQHandler, . - LPUART1_IRQHandler 677 678 .align 1 679 .thumb_func 680 .weak LPUART2_IRQHandler 681 .type LPUART2_IRQHandler, %function 682LPUART2_IRQHandler: 683 ldr r0,=LPUART2_DriverIRQHandler 684 bx r0 685 .size LPUART2_IRQHandler, . - LPUART2_IRQHandler 686 687 .align 1 688 .thumb_func 689 .weak LPUART3_IRQHandler 690 .type LPUART3_IRQHandler, %function 691LPUART3_IRQHandler: 692 ldr r0,=LPUART3_DriverIRQHandler 693 bx r0 694 .size LPUART3_IRQHandler, . - LPUART3_IRQHandler 695 696 .align 1 697 .thumb_func 698 .weak LPUART4_IRQHandler 699 .type LPUART4_IRQHandler, %function 700LPUART4_IRQHandler: 701 ldr r0,=LPUART4_DriverIRQHandler 702 bx r0 703 .size LPUART4_IRQHandler, . - LPUART4_IRQHandler 704 705 .align 1 706 .thumb_func 707 .weak SPI2_IRQHandler 708 .type SPI2_IRQHandler, %function 709SPI2_IRQHandler: 710 ldr r0,=SPI2_DriverIRQHandler 711 bx r0 712 .size SPI2_IRQHandler, . - SPI2_IRQHandler 713 714 .align 1 715 .thumb_func 716 .weak SPI3_IRQHandler 717 .type SPI3_IRQHandler, %function 718SPI3_IRQHandler: 719 ldr r0,=SPI3_DriverIRQHandler 720 bx r0 721 .size SPI3_IRQHandler, . - SPI3_IRQHandler 722 723 .align 1 724 .thumb_func 725 .weak I2S1_Tx_IRQHandler 726 .type I2S1_Tx_IRQHandler, %function 727I2S1_Tx_IRQHandler: 728 ldr r0,=I2S1_Tx_DriverIRQHandler 729 bx r0 730 .size I2S1_Tx_IRQHandler, . - I2S1_Tx_IRQHandler 731 732 .align 1 733 .thumb_func 734 .weak I2S1_Rx_IRQHandler 735 .type I2S1_Rx_IRQHandler, %function 736I2S1_Rx_IRQHandler: 737 ldr r0,=I2S1_Rx_DriverIRQHandler 738 bx r0 739 .size I2S1_Rx_IRQHandler, . - I2S1_Rx_IRQHandler 740 741 .align 1 742 .thumb_func 743 .weak FLEXIO0_IRQHandler 744 .type FLEXIO0_IRQHandler, %function 745FLEXIO0_IRQHandler: 746 ldr r0,=FLEXIO0_DriverIRQHandler 747 bx r0 748 .size FLEXIO0_IRQHandler, . - FLEXIO0_IRQHandler 749 750 .align 1 751 .thumb_func 752 .weak I2C2_IRQHandler 753 .type I2C2_IRQHandler, %function 754I2C2_IRQHandler: 755 ldr r0,=I2C2_DriverIRQHandler 756 bx r0 757 .size I2C2_IRQHandler, . - I2C2_IRQHandler 758 759 .align 1 760 .thumb_func 761 .weak SDHC_IRQHandler 762 .type SDHC_IRQHandler, %function 763SDHC_IRQHandler: 764 ldr r0,=SDHC_DriverIRQHandler 765 bx r0 766 .size SDHC_IRQHandler, . - SDHC_IRQHandler 767 768 .align 1 769 .thumb_func 770 .weak I2C3_IRQHandler 771 .type I2C3_IRQHandler, %function 772I2C3_IRQHandler: 773 ldr r0,=I2C3_DriverIRQHandler 774 bx r0 775 .size I2C3_IRQHandler, . - I2C3_IRQHandler 776 777 .align 1 778 .thumb_func 779 .weak QuadSPI0_IRQHandler 780 .type QuadSPI0_IRQHandler, %function 781QuadSPI0_IRQHandler: 782 ldr r0,=QuadSPI0_DriverIRQHandler 783 bx r0 784 .size QuadSPI0_IRQHandler, . - QuadSPI0_IRQHandler 785 786 787/* Macro to define default handlers. Default handler 788 * will be weak symbol and just dead loops. They can be 789 * overwritten by other handlers */ 790 .macro def_irq_handler handler_name 791 .weak \handler_name 792 .set \handler_name, DefaultISR 793 .endm 794 795/* Exception Handlers */ 796 def_irq_handler MemManage_Handler 797 def_irq_handler BusFault_Handler 798 def_irq_handler UsageFault_Handler 799 def_irq_handler DebugMon_Handler 800 def_irq_handler DMA0_DMA16_DriverIRQHandler 801 def_irq_handler DMA1_DMA17_DriverIRQHandler 802 def_irq_handler DMA2_DMA18_DriverIRQHandler 803 def_irq_handler DMA3_DMA19_DriverIRQHandler 804 def_irq_handler DMA4_DMA20_DriverIRQHandler 805 def_irq_handler DMA5_DMA21_DriverIRQHandler 806 def_irq_handler DMA6_DMA22_DriverIRQHandler 807 def_irq_handler DMA7_DMA23_DriverIRQHandler 808 def_irq_handler DMA8_DMA24_DriverIRQHandler 809 def_irq_handler DMA9_DMA25_DriverIRQHandler 810 def_irq_handler DMA10_DMA26_DriverIRQHandler 811 def_irq_handler DMA11_DMA27_DriverIRQHandler 812 def_irq_handler DMA12_DMA28_DriverIRQHandler 813 def_irq_handler DMA13_DMA29_DriverIRQHandler 814 def_irq_handler DMA14_DMA30_DriverIRQHandler 815 def_irq_handler DMA15_DMA31_DriverIRQHandler 816 def_irq_handler DMA_Error_DriverIRQHandler 817 def_irq_handler MCM_IRQHandler 818 def_irq_handler FTFE_IRQHandler 819 def_irq_handler Read_Collision_IRQHandler 820 def_irq_handler LVD_LVW_IRQHandler 821 def_irq_handler LLWU_IRQHandler 822 def_irq_handler WDOG_EWM_IRQHandler 823 def_irq_handler TRNG0_IRQHandler 824 def_irq_handler I2C0_DriverIRQHandler 825 def_irq_handler I2C1_DriverIRQHandler 826 def_irq_handler SPI0_DriverIRQHandler 827 def_irq_handler SPI1_DriverIRQHandler 828 def_irq_handler I2S0_Tx_DriverIRQHandler 829 def_irq_handler I2S0_Rx_DriverIRQHandler 830 def_irq_handler LPUART0_DriverIRQHandler 831 def_irq_handler LPUART1_DriverIRQHandler 832 def_irq_handler LPUART2_DriverIRQHandler 833 def_irq_handler LPUART3_DriverIRQHandler 834 def_irq_handler LPUART4_DriverIRQHandler 835 def_irq_handler Reserved51_IRQHandler 836 def_irq_handler Reserved52_IRQHandler 837 def_irq_handler Reserved53_IRQHandler 838 def_irq_handler Reserved54_IRQHandler 839 def_irq_handler ADC0_IRQHandler 840 def_irq_handler CMP0_IRQHandler 841 def_irq_handler CMP1_IRQHandler 842 def_irq_handler FTM0_IRQHandler 843 def_irq_handler FTM1_IRQHandler 844 def_irq_handler FTM2_IRQHandler 845 def_irq_handler CMT_IRQHandler 846 def_irq_handler RTC_IRQHandler 847 def_irq_handler RTC_Seconds_IRQHandler 848 def_irq_handler PIT0CH0_IRQHandler 849 def_irq_handler PIT0CH1_IRQHandler 850 def_irq_handler PIT0CH2_IRQHandler 851 def_irq_handler PIT0CH3_IRQHandler 852 def_irq_handler PDB0_IRQHandler 853 def_irq_handler USB0_IRQHandler 854 def_irq_handler USBDCD_IRQHandler 855 def_irq_handler Reserved71_IRQHandler 856 def_irq_handler DAC0_IRQHandler 857 def_irq_handler MCG_IRQHandler 858 def_irq_handler LPTMR0_LPTMR1_IRQHandler 859 def_irq_handler PORTA_IRQHandler 860 def_irq_handler PORTB_IRQHandler 861 def_irq_handler PORTC_IRQHandler 862 def_irq_handler PORTD_IRQHandler 863 def_irq_handler PORTE_IRQHandler 864 def_irq_handler SWI_IRQHandler 865 def_irq_handler SPI2_DriverIRQHandler 866 def_irq_handler SPI3_DriverIRQHandler 867 def_irq_handler Reserved83_IRQHandler 868 def_irq_handler I2S1_Tx_DriverIRQHandler 869 def_irq_handler I2S1_Rx_DriverIRQHandler 870 def_irq_handler FLEXIO0_DriverIRQHandler 871 def_irq_handler FTM3_IRQHandler 872 def_irq_handler Reserved88_IRQHandler 873 def_irq_handler Reserved89_IRQHandler 874 def_irq_handler I2C2_DriverIRQHandler 875 def_irq_handler Reserved91_IRQHandler 876 def_irq_handler Reserved92_IRQHandler 877 def_irq_handler Reserved93_IRQHandler 878 def_irq_handler Reserved94_IRQHandler 879 def_irq_handler Reserved95_IRQHandler 880 def_irq_handler Reserved96_IRQHandler 881 def_irq_handler SDHC_DriverIRQHandler 882 def_irq_handler Reserved98_IRQHandler 883 def_irq_handler Reserved99_IRQHandler 884 def_irq_handler Reserved100_IRQHandler 885 def_irq_handler Reserved101_IRQHandler 886 def_irq_handler Reserved102_IRQHandler 887 def_irq_handler Reserved103_IRQHandler 888 def_irq_handler TPM1_IRQHandler 889 def_irq_handler TPM2_IRQHandler 890 def_irq_handler USBHSDCD_IRQHandler 891 def_irq_handler I2C3_DriverIRQHandler 892 def_irq_handler Reserved108_IRQHandler 893 def_irq_handler USBHS_IRQHandler 894 def_irq_handler Reserved110_IRQHandler 895 def_irq_handler Reserved111_IRQHandler 896 def_irq_handler Reserved112_IRQHandler 897 def_irq_handler Reserved113_IRQHandler 898 def_irq_handler Reserved114_IRQHandler 899 def_irq_handler Reserved115_IRQHandler 900 def_irq_handler QuadSPI0_DriverIRQHandler 901 def_irq_handler Reserved117_IRQHandler 902 def_irq_handler Reserved118_IRQHandler 903 def_irq_handler Reserved119_IRQHandler 904 def_irq_handler Reserved120_IRQHandler 905 def_irq_handler Reserved121_IRQHandler 906 def_irq_handler Reserved122_IRQHandler 907 908 .end 909