]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/HCS12_GCC_banked/asm-m68hcs12/interrupts-dp256.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / HCS12_GCC_banked / asm-m68hcs12 / interrupts-dp256.h
1 /* Interrupt Vectors defined\r
2    Copyright (C) 2004 Robotronics, Inc.\r
3    Author Jefferson Smith, Robotronics\r
4 \r
5 This file is free software; you can redistribute it and/or modify it\r
6 under the terms of the GNU General Public License as published by the\r
7 Free Software Foundation; either version 2, or (at your option) any\r
8 later version.\r
9 \r
10 In addition to the permissions in the GNU General Public License, the\r
11 Free Software Foundation gives you unlimited permission to link the\r
12 compiled version of this file with other programs, and to distribute\r
13 those programs without any restriction coming from the use of this\r
14 file.  (The General Public License restrictions do apply in other\r
15 respects; for example, they cover modification of the file, and\r
16 distribution when not linked into another program.)\r
17 \r
18 This file is distributed in the hope that it will be useful, but\r
19 WITHOUT ANY WARRANTY; without even the implied warranty of\r
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
21 General Public License for more details.\r
22 \r
23 You should have received a copy of the GNU General Public License\r
24 along with this program; see the file COPYING.  If not, write to\r
25 the Free Software Foundation, 59 Temple Place - Suite 330,\r
26 Boston, MA 02111-1307, USA.  */\r
27 \r
28 #ifndef _M68HC12_ASM_INTERRUPTS_DP256_H\r
29 #define _M68HC12_ASM_INTERRUPTS_DP256_H\r
30 \r
31 /** Interrupt vectors as a struct.  */\r
32 struct interrupt_vectors\r
33 {\r
34   interrupt_t res0_handler;        /* 0x80 */\r
35   interrupt_t res1_handler;        /* 0x82 */\r
36   interrupt_t res2_handler;        /* 0x84 */\r
37   interrupt_t res3_handler;        /* 0x86 */\r
38   interrupt_t res4_handler;        /* 0x88 */\r
39   interrupt_t res5_handler;        /* 0x8a */\r
40   interrupt_t pwm_shutdown_handler; /* 0x8c */\r
41   interrupt_t ptpif_handler;\r
42   \r
43   /** Controller Area Networking */\r
44   interrupt_t can4_tx_handler;\r
45   interrupt_t can4_rx_handler;\r
46   interrupt_t can4_err_handler;\r
47   interrupt_t can4_wake_handler;\r
48   interrupt_t can3_tx_handler;\r
49   interrupt_t can3_rx_handler;\r
50   interrupt_t can3_err_handler;\r
51   interrupt_t can3_wake_handler;\r
52   interrupt_t can2_tx_handler;\r
53   interrupt_t can2_rx_handler;\r
54   interrupt_t can2_err_handler;\r
55   interrupt_t can2_wake_handler;\r
56   interrupt_t can1_tx_handler;\r
57   interrupt_t can1_rx_handler;\r
58   interrupt_t can1_err_handler;\r
59   interrupt_t can1_wake_handler;\r
60   interrupt_t can0_tx_handler;\r
61   interrupt_t can0_rx_handler;\r
62   interrupt_t can0_err_handler;\r
63   interrupt_t can0_wake_handler;\r
64   \r
65   interrupt_t flash_handler;\r
66   interrupt_t eeprom_handler;\r
67   interrupt_t spi2_handler;\r
68   interrupt_t spi1_handler;\r
69   interrupt_t iic_handler;\r
70   interrupt_t bdlc_handler;\r
71   interrupt_t selfclk_mode_handler;\r
72   interrupt_t pll_lock_handler;\r
73   interrupt_t accb_overflow_handler;\r
74   interrupt_t mccnt_underflow_handler;\r
75   interrupt_t pthif_handler;\r
76   interrupt_t ptjif_handler;\r
77   interrupt_t atd1_handler;\r
78   interrupt_t atd0_handler;\r
79   interrupt_t sci1_handler;\r
80   interrupt_t sci0_handler;\r
81   interrupt_t spi0_handler;\r
82   \r
83   /** Timer and Accumulator */\r
84   interrupt_t acca_input_handler;\r
85   interrupt_t acca_overflow_handler;\r
86   interrupt_t timer_overflow_handler;\r
87   \r
88   /** Input capture / Output compare Timers */\r
89   interrupt_t tc7_handler;\r
90   interrupt_t tc6_handler;\r
91   interrupt_t tc5_handler;\r
92   interrupt_t tc4_handler;\r
93   interrupt_t tc3_handler;\r
94   interrupt_t tc2_handler;\r
95   interrupt_t tc1_handler;\r
96   interrupt_t tc0_handler;\r
97   \r
98   /** External Interrupts */\r
99   interrupt_t rtii_handler;\r
100   interrupt_t irq_handler;\r
101   interrupt_t xirq_handler;\r
102 \r
103   /** Software Interrupt  */\r
104   interrupt_t swi_handler;\r
105 \r
106   /** Illegal Instruction Reset  */\r
107   interrupt_t illegal_handler;\r
108 \r
109   /** COP Timeout Reset  */\r
110   interrupt_t cop_fail_handler;\r
111 \r
112   /** Clock Monitor Fail Reset  */\r
113   interrupt_t cop_clock_handler;\r
114 \r
115   /** Start or Reset vector  */\r
116   interrupt_t reset_handler;\r
117 };\r
118 typedef struct interrupt_vectors interrupt_vectors_t;\r
119 \r
120 /** Interrupt vector id. */\r
121 enum interrupt_vector_id\r
122 {\r
123   RES0_VECTOR = 0,\r
124   RES1_VECTOR,\r
125   RES2_VECTOR,\r
126   RES3_VECTOR,\r
127   RES4_VECTOR,\r
128   RES5_VECTOR,\r
129   PWM_SHUTDOWN_VECTOR,\r
130   PTPIF_VECTOR,\r
131   CAN4_TX_VECTOR,\r
132   CAN4_RX_VECTOR,\r
133   CAN4_ERR_VECTOR,\r
134   CAN4_WAKE_VECTOR,\r
135   CAN3_TX_VECTOR,\r
136   CAN3_RX_VECTOR,\r
137   CAN3_ERR_VECTOR,\r
138   CAN3_WAKE_VECTOR,\r
139   CAN2_TX_VECTOR,\r
140   CAN2_RX_VECTOR,\r
141   CAN2_ERR_VECTOR,\r
142   CAN2_WAKE_VECTOR,\r
143   CAN1_TX_VECTOR,\r
144   CAN1_RX_VECTOR,\r
145   CAN1_ERR_VECTOR,\r
146   CAN1_WAKE_VECTOR,\r
147   CAN0_TX_VECTOR,\r
148   CAN0_RX_VECTOR,\r
149   CAN0_ERR_VECTOR,\r
150   CAN0_WAKE_VECTOR,\r
151   FLASH_VECTOR,\r
152   EEPROM_VECTOR,\r
153   SPI2_VECTOR,\r
154   SPI1_VECTOR,\r
155   IIC_VECTOR,\r
156   BDLC_VECTOR,\r
157   SELFCLK_MODE_VECTOR,\r
158   PLL_LOCK_VECTOR,\r
159   ACCB_OVERFLOW_VECTOR,\r
160   MCCNT_UNDERFLOW_VECTOR,\r
161   PTHIF_VECTOR,\r
162   PTJIF_VECTOR,\r
163   ATD1_VECTOR,\r
164   ATD0_VECTOR,\r
165   SCI1_VECTOR,\r
166   SCI0_VECTOR,\r
167   SPI0_VECTOR,\r
168   ACCA_INPUT_VECTOR,\r
169   ACCA_OVERFLOW_VECTOR,\r
170   TIMER_OVERFLOW_VECTOR,\r
171   TC7_VECTOR,\r
172   TC6_VECTOR,\r
173   TC5_VECTOR,\r
174   TC4_VECTOR,\r
175   TC3_VECTOR,\r
176   TC2_VECTOR,\r
177   TC1_VECTOR,\r
178   TC0_VECTOR,\r
179   RTI_VECTOR,\r
180   IRQ_VECTOR,\r
181   XIRQ_VECTOR,\r
182   SWI_VECTOR,\r
183   ILLEGAL_OPCODE_VECTOR,\r
184   COP_FAIL_VECTOR,\r
185   COP_CLOCK_VECTOR,\r
186   RESET_VECTOR,\r
187   MAX_VECTORS\r
188 };\r
189 typedef enum interrupt_vector_id interrupt_vector_id;\r
190 \r
191 /** some backwards-compatible equivalents from HC11 */\r
192 #define SCI_VECTOR           SCI0_VECTOR\r
193 #define SPI_VECTOR           SPI0_VECTOR\r
194 #define ACC_INPUT_VECTOR     ACCA_INPUT_VECTOR\r
195 #define ACC_OVERFLOW_VECTOR  ACCA_OVERFLOW_VECTOR\r
196 \r
197 #endif  /* _M68HC12_ASM_INTERRUPTS_DP256_H */\r