]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_AT91SAM3U256_IAR/system/exceptions.c
Change occurrences of "Cortex M3" to "Cortex-M3".
[freertos] / Demo / CORTEX_AT91SAM3U256_IAR / system / exceptions.c
1 /* ----------------------------------------------------------------------------\r
2  *         ATMEL Microcontroller Software Support \r
3  * ----------------------------------------------------------------------------\r
4  * Copyright (c) 2008, Atmel Corporation\r
5  *\r
6  * All rights reserved.\r
7  *\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
10  *\r
11  * - Redistributions of source code must retain the above copyright notice,\r
12  * this list of conditions and the disclaimer below.\r
13  *\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
16  *\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
28  */\r
29 \r
30 /*\r
31 ** This file contains the default exception handlers\r
32 ** and exception table.\r
33 */\r
34 \r
35 //------------------------------------------------------------------------------\r
36 //         Headers\r
37 //------------------------------------------------------------------------------\r
38 \r
39 #include "exceptions.h"\r
40 \r
41 //------------------------------------------------------------------------------\r
42 //         Types\r
43 //------------------------------------------------------------------------------\r
44 \r
45 //------------------------------------------------------------------------------\r
46 //         Exception Handlers\r
47 //------------------------------------------------------------------------------\r
48 \r
49 \r
50 //------------------------------------------------------------------------------\r
51 // Default irq handler\r
52 //------------------------------------------------------------------------------\r
53 void IrqHandlerNotUsed(void)\r
54 {\r
55     while(1);\r
56 }\r
57 \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
61 // this definition.\r
62 //------------------------------------------------------------------------------\r
63 \r
64 //------------------------------------------------------------------------------\r
65 // System interrupt\r
66 //------------------------------------------------------------------------------\r
67 WEAK void NMI_Handler(void)\r
68 {   \r
69     while(1);\r
70 }\r
71 \r
72 //------------------------------------------------------------------------------\r
73 //------------------------------------------------------------------------------\r
74 WEAK void HardFault_Handler(void)\r
75 {\r
76     while(1);\r
77 }\r
78 \r
79 //------------------------------------------------------------------------------\r
80 //------------------------------------------------------------------------------\r
81 WEAK void MemManage_Handler(void)\r
82 {\r
83     while(1);\r
84 }\r
85 \r
86 //------------------------------------------------------------------------------\r
87 //------------------------------------------------------------------------------\r
88 WEAK void BusFault_Handler(void)\r
89 {\r
90     while(1);\r
91 }\r
92 \r
93 //------------------------------------------------------------------------------\r
94 //------------------------------------------------------------------------------\r
95 WEAK void UsageFault_Handler(void)\r
96 {\r
97     while(1);\r
98 }\r
99 \r
100 //------------------------------------------------------------------------------\r
101 //------------------------------------------------------------------------------\r
102 WEAK void SVC_Handler(void)\r
103 {\r
104     while(1);\r
105 }\r
106 \r
107 //------------------------------------------------------------------------------\r
108 //------------------------------------------------------------------------------\r
109 WEAK void DebugMon_Handler(void)\r
110 {\r
111     while(1);\r
112 }\r
113 \r
114 //------------------------------------------------------------------------------\r
115 //------------------------------------------------------------------------------\r
116 WEAK void PendSV_Handler(void)\r
117 {\r
118     while(1);\r
119 }\r
120 \r
121 //------------------------------------------------------------------------------\r
122 // for Cortex-M3\r
123 //------------------------------------------------------------------------------\r
124 WEAK void SysTick_Handler(void)\r
125 {\r
126     while(1);\r
127 }\r
128 \r
129 //------------------------------------------------------------------------------\r
130 // External interrupt\r
131 //------------------------------------------------------------------------------\r
132 \r
133 //------------------------------------------------------------------------------\r
134 // for SAM7/9\r
135 //------------------------------------------------------------------------------\r
136 void SYS_IrqHandler( void )\r
137 {\r
138     while(1);\r
139 }\r
140 \r
141 //------------------------------------------------------------------------------\r
142 // SUPPLY CONTROLLER\r
143 //------------------------------------------------------------------------------\r
144 WEAK void SUPC_IrqHandler(void)\r
145 {\r
146     while(1);\r
147 }\r
148 \r
149 //------------------------------------------------------------------------------\r
150 // RESET CONTROLLER\r
151 //------------------------------------------------------------------------------\r
152 WEAK void RSTC_IrqHandler(void)\r
153 {\r
154     while(1);\r
155 }\r
156 \r
157 //------------------------------------------------------------------------------\r
158 // REAL TIME CLOCK\r
159 //------------------------------------------------------------------------------\r
160 WEAK void RTC_IrqHandler(void)\r
161 {\r
162     while(1);\r
163 }\r
164 \r
165 //------------------------------------------------------------------------------\r
166 // REAL TIME TIMER\r
167 //------------------------------------------------------------------------------\r
168 WEAK void RTT_IrqHandler(void)\r
169 {\r
170     while(1);\r
171 }\r
172 \r
173 //------------------------------------------------------------------------------\r
174 // WATCHDOG TIMER\r
175 //------------------------------------------------------------------------------\r
176 WEAK void WDT_IrqHandler(void)\r
177 {\r
178     while(1);\r
179 }\r
180 \r
181 //------------------------------------------------------------------------------\r
182 // PMC\r
183 //------------------------------------------------------------------------------\r
184 WEAK void PMC_IrqHandler(void)\r
185 {\r
186     while(1);\r
187 }\r
188 \r
189 //------------------------------------------------------------------------------\r
190 // EFC0\r
191 //------------------------------------------------------------------------------\r
192 WEAK void EFC0_IrqHandler(void)\r
193 {\r
194     while(1);\r
195 }\r
196 \r
197 //------------------------------------------------------------------------------\r
198 // EFC1\r
199 //------------------------------------------------------------------------------\r
200 WEAK void EFC1_IrqHandler(void)\r
201 {\r
202     while(1);\r
203 }\r
204 //------------------------------------------------------------------------------\r
205 // DBGU\r
206 //------------------------------------------------------------------------------\r
207 WEAK void DBGU_IrqHandler(void)\r
208 {\r
209     while(1);\r
210 }\r
211 \r
212 //------------------------------------------------------------------------------\r
213 // HSMC4\r
214 //------------------------------------------------------------------------------\r
215 WEAK void HSMC4_IrqHandler(void)\r
216 {\r
217     while(1);\r
218 }\r
219 \r
220 //------------------------------------------------------------------------------\r
221 // Parallel IO Controller A\r
222 //------------------------------------------------------------------------------\r
223 WEAK void PIOA_IrqHandler(void)\r
224 {\r
225     while(1);\r
226 }\r
227 \r
228 //------------------------------------------------------------------------------\r
229 // Parallel IO Controller B\r
230 //------------------------------------------------------------------------------\r
231 WEAK void PIOB_IrqHandler(void)\r
232 {\r
233     while(1);\r
234 }\r
235 \r
236 //------------------------------------------------------------------------------\r
237 // Parallel IO Controller C\r
238 //------------------------------------------------------------------------------\r
239 WEAK void PIOC_IrqHandler(void)\r
240 {\r
241     while(1);\r
242 }\r
243 \r
244 //------------------------------------------------------------------------------\r
245 // USART 0\r
246 //------------------------------------------------------------------------------\r
247 WEAK void USART0_IrqHandler(void)\r
248 {\r
249     while(1);\r
250 }\r
251 \r
252 //------------------------------------------------------------------------------\r
253 // USART 1\r
254 //------------------------------------------------------------------------------\r
255 WEAK void USART1_IrqHandler(void)\r
256 {\r
257     while(1);\r
258 }\r
259 \r
260 //------------------------------------------------------------------------------\r
261 // USART 2\r
262 //------------------------------------------------------------------------------\r
263 WEAK void USART2_IrqHandler(void)\r
264 {\r
265     while(1);\r
266 }\r
267 \r
268 //------------------------------------------------------------------------------\r
269 // USART 3\r
270 //------------------------------------------------------------------------------\r
271 WEAK void USART3_IrqHandler(void)\r
272 {\r
273     while(1);\r
274 }\r
275 \r
276 //------------------------------------------------------------------------------\r
277 // Multimedia Card Interface\r
278 //------------------------------------------------------------------------------\r
279 WEAK void MCI0_IrqHandler(void)\r
280 {\r
281     while(1);\r
282 }\r
283 \r
284 //------------------------------------------------------------------------------\r
285 // TWI 0\r
286 //------------------------------------------------------------------------------\r
287 WEAK void TWI0_IrqHandler(void)\r
288 {\r
289     while(1);\r
290 }\r
291 \r
292 //------------------------------------------------------------------------------\r
293 // TWI 1\r
294 //------------------------------------------------------------------------------\r
295 WEAK void TWI1_IrqHandler(void)\r
296 {\r
297     while(1);\r
298 }\r
299 \r
300 //------------------------------------------------------------------------------\r
301 // Serial Peripheral Interface 0\r
302 //------------------------------------------------------------------------------\r
303 WEAK void SPI0_IrqHandler(void)\r
304 {\r
305     while(1);\r
306 }\r
307 \r
308 //------------------------------------------------------------------------------\r
309 // Serial Synchronous Controller 0\r
310 //------------------------------------------------------------------------------\r
311 WEAK void SSC0_IrqHandler(void)\r
312 {\r
313     while(1);\r
314 }\r
315 \r
316 //------------------------------------------------------------------------------\r
317 // Timer Counter 0\r
318 //------------------------------------------------------------------------------\r
319 WEAK void TC0_IrqHandler(void)\r
320 {\r
321     while(1);\r
322 }\r
323 \r
324 //------------------------------------------------------------------------------\r
325 // Timer Counter 1\r
326 //------------------------------------------------------------------------------\r
327 WEAK void TC1_IrqHandler(void)\r
328 {\r
329     while(1);\r
330 }\r
331 \r
332 //------------------------------------------------------------------------------\r
333 // Timer Counter 2\r
334 //------------------------------------------------------------------------------\r
335 WEAK void TC2_IrqHandler(void)\r
336 {\r
337     while(1);\r
338 }\r
339 \r
340 //------------------------------------------------------------------------------\r
341 // PWM Controller\r
342 //------------------------------------------------------------------------------\r
343 WEAK void PWM_IrqHandler(void)\r
344 {\r
345     while(1);\r
346 }\r
347 \r
348 //------------------------------------------------------------------------------\r
349 // ADC controller0\r
350 //------------------------------------------------------------------------------\r
351 WEAK void ADCC0_IrqHandler(void)\r
352 {\r
353     while(1);\r
354 }\r
355 \r
356 //------------------------------------------------------------------------------\r
357 // ADC controller1\r
358 //------------------------------------------------------------------------------\r
359 WEAK void ADCC1_IrqHandler(void)\r
360 {\r
361     while(1);\r
362 }\r
363 \r
364 //------------------------------------------------------------------------------\r
365 // HDMA\r
366 //------------------------------------------------------------------------------\r
367 WEAK void HDMA_IrqHandler(void)\r
368 {\r
369     while(1);\r
370 }\r
371 \r
372 //------------------------------------------------------------------------------\r
373 // USB Device High Speed UDP_HS\r
374 //------------------------------------------------------------------------------\r
375 WEAK void UDPD_IrqHandler(void)\r
376 {\r
377     while(1);\r
378 }\r