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