1 //*****************************************************************************
2 // RW612 startup code for use with MCUXpresso IDE
3 //
4 // Version : 011223
5 //*****************************************************************************
6 //
7 // Copyright 2016-2023 NXP
8 // All rights reserved.
9 //
10 // SPDX-License-Identifier: BSD-3-Clause
11 //*****************************************************************************
12 
13 #if defined (DEBUG)
14 #pragma GCC push_options
15 #pragma GCC optimize ("Og")
16 #endif // (DEBUG)
17 
18 #if defined (__cplusplus)
19 #ifdef __REDLIB__
20 #error Redlib does not support C++
21 #else
22 //*****************************************************************************
23 //
24 // The entry point for the C++ library startup
25 //
26 //*****************************************************************************
27 extern "C" {
28     extern void __libc_init_array(void);
29 }
30 #endif
31 #endif
32 
33 #define WEAK __attribute__ ((weak))
34 #define WEAK_AV __attribute__ ((weak, section(".after_vectors")))
35 #define ALIAS(f) __attribute__ ((weak, alias (#f)))
36 
37 //*****************************************************************************
38 #if defined (__cplusplus)
39 extern "C" {
40 #endif
41 
42 //*****************************************************************************
43 // Variable to store CRP value in. Will be placed automatically
44 // by the linker when "Enable Code Read Protect" selected.
45 // See crp.h header for more information
46 //*****************************************************************************
47 //*****************************************************************************
48 // Declaration of external SystemInit function
49 //*****************************************************************************
50 #if defined (__USE_CMSIS)
51 extern void SystemInit(void);
52 #endif // (__USE_CMSIS)
53 
54 //*****************************************************************************
55 // Forward declaration of the core exception handlers.
56 // When the application defines a handler (with the same name), this will
57 // automatically take precedence over these weak definitions.
58 // If your application is a C++ one, then any interrupt handlers defined
59 // in C++ files within in your main application will need to have C linkage
60 // rather than C++ linkage. To do this, make sure that you are using extern "C"
61 // { .... } around the interrupt handler within your main application code.
62 //*****************************************************************************
63      void ResetISR(void);
64 WEAK void NMI_Handler(void);
65 WEAK void HardFault_Handler(void);
66 WEAK void MemManage_Handler(void);
67 WEAK void BusFault_Handler(void);
68 WEAK void UsageFault_Handler(void);
69 WEAK void SecureFault_Handler(void);
70 WEAK void SVC_Handler(void);
71 WEAK void DebugMon_Handler(void);
72 WEAK void PendSV_Handler(void);
73 WEAK void SysTick_Handler(void);
74 WEAK void IntDefaultHandler(void);
75 
76 //*****************************************************************************
77 // Forward declaration of the application IRQ handlers. When the application
78 // defines a handler (with the same name), this will automatically take
79 // precedence over weak definitions below
80 //*****************************************************************************
81 WEAK void WDT0_IRQHandler(void);
82 WEAK void DMA0_IRQHandler(void);
83 WEAK void GPIO_INTA_IRQHandler(void);
84 WEAK void GPIO_INTB_IRQHandler(void);
85 WEAK void PIN_INT0_IRQHandler(void);
86 WEAK void PIN_INT1_IRQHandler(void);
87 WEAK void PIN_INT2_IRQHandler(void);
88 WEAK void PIN_INT3_IRQHandler(void);
89 WEAK void UTICK_IRQHandler(void);
90 WEAK void MRT0_IRQHandler(void);
91 WEAK void CTIMER0_IRQHandler(void);
92 WEAK void CTIMER1_IRQHandler(void);
93 WEAK void SCT0_IRQHandler(void);
94 WEAK void CTIMER3_IRQHandler(void);
95 WEAK void FLEXCOMM0_IRQHandler(void);
96 WEAK void FLEXCOMM1_IRQHandler(void);
97 WEAK void FLEXCOMM2_IRQHandler(void);
98 WEAK void FLEXCOMM3_IRQHandler(void);
99 WEAK void Reserved34_IRQHandler(void);
100 WEAK void Reserved35_IRQHandler(void);
101 WEAK void FLEXCOMM14_IRQHandler(void);
102 WEAK void Reserved37_IRQHandler(void);
103 WEAK void Reserved38_IRQHandler(void);
104 WEAK void MRT1_IRQHandler(void);
105 WEAK void Reserved40_IRQHandler(void);
106 WEAK void DMIC0_IRQHandler(void);
107 WEAK void WFD_IRQHandler(void);
108 WEAK void HYPERVISOR_IRQHandler(void);
109 WEAK void SECUREVIOLATION_IRQHandler(void);
110 WEAK void HWVAD0_IRQHandler(void);
111 WEAK void Reserved46_IRQHandler(void);
112 WEAK void Reserved47_IRQHandler(void);
113 WEAK void RTC_IRQHandler(void);
114 WEAK void Reserved49_IRQHandler(void);
115 WEAK void Reserved50_IRQHandler(void);
116 WEAK void PIN_INT4_IRQHandler(void);
117 WEAK void PIN_INT5_IRQHandler(void);
118 WEAK void PIN_INT6_IRQHandler(void);
119 WEAK void PIN_INT7_IRQHandler(void);
120 WEAK void CTIMER2_IRQHandler(void);
121 WEAK void CTIMER4_IRQHandler(void);
122 WEAK void OS_EVENT_IRQHandler(void);
123 WEAK void FLEXSPI_IRQHandler(void);
124 WEAK void Reserved59_IRQHandler(void);
125 WEAK void Reserved60_IRQHandler(void);
126 WEAK void Reserved61_IRQHandler(void);
127 WEAK void SDU_IRQHandler(void);
128 WEAK void SGPIO_INTA_IRQHandler(void);
129 WEAK void SGPIO_INTB_IRQHandler(void);
130 WEAK void Reserved65_IRQHandler(void);
131 WEAK void USB_IRQHandler(void);
132 WEAK void Reserved67_IRQHandler(void);
133 WEAK void Reserved68_IRQHandler(void);
134 WEAK void Reserved69_IRQHandler(void);
135 WEAK void DMA1_IRQHandler(void);
136 WEAK void PUF_IRQHandler(void);
137 WEAK void POWERQUAD_IRQHandler(void);
138 WEAK void Reserved73_IRQHandler(void);
139 WEAK void Reserved74_IRQHandler(void);
140 WEAK void Reserved75_IRQHandler(void);
141 WEAK void Reserved76_IRQHandler(void);
142 WEAK void LCDIC_IRQHandler(void);
143 WEAK void CAPT_PULSE_IRQHandler(void);
144 WEAK void Reserved79_IRQHandler(void);
145 WEAK void WL_MCI_WAKEUP_DONE0_IRQHandler(void);
146 WEAK void WL_MCI_WAKEUP_DONE1_IRQHandler(void);
147 WEAK void WL_MCI_WAKEUP_DONE2_IRQHandler(void);
148 WEAK void WL_MCI_WAKEUP_DONE3_IRQHandler(void);
149 WEAK void WL_MCI_WAKEUP_DONE4_IRQHandler(void);
150 WEAK void WL_MCI_WAKEUP_DONE5_IRQHandler(void);
151 WEAK void WL_MCI_WAKEUP_DONE6_IRQHandler(void);
152 WEAK void WL_MCI_WAKEUP_DONE7_IRQHandler(void);
153 WEAK void WL_MCI_WAKEUP0_IRQHandler(void);
154 WEAK void WL_MCI_WAKEUP1_IRQHandler(void);
155 WEAK void WL_MCI_INT0_IRQHandler(void);
156 WEAK void WL_MCI_INT1_IRQHandler(void);
157 WEAK void WL_MCI_INT2_IRQHandler(void);
158 WEAK void WL_MCI_INT3_IRQHandler(void);
159 WEAK void WL_MCI_INT4_IRQHandler(void);
160 WEAK void WL_MCI_INT5_IRQHandler(void);
161 WEAK void WL_MCI_INT6_IRQHandler(void);
162 WEAK void WL_MCI_INT7_IRQHandler(void);
163 WEAK void BLE_MCI_WAKEUP_DONE0_IRQHandler(void);
164 WEAK void BLE_MCI_WAKEUP_DONE1_IRQHandler(void);
165 WEAK void BLE_MCI_WAKEUP_DONE2_IRQHandler(void);
166 WEAK void BLE_MCI_WAKEUP_DONE3_IRQHandler(void);
167 WEAK void BLE_MCI_WAKEUP_DONE4_IRQHandler(void);
168 WEAK void BLE_MCI_WAKEUP_DONE5_IRQHandler(void);
169 WEAK void BLE_MCI_WAKEUP_DONE6_IRQHandler(void);
170 WEAK void BLE_MCI_WAKEUP_DONE7_IRQHandler(void);
171 WEAK void BLE_MCI_WAKEUP0_IRQHandler(void);
172 WEAK void BLE_MCI_WAKEUP1_IRQHandler(void);
173 WEAK void BLE_MCI_INT0_IRQHandler(void);
174 WEAK void BLE_MCI_INT1_IRQHandler(void);
175 WEAK void BLE_MCI_INT2_IRQHandler(void);
176 WEAK void BLE_MCI_INT3_IRQHandler(void);
177 WEAK void BLE_MCI_INT4_IRQHandler(void);
178 WEAK void BLE_MCI_INT5_IRQHandler(void);
179 WEAK void BLE_MCI_INT6_IRQHandler(void);
180 WEAK void BLE_MCI_INT7_IRQHandler(void);
181 WEAK void PIN0_INT_IRQHandler(void);
182 WEAK void PIN1_INT_IRQHandler(void);
183 WEAK void ELS_IRQHandler(void);
184 WEAK void ELS_GDET_IRQ_IRQHandler(void);
185 WEAK void ELS_GDET_ERR_IRQHandler(void);
186 WEAK void PKC_IRQHandler(void);
187 WEAK void PKC_ERR_IRQHandler(void);
188 WEAK void CDOG_IRQHandler(void);
189 WEAK void GAU_GPDAC_INT_FUNC11_IRQHandler(void);
190 WEAK void GAU_ACOMP_INT_WKUP11_IRQHandler(void);
191 WEAK void GAU_ACOMP_INT_FUNC11_IRQHandler(void);
192 WEAK void GAU_GPADC1_INT_FUNC11_IRQHandler(void);
193 WEAK void GAU_GPADC0_INT_FUNC11_IRQHandler(void);
194 WEAK void USIM_IRQHandler(void);
195 WEAK void OCOTP_IRQHandler(void);
196 WEAK void ENET_IRQHandler(void);
197 WEAK void ENET_TIMER_IRQHandler(void);
198 WEAK void BOD_1_85_INT_IRQHandler(void);
199 WEAK void BOD_1_85_NEG_IRQHandler(void);
200 WEAK void ITRC_IRQHandler(void);
201 WEAK void BTU_HOST_TRIGGER0_IRQHandler(void);
202 WEAK void BTU_HOST_TRIGGER1_IRQHandler(void);
203 WEAK void BTU_HOST_TRIGGER2_IRQHandler(void);
204 WEAK void TRNG_IRQHandler(void);
205 WEAK void AHB_MEM_ACC_CHECKER_VIO_INT_C_OR_IRQHandler(void);
206 WEAK void AHB_MEM_ACC_CHECKER_VIO_INT_S_OR_IRQHandler(void);
207 WEAK void WL_ACC_INT_IRQHandler(void);
208 WEAK void BLE_ACC_INT_IRQHandler(void);
209 WEAK void GDMA_IRQHandler(void);
210 
211 //*****************************************************************************
212 // Forward declaration of the driver IRQ handlers. These are aliased
213 // to the IntDefaultHandler, which is a 'forever' loop. When the driver
214 // defines a handler (with the same name), this will automatically take
215 // precedence over these weak definitions
216 //*****************************************************************************
217 void WDT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
218 void DMA0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
219 void GPIO_INTA_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
220 void GPIO_INTB_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
221 void PIN_INT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
222 void PIN_INT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
223 void PIN_INT2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
224 void PIN_INT3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
225 void UTICK_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
226 void MRT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
227 void CTIMER0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
228 void CTIMER1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
229 void SCT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
230 void CTIMER3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
231 void FLEXCOMM0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
232 void FLEXCOMM1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
233 void FLEXCOMM2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
234 void FLEXCOMM3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
235 void Reserved34_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
236 void Reserved35_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
237 void FLEXCOMM14_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
238 void Reserved37_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
239 void Reserved38_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
240 void MRT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
241 void Reserved40_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
242 void DMIC0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
243 void WFD_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
244 void HYPERVISOR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
245 void SECUREVIOLATION_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
246 void HWVAD0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
247 void Reserved46_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
248 void Reserved47_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
249 void RTC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
250 void Reserved49_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
251 void Reserved50_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
252 void PIN_INT4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
253 void PIN_INT5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
254 void PIN_INT6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
255 void PIN_INT7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
256 void CTIMER2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
257 void CTIMER4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
258 void OS_EVENT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
259 void FLEXSPI_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
260 void Reserved59_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
261 void Reserved60_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
262 void Reserved61_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
263 void SDU_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
264 void SGPIO_INTA_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
265 void SGPIO_INTB_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
266 void Reserved65_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
267 void USB_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
268 void Reserved67_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
269 void Reserved68_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
270 void Reserved69_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
271 void DMA1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
272 void PUF_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
273 void POWERQUAD_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
274 void Reserved73_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
275 void Reserved74_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
276 void Reserved75_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
277 void Reserved76_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
278 void LCDIC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
279 void CAPT_PULSE_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
280 void Reserved79_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
281 void WL_MCI_WAKEUP_DONE0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
282 void WL_MCI_WAKEUP_DONE1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
283 void WL_MCI_WAKEUP_DONE2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
284 void WL_MCI_WAKEUP_DONE3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
285 void WL_MCI_WAKEUP_DONE4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
286 void WL_MCI_WAKEUP_DONE5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
287 void WL_MCI_WAKEUP_DONE6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
288 void WL_MCI_WAKEUP_DONE7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
289 void WL_MCI_WAKEUP0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
290 void WL_MCI_WAKEUP1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
291 void WL_MCI_INT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
292 void WL_MCI_INT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
293 void WL_MCI_INT2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
294 void WL_MCI_INT3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
295 void WL_MCI_INT4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
296 void WL_MCI_INT5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
297 void WL_MCI_INT6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
298 void WL_MCI_INT7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
299 void BLE_MCI_WAKEUP_DONE0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
300 void BLE_MCI_WAKEUP_DONE1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
301 void BLE_MCI_WAKEUP_DONE2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
302 void BLE_MCI_WAKEUP_DONE3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
303 void BLE_MCI_WAKEUP_DONE4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
304 void BLE_MCI_WAKEUP_DONE5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
305 void BLE_MCI_WAKEUP_DONE6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
306 void BLE_MCI_WAKEUP_DONE7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
307 void BLE_MCI_WAKEUP0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
308 void BLE_MCI_WAKEUP1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
309 void BLE_MCI_INT0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
310 void BLE_MCI_INT1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
311 void BLE_MCI_INT2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
312 void BLE_MCI_INT3_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
313 void BLE_MCI_INT4_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
314 void BLE_MCI_INT5_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
315 void BLE_MCI_INT6_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
316 void BLE_MCI_INT7_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
317 void PIN0_INT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
318 void PIN1_INT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
319 void ELS_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
320 void ELS_GDET_IRQ_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
321 void ELS_GDET_ERR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
322 void PKC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
323 void PKC_ERR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
324 void CDOG_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
325 void GAU_GPDAC_INT_FUNC11_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
326 void GAU_ACOMP_INT_WKUP11_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
327 void GAU_ACOMP_INT_FUNC11_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
328 void GAU_GPADC1_INT_FUNC11_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
329 void GAU_GPADC0_INT_FUNC11_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
330 void USIM_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
331 void OCOTP_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
332 void ENET_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
333 void ENET_TIMER_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
334 void BOD_1_85_INT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
335 void BOD_1_85_NEG_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
336 void ITRC_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
337 void BTU_HOST_TRIGGER0_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
338 void BTU_HOST_TRIGGER1_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
339 void BTU_HOST_TRIGGER2_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
340 void TRNG_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
341 void AHB_MEM_ACC_CHECKER_VIO_INT_C_OR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
342 void AHB_MEM_ACC_CHECKER_VIO_INT_S_OR_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
343 void WL_ACC_INT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
344 void BLE_ACC_INT_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
345 void GDMA_DriverIRQHandler(void) ALIAS(IntDefaultHandler);
346 
347 //*****************************************************************************
348 // The entry point for the application.
349 // __main() is the entry point for Redlib based applications
350 // main() is the entry point for Newlib based applications
351 //*****************************************************************************
352 #if defined (__REDLIB__)
353 extern void __main(void);
354 #endif
355 extern int main(void);
356 
357 //*****************************************************************************
358 // External declaration for the pointer to the stack top from the Linker Script
359 //*****************************************************************************
360 extern void _vStackTop(void);
361 extern void _image_size(void);
362 //*****************************************************************************
363 // External declaration for the pointer to the stack base from the Linker Script
364 //*****************************************************************************
365 extern void _vStackBase(void);
366 //*****************************************************************************
367 // External declaration for image type and load address from  Linker Script
368 //*****************************************************************************
369 WEAK extern void __imghdr_loadaddress();
370 WEAK extern void __imghdr_imagetype();
371 
372 //*****************************************************************************
373 #if defined (__cplusplus)
374 } // extern "C"
375 #endif
376 //*****************************************************************************
377 // The vector table.
378 // This relies on the linker script to place at correct location in memory.
379 //*****************************************************************************
380 
381 extern void (* const g_pfnVectors[])(void);
382 extern void * __Vectors __attribute__ ((alias ("g_pfnVectors")));
383 
384 __attribute__ ((used, section(".isr_vector")))
385 void (* const g_pfnVectors[])(void) = {
386     // Core Level - CM33
387     &_vStackTop,                       // The initial stack pointer
388     ResetISR,                          // The reset handler
389     NMI_Handler,                       // NMI Handler
390     HardFault_Handler,                 // Hard Fault Handler
391     MemManage_Handler,                 // MPU Fault Handler
392     BusFault_Handler,                  // Bus Fault Handler
393     UsageFault_Handler,                // Usage Fault Handler
394     SecureFault_Handler,               // Secure Fault Handler
395 #if (defined(__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE & 0x2))
396     (void (*)())0x100000,                // Image length
397 #else
398     (void (*)())((unsigned)_image_size), // Image length
399 #endif
400     __imghdr_imagetype,                // Image type
401     0,                                 // Reserved
402     SVC_Handler,                       // SVCall Handler
403     DebugMon_Handler,                  // Debug Monitor Handler
404     (void (*)())g_pfnVectors,          // Image load address
405     PendSV_Handler,                    // PendSV Handler
406     SysTick_Handler,                   // SysTick Handler
407 
408     // Chip Level - RW612
409     WDT0_IRQHandler,                          // 16 : Windowed watchdog timer 0 (CM33 watchdog)
410     DMA0_IRQHandler,                          // 17 : DMA controller 0 (secure or CM33 DMA)
411     GPIO_INTA_IRQHandler,                         // 18 : GPIO interrupt A
412     GPIO_INTB_IRQHandler,                         // 19 : GPIO interrupt B
413     PIN_INT0_IRQHandler,                          // 20 : Pin interrupt 0 or pattern match engine slice 0 int
414     PIN_INT1_IRQHandler,                          // 21 : Pin interrupt 1 or pattern match engine slice 1 int
415     PIN_INT2_IRQHandler,                          // 22 : Pin interrupt 2 or pattern match engine slice 2 int
416     PIN_INT3_IRQHandler,                          // 23 : Pin interrupt 3 or pattern match engine slice 3 int
417     UTICK_IRQHandler,                          // 24 : Micro-tick Timer
418     MRT0_IRQHandler,                          // 25 : Multi-Rate Timer. Global MRT interrupts
419     CTIMER0_IRQHandler,                          // 26 : Standard counter/timer CTIMER0
420     CTIMER1_IRQHandler,                          // 27 : Standard counter/timer CTIMER1
421     SCT0_IRQHandler,                          // 28 : SCTimer/PWM
422     CTIMER3_IRQHandler,                          // 29 : Standard counter/timer CTIMER3
423     FLEXCOMM0_IRQHandler,                         // 30 : Flexcomm Interface 0 (USART, SPI, I2C, I2S)
424     FLEXCOMM1_IRQHandler,                         // 31 : Flexcomm Interface 1 (USART, SPI, I2C, I2S)
425     FLEXCOMM2_IRQHandler,                         // 32 : Flexcomm Interface 2 (USART, SPI, I2C, I2S)
426     FLEXCOMM3_IRQHandler,                         // 33 : Flexcomm Interface 3 (USART, SPI, I2C, I2S)
427     Reserved34_IRQHandler,                        // 34 : Reserved interrupt
428     Reserved35_IRQHandler,                        // 35 : Reserved interrupt
429     FLEXCOMM14_IRQHandler,                        // 36 : Flexcomm Interface 14 (USART, SPI, I2C, I2S)
430     Reserved37_IRQHandler,                        // 37 : Reserved interrupt
431     Reserved38_IRQHandler,                        // 38 : Reserved interrupt
432     MRT1_IRQHandler,                          // 39 : Free Multi-rate timer. Global MRT interrupts
433     Reserved40_IRQHandler,                        // 40 : Reserved interrupt
434     DMIC0_IRQHandler,                          // 41 : Digital microphone and DMIC subsystem
435     WFD_IRQHandler,                          // 42 : Wakeup From Deepsleep
436     HYPERVISOR_IRQHandler,                        // 43 : Hypervisor service software interrupt
437     SECUREVIOLATION_IRQHandler,                   // 44 : Secure violation
438     HWVAD0_IRQHandler,                          // 45 : Hardware Voice Activity Detector
439     Reserved46_IRQHandler,                        // 46 : Reserved interrupt
440     Reserved47_IRQHandler,                        // 47 : Reserved interrupt
441     RTC_IRQHandler,                          // 48 : RTC alarm and wake-up
442     Reserved49_IRQHandler,                        // 49 : Reserved interrupt
443     Reserved50_IRQHandler,                        // 50 : Reserved interrupt
444     PIN_INT4_IRQHandler,                          // 51 : Pin interrupt 4 or pattern match engine slice 4 int
445     PIN_INT5_IRQHandler,                          // 52 : Pin interrupt 5 or pattern match engine slice 5 int
446     PIN_INT6_IRQHandler,                          // 53 : Pin interrupt 6 or pattern match engine slice 6 int
447     PIN_INT7_IRQHandler,                          // 54 : Pin interrupt 7 or pattern match engine slice 7 int
448     CTIMER2_IRQHandler,                          // 55 : Standard counter/timer CTIMER2
449     CTIMER4_IRQHandler,                          // 56 : Standard counter/timer CTIMER4
450     OS_EVENT_IRQHandler,                          // 57 : OS event timer
451     FLEXSPI_IRQHandler,                          // 58 : FLEXSPI interface
452     Reserved59_IRQHandler,                        // 59 : Reserved interrupt
453     Reserved60_IRQHandler,                        // 60 : Reserved interrupt
454     Reserved61_IRQHandler,                        // 61 : Reserved interrupt
455     SDU_IRQHandler,                          // 62 : SDIO
456     SGPIO_INTA_IRQHandler,                        // 63 : Secure GPIO interrupt A
457     SGPIO_INTB_IRQHandler,                        // 64 : Secure GPIO interrupt B
458     Reserved65_IRQHandler,                        // 65 : Reserved interrupt
459     USB_IRQHandler,                          // 66 : High-speed USB device/host
460     Reserved67_IRQHandler,                        // 67 : Reserved interrupt
461     Reserved68_IRQHandler,                        // 68 : Reserved interrupt
462     Reserved69_IRQHandler,                        // 69 : Reserved interrupt
463     DMA1_IRQHandler,                          // 70 : DMA controller 1 (non-secure or HiFi 4 DMA)
464     PUF_IRQHandler,                          // 71 : Physical Unclonable Function
465     POWERQUAD_IRQHandler,                         // 72 : PowerQuad math coprocessor
466     Reserved73_IRQHandler,                        // 73 : Reserved interrupt
467     Reserved74_IRQHandler,                        // 74 : Reserved interrupt
468     Reserved75_IRQHandler,                        // 75 : Reserved interrupt
469     Reserved76_IRQHandler,                        // 76 : Reserved interrupt
470     LCDIC_IRQHandler,                          // 77 : LCDIC
471     CAPT_PULSE_IRQHandler,                        // 78 : Capture timer
472     Reserved79_IRQHandler,                        // 79 : Reserved interrupt
473     WL_MCI_WAKEUP_DONE0_IRQHandler,               // 80 : WL to MCI, Wakeup done 0
474     WL_MCI_WAKEUP_DONE1_IRQHandler,               // 81 : WL to MCI, Wakeup done 1
475     WL_MCI_WAKEUP_DONE2_IRQHandler,               // 82 : WL to MCI, Wakeup done 2
476     WL_MCI_WAKEUP_DONE3_IRQHandler,               // 83 : WL to MCI, Wakeup done 3
477     WL_MCI_WAKEUP_DONE4_IRQHandler,               // 84 : WL to MCI, Wakeup done 4
478     WL_MCI_WAKEUP_DONE5_IRQHandler,               // 85 : WL to MCI, Wakeup done 5
479     WL_MCI_WAKEUP_DONE6_IRQHandler,               // 86 : WL to MCI, Wakeup done 6
480     WL_MCI_WAKEUP_DONE7_IRQHandler,               // 87 : WL to MCI, Wakeup done 7
481     WL_MCI_WAKEUP0_IRQHandler,                    // 88 : IMU_INT0: Cpu1_to_cpu3_msg_rdy_imu wl_mci_wakeup[0]
482     WL_MCI_WAKEUP1_IRQHandler,                    // 89 : GP_INT from WL
483     WL_MCI_INT0_IRQHandler,                       // 90 : IMU_INT: Imu13_cpu3_msg_space_avail
484     WL_MCI_INT1_IRQHandler,                       // 91 : reserved
485     WL_MCI_INT2_IRQHandler,                       // 92 : reserved
486     WL_MCI_INT3_IRQHandler,                       // 93 : reserved
487     WL_MCI_INT4_IRQHandler,                       // 94 : reserved
488     WL_MCI_INT5_IRQHandler,                       // 95 : reserved
489     WL_MCI_INT6_IRQHandler,                       // 96 : reserved
490     WL_MCI_INT7_IRQHandler,                       // 97 : reserved
491     BLE_MCI_WAKEUP_DONE0_IRQHandler,              // 98 : BLE to MCI, Wakeup done 0
492     BLE_MCI_WAKEUP_DONE1_IRQHandler,              // 99 : BLE to MCI, Wakeup done 1
493     BLE_MCI_WAKEUP_DONE2_IRQHandler,              // 100: BLE to MCI, Wakeup done 2
494     BLE_MCI_WAKEUP_DONE3_IRQHandler,              // 101: BLE to MCI, Wakeup done 3
495     BLE_MCI_WAKEUP_DONE4_IRQHandler,              // 102: BLE to MCI, Wakeup done 4
496     BLE_MCI_WAKEUP_DONE5_IRQHandler,              // 103: BLE to MCI, Wakeup done 5
497     BLE_MCI_WAKEUP_DONE6_IRQHandler,              // 104: BLE to MCI, Wakeup done 6
498     BLE_MCI_WAKEUP_DONE7_IRQHandler,              // 105: BLE to MCI, Wakeup done 7
499     BLE_MCI_WAKEUP0_IRQHandler,                   // 106: IMU_INT0: Cpu2_to_cpu3_msg_rdy_imu wl_mci_wakeup[0]
500     BLE_MCI_WAKEUP1_IRQHandler,                   // 107: GP_INT from BLE
501     BLE_MCI_INT0_IRQHandler,                      // 108: IMU_INT: Imu13_cpu3_msg_space_avail
502     BLE_MCI_INT1_IRQHandler,                      // 109: reserved
503     BLE_MCI_INT2_IRQHandler,                      // 110: reserved
504     BLE_MCI_INT3_IRQHandler,                      // 111: reserved
505     BLE_MCI_INT4_IRQHandler,                      // 112: reserved
506     BLE_MCI_INT5_IRQHandler,                      // 113: reserved
507     BLE_MCI_INT6_IRQHandler,                      // 114: reserved
508     BLE_MCI_INT7_IRQHandler,                      // 115: reserved
509     PIN0_INT_IRQHandler,                          // 116: From AON GPIO
510     PIN1_INT_IRQHandler,                          // 117: From AON GPIO
511     ELS_IRQHandler,                          // 118: ELS
512     ELS_GDET_IRQ_IRQHandler,                      // 119: ELS IRQ line for GDET error
513     ELS_GDET_ERR_IRQHandler,                      // 120: ELS Ungated latched error
514     PKC_IRQHandler,                          // 121: PKC interrupt
515     PKC_ERR_IRQHandler,                          // 122: PKC error
516     CDOG_IRQHandler,                          // 123: Code watch dog timmer
517     GAU_GPDAC_INT_FUNC11_IRQHandler,              // 124: GAU
518     GAU_ACOMP_INT_WKUP11_IRQHandler,              // 125: GAU
519     GAU_ACOMP_INT_FUNC11_IRQHandler,              // 126: GAU
520     GAU_GPADC1_INT_FUNC11_IRQHandler,             // 127: GAU
521     GAU_GPADC0_INT_FUNC11_IRQHandler,             // 128: GAU
522     USIM_IRQHandler,                          // 129: USIM
523     OCOTP_IRQHandler,                          // 130: OTP
524     ENET_IRQHandler,                          // 131: ENET
525     ENET_TIMER_IRQHandler,                        // 132: ENET
526     BOD_1_85_INT_IRQHandler,                      // 133: PMIP
527     BOD_1_85_NEG_IRQHandler,                      // 134: Bod_1_85_int negedge
528     ITRC_IRQHandler,                          // 135: ITRC
529     BTU_HOST_TRIGGER0_IRQHandler,                 // 136: Btu host trigger0
530     BTU_HOST_TRIGGER1_IRQHandler,                 // 137: Btu host trigger1
531     BTU_HOST_TRIGGER2_IRQHandler,                 // 138: Btu host trigger2
532     TRNG_IRQHandler,                          // 139: TRNG
533     AHB_MEM_ACC_CHECKER_VIO_INT_C_OR_IRQHandler,  // 140: ahb memory access checker - CM33 code bus
534     AHB_MEM_ACC_CHECKER_VIO_INT_S_OR_IRQHandler,  // 141: ahb memory access checker - CM33 sys bus
535     WL_ACC_INT_IRQHandler,                        // 142: Cpu access wlan when wlan is powered off
536     BLE_ACC_INT_IRQHandler,                       // 143: Cpu access wlan when ble is powered off
537     GDMA_IRQHandler,                          // 144: GDMA
538 }; /* End of g_pfnVectors */
539 
540 #if defined(ENABLE_RAM_VECTOR_TABLE)
541 extern void * __VECTOR_TABLE __attribute__ ((alias ("g_pfnVectors")));
542 void (* __VECTOR_RAM[sizeof(g_pfnVectors) / 4])(void) __attribute__((aligned(128)));
543 unsigned int __RAM_VECTOR_TABLE_SIZE_BYTES = sizeof(g_pfnVectors);
544 #endif
545 
546 //*****************************************************************************
547 // Functions to carry out the initialization of RW and BSS data sections. These
548 // are written as separate functions rather than being inlined within the
549 // ResetISR() function in order to cope with MCUs with multiple banks of
550 // memory.
551 //*****************************************************************************
552 __attribute__ ((section(".after_vectors.init_data")))
data_init(unsigned int romstart,unsigned int start,unsigned int len)553 void data_init(unsigned int romstart, unsigned int start, unsigned int len) {
554     unsigned int *pulDest = (unsigned int*) start;
555     unsigned int *pulSrc = (unsigned int*) romstart;
556     unsigned int loop;
557     for (loop = 0; loop < len; loop = loop + 4)
558         *pulDest++ = *pulSrc++;
559 }
560 
561 __attribute__ ((section(".after_vectors.init_bss")))
bss_init(unsigned int start,unsigned int len)562 void bss_init(unsigned int start, unsigned int len) {
563     unsigned int *pulDest = (unsigned int*) start;
564     unsigned int loop;
565     for (loop = 0; loop < len; loop = loop + 4)
566         *pulDest++ = 0;
567 }
568 
569 //*****************************************************************************
570 // The following symbols are constructs generated by the linker, indicating
571 // the location of various points in the "Global Section Table". This table is
572 // created by the linker via the Code Red managed linker script mechanism. It
573 // contains the load address, execution address and length of each RW data
574 // section and the execution and length of each BSS (zero initialized) section.
575 //*****************************************************************************
576 extern unsigned int __data_section_table;
577 extern unsigned int __data_section_table_end;
578 extern unsigned int __bss_section_table;
579 extern unsigned int __bss_section_table_end;
580 
581 //*****************************************************************************
582 // Reset entry point for your code.
583 // Sets up a simple runtime environment and initializes the C/C++
584 // library.
585 //*****************************************************************************
586 __attribute__ ((naked, section(".after_vectors.reset")))
ResetISR(void)587 void ResetISR(void) {
588     // Disable interrupts
589     __asm volatile ("cpsid i");
590     // Config VTOR & MSPLIM register
591     __asm volatile ("LDR R0, =0xE000ED08  \n"
592                     "STR %0, [R0]         \n"
593                     "LDR R1, [%0]         \n"
594                     "MSR MSP, R1          \n"
595                     "MSR MSPLIM, %1       \n"
596                     :
597                     : "r"(g_pfnVectors), "r"(_vStackBase)
598                     : "r0", "r1");
599 
600 #if defined (__USE_CMSIS)
601 // If __USE_CMSIS defined, then call CMSIS SystemInit code
602     SystemInit();
603 
604 #endif // (__USE_CMSIS)
605 
606     //
607     // Copy the data sections from flash to SRAM.
608     //
609     unsigned int LoadAddr, ExeAddr, SectionLen;
610     unsigned int *SectionTableAddr;
611 
612     // Load base address of Global Section Table
613     SectionTableAddr = &__data_section_table;
614 
615     // Copy the data sections from flash to SRAM.
616     while (SectionTableAddr < &__data_section_table_end) {
617         LoadAddr = *SectionTableAddr++;
618         ExeAddr = *SectionTableAddr++;
619         SectionLen = *SectionTableAddr++;
620         data_init(LoadAddr, ExeAddr, SectionLen);
621     }
622 
623     // At this point, SectionTableAddr = &__bss_section_table;
624     // Zero fill the bss segment
625     while (SectionTableAddr < &__bss_section_table_end) {
626         ExeAddr = *SectionTableAddr++;
627         SectionLen = *SectionTableAddr++;
628         bss_init(ExeAddr, SectionLen);
629     }
630 
631 #if defined (__cplusplus)
632     //
633     // Call C++ library initialisation
634     //
635     __libc_init_array();
636 #endif
637 
638     // Reenable interrupts
639     __asm volatile ("cpsie i");
640 
641 #if defined (__REDLIB__)
642     // Call the Redlib library, which in turn calls main()
643     __main();
644 #else
645     main();
646 #endif
647 
648     //
649     // main() shouldn't return, but if it does, we'll just enter an infinite loop
650     //
651     while (1) {
652         ;
653     }
654 }
655 
656 //*****************************************************************************
657 // Default core exception handlers. Override the ones here by defining your own
658 // handler routines in your application code.
659 //*****************************************************************************
NMI_Handler(void)660 WEAK_AV void NMI_Handler(void)
661 { while(1) {}
662 }
663 
HardFault_Handler(void)664 WEAK_AV void HardFault_Handler(void)
665 { while(1) {}
666 }
667 
MemManage_Handler(void)668 WEAK_AV void MemManage_Handler(void)
669 { while(1) {}
670 }
671 
BusFault_Handler(void)672 WEAK_AV void BusFault_Handler(void)
673 { while(1) {}
674 }
675 
UsageFault_Handler(void)676 WEAK_AV void UsageFault_Handler(void)
677 { while(1) {}
678 }
679 
SecureFault_Handler(void)680 WEAK_AV void SecureFault_Handler(void)
681 { while(1) {}
682 }
683 
SVC_Handler(void)684 WEAK_AV void SVC_Handler(void)
685 { while(1) {}
686 }
687 
DebugMon_Handler(void)688 WEAK_AV void DebugMon_Handler(void)
689 { while(1) {}
690 }
691 
PendSV_Handler(void)692 WEAK_AV void PendSV_Handler(void)
693 { while(1) {}
694 }
695 
SysTick_Handler(void)696 WEAK_AV void SysTick_Handler(void)
697 { while(1) {}
698 }
699 
700 //*****************************************************************************
701 // Processor ends up here if an unexpected interrupt occurs or a specific
702 // handler is not present in the application code.
703 //*****************************************************************************
IntDefaultHandler(void)704 WEAK_AV void IntDefaultHandler(void)
705 { while(1) {}
706 }
707 
708 //*****************************************************************************
709 // Default application exception handlers. Override the ones here by defining
710 // your own handler routines in your application code. These routines call
711 // driver exception handlers or IntDefaultHandler() if no driver exception
712 // handler is included.
713 //*****************************************************************************
WDT0_IRQHandler(void)714 WEAK void WDT0_IRQHandler(void)
715 {   WDT0_DriverIRQHandler();
716 }
717 
DMA0_IRQHandler(void)718 WEAK void DMA0_IRQHandler(void)
719 {   DMA0_DriverIRQHandler();
720 }
721 
GPIO_INTA_IRQHandler(void)722 WEAK void GPIO_INTA_IRQHandler(void)
723 {   GPIO_INTA_DriverIRQHandler();
724 }
725 
GPIO_INTB_IRQHandler(void)726 WEAK void GPIO_INTB_IRQHandler(void)
727 {   GPIO_INTB_DriverIRQHandler();
728 }
729 
PIN_INT0_IRQHandler(void)730 WEAK void PIN_INT0_IRQHandler(void)
731 {   PIN_INT0_DriverIRQHandler();
732 }
733 
PIN_INT1_IRQHandler(void)734 WEAK void PIN_INT1_IRQHandler(void)
735 {   PIN_INT1_DriverIRQHandler();
736 }
737 
PIN_INT2_IRQHandler(void)738 WEAK void PIN_INT2_IRQHandler(void)
739 {   PIN_INT2_DriverIRQHandler();
740 }
741 
PIN_INT3_IRQHandler(void)742 WEAK void PIN_INT3_IRQHandler(void)
743 {   PIN_INT3_DriverIRQHandler();
744 }
745 
UTICK_IRQHandler(void)746 WEAK void UTICK_IRQHandler(void)
747 {   UTICK_DriverIRQHandler();
748 }
749 
MRT0_IRQHandler(void)750 WEAK void MRT0_IRQHandler(void)
751 {   MRT0_DriverIRQHandler();
752 }
753 
CTIMER0_IRQHandler(void)754 WEAK void CTIMER0_IRQHandler(void)
755 {   CTIMER0_DriverIRQHandler();
756 }
757 
CTIMER1_IRQHandler(void)758 WEAK void CTIMER1_IRQHandler(void)
759 {   CTIMER1_DriverIRQHandler();
760 }
761 
SCT0_IRQHandler(void)762 WEAK void SCT0_IRQHandler(void)
763 {   SCT0_DriverIRQHandler();
764 }
765 
CTIMER3_IRQHandler(void)766 WEAK void CTIMER3_IRQHandler(void)
767 {   CTIMER3_DriverIRQHandler();
768 }
769 
FLEXCOMM0_IRQHandler(void)770 WEAK void FLEXCOMM0_IRQHandler(void)
771 {   FLEXCOMM0_DriverIRQHandler();
772 }
773 
FLEXCOMM1_IRQHandler(void)774 WEAK void FLEXCOMM1_IRQHandler(void)
775 {   FLEXCOMM1_DriverIRQHandler();
776 }
777 
FLEXCOMM2_IRQHandler(void)778 WEAK void FLEXCOMM2_IRQHandler(void)
779 {   FLEXCOMM2_DriverIRQHandler();
780 }
781 
FLEXCOMM3_IRQHandler(void)782 WEAK void FLEXCOMM3_IRQHandler(void)
783 {   FLEXCOMM3_DriverIRQHandler();
784 }
785 
Reserved34_IRQHandler(void)786 WEAK void Reserved34_IRQHandler(void)
787 {   Reserved34_DriverIRQHandler();
788 }
789 
Reserved35_IRQHandler(void)790 WEAK void Reserved35_IRQHandler(void)
791 {   Reserved35_DriverIRQHandler();
792 }
793 
FLEXCOMM14_IRQHandler(void)794 WEAK void FLEXCOMM14_IRQHandler(void)
795 {   FLEXCOMM14_DriverIRQHandler();
796 }
797 
Reserved37_IRQHandler(void)798 WEAK void Reserved37_IRQHandler(void)
799 {   Reserved37_DriverIRQHandler();
800 }
801 
Reserved38_IRQHandler(void)802 WEAK void Reserved38_IRQHandler(void)
803 {   Reserved38_DriverIRQHandler();
804 }
805 
MRT1_IRQHandler(void)806 WEAK void MRT1_IRQHandler(void)
807 {   MRT1_DriverIRQHandler();
808 }
809 
Reserved40_IRQHandler(void)810 WEAK void Reserved40_IRQHandler(void)
811 {   Reserved40_DriverIRQHandler();
812 }
813 
DMIC0_IRQHandler(void)814 WEAK void DMIC0_IRQHandler(void)
815 {   DMIC0_DriverIRQHandler();
816 }
817 
WFD_IRQHandler(void)818 WEAK void WFD_IRQHandler(void)
819 {   WFD_DriverIRQHandler();
820 }
821 
HYPERVISOR_IRQHandler(void)822 WEAK void HYPERVISOR_IRQHandler(void)
823 {   HYPERVISOR_DriverIRQHandler();
824 }
825 
SECUREVIOLATION_IRQHandler(void)826 WEAK void SECUREVIOLATION_IRQHandler(void)
827 {   SECUREVIOLATION_DriverIRQHandler();
828 }
829 
HWVAD0_IRQHandler(void)830 WEAK void HWVAD0_IRQHandler(void)
831 {   HWVAD0_DriverIRQHandler();
832 }
833 
Reserved46_IRQHandler(void)834 WEAK void Reserved46_IRQHandler(void)
835 {   Reserved46_DriverIRQHandler();
836 }
837 
Reserved47_IRQHandler(void)838 WEAK void Reserved47_IRQHandler(void)
839 {   Reserved47_DriverIRQHandler();
840 }
841 
RTC_IRQHandler(void)842 WEAK void RTC_IRQHandler(void)
843 {   RTC_DriverIRQHandler();
844 }
845 
Reserved49_IRQHandler(void)846 WEAK void Reserved49_IRQHandler(void)
847 {   Reserved49_DriverIRQHandler();
848 }
849 
Reserved50_IRQHandler(void)850 WEAK void Reserved50_IRQHandler(void)
851 {   Reserved50_DriverIRQHandler();
852 }
853 
PIN_INT4_IRQHandler(void)854 WEAK void PIN_INT4_IRQHandler(void)
855 {   PIN_INT4_DriverIRQHandler();
856 }
857 
PIN_INT5_IRQHandler(void)858 WEAK void PIN_INT5_IRQHandler(void)
859 {   PIN_INT5_DriverIRQHandler();
860 }
861 
PIN_INT6_IRQHandler(void)862 WEAK void PIN_INT6_IRQHandler(void)
863 {   PIN_INT6_DriverIRQHandler();
864 }
865 
PIN_INT7_IRQHandler(void)866 WEAK void PIN_INT7_IRQHandler(void)
867 {   PIN_INT7_DriverIRQHandler();
868 }
869 
CTIMER2_IRQHandler(void)870 WEAK void CTIMER2_IRQHandler(void)
871 {   CTIMER2_DriverIRQHandler();
872 }
873 
CTIMER4_IRQHandler(void)874 WEAK void CTIMER4_IRQHandler(void)
875 {   CTIMER4_DriverIRQHandler();
876 }
877 
OS_EVENT_IRQHandler(void)878 WEAK void OS_EVENT_IRQHandler(void)
879 {   OS_EVENT_DriverIRQHandler();
880 }
881 
FLEXSPI_IRQHandler(void)882 WEAK void FLEXSPI_IRQHandler(void)
883 {   FLEXSPI_DriverIRQHandler();
884 }
885 
Reserved59_IRQHandler(void)886 WEAK void Reserved59_IRQHandler(void)
887 {   Reserved59_DriverIRQHandler();
888 }
889 
Reserved60_IRQHandler(void)890 WEAK void Reserved60_IRQHandler(void)
891 {   Reserved60_DriverIRQHandler();
892 }
893 
Reserved61_IRQHandler(void)894 WEAK void Reserved61_IRQHandler(void)
895 {   Reserved61_DriverIRQHandler();
896 }
897 
SDU_IRQHandler(void)898 WEAK void SDU_IRQHandler(void)
899 {   SDU_DriverIRQHandler();
900 }
901 
SGPIO_INTA_IRQHandler(void)902 WEAK void SGPIO_INTA_IRQHandler(void)
903 {   SGPIO_INTA_DriverIRQHandler();
904 }
905 
SGPIO_INTB_IRQHandler(void)906 WEAK void SGPIO_INTB_IRQHandler(void)
907 {   SGPIO_INTB_DriverIRQHandler();
908 }
909 
Reserved65_IRQHandler(void)910 WEAK void Reserved65_IRQHandler(void)
911 {   Reserved65_DriverIRQHandler();
912 }
913 
USB_IRQHandler(void)914 WEAK void USB_IRQHandler(void)
915 {   USB_DriverIRQHandler();
916 }
917 
Reserved67_IRQHandler(void)918 WEAK void Reserved67_IRQHandler(void)
919 {   Reserved67_DriverIRQHandler();
920 }
921 
Reserved68_IRQHandler(void)922 WEAK void Reserved68_IRQHandler(void)
923 {   Reserved68_DriverIRQHandler();
924 }
925 
Reserved69_IRQHandler(void)926 WEAK void Reserved69_IRQHandler(void)
927 {   Reserved69_DriverIRQHandler();
928 }
929 
DMA1_IRQHandler(void)930 WEAK void DMA1_IRQHandler(void)
931 {   DMA1_DriverIRQHandler();
932 }
933 
PUF_IRQHandler(void)934 WEAK void PUF_IRQHandler(void)
935 {   PUF_DriverIRQHandler();
936 }
937 
POWERQUAD_IRQHandler(void)938 WEAK void POWERQUAD_IRQHandler(void)
939 {   POWERQUAD_DriverIRQHandler();
940 }
941 
Reserved73_IRQHandler(void)942 WEAK void Reserved73_IRQHandler(void)
943 {   Reserved73_DriverIRQHandler();
944 }
945 
Reserved74_IRQHandler(void)946 WEAK void Reserved74_IRQHandler(void)
947 {   Reserved74_DriverIRQHandler();
948 }
949 
Reserved75_IRQHandler(void)950 WEAK void Reserved75_IRQHandler(void)
951 {   Reserved75_DriverIRQHandler();
952 }
953 
Reserved76_IRQHandler(void)954 WEAK void Reserved76_IRQHandler(void)
955 {   Reserved76_DriverIRQHandler();
956 }
957 
LCDIC_IRQHandler(void)958 WEAK void LCDIC_IRQHandler(void)
959 {   LCDIC_DriverIRQHandler();
960 }
961 
CAPT_PULSE_IRQHandler(void)962 WEAK void CAPT_PULSE_IRQHandler(void)
963 {   CAPT_PULSE_DriverIRQHandler();
964 }
965 
Reserved79_IRQHandler(void)966 WEAK void Reserved79_IRQHandler(void)
967 {   Reserved79_DriverIRQHandler();
968 }
969 
WL_MCI_WAKEUP_DONE0_IRQHandler(void)970 WEAK void WL_MCI_WAKEUP_DONE0_IRQHandler(void)
971 {   WL_MCI_WAKEUP_DONE0_DriverIRQHandler();
972 }
973 
WL_MCI_WAKEUP_DONE1_IRQHandler(void)974 WEAK void WL_MCI_WAKEUP_DONE1_IRQHandler(void)
975 {   WL_MCI_WAKEUP_DONE1_DriverIRQHandler();
976 }
977 
WL_MCI_WAKEUP_DONE2_IRQHandler(void)978 WEAK void WL_MCI_WAKEUP_DONE2_IRQHandler(void)
979 {   WL_MCI_WAKEUP_DONE2_DriverIRQHandler();
980 }
981 
WL_MCI_WAKEUP_DONE3_IRQHandler(void)982 WEAK void WL_MCI_WAKEUP_DONE3_IRQHandler(void)
983 {   WL_MCI_WAKEUP_DONE3_DriverIRQHandler();
984 }
985 
WL_MCI_WAKEUP_DONE4_IRQHandler(void)986 WEAK void WL_MCI_WAKEUP_DONE4_IRQHandler(void)
987 {   WL_MCI_WAKEUP_DONE4_DriverIRQHandler();
988 }
989 
WL_MCI_WAKEUP_DONE5_IRQHandler(void)990 WEAK void WL_MCI_WAKEUP_DONE5_IRQHandler(void)
991 {   WL_MCI_WAKEUP_DONE5_DriverIRQHandler();
992 }
993 
WL_MCI_WAKEUP_DONE6_IRQHandler(void)994 WEAK void WL_MCI_WAKEUP_DONE6_IRQHandler(void)
995 {   WL_MCI_WAKEUP_DONE6_DriverIRQHandler();
996 }
997 
WL_MCI_WAKEUP_DONE7_IRQHandler(void)998 WEAK void WL_MCI_WAKEUP_DONE7_IRQHandler(void)
999 {   WL_MCI_WAKEUP_DONE7_DriverIRQHandler();
1000 }
1001 
WL_MCI_WAKEUP0_IRQHandler(void)1002 WEAK void WL_MCI_WAKEUP0_IRQHandler(void)
1003 {   WL_MCI_WAKEUP0_DriverIRQHandler();
1004 }
1005 
WL_MCI_WAKEUP1_IRQHandler(void)1006 WEAK void WL_MCI_WAKEUP1_IRQHandler(void)
1007 {   WL_MCI_WAKEUP1_DriverIRQHandler();
1008 }
1009 
WL_MCI_INT0_IRQHandler(void)1010 WEAK void WL_MCI_INT0_IRQHandler(void)
1011 {   WL_MCI_INT0_DriverIRQHandler();
1012 }
1013 
WL_MCI_INT1_IRQHandler(void)1014 WEAK void WL_MCI_INT1_IRQHandler(void)
1015 {   WL_MCI_INT1_DriverIRQHandler();
1016 }
1017 
WL_MCI_INT2_IRQHandler(void)1018 WEAK void WL_MCI_INT2_IRQHandler(void)
1019 {   WL_MCI_INT2_DriverIRQHandler();
1020 }
1021 
WL_MCI_INT3_IRQHandler(void)1022 WEAK void WL_MCI_INT3_IRQHandler(void)
1023 {   WL_MCI_INT3_DriverIRQHandler();
1024 }
1025 
WL_MCI_INT4_IRQHandler(void)1026 WEAK void WL_MCI_INT4_IRQHandler(void)
1027 {   WL_MCI_INT4_DriverIRQHandler();
1028 }
1029 
WL_MCI_INT5_IRQHandler(void)1030 WEAK void WL_MCI_INT5_IRQHandler(void)
1031 {   WL_MCI_INT5_DriverIRQHandler();
1032 }
1033 
WL_MCI_INT6_IRQHandler(void)1034 WEAK void WL_MCI_INT6_IRQHandler(void)
1035 {   WL_MCI_INT6_DriverIRQHandler();
1036 }
1037 
WL_MCI_INT7_IRQHandler(void)1038 WEAK void WL_MCI_INT7_IRQHandler(void)
1039 {   WL_MCI_INT7_DriverIRQHandler();
1040 }
1041 
BLE_MCI_WAKEUP_DONE0_IRQHandler(void)1042 WEAK void BLE_MCI_WAKEUP_DONE0_IRQHandler(void)
1043 {   BLE_MCI_WAKEUP_DONE0_DriverIRQHandler();
1044 }
1045 
BLE_MCI_WAKEUP_DONE1_IRQHandler(void)1046 WEAK void BLE_MCI_WAKEUP_DONE1_IRQHandler(void)
1047 {   BLE_MCI_WAKEUP_DONE1_DriverIRQHandler();
1048 }
1049 
BLE_MCI_WAKEUP_DONE2_IRQHandler(void)1050 WEAK void BLE_MCI_WAKEUP_DONE2_IRQHandler(void)
1051 {   BLE_MCI_WAKEUP_DONE2_DriverIRQHandler();
1052 }
1053 
BLE_MCI_WAKEUP_DONE3_IRQHandler(void)1054 WEAK void BLE_MCI_WAKEUP_DONE3_IRQHandler(void)
1055 {   BLE_MCI_WAKEUP_DONE3_DriverIRQHandler();
1056 }
1057 
BLE_MCI_WAKEUP_DONE4_IRQHandler(void)1058 WEAK void BLE_MCI_WAKEUP_DONE4_IRQHandler(void)
1059 {   BLE_MCI_WAKEUP_DONE4_DriverIRQHandler();
1060 }
1061 
BLE_MCI_WAKEUP_DONE5_IRQHandler(void)1062 WEAK void BLE_MCI_WAKEUP_DONE5_IRQHandler(void)
1063 {   BLE_MCI_WAKEUP_DONE5_DriverIRQHandler();
1064 }
1065 
BLE_MCI_WAKEUP_DONE6_IRQHandler(void)1066 WEAK void BLE_MCI_WAKEUP_DONE6_IRQHandler(void)
1067 {   BLE_MCI_WAKEUP_DONE6_DriverIRQHandler();
1068 }
1069 
BLE_MCI_WAKEUP_DONE7_IRQHandler(void)1070 WEAK void BLE_MCI_WAKEUP_DONE7_IRQHandler(void)
1071 {   BLE_MCI_WAKEUP_DONE7_DriverIRQHandler();
1072 }
1073 
BLE_MCI_WAKEUP0_IRQHandler(void)1074 WEAK void BLE_MCI_WAKEUP0_IRQHandler(void)
1075 {   BLE_MCI_WAKEUP0_DriverIRQHandler();
1076 }
1077 
BLE_MCI_WAKEUP1_IRQHandler(void)1078 WEAK void BLE_MCI_WAKEUP1_IRQHandler(void)
1079 {   BLE_MCI_WAKEUP1_DriverIRQHandler();
1080 }
1081 
BLE_MCI_INT0_IRQHandler(void)1082 WEAK void BLE_MCI_INT0_IRQHandler(void)
1083 {   BLE_MCI_INT0_DriverIRQHandler();
1084 }
1085 
BLE_MCI_INT1_IRQHandler(void)1086 WEAK void BLE_MCI_INT1_IRQHandler(void)
1087 {   BLE_MCI_INT1_DriverIRQHandler();
1088 }
1089 
BLE_MCI_INT2_IRQHandler(void)1090 WEAK void BLE_MCI_INT2_IRQHandler(void)
1091 {   BLE_MCI_INT2_DriverIRQHandler();
1092 }
1093 
BLE_MCI_INT3_IRQHandler(void)1094 WEAK void BLE_MCI_INT3_IRQHandler(void)
1095 {   BLE_MCI_INT3_DriverIRQHandler();
1096 }
1097 
BLE_MCI_INT4_IRQHandler(void)1098 WEAK void BLE_MCI_INT4_IRQHandler(void)
1099 {   BLE_MCI_INT4_DriverIRQHandler();
1100 }
1101 
BLE_MCI_INT5_IRQHandler(void)1102 WEAK void BLE_MCI_INT5_IRQHandler(void)
1103 {   BLE_MCI_INT5_DriverIRQHandler();
1104 }
1105 
BLE_MCI_INT6_IRQHandler(void)1106 WEAK void BLE_MCI_INT6_IRQHandler(void)
1107 {   BLE_MCI_INT6_DriverIRQHandler();
1108 }
1109 
BLE_MCI_INT7_IRQHandler(void)1110 WEAK void BLE_MCI_INT7_IRQHandler(void)
1111 {   BLE_MCI_INT7_DriverIRQHandler();
1112 }
1113 
PIN0_INT_IRQHandler(void)1114 WEAK void PIN0_INT_IRQHandler(void)
1115 {   PIN0_INT_DriverIRQHandler();
1116 }
1117 
PIN1_INT_IRQHandler(void)1118 WEAK void PIN1_INT_IRQHandler(void)
1119 {   PIN1_INT_DriverIRQHandler();
1120 }
1121 
ELS_IRQHandler(void)1122 WEAK void ELS_IRQHandler(void)
1123 {   ELS_DriverIRQHandler();
1124 }
1125 
ELS_GDET_IRQ_IRQHandler(void)1126 WEAK void ELS_GDET_IRQ_IRQHandler(void)
1127 {   ELS_GDET_IRQ_DriverIRQHandler();
1128 }
1129 
ELS_GDET_ERR_IRQHandler(void)1130 WEAK void ELS_GDET_ERR_IRQHandler(void)
1131 {   ELS_GDET_ERR_DriverIRQHandler();
1132 }
1133 
PKC_IRQHandler(void)1134 WEAK void PKC_IRQHandler(void)
1135 {   PKC_DriverIRQHandler();
1136 }
1137 
PKC_ERR_IRQHandler(void)1138 WEAK void PKC_ERR_IRQHandler(void)
1139 {   PKC_ERR_DriverIRQHandler();
1140 }
1141 
CDOG_IRQHandler(void)1142 WEAK void CDOG_IRQHandler(void)
1143 {   CDOG_DriverIRQHandler();
1144 }
1145 
GAU_GPDAC_INT_FUNC11_IRQHandler(void)1146 WEAK void GAU_GPDAC_INT_FUNC11_IRQHandler(void)
1147 {   GAU_GPDAC_INT_FUNC11_DriverIRQHandler();
1148 }
1149 
GAU_ACOMP_INT_WKUP11_IRQHandler(void)1150 WEAK void GAU_ACOMP_INT_WKUP11_IRQHandler(void)
1151 {   GAU_ACOMP_INT_WKUP11_DriverIRQHandler();
1152 }
1153 
GAU_ACOMP_INT_FUNC11_IRQHandler(void)1154 WEAK void GAU_ACOMP_INT_FUNC11_IRQHandler(void)
1155 {   GAU_ACOMP_INT_FUNC11_DriverIRQHandler();
1156 }
1157 
GAU_GPADC1_INT_FUNC11_IRQHandler(void)1158 WEAK void GAU_GPADC1_INT_FUNC11_IRQHandler(void)
1159 {   GAU_GPADC1_INT_FUNC11_DriverIRQHandler();
1160 }
1161 
GAU_GPADC0_INT_FUNC11_IRQHandler(void)1162 WEAK void GAU_GPADC0_INT_FUNC11_IRQHandler(void)
1163 {   GAU_GPADC0_INT_FUNC11_DriverIRQHandler();
1164 }
1165 
USIM_IRQHandler(void)1166 WEAK void USIM_IRQHandler(void)
1167 {   USIM_DriverIRQHandler();
1168 }
1169 
OCOTP_IRQHandler(void)1170 WEAK void OCOTP_IRQHandler(void)
1171 {   OCOTP_DriverIRQHandler();
1172 }
1173 
ENET_IRQHandler(void)1174 WEAK void ENET_IRQHandler(void)
1175 {   ENET_DriverIRQHandler();
1176 }
1177 
ENET_TIMER_IRQHandler(void)1178 WEAK void ENET_TIMER_IRQHandler(void)
1179 {   ENET_TIMER_DriverIRQHandler();
1180 }
1181 
BOD_1_85_INT_IRQHandler(void)1182 WEAK void BOD_1_85_INT_IRQHandler(void)
1183 {   BOD_1_85_INT_DriverIRQHandler();
1184 }
1185 
BOD_1_85_NEG_IRQHandler(void)1186 WEAK void BOD_1_85_NEG_IRQHandler(void)
1187 {   BOD_1_85_NEG_DriverIRQHandler();
1188 }
1189 
ITRC_IRQHandler(void)1190 WEAK void ITRC_IRQHandler(void)
1191 {   ITRC_DriverIRQHandler();
1192 }
1193 
BTU_HOST_TRIGGER0_IRQHandler(void)1194 WEAK void BTU_HOST_TRIGGER0_IRQHandler(void)
1195 {   BTU_HOST_TRIGGER0_DriverIRQHandler();
1196 }
1197 
BTU_HOST_TRIGGER1_IRQHandler(void)1198 WEAK void BTU_HOST_TRIGGER1_IRQHandler(void)
1199 {   BTU_HOST_TRIGGER1_DriverIRQHandler();
1200 }
1201 
BTU_HOST_TRIGGER2_IRQHandler(void)1202 WEAK void BTU_HOST_TRIGGER2_IRQHandler(void)
1203 {   BTU_HOST_TRIGGER2_DriverIRQHandler();
1204 }
1205 
TRNG_IRQHandler(void)1206 WEAK void TRNG_IRQHandler(void)
1207 {   TRNG_DriverIRQHandler();
1208 }
1209 
AHB_MEM_ACC_CHECKER_VIO_INT_C_OR_IRQHandler(void)1210 WEAK void AHB_MEM_ACC_CHECKER_VIO_INT_C_OR_IRQHandler(void)
1211 {   AHB_MEM_ACC_CHECKER_VIO_INT_C_OR_DriverIRQHandler();
1212 }
1213 
AHB_MEM_ACC_CHECKER_VIO_INT_S_OR_IRQHandler(void)1214 WEAK void AHB_MEM_ACC_CHECKER_VIO_INT_S_OR_IRQHandler(void)
1215 {   AHB_MEM_ACC_CHECKER_VIO_INT_S_OR_DriverIRQHandler();
1216 }
1217 
WL_ACC_INT_IRQHandler(void)1218 WEAK void WL_ACC_INT_IRQHandler(void)
1219 {   WL_ACC_INT_DriverIRQHandler();
1220 }
1221 
BLE_ACC_INT_IRQHandler(void)1222 WEAK void BLE_ACC_INT_IRQHandler(void)
1223 {   BLE_ACC_INT_DriverIRQHandler();
1224 }
1225 
GDMA_IRQHandler(void)1226 WEAK void GDMA_IRQHandler(void)
1227 {   GDMA_DriverIRQHandler();
1228 }
1229 
1230 //*****************************************************************************
1231 
1232 #if defined (DEBUG)
1233 #pragma GCC pop_options
1234 #endif // (DEBUG)
1235