1 /* ----------------------------------------------------------------------------
\r
2 * ATMEL Microcontroller Software Support
\r
3 * ----------------------------------------------------------------------------
\r
4 * Copyright (c) 2008, Atmel Corporation
\r
6 * All rights reserved.
\r
8 * Redistribution and use in source and binary forms, with or without
\r
9 * modification, are permitted provided that the following conditions are met:
\r
11 * - Redistributions of source code must retain the above copyright notice,
\r
12 * this list of conditions and the disclaimer below.
\r
14 * Atmel's name may not be used to endorse or promote products derived from
\r
15 * this software without specific prior written permission.
\r
17 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
\r
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
\r
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
\r
20 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
\r
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
\r
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
\r
23 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
\r
24 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
\r
25 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
\r
26 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\r
27 * ----------------------------------------------------------------------------
\r
31 ** This file contains the default exception handlers
\r
32 ** and exception table.
\r
35 //------------------------------------------------------------------------------
\r
37 //------------------------------------------------------------------------------
\r
39 #include "exceptions.h"
\r
41 //------------------------------------------------------------------------------
\r
43 //------------------------------------------------------------------------------
\r
45 //------------------------------------------------------------------------------
\r
46 // Exception Handlers
\r
47 //------------------------------------------------------------------------------
\r
50 //------------------------------------------------------------------------------
\r
51 // Default irq handler
\r
52 //------------------------------------------------------------------------------
\r
53 void IrqHandlerNotUsed(void)
\r
58 //------------------------------------------------------------------------------
\r
59 // Provide weak aliases for each Exception handler to the IrqHandlerNotUsed.
\r
60 // As they are weak aliases, any function with the same name will override
\r
62 //------------------------------------------------------------------------------
\r
64 //------------------------------------------------------------------------------
\r
66 //------------------------------------------------------------------------------
\r
67 WEAK void NMI_Handler(void)
\r
72 //------------------------------------------------------------------------------
\r
73 //------------------------------------------------------------------------------
\r
74 WEAK void HardFault_Handler(void)
\r
79 //------------------------------------------------------------------------------
\r
80 //------------------------------------------------------------------------------
\r
81 WEAK void MemManage_Handler(void)
\r
86 //------------------------------------------------------------------------------
\r
87 //------------------------------------------------------------------------------
\r
88 WEAK void BusFault_Handler(void)
\r
93 //------------------------------------------------------------------------------
\r
94 //------------------------------------------------------------------------------
\r
95 WEAK void UsageFault_Handler(void)
\r
100 //------------------------------------------------------------------------------
\r
101 //------------------------------------------------------------------------------
\r
102 WEAK void SVC_Handler(void)
\r
107 //------------------------------------------------------------------------------
\r
108 //------------------------------------------------------------------------------
\r
109 WEAK void DebugMon_Handler(void)
\r
114 //------------------------------------------------------------------------------
\r
115 //------------------------------------------------------------------------------
\r
116 WEAK void PendSV_Handler(void)
\r
121 //------------------------------------------------------------------------------
\r
123 //------------------------------------------------------------------------------
\r
124 WEAK void SysTick_Handler(void)
\r
129 //------------------------------------------------------------------------------
\r
130 // External interrupt
\r
131 //------------------------------------------------------------------------------
\r
133 //------------------------------------------------------------------------------
\r
135 //------------------------------------------------------------------------------
\r
136 void SYS_IrqHandler( void )
\r
141 //------------------------------------------------------------------------------
\r
142 // SUPPLY CONTROLLER
\r
143 //------------------------------------------------------------------------------
\r
144 WEAK void SUPC_IrqHandler(void)
\r
149 //------------------------------------------------------------------------------
\r
150 // RESET CONTROLLER
\r
151 //------------------------------------------------------------------------------
\r
152 WEAK void RSTC_IrqHandler(void)
\r
157 //------------------------------------------------------------------------------
\r
159 //------------------------------------------------------------------------------
\r
160 WEAK void RTC_IrqHandler(void)
\r
165 //------------------------------------------------------------------------------
\r
167 //------------------------------------------------------------------------------
\r
168 WEAK void RTT_IrqHandler(void)
\r
173 //------------------------------------------------------------------------------
\r
175 //------------------------------------------------------------------------------
\r
176 WEAK void WDT_IrqHandler(void)
\r
181 //------------------------------------------------------------------------------
\r
183 //------------------------------------------------------------------------------
\r
184 WEAK void PMC_IrqHandler(void)
\r
189 //------------------------------------------------------------------------------
\r
191 //------------------------------------------------------------------------------
\r
192 WEAK void EFC0_IrqHandler(void)
\r
197 //------------------------------------------------------------------------------
\r
199 //------------------------------------------------------------------------------
\r
200 WEAK void EFC1_IrqHandler(void)
\r
204 //------------------------------------------------------------------------------
\r
206 //------------------------------------------------------------------------------
\r
207 WEAK void DBGU_IrqHandler(void)
\r
212 //------------------------------------------------------------------------------
\r
214 //------------------------------------------------------------------------------
\r
215 WEAK void HSMC4_IrqHandler(void)
\r
220 //------------------------------------------------------------------------------
\r
221 // Parallel IO Controller A
\r
222 //------------------------------------------------------------------------------
\r
223 WEAK void PIOA_IrqHandler(void)
\r
228 //------------------------------------------------------------------------------
\r
229 // Parallel IO Controller B
\r
230 //------------------------------------------------------------------------------
\r
231 WEAK void PIOB_IrqHandler(void)
\r
236 //------------------------------------------------------------------------------
\r
237 // Parallel IO Controller C
\r
238 //------------------------------------------------------------------------------
\r
239 WEAK void PIOC_IrqHandler(void)
\r
244 //------------------------------------------------------------------------------
\r
246 //------------------------------------------------------------------------------
\r
247 WEAK void USART0_IrqHandler(void)
\r
252 //------------------------------------------------------------------------------
\r
254 //------------------------------------------------------------------------------
\r
255 WEAK void USART1_IrqHandler(void)
\r
260 //------------------------------------------------------------------------------
\r
262 //------------------------------------------------------------------------------
\r
263 WEAK void USART2_IrqHandler(void)
\r
268 //------------------------------------------------------------------------------
\r
270 //------------------------------------------------------------------------------
\r
271 WEAK void USART3_IrqHandler(void)
\r
276 //------------------------------------------------------------------------------
\r
277 // Multimedia Card Interface
\r
278 //------------------------------------------------------------------------------
\r
279 WEAK void MCI0_IrqHandler(void)
\r
284 //------------------------------------------------------------------------------
\r
286 //------------------------------------------------------------------------------
\r
287 WEAK void TWI0_IrqHandler(void)
\r
292 //------------------------------------------------------------------------------
\r
294 //------------------------------------------------------------------------------
\r
295 WEAK void TWI1_IrqHandler(void)
\r
300 //------------------------------------------------------------------------------
\r
301 // Serial Peripheral Interface 0
\r
302 //------------------------------------------------------------------------------
\r
303 WEAK void SPI0_IrqHandler(void)
\r
308 //------------------------------------------------------------------------------
\r
309 // Serial Synchronous Controller 0
\r
310 //------------------------------------------------------------------------------
\r
311 WEAK void SSC0_IrqHandler(void)
\r
316 //------------------------------------------------------------------------------
\r
318 //------------------------------------------------------------------------------
\r
319 WEAK void TC0_IrqHandler(void)
\r
324 //------------------------------------------------------------------------------
\r
326 //------------------------------------------------------------------------------
\r
327 WEAK void TC1_IrqHandler(void)
\r
332 //------------------------------------------------------------------------------
\r
334 //------------------------------------------------------------------------------
\r
335 WEAK void TC2_IrqHandler(void)
\r
340 //------------------------------------------------------------------------------
\r
342 //------------------------------------------------------------------------------
\r
343 WEAK void PWM_IrqHandler(void)
\r
348 //------------------------------------------------------------------------------
\r
350 //------------------------------------------------------------------------------
\r
351 WEAK void ADCC0_IrqHandler(void)
\r
356 //------------------------------------------------------------------------------
\r
358 //------------------------------------------------------------------------------
\r
359 WEAK void ADCC1_IrqHandler(void)
\r
364 //------------------------------------------------------------------------------
\r
366 //------------------------------------------------------------------------------
\r
367 WEAK void HDMA_IrqHandler(void)
\r
372 //------------------------------------------------------------------------------
\r
373 // USB Device High Speed UDP_HS
\r
374 //------------------------------------------------------------------------------
\r
375 WEAK void UDPD_IrqHandler(void)
\r