]> git.sur5r.net Git - freertos/blob - Demo/lwIP_MCF5235_GCC/system/vector.S
d898963ecd8d83f59da5b3f67aedf700fd2644e7
[freertos] / Demo / lwIP_MCF5235_GCC / system / vector.S
1 /*\r
2     FreeRTOS MCF5235 port - Copyright (C) 2006 Christian Walter.\r
3 \r
4     This file is part of the FreeRTOS distribution.\r
5 \r
6     FreeRTOS is free software; you can redistribute it and/or modify\r
7     it under the terms of the GNU General Public License** as published by\r
8     the Free Software Foundation; either version 2 of the License, or\r
9     (at your option) any later version.\r
10 \r
11     FreeRTOS is distributed in the hope that it will be useful,\r
12     but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
14     GNU General Public License for more details.\r
15 \r
16     You should have received a copy of the GNU General Public License\r
17     along with FreeRTOS; if not, write to the Free Software\r
18     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
19 \r
20     A special exception to the GPL can be applied should you wish to distribute\r
21     a combined work that includes FreeRTOS, without being obliged to provide\r
22     the source code for any proprietary components.  See the licensing section\r
23     of http://www.FreeRTOS.org for full details of how and when the exception\r
24     can be applied.\r
25 \r
26     ***************************************************************************\r
27     ***************************************************************************\r
28     *                                                                         *\r
29     * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *\r
30         *                                                                         *\r
31         * This is a concise, step by step, 'hands on' guide that describes both   *\r
32         * general multitasking concepts and FreeRTOS specifics. It presents and   *\r
33         * explains numerous examples that are written using the FreeRTOS API.     *\r
34         * Full source code for all the examples is provided in an accompanying    *\r
35         * .zip file.                                                              *\r
36     *                                                                         *\r
37     ***************************************************************************\r
38     ***************************************************************************\r
39 \r
40         Please ensure to read the configuration and relevant port sections of the\r
41         online documentation.\r
42 \r
43         http://www.FreeRTOS.org - Documentation, latest information, license and \r
44         contact details.\r
45 \r
46         http://www.SafeRTOS.com - A version that is certified for use in safety \r
47         critical systems.\r
48 \r
49         http://www.OpenRTOS.com - Commercial support, development, porting, \r
50         licensing and training services.\r
51 */\r
52 \r
53   .extern __stack\r
54   .extern start\r
55   .extern fec_handler\r
56   .extern fec_if\r
57   .extern decrement_timers\r
58   .global __RAMVEC\r
59   .global __ROMVEC\r
60 \r
61   .equ    MCF_PIT_PCSR0, IPSBAR + 0x150000\r
62   .equ    MCF_PIT_PCSR_PIF, 0x0004\r
63 \r
64   .section  .vector_rom, "x"\r
65 __ROMVEC:\r
66   .long   __stack               /* Reset: Initial Stack Pointer */\r
67   .long   start                 /* Reset: Initial Program Counter */\r
68   .long   VecDefault            /* Bus Error */\r
69   .long   VecDefault            /* Address Error */\r
70   .long   VecDefault            /* Illegal Instruction */\r
71   .long   VecDefault            /* Zero Divison */\r
72   .space  4                     /* reserved */\r
73   .space  4                     /* reserved */\r
74   .long   VecDefault            /* Privilege Violation */\r
75   .long   VecDefault            /* Trace */\r
76   .long   VecDefault            /* Unimplemented line-a opcode */\r
77   .long   VecDefault            /* Unimplemented line-b opcode */\r
78   .long   VecDefault            /* Non-PC breakpoint debug interrupt */\r
79   .long   VecDefault            /* PC breakpoint debug interrupt */\r
80   .long   VecDefault            /* Format Error */\r
81   .long   VecDefault            /* Uninitialized Interrupt */\r
82   .org    0x60\r
83   .long   IRQSpurious           /* Spurious Interrupt */\r
84   .long   IRQDefault            /* Level 1 Interrupt */\r
85   .long   IRQDefault            /* Level 2 Interrupt */\r
86   .long   IRQDefault            /* Level 3 Interrupt */\r
87   .long   IRQDefault            /* Level 4 Interrupt */\r
88   .long   IRQDefault            /* Level 5 Interrupt */\r
89   .long   IRQDefault            /* Level 6 Interrupt */\r
90   .long   IRQDefault            /* Level 7 Interrupt */\r
91   .org    0x80\r
92   .long   TrapDefault           /* TRAP 0 */\r
93   .long   TrapDefault           /* TRAP 1 */\r
94   .long   TrapDefault           /* TRAP 2 */\r
95   .long   TrapDefault           /* TRAP 3 */\r
96   .long   TrapDefault           /* TRAP 4 */\r
97   .long   TrapDefault           /* TRAP 5 */\r
98   .long   TrapDefault           /* TRAP 6 */\r
99   .long   TrapDefault           /* TRAP 7 */\r
100   .long   TrapDefault           /* TRAP 8 */\r
101   .long   TrapDefault           /* TRAP 9 */\r
102   .long   TrapDefault           /* TRAP 10 */\r
103   .long   TrapDefault           /* TRAP 11 */\r
104   .long   TrapDefault           /* TRAP 12 */\r
105   .long   TrapDefault           /* TRAP 13 */\r
106   .long   TrapDefault           /* TRAP 14 */\r
107   .long   TrapDefault           /* TRAP 15 */\r
108   .org    0x100\r
109   .long   IRQDefault            /* User-Defined Interrupt 0 */\r
110   .long   IRQDefault            /* User-Defined Interrupt 1 */\r
111   .long   IRQDefault            /* User-Defined Interrupt 2 */\r
112   .long   IRQDefault            /* User-Defined Interrupt 3 */\r
113   .long   IRQDefault            /* User-Defined Interrupt 4 */\r
114   .long   IRQDefault            /* User-Defined Interrupt 5 */\r
115   .long   IRQDefault            /* User-Defined Interrupt 6 */\r
116   .long   IRQDefault            /* User-Defined Interrupt 7 */\r
117   .long   IRQDefault            /* User-Defined Interrupt 8 */\r
118   .long   IRQDefault            /* User-Defined Interrupt 9 */\r
119   .long   IRQDefault            /* User-Defined Interrupt 10 */\r
120   .long   IRQDefault            /* User-Defined Interrupt 11 */\r
121   .long   IRQDefault            /* User-Defined Interrupt 12 */\r
122   .long   IRQDefault            /* User-Defined Interrupt 13 */\r
123   .long   IRQDefault            /* User-Defined Interrupt 14 */\r
124   .long   IRQDefault            /* User-Defined Interrupt 15 */\r
125   .long   IRQDefault            /* User-Defined Interrupt 16 */\r
126   .long   IRQDefault            /* User-Defined Interrupt 17 */\r
127   .long   IRQDefault            /* User-Defined Interrupt 18 */\r
128   .long   IRQDefault            /* User-Defined Interrupt 19 */\r
129   .long   IRQDefault            /* User-Defined Interrupt 20 */\r
130   .long   IRQDefault            /* User-Defined Interrupt 21 */\r
131   .long   IRQDefault            /* User-Defined Interrupt 22 */\r
132   .long   IRQDefault            /* Transmit frame interrupt */\r
133   .long   IRQDefault            /* Transmit buffer interrupt */\r
134   .long   IRQDefault            /* Transmit FIFO underrun */\r
135   .long   IRQDefault            /* Collision retry limit */\r
136   .long   IRQDefault            /* Receive frame interrupt */\r
137   .long   IRQDefault            /* Receive buffer interrupt */\r
138   .long   IRQDefault            /* MII interrupt */\r
139   .long   IRQDefault            /* Late collision */\r
140   .long   IRQDefault            /* Heartbeat error */\r
141   .long   IRQDefault            /* Graceful stop complete */\r
142   .long   IRQDefault            /* Ethernet bus error */\r
143   .long   IRQDefault            /* Babbling transmit error */\r
144   .long   IRQDefault            /* Babbling receive error */\r
145   .long   IRQDefault            /* Timer interrupt */\r
146   .long   IRQDefault            /* User-Defined Interrupt 37 */\r
147   .long   IRQDefault            /* User-Defined Interrupt 38 */\r
148   .long   IRQDefault            /* User-Defined Interrupt 39 */\r
149   .long   IRQDefault            /* User-Defined Interrupt 40 */\r
150   .long   IRQDefault            /* User-Defined Interrupt 41 */\r
151   .long   IRQDefault            /* User-Defined Interrupt 42 */\r
152   .long   IRQDefault            /* User-Defined Interrupt 43 */\r
153   .long   IRQDefault            /* User-Defined Interrupt 44 */\r
154   .long   IRQDefault            /* User-Defined Interrupt 45 */\r
155   .long   IRQDefault            /* User-Defined Interrupt 46 */\r
156   .long   IRQDefault            /* User-Defined Interrupt 47 */\r
157   .long   IRQDefault            /* User-Defined Interrupt 48 */\r
158   .long   IRQDefault            /* User-Defined Interrupt 49 */\r
159   .long   IRQDefault            /* User-Defined Interrupt 50 */\r
160   .long   IRQDefault            /* User-Defined Interrupt 51 */\r
161   .long   IRQDefault            /* User-Defined Interrupt 52 */\r
162   .long   IRQDefault            /* User-Defined Interrupt 53 */\r
163   .long   IRQDefault            /* User-Defined Interrupt 54 */\r
164   .long   IRQDefault            /* User-Defined Interrupt 55 */\r
165   .long   IRQDefault            /* User-Defined Interrupt 56 */\r
166   .long   IRQDefault            /* User-Defined Interrupt 57 */\r
167   .long   IRQDefault            /* User-Defined Interrupt 58 */\r
168   .long   IRQDefault            /* User-Defined Interrupt 59 */\r
169   .long   IRQDefault            /* User-Defined Interrupt 60 */\r
170   .long   IRQDefault            /* User-Defined Interrupt 61 */\r
171   .long   IRQDefault            /* User-Defined Interrupt 62 */\r
172   .long   IRQDefault            /* User-Defined Interrupt 63 */\r
173   .long   IRQDefault            /* User-Defined Interrupt 64 */\r
174   .long   IRQDefault            /* User-Defined Interrupt 65 */\r
175   .long   IRQDefault            /* User-Defined Interrupt 66 */\r
176   .long   IRQDefault            /* User-Defined Interrupt 67 */\r
177   .long   IRQDefault            /* User-Defined Interrupt 68 */\r
178   .long   IRQDefault            /* User-Defined Interrupt 69 */\r
179   .long   IRQDefault            /* User-Defined Interrupt 70 */\r
180   .long   IRQDefault            /* User-Defined Interrupt 71 */\r
181   .long   IRQDefault            /* User-Defined Interrupt 72 */\r
182   .long   IRQDefault            /* User-Defined Interrupt 73 */\r
183   .long   IRQDefault            /* User-Defined Interrupt 74 */\r
184   .long   IRQDefault            /* User-Defined Interrupt 75 */\r
185   .long   IRQDefault            /* User-Defined Interrupt 76 */\r
186   .long   IRQDefault            /* User-Defined Interrupt 77 */\r
187   .long   IRQDefault            /* User-Defined Interrupt 78 */\r
188   .long   IRQDefault            /* User-Defined Interrupt 79 */\r
189   .long   IRQDefault            /* User-Defined Interrupt 80 */\r
190   .long   IRQDefault            /* User-Defined Interrupt 81 */\r
191   .long   IRQDefault            /* User-Defined Interrupt 82 */\r
192   .long   IRQDefault            /* User-Defined Interrupt 83 */\r
193   .long   IRQDefault            /* User-Defined Interrupt 84 */\r
194   .long   IRQDefault            /* User-Defined Interrupt 85 */\r
195   .long   IRQDefault            /* User-Defined Interrupt 86 */\r
196   .long   IRQDefault            /* User-Defined Interrupt 87 */\r
197   .long   IRQDefault            /* User-Defined Interrupt 88 */\r
198   .long   IRQDefault            /* User-Defined Interrupt 89 */\r
199   .long   IRQDefault            /* User-Defined Interrupt 90 */\r
200   .long   IRQDefault            /* User-Defined Interrupt 91 */\r
201   .long   IRQDefault            /* User-Defined Interrupt 92 */\r
202   .long   IRQDefault            /* User-Defined Interrupt 93 */\r
203   .long   IRQDefault            /* User-Defined Interrupt 94 */\r
204   .long   IRQDefault            /* User-Defined Interrupt 95 */\r
205   .long   IRQDefault            /* User-Defined Interrupt 96 */\r
206   .long   IRQDefault            /* User-Defined Interrupt 97 */\r
207   .long   IRQDefault            /* User-Defined Interrupt 98 */\r
208   .long   IRQDefault            /* User-Defined Interrupt 99 */\r
209   .long   IRQDefault            /* User-Defined Interrupt 100 */\r
210   .long   IRQDefault            /* User-Defined Interrupt 101 */\r
211   .long   IRQDefault            /* User-Defined Interrupt 102 */\r
212   .long   IRQDefault            /* User-Defined Interrupt 103 */\r
213   .long   IRQDefault            /* User-Defined Interrupt 104 */\r
214   .long   IRQDefault            /* User-Defined Interrupt 105 */\r
215   .long   IRQDefault            /* User-Defined Interrupt 106 */\r
216   .long   IRQDefault            /* User-Defined Interrupt 107 */\r
217   .long   IRQDefault            /* User-Defined Interrupt 108 */\r
218   .long   IRQDefault            /* User-Defined Interrupt 109 */\r
219   .long   IRQDefault            /* User-Defined Interrupt 110 */\r
220   .long   IRQDefault            /* User-Defined Interrupt 111 */\r
221   .long   IRQDefault            /* User-Defined Interrupt 112 */\r
222   .long   IRQDefault            /* User-Defined Interrupt 113 */\r
223   .long   IRQDefault            /* User-Defined Interrupt 114 */\r
224   .long   IRQDefault            /* User-Defined Interrupt 115 */\r
225   .long   IRQDefault            /* User-Defined Interrupt 116 */\r
226   .long   IRQDefault            /* User-Defined Interrupt 117 */\r
227   .long   IRQDefault            /* User-Defined Interrupt 118 */\r
228   .long   IRQDefault            /* User-Defined Interrupt 119 */\r
229   .long   IRQDefault            /* User-Defined Interrupt 120 */\r
230   .long   IRQDefault            /* User-Defined Interrupt 121 */\r
231   .long   IRQDefault            /* User-Defined Interrupt 122 */\r
232   .long   IRQDefault            /* User-Defined Interrupt 123 */\r
233   .long   IRQDefault            /* User-Defined Interrupt 124 */\r
234   .long   IRQDefault            /* User-Defined Interrupt 125 */\r
235   .long   IRQDefault            /* User-Defined Interrupt 126 */\r
236   .long   IRQDefault            /* User-Defined Interrupt 127 */\r
237   .long   IRQDefault            /* User-Defined Interrupt 128 */\r
238   .long   IRQDefault            /* User-Defined Interrupt 129 */\r
239   .long   IRQDefault            /* User-Defined Interrupt 130 */\r
240   .long   IRQDefault            /* User-Defined Interrupt 131 */\r
241   .long   IRQDefault            /* User-Defined Interrupt 132 */\r
242   .long   IRQDefault            /* User-Defined Interrupt 133 */\r
243   .long   IRQDefault            /* User-Defined Interrupt 134 */\r
244   .long   IRQDefault            /* User-Defined Interrupt 135 */\r
245   .long   IRQDefault            /* User-Defined Interrupt 136 */\r
246   .long   IRQDefault            /* User-Defined Interrupt 137 */\r
247   .long   IRQDefault            /* User-Defined Interrupt 138 */\r
248   .long   IRQDefault            /* User-Defined Interrupt 139 */\r
249   .long   IRQDefault            /* User-Defined Interrupt 140 */\r
250   .long   IRQDefault            /* User-Defined Interrupt 141 */\r
251   .long   IRQDefault            /* User-Defined Interrupt 142 */\r
252   .long   IRQDefault            /* User-Defined Interrupt 143 */\r
253   .long   IRQDefault            /* User-Defined Interrupt 144 */\r
254   .long   IRQDefault            /* User-Defined Interrupt 145 */\r
255   .long   IRQDefault            /* User-Defined Interrupt 146 */\r
256   .long   IRQDefault            /* User-Defined Interrupt 147 */\r
257   .long   IRQDefault            /* User-Defined Interrupt 148 */\r
258   .long   IRQDefault            /* User-Defined Interrupt 149 */\r
259   .long   IRQDefault            /* User-Defined Interrupt 150 */\r
260   .long   IRQDefault            /* User-Defined Interrupt 151 */\r
261   .long   IRQDefault            /* User-Defined Interrupt 152 */\r
262   .long   IRQDefault            /* User-Defined Interrupt 153 */\r
263   .long   IRQDefault            /* User-Defined Interrupt 154 */\r
264   .long   IRQDefault            /* User-Defined Interrupt 155 */\r
265   .long   IRQDefault            /* User-Defined Interrupt 156 */\r
266   .long   IRQDefault            /* User-Defined Interrupt 157 */\r
267   .long   IRQDefault            /* User-Defined Interrupt 158 */\r
268   .long   IRQDefault            /* User-Defined Interrupt 159 */\r
269   .long   IRQDefault            /* User-Defined Interrupt 160 */\r
270   .long   IRQDefault            /* User-Defined Interrupt 161 */\r
271   .long   IRQDefault            /* User-Defined Interrupt 162 */\r
272   .long   IRQDefault            /* User-Defined Interrupt 163 */\r
273   .long   IRQDefault            /* User-Defined Interrupt 164 */\r
274   .long   IRQDefault            /* User-Defined Interrupt 165 */\r
275   .long   IRQDefault            /* User-Defined Interrupt 166 */\r
276   .long   IRQDefault            /* User-Defined Interrupt 167 */\r
277   .long   IRQDefault            /* User-Defined Interrupt 168 */\r
278   .long   IRQDefault            /* User-Defined Interrupt 169 */\r
279   .long   IRQDefault            /* User-Defined Interrupt 170 */\r
280   .long   IRQDefault            /* User-Defined Interrupt 171 */\r
281   .long   IRQDefault            /* User-Defined Interrupt 172 */\r
282   .long   IRQDefault            /* User-Defined Interrupt 173 */\r
283   .long   IRQDefault            /* User-Defined Interrupt 174 */\r
284   .long   IRQDefault            /* User-Defined Interrupt 175 */\r
285   .long   IRQDefault            /* User-Defined Interrupt 176 */\r
286   .long   IRQDefault            /* User-Defined Interrupt 177 */\r
287   .long   IRQDefault            /* User-Defined Interrupt 178 */\r
288   .long   IRQDefault            /* User-Defined Interrupt 179 */\r
289   .long   IRQDefault            /* User-Defined Interrupt 180 */\r
290   .long   IRQDefault            /* User-Defined Interrupt 181 */\r
291   .long   IRQDefault            /* User-Defined Interrupt 182 */\r
292   .long   IRQDefault            /* User-Defined Interrupt 183 */\r
293   .long   IRQDefault            /* User-Defined Interrupt 184 */\r
294   .long   IRQDefault            /* User-Defined Interrupt 185 */\r
295   .long   IRQDefault            /* User-Defined Interrupt 186 */\r
296   .long   IRQDefault            /* User-Defined Interrupt 187 */\r
297   .long   IRQDefault            /* User-Defined Interrupt 188 */\r
298   .long   IRQDefault            /* User-Defined Interrupt 189 */\r
299   .long   IRQDefault            /* User-Defined Interrupt 190 */\r
300   .long   IRQDefault            /* User-Defined Interrupt 191 */\r
301   .org    0x00000400\r
302 \r
303   .section  .vector_ram\r
304 __RAMVEC:\r
305   .space  0x400\r
306 \r
307   .section  .text\r
308 VecDefault:\r
309   halt\r
310   bra VecDefault\r
311 \r
312 IRQDefault:\r
313   halt\r
314   bra IRQDefault\r
315 \r
316 IRQSpurious:\r
317   halt\r
318   bra IRQSpurious\r
319 \r
320 TrapDefault:\r
321   halt\r
322   bra TrapDefault\r