]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_Kinetis_K60_Tower_IAR/Freescale_Code/cpu/vectors.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_Kinetis_K60_Tower_IAR / Freescale_Code / cpu / vectors.h
1 /******************************************************************************\r
2 * File:    vectors.h\r
3 *\r
4 * Purpose: Provide custom interrupt service routines for Kinetis.\r
5 *\r
6 * NOTE: This vector table is a superset table, so interrupt sources might be\r
7 *       listed that are not available on the specific Kinetis device you are\r
8 *       using.\r
9 ******************************************************************************/\r
10 \r
11 #ifndef __VECTORS_H\r
12 #define __VECTORS_H     1\r
13 \r
14 /* The kernel interrupts - in their CMSIS form. */\r
15 extern void SVC_Handler( void );\r
16 extern void PendSV_Handler( void );\r
17 extern void SysTick_Handler( void );\r
18 \r
19 /* The button interrupt. */\r
20 extern void vPort_E_ISRHandler( void );\r
21 \r
22 /* Ethernet interrupt handlers. */\r
23 void vEMAC_TxISRHandler( void );\r
24 void vEMAC_RxISRHandler( void );\r
25 void vEMAC_ErrorISRHandler( void );\r
26 \r
27 // function prototype for default_isr in vectors.c\r
28 void default_isr(void);\r
29 void abort_isr(void);\r
30 \r
31 void hard_fault_handler_c(unsigned int * hardfault_args);\r
32 \r
33 /* Interrupt Vector Table Function Pointers */\r
34 typedef void pointer(void);\r
35 \r
36 extern void __startup(void);\r
37 \r
38 extern unsigned long __BOOT_STACK_ADDRESS[];\r
39 extern void __iar_program_start(void);\r
40                                         // Address     Vector IRQ   Source module   Source description\r
41 #define VECTOR_000      (pointer*)__BOOT_STACK_ADDRESS  //          ARM core        Initial Supervisor SP\r
42 #define VECTOR_001      __startup       // 0x0000_0004 1 -          ARM core        Initial Program Counter\r
43 #define VECTOR_002      default_isr     // 0x0000_0008 2 -          ARM core        Non-maskable Interrupt (NMI)\r
44 #define VECTOR_003      default_isr     // 0x0000_000C 3 -          ARM core        Hard Fault\r
45 #define VECTOR_004      default_isr     // 0x0000_0010 4 -\r
46 #define VECTOR_005      default_isr     // 0x0000_0014 5 -          ARM core         Bus Fault\r
47 #define VECTOR_006      default_isr     // 0x0000_0018 6 -          ARM core         Usage Fault\r
48 #define VECTOR_007      default_isr     // 0x0000_001C 7 -\r
49 #define VECTOR_008      default_isr     // 0x0000_0020 8 -\r
50 #define VECTOR_009      default_isr     // 0x0000_0024 9 -\r
51 #define VECTOR_010      default_isr     // 0x0000_0028 10 -\r
52 #define VECTOR_011      SVC_Handler     // 0x0000_002C 11 -         ARM core         Supervisor call (SVCall)\r
53 #define VECTOR_012      default_isr     // 0x0000_0030 12 -         ARM core         Debug Monitor\r
54 #define VECTOR_013      default_isr     // 0x0000_0034 13 -\r
55 #define VECTOR_014      PendSV_Handler  // 0x0000_0038 14 -         ARM core         Pendable request for system service (PendableSrvReq)\r
56 #define VECTOR_015      SysTick_Handler // 0x0000_003C 15 -         ARM core         System tick timer (SysTick)\r
57 #define VECTOR_016      default_isr     // 0x0000_0040 16     0     DMA              DMA Channel 0 transfer complete\r
58 #define VECTOR_017      default_isr     // 0x0000_0044 17     1     DMA              DMA Channel 1 transfer complete\r
59 #define VECTOR_018      default_isr     // 0x0000_0048 18     2     DMA              DMA Channel 2 transfer complete\r
60 #define VECTOR_019      default_isr     // 0x0000_004C 19     3     DMA              DMA Channel 3 transfer complete\r
61 #define VECTOR_020      default_isr     // 0x0000_0050 20     4     DMA              DMA Channel 4 transfer complete\r
62 #define VECTOR_021      default_isr     // 0x0000_0054 21     5     DMA              DMA Channel 5 transfer complete\r
63 #define VECTOR_022      default_isr     // 0x0000_0058 22     6     DMA              DMA Channel 6 transfer complete\r
64 #define VECTOR_023      default_isr     // 0x0000_005C 23     7     DMA              DMA Channel 7 transfer complete\r
65 #define VECTOR_024      default_isr     // 0x0000_0060 24     8     DMA              DMA Channel 8 transfer complete\r
66 #define VECTOR_025      default_isr     // 0x0000_0064 25     9     DMA              DMA Channel 9 transfer complete\r
67 #define VECTOR_026      default_isr     // 0x0000_0068 26    10     DMA              DMA Channel 10 transfer complete\r
68 #define VECTOR_027      default_isr     // 0x0000_006C 27    11     DMA              DMA Channel 11 transfer complete\r
69 #define VECTOR_028      default_isr     // 0x0000_0070 28    12     DMA              DMA Channel 12 transfer complete\r
70 #define VECTOR_029      default_isr     // 0x0000_0074 29    13     DMA              DMA Channel 13 transfer complete\r
71 #define VECTOR_030      default_isr     // 0x0000_0078 30    14     DMA              DMA Channel 14 transfer complete\r
72 #define VECTOR_031      default_isr     // 0x0000_007C 31    15     DMA              DMA Channel 15 transfer complete\r
73 #define VECTOR_032      default_isr     // 0x0000_0080 32    16     DMA              DMA Error Interrupt Channels 0-15\r
74 #define VECTOR_033      default_isr     // 0x0000_0084 33    17     MCM              Normal interrupt\r
75 #define VECTOR_034      default_isr     // 0x0000_0088 34    18     Flash memory     Command Complete\r
76 #define VECTOR_035      default_isr     // 0x0000_008C 35    19     Flash memory     Read Collision\r
77 #define VECTOR_036      default_isr     // 0x0000_0090 36    20     Mode Controller  Low Voltage Detect,Low Voltage Warning, Low Leakage Wakeup\r
78 #define VECTOR_037      default_isr     // 0x0000_0094 37    21     LLWU\r
79 #define VECTOR_038      default_isr     // 0x0000_0098 38    22     WDOG\r
80 #define VECTOR_039      default_isr     // 0x0000_009C 39    23         RNGB\r
81 #define VECTOR_040      default_isr     // 0x0000_00A0 40    24     I2C0\r
82 #define VECTOR_041      default_isr     // 0x0000_00A4 41    25     I2C1\r
83 #define VECTOR_042      default_isr     // 0x0000_00A8 42    26     SPI0             Single interrupt vector for all sources\r
84 #define VECTOR_043      default_isr     // 0x0000_00AC 43    27     SPI1             Single interrupt vector for all sources\r
85 #define VECTOR_044      default_isr     // 0x0000_00B0 44    28     SPI2             Single interrupt vector for all sources\r
86 #define VECTOR_045      default_isr     // 0x0000_00B4 45    29     CAN0             OR'ed Message buffer (0-15)\r
87 #define VECTOR_046      default_isr     // 0x0000_00B8 46    30     CAN0             Bus Off\r
88 #define VECTOR_047      default_isr     // 0x0000_00BC 47    31     CAN0             Error\r
89 #define VECTOR_048      default_isr     // 0x0000_00C0 48    32     CAN0             Transmit Warning\r
90 #define VECTOR_049      default_isr     // 0x0000_00C4 49    33     CAN0             Receive Warning\r
91 #define VECTOR_050      default_isr     // 0x0000_00C8 50    34     CAN0             Wake Up\r
92 #define VECTOR_051      default_isr     // 0x0000_00CC 51    35     CAN0             Individual Matching Elements Update (IMEU)\r
93 #define VECTOR_052      default_isr     // 0x0000_00D0 52    36     CAN0             Lost receive\r
94 #define VECTOR_053      default_isr     // 0x0000_00D4 53    37     CAN1             OR'ed Message buffer (0-15)\r
95 #define VECTOR_054      default_isr     // 0x0000_00D8 54    38     CAN1             Bus off\r
96 #define VECTOR_055      default_isr     // 0x0000_00DC 55    39     CAN1             Error\r
97 #define VECTOR_056      default_isr     // 0x0000_00E0 56    40     CAN1             Transmit Warning\r
98 #define VECTOR_057      default_isr     // 0x0000_00E4 57    41     CAN1             Receive Warning\r
99 #define VECTOR_058      default_isr     // 0x0000_00E8 58    42     CAN1             Wake Up\r
100 #define VECTOR_059      default_isr     // 0x0000_00EC 59    43     CAN1             Individual Matching Elements Update (IMEU)\r
101 #define VECTOR_060      default_isr     // 0x0000_00F0 60    44     CAN1             Lost receive\r
102 #define VECTOR_061      default_isr     // 0x0000_00F4 61    45     UART0            Single interrupt vector for UART status sources\r
103 #define VECTOR_062      default_isr     // 0x0000_00F8 62    46     UART0            Single interrupt vector for UART error sources\r
104 #define VECTOR_063      default_isr     // 0x0000_00FC 63    47     UART1            Single interrupt vector for UART status sources\r
105 #define VECTOR_064      default_isr     // 0x0000_0100 64    48     UART1            Single interrupt vector for UART error sources\r
106 #define VECTOR_065      default_isr     // 0x0000_0104 65    49     UART2            Single interrupt vector for UART status sources\r
107 #define VECTOR_066      default_isr     // 0x0000_0108 66    50     UART2            Single interrupt vector for UART error sources\r
108 #define VECTOR_067      default_isr     // 0x0000_010C 67    51     UART3            Single interrupt vector for UART status sources\r
109 #define VECTOR_068      default_isr     // 0x0000_0110 68    52     UART3            Single interrupt vector for UART error sources\r
110 #define VECTOR_069      default_isr     // 0x0000_0114 69    53     UART4            Single interrupt vector for UART status sources\r
111 #define VECTOR_070      default_isr     // 0x0000_0118 70    54     UART4            Single interrupt vector for UART error sources\r
112 #define VECTOR_071      default_isr     // 0x0000_011C 71    55     UART5            Single interrupt vector for UART status sources\r
113 #define VECTOR_072      default_isr     // 0x0000_0120 72    56     UART5            Single interrupt vector for UART error sources\r
114 #define VECTOR_073      default_isr     // 0x0000_0124 73    57     ADC0\r
115 #define VECTOR_074      default_isr     // 0x0000_0128 74    58     ADC1\r
116 #define VECTOR_075      default_isr     // 0x0000_012C 75    59     CMP0             High-speed comparator\r
117 #define VECTOR_076      default_isr     // 0x0000_0130 76    60     CMP1\r
118 #define VECTOR_077      default_isr     // 0x0000_0134 77    61     CMP2\r
119 #define VECTOR_078      default_isr     // 0x0000_0138 78    62     FTM0                         Single interrupt vector for all sources\r
120 #define VECTOR_079      default_isr     // 0x0000_013C 79    63     FTM1                         Single interrupt vector for all sources\r
121 #define VECTOR_080      default_isr     // 0x0000_0140 80    64     FTM2                         Single interrupt vector for all sources\r
122 #define VECTOR_081      default_isr     // 0x0000_0144 81    65     CMT\r
123 #define VECTOR_082      default_isr     // 0x0000_0148 82    66     RTC Timer interrupt\r
124 #define VECTOR_083      default_isr     // 0x0000_014C 83    67\r
125 #define VECTOR_084      default_isr     // 0x0000_0150 84    68     PIT Channel 0\r
126 #define VECTOR_085      default_isr     // 0x0000_0154 85    69     PIT Channel 1\r
127 #define VECTOR_086      default_isr     // 0x0000_0158 86    70     PIT Channel 2\r
128 #define VECTOR_087      default_isr     // 0x0000_015C 87    71     PIT Channel 3\r
129 #define VECTOR_088      default_isr     // 0x0000_0160 88    72     PDB\r
130 #define VECTOR_089      default_isr     // 0x0000_0164 89    73     USB OTG\r
131 #define VECTOR_090      default_isr     // 0x0000_0168 90    74     USB Charger Detect\r
132 #define VECTOR_091      default_isr     // 0x0000_016C 91    75         ENET                     IEEE 1588 Timer interrupt                      \r
133 #define VECTOR_092      vEMAC_TxISRHandler     // 0x0000_0170 92    76          ENET                     Transmit interrupt\r
134 #define VECTOR_093      vEMAC_RxISRHandler     // 0x0000_0174 93    77          ENET                     Receive interrupt\r
135 #define VECTOR_094      vEMAC_ErrorISRHandler  // 0x0000_0178 94    78          ENET                     Error and miscellaneous interrupt\r
136 #define VECTOR_095      default_isr     // 0x0000_017C 95    79     I2S\r
137 #define VECTOR_096      default_isr     // 0x0000_0180 96    80     SDHC\r
138 #define VECTOR_097      default_isr     // 0x0000_0184 97    81     DAC0\r
139 #define VECTOR_098      default_isr     // 0x0000_0188 98    82     DAC1\r
140 #define VECTOR_099      default_isr     // 0x0000_018C 99    83     TSI                          Single interrupt vector for all sources\r
141 #define VECTOR_100      default_isr     // 0x0000_0190 100   84     MCG\r
142 #define VECTOR_101      default_isr     // 0x0000_0194 101   85     Low Power Timer\r
143 #define VECTOR_102      default_isr     // 0x0000_0198 102   86     Segment LCD          Single interrupt vector for all sources\r
144 #define VECTOR_103      default_isr     // 0x0000_019C 103   87     Port control module Pin Detect (Port A)\r
145 #define VECTOR_104      default_isr     // 0x0000_01A0 104   88     Port control module Pin Detect (Port B)\r
146 #define VECTOR_105      default_isr     // 0x0000_01A4 105   89     Port control module Pin Detect (Port C)\r
147 #define VECTOR_106      default_isr     // 0x0000_01A8 106   90     Port control module Pin Detect (Port D)\r
148 #define VECTOR_107      vPort_E_ISRHandler // 0x0000_01AC 107   91     Port control module Pin Detect (Port E)\r
149 #define VECTOR_108      default_isr     // 0x0000_01B0 108   92\r
150 #define VECTOR_109      default_isr     // 0x0000_01B4 109   93\r
151 #define VECTOR_110      default_isr     // 0x0000_01B8 110   94\r
152 #define VECTOR_111      default_isr     // 0x0000_01BC 111   95\r
153 #define VECTOR_112      default_isr     // 0x0000_01C0 112   96\r
154 #define VECTOR_113      default_isr     // 0x0000_01C4 113   97\r
155 #define VECTOR_114      default_isr     // 0x0000_01C8 114   98\r
156 #define VECTOR_115      default_isr     // 0x0000_01CC 115   99\r
157 #define VECTOR_116      default_isr     // 0x0000_01D0 116   100\r
158 #define VECTOR_117      default_isr     // 0x0000_01D4 117   101\r
159 #define VECTOR_118      default_isr     // 0x0000_01D8 118   102\r
160 #define VECTOR_119      default_isr     // 0x0000_01DC 119   103\r
161 #define VECTOR_120      default_isr     //\r
162 #define VECTOR_121      default_isr     //\r
163 #define VECTOR_122      default_isr     //\r
164 #define VECTOR_123      default_isr     //\r
165 #define VECTOR_124      default_isr     //\r
166 #define VECTOR_125      default_isr     //\r
167 #define VECTOR_126      default_isr     //\r
168 #define VECTOR_127      default_isr     //\r
169 #define VECTOR_128      default_isr     //\r
170 #define VECTOR_129      default_isr     //\r
171 #define VECTOR_130      default_isr     //\r
172 #define VECTOR_131      default_isr     //\r
173 #define VECTOR_132      default_isr     //\r
174 #define VECTOR_133      default_isr     //\r
175 #define VECTOR_134      default_isr     //\r
176 #define VECTOR_135      default_isr     //\r
177 #define VECTOR_136      default_isr     //\r
178 #define VECTOR_137      default_isr     //\r
179 #define VECTOR_138      default_isr     //\r
180 #define VECTOR_139      default_isr     //\r
181 #define VECTOR_140      default_isr     //\r
182 #define VECTOR_141      default_isr     //\r
183 #define VECTOR_142      default_isr     //\r
184 #define VECTOR_143      default_isr     //\r
185 #define VECTOR_144      default_isr     //\r
186 #define VECTOR_145      default_isr     //\r
187 #define VECTOR_146      default_isr     //\r
188 #define VECTOR_147      default_isr     //\r
189 #define VECTOR_148      default_isr     //\r
190 #define VECTOR_149      default_isr     //\r
191 #define VECTOR_150      default_isr     //\r
192 #define VECTOR_151      default_isr     //\r
193 #define VECTOR_152      default_isr     //\r
194 #define VECTOR_153      default_isr     //\r
195 #define VECTOR_154      default_isr     //\r
196 #define VECTOR_155      default_isr     //\r
197 #define VECTOR_156      default_isr     //\r
198 #define VECTOR_157      default_isr     //\r
199 #define VECTOR_158      default_isr     //\r
200 #define VECTOR_159      default_isr     //\r
201 #define VECTOR_160      default_isr     //\r
202 #define VECTOR_161      default_isr     //\r
203 #define VECTOR_162      default_isr     //\r
204 #define VECTOR_163      default_isr     //\r
205 #define VECTOR_164      default_isr     //\r
206 #define VECTOR_165      default_isr     //\r
207 #define VECTOR_166      default_isr     //\r
208 #define VECTOR_167      default_isr     //\r
209 #define VECTOR_168      default_isr     //\r
210 #define VECTOR_169      default_isr     //\r
211 #define VECTOR_170      default_isr     //\r
212 #define VECTOR_171      default_isr     //\r
213 #define VECTOR_172      default_isr     //\r
214 #define VECTOR_173      default_isr     //\r
215 #define VECTOR_174      default_isr     //\r
216 #define VECTOR_175      default_isr     //\r
217 #define VECTOR_176      default_isr     //\r
218 #define VECTOR_177      default_isr     //\r
219 #define VECTOR_178      default_isr     //\r
220 #define VECTOR_179      default_isr     //\r
221 #define VECTOR_180      default_isr     //\r
222 #define VECTOR_181      default_isr     //\r
223 #define VECTOR_182      default_isr     //\r
224 #define VECTOR_183      default_isr     //\r
225 #define VECTOR_184      default_isr     //\r
226 #define VECTOR_185      default_isr     //\r
227 #define VECTOR_186      default_isr     //\r
228 #define VECTOR_187      default_isr     //\r
229 #define VECTOR_188      default_isr     //\r
230 #define VECTOR_189      default_isr     //\r
231 #define VECTOR_190      default_isr     //\r
232 #define VECTOR_191      default_isr     //\r
233 #define VECTOR_192      default_isr     //\r
234 #define VECTOR_193      default_isr     //\r
235 #define VECTOR_194      default_isr     //\r
236 #define VECTOR_195      default_isr     //\r
237 #define VECTOR_196      default_isr     //\r
238 #define VECTOR_197      default_isr     //\r
239 #define VECTOR_198      default_isr     //\r
240 #define VECTOR_199      default_isr     //\r
241 #define VECTOR_200      default_isr     //\r
242 #define VECTOR_201      default_isr     //\r
243 #define VECTOR_202      default_isr     //\r
244 #define VECTOR_203      default_isr     //\r
245 #define VECTOR_204      default_isr     //\r
246 #define VECTOR_205      default_isr     //\r
247 #define VECTOR_206      default_isr     //\r
248 #define VECTOR_207      default_isr     //\r
249 #define VECTOR_208      default_isr     //\r
250 #define VECTOR_209      default_isr     //\r
251 #define VECTOR_210      default_isr     //\r
252 #define VECTOR_211      default_isr     //\r
253 #define VECTOR_212      default_isr     //\r
254 #define VECTOR_213      default_isr     //\r
255 #define VECTOR_214      default_isr     //\r
256 #define VECTOR_215      default_isr     //\r
257 #define VECTOR_216      default_isr     //\r
258 #define VECTOR_217      default_isr     //\r
259 #define VECTOR_218      default_isr     //\r
260 #define VECTOR_219      default_isr     //\r
261 #define VECTOR_220      default_isr     //\r
262 #define VECTOR_221      default_isr     //\r
263 #define VECTOR_222      default_isr     //\r
264 #define VECTOR_223      default_isr     //\r
265 #define VECTOR_224      default_isr     //\r
266 #define VECTOR_225      default_isr     //\r
267 #define VECTOR_226      default_isr     //\r
268 #define VECTOR_227      default_isr     //\r
269 #define VECTOR_228      default_isr     //\r
270 #define VECTOR_229      default_isr     //\r
271 #define VECTOR_230      default_isr     //\r
272 #define VECTOR_231      default_isr     //\r
273 #define VECTOR_232      default_isr     //\r
274 #define VECTOR_233      default_isr     //\r
275 #define VECTOR_234      default_isr     //\r
276 #define VECTOR_235      default_isr     //\r
277 #define VECTOR_236      default_isr     //\r
278 #define VECTOR_237      default_isr     //\r
279 #define VECTOR_238      default_isr     //\r
280 #define VECTOR_239      default_isr     //\r
281 #define VECTOR_240      default_isr     //\r
282 #define VECTOR_241      default_isr     //\r
283 #define VECTOR_242      default_isr     //\r
284 #define VECTOR_243      default_isr     //\r
285 #define VECTOR_244      default_isr     //\r
286 #define VECTOR_245      default_isr     //\r
287 #define VECTOR_246      default_isr     //\r
288 #define VECTOR_247      default_isr     //\r
289 #define VECTOR_248      default_isr     //\r
290 #define VECTOR_249      default_isr     //\r
291 #define VECTOR_250      default_isr     //\r
292 #define VECTOR_251      default_isr     //\r
293 #define VECTOR_252      default_isr     //\r
294 #define VECTOR_253      default_isr     //\r
295 #define VECTOR_254      default_isr     //\r
296 #define VECTOR_255      default_isr     //\r
297 #define CONFIG_1                (pointer*)0xffffffff\r
298 #define CONFIG_2                (pointer*)0xffffffff\r
299 #define CONFIG_3                (pointer*)0xffffffff\r
300 #define CONFIG_4                (pointer*)0xfffffffe\r
301 \r
302 #endif /*__VECTORS_H*/\r
303 \r
304 /* End of "vectors.h" */\r