1 //*****************************************************************************
2 // RW610 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 - RW610
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 //*****************************************************************************
541 // Functions to carry out the initialization of RW and BSS data sections. These
542 // are written as separate functions rather than being inlined within the
543 // ResetISR() function in order to cope with MCUs with multiple banks of
544 // memory.
545 //*****************************************************************************
546 __attribute__ ((section(".after_vectors.init_data")))
data_init(unsigned int romstart,unsigned int start,unsigned int len)547 void data_init(unsigned int romstart, unsigned int start, unsigned int len) {
548 unsigned int *pulDest = (unsigned int*) start;
549 unsigned int *pulSrc = (unsigned int*) romstart;
550 unsigned int loop;
551 for (loop = 0; loop < len; loop = loop + 4)
552 *pulDest++ = *pulSrc++;
553 }
554
555 __attribute__ ((section(".after_vectors.init_bss")))
bss_init(unsigned int start,unsigned int len)556 void bss_init(unsigned int start, unsigned int len) {
557 unsigned int *pulDest = (unsigned int*) start;
558 unsigned int loop;
559 for (loop = 0; loop < len; loop = loop + 4)
560 *pulDest++ = 0;
561 }
562
563 //*****************************************************************************
564 // The following symbols are constructs generated by the linker, indicating
565 // the location of various points in the "Global Section Table". This table is
566 // created by the linker via the Code Red managed linker script mechanism. It
567 // contains the load address, execution address and length of each RW data
568 // section and the execution and length of each BSS (zero initialized) section.
569 //*****************************************************************************
570 extern unsigned int __data_section_table;
571 extern unsigned int __data_section_table_end;
572 extern unsigned int __bss_section_table;
573 extern unsigned int __bss_section_table_end;
574
575 //*****************************************************************************
576 // Reset entry point for your code.
577 // Sets up a simple runtime environment and initializes the C/C++
578 // library.
579 //*****************************************************************************
580 __attribute__ ((naked, section(".after_vectors.reset")))
ResetISR(void)581 void ResetISR(void) {
582 // Disable interrupts
583 __asm volatile ("cpsid i");
584 // Config VTOR & MSPLIM register
585 __asm volatile ("LDR R0, =0xE000ED08 \n"
586 "STR %0, [R0] \n"
587 "LDR R1, [%0] \n"
588 "MSR MSP, R1 \n"
589 "MSR MSPLIM, %1 \n"
590 :
591 : "r"(g_pfnVectors), "r"(_vStackBase)
592 : "r0", "r1");
593
594 #if defined (__USE_CMSIS)
595 // If __USE_CMSIS defined, then call CMSIS SystemInit code
596 SystemInit();
597
598 #endif // (__USE_CMSIS)
599
600 //
601 // Copy the data sections from flash to SRAM.
602 //
603 unsigned int LoadAddr, ExeAddr, SectionLen;
604 unsigned int *SectionTableAddr;
605
606 // Load base address of Global Section Table
607 SectionTableAddr = &__data_section_table;
608
609 // Copy the data sections from flash to SRAM.
610 while (SectionTableAddr < &__data_section_table_end) {
611 LoadAddr = *SectionTableAddr++;
612 ExeAddr = *SectionTableAddr++;
613 SectionLen = *SectionTableAddr++;
614 data_init(LoadAddr, ExeAddr, SectionLen);
615 }
616
617 // At this point, SectionTableAddr = &__bss_section_table;
618 // Zero fill the bss segment
619 while (SectionTableAddr < &__bss_section_table_end) {
620 ExeAddr = *SectionTableAddr++;
621 SectionLen = *SectionTableAddr++;
622 bss_init(ExeAddr, SectionLen);
623 }
624
625 #if defined (__cplusplus)
626 //
627 // Call C++ library initialisation
628 //
629 __libc_init_array();
630 #endif
631
632 // Reenable interrupts
633 __asm volatile ("cpsie i");
634
635 #if defined (__REDLIB__)
636 // Call the Redlib library, which in turn calls main()
637 __main();
638 #else
639 main();
640 #endif
641
642 //
643 // main() shouldn't return, but if it does, we'll just enter an infinite loop
644 //
645 while (1) {
646 ;
647 }
648 }
649
650 //*****************************************************************************
651 // Default core exception handlers. Override the ones here by defining your own
652 // handler routines in your application code.
653 //*****************************************************************************
NMI_Handler(void)654 WEAK_AV void NMI_Handler(void)
655 { while(1) {}
656 }
657
HardFault_Handler(void)658 WEAK_AV void HardFault_Handler(void)
659 { while(1) {}
660 }
661
MemManage_Handler(void)662 WEAK_AV void MemManage_Handler(void)
663 { while(1) {}
664 }
665
BusFault_Handler(void)666 WEAK_AV void BusFault_Handler(void)
667 { while(1) {}
668 }
669
UsageFault_Handler(void)670 WEAK_AV void UsageFault_Handler(void)
671 { while(1) {}
672 }
673
SecureFault_Handler(void)674 WEAK_AV void SecureFault_Handler(void)
675 { while(1) {}
676 }
677
SVC_Handler(void)678 WEAK_AV void SVC_Handler(void)
679 { while(1) {}
680 }
681
DebugMon_Handler(void)682 WEAK_AV void DebugMon_Handler(void)
683 { while(1) {}
684 }
685
PendSV_Handler(void)686 WEAK_AV void PendSV_Handler(void)
687 { while(1) {}
688 }
689
SysTick_Handler(void)690 WEAK_AV void SysTick_Handler(void)
691 { while(1) {}
692 }
693
694 //*****************************************************************************
695 // Processor ends up here if an unexpected interrupt occurs or a specific
696 // handler is not present in the application code.
697 //*****************************************************************************
IntDefaultHandler(void)698 WEAK_AV void IntDefaultHandler(void)
699 { while(1) {}
700 }
701
702 //*****************************************************************************
703 // Default application exception handlers. Override the ones here by defining
704 // your own handler routines in your application code. These routines call
705 // driver exception handlers or IntDefaultHandler() if no driver exception
706 // handler is included.
707 //*****************************************************************************
WDT0_IRQHandler(void)708 WEAK void WDT0_IRQHandler(void)
709 { WDT0_DriverIRQHandler();
710 }
711
DMA0_IRQHandler(void)712 WEAK void DMA0_IRQHandler(void)
713 { DMA0_DriverIRQHandler();
714 }
715
GPIO_INTA_IRQHandler(void)716 WEAK void GPIO_INTA_IRQHandler(void)
717 { GPIO_INTA_DriverIRQHandler();
718 }
719
GPIO_INTB_IRQHandler(void)720 WEAK void GPIO_INTB_IRQHandler(void)
721 { GPIO_INTB_DriverIRQHandler();
722 }
723
PIN_INT0_IRQHandler(void)724 WEAK void PIN_INT0_IRQHandler(void)
725 { PIN_INT0_DriverIRQHandler();
726 }
727
PIN_INT1_IRQHandler(void)728 WEAK void PIN_INT1_IRQHandler(void)
729 { PIN_INT1_DriverIRQHandler();
730 }
731
PIN_INT2_IRQHandler(void)732 WEAK void PIN_INT2_IRQHandler(void)
733 { PIN_INT2_DriverIRQHandler();
734 }
735
PIN_INT3_IRQHandler(void)736 WEAK void PIN_INT3_IRQHandler(void)
737 { PIN_INT3_DriverIRQHandler();
738 }
739
UTICK_IRQHandler(void)740 WEAK void UTICK_IRQHandler(void)
741 { UTICK_DriverIRQHandler();
742 }
743
MRT0_IRQHandler(void)744 WEAK void MRT0_IRQHandler(void)
745 { MRT0_DriverIRQHandler();
746 }
747
CTIMER0_IRQHandler(void)748 WEAK void CTIMER0_IRQHandler(void)
749 { CTIMER0_DriverIRQHandler();
750 }
751
CTIMER1_IRQHandler(void)752 WEAK void CTIMER1_IRQHandler(void)
753 { CTIMER1_DriverIRQHandler();
754 }
755
SCT0_IRQHandler(void)756 WEAK void SCT0_IRQHandler(void)
757 { SCT0_DriverIRQHandler();
758 }
759
CTIMER3_IRQHandler(void)760 WEAK void CTIMER3_IRQHandler(void)
761 { CTIMER3_DriverIRQHandler();
762 }
763
FLEXCOMM0_IRQHandler(void)764 WEAK void FLEXCOMM0_IRQHandler(void)
765 { FLEXCOMM0_DriverIRQHandler();
766 }
767
FLEXCOMM1_IRQHandler(void)768 WEAK void FLEXCOMM1_IRQHandler(void)
769 { FLEXCOMM1_DriverIRQHandler();
770 }
771
FLEXCOMM2_IRQHandler(void)772 WEAK void FLEXCOMM2_IRQHandler(void)
773 { FLEXCOMM2_DriverIRQHandler();
774 }
775
FLEXCOMM3_IRQHandler(void)776 WEAK void FLEXCOMM3_IRQHandler(void)
777 { FLEXCOMM3_DriverIRQHandler();
778 }
779
Reserved34_IRQHandler(void)780 WEAK void Reserved34_IRQHandler(void)
781 { Reserved34_DriverIRQHandler();
782 }
783
Reserved35_IRQHandler(void)784 WEAK void Reserved35_IRQHandler(void)
785 { Reserved35_DriverIRQHandler();
786 }
787
FLEXCOMM14_IRQHandler(void)788 WEAK void FLEXCOMM14_IRQHandler(void)
789 { FLEXCOMM14_DriverIRQHandler();
790 }
791
Reserved37_IRQHandler(void)792 WEAK void Reserved37_IRQHandler(void)
793 { Reserved37_DriverIRQHandler();
794 }
795
Reserved38_IRQHandler(void)796 WEAK void Reserved38_IRQHandler(void)
797 { Reserved38_DriverIRQHandler();
798 }
799
MRT1_IRQHandler(void)800 WEAK void MRT1_IRQHandler(void)
801 { MRT1_DriverIRQHandler();
802 }
803
Reserved40_IRQHandler(void)804 WEAK void Reserved40_IRQHandler(void)
805 { Reserved40_DriverIRQHandler();
806 }
807
DMIC0_IRQHandler(void)808 WEAK void DMIC0_IRQHandler(void)
809 { DMIC0_DriverIRQHandler();
810 }
811
WFD_IRQHandler(void)812 WEAK void WFD_IRQHandler(void)
813 { WFD_DriverIRQHandler();
814 }
815
HYPERVISOR_IRQHandler(void)816 WEAK void HYPERVISOR_IRQHandler(void)
817 { HYPERVISOR_DriverIRQHandler();
818 }
819
SECUREVIOLATION_IRQHandler(void)820 WEAK void SECUREVIOLATION_IRQHandler(void)
821 { SECUREVIOLATION_DriverIRQHandler();
822 }
823
HWVAD0_IRQHandler(void)824 WEAK void HWVAD0_IRQHandler(void)
825 { HWVAD0_DriverIRQHandler();
826 }
827
Reserved46_IRQHandler(void)828 WEAK void Reserved46_IRQHandler(void)
829 { Reserved46_DriverIRQHandler();
830 }
831
Reserved47_IRQHandler(void)832 WEAK void Reserved47_IRQHandler(void)
833 { Reserved47_DriverIRQHandler();
834 }
835
RTC_IRQHandler(void)836 WEAK void RTC_IRQHandler(void)
837 { RTC_DriverIRQHandler();
838 }
839
Reserved49_IRQHandler(void)840 WEAK void Reserved49_IRQHandler(void)
841 { Reserved49_DriverIRQHandler();
842 }
843
Reserved50_IRQHandler(void)844 WEAK void Reserved50_IRQHandler(void)
845 { Reserved50_DriverIRQHandler();
846 }
847
PIN_INT4_IRQHandler(void)848 WEAK void PIN_INT4_IRQHandler(void)
849 { PIN_INT4_DriverIRQHandler();
850 }
851
PIN_INT5_IRQHandler(void)852 WEAK void PIN_INT5_IRQHandler(void)
853 { PIN_INT5_DriverIRQHandler();
854 }
855
PIN_INT6_IRQHandler(void)856 WEAK void PIN_INT6_IRQHandler(void)
857 { PIN_INT6_DriverIRQHandler();
858 }
859
PIN_INT7_IRQHandler(void)860 WEAK void PIN_INT7_IRQHandler(void)
861 { PIN_INT7_DriverIRQHandler();
862 }
863
CTIMER2_IRQHandler(void)864 WEAK void CTIMER2_IRQHandler(void)
865 { CTIMER2_DriverIRQHandler();
866 }
867
CTIMER4_IRQHandler(void)868 WEAK void CTIMER4_IRQHandler(void)
869 { CTIMER4_DriverIRQHandler();
870 }
871
OS_EVENT_IRQHandler(void)872 WEAK void OS_EVENT_IRQHandler(void)
873 { OS_EVENT_DriverIRQHandler();
874 }
875
FLEXSPI_IRQHandler(void)876 WEAK void FLEXSPI_IRQHandler(void)
877 { FLEXSPI_DriverIRQHandler();
878 }
879
Reserved59_IRQHandler(void)880 WEAK void Reserved59_IRQHandler(void)
881 { Reserved59_DriverIRQHandler();
882 }
883
Reserved60_IRQHandler(void)884 WEAK void Reserved60_IRQHandler(void)
885 { Reserved60_DriverIRQHandler();
886 }
887
Reserved61_IRQHandler(void)888 WEAK void Reserved61_IRQHandler(void)
889 { Reserved61_DriverIRQHandler();
890 }
891
SDU_IRQHandler(void)892 WEAK void SDU_IRQHandler(void)
893 { SDU_DriverIRQHandler();
894 }
895
SGPIO_INTA_IRQHandler(void)896 WEAK void SGPIO_INTA_IRQHandler(void)
897 { SGPIO_INTA_DriverIRQHandler();
898 }
899
SGPIO_INTB_IRQHandler(void)900 WEAK void SGPIO_INTB_IRQHandler(void)
901 { SGPIO_INTB_DriverIRQHandler();
902 }
903
Reserved65_IRQHandler(void)904 WEAK void Reserved65_IRQHandler(void)
905 { Reserved65_DriverIRQHandler();
906 }
907
USB_IRQHandler(void)908 WEAK void USB_IRQHandler(void)
909 { USB_DriverIRQHandler();
910 }
911
Reserved67_IRQHandler(void)912 WEAK void Reserved67_IRQHandler(void)
913 { Reserved67_DriverIRQHandler();
914 }
915
Reserved68_IRQHandler(void)916 WEAK void Reserved68_IRQHandler(void)
917 { Reserved68_DriverIRQHandler();
918 }
919
Reserved69_IRQHandler(void)920 WEAK void Reserved69_IRQHandler(void)
921 { Reserved69_DriverIRQHandler();
922 }
923
DMA1_IRQHandler(void)924 WEAK void DMA1_IRQHandler(void)
925 { DMA1_DriverIRQHandler();
926 }
927
PUF_IRQHandler(void)928 WEAK void PUF_IRQHandler(void)
929 { PUF_DriverIRQHandler();
930 }
931
POWERQUAD_IRQHandler(void)932 WEAK void POWERQUAD_IRQHandler(void)
933 { POWERQUAD_DriverIRQHandler();
934 }
935
Reserved73_IRQHandler(void)936 WEAK void Reserved73_IRQHandler(void)
937 { Reserved73_DriverIRQHandler();
938 }
939
Reserved74_IRQHandler(void)940 WEAK void Reserved74_IRQHandler(void)
941 { Reserved74_DriverIRQHandler();
942 }
943
Reserved75_IRQHandler(void)944 WEAK void Reserved75_IRQHandler(void)
945 { Reserved75_DriverIRQHandler();
946 }
947
Reserved76_IRQHandler(void)948 WEAK void Reserved76_IRQHandler(void)
949 { Reserved76_DriverIRQHandler();
950 }
951
LCDIC_IRQHandler(void)952 WEAK void LCDIC_IRQHandler(void)
953 { LCDIC_DriverIRQHandler();
954 }
955
CAPT_PULSE_IRQHandler(void)956 WEAK void CAPT_PULSE_IRQHandler(void)
957 { CAPT_PULSE_DriverIRQHandler();
958 }
959
Reserved79_IRQHandler(void)960 WEAK void Reserved79_IRQHandler(void)
961 { Reserved79_DriverIRQHandler();
962 }
963
WL_MCI_WAKEUP_DONE0_IRQHandler(void)964 WEAK void WL_MCI_WAKEUP_DONE0_IRQHandler(void)
965 { WL_MCI_WAKEUP_DONE0_DriverIRQHandler();
966 }
967
WL_MCI_WAKEUP_DONE1_IRQHandler(void)968 WEAK void WL_MCI_WAKEUP_DONE1_IRQHandler(void)
969 { WL_MCI_WAKEUP_DONE1_DriverIRQHandler();
970 }
971
WL_MCI_WAKEUP_DONE2_IRQHandler(void)972 WEAK void WL_MCI_WAKEUP_DONE2_IRQHandler(void)
973 { WL_MCI_WAKEUP_DONE2_DriverIRQHandler();
974 }
975
WL_MCI_WAKEUP_DONE3_IRQHandler(void)976 WEAK void WL_MCI_WAKEUP_DONE3_IRQHandler(void)
977 { WL_MCI_WAKEUP_DONE3_DriverIRQHandler();
978 }
979
WL_MCI_WAKEUP_DONE4_IRQHandler(void)980 WEAK void WL_MCI_WAKEUP_DONE4_IRQHandler(void)
981 { WL_MCI_WAKEUP_DONE4_DriverIRQHandler();
982 }
983
WL_MCI_WAKEUP_DONE5_IRQHandler(void)984 WEAK void WL_MCI_WAKEUP_DONE5_IRQHandler(void)
985 { WL_MCI_WAKEUP_DONE5_DriverIRQHandler();
986 }
987
WL_MCI_WAKEUP_DONE6_IRQHandler(void)988 WEAK void WL_MCI_WAKEUP_DONE6_IRQHandler(void)
989 { WL_MCI_WAKEUP_DONE6_DriverIRQHandler();
990 }
991
WL_MCI_WAKEUP_DONE7_IRQHandler(void)992 WEAK void WL_MCI_WAKEUP_DONE7_IRQHandler(void)
993 { WL_MCI_WAKEUP_DONE7_DriverIRQHandler();
994 }
995
WL_MCI_WAKEUP0_IRQHandler(void)996 WEAK void WL_MCI_WAKEUP0_IRQHandler(void)
997 { WL_MCI_WAKEUP0_DriverIRQHandler();
998 }
999
WL_MCI_WAKEUP1_IRQHandler(void)1000 WEAK void WL_MCI_WAKEUP1_IRQHandler(void)
1001 { WL_MCI_WAKEUP1_DriverIRQHandler();
1002 }
1003
WL_MCI_INT0_IRQHandler(void)1004 WEAK void WL_MCI_INT0_IRQHandler(void)
1005 { WL_MCI_INT0_DriverIRQHandler();
1006 }
1007
WL_MCI_INT1_IRQHandler(void)1008 WEAK void WL_MCI_INT1_IRQHandler(void)
1009 { WL_MCI_INT1_DriverIRQHandler();
1010 }
1011
WL_MCI_INT2_IRQHandler(void)1012 WEAK void WL_MCI_INT2_IRQHandler(void)
1013 { WL_MCI_INT2_DriverIRQHandler();
1014 }
1015
WL_MCI_INT3_IRQHandler(void)1016 WEAK void WL_MCI_INT3_IRQHandler(void)
1017 { WL_MCI_INT3_DriverIRQHandler();
1018 }
1019
WL_MCI_INT4_IRQHandler(void)1020 WEAK void WL_MCI_INT4_IRQHandler(void)
1021 { WL_MCI_INT4_DriverIRQHandler();
1022 }
1023
WL_MCI_INT5_IRQHandler(void)1024 WEAK void WL_MCI_INT5_IRQHandler(void)
1025 { WL_MCI_INT5_DriverIRQHandler();
1026 }
1027
WL_MCI_INT6_IRQHandler(void)1028 WEAK void WL_MCI_INT6_IRQHandler(void)
1029 { WL_MCI_INT6_DriverIRQHandler();
1030 }
1031
WL_MCI_INT7_IRQHandler(void)1032 WEAK void WL_MCI_INT7_IRQHandler(void)
1033 { WL_MCI_INT7_DriverIRQHandler();
1034 }
1035
BLE_MCI_WAKEUP_DONE0_IRQHandler(void)1036 WEAK void BLE_MCI_WAKEUP_DONE0_IRQHandler(void)
1037 { BLE_MCI_WAKEUP_DONE0_DriverIRQHandler();
1038 }
1039
BLE_MCI_WAKEUP_DONE1_IRQHandler(void)1040 WEAK void BLE_MCI_WAKEUP_DONE1_IRQHandler(void)
1041 { BLE_MCI_WAKEUP_DONE1_DriverIRQHandler();
1042 }
1043
BLE_MCI_WAKEUP_DONE2_IRQHandler(void)1044 WEAK void BLE_MCI_WAKEUP_DONE2_IRQHandler(void)
1045 { BLE_MCI_WAKEUP_DONE2_DriverIRQHandler();
1046 }
1047
BLE_MCI_WAKEUP_DONE3_IRQHandler(void)1048 WEAK void BLE_MCI_WAKEUP_DONE3_IRQHandler(void)
1049 { BLE_MCI_WAKEUP_DONE3_DriverIRQHandler();
1050 }
1051
BLE_MCI_WAKEUP_DONE4_IRQHandler(void)1052 WEAK void BLE_MCI_WAKEUP_DONE4_IRQHandler(void)
1053 { BLE_MCI_WAKEUP_DONE4_DriverIRQHandler();
1054 }
1055
BLE_MCI_WAKEUP_DONE5_IRQHandler(void)1056 WEAK void BLE_MCI_WAKEUP_DONE5_IRQHandler(void)
1057 { BLE_MCI_WAKEUP_DONE5_DriverIRQHandler();
1058 }
1059
BLE_MCI_WAKEUP_DONE6_IRQHandler(void)1060 WEAK void BLE_MCI_WAKEUP_DONE6_IRQHandler(void)
1061 { BLE_MCI_WAKEUP_DONE6_DriverIRQHandler();
1062 }
1063
BLE_MCI_WAKEUP_DONE7_IRQHandler(void)1064 WEAK void BLE_MCI_WAKEUP_DONE7_IRQHandler(void)
1065 { BLE_MCI_WAKEUP_DONE7_DriverIRQHandler();
1066 }
1067
BLE_MCI_WAKEUP0_IRQHandler(void)1068 WEAK void BLE_MCI_WAKEUP0_IRQHandler(void)
1069 { BLE_MCI_WAKEUP0_DriverIRQHandler();
1070 }
1071
BLE_MCI_WAKEUP1_IRQHandler(void)1072 WEAK void BLE_MCI_WAKEUP1_IRQHandler(void)
1073 { BLE_MCI_WAKEUP1_DriverIRQHandler();
1074 }
1075
BLE_MCI_INT0_IRQHandler(void)1076 WEAK void BLE_MCI_INT0_IRQHandler(void)
1077 { BLE_MCI_INT0_DriverIRQHandler();
1078 }
1079
BLE_MCI_INT1_IRQHandler(void)1080 WEAK void BLE_MCI_INT1_IRQHandler(void)
1081 { BLE_MCI_INT1_DriverIRQHandler();
1082 }
1083
BLE_MCI_INT2_IRQHandler(void)1084 WEAK void BLE_MCI_INT2_IRQHandler(void)
1085 { BLE_MCI_INT2_DriverIRQHandler();
1086 }
1087
BLE_MCI_INT3_IRQHandler(void)1088 WEAK void BLE_MCI_INT3_IRQHandler(void)
1089 { BLE_MCI_INT3_DriverIRQHandler();
1090 }
1091
BLE_MCI_INT4_IRQHandler(void)1092 WEAK void BLE_MCI_INT4_IRQHandler(void)
1093 { BLE_MCI_INT4_DriverIRQHandler();
1094 }
1095
BLE_MCI_INT5_IRQHandler(void)1096 WEAK void BLE_MCI_INT5_IRQHandler(void)
1097 { BLE_MCI_INT5_DriverIRQHandler();
1098 }
1099
BLE_MCI_INT6_IRQHandler(void)1100 WEAK void BLE_MCI_INT6_IRQHandler(void)
1101 { BLE_MCI_INT6_DriverIRQHandler();
1102 }
1103
BLE_MCI_INT7_IRQHandler(void)1104 WEAK void BLE_MCI_INT7_IRQHandler(void)
1105 { BLE_MCI_INT7_DriverIRQHandler();
1106 }
1107
PIN0_INT_IRQHandler(void)1108 WEAK void PIN0_INT_IRQHandler(void)
1109 { PIN0_INT_DriverIRQHandler();
1110 }
1111
PIN1_INT_IRQHandler(void)1112 WEAK void PIN1_INT_IRQHandler(void)
1113 { PIN1_INT_DriverIRQHandler();
1114 }
1115
ELS_IRQHandler(void)1116 WEAK void ELS_IRQHandler(void)
1117 { ELS_DriverIRQHandler();
1118 }
1119
ELS_GDET_IRQ_IRQHandler(void)1120 WEAK void ELS_GDET_IRQ_IRQHandler(void)
1121 { ELS_GDET_IRQ_DriverIRQHandler();
1122 }
1123
ELS_GDET_ERR_IRQHandler(void)1124 WEAK void ELS_GDET_ERR_IRQHandler(void)
1125 { ELS_GDET_ERR_DriverIRQHandler();
1126 }
1127
PKC_IRQHandler(void)1128 WEAK void PKC_IRQHandler(void)
1129 { PKC_DriverIRQHandler();
1130 }
1131
PKC_ERR_IRQHandler(void)1132 WEAK void PKC_ERR_IRQHandler(void)
1133 { PKC_ERR_DriverIRQHandler();
1134 }
1135
CDOG_IRQHandler(void)1136 WEAK void CDOG_IRQHandler(void)
1137 { CDOG_DriverIRQHandler();
1138 }
1139
GAU_GPDAC_INT_FUNC11_IRQHandler(void)1140 WEAK void GAU_GPDAC_INT_FUNC11_IRQHandler(void)
1141 { GAU_GPDAC_INT_FUNC11_DriverIRQHandler();
1142 }
1143
GAU_ACOMP_INT_WKUP11_IRQHandler(void)1144 WEAK void GAU_ACOMP_INT_WKUP11_IRQHandler(void)
1145 { GAU_ACOMP_INT_WKUP11_DriverIRQHandler();
1146 }
1147
GAU_ACOMP_INT_FUNC11_IRQHandler(void)1148 WEAK void GAU_ACOMP_INT_FUNC11_IRQHandler(void)
1149 { GAU_ACOMP_INT_FUNC11_DriverIRQHandler();
1150 }
1151
GAU_GPADC1_INT_FUNC11_IRQHandler(void)1152 WEAK void GAU_GPADC1_INT_FUNC11_IRQHandler(void)
1153 { GAU_GPADC1_INT_FUNC11_DriverIRQHandler();
1154 }
1155
GAU_GPADC0_INT_FUNC11_IRQHandler(void)1156 WEAK void GAU_GPADC0_INT_FUNC11_IRQHandler(void)
1157 { GAU_GPADC0_INT_FUNC11_DriverIRQHandler();
1158 }
1159
USIM_IRQHandler(void)1160 WEAK void USIM_IRQHandler(void)
1161 { USIM_DriverIRQHandler();
1162 }
1163
OCOTP_IRQHandler(void)1164 WEAK void OCOTP_IRQHandler(void)
1165 { OCOTP_DriverIRQHandler();
1166 }
1167
ENET_IRQHandler(void)1168 WEAK void ENET_IRQHandler(void)
1169 { ENET_DriverIRQHandler();
1170 }
1171
ENET_TIMER_IRQHandler(void)1172 WEAK void ENET_TIMER_IRQHandler(void)
1173 { ENET_TIMER_DriverIRQHandler();
1174 }
1175
BOD_1_85_INT_IRQHandler(void)1176 WEAK void BOD_1_85_INT_IRQHandler(void)
1177 { BOD_1_85_INT_DriverIRQHandler();
1178 }
1179
BOD_1_85_NEG_IRQHandler(void)1180 WEAK void BOD_1_85_NEG_IRQHandler(void)
1181 { BOD_1_85_NEG_DriverIRQHandler();
1182 }
1183
ITRC_IRQHandler(void)1184 WEAK void ITRC_IRQHandler(void)
1185 { ITRC_DriverIRQHandler();
1186 }
1187
BTU_HOST_TRIGGER0_IRQHandler(void)1188 WEAK void BTU_HOST_TRIGGER0_IRQHandler(void)
1189 { BTU_HOST_TRIGGER0_DriverIRQHandler();
1190 }
1191
BTU_HOST_TRIGGER1_IRQHandler(void)1192 WEAK void BTU_HOST_TRIGGER1_IRQHandler(void)
1193 { BTU_HOST_TRIGGER1_DriverIRQHandler();
1194 }
1195
BTU_HOST_TRIGGER2_IRQHandler(void)1196 WEAK void BTU_HOST_TRIGGER2_IRQHandler(void)
1197 { BTU_HOST_TRIGGER2_DriverIRQHandler();
1198 }
1199
TRNG_IRQHandler(void)1200 WEAK void TRNG_IRQHandler(void)
1201 { TRNG_DriverIRQHandler();
1202 }
1203
AHB_MEM_ACC_CHECKER_VIO_INT_C_OR_IRQHandler(void)1204 WEAK void AHB_MEM_ACC_CHECKER_VIO_INT_C_OR_IRQHandler(void)
1205 { AHB_MEM_ACC_CHECKER_VIO_INT_C_OR_DriverIRQHandler();
1206 }
1207
AHB_MEM_ACC_CHECKER_VIO_INT_S_OR_IRQHandler(void)1208 WEAK void AHB_MEM_ACC_CHECKER_VIO_INT_S_OR_IRQHandler(void)
1209 { AHB_MEM_ACC_CHECKER_VIO_INT_S_OR_DriverIRQHandler();
1210 }
1211
WL_ACC_INT_IRQHandler(void)1212 WEAK void WL_ACC_INT_IRQHandler(void)
1213 { WL_ACC_INT_DriverIRQHandler();
1214 }
1215
BLE_ACC_INT_IRQHandler(void)1216 WEAK void BLE_ACC_INT_IRQHandler(void)
1217 { BLE_ACC_INT_DriverIRQHandler();
1218 }
1219
GDMA_IRQHandler(void)1220 WEAK void GDMA_IRQHandler(void)
1221 { GDMA_DriverIRQHandler();
1222 }
1223
1224 //*****************************************************************************
1225
1226 #if defined (DEBUG)
1227 #pragma GCC pop_options
1228 #endif // (DEBUG)
1229