1 //*****************************************************************************
2 // MIMXRT1024 startup code for use with MCUXpresso IDE
3 //
4 // Version : 240122
5 //*****************************************************************************
6 //
7 // Copyright 2016-2022 NXP
8 // All rights reserved.
9 //
10 // SPDX-License-Identifier: BSD-3-Clause
11 //*****************************************************************************
12
13 #if defined (DEBUG)
14 #pragma GCC push_options
15 #pragma GCC optimize ("Og")
16 #endif // (DEBUG)
17
18 #if defined (__cplusplus)
19 #ifdef __REDLIB__
20 #error Redlib does not support C++
21 #else
22 //*****************************************************************************
23 //
24 // The entry point for the C++ library startup
25 //
26 //*****************************************************************************
27 extern "C" {
28 extern void __libc_init_array(void);
29 }
30 #endif
31 #endif
32
33 #define WEAK __attribute__ ((weak))
34 #define WEAK_AV __attribute__ ((weak, section(".after_vectors")))
35 #define ALIAS(f) __attribute__ ((weak, alias (#f)))
36
37 //*****************************************************************************
38 #if defined (__cplusplus)
39 extern "C" {
40 #endif
41
42 //*****************************************************************************
43 // Variable to store CRP value in. Will be placed automatically
44 // by the linker when "Enable Code Read Protect" selected.
45 // See crp.h header for more information
46 //*****************************************************************************
47 //*****************************************************************************
48 // Declaration of external SystemInit function
49 //*****************************************************************************
50 #if defined (__USE_CMSIS)
51 extern void SystemInit(void);
52 #endif // (__USE_CMSIS)
53
54 //*****************************************************************************
55 // Forward declaration of the core exception handlers.
56 // When the application defines a handler (with the same name), this will
57 // automatically take precedence over these weak definitions.
58 // If your application is a C++ one, then any interrupt handlers defined
59 // in C++ files within in your main application will need to have C linkage
60 // rather than C++ linkage. To do this, make sure that you are using extern "C"
61 // { .... } around the interrupt handler within your main application code.
62 //*****************************************************************************
63 void ResetISR(void);
64 WEAK void NMI_Handler(void);
65 WEAK void HardFault_Handler(void);
66 WEAK void MemManage_Handler(void);
67 WEAK void BusFault_Handler(void);
68 WEAK void UsageFault_Handler(void);
69 WEAK void SVC_Handler(void);
70 WEAK void DebugMon_Handler(void);
71 WEAK void PendSV_Handler(void);
72 WEAK void SysTick_Handler(void);
73 WEAK void IntDefaultHandler(void);
74
75 //*****************************************************************************
76 // Forward declaration of the application IRQ handlers. When the application
77 // defines a handler (with the same name), this will automatically take
78 // precedence over weak definitions below
79 //*****************************************************************************
80 WEAK void DMA0_DMA16_IRQHandler(void);
81 WEAK void DMA1_DMA17_IRQHandler(void);
82 WEAK void DMA2_DMA18_IRQHandler(void);
83 WEAK void DMA3_DMA19_IRQHandler(void);
84 WEAK void DMA4_DMA20_IRQHandler(void);
85 WEAK void DMA5_DMA21_IRQHandler(void);
86 WEAK void DMA6_DMA22_IRQHandler(void);
87 WEAK void DMA7_DMA23_IRQHandler(void);
88 WEAK void DMA8_DMA24_IRQHandler(void);
89 WEAK void DMA9_DMA25_IRQHandler(void);
90 WEAK void DMA10_DMA26_IRQHandler(void);
91 WEAK void DMA11_DMA27_IRQHandler(void);
92 WEAK void DMA12_DMA28_IRQHandler(void);
93 WEAK void DMA13_DMA29_IRQHandler(void);
94 WEAK void DMA14_DMA30_IRQHandler(void);
95 WEAK void DMA15_DMA31_IRQHandler(void);
96 WEAK void DMA_ERROR_IRQHandler(void);
97 WEAK void CTI0_ERROR_IRQHandler(void);
98 WEAK void CTI1_ERROR_IRQHandler(void);
99 WEAK void CORE_IRQHandler(void);
100 WEAK void LPUART1_IRQHandler(void);
101 WEAK void LPUART2_IRQHandler(void);
102 WEAK void LPUART3_IRQHandler(void);
103 WEAK void LPUART4_IRQHandler(void);
104 WEAK void LPUART5_IRQHandler(void);
105 WEAK void LPUART6_IRQHandler(void);
106 WEAK void LPUART7_IRQHandler(void);
107 WEAK void LPUART8_IRQHandler(void);
108 WEAK void LPI2C1_IRQHandler(void);
109 WEAK void LPI2C2_IRQHandler(void);
110 WEAK void LPI2C3_IRQHandler(void);
111 WEAK void LPI2C4_IRQHandler(void);
112 WEAK void LPSPI1_IRQHandler(void);
113 WEAK void LPSPI2_IRQHandler(void);
114 WEAK void LPSPI3_IRQHandler(void);
115 WEAK void LPSPI4_IRQHandler(void);
116 WEAK void CAN1_IRQHandler(void);
117 WEAK void CAN2_IRQHandler(void);
118 WEAK void FLEXRAM_IRQHandler(void);
119 WEAK void KPP_IRQHandler(void);
120 WEAK void Reserved56_IRQHandler(void);
121 WEAK void GPR_IRQ_IRQHandler(void);
122 WEAK void Reserved58_IRQHandler(void);
123 WEAK void Reserved59_IRQHandler(void);
124 WEAK void Reserved60_IRQHandler(void);
125 WEAK void WDOG2_IRQHandler(void);
126 WEAK void SNVS_HP_WRAPPER_IRQHandler(void);
127 WEAK void SNVS_HP_WRAPPER_TZ_IRQHandler(void);
128 WEAK void SNVS_LP_HP_WRAPPER_IRQHandler(void);
129 WEAK void CSU_IRQHandler(void);
130 WEAK void DCP_IRQHandler(void);
131 WEAK void DCP_VMI_IRQHandler(void);
132 WEAK void Reserved68_IRQHandler(void);
133 WEAK void TRNG_IRQHandler(void);
134 WEAK void Reserved70_IRQHandler(void);
135 WEAK void BEE_IRQHandler(void);
136 WEAK void SAI1_IRQHandler(void);
137 WEAK void SAI2_IRQHandler(void);
138 WEAK void SAI3_RX_IRQHandler(void);
139 WEAK void SAI3_TX_IRQHandler(void);
140 WEAK void SPDIF_IRQHandler(void);
141 WEAK void PMU_IRQHandler(void);
142 WEAK void Reserved78_IRQHandler(void);
143 WEAK void TEMP_LOW_HIGH_IRQHandler(void);
144 WEAK void TEMP_PANIC_IRQHandler(void);
145 WEAK void USB_PHY_IRQHandler(void);
146 WEAK void Reserved82_IRQHandler(void);
147 WEAK void ADC1_IRQHandler(void);
148 WEAK void ADC2_IRQHandler(void);
149 WEAK void DCDC_IRQHandler(void);
150 WEAK void Reserved86_IRQHandler(void);
151 WEAK void Reserved87_IRQHandler(void);
152 WEAK void GPIO1_INT0_IRQHandler(void);
153 WEAK void GPIO1_INT1_IRQHandler(void);
154 WEAK void GPIO1_INT2_IRQHandler(void);
155 WEAK void GPIO1_INT3_IRQHandler(void);
156 WEAK void GPIO1_INT4_IRQHandler(void);
157 WEAK void GPIO1_INT5_IRQHandler(void);
158 WEAK void GPIO1_INT6_IRQHandler(void);
159 WEAK void GPIO1_INT7_IRQHandler(void);
160 WEAK void GPIO1_Combined_0_15_IRQHandler(void);
161 WEAK void GPIO1_Combined_16_31_IRQHandler(void);
162 WEAK void GPIO2_Combined_0_15_IRQHandler(void);
163 WEAK void GPIO2_Combined_16_31_IRQHandler(void);
164 WEAK void GPIO3_Combined_0_15_IRQHandler(void);
165 WEAK void GPIO3_Combined_16_31_IRQHandler(void);
166 WEAK void Reserved102_IRQHandler(void);
167 WEAK void Reserved103_IRQHandler(void);
168 WEAK void GPIO5_Combined_0_15_IRQHandler(void);
169 WEAK void GPIO5_Combined_16_31_IRQHandler(void);
170 WEAK void FLEXIO1_IRQHandler(void);
171 WEAK void Reserved107_IRQHandler(void);
172 WEAK void WDOG1_IRQHandler(void);
173 WEAK void RTWDOG_IRQHandler(void);
174 WEAK void EWM_IRQHandler(void);
175 WEAK void CCM_1_IRQHandler(void);
176 WEAK void CCM_2_IRQHandler(void);
177 WEAK void GPC_IRQHandler(void);
178 WEAK void SRC_IRQHandler(void);
179 WEAK void Reserved115_IRQHandler(void);
180 WEAK void GPT1_IRQHandler(void);
181 WEAK void GPT2_IRQHandler(void);
182 WEAK void PWM1_0_IRQHandler(void);
183 WEAK void PWM1_1_IRQHandler(void);
184 WEAK void PWM1_2_IRQHandler(void);
185 WEAK void PWM1_3_IRQHandler(void);
186 WEAK void PWM1_FAULT_IRQHandler(void);
187 WEAK void Reserved123_IRQHandler(void);
188 WEAK void FLEXSPI_IRQHandler(void);
189 WEAK void SEMC_IRQHandler(void);
190 WEAK void USDHC1_IRQHandler(void);
191 WEAK void USDHC2_IRQHandler(void);
192 WEAK void Reserved128_IRQHandler(void);
193 WEAK void USB_OTG1_IRQHandler(void);
194 WEAK void ENET_IRQHandler(void);
195 WEAK void ENET_1588_Timer_IRQHandler(void);
196 WEAK void XBAR1_IRQ_0_1_IRQHandler(void);
197 WEAK void XBAR1_IRQ_2_3_IRQHandler(void);
198 WEAK void ADC_ETC_IRQ0_IRQHandler(void);
199 WEAK void ADC_ETC_IRQ1_IRQHandler(void);
200 WEAK void ADC_ETC_IRQ2_IRQHandler(void);
201 WEAK void ADC_ETC_ERROR_IRQ_IRQHandler(void);
202 WEAK void PIT_IRQHandler(void);
203 WEAK void ACMP1_IRQHandler(void);
204 WEAK void ACMP2_IRQHandler(void);
205 WEAK void ACMP3_IRQHandler(void);
206 WEAK void ACMP4_IRQHandler(void);
207 WEAK void Reserved143_IRQHandler(void);
208 WEAK void Reserved144_IRQHandler(void);
209 WEAK void ENC1_IRQHandler(void);
210 WEAK void ENC2_IRQHandler(void);
211 WEAK void Reserved147_IRQHandler(void);
212 WEAK void Reserved148_IRQHandler(void);
213 WEAK void TMR1_IRQHandler(void);
214 WEAK void TMR2_IRQHandler(void);
215 WEAK void Reserved151_IRQHandler(void);
216 WEAK void Reserved152_IRQHandler(void);
217 WEAK void PWM2_0_IRQHandler(void);
218 WEAK void PWM2_1_IRQHandler(void);
219 WEAK void PWM2_2_IRQHandler(void);
220 WEAK void PWM2_3_IRQHandler(void);
221 WEAK void PWM2_FAULT_IRQHandler(void);
222
223 //*****************************************************************************
224 // Forward declaration of the driver IRQ handlers. These are aliased
225 // to the IntDefaultHandler, which is a 'forever' loop. When the driver
226 // defines a handler (with the same name), this will automatically take
227 // precedence over these weak definitions
228 //*****************************************************************************
229 void DMA0_DMA16_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
230 void DMA1_DMA17_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
231 void DMA2_DMA18_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
232 void DMA3_DMA19_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
233 void DMA4_DMA20_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
234 void DMA5_DMA21_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
235 void DMA6_DMA22_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
236 void DMA7_DMA23_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
237 void DMA8_DMA24_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
238 void DMA9_DMA25_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
239 void DMA10_DMA26_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
240 void DMA11_DMA27_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
241 void DMA12_DMA28_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
242 void DMA13_DMA29_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
243 void DMA14_DMA30_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
244 void DMA15_DMA31_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
245 void DMA_ERROR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
246 void CTI0_ERROR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
247 void CTI1_ERROR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
248 void CORE_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
249 void LPUART1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
250 void LPUART2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
251 void LPUART3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
252 void LPUART4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
253 void LPUART5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
254 void LPUART6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
255 void LPUART7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
256 void LPUART8_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
257 void LPI2C1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
258 void LPI2C2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
259 void LPI2C3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
260 void LPI2C4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
261 void LPSPI1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
262 void LPSPI2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
263 void LPSPI3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
264 void LPSPI4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
265 void CAN1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
266 void CAN2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
267 void FLEXRAM_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
268 void KPP_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
269 void Reserved56_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
270 void GPR_IRQ_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
271 void Reserved58_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
272 void Reserved59_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
273 void Reserved60_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
274 void WDOG2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
275 void SNVS_HP_WRAPPER_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
276 void SNVS_HP_WRAPPER_TZ_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
277 void SNVS_LP_HP_WRAPPER_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
278 void CSU_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
279 void DCP_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
280 void DCP_VMI_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
281 void Reserved68_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
282 void TRNG_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
283 void Reserved70_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
284 void BEE_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
285 void SAI1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
286 void SAI2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
287 void SAI3_RX_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
288 void SAI3_TX_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
289 void SPDIF_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
290 void PMU_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
291 void Reserved78_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
292 void TEMP_LOW_HIGH_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
293 void TEMP_PANIC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
294 void USB_PHY_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
295 void Reserved82_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
296 void ADC1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
297 void ADC2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
298 void DCDC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
299 void Reserved86_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
300 void Reserved87_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
301 void GPIO1_INT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
302 void GPIO1_INT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
303 void GPIO1_INT2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
304 void GPIO1_INT3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
305 void GPIO1_INT4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
306 void GPIO1_INT5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
307 void GPIO1_INT6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
308 void GPIO1_INT7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
309 void GPIO1_Combined_0_15_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
310 void GPIO1_Combined_16_31_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
311 void GPIO2_Combined_0_15_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
312 void GPIO2_Combined_16_31_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
313 void GPIO3_Combined_0_15_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
314 void GPIO3_Combined_16_31_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
315 void Reserved102_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
316 void Reserved103_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
317 void GPIO5_Combined_0_15_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
318 void GPIO5_Combined_16_31_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
319 void FLEXIO1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
320 void Reserved107_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
321 void WDOG1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
322 void RTWDOG_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
323 void EWM_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
324 void CCM_1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
325 void CCM_2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
326 void GPC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
327 void SRC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
328 void Reserved115_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
329 void GPT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
330 void GPT2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
331 void PWM1_0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
332 void PWM1_1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
333 void PWM1_2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
334 void PWM1_3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
335 void PWM1_FAULT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
336 void Reserved123_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
337 void FLEXSPI_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
338 void SEMC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
339 void USDHC1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
340 void USDHC2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
341 void Reserved128_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
342 void USB_OTG1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
343 void ENET_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
344 void ENET_1588_Timer_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
345 void XBAR1_IRQ_0_1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
346 void XBAR1_IRQ_2_3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
347 void ADC_ETC_IRQ0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
348 void ADC_ETC_IRQ1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
349 void ADC_ETC_IRQ2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
350 void ADC_ETC_ERROR_IRQ_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
351 void PIT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
352 void ACMP1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
353 void ACMP2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
354 void ACMP3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
355 void ACMP4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
356 void Reserved143_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
357 void Reserved144_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
358 void ENC1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
359 void ENC2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
360 void Reserved147_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
361 void Reserved148_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
362 void TMR1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
363 void TMR2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
364 void Reserved151_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
365 void Reserved152_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
366 void PWM2_0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
367 void PWM2_1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
368 void PWM2_2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
369 void PWM2_3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
370 void PWM2_FAULT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
371
372 //*****************************************************************************
373 // The entry point for the application.
374 // __main() is the entry point for Redlib based applications
375 // main() is the entry point for Newlib based applications
376 //*****************************************************************************
377 #if defined (__REDLIB__)
378 extern void __main(void);
379 #endif
380 extern int main(void);
381
382 //*****************************************************************************
383 // External declaration for the pointer to the stack top from the Linker Script
384 //*****************************************************************************
385 extern void _vStackTop(void);
386 //*****************************************************************************
387 #if defined (__cplusplus)
388 } // extern "C"
389 #endif
390 //*****************************************************************************
391 // The vector table.
392 // This relies on the linker script to place at correct location in memory.
393 //*****************************************************************************
394
395 extern void (* const g_pfnVectors[])(void);
396 extern void * __Vectors __attribute__ ((alias ("g_pfnVectors")));
397
398 __attribute__ ((used, section(".isr_vector")))
399 void (* const g_pfnVectors[])(void) = {
400 // Core Level - CM7
401 &_vStackTop, // The initial stack pointer
402 ResetISR, // The reset handler
403 NMI_Handler, // The NMI handler
404 HardFault_Handler, // The hard fault handler
405 MemManage_Handler, // The MPU fault handler
406 BusFault_Handler, // The bus fault handler
407 UsageFault_Handler, // The usage fault handler
408 0, // Reserved
409 0, // Reserved
410 0, // Reserved
411 0, // Reserved
412 SVC_Handler, // SVCall handler
413 DebugMon_Handler, // Debug monitor handler
414 0, // Reserved
415 PendSV_Handler, // The PendSV handler
416 SysTick_Handler, // The SysTick handler
417
418 // Chip Level - MIMXRT1024
419 DMA0_DMA16_IRQHandler, // 16 : DMA channel 0/16 transfer complete
420 DMA1_DMA17_IRQHandler, // 17 : DMA channel 1/17 transfer complete
421 DMA2_DMA18_IRQHandler, // 18 : DMA channel 2/18 transfer complete
422 DMA3_DMA19_IRQHandler, // 19 : DMA channel 3/19 transfer complete
423 DMA4_DMA20_IRQHandler, // 20 : DMA channel 4/20 transfer complete
424 DMA5_DMA21_IRQHandler, // 21 : DMA channel 5/21 transfer complete
425 DMA6_DMA22_IRQHandler, // 22 : DMA channel 6/22 transfer complete
426 DMA7_DMA23_IRQHandler, // 23 : DMA channel 7/23 transfer complete
427 DMA8_DMA24_IRQHandler, // 24 : DMA channel 8/24 transfer complete
428 DMA9_DMA25_IRQHandler, // 25 : DMA channel 9/25 transfer complete
429 DMA10_DMA26_IRQHandler, // 26 : DMA channel 10/26 transfer complete
430 DMA11_DMA27_IRQHandler, // 27 : DMA channel 11/27 transfer complete
431 DMA12_DMA28_IRQHandler, // 28 : DMA channel 12/28 transfer complete
432 DMA13_DMA29_IRQHandler, // 29 : DMA channel 13/29 transfer complete
433 DMA14_DMA30_IRQHandler, // 30 : DMA channel 14/30 transfer complete
434 DMA15_DMA31_IRQHandler, // 31 : DMA channel 15/31 transfer complete
435 DMA_ERROR_IRQHandler, // 32 : DMA error interrupt channels 0-15 / 16-31
436 CTI0_ERROR_IRQHandler, // 33 : CTI trigger outputs
437 CTI1_ERROR_IRQHandler, // 34 : CTI trigger outputs
438 CORE_IRQHandler, // 35 : CorePlatform exception IRQ
439 LPUART1_IRQHandler, // 36 : LPUART1 TX interrupt and RX interrupt
440 LPUART2_IRQHandler, // 37 : LPUART2 TX interrupt and RX interrupt
441 LPUART3_IRQHandler, // 38 : LPUART3 TX interrupt and RX interrupt
442 LPUART4_IRQHandler, // 39 : LPUART4 TX interrupt and RX interrupt
443 LPUART5_IRQHandler, // 40 : LPUART5 TX interrupt and RX interrupt
444 LPUART6_IRQHandler, // 41 : LPUART6 TX interrupt and RX interrupt
445 LPUART7_IRQHandler, // 42 : LPUART7 TX interrupt and RX interrupt
446 LPUART8_IRQHandler, // 43 : LPUART8 TX interrupt and RX interrupt
447 LPI2C1_IRQHandler, // 44 : LPI2C1 interrupt
448 LPI2C2_IRQHandler, // 45 : LPI2C2 interrupt
449 LPI2C3_IRQHandler, // 46 : LPI2C3 interrupt
450 LPI2C4_IRQHandler, // 47 : LPI2C4 interrupt
451 LPSPI1_IRQHandler, // 48 : LPSPI1 single interrupt vector for all sources
452 LPSPI2_IRQHandler, // 49 : LPSPI2 single interrupt vector for all sources
453 LPSPI3_IRQHandler, // 50 : LPSPI3 single interrupt vector for all sources
454 LPSPI4_IRQHandler, // 51 : LPSPI4 single interrupt vector for all sources
455 CAN1_IRQHandler, // 52 : CAN1 interrupt
456 CAN2_IRQHandler, // 53 : CAN2 interrupt
457 FLEXRAM_IRQHandler, // 54 : FlexRAM address out of range Or access hit IRQ
458 KPP_IRQHandler, // 55 : Keypad nterrupt
459 Reserved56_IRQHandler, // 56 : Reserved interrupt
460 GPR_IRQ_IRQHandler, // 57 : Used to notify cores on exception condition while boot
461 Reserved58_IRQHandler, // 58 : Reserved interrupt
462 Reserved59_IRQHandler, // 59 : Reserved interrupt
463 Reserved60_IRQHandler, // 60 : Reserved interrupt
464 WDOG2_IRQHandler, // 61 : WDOG2 interrupt
465 SNVS_HP_WRAPPER_IRQHandler, // 62 : SNVS Functional Interrupt
466 SNVS_HP_WRAPPER_TZ_IRQHandler, // 63 : SNVS Security Interrupt
467 SNVS_LP_HP_WRAPPER_IRQHandler, // 64 : ON-OFF button press shorter than 5 secs (pulse event)
468 CSU_IRQHandler, // 65 : CSU interrupt
469 DCP_IRQHandler, // 66 : Combined DCP channel interrupts(except channel 0) and CRC interrupt
470 DCP_VMI_IRQHandler, // 67 : IRQ of DCP channel 0
471 Reserved68_IRQHandler, // 68 : Reserved interrupt
472 TRNG_IRQHandler, // 69 : TRNG interrupt
473 Reserved70_IRQHandler, // 70 : Reserved interrupt
474 BEE_IRQHandler, // 71 : BEE interrupt
475 SAI1_IRQHandler, // 72 : SAI1 interrupt
476 SAI2_IRQHandler, // 73 : SAI1 interrupt
477 SAI3_RX_IRQHandler, // 74 : SAI3 interrupt
478 SAI3_TX_IRQHandler, // 75 : SAI3 interrupt
479 SPDIF_IRQHandler, // 76 : SPDIF interrupt
480 PMU_IRQHandler, // 77 : PMU interrupt
481 Reserved78_IRQHandler, // 78 : Reserved interrupt
482 TEMP_LOW_HIGH_IRQHandler, // 79 : TEMPMON interrupt
483 TEMP_PANIC_IRQHandler, // 80 : TEMPMON interrupt
484 USB_PHY_IRQHandler, // 81 : USBPHY (OTG1 UTMI), Interrupt
485 Reserved82_IRQHandler, // 82 : Reserved interrupt
486 ADC1_IRQHandler, // 83 : ADC1 interrupt
487 ADC2_IRQHandler, // 84 : ADC2 interrupt
488 DCDC_IRQHandler, // 85 : DCDC interrupt
489 Reserved86_IRQHandler, // 86 : Reserved interrupt
490 Reserved87_IRQHandler, // 87 : Reserved interrupt
491 GPIO1_INT0_IRQHandler, // 88 : Active HIGH Interrupt from INT0 from GPIO
492 GPIO1_INT1_IRQHandler, // 89 : Active HIGH Interrupt from INT1 from GPIO
493 GPIO1_INT2_IRQHandler, // 90 : Active HIGH Interrupt from INT2 from GPIO
494 GPIO1_INT3_IRQHandler, // 91 : Active HIGH Interrupt from INT3 from GPIO
495 GPIO1_INT4_IRQHandler, // 92 : Active HIGH Interrupt from INT4 from GPIO
496 GPIO1_INT5_IRQHandler, // 93 : Active HIGH Interrupt from INT5 from GPIO
497 GPIO1_INT6_IRQHandler, // 94 : Active HIGH Interrupt from INT6 from GPIO
498 GPIO1_INT7_IRQHandler, // 95 : Active HIGH Interrupt from INT7 from GPIO
499 GPIO1_Combined_0_15_IRQHandler, // 96 : Combined interrupt indication for GPIO1 signal 0 throughout 15
500 GPIO1_Combined_16_31_IRQHandler, // 97 : Combined interrupt indication for GPIO1 signal 16 throughout 31
501 GPIO2_Combined_0_15_IRQHandler, // 98 : Combined interrupt indication for GPIO2 signal 0 throughout 15
502 GPIO2_Combined_16_31_IRQHandler, // 99 : Combined interrupt indication for GPIO2 signal 16 throughout 31
503 GPIO3_Combined_0_15_IRQHandler, // 100: Combined interrupt indication for GPIO3 signal 0 throughout 15
504 GPIO3_Combined_16_31_IRQHandler, // 101: Combined interrupt indication for GPIO3 signal 16 throughout 31
505 Reserved102_IRQHandler, // 102: Reserved interrupt
506 Reserved103_IRQHandler, // 103: Reserved interrupt
507 GPIO5_Combined_0_15_IRQHandler, // 104: Combined interrupt indication for GPIO5 signal 0 throughout 15
508 GPIO5_Combined_16_31_IRQHandler, // 105: Combined interrupt indication for GPIO5 signal 16 throughout 31
509 FLEXIO1_IRQHandler, // 106: FLEXIO1 interrupt
510 Reserved107_IRQHandler, // 107: Reserved interrupt
511 WDOG1_IRQHandler, // 108: WDOG1 interrupt
512 RTWDOG_IRQHandler, // 109: RTWDOG interrupt
513 EWM_IRQHandler, // 110: EWM interrupt
514 CCM_1_IRQHandler, // 111: CCM IRQ1 interrupt
515 CCM_2_IRQHandler, // 112: CCM IRQ2 interrupt
516 GPC_IRQHandler, // 113: GPC interrupt
517 SRC_IRQHandler, // 114: SRC interrupt
518 Reserved115_IRQHandler, // 115: Reserved interrupt
519 GPT1_IRQHandler, // 116: GPT1 interrupt
520 GPT2_IRQHandler, // 117: GPT2 interrupt
521 PWM1_0_IRQHandler, // 118: PWM1 capture 0, compare 0, or reload 0 interrupt
522 PWM1_1_IRQHandler, // 119: PWM1 capture 1, compare 1, or reload 0 interrupt
523 PWM1_2_IRQHandler, // 120: PWM1 capture 2, compare 2, or reload 0 interrupt
524 PWM1_3_IRQHandler, // 121: PWM1 capture 3, compare 3, or reload 0 interrupt
525 PWM1_FAULT_IRQHandler, // 122: PWM1 fault or reload error interrupt
526 Reserved123_IRQHandler, // 123: Reserved interrupt
527 FLEXSPI_IRQHandler, // 124: FlexSPI0 interrupt
528 SEMC_IRQHandler, // 125: SEMC interrupt
529 USDHC1_IRQHandler, // 126: USDHC1 interrupt
530 USDHC2_IRQHandler, // 127: USDHC2 interrupt
531 Reserved128_IRQHandler, // 128: Reserved interrupt
532 USB_OTG1_IRQHandler, // 129: USBO2 USB OTG1
533 ENET_IRQHandler, // 130: ENET interrupt
534 ENET_1588_Timer_IRQHandler, // 131: ENET_1588_Timer interrupt
535 XBAR1_IRQ_0_1_IRQHandler, // 132: XBAR1 interrupt
536 XBAR1_IRQ_2_3_IRQHandler, // 133: XBAR1 interrupt
537 ADC_ETC_IRQ0_IRQHandler, // 134: ADCETC IRQ0 interrupt
538 ADC_ETC_IRQ1_IRQHandler, // 135: ADCETC IRQ1 interrupt
539 ADC_ETC_IRQ2_IRQHandler, // 136: ADCETC IRQ2 interrupt
540 ADC_ETC_ERROR_IRQ_IRQHandler, // 137: ADCETC Error IRQ interrupt
541 PIT_IRQHandler, // 138: PIT interrupt
542 ACMP1_IRQHandler, // 139: ACMP interrupt
543 ACMP2_IRQHandler, // 140: ACMP interrupt
544 ACMP3_IRQHandler, // 141: ACMP interrupt
545 ACMP4_IRQHandler, // 142: ACMP interrupt
546 Reserved143_IRQHandler, // 143: Reserved interrupt
547 Reserved144_IRQHandler, // 144: Reserved interrupt
548 ENC1_IRQHandler, // 145: ENC1 interrupt
549 ENC2_IRQHandler, // 146: ENC2 interrupt
550 Reserved147_IRQHandler, // 147: Reserved interrupt
551 Reserved148_IRQHandler, // 148: Reserved interrupt
552 TMR1_IRQHandler, // 149: TMR1 interrupt
553 TMR2_IRQHandler, // 150: TMR2 interrupt
554 Reserved151_IRQHandler, // 151: Reserved interrupt
555 Reserved152_IRQHandler, // 152: Reserved interrupt
556 PWM2_0_IRQHandler, // 153: PWM2 capture 0, compare 0, or reload 0 interrupt
557 PWM2_1_IRQHandler, // 154: PWM2 capture 1, compare 1, or reload 0 interrupt
558 PWM2_2_IRQHandler, // 155: PWM2 capture 2, compare 2, or reload 0 interrupt
559 PWM2_3_IRQHandler, // 156: PWM2 capture 3, compare 3, or reload 0 interrupt
560 PWM2_FAULT_IRQHandler, // 157: PWM2 fault or reload error interrupt
561 }; /* End of g_pfnVectors */
562
563 //*****************************************************************************
564 // Functions to carry out the initialization of RW and BSS data sections. These
565 // are written as separate functions rather than being inlined within the
566 // ResetISR() function in order to cope with MCUs with multiple banks of
567 // memory.
568 //*****************************************************************************
569 __attribute__ ((section(".after_vectors.init_data")))
data_init(unsigned int romstart,unsigned int start,unsigned int len)570 void data_init(unsigned int romstart, unsigned int start, unsigned int len) {
571 unsigned int *pulDest = (unsigned int*) start;
572 unsigned int *pulSrc = (unsigned int*) romstart;
573 unsigned int loop;
574 for (loop = 0; loop < len; loop = loop + 4)
575 *pulDest++ = *pulSrc++;
576 }
577
578 __attribute__ ((section(".after_vectors.init_bss")))
bss_init(unsigned int start,unsigned int len)579 void bss_init(unsigned int start, unsigned int len) {
580 unsigned int *pulDest = (unsigned int*) start;
581 unsigned int loop;
582 for (loop = 0; loop < len; loop = loop + 4)
583 *pulDest++ = 0;
584 }
585
586 //*****************************************************************************
587 // The following symbols are constructs generated by the linker, indicating
588 // the location of various points in the "Global Section Table". This table is
589 // created by the linker via the Code Red managed linker script mechanism. It
590 // contains the load address, execution address and length of each RW data
591 // section and the execution and length of each BSS (zero initialized) section.
592 //*****************************************************************************
593 extern unsigned int __data_section_table;
594 extern unsigned int __data_section_table_end;
595 extern unsigned int __bss_section_table;
596 extern unsigned int __bss_section_table_end;
597
598 //*****************************************************************************
599 // Reset entry point for your code.
600 // Sets up a simple runtime environment and initializes the C/C++
601 // library.
602 //*****************************************************************************
603 __attribute__ ((naked, section(".after_vectors.reset")))
ResetISR(void)604 void ResetISR(void) {
605 // Disable interrupts
606 __asm volatile ("cpsid i");
607 __asm volatile ("MSR MSP, %0" : : "r" (&_vStackTop) : );
608
609 #if defined (__USE_CMSIS)
610 // If __USE_CMSIS defined, then call CMSIS SystemInit code
611 SystemInit();
612 #else
613 // Disable Watchdog
614 volatile unsigned int *WDOG1_WCR = (unsigned int *) 0x400B8000;
615 *WDOG1_WCR = *WDOG1_WCR & ~(1 << 2);
616 volatile unsigned int *WDOG2_WCR = (unsigned int *) 0x400D0000;
617 *WDOG2_WCR = *WDOG2_WCR & ~(1 << 2);
618 // Write watchdog update key to unlock
619 *((volatile unsigned int *)0x400BC004) = 0xD928C520;
620 // Set timeout value
621 *((volatile unsigned int *)0x400BC008) = 0xFFFF;
622 // Now disable watchdog via control register
623 volatile unsigned int *RTWDOG_CS = (unsigned int *) 0x400BC000;
624 *RTWDOG_CS = (*RTWDOG_CS & ~(1 << 7)) | (1 << 5);
625
626 #endif // (__USE_CMSIS)
627
628 //
629 // Copy the data sections from flash to SRAM.
630 //
631 unsigned int LoadAddr, ExeAddr, SectionLen;
632 unsigned int *SectionTableAddr;
633
634 // Load base address of Global Section Table
635 SectionTableAddr = &__data_section_table;
636
637 // Copy the data sections from flash to SRAM.
638 while (SectionTableAddr < &__data_section_table_end) {
639 LoadAddr = *SectionTableAddr++;
640 ExeAddr = *SectionTableAddr++;
641 SectionLen = *SectionTableAddr++;
642 data_init(LoadAddr, ExeAddr, SectionLen);
643 }
644
645 // At this point, SectionTableAddr = &__bss_section_table;
646 // Zero fill the bss segment
647 while (SectionTableAddr < &__bss_section_table_end) {
648 ExeAddr = *SectionTableAddr++;
649 SectionLen = *SectionTableAddr++;
650 bss_init(ExeAddr, SectionLen);
651 }
652
653 #if !defined (__USE_CMSIS)
654 // Assume that if __USE_CMSIS defined, then CMSIS SystemInit code
655 // will setup the VTOR register
656
657 // Check to see if we are running the code from a non-zero
658 // address (eg RAM, external flash), in which case we need
659 // to modify the VTOR register to tell the CPU that the
660 // vector table is located at a non-0x0 address.
661 unsigned int * pSCB_VTOR = (unsigned int *) 0xE000ED08;
662 if ((unsigned int *)g_pfnVectors!=(unsigned int *) 0x00000000) {
663 *pSCB_VTOR = (unsigned int)g_pfnVectors;
664 }
665 #endif // (__USE_CMSIS)
666 #if defined (__cplusplus)
667 //
668 // Call C++ library initialisation
669 //
670 __libc_init_array();
671 #endif
672
673 // Reenable interrupts
674 __asm volatile ("cpsie i");
675
676 #if defined (__REDLIB__)
677 // Call the Redlib library, which in turn calls main()
678 __main();
679 #else
680 main();
681 #endif
682
683 //
684 // main() shouldn't return, but if it does, we'll just enter an infinite loop
685 //
686 while (1) {
687 ;
688 }
689 }
690
691 //*****************************************************************************
692 // Default core exception handlers. Override the ones here by defining your own
693 // handler routines in your application code.
694 //*****************************************************************************
NMI_Handler(void)695 WEAK_AV void NMI_Handler(void)
696 { while(1) {}
697 }
698
HardFault_Handler(void)699 WEAK_AV void HardFault_Handler(void)
700 { while(1) {}
701 }
702
MemManage_Handler(void)703 WEAK_AV void MemManage_Handler(void)
704 { while(1) {}
705 }
706
BusFault_Handler(void)707 WEAK_AV void BusFault_Handler(void)
708 { while(1) {}
709 }
710
UsageFault_Handler(void)711 WEAK_AV void UsageFault_Handler(void)
712 { while(1) {}
713 }
714
SVC_Handler(void)715 WEAK_AV void SVC_Handler(void)
716 { while(1) {}
717 }
718
DebugMon_Handler(void)719 WEAK_AV void DebugMon_Handler(void)
720 { while(1) {}
721 }
722
PendSV_Handler(void)723 WEAK_AV void PendSV_Handler(void)
724 { while(1) {}
725 }
726
SysTick_Handler(void)727 WEAK_AV void SysTick_Handler(void)
728 { while(1) {}
729 }
730
731 //*****************************************************************************
732 // Processor ends up here if an unexpected interrupt occurs or a specific
733 // handler is not present in the application code.
734 //*****************************************************************************
IntDefaultHandler(void)735 WEAK_AV void IntDefaultHandler(void)
736 { while(1) {}
737 }
738
739 //*****************************************************************************
740 // Default application exception handlers. Override the ones here by defining
741 // your own handler routines in your application code. These routines call
742 // driver exception handlers or IntDefaultHandler() if no driver exception
743 // handler is included.
744 //*****************************************************************************
DMA0_DMA16_IRQHandler(void)745 WEAK void DMA0_DMA16_IRQHandler(void)
746 { DMA0_DMA16_DriverIRQHandler();
747 }
748
DMA1_DMA17_IRQHandler(void)749 WEAK void DMA1_DMA17_IRQHandler(void)
750 { DMA1_DMA17_DriverIRQHandler();
751 }
752
DMA2_DMA18_IRQHandler(void)753 WEAK void DMA2_DMA18_IRQHandler(void)
754 { DMA2_DMA18_DriverIRQHandler();
755 }
756
DMA3_DMA19_IRQHandler(void)757 WEAK void DMA3_DMA19_IRQHandler(void)
758 { DMA3_DMA19_DriverIRQHandler();
759 }
760
DMA4_DMA20_IRQHandler(void)761 WEAK void DMA4_DMA20_IRQHandler(void)
762 { DMA4_DMA20_DriverIRQHandler();
763 }
764
DMA5_DMA21_IRQHandler(void)765 WEAK void DMA5_DMA21_IRQHandler(void)
766 { DMA5_DMA21_DriverIRQHandler();
767 }
768
DMA6_DMA22_IRQHandler(void)769 WEAK void DMA6_DMA22_IRQHandler(void)
770 { DMA6_DMA22_DriverIRQHandler();
771 }
772
DMA7_DMA23_IRQHandler(void)773 WEAK void DMA7_DMA23_IRQHandler(void)
774 { DMA7_DMA23_DriverIRQHandler();
775 }
776
DMA8_DMA24_IRQHandler(void)777 WEAK void DMA8_DMA24_IRQHandler(void)
778 { DMA8_DMA24_DriverIRQHandler();
779 }
780
DMA9_DMA25_IRQHandler(void)781 WEAK void DMA9_DMA25_IRQHandler(void)
782 { DMA9_DMA25_DriverIRQHandler();
783 }
784
DMA10_DMA26_IRQHandler(void)785 WEAK void DMA10_DMA26_IRQHandler(void)
786 { DMA10_DMA26_DriverIRQHandler();
787 }
788
DMA11_DMA27_IRQHandler(void)789 WEAK void DMA11_DMA27_IRQHandler(void)
790 { DMA11_DMA27_DriverIRQHandler();
791 }
792
DMA12_DMA28_IRQHandler(void)793 WEAK void DMA12_DMA28_IRQHandler(void)
794 { DMA12_DMA28_DriverIRQHandler();
795 }
796
DMA13_DMA29_IRQHandler(void)797 WEAK void DMA13_DMA29_IRQHandler(void)
798 { DMA13_DMA29_DriverIRQHandler();
799 }
800
DMA14_DMA30_IRQHandler(void)801 WEAK void DMA14_DMA30_IRQHandler(void)
802 { DMA14_DMA30_DriverIRQHandler();
803 }
804
DMA15_DMA31_IRQHandler(void)805 WEAK void DMA15_DMA31_IRQHandler(void)
806 { DMA15_DMA31_DriverIRQHandler();
807 }
808
DMA_ERROR_IRQHandler(void)809 WEAK void DMA_ERROR_IRQHandler(void)
810 { DMA_ERROR_DriverIRQHandler();
811 }
812
CTI0_ERROR_IRQHandler(void)813 WEAK void CTI0_ERROR_IRQHandler(void)
814 { CTI0_ERROR_DriverIRQHandler();
815 }
816
CTI1_ERROR_IRQHandler(void)817 WEAK void CTI1_ERROR_IRQHandler(void)
818 { CTI1_ERROR_DriverIRQHandler();
819 }
820
CORE_IRQHandler(void)821 WEAK void CORE_IRQHandler(void)
822 { CORE_DriverIRQHandler();
823 }
824
LPUART1_IRQHandler(void)825 WEAK void LPUART1_IRQHandler(void)
826 { LPUART1_DriverIRQHandler();
827 }
828
LPUART2_IRQHandler(void)829 WEAK void LPUART2_IRQHandler(void)
830 { LPUART2_DriverIRQHandler();
831 }
832
LPUART3_IRQHandler(void)833 WEAK void LPUART3_IRQHandler(void)
834 { LPUART3_DriverIRQHandler();
835 }
836
LPUART4_IRQHandler(void)837 WEAK void LPUART4_IRQHandler(void)
838 { LPUART4_DriverIRQHandler();
839 }
840
LPUART5_IRQHandler(void)841 WEAK void LPUART5_IRQHandler(void)
842 { LPUART5_DriverIRQHandler();
843 }
844
LPUART6_IRQHandler(void)845 WEAK void LPUART6_IRQHandler(void)
846 { LPUART6_DriverIRQHandler();
847 }
848
LPUART7_IRQHandler(void)849 WEAK void LPUART7_IRQHandler(void)
850 { LPUART7_DriverIRQHandler();
851 }
852
LPUART8_IRQHandler(void)853 WEAK void LPUART8_IRQHandler(void)
854 { LPUART8_DriverIRQHandler();
855 }
856
LPI2C1_IRQHandler(void)857 WEAK void LPI2C1_IRQHandler(void)
858 { LPI2C1_DriverIRQHandler();
859 }
860
LPI2C2_IRQHandler(void)861 WEAK void LPI2C2_IRQHandler(void)
862 { LPI2C2_DriverIRQHandler();
863 }
864
LPI2C3_IRQHandler(void)865 WEAK void LPI2C3_IRQHandler(void)
866 { LPI2C3_DriverIRQHandler();
867 }
868
LPI2C4_IRQHandler(void)869 WEAK void LPI2C4_IRQHandler(void)
870 { LPI2C4_DriverIRQHandler();
871 }
872
LPSPI1_IRQHandler(void)873 WEAK void LPSPI1_IRQHandler(void)
874 { LPSPI1_DriverIRQHandler();
875 }
876
LPSPI2_IRQHandler(void)877 WEAK void LPSPI2_IRQHandler(void)
878 { LPSPI2_DriverIRQHandler();
879 }
880
LPSPI3_IRQHandler(void)881 WEAK void LPSPI3_IRQHandler(void)
882 { LPSPI3_DriverIRQHandler();
883 }
884
LPSPI4_IRQHandler(void)885 WEAK void LPSPI4_IRQHandler(void)
886 { LPSPI4_DriverIRQHandler();
887 }
888
CAN1_IRQHandler(void)889 WEAK void CAN1_IRQHandler(void)
890 { CAN1_DriverIRQHandler();
891 }
892
CAN2_IRQHandler(void)893 WEAK void CAN2_IRQHandler(void)
894 { CAN2_DriverIRQHandler();
895 }
896
FLEXRAM_IRQHandler(void)897 WEAK void FLEXRAM_IRQHandler(void)
898 { FLEXRAM_DriverIRQHandler();
899 }
900
KPP_IRQHandler(void)901 WEAK void KPP_IRQHandler(void)
902 { KPP_DriverIRQHandler();
903 }
904
Reserved56_IRQHandler(void)905 WEAK void Reserved56_IRQHandler(void)
906 { Reserved56_DriverIRQHandler();
907 }
908
GPR_IRQ_IRQHandler(void)909 WEAK void GPR_IRQ_IRQHandler(void)
910 { GPR_IRQ_DriverIRQHandler();
911 }
912
Reserved58_IRQHandler(void)913 WEAK void Reserved58_IRQHandler(void)
914 { Reserved58_DriverIRQHandler();
915 }
916
Reserved59_IRQHandler(void)917 WEAK void Reserved59_IRQHandler(void)
918 { Reserved59_DriverIRQHandler();
919 }
920
Reserved60_IRQHandler(void)921 WEAK void Reserved60_IRQHandler(void)
922 { Reserved60_DriverIRQHandler();
923 }
924
WDOG2_IRQHandler(void)925 WEAK void WDOG2_IRQHandler(void)
926 { WDOG2_DriverIRQHandler();
927 }
928
SNVS_HP_WRAPPER_IRQHandler(void)929 WEAK void SNVS_HP_WRAPPER_IRQHandler(void)
930 { SNVS_HP_WRAPPER_DriverIRQHandler();
931 }
932
SNVS_HP_WRAPPER_TZ_IRQHandler(void)933 WEAK void SNVS_HP_WRAPPER_TZ_IRQHandler(void)
934 { SNVS_HP_WRAPPER_TZ_DriverIRQHandler();
935 }
936
SNVS_LP_HP_WRAPPER_IRQHandler(void)937 WEAK void SNVS_LP_HP_WRAPPER_IRQHandler(void)
938 { SNVS_LP_HP_WRAPPER_DriverIRQHandler();
939 }
940
CSU_IRQHandler(void)941 WEAK void CSU_IRQHandler(void)
942 { CSU_DriverIRQHandler();
943 }
944
DCP_IRQHandler(void)945 WEAK void DCP_IRQHandler(void)
946 { DCP_DriverIRQHandler();
947 }
948
DCP_VMI_IRQHandler(void)949 WEAK void DCP_VMI_IRQHandler(void)
950 { DCP_VMI_DriverIRQHandler();
951 }
952
Reserved68_IRQHandler(void)953 WEAK void Reserved68_IRQHandler(void)
954 { Reserved68_DriverIRQHandler();
955 }
956
TRNG_IRQHandler(void)957 WEAK void TRNG_IRQHandler(void)
958 { TRNG_DriverIRQHandler();
959 }
960
Reserved70_IRQHandler(void)961 WEAK void Reserved70_IRQHandler(void)
962 { Reserved70_DriverIRQHandler();
963 }
964
BEE_IRQHandler(void)965 WEAK void BEE_IRQHandler(void)
966 { BEE_DriverIRQHandler();
967 }
968
SAI1_IRQHandler(void)969 WEAK void SAI1_IRQHandler(void)
970 { SAI1_DriverIRQHandler();
971 }
972
SAI2_IRQHandler(void)973 WEAK void SAI2_IRQHandler(void)
974 { SAI2_DriverIRQHandler();
975 }
976
SAI3_RX_IRQHandler(void)977 WEAK void SAI3_RX_IRQHandler(void)
978 { SAI3_RX_DriverIRQHandler();
979 }
980
SAI3_TX_IRQHandler(void)981 WEAK void SAI3_TX_IRQHandler(void)
982 { SAI3_TX_DriverIRQHandler();
983 }
984
SPDIF_IRQHandler(void)985 WEAK void SPDIF_IRQHandler(void)
986 { SPDIF_DriverIRQHandler();
987 }
988
PMU_IRQHandler(void)989 WEAK void PMU_IRQHandler(void)
990 { PMU_DriverIRQHandler();
991 }
992
Reserved78_IRQHandler(void)993 WEAK void Reserved78_IRQHandler(void)
994 { Reserved78_DriverIRQHandler();
995 }
996
TEMP_LOW_HIGH_IRQHandler(void)997 WEAK void TEMP_LOW_HIGH_IRQHandler(void)
998 { TEMP_LOW_HIGH_DriverIRQHandler();
999 }
1000
TEMP_PANIC_IRQHandler(void)1001 WEAK void TEMP_PANIC_IRQHandler(void)
1002 { TEMP_PANIC_DriverIRQHandler();
1003 }
1004
USB_PHY_IRQHandler(void)1005 WEAK void USB_PHY_IRQHandler(void)
1006 { USB_PHY_DriverIRQHandler();
1007 }
1008
Reserved82_IRQHandler(void)1009 WEAK void Reserved82_IRQHandler(void)
1010 { Reserved82_DriverIRQHandler();
1011 }
1012
ADC1_IRQHandler(void)1013 WEAK void ADC1_IRQHandler(void)
1014 { ADC1_DriverIRQHandler();
1015 }
1016
ADC2_IRQHandler(void)1017 WEAK void ADC2_IRQHandler(void)
1018 { ADC2_DriverIRQHandler();
1019 }
1020
DCDC_IRQHandler(void)1021 WEAK void DCDC_IRQHandler(void)
1022 { DCDC_DriverIRQHandler();
1023 }
1024
Reserved86_IRQHandler(void)1025 WEAK void Reserved86_IRQHandler(void)
1026 { Reserved86_DriverIRQHandler();
1027 }
1028
Reserved87_IRQHandler(void)1029 WEAK void Reserved87_IRQHandler(void)
1030 { Reserved87_DriverIRQHandler();
1031 }
1032
GPIO1_INT0_IRQHandler(void)1033 WEAK void GPIO1_INT0_IRQHandler(void)
1034 { GPIO1_INT0_DriverIRQHandler();
1035 }
1036
GPIO1_INT1_IRQHandler(void)1037 WEAK void GPIO1_INT1_IRQHandler(void)
1038 { GPIO1_INT1_DriverIRQHandler();
1039 }
1040
GPIO1_INT2_IRQHandler(void)1041 WEAK void GPIO1_INT2_IRQHandler(void)
1042 { GPIO1_INT2_DriverIRQHandler();
1043 }
1044
GPIO1_INT3_IRQHandler(void)1045 WEAK void GPIO1_INT3_IRQHandler(void)
1046 { GPIO1_INT3_DriverIRQHandler();
1047 }
1048
GPIO1_INT4_IRQHandler(void)1049 WEAK void GPIO1_INT4_IRQHandler(void)
1050 { GPIO1_INT4_DriverIRQHandler();
1051 }
1052
GPIO1_INT5_IRQHandler(void)1053 WEAK void GPIO1_INT5_IRQHandler(void)
1054 { GPIO1_INT5_DriverIRQHandler();
1055 }
1056
GPIO1_INT6_IRQHandler(void)1057 WEAK void GPIO1_INT6_IRQHandler(void)
1058 { GPIO1_INT6_DriverIRQHandler();
1059 }
1060
GPIO1_INT7_IRQHandler(void)1061 WEAK void GPIO1_INT7_IRQHandler(void)
1062 { GPIO1_INT7_DriverIRQHandler();
1063 }
1064
GPIO1_Combined_0_15_IRQHandler(void)1065 WEAK void GPIO1_Combined_0_15_IRQHandler(void)
1066 { GPIO1_Combined_0_15_DriverIRQHandler();
1067 }
1068
GPIO1_Combined_16_31_IRQHandler(void)1069 WEAK void GPIO1_Combined_16_31_IRQHandler(void)
1070 { GPIO1_Combined_16_31_DriverIRQHandler();
1071 }
1072
GPIO2_Combined_0_15_IRQHandler(void)1073 WEAK void GPIO2_Combined_0_15_IRQHandler(void)
1074 { GPIO2_Combined_0_15_DriverIRQHandler();
1075 }
1076
GPIO2_Combined_16_31_IRQHandler(void)1077 WEAK void GPIO2_Combined_16_31_IRQHandler(void)
1078 { GPIO2_Combined_16_31_DriverIRQHandler();
1079 }
1080
GPIO3_Combined_0_15_IRQHandler(void)1081 WEAK void GPIO3_Combined_0_15_IRQHandler(void)
1082 { GPIO3_Combined_0_15_DriverIRQHandler();
1083 }
1084
GPIO3_Combined_16_31_IRQHandler(void)1085 WEAK void GPIO3_Combined_16_31_IRQHandler(void)
1086 { GPIO3_Combined_16_31_DriverIRQHandler();
1087 }
1088
Reserved102_IRQHandler(void)1089 WEAK void Reserved102_IRQHandler(void)
1090 { Reserved102_DriverIRQHandler();
1091 }
1092
Reserved103_IRQHandler(void)1093 WEAK void Reserved103_IRQHandler(void)
1094 { Reserved103_DriverIRQHandler();
1095 }
1096
GPIO5_Combined_0_15_IRQHandler(void)1097 WEAK void GPIO5_Combined_0_15_IRQHandler(void)
1098 { GPIO5_Combined_0_15_DriverIRQHandler();
1099 }
1100
GPIO5_Combined_16_31_IRQHandler(void)1101 WEAK void GPIO5_Combined_16_31_IRQHandler(void)
1102 { GPIO5_Combined_16_31_DriverIRQHandler();
1103 }
1104
FLEXIO1_IRQHandler(void)1105 WEAK void FLEXIO1_IRQHandler(void)
1106 { FLEXIO1_DriverIRQHandler();
1107 }
1108
Reserved107_IRQHandler(void)1109 WEAK void Reserved107_IRQHandler(void)
1110 { Reserved107_DriverIRQHandler();
1111 }
1112
WDOG1_IRQHandler(void)1113 WEAK void WDOG1_IRQHandler(void)
1114 { WDOG1_DriverIRQHandler();
1115 }
1116
RTWDOG_IRQHandler(void)1117 WEAK void RTWDOG_IRQHandler(void)
1118 { RTWDOG_DriverIRQHandler();
1119 }
1120
EWM_IRQHandler(void)1121 WEAK void EWM_IRQHandler(void)
1122 { EWM_DriverIRQHandler();
1123 }
1124
CCM_1_IRQHandler(void)1125 WEAK void CCM_1_IRQHandler(void)
1126 { CCM_1_DriverIRQHandler();
1127 }
1128
CCM_2_IRQHandler(void)1129 WEAK void CCM_2_IRQHandler(void)
1130 { CCM_2_DriverIRQHandler();
1131 }
1132
GPC_IRQHandler(void)1133 WEAK void GPC_IRQHandler(void)
1134 { GPC_DriverIRQHandler();
1135 }
1136
SRC_IRQHandler(void)1137 WEAK void SRC_IRQHandler(void)
1138 { SRC_DriverIRQHandler();
1139 }
1140
Reserved115_IRQHandler(void)1141 WEAK void Reserved115_IRQHandler(void)
1142 { Reserved115_DriverIRQHandler();
1143 }
1144
GPT1_IRQHandler(void)1145 WEAK void GPT1_IRQHandler(void)
1146 { GPT1_DriverIRQHandler();
1147 }
1148
GPT2_IRQHandler(void)1149 WEAK void GPT2_IRQHandler(void)
1150 { GPT2_DriverIRQHandler();
1151 }
1152
PWM1_0_IRQHandler(void)1153 WEAK void PWM1_0_IRQHandler(void)
1154 { PWM1_0_DriverIRQHandler();
1155 }
1156
PWM1_1_IRQHandler(void)1157 WEAK void PWM1_1_IRQHandler(void)
1158 { PWM1_1_DriverIRQHandler();
1159 }
1160
PWM1_2_IRQHandler(void)1161 WEAK void PWM1_2_IRQHandler(void)
1162 { PWM1_2_DriverIRQHandler();
1163 }
1164
PWM1_3_IRQHandler(void)1165 WEAK void PWM1_3_IRQHandler(void)
1166 { PWM1_3_DriverIRQHandler();
1167 }
1168
PWM1_FAULT_IRQHandler(void)1169 WEAK void PWM1_FAULT_IRQHandler(void)
1170 { PWM1_FAULT_DriverIRQHandler();
1171 }
1172
Reserved123_IRQHandler(void)1173 WEAK void Reserved123_IRQHandler(void)
1174 { Reserved123_DriverIRQHandler();
1175 }
1176
FLEXSPI_IRQHandler(void)1177 WEAK void FLEXSPI_IRQHandler(void)
1178 { FLEXSPI_DriverIRQHandler();
1179 }
1180
SEMC_IRQHandler(void)1181 WEAK void SEMC_IRQHandler(void)
1182 { SEMC_DriverIRQHandler();
1183 }
1184
USDHC1_IRQHandler(void)1185 WEAK void USDHC1_IRQHandler(void)
1186 { USDHC1_DriverIRQHandler();
1187 }
1188
USDHC2_IRQHandler(void)1189 WEAK void USDHC2_IRQHandler(void)
1190 { USDHC2_DriverIRQHandler();
1191 }
1192
Reserved128_IRQHandler(void)1193 WEAK void Reserved128_IRQHandler(void)
1194 { Reserved128_DriverIRQHandler();
1195 }
1196
USB_OTG1_IRQHandler(void)1197 WEAK void USB_OTG1_IRQHandler(void)
1198 { USB_OTG1_DriverIRQHandler();
1199 }
1200
ENET_IRQHandler(void)1201 WEAK void ENET_IRQHandler(void)
1202 { ENET_DriverIRQHandler();
1203 }
1204
ENET_1588_Timer_IRQHandler(void)1205 WEAK void ENET_1588_Timer_IRQHandler(void)
1206 { ENET_1588_Timer_DriverIRQHandler();
1207 }
1208
XBAR1_IRQ_0_1_IRQHandler(void)1209 WEAK void XBAR1_IRQ_0_1_IRQHandler(void)
1210 { XBAR1_IRQ_0_1_DriverIRQHandler();
1211 }
1212
XBAR1_IRQ_2_3_IRQHandler(void)1213 WEAK void XBAR1_IRQ_2_3_IRQHandler(void)
1214 { XBAR1_IRQ_2_3_DriverIRQHandler();
1215 }
1216
ADC_ETC_IRQ0_IRQHandler(void)1217 WEAK void ADC_ETC_IRQ0_IRQHandler(void)
1218 { ADC_ETC_IRQ0_DriverIRQHandler();
1219 }
1220
ADC_ETC_IRQ1_IRQHandler(void)1221 WEAK void ADC_ETC_IRQ1_IRQHandler(void)
1222 { ADC_ETC_IRQ1_DriverIRQHandler();
1223 }
1224
ADC_ETC_IRQ2_IRQHandler(void)1225 WEAK void ADC_ETC_IRQ2_IRQHandler(void)
1226 { ADC_ETC_IRQ2_DriverIRQHandler();
1227 }
1228
ADC_ETC_ERROR_IRQ_IRQHandler(void)1229 WEAK void ADC_ETC_ERROR_IRQ_IRQHandler(void)
1230 { ADC_ETC_ERROR_IRQ_DriverIRQHandler();
1231 }
1232
PIT_IRQHandler(void)1233 WEAK void PIT_IRQHandler(void)
1234 { PIT_DriverIRQHandler();
1235 }
1236
ACMP1_IRQHandler(void)1237 WEAK void ACMP1_IRQHandler(void)
1238 { ACMP1_DriverIRQHandler();
1239 }
1240
ACMP2_IRQHandler(void)1241 WEAK void ACMP2_IRQHandler(void)
1242 { ACMP2_DriverIRQHandler();
1243 }
1244
ACMP3_IRQHandler(void)1245 WEAK void ACMP3_IRQHandler(void)
1246 { ACMP3_DriverIRQHandler();
1247 }
1248
ACMP4_IRQHandler(void)1249 WEAK void ACMP4_IRQHandler(void)
1250 { ACMP4_DriverIRQHandler();
1251 }
1252
Reserved143_IRQHandler(void)1253 WEAK void Reserved143_IRQHandler(void)
1254 { Reserved143_DriverIRQHandler();
1255 }
1256
Reserved144_IRQHandler(void)1257 WEAK void Reserved144_IRQHandler(void)
1258 { Reserved144_DriverIRQHandler();
1259 }
1260
ENC1_IRQHandler(void)1261 WEAK void ENC1_IRQHandler(void)
1262 { ENC1_DriverIRQHandler();
1263 }
1264
ENC2_IRQHandler(void)1265 WEAK void ENC2_IRQHandler(void)
1266 { ENC2_DriverIRQHandler();
1267 }
1268
Reserved147_IRQHandler(void)1269 WEAK void Reserved147_IRQHandler(void)
1270 { Reserved147_DriverIRQHandler();
1271 }
1272
Reserved148_IRQHandler(void)1273 WEAK void Reserved148_IRQHandler(void)
1274 { Reserved148_DriverIRQHandler();
1275 }
1276
TMR1_IRQHandler(void)1277 WEAK void TMR1_IRQHandler(void)
1278 { TMR1_DriverIRQHandler();
1279 }
1280
TMR2_IRQHandler(void)1281 WEAK void TMR2_IRQHandler(void)
1282 { TMR2_DriverIRQHandler();
1283 }
1284
Reserved151_IRQHandler(void)1285 WEAK void Reserved151_IRQHandler(void)
1286 { Reserved151_DriverIRQHandler();
1287 }
1288
Reserved152_IRQHandler(void)1289 WEAK void Reserved152_IRQHandler(void)
1290 { Reserved152_DriverIRQHandler();
1291 }
1292
PWM2_0_IRQHandler(void)1293 WEAK void PWM2_0_IRQHandler(void)
1294 { PWM2_0_DriverIRQHandler();
1295 }
1296
PWM2_1_IRQHandler(void)1297 WEAK void PWM2_1_IRQHandler(void)
1298 { PWM2_1_DriverIRQHandler();
1299 }
1300
PWM2_2_IRQHandler(void)1301 WEAK void PWM2_2_IRQHandler(void)
1302 { PWM2_2_DriverIRQHandler();
1303 }
1304
PWM2_3_IRQHandler(void)1305 WEAK void PWM2_3_IRQHandler(void)
1306 { PWM2_3_DriverIRQHandler();
1307 }
1308
PWM2_FAULT_IRQHandler(void)1309 WEAK void PWM2_FAULT_IRQHandler(void)
1310 { PWM2_FAULT_DriverIRQHandler();
1311 }
1312
1313 //*****************************************************************************
1314
1315 #if defined (DEBUG)
1316 #pragma GCC pop_options
1317 #endif // (DEBUG)
1318