1/* ------------------------------------------------------------------------- */ 2/* @file: startup_MIMXRT1165_cm7.s */ 3/* @purpose: CMSIS Cortex-M7 Core Device Startup File */ 4/* MIMXRT1165_cm7 */ 5/* @version: 0.1 */ 6/* @date: 2020-12-29 */ 7/* @build: b231019 */ 8/* ------------------------------------------------------------------------- */ 9/* */ 10/* Copyright 1997-2016 Freescale Semiconductor, Inc. */ 11/* Copyright 2016-2023 NXP */ 12/* SPDX-License-Identifier: BSD-3-Clause */ 13/*****************************************************************************/ 14/* Version: GCC for ARM Embedded Processors */ 15/*****************************************************************************/ 16 .syntax unified 17 .arch armv7-m 18 19 .section .isr_vector, "a" 20 .align 2 21 .globl __isr_vector 22__isr_vector: 23 .long __StackTop /* Top of Stack */ 24 .long Reset_Handler /* Reset Handler */ 25 .long NMI_Handler /* NMI Handler*/ 26 .long HardFault_Handler /* Hard Fault Handler*/ 27 .long MemManage_Handler /* MPU Fault Handler*/ 28 .long BusFault_Handler /* Bus Fault Handler*/ 29 .long UsageFault_Handler /* Usage Fault Handler*/ 30 .long 0 /* Reserved*/ 31 .long 0 /* Reserved*/ 32 .long 0 /* Reserved*/ 33 .long 0 /* Reserved*/ 34 .long SVC_Handler /* SVCall Handler*/ 35 .long DebugMon_Handler /* Debug Monitor Handler*/ 36 .long 0 /* Reserved*/ 37 .long PendSV_Handler /* PendSV Handler*/ 38 .long SysTick_Handler /* SysTick Handler*/ 39 40 /* External Interrupts*/ 41 .long DMA0_DMA16_IRQHandler /* DMA channel 0/16 transfer complete*/ 42 .long DMA1_DMA17_IRQHandler /* DMA channel 1/17 transfer complete*/ 43 .long DMA2_DMA18_IRQHandler /* DMA channel 2/18 transfer complete*/ 44 .long DMA3_DMA19_IRQHandler /* DMA channel 3/19 transfer complete*/ 45 .long DMA4_DMA20_IRQHandler /* DMA channel 4/20 transfer complete*/ 46 .long DMA5_DMA21_IRQHandler /* DMA channel 5/21 transfer complete*/ 47 .long DMA6_DMA22_IRQHandler /* DMA channel 6/22 transfer complete*/ 48 .long DMA7_DMA23_IRQHandler /* DMA channel 7/23 transfer complete*/ 49 .long DMA8_DMA24_IRQHandler /* DMA channel 8/24 transfer complete*/ 50 .long DMA9_DMA25_IRQHandler /* DMA channel 9/25 transfer complete*/ 51 .long DMA10_DMA26_IRQHandler /* DMA channel 10/26 transfer complete*/ 52 .long DMA11_DMA27_IRQHandler /* DMA channel 11/27 transfer complete*/ 53 .long DMA12_DMA28_IRQHandler /* DMA channel 12/28 transfer complete*/ 54 .long DMA13_DMA29_IRQHandler /* DMA channel 13/29 transfer complete*/ 55 .long DMA14_DMA30_IRQHandler /* DMA channel 14/30 transfer complete*/ 56 .long DMA15_DMA31_IRQHandler /* DMA channel 15/31 transfer complete*/ 57 .long DMA_ERROR_IRQHandler /* DMA error interrupt channels 0-15 / 16-31*/ 58 .long CTI_TRIGGER_OUT0_IRQHandler /* CTI_TRIGGER_OUT0*/ 59 .long CTI_TRIGGER_OUT1_IRQHandler /* CTI_TRIGGER_OUT1*/ 60 .long CORE_IRQHandler /* CorePlatform exception IRQ*/ 61 .long LPUART1_IRQHandler /* LPUART1 TX interrupt and RX interrupt*/ 62 .long LPUART2_IRQHandler /* LPUART2 TX interrupt and RX interrupt*/ 63 .long LPUART3_IRQHandler /* LPUART3 TX interrupt and RX interrupt*/ 64 .long LPUART4_IRQHandler /* LPUART4 TX interrupt and RX interrupt*/ 65 .long LPUART5_IRQHandler /* LPUART5 TX interrupt and RX interrupt*/ 66 .long LPUART6_IRQHandler /* LPUART6 TX interrupt and RX interrupt*/ 67 .long LPUART7_IRQHandler /* LPUART7 TX interrupt and RX interrupt*/ 68 .long LPUART8_IRQHandler /* LPUART8 TX interrupt and RX interrupt*/ 69 .long LPUART9_IRQHandler /* LPUART9 TX interrupt and RX interrupt*/ 70 .long LPUART10_IRQHandler /* LPUART10 TX interrupt and RX interrupt*/ 71 .long LPUART11_IRQHandler /* LPUART11 TX interrupt and RX interrupt*/ 72 .long LPUART12_IRQHandler /* LPUART12 TX interrupt and RX interrupt*/ 73 .long LPI2C1_IRQHandler /* LPI2C1 interrupt*/ 74 .long LPI2C2_IRQHandler /* LPI2C2 interrupt*/ 75 .long LPI2C3_IRQHandler /* LPI2C3 interrupt*/ 76 .long LPI2C4_IRQHandler /* LPI2C4 interrupt*/ 77 .long LPI2C5_IRQHandler /* LPI2C5 interrupt*/ 78 .long LPI2C6_IRQHandler /* LPI2C6 interrupt*/ 79 .long LPSPI1_IRQHandler /* LPSPI1 interrupt request line to the core*/ 80 .long LPSPI2_IRQHandler /* LPSPI2 interrupt request line to the core*/ 81 .long LPSPI3_IRQHandler /* LPSPI3 interrupt request line to the core*/ 82 .long LPSPI4_IRQHandler /* LPSPI4 interrupt request line to the core*/ 83 .long LPSPI5_IRQHandler /* LPSPI5 interrupt request line to the core*/ 84 .long LPSPI6_IRQHandler /* LPSPI6 interrupt request line to the core*/ 85 .long CAN1_IRQHandler /* CAN1 interrupt*/ 86 .long CAN1_ERROR_IRQHandler /* CAN1 error interrupt*/ 87 .long CAN2_IRQHandler /* CAN2 interrupt*/ 88 .long CAN2_ERROR_IRQHandler /* CAN2 error interrupt*/ 89 .long CAN3_IRQHandler /* CAN3 interrupt*/ 90 .long CAN3_ERROR_IRQHandler /* CAN3 erro interrupt*/ 91 .long FLEXRAM_IRQHandler /* FlexRAM address out of range Or access hit IRQ*/ 92 .long KPP_IRQHandler /* Keypad nterrupt*/ 93 .long Reserved68_IRQHandler /* Reserved interrupt*/ 94 .long GPR_IRQ_IRQHandler /* GPR interrupt*/ 95 .long Reserved70_IRQHandler /* Reserved interrupt*/ 96 .long LCDIFv2_IRQHandler /* LCDIFv2 interrupt*/ 97 .long Reserved72_IRQHandler /* Reserved interrupt*/ 98 .long Reserved73_IRQHandler /* Reserved interrupt*/ 99 .long MIPI_CSI_IRQHandler /* MIPI_CSI interrupt*/ 100 .long MIPI_DSI_IRQHandler /* MIPI_DSI interrupt*/ 101 .long GPU2D_IRQHandler /* GPU2D interrupt*/ 102 .long GPIO6_Combined_0_15_IRQHandler /* Combined interrupt indication for GPIO6 signal 0 throughout 15*/ 103 .long GPIO6_Combined_16_31_IRQHandler /* Combined interrupt indication for GPIO6 signal 16 throughout 31*/ 104 .long DAC_IRQHandler /* DAC interrupt*/ 105 .long KEY_MANAGER_IRQHandler /* PUF interrupt*/ 106 .long WDOG2_IRQHandler /* WDOG2 interrupt*/ 107 .long SNVS_HP_NON_TZ_IRQHandler /* SRTC Consolidated Interrupt. Non TZ*/ 108 .long SNVS_HP_TZ_IRQHandler /* SRTC Security Interrupt. TZ*/ 109 .long SNVS_PULSE_EVENT_IRQHandler /* ON-OFF button press shorter than 5 secs (pulse event)*/ 110 .long CAAM_IRQ0_IRQHandler /* CAAM interrupt queue for JQ0*/ 111 .long CAAM_IRQ1_IRQHandler /* CAAM interrupt queue for JQ1*/ 112 .long CAAM_IRQ2_IRQHandler /* CAAM interrupt queue for JQ2*/ 113 .long CAAM_IRQ3_IRQHandler /* CAAM interrupt queue for JQ3*/ 114 .long CAAM_RECORVE_ERRPR_IRQHandler /* CAAM interrupt for recoverable error*/ 115 .long CAAM_RTIC_IRQHandler /* CAAM interrupt for RTIC*/ 116 .long CDOG_IRQHandler /* CDOG interrupt*/ 117 .long SAI1_IRQHandler /* SAI1 interrupt*/ 118 .long SAI2_IRQHandler /* SAI1 interrupt*/ 119 .long SAI3_RX_IRQHandler /* SAI3 interrupt*/ 120 .long SAI3_TX_IRQHandler /* SAI3 interrupt*/ 121 .long SAI4_RX_IRQHandler /* SAI4 interrupt*/ 122 .long SAI4_TX_IRQHandler /* SAI4 interrupt*/ 123 .long SPDIF_IRQHandler /* SPDIF interrupt*/ 124 .long TMPSNS_INT_IRQHandler /* TMPSNS interrupt*/ 125 .long TMPSNS_LOW_HIGH_IRQHandler /* TMPSNS low high interrupt*/ 126 .long TMPSNS_PANIC_IRQHandler /* TMPSNS panic interrupt*/ 127 .long LPSR_LP8_BROWNOUT_IRQHandler /* LPSR 1p8 brownout interrupt*/ 128 .long LPSR_LP0_BROWNOUT_IRQHandler /* LPSR 1p0 brownout interrupt*/ 129 .long ADC1_IRQHandler /* ADC1 interrupt*/ 130 .long ADC2_IRQHandler /* ADC2 interrupt*/ 131 .long USBPHY1_IRQHandler /* USBPHY1 interrupt*/ 132 .long USBPHY2_IRQHandler /* USBPHY2 interrupt*/ 133 .long RDC_IRQHandler /* RDC interrupt*/ 134 .long GPIO13_Combined_0_31_IRQHandler /* Combined interrupt indication for GPIO13 signal 0 throughout 31*/ 135 .long Reserved110_IRQHandler /* Reserved interrupt*/ 136 .long DCIC1_IRQHandler /* DCIC1 interrupt*/ 137 .long DCIC2_IRQHandler /* DCIC2 interrupt*/ 138 .long ASRC_IRQHandler /* ASRC interrupt*/ 139 .long FLEXRAM_ECC_IRQHandler /* FlexRAM ECC fatal interrupt*/ 140 .long CM7_GPIO2_3_IRQHandler /* CM7_GPIO2,CM7_GPIO3 interrupt*/ 141 .long GPIO1_Combined_0_15_IRQHandler /* Combined interrupt indication for GPIO1 signal 0 throughout 15*/ 142 .long GPIO1_Combined_16_31_IRQHandler /* Combined interrupt indication for GPIO1 signal 16 throughout 31*/ 143 .long GPIO2_Combined_0_15_IRQHandler /* Combined interrupt indication for GPIO2 signal 0 throughout 15*/ 144 .long GPIO2_Combined_16_31_IRQHandler /* Combined interrupt indication for GPIO2 signal 16 throughout 31*/ 145 .long GPIO3_Combined_0_15_IRQHandler /* Combined interrupt indication for GPIO3 signal 0 throughout 15*/ 146 .long GPIO3_Combined_16_31_IRQHandler /* Combined interrupt indication for GPIO3 signal 16 throughout 31*/ 147 .long GPIO4_Combined_0_15_IRQHandler /* Combined interrupt indication for GPIO4 signal 0 throughout 15*/ 148 .long GPIO4_Combined_16_31_IRQHandler /* Combined interrupt indication for GPIO4 signal 16 throughout 31*/ 149 .long GPIO5_Combined_0_15_IRQHandler /* Combined interrupt indication for GPIO5 signal 0 throughout 15*/ 150 .long GPIO5_Combined_16_31_IRQHandler /* Combined interrupt indication for GPIO5 signal 16 throughout 31*/ 151 .long FLEXIO1_IRQHandler /* FLEXIO1 interrupt*/ 152 .long FLEXIO2_IRQHandler /* FLEXIO2 interrupt*/ 153 .long WDOG1_IRQHandler /* WDOG1 interrupt*/ 154 .long RTWDOG3_IRQHandler /* RTWDOG3 interrupt*/ 155 .long EWM_IRQHandler /* EWM interrupt*/ 156 .long OCOTP_READ_FUSE_ERROR_IRQHandler /* OCOTP read fuse error interrupt*/ 157 .long OCOTP_READ_DONE_ERROR_IRQHandler /* OCOTP read fuse done interrupt*/ 158 .long GPC_IRQHandler /* GPC interrupt*/ 159 .long MUA_IRQHandler /* MUA interrupt*/ 160 .long GPT1_IRQHandler /* GPT1 interrupt*/ 161 .long GPT2_IRQHandler /* GPT2 interrupt*/ 162 .long GPT3_IRQHandler /* GPT3 interrupt*/ 163 .long GPT4_IRQHandler /* GPT4 interrupt*/ 164 .long GPT5_IRQHandler /* GPT5 interrupt*/ 165 .long GPT6_IRQHandler /* GPT6 interrupt*/ 166 .long PWM1_0_IRQHandler /* PWM1 capture 0, compare 0, or reload 0 interrupt*/ 167 .long PWM1_1_IRQHandler /* PWM1 capture 1, compare 1, or reload 0 interrupt*/ 168 .long PWM1_2_IRQHandler /* PWM1 capture 2, compare 2, or reload 0 interrupt*/ 169 .long PWM1_3_IRQHandler /* PWM1 capture 3, compare 3, or reload 0 interrupt*/ 170 .long PWM1_FAULT_IRQHandler /* PWM1 fault or reload error interrupt*/ 171 .long FLEXSPI1_IRQHandler /* FlexSPI1 interrupt*/ 172 .long FLEXSPI2_IRQHandler /* FlexSPI2 interrupt*/ 173 .long SEMC_IRQHandler /* SEMC interrupt*/ 174 .long USDHC1_IRQHandler /* USDHC1 interrupt*/ 175 .long USDHC2_IRQHandler /* USDHC2 interrupt*/ 176 .long USB_OTG2_IRQHandler /* USBO2 USB OTG2*/ 177 .long USB_OTG1_IRQHandler /* USBO2 USB OTG1*/ 178 .long ENET_IRQHandler /* ENET interrupt*/ 179 .long ENET_1588_Timer_IRQHandler /* ENET_1588_Timer interrupt*/ 180 .long ENET_1G_MAC0_Tx_Rx_1_IRQHandler /* ENET 1G MAC0 transmit/receive 1*/ 181 .long ENET_1G_MAC0_Tx_Rx_2_IRQHandler /* ENET 1G MAC0 transmit/receive 2*/ 182 .long ENET_1G_IRQHandler /* ENET 1G interrupt*/ 183 .long ENET_1G_1588_Timer_IRQHandler /* ENET_1G_1588_Timer interrupt*/ 184 .long XBAR1_IRQ_0_1_IRQHandler /* XBARA1 output signal 0, 1 interrupt*/ 185 .long XBAR1_IRQ_2_3_IRQHandler /* XBARA1 output signal 2, 3 interrupt*/ 186 .long ADC_ETC_IRQ0_IRQHandler /* ADCETC IRQ0 interrupt*/ 187 .long ADC_ETC_IRQ1_IRQHandler /* ADCETC IRQ1 interrupt*/ 188 .long ADC_ETC_IRQ2_IRQHandler /* ADCETC IRQ2 interrupt*/ 189 .long ADC_ETC_IRQ3_IRQHandler /* ADCETC IRQ3 interrupt*/ 190 .long ADC_ETC_ERROR_IRQ_IRQHandler /* ADCETC Error IRQ interrupt*/ 191 .long Reserved166_IRQHandler /* Reserved interrupt*/ 192 .long Reserved167_IRQHandler /* Reserved interrupt*/ 193 .long Reserved168_IRQHandler /* Reserved interrupt*/ 194 .long Reserved169_IRQHandler /* Reserved interrupt*/ 195 .long Reserved170_IRQHandler /* Reserved interrupt*/ 196 .long PIT1_IRQHandler /* PIT1 interrupt*/ 197 .long PIT2_IRQHandler /* PIT2 interrupt*/ 198 .long ACMP1_IRQHandler /* ACMP interrupt*/ 199 .long ACMP2_IRQHandler /* ACMP interrupt*/ 200 .long ACMP3_IRQHandler /* ACMP interrupt*/ 201 .long ACMP4_IRQHandler /* ACMP interrupt*/ 202 .long Reserved177_IRQHandler /* Reserved interrupt*/ 203 .long Reserved178_IRQHandler /* Reserved interrupt*/ 204 .long Reserved179_IRQHandler /* Reserved interrupt*/ 205 .long Reserved180_IRQHandler /* Reserved interrupt*/ 206 .long ENC1_IRQHandler /* ENC1 interrupt*/ 207 .long ENC2_IRQHandler /* ENC2 interrupt*/ 208 .long ENC3_IRQHandler /* ENC3 interrupt*/ 209 .long ENC4_IRQHandler /* ENC4 interrupt*/ 210 .long Reserved185_IRQHandler /* Reserved interrupt*/ 211 .long Reserved186_IRQHandler /* Reserved interrupt*/ 212 .long TMR1_IRQHandler /* TMR1 interrupt*/ 213 .long TMR2_IRQHandler /* TMR2 interrupt*/ 214 .long TMR3_IRQHandler /* TMR3 interrupt*/ 215 .long TMR4_IRQHandler /* TMR4 interrupt*/ 216 .long SEMA4_CP0_IRQHandler /* SEMA4 CP0 interrupt*/ 217 .long SEMA4_CP1_IRQHandler /* SEMA4 CP1 interrupt*/ 218 .long PWM2_0_IRQHandler /* PWM2 capture 0, compare 0, or reload 0 interrupt*/ 219 .long PWM2_1_IRQHandler /* PWM2 capture 1, compare 1, or reload 0 interrupt*/ 220 .long PWM2_2_IRQHandler /* PWM2 capture 2, compare 2, or reload 0 interrupt*/ 221 .long PWM2_3_IRQHandler /* PWM2 capture 3, compare 3, or reload 0 interrupt*/ 222 .long PWM2_FAULT_IRQHandler /* PWM2 fault or reload error interrupt*/ 223 .long PWM3_0_IRQHandler /* PWM3 capture 0, compare 0, or reload 0 interrupt*/ 224 .long PWM3_1_IRQHandler /* PWM3 capture 1, compare 1, or reload 0 interrupt*/ 225 .long PWM3_2_IRQHandler /* PWM3 capture 2, compare 2, or reload 0 interrupt*/ 226 .long PWM3_3_IRQHandler /* PWM3 capture 3, compare 3, or reload 0 interrupt*/ 227 .long PWM3_FAULT_IRQHandler /* PWM3 fault or reload error interrupt*/ 228 .long PWM4_0_IRQHandler /* PWM4 capture 0, compare 0, or reload 0 interrupt*/ 229 .long PWM4_1_IRQHandler /* PWM4 capture 1, compare 1, or reload 0 interrupt*/ 230 .long PWM4_2_IRQHandler /* PWM4 capture 2, compare 2, or reload 0 interrupt*/ 231 .long PWM4_3_IRQHandler /* PWM4 capture 3, compare 3, or reload 0 interrupt*/ 232 .long PWM4_FAULT_IRQHandler /* PWM4 fault or reload error interrupt*/ 233 .long Reserved208_IRQHandler /* Reserved interrupt*/ 234 .long Reserved209_IRQHandler /* Reserved interrupt*/ 235 .long Reserved210_IRQHandler /* Reserved interrupt*/ 236 .long Reserved211_IRQHandler /* Reserved interrupt*/ 237 .long Reserved212_IRQHandler /* Reserved interrupt*/ 238 .long Reserved213_IRQHandler /* Reserved interrupt*/ 239 .long Reserved214_IRQHandler /* Reserved interrupt*/ 240 .long Reserved215_IRQHandler /* Reserved interrupt*/ 241 .long PDM_HWVAD_EVENT_IRQHandler /* HWVAD event interrupt*/ 242 .long PDM_HWVAD_ERROR_IRQHandler /* HWVAD error interrupt*/ 243 .long PDM_EVENT_IRQHandler /* PDM event interrupt*/ 244 .long PDM_ERROR_IRQHandler /* PDM error interrupt*/ 245 .long EMVSIM1_IRQHandler /* EMVSIM1 interrupt*/ 246 .long EMVSIM2_IRQHandler /* EMVSIM2 interrupt*/ 247 .long MECC1_INT_IRQHandler /* MECC1 int*/ 248 .long MECC1_FATAL_INT_IRQHandler /* MECC1 fatal int*/ 249 .long MECC2_INT_IRQHandler /* MECC2 int*/ 250 .long MECC2_FATAL_INT_IRQHandler /* MECC2 fatal int*/ 251 .long XECC_FLEXSPI1_INT_IRQHandler /* XECC int*/ 252 .long XECC_FLEXSPI1_FATAL_INT_IRQHandler /* XECC fatal int*/ 253 .long XECC_FLEXSPI2_INT_IRQHandler /* XECC int*/ 254 .long XECC_FLEXSPI2_FATAL_INT_IRQHandler /* XECC fatal int*/ 255 .long XECC_SEMC_INT_IRQHandler /* XECC int*/ 256 .long XECC_SEMC_FATAL_INT_IRQHandler /* XECC fatal int*/ 257 .long Reserved232_IRQHandler /* Reserved interrupt*/ 258 .long Reserved233_IRQHandler /* Reserved interrupt*/ 259 .long DefaultISR /* 234*/ 260 .long DefaultISR /* 235*/ 261 .long DefaultISR /* 236*/ 262 .long DefaultISR /* 237*/ 263 .long DefaultISR /* 238*/ 264 .long DefaultISR /* 239*/ 265 .long DefaultISR /* 240*/ 266 .long DefaultISR /* 241*/ 267 .long DefaultISR /* 242*/ 268 .long DefaultISR /* 243*/ 269 .long DefaultISR /* 244*/ 270 .long DefaultISR /* 245*/ 271 .long DefaultISR /* 246*/ 272 .long DefaultISR /* 247*/ 273 .long DefaultISR /* 248*/ 274 .long DefaultISR /* 249*/ 275 .long DefaultISR /* 250*/ 276 .long DefaultISR /* 251*/ 277 .long DefaultISR /* 252*/ 278 .long DefaultISR /* 253*/ 279 .long DefaultISR /* 254*/ 280 .long 0xFFFFFFFF /* Reserved for user TRIM value*/ 281 282 .size __isr_vector, . - __isr_vector 283 284 .text 285 .thumb 286 287#if defined (__cplusplus) 288#ifdef __REDLIB__ 289#error Redlib does not support C++ 290#endif 291#endif 292/* Reset Handler */ 293 294 .thumb_func 295 .align 2 296 .globl Reset_Handler 297 .weak Reset_Handler 298 .type Reset_Handler, %function 299Reset_Handler: 300 cpsid i /* Mask interrupts */ 301 .equ VTOR, 0xE000ED08 302 ldr r0, =VTOR 303 ldr r1, =__isr_vector 304 str r1, [r0] 305 ldr r2, [r1] 306 msr msp, r2 307#ifndef __NO_SYSTEM_INIT 308 ldr r0,=SystemInit 309 blx r0 310#endif 311/* Loop to copy data from read only memory to RAM. The ranges 312 * of copy from/to are specified by following symbols evaluated in 313 * linker script. 314 * __etext: End of code section, i.e., begin of data sections to copy from. 315 * __data_start__/__data_end__: RAM address range that data should be 316 * __noncachedata_start__/__noncachedata_end__ : none cachable region 317 * __ram_function_start__/__ram_function_end__ : ramfunction region 318 * copied to. Both must be aligned to 4 bytes boundary. */ 319 320 ldr r1, =__etext 321 ldr r2, =__data_start__ 322 ldr r3, =__data_end__ 323 324#ifdef __PERFORMANCE_IMPLEMENTATION 325/* Here are two copies of loop implementations. First one favors performance 326 * and the second one favors code size. Default uses the second one. 327 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 328 subs r3, r2 329 ble .LC1 330.LC0: 331 subs r3, #4 332 ldr r0, [r1, r3] 333 str r0, [r2, r3] 334 bgt .LC0 335.LC1: 336#else /* code size implemenation */ 337.LC0: 338 cmp r2, r3 339 ittt lt 340 ldrlt r0, [r1], #4 341 strlt r0, [r2], #4 342 blt .LC0 343#endif 344#ifdef __STARTUP_INITIALIZE_RAMFUNCTION 345 ldr r2, =__ram_function_start__ 346 ldr r3, =__ram_function_end__ 347#ifdef __PERFORMANCE_IMPLEMENTATION 348/* Here are two copies of loop implementations. First one favors performance 349 * and the second one favors code size. Default uses the second one. 350 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 351 subs r3, r2 352 ble .LC_ramfunc_copy_end 353.LC_ramfunc_copy_start: 354 subs r3, #4 355 ldr r0, [r1, r3] 356 str r0, [r2, r3] 357 bgt .LC_ramfunc_copy_start 358.LC_ramfunc_copy_end: 359#else /* code size implemenation */ 360.LC_ramfunc_copy_start: 361 cmp r2, r3 362 ittt lt 363 ldrlt r0, [r1], #4 364 strlt r0, [r2], #4 365 blt .LC_ramfunc_copy_start 366#endif 367#endif /* __STARTUP_INITIALIZE_RAMFUNCTION */ 368#ifdef __STARTUP_INITIALIZE_NONCACHEDATA 369 ldr r2, =__noncachedata_start__ 370 ldr r3, =__noncachedata_init_end__ 371#ifdef __PERFORMANCE_IMPLEMENTATION 372/* Here are two copies of loop implementations. First one favors performance 373 * and the second one favors code size. Default uses the second one. 374 * Define macro "__PERFORMANCE_IMPLEMENTATION" in project to use the first one */ 375 subs r3, r2 376 ble .LC3 377.LC2: 378 subs r3, #4 379 ldr r0, [r1, r3] 380 str r0, [r2, r3] 381 bgt .LC2 382.LC3: 383#else /* code size implemenation */ 384.LC2: 385 cmp r2, r3 386 ittt lt 387 ldrlt r0, [r1], #4 388 strlt r0, [r2], #4 389 blt .LC2 390#endif 391/* zero inited ncache section initialization */ 392 ldr r3, =__noncachedata_end__ 393 movs r0,0 394.LC4: 395 cmp r2,r3 396 itt lt 397 strlt r0,[r2],#4 398 blt .LC4 399#endif /* __STARTUP_INITIALIZE_NONCACHEDATA */ 400 401#ifdef __STARTUP_CLEAR_BSS 402/* This part of work usually is done in C library startup code. Otherwise, 403 * define this macro to enable it in this startup. 404 * 405 * Loop to zero out BSS section, which uses following symbols 406 * in linker script: 407 * __bss_start__: start of BSS section. Must align to 4 408 * __bss_end__: end of BSS section. Must align to 4 409 */ 410 ldr r1, =__bss_start__ 411 ldr r2, =__bss_end__ 412 413 movs r0, 0 414.LC5: 415 cmp r1, r2 416 itt lt 417 strlt r0, [r1], #4 418 blt .LC5 419#endif /* __STARTUP_CLEAR_BSS */ 420 421 cpsie i /* Unmask interrupts */ 422#ifndef __START 423#ifdef __REDLIB__ 424#define __START __main 425#else 426#define __START _start 427#endif 428#endif 429#ifndef __ATOLLIC__ 430 ldr r0,=__START 431 blx r0 432#else 433 ldr r0,=__libc_init_array 434 blx r0 435 ldr r0,=main 436 bx r0 437#endif 438 .pool 439 .size Reset_Handler, . - Reset_Handler 440 441 .align 1 442 .thumb_func 443 .weak DefaultISR 444 .type DefaultISR, %function 445DefaultISR: 446 b DefaultISR 447 .size DefaultISR, . - DefaultISR 448 449 .align 1 450 .thumb_func 451 .weak NMI_Handler 452 .type NMI_Handler, %function 453NMI_Handler: 454 ldr r0,=NMI_Handler 455 bx r0 456 .size NMI_Handler, . - NMI_Handler 457 458 .align 1 459 .thumb_func 460 .weak HardFault_Handler 461 .type HardFault_Handler, %function 462HardFault_Handler: 463 ldr r0,=HardFault_Handler 464 bx r0 465 .size HardFault_Handler, . - HardFault_Handler 466 467 .align 1 468 .thumb_func 469 .weak SVC_Handler 470 .type SVC_Handler, %function 471SVC_Handler: 472 ldr r0,=SVC_Handler 473 bx r0 474 .size SVC_Handler, . - SVC_Handler 475 476 .align 1 477 .thumb_func 478 .weak PendSV_Handler 479 .type PendSV_Handler, %function 480PendSV_Handler: 481 ldr r0,=PendSV_Handler 482 bx r0 483 .size PendSV_Handler, . - PendSV_Handler 484 485 .align 1 486 .thumb_func 487 .weak SysTick_Handler 488 .type SysTick_Handler, %function 489SysTick_Handler: 490 ldr r0,=SysTick_Handler 491 bx r0 492 .size SysTick_Handler, . - SysTick_Handler 493 494 .align 1 495 .thumb_func 496 .weak DMA0_DMA16_IRQHandler 497 .type DMA0_DMA16_IRQHandler, %function 498DMA0_DMA16_IRQHandler: 499 ldr r0,=DMA0_DMA16_DriverIRQHandler 500 bx r0 501 .size DMA0_DMA16_IRQHandler, . - DMA0_DMA16_IRQHandler 502 503 .align 1 504 .thumb_func 505 .weak DMA1_DMA17_IRQHandler 506 .type DMA1_DMA17_IRQHandler, %function 507DMA1_DMA17_IRQHandler: 508 ldr r0,=DMA1_DMA17_DriverIRQHandler 509 bx r0 510 .size DMA1_DMA17_IRQHandler, . - DMA1_DMA17_IRQHandler 511 512 .align 1 513 .thumb_func 514 .weak DMA2_DMA18_IRQHandler 515 .type DMA2_DMA18_IRQHandler, %function 516DMA2_DMA18_IRQHandler: 517 ldr r0,=DMA2_DMA18_DriverIRQHandler 518 bx r0 519 .size DMA2_DMA18_IRQHandler, . - DMA2_DMA18_IRQHandler 520 521 .align 1 522 .thumb_func 523 .weak DMA3_DMA19_IRQHandler 524 .type DMA3_DMA19_IRQHandler, %function 525DMA3_DMA19_IRQHandler: 526 ldr r0,=DMA3_DMA19_DriverIRQHandler 527 bx r0 528 .size DMA3_DMA19_IRQHandler, . - DMA3_DMA19_IRQHandler 529 530 .align 1 531 .thumb_func 532 .weak DMA4_DMA20_IRQHandler 533 .type DMA4_DMA20_IRQHandler, %function 534DMA4_DMA20_IRQHandler: 535 ldr r0,=DMA4_DMA20_DriverIRQHandler 536 bx r0 537 .size DMA4_DMA20_IRQHandler, . - DMA4_DMA20_IRQHandler 538 539 .align 1 540 .thumb_func 541 .weak DMA5_DMA21_IRQHandler 542 .type DMA5_DMA21_IRQHandler, %function 543DMA5_DMA21_IRQHandler: 544 ldr r0,=DMA5_DMA21_DriverIRQHandler 545 bx r0 546 .size DMA5_DMA21_IRQHandler, . - DMA5_DMA21_IRQHandler 547 548 .align 1 549 .thumb_func 550 .weak DMA6_DMA22_IRQHandler 551 .type DMA6_DMA22_IRQHandler, %function 552DMA6_DMA22_IRQHandler: 553 ldr r0,=DMA6_DMA22_DriverIRQHandler 554 bx r0 555 .size DMA6_DMA22_IRQHandler, . - DMA6_DMA22_IRQHandler 556 557 .align 1 558 .thumb_func 559 .weak DMA7_DMA23_IRQHandler 560 .type DMA7_DMA23_IRQHandler, %function 561DMA7_DMA23_IRQHandler: 562 ldr r0,=DMA7_DMA23_DriverIRQHandler 563 bx r0 564 .size DMA7_DMA23_IRQHandler, . - DMA7_DMA23_IRQHandler 565 566 .align 1 567 .thumb_func 568 .weak DMA8_DMA24_IRQHandler 569 .type DMA8_DMA24_IRQHandler, %function 570DMA8_DMA24_IRQHandler: 571 ldr r0,=DMA8_DMA24_DriverIRQHandler 572 bx r0 573 .size DMA8_DMA24_IRQHandler, . - DMA8_DMA24_IRQHandler 574 575 .align 1 576 .thumb_func 577 .weak DMA9_DMA25_IRQHandler 578 .type DMA9_DMA25_IRQHandler, %function 579DMA9_DMA25_IRQHandler: 580 ldr r0,=DMA9_DMA25_DriverIRQHandler 581 bx r0 582 .size DMA9_DMA25_IRQHandler, . - DMA9_DMA25_IRQHandler 583 584 .align 1 585 .thumb_func 586 .weak DMA10_DMA26_IRQHandler 587 .type DMA10_DMA26_IRQHandler, %function 588DMA10_DMA26_IRQHandler: 589 ldr r0,=DMA10_DMA26_DriverIRQHandler 590 bx r0 591 .size DMA10_DMA26_IRQHandler, . - DMA10_DMA26_IRQHandler 592 593 .align 1 594 .thumb_func 595 .weak DMA11_DMA27_IRQHandler 596 .type DMA11_DMA27_IRQHandler, %function 597DMA11_DMA27_IRQHandler: 598 ldr r0,=DMA11_DMA27_DriverIRQHandler 599 bx r0 600 .size DMA11_DMA27_IRQHandler, . - DMA11_DMA27_IRQHandler 601 602 .align 1 603 .thumb_func 604 .weak DMA12_DMA28_IRQHandler 605 .type DMA12_DMA28_IRQHandler, %function 606DMA12_DMA28_IRQHandler: 607 ldr r0,=DMA12_DMA28_DriverIRQHandler 608 bx r0 609 .size DMA12_DMA28_IRQHandler, . - DMA12_DMA28_IRQHandler 610 611 .align 1 612 .thumb_func 613 .weak DMA13_DMA29_IRQHandler 614 .type DMA13_DMA29_IRQHandler, %function 615DMA13_DMA29_IRQHandler: 616 ldr r0,=DMA13_DMA29_DriverIRQHandler 617 bx r0 618 .size DMA13_DMA29_IRQHandler, . - DMA13_DMA29_IRQHandler 619 620 .align 1 621 .thumb_func 622 .weak DMA14_DMA30_IRQHandler 623 .type DMA14_DMA30_IRQHandler, %function 624DMA14_DMA30_IRQHandler: 625 ldr r0,=DMA14_DMA30_DriverIRQHandler 626 bx r0 627 .size DMA14_DMA30_IRQHandler, . - DMA14_DMA30_IRQHandler 628 629 .align 1 630 .thumb_func 631 .weak DMA15_DMA31_IRQHandler 632 .type DMA15_DMA31_IRQHandler, %function 633DMA15_DMA31_IRQHandler: 634 ldr r0,=DMA15_DMA31_DriverIRQHandler 635 bx r0 636 .size DMA15_DMA31_IRQHandler, . - DMA15_DMA31_IRQHandler 637 638 .align 1 639 .thumb_func 640 .weak DMA_ERROR_IRQHandler 641 .type DMA_ERROR_IRQHandler, %function 642DMA_ERROR_IRQHandler: 643 ldr r0,=DMA_ERROR_DriverIRQHandler 644 bx r0 645 .size DMA_ERROR_IRQHandler, . - DMA_ERROR_IRQHandler 646 647 .align 1 648 .thumb_func 649 .weak LPUART1_IRQHandler 650 .type LPUART1_IRQHandler, %function 651LPUART1_IRQHandler: 652 ldr r0,=LPUART1_DriverIRQHandler 653 bx r0 654 .size LPUART1_IRQHandler, . - LPUART1_IRQHandler 655 656 .align 1 657 .thumb_func 658 .weak LPUART2_IRQHandler 659 .type LPUART2_IRQHandler, %function 660LPUART2_IRQHandler: 661 ldr r0,=LPUART2_DriverIRQHandler 662 bx r0 663 .size LPUART2_IRQHandler, . - LPUART2_IRQHandler 664 665 .align 1 666 .thumb_func 667 .weak LPUART3_IRQHandler 668 .type LPUART3_IRQHandler, %function 669LPUART3_IRQHandler: 670 ldr r0,=LPUART3_DriverIRQHandler 671 bx r0 672 .size LPUART3_IRQHandler, . - LPUART3_IRQHandler 673 674 .align 1 675 .thumb_func 676 .weak LPUART4_IRQHandler 677 .type LPUART4_IRQHandler, %function 678LPUART4_IRQHandler: 679 ldr r0,=LPUART4_DriverIRQHandler 680 bx r0 681 .size LPUART4_IRQHandler, . - LPUART4_IRQHandler 682 683 .align 1 684 .thumb_func 685 .weak LPUART5_IRQHandler 686 .type LPUART5_IRQHandler, %function 687LPUART5_IRQHandler: 688 ldr r0,=LPUART5_DriverIRQHandler 689 bx r0 690 .size LPUART5_IRQHandler, . - LPUART5_IRQHandler 691 692 .align 1 693 .thumb_func 694 .weak LPUART6_IRQHandler 695 .type LPUART6_IRQHandler, %function 696LPUART6_IRQHandler: 697 ldr r0,=LPUART6_DriverIRQHandler 698 bx r0 699 .size LPUART6_IRQHandler, . - LPUART6_IRQHandler 700 701 .align 1 702 .thumb_func 703 .weak LPUART7_IRQHandler 704 .type LPUART7_IRQHandler, %function 705LPUART7_IRQHandler: 706 ldr r0,=LPUART7_DriverIRQHandler 707 bx r0 708 .size LPUART7_IRQHandler, . - LPUART7_IRQHandler 709 710 .align 1 711 .thumb_func 712 .weak LPUART8_IRQHandler 713 .type LPUART8_IRQHandler, %function 714LPUART8_IRQHandler: 715 ldr r0,=LPUART8_DriverIRQHandler 716 bx r0 717 .size LPUART8_IRQHandler, . - LPUART8_IRQHandler 718 719 .align 1 720 .thumb_func 721 .weak LPUART9_IRQHandler 722 .type LPUART9_IRQHandler, %function 723LPUART9_IRQHandler: 724 ldr r0,=LPUART9_DriverIRQHandler 725 bx r0 726 .size LPUART9_IRQHandler, . - LPUART9_IRQHandler 727 728 .align 1 729 .thumb_func 730 .weak LPUART10_IRQHandler 731 .type LPUART10_IRQHandler, %function 732LPUART10_IRQHandler: 733 ldr r0,=LPUART10_DriverIRQHandler 734 bx r0 735 .size LPUART10_IRQHandler, . - LPUART10_IRQHandler 736 737 .align 1 738 .thumb_func 739 .weak LPUART11_IRQHandler 740 .type LPUART11_IRQHandler, %function 741LPUART11_IRQHandler: 742 ldr r0,=LPUART11_DriverIRQHandler 743 bx r0 744 .size LPUART11_IRQHandler, . - LPUART11_IRQHandler 745 746 .align 1 747 .thumb_func 748 .weak LPUART12_IRQHandler 749 .type LPUART12_IRQHandler, %function 750LPUART12_IRQHandler: 751 ldr r0,=LPUART12_DriverIRQHandler 752 bx r0 753 .size LPUART12_IRQHandler, . - LPUART12_IRQHandler 754 755 .align 1 756 .thumb_func 757 .weak LPI2C1_IRQHandler 758 .type LPI2C1_IRQHandler, %function 759LPI2C1_IRQHandler: 760 ldr r0,=LPI2C1_DriverIRQHandler 761 bx r0 762 .size LPI2C1_IRQHandler, . - LPI2C1_IRQHandler 763 764 .align 1 765 .thumb_func 766 .weak LPI2C2_IRQHandler 767 .type LPI2C2_IRQHandler, %function 768LPI2C2_IRQHandler: 769 ldr r0,=LPI2C2_DriverIRQHandler 770 bx r0 771 .size LPI2C2_IRQHandler, . - LPI2C2_IRQHandler 772 773 .align 1 774 .thumb_func 775 .weak LPI2C3_IRQHandler 776 .type LPI2C3_IRQHandler, %function 777LPI2C3_IRQHandler: 778 ldr r0,=LPI2C3_DriverIRQHandler 779 bx r0 780 .size LPI2C3_IRQHandler, . - LPI2C3_IRQHandler 781 782 .align 1 783 .thumb_func 784 .weak LPI2C4_IRQHandler 785 .type LPI2C4_IRQHandler, %function 786LPI2C4_IRQHandler: 787 ldr r0,=LPI2C4_DriverIRQHandler 788 bx r0 789 .size LPI2C4_IRQHandler, . - LPI2C4_IRQHandler 790 791 .align 1 792 .thumb_func 793 .weak LPI2C5_IRQHandler 794 .type LPI2C5_IRQHandler, %function 795LPI2C5_IRQHandler: 796 ldr r0,=LPI2C5_DriverIRQHandler 797 bx r0 798 .size LPI2C5_IRQHandler, . - LPI2C5_IRQHandler 799 800 .align 1 801 .thumb_func 802 .weak LPI2C6_IRQHandler 803 .type LPI2C6_IRQHandler, %function 804LPI2C6_IRQHandler: 805 ldr r0,=LPI2C6_DriverIRQHandler 806 bx r0 807 .size LPI2C6_IRQHandler, . - LPI2C6_IRQHandler 808 809 .align 1 810 .thumb_func 811 .weak LPSPI1_IRQHandler 812 .type LPSPI1_IRQHandler, %function 813LPSPI1_IRQHandler: 814 ldr r0,=LPSPI1_DriverIRQHandler 815 bx r0 816 .size LPSPI1_IRQHandler, . - LPSPI1_IRQHandler 817 818 .align 1 819 .thumb_func 820 .weak LPSPI2_IRQHandler 821 .type LPSPI2_IRQHandler, %function 822LPSPI2_IRQHandler: 823 ldr r0,=LPSPI2_DriverIRQHandler 824 bx r0 825 .size LPSPI2_IRQHandler, . - LPSPI2_IRQHandler 826 827 .align 1 828 .thumb_func 829 .weak LPSPI3_IRQHandler 830 .type LPSPI3_IRQHandler, %function 831LPSPI3_IRQHandler: 832 ldr r0,=LPSPI3_DriverIRQHandler 833 bx r0 834 .size LPSPI3_IRQHandler, . - LPSPI3_IRQHandler 835 836 .align 1 837 .thumb_func 838 .weak LPSPI4_IRQHandler 839 .type LPSPI4_IRQHandler, %function 840LPSPI4_IRQHandler: 841 ldr r0,=LPSPI4_DriverIRQHandler 842 bx r0 843 .size LPSPI4_IRQHandler, . - LPSPI4_IRQHandler 844 845 .align 1 846 .thumb_func 847 .weak LPSPI5_IRQHandler 848 .type LPSPI5_IRQHandler, %function 849LPSPI5_IRQHandler: 850 ldr r0,=LPSPI5_DriverIRQHandler 851 bx r0 852 .size LPSPI5_IRQHandler, . - LPSPI5_IRQHandler 853 854 .align 1 855 .thumb_func 856 .weak LPSPI6_IRQHandler 857 .type LPSPI6_IRQHandler, %function 858LPSPI6_IRQHandler: 859 ldr r0,=LPSPI6_DriverIRQHandler 860 bx r0 861 .size LPSPI6_IRQHandler, . - LPSPI6_IRQHandler 862 863 .align 1 864 .thumb_func 865 .weak CAN1_IRQHandler 866 .type CAN1_IRQHandler, %function 867CAN1_IRQHandler: 868 ldr r0,=CAN1_DriverIRQHandler 869 bx r0 870 .size CAN1_IRQHandler, . - CAN1_IRQHandler 871 872 .align 1 873 .thumb_func 874 .weak CAN1_ERROR_IRQHandler 875 .type CAN1_ERROR_IRQHandler, %function 876CAN1_ERROR_IRQHandler: 877 ldr r0,=CAN1_ERROR_DriverIRQHandler 878 bx r0 879 .size CAN1_ERROR_IRQHandler, . - CAN1_ERROR_IRQHandler 880 881 .align 1 882 .thumb_func 883 .weak CAN2_IRQHandler 884 .type CAN2_IRQHandler, %function 885CAN2_IRQHandler: 886 ldr r0,=CAN2_DriverIRQHandler 887 bx r0 888 .size CAN2_IRQHandler, . - CAN2_IRQHandler 889 890 .align 1 891 .thumb_func 892 .weak CAN2_ERROR_IRQHandler 893 .type CAN2_ERROR_IRQHandler, %function 894CAN2_ERROR_IRQHandler: 895 ldr r0,=CAN2_ERROR_DriverIRQHandler 896 bx r0 897 .size CAN2_ERROR_IRQHandler, . - CAN2_ERROR_IRQHandler 898 899 .align 1 900 .thumb_func 901 .weak CAN3_IRQHandler 902 .type CAN3_IRQHandler, %function 903CAN3_IRQHandler: 904 ldr r0,=CAN3_DriverIRQHandler 905 bx r0 906 .size CAN3_IRQHandler, . - CAN3_IRQHandler 907 908 .align 1 909 .thumb_func 910 .weak CAN3_ERROR_IRQHandler 911 .type CAN3_ERROR_IRQHandler, %function 912CAN3_ERROR_IRQHandler: 913 ldr r0,=CAN3_ERROR_DriverIRQHandler 914 bx r0 915 .size CAN3_ERROR_IRQHandler, . - CAN3_ERROR_IRQHandler 916 917 .align 1 918 .thumb_func 919 .weak MIPI_CSI_IRQHandler 920 .type MIPI_CSI_IRQHandler, %function 921MIPI_CSI_IRQHandler: 922 ldr r0,=MIPI_CSI_DriverIRQHandler 923 bx r0 924 .size MIPI_CSI_IRQHandler, . - MIPI_CSI_IRQHandler 925 926 .align 1 927 .thumb_func 928 .weak MIPI_DSI_IRQHandler 929 .type MIPI_DSI_IRQHandler, %function 930MIPI_DSI_IRQHandler: 931 ldr r0,=MIPI_DSI_DriverIRQHandler 932 bx r0 933 .size MIPI_DSI_IRQHandler, . - MIPI_DSI_IRQHandler 934 935 .align 1 936 .thumb_func 937 .weak CDOG_IRQHandler 938 .type CDOG_IRQHandler, %function 939CDOG_IRQHandler: 940 ldr r0,=CDOG_DriverIRQHandler 941 bx r0 942 .size CDOG_IRQHandler, . - CDOG_IRQHandler 943 944 .align 1 945 .thumb_func 946 .weak SAI1_IRQHandler 947 .type SAI1_IRQHandler, %function 948SAI1_IRQHandler: 949 ldr r0,=SAI1_DriverIRQHandler 950 bx r0 951 .size SAI1_IRQHandler, . - SAI1_IRQHandler 952 953 .align 1 954 .thumb_func 955 .weak SAI2_IRQHandler 956 .type SAI2_IRQHandler, %function 957SAI2_IRQHandler: 958 ldr r0,=SAI2_DriverIRQHandler 959 bx r0 960 .size SAI2_IRQHandler, . - SAI2_IRQHandler 961 962 .align 1 963 .thumb_func 964 .weak SAI3_RX_IRQHandler 965 .type SAI3_RX_IRQHandler, %function 966SAI3_RX_IRQHandler: 967 ldr r0,=SAI3_RX_DriverIRQHandler 968 bx r0 969 .size SAI3_RX_IRQHandler, . - SAI3_RX_IRQHandler 970 971 .align 1 972 .thumb_func 973 .weak SAI3_TX_IRQHandler 974 .type SAI3_TX_IRQHandler, %function 975SAI3_TX_IRQHandler: 976 ldr r0,=SAI3_TX_DriverIRQHandler 977 bx r0 978 .size SAI3_TX_IRQHandler, . - SAI3_TX_IRQHandler 979 980 .align 1 981 .thumb_func 982 .weak SAI4_RX_IRQHandler 983 .type SAI4_RX_IRQHandler, %function 984SAI4_RX_IRQHandler: 985 ldr r0,=SAI4_RX_DriverIRQHandler 986 bx r0 987 .size SAI4_RX_IRQHandler, . - SAI4_RX_IRQHandler 988 989 .align 1 990 .thumb_func 991 .weak SAI4_TX_IRQHandler 992 .type SAI4_TX_IRQHandler, %function 993SAI4_TX_IRQHandler: 994 ldr r0,=SAI4_TX_DriverIRQHandler 995 bx r0 996 .size SAI4_TX_IRQHandler, . - SAI4_TX_IRQHandler 997 998 .align 1 999 .thumb_func 1000 .weak SPDIF_IRQHandler 1001 .type SPDIF_IRQHandler, %function 1002SPDIF_IRQHandler: 1003 ldr r0,=SPDIF_DriverIRQHandler 1004 bx r0 1005 .size SPDIF_IRQHandler, . - SPDIF_IRQHandler 1006 1007 .align 1 1008 .thumb_func 1009 .weak ASRC_IRQHandler 1010 .type ASRC_IRQHandler, %function 1011ASRC_IRQHandler: 1012 ldr r0,=ASRC_DriverIRQHandler 1013 bx r0 1014 .size ASRC_IRQHandler, . - ASRC_IRQHandler 1015 1016 .align 1 1017 .thumb_func 1018 .weak FLEXIO1_IRQHandler 1019 .type FLEXIO1_IRQHandler, %function 1020FLEXIO1_IRQHandler: 1021 ldr r0,=FLEXIO1_DriverIRQHandler 1022 bx r0 1023 .size FLEXIO1_IRQHandler, . - FLEXIO1_IRQHandler 1024 1025 .align 1 1026 .thumb_func 1027 .weak FLEXIO2_IRQHandler 1028 .type FLEXIO2_IRQHandler, %function 1029FLEXIO2_IRQHandler: 1030 ldr r0,=FLEXIO2_DriverIRQHandler 1031 bx r0 1032 .size FLEXIO2_IRQHandler, . - FLEXIO2_IRQHandler 1033 1034 .align 1 1035 .thumb_func 1036 .weak FLEXSPI1_IRQHandler 1037 .type FLEXSPI1_IRQHandler, %function 1038FLEXSPI1_IRQHandler: 1039 ldr r0,=FLEXSPI1_DriverIRQHandler 1040 bx r0 1041 .size FLEXSPI1_IRQHandler, . - FLEXSPI1_IRQHandler 1042 1043 .align 1 1044 .thumb_func 1045 .weak FLEXSPI2_IRQHandler 1046 .type FLEXSPI2_IRQHandler, %function 1047FLEXSPI2_IRQHandler: 1048 ldr r0,=FLEXSPI2_DriverIRQHandler 1049 bx r0 1050 .size FLEXSPI2_IRQHandler, . - FLEXSPI2_IRQHandler 1051 1052 .align 1 1053 .thumb_func 1054 .weak USDHC1_IRQHandler 1055 .type USDHC1_IRQHandler, %function 1056USDHC1_IRQHandler: 1057 ldr r0,=USDHC1_DriverIRQHandler 1058 bx r0 1059 .size USDHC1_IRQHandler, . - USDHC1_IRQHandler 1060 1061 .align 1 1062 .thumb_func 1063 .weak USDHC2_IRQHandler 1064 .type USDHC2_IRQHandler, %function 1065USDHC2_IRQHandler: 1066 ldr r0,=USDHC2_DriverIRQHandler 1067 bx r0 1068 .size USDHC2_IRQHandler, . - USDHC2_IRQHandler 1069 1070 .align 1 1071 .thumb_func 1072 .weak ENET_IRQHandler 1073 .type ENET_IRQHandler, %function 1074ENET_IRQHandler: 1075 ldr r0,=ENET_DriverIRQHandler 1076 bx r0 1077 .size ENET_IRQHandler, . - ENET_IRQHandler 1078 1079 .align 1 1080 .thumb_func 1081 .weak ENET_1588_Timer_IRQHandler 1082 .type ENET_1588_Timer_IRQHandler, %function 1083ENET_1588_Timer_IRQHandler: 1084 ldr r0,=ENET_1588_Timer_DriverIRQHandler 1085 bx r0 1086 .size ENET_1588_Timer_IRQHandler, . - ENET_1588_Timer_IRQHandler 1087 1088 .align 1 1089 .thumb_func 1090 .weak ENET_1G_MAC0_Tx_Rx_1_IRQHandler 1091 .type ENET_1G_MAC0_Tx_Rx_1_IRQHandler, %function 1092ENET_1G_MAC0_Tx_Rx_1_IRQHandler: 1093 ldr r0,=ENET_1G_MAC0_Tx_Rx_1_DriverIRQHandler 1094 bx r0 1095 .size ENET_1G_MAC0_Tx_Rx_1_IRQHandler, . - ENET_1G_MAC0_Tx_Rx_1_IRQHandler 1096 1097 .align 1 1098 .thumb_func 1099 .weak ENET_1G_MAC0_Tx_Rx_2_IRQHandler 1100 .type ENET_1G_MAC0_Tx_Rx_2_IRQHandler, %function 1101ENET_1G_MAC0_Tx_Rx_2_IRQHandler: 1102 ldr r0,=ENET_1G_MAC0_Tx_Rx_2_DriverIRQHandler 1103 bx r0 1104 .size ENET_1G_MAC0_Tx_Rx_2_IRQHandler, . - ENET_1G_MAC0_Tx_Rx_2_IRQHandler 1105 1106 .align 1 1107 .thumb_func 1108 .weak ENET_1G_IRQHandler 1109 .type ENET_1G_IRQHandler, %function 1110ENET_1G_IRQHandler: 1111 ldr r0,=ENET_1G_DriverIRQHandler 1112 bx r0 1113 .size ENET_1G_IRQHandler, . - ENET_1G_IRQHandler 1114 1115 .align 1 1116 .thumb_func 1117 .weak ENET_1G_1588_Timer_IRQHandler 1118 .type ENET_1G_1588_Timer_IRQHandler, %function 1119ENET_1G_1588_Timer_IRQHandler: 1120 ldr r0,=ENET_1G_1588_Timer_DriverIRQHandler 1121 bx r0 1122 .size ENET_1G_1588_Timer_IRQHandler, . - ENET_1G_1588_Timer_IRQHandler 1123 1124 .align 1 1125 .thumb_func 1126 .weak PDM_HWVAD_EVENT_IRQHandler 1127 .type PDM_HWVAD_EVENT_IRQHandler, %function 1128PDM_HWVAD_EVENT_IRQHandler: 1129 ldr r0,=PDM_HWVAD_EVENT_DriverIRQHandler 1130 bx r0 1131 .size PDM_HWVAD_EVENT_IRQHandler, . - PDM_HWVAD_EVENT_IRQHandler 1132 1133 .align 1 1134 .thumb_func 1135 .weak PDM_HWVAD_ERROR_IRQHandler 1136 .type PDM_HWVAD_ERROR_IRQHandler, %function 1137PDM_HWVAD_ERROR_IRQHandler: 1138 ldr r0,=PDM_HWVAD_ERROR_DriverIRQHandler 1139 bx r0 1140 .size PDM_HWVAD_ERROR_IRQHandler, . - PDM_HWVAD_ERROR_IRQHandler 1141 1142 .align 1 1143 .thumb_func 1144 .weak PDM_EVENT_IRQHandler 1145 .type PDM_EVENT_IRQHandler, %function 1146PDM_EVENT_IRQHandler: 1147 ldr r0,=PDM_EVENT_DriverIRQHandler 1148 bx r0 1149 .size PDM_EVENT_IRQHandler, . - PDM_EVENT_IRQHandler 1150 1151 .align 1 1152 .thumb_func 1153 .weak PDM_ERROR_IRQHandler 1154 .type PDM_ERROR_IRQHandler, %function 1155PDM_ERROR_IRQHandler: 1156 ldr r0,=PDM_ERROR_DriverIRQHandler 1157 bx r0 1158 .size PDM_ERROR_IRQHandler, . - PDM_ERROR_IRQHandler 1159 1160 .align 1 1161 .thumb_func 1162 .weak XECC_FLEXSPI1_INT_IRQHandler 1163 .type XECC_FLEXSPI1_INT_IRQHandler, %function 1164XECC_FLEXSPI1_INT_IRQHandler: 1165 ldr r0,=XECC_FLEXSPI1_INT_DriverIRQHandler 1166 bx r0 1167 .size XECC_FLEXSPI1_INT_IRQHandler, . - XECC_FLEXSPI1_INT_IRQHandler 1168 1169 .align 1 1170 .thumb_func 1171 .weak XECC_FLEXSPI1_FATAL_INT_IRQHandler 1172 .type XECC_FLEXSPI1_FATAL_INT_IRQHandler, %function 1173XECC_FLEXSPI1_FATAL_INT_IRQHandler: 1174 ldr r0,=XECC_FLEXSPI1_FATAL_INT_DriverIRQHandler 1175 bx r0 1176 .size XECC_FLEXSPI1_FATAL_INT_IRQHandler, . - XECC_FLEXSPI1_FATAL_INT_IRQHandler 1177 1178 .align 1 1179 .thumb_func 1180 .weak XECC_FLEXSPI2_INT_IRQHandler 1181 .type XECC_FLEXSPI2_INT_IRQHandler, %function 1182XECC_FLEXSPI2_INT_IRQHandler: 1183 ldr r0,=XECC_FLEXSPI2_INT_DriverIRQHandler 1184 bx r0 1185 .size XECC_FLEXSPI2_INT_IRQHandler, . - XECC_FLEXSPI2_INT_IRQHandler 1186 1187 .align 1 1188 .thumb_func 1189 .weak XECC_FLEXSPI2_FATAL_INT_IRQHandler 1190 .type XECC_FLEXSPI2_FATAL_INT_IRQHandler, %function 1191XECC_FLEXSPI2_FATAL_INT_IRQHandler: 1192 ldr r0,=XECC_FLEXSPI2_FATAL_INT_DriverIRQHandler 1193 bx r0 1194 .size XECC_FLEXSPI2_FATAL_INT_IRQHandler, . - XECC_FLEXSPI2_FATAL_INT_IRQHandler 1195 1196 1197/* Macro to define default handlers. Default handler 1198 * will be weak symbol and just dead loops. They can be 1199 * overwritten by other handlers */ 1200 .macro def_irq_handler handler_name 1201 .weak \handler_name 1202 .set \handler_name, DefaultISR 1203 .endm 1204/* Exception Handlers */ 1205 def_irq_handler MemManage_Handler 1206 def_irq_handler BusFault_Handler 1207 def_irq_handler UsageFault_Handler 1208 def_irq_handler DebugMon_Handler 1209 def_irq_handler DMA0_DMA16_DriverIRQHandler 1210 def_irq_handler DMA1_DMA17_DriverIRQHandler 1211 def_irq_handler DMA2_DMA18_DriverIRQHandler 1212 def_irq_handler DMA3_DMA19_DriverIRQHandler 1213 def_irq_handler DMA4_DMA20_DriverIRQHandler 1214 def_irq_handler DMA5_DMA21_DriverIRQHandler 1215 def_irq_handler DMA6_DMA22_DriverIRQHandler 1216 def_irq_handler DMA7_DMA23_DriverIRQHandler 1217 def_irq_handler DMA8_DMA24_DriverIRQHandler 1218 def_irq_handler DMA9_DMA25_DriverIRQHandler 1219 def_irq_handler DMA10_DMA26_DriverIRQHandler 1220 def_irq_handler DMA11_DMA27_DriverIRQHandler 1221 def_irq_handler DMA12_DMA28_DriverIRQHandler 1222 def_irq_handler DMA13_DMA29_DriverIRQHandler 1223 def_irq_handler DMA14_DMA30_DriverIRQHandler 1224 def_irq_handler DMA15_DMA31_DriverIRQHandler 1225 def_irq_handler DMA_ERROR_DriverIRQHandler 1226 def_irq_handler CTI_TRIGGER_OUT0_IRQHandler 1227 def_irq_handler CTI_TRIGGER_OUT1_IRQHandler 1228 def_irq_handler CORE_IRQHandler 1229 def_irq_handler LPUART1_DriverIRQHandler 1230 def_irq_handler LPUART2_DriverIRQHandler 1231 def_irq_handler LPUART3_DriverIRQHandler 1232 def_irq_handler LPUART4_DriverIRQHandler 1233 def_irq_handler LPUART5_DriverIRQHandler 1234 def_irq_handler LPUART6_DriverIRQHandler 1235 def_irq_handler LPUART7_DriverIRQHandler 1236 def_irq_handler LPUART8_DriverIRQHandler 1237 def_irq_handler LPUART9_DriverIRQHandler 1238 def_irq_handler LPUART10_DriverIRQHandler 1239 def_irq_handler LPUART11_DriverIRQHandler 1240 def_irq_handler LPUART12_DriverIRQHandler 1241 def_irq_handler LPI2C1_DriverIRQHandler 1242 def_irq_handler LPI2C2_DriverIRQHandler 1243 def_irq_handler LPI2C3_DriverIRQHandler 1244 def_irq_handler LPI2C4_DriverIRQHandler 1245 def_irq_handler LPI2C5_DriverIRQHandler 1246 def_irq_handler LPI2C6_DriverIRQHandler 1247 def_irq_handler LPSPI1_DriverIRQHandler 1248 def_irq_handler LPSPI2_DriverIRQHandler 1249 def_irq_handler LPSPI3_DriverIRQHandler 1250 def_irq_handler LPSPI4_DriverIRQHandler 1251 def_irq_handler LPSPI5_DriverIRQHandler 1252 def_irq_handler LPSPI6_DriverIRQHandler 1253 def_irq_handler CAN1_DriverIRQHandler 1254 def_irq_handler CAN1_ERROR_DriverIRQHandler 1255 def_irq_handler CAN2_DriverIRQHandler 1256 def_irq_handler CAN2_ERROR_DriverIRQHandler 1257 def_irq_handler CAN3_DriverIRQHandler 1258 def_irq_handler CAN3_ERROR_DriverIRQHandler 1259 def_irq_handler FLEXRAM_IRQHandler 1260 def_irq_handler KPP_IRQHandler 1261 def_irq_handler Reserved68_IRQHandler 1262 def_irq_handler GPR_IRQ_IRQHandler 1263 def_irq_handler Reserved70_IRQHandler 1264 def_irq_handler LCDIFv2_IRQHandler 1265 def_irq_handler Reserved72_IRQHandler 1266 def_irq_handler Reserved73_IRQHandler 1267 def_irq_handler MIPI_CSI_DriverIRQHandler 1268 def_irq_handler MIPI_DSI_DriverIRQHandler 1269 def_irq_handler GPU2D_IRQHandler 1270 def_irq_handler GPIO6_Combined_0_15_IRQHandler 1271 def_irq_handler GPIO6_Combined_16_31_IRQHandler 1272 def_irq_handler DAC_IRQHandler 1273 def_irq_handler KEY_MANAGER_IRQHandler 1274 def_irq_handler WDOG2_IRQHandler 1275 def_irq_handler SNVS_HP_NON_TZ_IRQHandler 1276 def_irq_handler SNVS_HP_TZ_IRQHandler 1277 def_irq_handler SNVS_PULSE_EVENT_IRQHandler 1278 def_irq_handler CAAM_IRQ0_IRQHandler 1279 def_irq_handler CAAM_IRQ1_IRQHandler 1280 def_irq_handler CAAM_IRQ2_IRQHandler 1281 def_irq_handler CAAM_IRQ3_IRQHandler 1282 def_irq_handler CAAM_RECORVE_ERRPR_IRQHandler 1283 def_irq_handler CAAM_RTIC_IRQHandler 1284 def_irq_handler CDOG_DriverIRQHandler 1285 def_irq_handler SAI1_DriverIRQHandler 1286 def_irq_handler SAI2_DriverIRQHandler 1287 def_irq_handler SAI3_RX_DriverIRQHandler 1288 def_irq_handler SAI3_TX_DriverIRQHandler 1289 def_irq_handler SAI4_RX_DriverIRQHandler 1290 def_irq_handler SAI4_TX_DriverIRQHandler 1291 def_irq_handler SPDIF_DriverIRQHandler 1292 def_irq_handler TMPSNS_INT_IRQHandler 1293 def_irq_handler TMPSNS_LOW_HIGH_IRQHandler 1294 def_irq_handler TMPSNS_PANIC_IRQHandler 1295 def_irq_handler LPSR_LP8_BROWNOUT_IRQHandler 1296 def_irq_handler LPSR_LP0_BROWNOUT_IRQHandler 1297 def_irq_handler ADC1_IRQHandler 1298 def_irq_handler ADC2_IRQHandler 1299 def_irq_handler USBPHY1_IRQHandler 1300 def_irq_handler USBPHY2_IRQHandler 1301 def_irq_handler RDC_IRQHandler 1302 def_irq_handler GPIO13_Combined_0_31_IRQHandler 1303 def_irq_handler Reserved110_IRQHandler 1304 def_irq_handler DCIC1_IRQHandler 1305 def_irq_handler DCIC2_IRQHandler 1306 def_irq_handler ASRC_DriverIRQHandler 1307 def_irq_handler FLEXRAM_ECC_IRQHandler 1308 def_irq_handler CM7_GPIO2_3_IRQHandler 1309 def_irq_handler GPIO1_Combined_0_15_IRQHandler 1310 def_irq_handler GPIO1_Combined_16_31_IRQHandler 1311 def_irq_handler GPIO2_Combined_0_15_IRQHandler 1312 def_irq_handler GPIO2_Combined_16_31_IRQHandler 1313 def_irq_handler GPIO3_Combined_0_15_IRQHandler 1314 def_irq_handler GPIO3_Combined_16_31_IRQHandler 1315 def_irq_handler GPIO4_Combined_0_15_IRQHandler 1316 def_irq_handler GPIO4_Combined_16_31_IRQHandler 1317 def_irq_handler GPIO5_Combined_0_15_IRQHandler 1318 def_irq_handler GPIO5_Combined_16_31_IRQHandler 1319 def_irq_handler FLEXIO1_DriverIRQHandler 1320 def_irq_handler FLEXIO2_DriverIRQHandler 1321 def_irq_handler WDOG1_IRQHandler 1322 def_irq_handler RTWDOG3_IRQHandler 1323 def_irq_handler EWM_IRQHandler 1324 def_irq_handler OCOTP_READ_FUSE_ERROR_IRQHandler 1325 def_irq_handler OCOTP_READ_DONE_ERROR_IRQHandler 1326 def_irq_handler GPC_IRQHandler 1327 def_irq_handler MUA_IRQHandler 1328 def_irq_handler GPT1_IRQHandler 1329 def_irq_handler GPT2_IRQHandler 1330 def_irq_handler GPT3_IRQHandler 1331 def_irq_handler GPT4_IRQHandler 1332 def_irq_handler GPT5_IRQHandler 1333 def_irq_handler GPT6_IRQHandler 1334 def_irq_handler PWM1_0_IRQHandler 1335 def_irq_handler PWM1_1_IRQHandler 1336 def_irq_handler PWM1_2_IRQHandler 1337 def_irq_handler PWM1_3_IRQHandler 1338 def_irq_handler PWM1_FAULT_IRQHandler 1339 def_irq_handler FLEXSPI1_DriverIRQHandler 1340 def_irq_handler FLEXSPI2_DriverIRQHandler 1341 def_irq_handler SEMC_IRQHandler 1342 def_irq_handler USDHC1_DriverIRQHandler 1343 def_irq_handler USDHC2_DriverIRQHandler 1344 def_irq_handler USB_OTG2_IRQHandler 1345 def_irq_handler USB_OTG1_IRQHandler 1346 def_irq_handler ENET_DriverIRQHandler 1347 def_irq_handler ENET_1588_Timer_DriverIRQHandler 1348 def_irq_handler ENET_1G_MAC0_Tx_Rx_1_DriverIRQHandler 1349 def_irq_handler ENET_1G_MAC0_Tx_Rx_2_DriverIRQHandler 1350 def_irq_handler ENET_1G_DriverIRQHandler 1351 def_irq_handler ENET_1G_1588_Timer_DriverIRQHandler 1352 def_irq_handler XBAR1_IRQ_0_1_IRQHandler 1353 def_irq_handler XBAR1_IRQ_2_3_IRQHandler 1354 def_irq_handler ADC_ETC_IRQ0_IRQHandler 1355 def_irq_handler ADC_ETC_IRQ1_IRQHandler 1356 def_irq_handler ADC_ETC_IRQ2_IRQHandler 1357 def_irq_handler ADC_ETC_IRQ3_IRQHandler 1358 def_irq_handler ADC_ETC_ERROR_IRQ_IRQHandler 1359 def_irq_handler Reserved166_IRQHandler 1360 def_irq_handler Reserved167_IRQHandler 1361 def_irq_handler Reserved168_IRQHandler 1362 def_irq_handler Reserved169_IRQHandler 1363 def_irq_handler Reserved170_IRQHandler 1364 def_irq_handler PIT1_IRQHandler 1365 def_irq_handler PIT2_IRQHandler 1366 def_irq_handler ACMP1_IRQHandler 1367 def_irq_handler ACMP2_IRQHandler 1368 def_irq_handler ACMP3_IRQHandler 1369 def_irq_handler ACMP4_IRQHandler 1370 def_irq_handler Reserved177_IRQHandler 1371 def_irq_handler Reserved178_IRQHandler 1372 def_irq_handler Reserved179_IRQHandler 1373 def_irq_handler Reserved180_IRQHandler 1374 def_irq_handler ENC1_IRQHandler 1375 def_irq_handler ENC2_IRQHandler 1376 def_irq_handler ENC3_IRQHandler 1377 def_irq_handler ENC4_IRQHandler 1378 def_irq_handler Reserved185_IRQHandler 1379 def_irq_handler Reserved186_IRQHandler 1380 def_irq_handler TMR1_IRQHandler 1381 def_irq_handler TMR2_IRQHandler 1382 def_irq_handler TMR3_IRQHandler 1383 def_irq_handler TMR4_IRQHandler 1384 def_irq_handler SEMA4_CP0_IRQHandler 1385 def_irq_handler SEMA4_CP1_IRQHandler 1386 def_irq_handler PWM2_0_IRQHandler 1387 def_irq_handler PWM2_1_IRQHandler 1388 def_irq_handler PWM2_2_IRQHandler 1389 def_irq_handler PWM2_3_IRQHandler 1390 def_irq_handler PWM2_FAULT_IRQHandler 1391 def_irq_handler PWM3_0_IRQHandler 1392 def_irq_handler PWM3_1_IRQHandler 1393 def_irq_handler PWM3_2_IRQHandler 1394 def_irq_handler PWM3_3_IRQHandler 1395 def_irq_handler PWM3_FAULT_IRQHandler 1396 def_irq_handler PWM4_0_IRQHandler 1397 def_irq_handler PWM4_1_IRQHandler 1398 def_irq_handler PWM4_2_IRQHandler 1399 def_irq_handler PWM4_3_IRQHandler 1400 def_irq_handler PWM4_FAULT_IRQHandler 1401 def_irq_handler Reserved208_IRQHandler 1402 def_irq_handler Reserved209_IRQHandler 1403 def_irq_handler Reserved210_IRQHandler 1404 def_irq_handler Reserved211_IRQHandler 1405 def_irq_handler Reserved212_IRQHandler 1406 def_irq_handler Reserved213_IRQHandler 1407 def_irq_handler Reserved214_IRQHandler 1408 def_irq_handler Reserved215_IRQHandler 1409 def_irq_handler PDM_HWVAD_EVENT_DriverIRQHandler 1410 def_irq_handler PDM_HWVAD_ERROR_DriverIRQHandler 1411 def_irq_handler PDM_EVENT_DriverIRQHandler 1412 def_irq_handler PDM_ERROR_DriverIRQHandler 1413 def_irq_handler EMVSIM1_IRQHandler 1414 def_irq_handler EMVSIM2_IRQHandler 1415 def_irq_handler MECC1_INT_IRQHandler 1416 def_irq_handler MECC1_FATAL_INT_IRQHandler 1417 def_irq_handler MECC2_INT_IRQHandler 1418 def_irq_handler MECC2_FATAL_INT_IRQHandler 1419 def_irq_handler XECC_FLEXSPI1_INT_DriverIRQHandler 1420 def_irq_handler XECC_FLEXSPI1_FATAL_INT_DriverIRQHandler 1421 def_irq_handler XECC_FLEXSPI2_INT_DriverIRQHandler 1422 def_irq_handler XECC_FLEXSPI2_FATAL_INT_DriverIRQHandler 1423 def_irq_handler XECC_SEMC_INT_IRQHandler 1424 def_irq_handler XECC_SEMC_FATAL_INT_IRQHandler 1425 def_irq_handler Reserved232_IRQHandler 1426 def_irq_handler Reserved233_IRQHandler 1427 1428 .end 1429