]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_AT91SAM3U256_IAR/system/exceptions.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_AT91SAM3U256_IAR / system / exceptions.h
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 //         Types\r
37 //------------------------------------------------------------------------------\r
38 \r
39 /// Function prototype for exception table items - interrupt handler.\r
40 //typedef void( *IrqHandler )( void );\r
41 typedef void( *IntFunc )( void );\r
42 \r
43 /// Weak attribute\r
44 \r
45 #if defined   ( __CC_ARM   )\r
46     #define WEAK __attribute__ ((weak))\r
47 #elif defined ( __ICCARM__ )\r
48     #define WEAK __weak\r
49 #elif defined (  __GNUC__  )\r
50     #define WEAK __attribute__ ((weak))\r
51 #endif\r
52 \r
53 //------------------------------------------------------------------------------\r
54 //         Global functions\r
55 //------------------------------------------------------------------------------\r
56 \r
57 //------------------------------------------------------------------------------\r
58 //         Exception Handlers\r
59 //------------------------------------------------------------------------------\r
60 \r
61 extern WEAK void NMI_Handler( void );\r
62 extern WEAK void HardFault_Handler( void );\r
63 extern WEAK void MemManage_Handler( void );\r
64 extern WEAK void BusFault_Handler( void );\r
65 extern WEAK void UsageFault_Handler( void );\r
66 extern WEAK void SVC_Handler( void );\r
67 extern WEAK void DebugMon_Handler( void );\r
68 extern WEAK void PendSV_Handler( void );\r
69 extern WEAK void SysTick_Handler( void );\r
70 void IrqHandlerNotUsed(void);\r
71 \r
72 \r
73 // System Controller\r
74 extern void SYS_IrqHandler(void);\r
75 // SUPPLY CONTROLLER\r
76 extern WEAK void SUPC_IrqHandler(void);\r
77 // RESET CONTROLLER\r
78 extern WEAK void RSTC_IrqHandler(void);\r
79 // REAL TIME CLOCK\r
80 extern WEAK void RTC_IrqHandler(void);\r
81 // REAL TIME TIMER\r
82 extern WEAK void RTT_IrqHandler(void);\r
83 // WATCHDOG TIMER\r
84 extern WEAK void WDT_IrqHandler(void);\r
85 // PMC\r
86 extern WEAK void PMC_IrqHandler(void);\r
87 // EFC0\r
88 extern WEAK void EFC0_IrqHandler(void);\r
89 // EFC1\r
90 extern WEAK void EFC1_IrqHandler(void);\r
91 // DBGU\r
92 extern WEAK void DBGU_IrqHandler(void);\r
93 // HSMC4\r
94 extern WEAK void HSMC4_IrqHandler(void);\r
95 // Parallel IO Controller A\r
96 extern WEAK void PIOA_IrqHandler(void);\r
97 // Parallel IO Controller B\r
98 extern WEAK void PIOB_IrqHandler(void);\r
99 // Parallel IO Controller C\r
100 extern WEAK void PIOC_IrqHandler(void);\r
101 // USART 0\r
102 extern WEAK void USART0_IrqHandler(void);\r
103 // USART 1\r
104 extern WEAK void USART1_IrqHandler(void);\r
105 // USART 2\r
106 extern WEAK void USART2_IrqHandler(void);\r
107 // USART 3\r
108 extern WEAK void USART3_IrqHandler(void);\r
109 // Multimedia Card Interface\r
110 extern WEAK void MCI0_IrqHandler(void);\r
111 // TWI 0\r
112 extern WEAK void TWI0_IrqHandler(void);\r
113 // TWI 1\r
114 extern WEAK void TWI1_IrqHandler(void);\r
115 // Serial Peripheral Interface 0\r
116 extern WEAK void SPI0_IrqHandler(void);\r
117 // Serial Synchronous Controller 0\r
118 extern WEAK void SSC0_IrqHandler(void);\r
119 // Timer Counter 0\r
120 extern WEAK void TC0_IrqHandler(void);\r
121 // Timer Counter 1\r
122 extern WEAK void TC1_IrqHandler(void);\r
123 // Timer Counter 2\r
124 extern WEAK void TC2_IrqHandler(void);\r
125 // PWM Controller\r
126 extern WEAK void PWM_IrqHandler(void);\r
127 // ADC controller0\r
128 extern WEAK void ADCC0_IrqHandler(void);\r
129 // ADC controller1\r
130 extern WEAK void ADCC1_IrqHandler(void);\r
131 // HDMA\r
132 extern WEAK void HDMA_IrqHandler(void);\r
133 // USB Device High Speed UDP_HS\r
134 extern WEAK void UDPD_IrqHandler(void);\r
135 \r