c0cf9c216674574d1a5f4afeae2ee8f12f9a334b
[pyfrprog.git] / vectors.c
1 /* THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU */
2 /* MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR */
3 /* ELIGIBILITY FOR ANY PURPOSES.                                             */
4 /*                 (C) Fujitsu Microelectronics Europe GmbH                  */
5 /*------------------------------------------------------------------------
6   VECTORS.C
7   - Interrupt level (priority) setting
8   - Interrupt vector definition
9
10   31.04.05  1.00   UMa    Initial Version
11   08.11.05  1.01   MSt    SWB Mondeb switch for ICR00 Register added
12   27.02.06  1.02   UMa    added comment in DefaultIRQHandler 
13   17.03.06  1.03   UMa    comment out ICR01
14   28.07.06  1.04   UMa    changed comment
15   06.10.06  1.05   UMa    changed DefaultIRQHandler
16 -------------------------------------------------------------------------*/
17
18 #include "mb91465kH.h"
19 #include "RLT.h"
20
21 /*------------------------------------------------------------------------
22   InitIrqLevels()
23
24   This function  pre-sets all interrupt control registers. It can be used
25   to set all interrupt priorities in static applications. If this file
26   contains assignments to dedicated resources, verify  that the
27   appropriate controller is used. Not all devices of the MB91460 Series
28   offer all recources.
29
30   NOTE: value 31 disables the interrupt and value 16 sets highest priority.
31 -------------------------------------------------------------------------*/
32 void InitIrqLevels(void)
33 {
34     /*  ICRxx */ 
35 /* Softune Workbench Monitor Debugger is using ext int0 for abort function */
36 /*  ICR00 = 31;  *//* External Interrupt 0         */
37                    /* External Interrupt 1         */                 
38     ICR01 = 31;    /* External Interrupt 2         */
39                    /* External Interrupt 3         */
40     ICR02 = 31;    /* External Interrupt 4         */
41                    /* External Interrupt 5         */
42     ICR03 = 31;    /* External Interrupt 6         */
43                    /* External Interrupt 7         */
44     ICR04 = 31;    /* External Interrupt 8         */
45                    /* External Interrupt 9         */
46     ICR05 = 31;    /* External Interrupt 10        */
47                    /* External Interrupt 11        */
48     ICR06 = 31;    /* External Interrupt 12        */
49                    /* External Interrupt 13        */
50     ICR07 = 31;    /* External Interrupt 14        */
51                    /* External Interrupt 15        */
52     ICR08 = 30;    /* Reload Timer 0               */
53                    /* Reload Timer 1               */
54     ICR09 = 31;    /* Reload Timer 2               */
55                    /* Reload Timer 3               */
56     ICR10 = 31;    /* Reload Timer 4               */
57                    /* Reload Timer 5               */
58     ICR11 = 31;    /* Reload Timer 6               */
59                    /* Reload Timer 7               */
60     ICR12 = 31;    /* Free Run Timer 0             */
61                    /* Free Run Timer 1             */
62     ICR13 = 31;    /* Free Run Timer 2             */
63                    /* Free Run Timer 3             */
64     ICR14 = 31;    /* Free Run Timer 4             */
65                    /* Free Run Timer 5             */
66     ICR15 = 31;    /* Free Run Timer 6             */
67                    /* Free Run Timer 7             */
68     ICR16 = 31;    /* CAN 0                        */
69                    /* CAN 1                        */
70     ICR17 = 31;    /* CAN 2                        */
71                    /* CAN 3                        */
72     ICR18 = 31;    /* CAN 4                        */
73                    /* CAN 5                        */
74     ICR19 = 31;    /* USART (LIN) 0 RX             */
75                    /* USART (LIN) 0 TX             */
76     ICR20 = 31;    /* USART (LIN) 1 RX             */
77                    /* USART (LIN) 1 TX             */
78     ICR21 = 31;    /* USART (LIN) 2 RX             */
79                    /* USART (LIN) 2 TX             */
80     ICR22 = 31;    /* USART (LIN) 3 RX             */
81                    /* USART (LIN) 3 TX             */
82     ICR23 = 31;    /* System Reserved              */
83                    /* Delayed Interrupt            */
84     ICR24 = 31;    /* System Reserved              */
85                    /* System Reserved              */
86     ICR25 = 31;    /* USART (LIN, FIFO) 4 RX       */
87                    /* USART (LIN, FIFO) 4 TX       */
88     ICR26 = 31;    /* USART (LIN, FIFO) 5 RX       */
89                    /* USART (LIN, FIFO) 5 TX       */
90     ICR27 = 31;    /* USART (LIN, FIFO) 6 RX       */
91                    /* USART (LIN, FIFO) 6 TX       */
92     ICR28 = 31;    /* USART (LIN, FIFO) 7 RX       */
93                    /* USART (LIN, FIFO) 7 TX       */
94     ICR29 = 31;    /* I2C 0 / I2C 2                */
95                    /* I2C 1 / I2C 3                */
96     ICR30 = 31;    /* USART (LIN, FIFO) 8 RX       */
97                    /* USART (LIN, FIFO) 8 TX       */
98     ICR31 = 31;    /* USART (LIN, FIFO) 9 RX       */
99                    /* USART (LIN, FIFO) 9 TX       */
100     ICR32 = 31;    /* USART (LIN, FIFO) 10 RX      */
101                    /* USART (LIN, FIFO) 10 TX      */
102     ICR33 = 31;    /* USART (LIN, FIFO) 11 RX      */
103                    /* USART (LIN, FIFO) 11 TX      */
104     ICR34 = 31;    /* USART (LIN, FIFO) 12 RX      */
105                    /* USART (LIN, FIFO) 12 TX      */
106     ICR35 = 31;    /* USART (LIN, FIFO) 13 RX      */
107                    /* USART (LIN, FIFO) 13 TX      */
108     ICR36 = 31;    /* USART (LIN, FIFO) 14 RX      */
109                    /* USART (LIN, FIFO) 14 TX      */
110     ICR37 = 31;    /* USART (LIN, FIFO) 15 RX      */
111                    /* USART (LIN, FIFO) 15 TX      */
112     ICR38 = 31;    /* Input Capture 0              */
113                    /* Input Capture 1              */
114     ICR39 = 31;    /* Input Capture 2              */
115                    /* Input Capture 3              */
116     ICR40 = 31;    /* Input Capture 4              */
117                    /* Input Capture 5              */
118     ICR41 = 31;    /* Input Capture 6              */
119                    /* Input Capture 7              */
120     ICR42 = 31;    /* Output Compare 0             */
121                    /* Output Compare 1             */
122     ICR43 = 31;    /* Output Compare 2             */
123                    /* Output Compare 3             */
124     ICR44 = 31;    /* Output Compare 4             */
125                    /* Output Compare 5             */
126     ICR45 = 31;    /* Output Compare 6             */
127                    /* Output Compare 7             */
128     ICR46 = 31;    /* Sound Generator              */
129                    /* Phase Frequ. Modulator       */
130     ICR47 = 31;    /* System Reserved              */
131                    /* System Reserved              */
132     ICR48 = 31;    /* Prog. Pulse Gen. 0           */
133                    /* Prog. Pulse Gen. 1           */
134     ICR49 = 31;    /* Prog. Pulse Gen. 2           */
135                    /* Prog. Pulse Gen. 3           */
136     ICR50 = 31;    /* Prog. Pulse Gen. 4           */
137                    /* Prog. Pulse Gen. 5           */
138     ICR51 = 31;    /* Prog. Pulse Gen. 6           */
139                    /* Prog. Pulse Gen. 7           */
140     ICR52 = 31;    /* Prog. Pulse Gen. 8           */
141                    /* Prog. Pulse Gen. 9           */
142     ICR53 = 31;    /* Prog. Pulse Gen. 10          */
143                    /* Prog. Pulse Gen. 11          */
144     ICR54 = 31;    /* Prog. Pulse Gen. 12          */
145                    /* Prog. Pulse Gen. 13          */
146     ICR55 = 31;    /* Prog. Pulse Gen. 14          */
147                    /* Prog. Pulse Gen. 15          */
148     ICR56 = 31;    /* Up/Down Counter 0            */
149                    /* Up/Down Counter 1            */
150     ICR57 = 31;    /* Up/Down Counter 2            */
151                    /* Up/Down Counter 3            */
152     ICR58 = 31;    /* Real Time Clock              */
153                    /* Calibration Unit             */
154     ICR59 = 31;    /* A/D Converter 0              */
155                    /* -                            */
156     ICR60 = 31;    /* Alarm Comperator 0           */
157                    /* Alarm Comperator 1           */
158     ICR61 = 31;    /* Low Volage Detector          */
159                    /* SMC Zero Point 0-5           */
160     ICR62 = 31;    /* Timebase Overflow            */
161                    /* PLL Clock Gear               */
162     ICR63 = 31;    /* DMA Controller               */
163                    /* Main/Sub OSC stability wait  */
164 }
165
166
167
168 /*------------------------------------------------------------------------
169   Prototypes
170   
171   Add your own prototypes here. Each vector definition needs is proto-
172   type. Either do it here or include a header file containing them.
173 -------------------------------------------------------------------------*/
174 __interrupt void DefaultIRQHandler (void);
175 __interrupt void RLT_Channel0_ISR (void);
176
177
178 /*------------------------------------------------------------------------
179    Vector definiton
180
181    Use following statements to define vectors. All resource related
182    vectors are predefined. Remaining software interrupts can be added here
183    as well.
184 ------------------------------------------------------------------------*/
185 #pragma intvect 0xBFF8            0     /* (fixed) reset vector         */
186 #pragma intvect 0x06000000        1     /* (fixed) Mode Byte            */
187
188 #pragma intvect DefaultIRQHandler 15    /* Non Maskable Interrupt       */
189 #pragma intvect DefaultIRQHandler 16    /* External Interrupt 0         */
190 #pragma intvect DefaultIRQHandler 17    /* External Interrupt 1         */
191 #pragma intvect DefaultIRQHandler 18    /* External Interrupt 2         */
192 #pragma intvect DefaultIRQHandler 19    /* External Interrupt 3         */
193 #pragma intvect DefaultIRQHandler 20    /* External Interrupt 4         */
194 #pragma intvect DefaultIRQHandler 21    /* External Interrupt 5         */
195 #pragma intvect DefaultIRQHandler 22    /* External Interrupt 6         */
196 #pragma intvect DefaultIRQHandler 23    /* External Interrupt 7         */
197 #pragma intvect DefaultIRQHandler 24    /* External Interrupt 8         */
198 #pragma intvect DefaultIRQHandler 25    /* External Interrupt 9         */
199 #pragma intvect DefaultIRQHandler 26    /* External Interrupt 10        */
200 #pragma intvect DefaultIRQHandler 27    /* External Interrupt 11        */
201 #pragma intvect DefaultIRQHandler 28    /* External Interrupt 12        */
202 #pragma intvect DefaultIRQHandler 29    /* External Interrupt 13        */
203 #pragma intvect DefaultIRQHandler 30    /* External Interrupt 14        */
204 #pragma intvect DefaultIRQHandler 31    /* External Interrupt 15        */
205 #pragma intvect RLT_Channel0_ISR  32    /* Reload Timer 0               */
206 #pragma intvect DefaultIRQHandler 33    /* Reload Timer 1               */
207 #pragma intvect DefaultIRQHandler 34    /* Reload Timer 2               */
208 #pragma intvect DefaultIRQHandler 35    /* Reload Timer 3               */
209 #pragma intvect DefaultIRQHandler 36    /* Reload Timer 4               */
210 #pragma intvect DefaultIRQHandler 37    /* Reload Timer 5               */
211 #pragma intvect DefaultIRQHandler 38    /* Reload Timer 6               */
212 #pragma intvect DefaultIRQHandler 39    /* Reload Timer 7               */
213 #pragma intvect DefaultIRQHandler 40    /* Free Run Timer 0             */
214 #pragma intvect DefaultIRQHandler 41    /* Free Run Timer 1             */
215 #pragma intvect DefaultIRQHandler 42    /* Free Run Timer 2             */
216 #pragma intvect DefaultIRQHandler 43    /* Free Run Timer 3             */
217 #pragma intvect DefaultIRQHandler 44    /* Free Run Timer 4             */
218 #pragma intvect DefaultIRQHandler 45    /* Free Run Timer 5             */
219 #pragma intvect DefaultIRQHandler 46    /* Free Run Timer 6             */
220 #pragma intvect DefaultIRQHandler 47    /* Free Run Timer 7             */
221 #pragma intvect DefaultIRQHandler 48    /* CAN 0                        */
222 #pragma intvect DefaultIRQHandler 49    /* CAN 1                        */
223 #pragma intvect DefaultIRQHandler 50    /* CAN 2                        */
224 #pragma intvect DefaultIRQHandler 51    /* CAN 3                        */
225 #pragma intvect DefaultIRQHandler 52    /* CAN 4                        */
226 #pragma intvect DefaultIRQHandler 53    /* CAN 5                        */
227 #pragma intvect DefaultIRQHandler 54    /* USART (LIN) 0 RX             */
228 #pragma intvect DefaultIRQHandler 55    /* USART (LIN) 0 TX             */
229 #pragma intvect DefaultIRQHandler 56    /* USART (LIN) 1 RX             */
230 #pragma intvect DefaultIRQHandler 57    /* USART (LIN) 1 TX             */
231 #pragma intvect DefaultIRQHandler 58    /* USART (LIN) 2 RX             */
232 #pragma intvect DefaultIRQHandler 59    /* USART (LIN) 2 TX             */
233 #pragma intvect DefaultIRQHandler 60    /* USART (LIN) 3 RX             */
234 #pragma intvect DefaultIRQHandler 61    /* USART (LIN) 3 TX             */
235 #pragma intvect DefaultIRQHandler 62    /* System Reserved              */
236 #pragma intvect DefaultIRQHandler 63    /* Delayed Interrupt            */
237 #pragma intvect DefaultIRQHandler 64    /* System Reserved              */
238 #pragma intvect DefaultIRQHandler 65    /* System Reserved              */
239 #pragma intvect DefaultIRQHandler 66    /* USART (LIN, FIFO) 4 RX       */
240 #pragma intvect DefaultIRQHandler 67    /* USART (LIN, FIFO) 4 TX       */
241 #pragma intvect DefaultIRQHandler 68    /* USART (LIN, FIFO) 5 RX       */
242 #pragma intvect DefaultIRQHandler 69    /* USART (LIN, FIFO) 5 TX       */
243 #pragma intvect DefaultIRQHandler 70    /* USART (LIN, FIFO) 6 RX       */
244 #pragma intvect DefaultIRQHandler 71    /* USART (LIN, FIFO) 6 TX       */
245 #pragma intvect DefaultIRQHandler 72    /* USART (LIN, FIFO) 7 RX       */
246 #pragma intvect DefaultIRQHandler 73    /* USART (LIN, FIFO) 7 TX       */
247 #pragma intvect DefaultIRQHandler 74    /* I2C 0 / I2C 2                */
248 #pragma intvect DefaultIRQHandler 75    /* I2C 1 / I2C 3                */
249 #pragma intvect DefaultIRQHandler 76    /* USART (LIN, FIFO) 8 RX       */
250 #pragma intvect DefaultIRQHandler 77    /* USART (LIN, FIFO) 8 TX       */
251 #pragma intvect DefaultIRQHandler 78    /* USART (LIN, FIFO) 9 RX       */
252 #pragma intvect DefaultIRQHandler 79    /* USART (LIN, FIFO) 9 TX       */
253 #pragma intvect DefaultIRQHandler 80    /* USART (LIN, FIFO) 10 RX      */
254 #pragma intvect DefaultIRQHandler 81    /* USART (LIN, FIFO) 10 TX      */
255 #pragma intvect DefaultIRQHandler 82    /* USART (LIN, FIFO) 11 RX      */
256 #pragma intvect DefaultIRQHandler 83    /* USART (LIN, FIFO) 11 TX      */
257 #pragma intvect DefaultIRQHandler 84    /* USART (LIN, FIFO) 12 RX      */
258 #pragma intvect DefaultIRQHandler 85    /* USART (LIN, FIFO) 12 TX      */
259 #pragma intvect DefaultIRQHandler 86    /* USART (LIN, FIFO) 13 RX      */
260 #pragma intvect DefaultIRQHandler 87    /* USART (LIN, FIFO) 13 TX      */
261 #pragma intvect DefaultIRQHandler 88    /* USART (LIN, FIFO) 14 RX      */
262 #pragma intvect DefaultIRQHandler 89    /* USART (LIN, FIFO) 14 TX      */
263 #pragma intvect DefaultIRQHandler 90    /* USART (LIN, FIFO) 15 RX      */
264 #pragma intvect DefaultIRQHandler 91    /* USART (LIN, FIFO) 15 TX      */
265 #pragma intvect DefaultIRQHandler 92    /* Input Capture 0              */
266 #pragma intvect DefaultIRQHandler 93    /* Input Capture 1              */
267 #pragma intvect DefaultIRQHandler 94    /* Input Capture 2              */
268 #pragma intvect DefaultIRQHandler 95    /* Input Capture 3              */
269 #pragma intvect DefaultIRQHandler 96    /* Input Capture 4              */
270 #pragma intvect DefaultIRQHandler 97    /* Input Capture 5              */
271 #pragma intvect DefaultIRQHandler 98    /* Input Capture 6              */
272 #pragma intvect DefaultIRQHandler 99    /* Input Capture 7              */
273 #pragma intvect DefaultIRQHandler 100   /* Output Compare 0             */
274 #pragma intvect DefaultIRQHandler 101   /* Output Compare 1             */
275 #pragma intvect DefaultIRQHandler 102   /* Output Compare 2             */
276 #pragma intvect DefaultIRQHandler 103   /* Output Compare 3             */
277 #pragma intvect DefaultIRQHandler 104   /* Output Compare 4             */
278 #pragma intvect DefaultIRQHandler 105   /* Output Compare 5             */
279 #pragma intvect DefaultIRQHandler 106   /* Output Compare 6             */
280 #pragma intvect DefaultIRQHandler 107   /* Output Compare 7             */
281 #pragma intvect DefaultIRQHandler 108   /* Sound Generator              */
282 #pragma intvect DefaultIRQHandler 109   /* Phase Frequ. Modulator       */
283 #pragma intvect DefaultIRQHandler 110   /* System Reserved              */
284 #pragma intvect DefaultIRQHandler 111   /* System Reserved              */
285 #pragma intvect DefaultIRQHandler 112   /* Prog. Pulse Gen. 0           */
286 #pragma intvect DefaultIRQHandler 113   /* Prog. Pulse Gen. 1           */
287 #pragma intvect DefaultIRQHandler 114   /* Prog. Pulse Gen. 2           */
288 #pragma intvect DefaultIRQHandler 115   /* Prog. Pulse Gen. 3           */
289 #pragma intvect DefaultIRQHandler 116   /* Prog. Pulse Gen. 4           */
290 #pragma intvect DefaultIRQHandler 117   /* Prog. Pulse Gen. 5           */
291 #pragma intvect DefaultIRQHandler 118   /* Prog. Pulse Gen. 6           */
292 #pragma intvect DefaultIRQHandler 119   /* Prog. Pulse Gen. 7           */
293 #pragma intvect DefaultIRQHandler 120   /* Prog. Pulse Gen. 8           */
294 #pragma intvect DefaultIRQHandler 121   /* Prog. Pulse Gen. 9           */
295 #pragma intvect DefaultIRQHandler 122   /* Prog. Pulse Gen. 10          */
296 #pragma intvect DefaultIRQHandler 123   /* Prog. Pulse Gen. 11          */
297 #pragma intvect DefaultIRQHandler 124   /* Prog. Pulse Gen. 12          */
298 #pragma intvect DefaultIRQHandler 125   /* Prog. Pulse Gen. 13          */
299 #pragma intvect DefaultIRQHandler 126   /* Prog. Pulse Gen. 14          */
300 #pragma intvect DefaultIRQHandler 127   /* Prog. Pulse Gen. 15          */
301 #pragma intvect DefaultIRQHandler 128   /* Up/Down Counter 0            */
302 #pragma intvect DefaultIRQHandler 129   /* Up/Down Counter 1            */
303 #pragma intvect DefaultIRQHandler 130   /* Up/Down Counter 2            */
304 #pragma intvect DefaultIRQHandler 131   /* Up/Down Counter 3            */
305 #pragma intvect DefaultIRQHandler 132   /* Real Time Clock              */
306 #pragma intvect DefaultIRQHandler 133   /* Calibration Unit             */
307 #pragma intvect DefaultIRQHandler 134   /* A/D Converter 0              */
308 #pragma intvect DefaultIRQHandler 135   /* -                            */
309 #pragma intvect DefaultIRQHandler 136   /* Alarm Comperator 0           */
310 #pragma intvect DefaultIRQHandler 137   /* Alarm Comperator 1           */
311 #pragma intvect DefaultIRQHandler 138   /* Low Volage Detector          */
312 #pragma intvect DefaultIRQHandler 139   /* SMC Zero Point 0-5           */
313 #pragma intvect DefaultIRQHandler 140   /* Timebase Overflow            */
314 #pragma intvect DefaultIRQHandler 141   /* PLL Clock Gear               */
315 #pragma intvect DefaultIRQHandler 142   /* DMA Controller               */
316 #pragma intvect DefaultIRQHandler 143   /* Main/Sub OSC stability wait  */
317 #pragma intvect 0xFFFFFFFF        144   /* Boot Sec. Vector (MB91V460A) */
318
319
320
321 /*------------------------------------------------------------------------
322   DefaultIRQHandler()
323
324   This function is a placeholder for all vector definitions. Either use
325   your own placeholder or add necessary code here. 
326 -------------------------------------------------------------------------*/
327 __interrupt 
328 void DefaultIRQHandler (void)
329 {
330     /* RB_SYNC; */                      /* Synchronisation with R-Bus   */
331                                         /* May be required, if there is */
332                                         /* no R-Bus access after the    */
333                                         /* reset of the interrupt flag  */
334
335     __DI();                             /* disable interrupts           */
336     while(1)
337         HWWD_CL = 0;                    /* feed hardware watchdog       */
338                                         /* halt system */
339 }