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