1/* ------------------------------------------------------------------------- */ 2/* @file: startup_MKE14F16.s */ 3/* @purpose: CMSIS Cortex-M4 Core Device Startup File */ 4/* MKE14F16 */ 5/* @version: 4.0 */ 6/* @date: 2016-9-20 */ 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_IRQHandler /* DMA channel 0 transfer complete*/ 44 .long DMA1_IRQHandler /* DMA channel 1 transfer complete*/ 45 .long DMA2_IRQHandler /* DMA channel 2 transfer complete*/ 46 .long DMA3_IRQHandler /* DMA channel 3 transfer complete*/ 47 .long DMA4_IRQHandler /* DMA channel 4 transfer complete*/ 48 .long DMA5_IRQHandler /* DMA channel 5 transfer complete*/ 49 .long DMA6_IRQHandler /* DMA channel 6 transfer complete*/ 50 .long DMA7_IRQHandler /* DMA channel 7 transfer complete*/ 51 .long DMA8_IRQHandler /* DMA channel 8 transfer complete*/ 52 .long DMA9_IRQHandler /* DMA channel 9 transfer complete*/ 53 .long DMA10_IRQHandler /* DMA channel 10 transfer complete*/ 54 .long DMA11_IRQHandler /* DMA channel 11 transfer complete*/ 55 .long DMA12_IRQHandler /* DMA channel 12 transfer complete*/ 56 .long DMA13_IRQHandler /* DMA channel 13 transfer complete*/ 57 .long DMA14_IRQHandler /* DMA channel 14 transfer complete*/ 58 .long DMA15_IRQHandler /* DMA channel 15 transfer complete*/ 59 .long DMA_Error_IRQHandler /* DMA error interrupt channels 0-15*/ 60 .long MCM_IRQHandler /* FPU sources*/ 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 Doublebit_Fault_IRQHandler /* FTFE double bit fault detect*/ 65 .long WDOG_EWM_IRQHandler /* Single interrupt vector for WDOG and EWM*/ 66 .long Reserved39_IRQHandler /* Reserved interrupt*/ 67 .long LPI2C0_IRQHandler /* Inter-integrated circuit 0 interrupt*/ 68 .long LPI2C1_IRQHandler /* Inter-integrated circuit 1 interrupt*/ 69 .long LPSPI0_IRQHandler /* Serial peripheral Interface 0 interrupt*/ 70 .long LPSPI1_IRQHandler /* Serial peripheral Interface 1 interrupt*/ 71 .long Reserved44_IRQHandler /* Reserved interrupt*/ 72 .long PWT_IRQHandler /* PWT interrupt*/ 73 .long Reserved46_IRQHandler /* Reserved interrupt*/ 74 .long LPUART0_TX_IRQHandler /* LPUART0 transmit interrupt*/ 75 .long LPUART0_RX_IRQHandler /* LPUART0 receive interrupt*/ 76 .long LPUART1_TX_IRQHandler /* LPUART1 transmit interrupt*/ 77 .long LPUART1_RX_IRQHandler /* LPUART1 receive interrupt*/ 78 .long LPUART2_TX_IRQHandler /* LPUART2 transmit interrupt*/ 79 .long LPUART2_RX_IRQHandler /* LPUART2 receive interrupt*/ 80 .long Reserved53_IRQHandler /* Reserved interrupt*/ 81 .long Reserved54_IRQHandler /* Reserved interrupt*/ 82 .long ADC0_IRQHandler /* ADC conversion complete interrupt*/ 83 .long CMP0_IRQHandler /* CMP0 interrupt*/ 84 .long CMP1_IRQHandler /* CMP1 interrupt*/ 85 .long FTM0_IRQHandler /* FTM0 single interrupt vector for all sources*/ 86 .long FTM1_IRQHandler /* FTM1 single interrupt vector for all sources*/ 87 .long FTM2_IRQHandler /* FTM2 single interrupt vector for all sources*/ 88 .long Reserved61_IRQHandler /* Reserved interrupt*/ 89 .long RTC_IRQHandler /* RTC alarm interrupt*/ 90 .long RTC_Seconds_IRQHandler /* RTC seconds interrupt*/ 91 .long LPIT0_Ch0_IRQHandler /* LPIT channel 0 overflow interrupt*/ 92 .long LPIT0_Ch1_IRQHandler /* LPIT channel 1 overflow interrupt*/ 93 .long LPIT0_Ch2_IRQHandler /* LPIT channel 2 overflow interrupt*/ 94 .long LPIT0_Ch3_IRQHandler /* LPIT channel 3 overflow interrupt*/ 95 .long PDB0_IRQHandler /* Programmable delay block 0 interrupt*/ 96 .long Reserved69_IRQHandler /* Reserved interrupt*/ 97 .long Reserved70_IRQHandler /* Reserved interrupt*/ 98 .long Reserved71_IRQHandler /* Reserved interrupt*/ 99 .long DAC0_IRQHandler /* Digital-to-analog converter 0 interrupt*/ 100 .long SCG_RCM_IRQHandler /* SCG_RCM interrupt*/ 101 .long LPTMR0_IRQHandler /* Single interrupt vector for Low Power Timer 0 interrupt*/ 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 Reserved81_IRQHandler /* Reserved interrupt*/ 109 .long Reserved82_IRQHandler /* Reserved interrupt*/ 110 .long Reserved83_IRQHandler /* Reserved interrupt*/ 111 .long PDB1_IRQHandler /* Programmable delay block 1 interrupt*/ 112 .long FLEXIO_IRQHandler /* FLEXIO interrupt*/ 113 .long CMP2_IRQHandler /* CMP2 interrupt*/ 114 .long FTM3_IRQHandler /* FlexTimer module 3 fault, overflow and channels interrupt*/ 115 .long Reserved88_IRQHandler /* Reserved interrupt*/ 116 .long ADC1_IRQHandler /* ADC conversion complete interrupt*/ 117 .long ADC2_IRQHandler /* ADC conversion complete interrupt*/ 118 .long Reserved91_IRQHandler /* Reserved interrupt*/ 119 .long Reserved92_IRQHandler /* Reserved interrupt*/ 120 .long PDB2_IRQHandler /* Programmable delay block 2 interrupt*/ 121 .long Reserved94_IRQHandler /* Reserved interrupt*/ 122 .long Reserved95_IRQHandler /* Reserved interrupt*/ 123 .long Reserved96_IRQHandler /* Reserved interrupt*/ 124 .long Reserved97_IRQHandler /* Reserved interrupt*/ 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 Reserved104_IRQHandler /* Reserved interrupt*/ 132 .long Reserved105_IRQHandler /* Reserved interrupt*/ 133 .long Reserved106_IRQHandler /* Reserved interrupt*/ 134 .long Reserved107_IRQHandler /* Reserved interrupt*/ 135 .long DefaultISR /* 108*/ 136 .long DefaultISR /* 109*/ 137 .long DefaultISR /* 110*/ 138 .long DefaultISR /* 111*/ 139 .long DefaultISR /* 112*/ 140 .long DefaultISR /* 113*/ 141 .long DefaultISR /* 114*/ 142 .long DefaultISR /* 115*/ 143 .long DefaultISR /* 116*/ 144 .long DefaultISR /* 117*/ 145 .long DefaultISR /* 118*/ 146 .long DefaultISR /* 119*/ 147 .long DefaultISR /* 120*/ 148 .long DefaultISR /* 121*/ 149 .long DefaultISR /* 122*/ 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 .long DefaultISR /* 240*/ 268 .long DefaultISR /* 241*/ 269 .long DefaultISR /* 242*/ 270 .long DefaultISR /* 243*/ 271 .long DefaultISR /* 244*/ 272 .long DefaultISR /* 245*/ 273 .long DefaultISR /* 246*/ 274 .long DefaultISR /* 247*/ 275 .long DefaultISR /* 248*/ 276 .long DefaultISR /* 249*/ 277 .long DefaultISR /* 250*/ 278 .long DefaultISR /* 251*/ 279 .long DefaultISR /* 252*/ 280 .long DefaultISR /* 253*/ 281 .long DefaultISR /* 254*/ 282 .long 0xFFFFFFFF /* Reserved for user TRIM value*/ 283 284 .size __isr_vector, . - __isr_vector 285 286/* Flash Configuration */ 287 .section .FlashConfig, "a" 288 .long 0xFFFFFFFF 289 .long 0xFFFFFFFF 290 .long 0xFFFFFFFF 291 .long 0xFFFF7DFE 292 293 .text 294 .thumb 295 296/* Reset Handler */ 297 298 .thumb_func 299 .align 2 300 .globl Reset_Handler 301 .weak Reset_Handler 302 .type Reset_Handler, %function 303Reset_Handler: 304 cpsid i /* Mask interrupts */ 305 .equ VTOR, 0xE000ED08 306 ldr r0, =VTOR 307 ldr r1, =__isr_vector 308 str r1, [r0] 309 ldr r2, [r1] 310 msr msp, r2 311#ifndef __NO_SYSTEM_INIT 312 ldr r0,=SystemInit 313 blx r0 314#endif 315/* Loop to copy data from read only memory to RAM. The ranges 316 * of copy from/to are specified by following symbols evaluated in 317 * linker script. 318 * __etext: End of code section, i.e., begin of data sections to copy from. 319 * __data_start__/__data_end__: RAM address range that data should be 320 * __noncachedata_start__/__noncachedata_end__ : none cachable region 321 * copied to. Both must be aligned to 4 bytes boundary. */ 322 323 ldr r1, =__etext 324 ldr r2, =__data_start__ 325 ldr r3, =__data_end__ 326 327#ifdef __PERFORMANCE_IMPLEMENTATION 328/* Here are two copies of loop implementations. First one favors performance 329 * and the second one favors code size. Default uses the second one. 330 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 331 subs r3, r2 332 ble .LC1 333.LC0: 334 subs r3, #4 335 ldr r0, [r1, r3] 336 str r0, [r2, r3] 337 bgt .LC0 338.LC1: 339#else /* code size implemenation */ 340.LC0: 341 cmp r2, r3 342 ittt lt 343 ldrlt r0, [r1], #4 344 strlt r0, [r2], #4 345 blt .LC0 346#endif 347#ifdef __STARTUP_INITIALIZE_NONCACHEDATA 348 ldr r2, =__noncachedata_start__ 349 ldr r3, =__noncachedata_init_end__ 350#ifdef __PERFORMANCE_IMPLEMENTATION 351/* Here are two copies of loop implementations. First one favors performance 352 * and the second one favors code size. Default uses the second one. 353 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 354 subs r3, r2 355 ble .LC3 356.LC2: 357 subs r3, #4 358 ldr r0, [r1, r3] 359 str r0, [r2, r3] 360 bgt .LC2 361.LC3: 362#else /* code size implemenation */ 363.LC2: 364 cmp r2, r3 365 ittt lt 366 ldrlt r0, [r1], #4 367 strlt r0, [r2], #4 368 blt .LC2 369#endif 370/* zero inited ncache section initialization */ 371 ldr r3, =__noncachedata_end__ 372 movs r0,0 373.LC4: 374 cmp r2,r3 375 itt lt 376 strlt r0,[r2],#4 377 blt .LC4 378#endif /* __STARTUP_INITIALIZE_NONCACHEDATA */ 379 380#ifdef __STARTUP_CLEAR_BSS 381/* This part of work usually is done in C library startup code. Otherwise, 382 * define this macro to enable it in this startup. 383 * 384 * Loop to zero out BSS section, which uses following symbols 385 * in linker script: 386 * __bss_start__: start of BSS section. Must align to 4 387 * __bss_end__: end of BSS section. Must align to 4 388 */ 389 ldr r1, =__bss_start__ 390 ldr r2, =__bss_end__ 391 392 movs r0, 0 393.LC5: 394 cmp r1, r2 395 itt lt 396 strlt r0, [r1], #4 397 blt .LC5 398#endif /* __STARTUP_CLEAR_BSS */ 399 400 cpsie i /* Unmask interrupts */ 401#ifndef __START 402#define __START _start 403#endif 404#ifndef __ATOLLIC__ 405 ldr r0,=__START 406 blx r0 407#else 408 ldr r0,=__libc_init_array 409 blx r0 410 ldr r0,=main 411 bx r0 412#endif 413 .pool 414 .size Reset_Handler, . - Reset_Handler 415 416 .align 1 417 .thumb_func 418 .weak DefaultISR 419 .type DefaultISR, %function 420DefaultISR: 421 b DefaultISR 422 .size DefaultISR, . - DefaultISR 423 424 .align 1 425 .thumb_func 426 .weak NMI_Handler 427 .type NMI_Handler, %function 428NMI_Handler: 429 ldr r0,=NMI_Handler 430 bx r0 431 .size NMI_Handler, . - NMI_Handler 432 433 .align 1 434 .thumb_func 435 .weak HardFault_Handler 436 .type HardFault_Handler, %function 437HardFault_Handler: 438 ldr r0,=HardFault_Handler 439 bx r0 440 .size HardFault_Handler, . - HardFault_Handler 441 442 .align 1 443 .thumb_func 444 .weak SVC_Handler 445 .type SVC_Handler, %function 446SVC_Handler: 447 ldr r0,=SVC_Handler 448 bx r0 449 .size SVC_Handler, . - SVC_Handler 450 451 .align 1 452 .thumb_func 453 .weak PendSV_Handler 454 .type PendSV_Handler, %function 455PendSV_Handler: 456 ldr r0,=PendSV_Handler 457 bx r0 458 .size PendSV_Handler, . - PendSV_Handler 459 460 .align 1 461 .thumb_func 462 .weak SysTick_Handler 463 .type SysTick_Handler, %function 464SysTick_Handler: 465 ldr r0,=SysTick_Handler 466 bx r0 467 .size SysTick_Handler, . - SysTick_Handler 468 469 .align 1 470 .thumb_func 471 .weak DMA0_IRQHandler 472 .type DMA0_IRQHandler, %function 473DMA0_IRQHandler: 474 ldr r0,=DMA0_DriverIRQHandler 475 bx r0 476 .size DMA0_IRQHandler, . - DMA0_IRQHandler 477 478 .align 1 479 .thumb_func 480 .weak DMA1_IRQHandler 481 .type DMA1_IRQHandler, %function 482DMA1_IRQHandler: 483 ldr r0,=DMA1_DriverIRQHandler 484 bx r0 485 .size DMA1_IRQHandler, . - DMA1_IRQHandler 486 487 .align 1 488 .thumb_func 489 .weak DMA2_IRQHandler 490 .type DMA2_IRQHandler, %function 491DMA2_IRQHandler: 492 ldr r0,=DMA2_DriverIRQHandler 493 bx r0 494 .size DMA2_IRQHandler, . - DMA2_IRQHandler 495 496 .align 1 497 .thumb_func 498 .weak DMA3_IRQHandler 499 .type DMA3_IRQHandler, %function 500DMA3_IRQHandler: 501 ldr r0,=DMA3_DriverIRQHandler 502 bx r0 503 .size DMA3_IRQHandler, . - DMA3_IRQHandler 504 505 .align 1 506 .thumb_func 507 .weak DMA4_IRQHandler 508 .type DMA4_IRQHandler, %function 509DMA4_IRQHandler: 510 ldr r0,=DMA4_DriverIRQHandler 511 bx r0 512 .size DMA4_IRQHandler, . - DMA4_IRQHandler 513 514 .align 1 515 .thumb_func 516 .weak DMA5_IRQHandler 517 .type DMA5_IRQHandler, %function 518DMA5_IRQHandler: 519 ldr r0,=DMA5_DriverIRQHandler 520 bx r0 521 .size DMA5_IRQHandler, . - DMA5_IRQHandler 522 523 .align 1 524 .thumb_func 525 .weak DMA6_IRQHandler 526 .type DMA6_IRQHandler, %function 527DMA6_IRQHandler: 528 ldr r0,=DMA6_DriverIRQHandler 529 bx r0 530 .size DMA6_IRQHandler, . - DMA6_IRQHandler 531 532 .align 1 533 .thumb_func 534 .weak DMA7_IRQHandler 535 .type DMA7_IRQHandler, %function 536DMA7_IRQHandler: 537 ldr r0,=DMA7_DriverIRQHandler 538 bx r0 539 .size DMA7_IRQHandler, . - DMA7_IRQHandler 540 541 .align 1 542 .thumb_func 543 .weak DMA8_IRQHandler 544 .type DMA8_IRQHandler, %function 545DMA8_IRQHandler: 546 ldr r0,=DMA8_DriverIRQHandler 547 bx r0 548 .size DMA8_IRQHandler, . - DMA8_IRQHandler 549 550 .align 1 551 .thumb_func 552 .weak DMA9_IRQHandler 553 .type DMA9_IRQHandler, %function 554DMA9_IRQHandler: 555 ldr r0,=DMA9_DriverIRQHandler 556 bx r0 557 .size DMA9_IRQHandler, . - DMA9_IRQHandler 558 559 .align 1 560 .thumb_func 561 .weak DMA10_IRQHandler 562 .type DMA10_IRQHandler, %function 563DMA10_IRQHandler: 564 ldr r0,=DMA10_DriverIRQHandler 565 bx r0 566 .size DMA10_IRQHandler, . - DMA10_IRQHandler 567 568 .align 1 569 .thumb_func 570 .weak DMA11_IRQHandler 571 .type DMA11_IRQHandler, %function 572DMA11_IRQHandler: 573 ldr r0,=DMA11_DriverIRQHandler 574 bx r0 575 .size DMA11_IRQHandler, . - DMA11_IRQHandler 576 577 .align 1 578 .thumb_func 579 .weak DMA12_IRQHandler 580 .type DMA12_IRQHandler, %function 581DMA12_IRQHandler: 582 ldr r0,=DMA12_DriverIRQHandler 583 bx r0 584 .size DMA12_IRQHandler, . - DMA12_IRQHandler 585 586 .align 1 587 .thumb_func 588 .weak DMA13_IRQHandler 589 .type DMA13_IRQHandler, %function 590DMA13_IRQHandler: 591 ldr r0,=DMA13_DriverIRQHandler 592 bx r0 593 .size DMA13_IRQHandler, . - DMA13_IRQHandler 594 595 .align 1 596 .thumb_func 597 .weak DMA14_IRQHandler 598 .type DMA14_IRQHandler, %function 599DMA14_IRQHandler: 600 ldr r0,=DMA14_DriverIRQHandler 601 bx r0 602 .size DMA14_IRQHandler, . - DMA14_IRQHandler 603 604 .align 1 605 .thumb_func 606 .weak DMA15_IRQHandler 607 .type DMA15_IRQHandler, %function 608DMA15_IRQHandler: 609 ldr r0,=DMA15_DriverIRQHandler 610 bx r0 611 .size DMA15_IRQHandler, . - DMA15_IRQHandler 612 613 .align 1 614 .thumb_func 615 .weak DMA_Error_IRQHandler 616 .type DMA_Error_IRQHandler, %function 617DMA_Error_IRQHandler: 618 ldr r0,=DMA_Error_DriverIRQHandler 619 bx r0 620 .size DMA_Error_IRQHandler, . - DMA_Error_IRQHandler 621 622 .align 1 623 .thumb_func 624 .weak LPI2C0_IRQHandler 625 .type LPI2C0_IRQHandler, %function 626LPI2C0_IRQHandler: 627 ldr r0,=LPI2C0_DriverIRQHandler 628 bx r0 629 .size LPI2C0_IRQHandler, . - LPI2C0_IRQHandler 630 631 .align 1 632 .thumb_func 633 .weak LPI2C1_IRQHandler 634 .type LPI2C1_IRQHandler, %function 635LPI2C1_IRQHandler: 636 ldr r0,=LPI2C1_DriverIRQHandler 637 bx r0 638 .size LPI2C1_IRQHandler, . - LPI2C1_IRQHandler 639 640 .align 1 641 .thumb_func 642 .weak LPSPI0_IRQHandler 643 .type LPSPI0_IRQHandler, %function 644LPSPI0_IRQHandler: 645 ldr r0,=LPSPI0_DriverIRQHandler 646 bx r0 647 .size LPSPI0_IRQHandler, . - LPSPI0_IRQHandler 648 649 .align 1 650 .thumb_func 651 .weak LPSPI1_IRQHandler 652 .type LPSPI1_IRQHandler, %function 653LPSPI1_IRQHandler: 654 ldr r0,=LPSPI1_DriverIRQHandler 655 bx r0 656 .size LPSPI1_IRQHandler, . - LPSPI1_IRQHandler 657 658 .align 1 659 .thumb_func 660 .weak LPUART0_TX_IRQHandler 661 .type LPUART0_TX_IRQHandler, %function 662LPUART0_TX_IRQHandler: 663 ldr r0,=LPUART0_TX_DriverIRQHandler 664 bx r0 665 .size LPUART0_TX_IRQHandler, . - LPUART0_TX_IRQHandler 666 667 .align 1 668 .thumb_func 669 .weak LPUART0_RX_IRQHandler 670 .type LPUART0_RX_IRQHandler, %function 671LPUART0_RX_IRQHandler: 672 ldr r0,=LPUART0_RX_DriverIRQHandler 673 bx r0 674 .size LPUART0_RX_IRQHandler, . - LPUART0_RX_IRQHandler 675 676 .align 1 677 .thumb_func 678 .weak LPUART1_TX_IRQHandler 679 .type LPUART1_TX_IRQHandler, %function 680LPUART1_TX_IRQHandler: 681 ldr r0,=LPUART1_TX_DriverIRQHandler 682 bx r0 683 .size LPUART1_TX_IRQHandler, . - LPUART1_TX_IRQHandler 684 685 .align 1 686 .thumb_func 687 .weak LPUART1_RX_IRQHandler 688 .type LPUART1_RX_IRQHandler, %function 689LPUART1_RX_IRQHandler: 690 ldr r0,=LPUART1_RX_DriverIRQHandler 691 bx r0 692 .size LPUART1_RX_IRQHandler, . - LPUART1_RX_IRQHandler 693 694 .align 1 695 .thumb_func 696 .weak LPUART2_TX_IRQHandler 697 .type LPUART2_TX_IRQHandler, %function 698LPUART2_TX_IRQHandler: 699 ldr r0,=LPUART2_TX_DriverIRQHandler 700 bx r0 701 .size LPUART2_TX_IRQHandler, . - LPUART2_TX_IRQHandler 702 703 .align 1 704 .thumb_func 705 .weak LPUART2_RX_IRQHandler 706 .type LPUART2_RX_IRQHandler, %function 707LPUART2_RX_IRQHandler: 708 ldr r0,=LPUART2_RX_DriverIRQHandler 709 bx r0 710 .size LPUART2_RX_IRQHandler, . - LPUART2_RX_IRQHandler 711 712 .align 1 713 .thumb_func 714 .weak FLEXIO_IRQHandler 715 .type FLEXIO_IRQHandler, %function 716FLEXIO_IRQHandler: 717 ldr r0,=FLEXIO_DriverIRQHandler 718 bx r0 719 .size FLEXIO_IRQHandler, . - FLEXIO_IRQHandler 720 721 722/* Macro to define default handlers. Default handler 723 * will be weak symbol and just dead loops. They can be 724 * overwritten by other handlers */ 725 .macro def_irq_handler handler_name 726 .weak \handler_name 727 .set \handler_name, DefaultISR 728 .endm 729 730/* Exception Handlers */ 731 def_irq_handler MemManage_Handler 732 def_irq_handler BusFault_Handler 733 def_irq_handler UsageFault_Handler 734 def_irq_handler DebugMon_Handler 735 def_irq_handler DMA0_DriverIRQHandler 736 def_irq_handler DMA1_DriverIRQHandler 737 def_irq_handler DMA2_DriverIRQHandler 738 def_irq_handler DMA3_DriverIRQHandler 739 def_irq_handler DMA4_DriverIRQHandler 740 def_irq_handler DMA5_DriverIRQHandler 741 def_irq_handler DMA6_DriverIRQHandler 742 def_irq_handler DMA7_DriverIRQHandler 743 def_irq_handler DMA8_DriverIRQHandler 744 def_irq_handler DMA9_DriverIRQHandler 745 def_irq_handler DMA10_DriverIRQHandler 746 def_irq_handler DMA11_DriverIRQHandler 747 def_irq_handler DMA12_DriverIRQHandler 748 def_irq_handler DMA13_DriverIRQHandler 749 def_irq_handler DMA14_DriverIRQHandler 750 def_irq_handler DMA15_DriverIRQHandler 751 def_irq_handler DMA_Error_DriverIRQHandler 752 def_irq_handler MCM_IRQHandler 753 def_irq_handler FTFE_IRQHandler 754 def_irq_handler Read_Collision_IRQHandler 755 def_irq_handler LVD_LVW_IRQHandler 756 def_irq_handler Doublebit_Fault_IRQHandler 757 def_irq_handler WDOG_EWM_IRQHandler 758 def_irq_handler Reserved39_IRQHandler 759 def_irq_handler LPI2C0_DriverIRQHandler 760 def_irq_handler LPI2C1_DriverIRQHandler 761 def_irq_handler LPSPI0_DriverIRQHandler 762 def_irq_handler LPSPI1_DriverIRQHandler 763 def_irq_handler Reserved44_IRQHandler 764 def_irq_handler PWT_IRQHandler 765 def_irq_handler Reserved46_IRQHandler 766 def_irq_handler LPUART0_TX_DriverIRQHandler 767 def_irq_handler LPUART0_RX_DriverIRQHandler 768 def_irq_handler LPUART1_TX_DriverIRQHandler 769 def_irq_handler LPUART1_RX_DriverIRQHandler 770 def_irq_handler LPUART2_TX_DriverIRQHandler 771 def_irq_handler LPUART2_RX_DriverIRQHandler 772 def_irq_handler Reserved53_IRQHandler 773 def_irq_handler Reserved54_IRQHandler 774 def_irq_handler ADC0_IRQHandler 775 def_irq_handler CMP0_IRQHandler 776 def_irq_handler CMP1_IRQHandler 777 def_irq_handler FTM0_IRQHandler 778 def_irq_handler FTM1_IRQHandler 779 def_irq_handler FTM2_IRQHandler 780 def_irq_handler Reserved61_IRQHandler 781 def_irq_handler RTC_IRQHandler 782 def_irq_handler RTC_Seconds_IRQHandler 783 def_irq_handler LPIT0_Ch0_IRQHandler 784 def_irq_handler LPIT0_Ch1_IRQHandler 785 def_irq_handler LPIT0_Ch2_IRQHandler 786 def_irq_handler LPIT0_Ch3_IRQHandler 787 def_irq_handler PDB0_IRQHandler 788 def_irq_handler Reserved69_IRQHandler 789 def_irq_handler Reserved70_IRQHandler 790 def_irq_handler Reserved71_IRQHandler 791 def_irq_handler DAC0_IRQHandler 792 def_irq_handler SCG_RCM_IRQHandler 793 def_irq_handler LPTMR0_IRQHandler 794 def_irq_handler PORTA_IRQHandler 795 def_irq_handler PORTB_IRQHandler 796 def_irq_handler PORTC_IRQHandler 797 def_irq_handler PORTD_IRQHandler 798 def_irq_handler PORTE_IRQHandler 799 def_irq_handler SWI_IRQHandler 800 def_irq_handler Reserved81_IRQHandler 801 def_irq_handler Reserved82_IRQHandler 802 def_irq_handler Reserved83_IRQHandler 803 def_irq_handler PDB1_IRQHandler 804 def_irq_handler FLEXIO_DriverIRQHandler 805 def_irq_handler CMP2_IRQHandler 806 def_irq_handler FTM3_IRQHandler 807 def_irq_handler Reserved88_IRQHandler 808 def_irq_handler ADC1_IRQHandler 809 def_irq_handler ADC2_IRQHandler 810 def_irq_handler Reserved91_IRQHandler 811 def_irq_handler Reserved92_IRQHandler 812 def_irq_handler PDB2_IRQHandler 813 def_irq_handler Reserved94_IRQHandler 814 def_irq_handler Reserved95_IRQHandler 815 def_irq_handler Reserved96_IRQHandler 816 def_irq_handler Reserved97_IRQHandler 817 def_irq_handler Reserved98_IRQHandler 818 def_irq_handler Reserved99_IRQHandler 819 def_irq_handler Reserved100_IRQHandler 820 def_irq_handler Reserved101_IRQHandler 821 def_irq_handler Reserved102_IRQHandler 822 def_irq_handler Reserved103_IRQHandler 823 def_irq_handler Reserved104_IRQHandler 824 def_irq_handler Reserved105_IRQHandler 825 def_irq_handler Reserved106_IRQHandler 826 def_irq_handler Reserved107_IRQHandler 827 828 .end 829