]> begriffs open source - freertos/blob - Demo/lwIP_MCF5235_GCC/system/vector.S
Update to V4.7.1
[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         ***************************************************************************\r
27 \r
28         Please ensure to read the configuration and relevant port sections of the \r
29         online documentation.\r
30 \r
31         +++ http://www.FreeRTOS.org +++\r
32         Documentation, latest information, license and contact details.  \r
33 \r
34         +++ http://www.SafeRTOS.com +++\r
35         A version that is certified for use in safety critical systems.\r
36 \r
37         +++ http://www.OpenRTOS.com +++\r
38         Commercial support, development, porting, licensing and training services.\r
39 \r
40         ***************************************************************************\r
41 */
42
43   .extern __stack
44   .extern start
45   .extern fec_handler
46   .extern fec_if
47   .extern decrement_timers
48   .global __RAMVEC
49   .global __ROMVEC
50
51   .equ    MCF_PIT_PCSR0, IPSBAR + 0x150000
52   .equ    MCF_PIT_PCSR_PIF, 0x0004
53
54   .section  .vector_rom, "x"
55 __ROMVEC:
56   .long   __stack               /* Reset: Initial Stack Pointer */
57   .long   start                 /* Reset: Initial Program Counter */
58   .long   VecDefault            /* Bus Error */
59   .long   VecDefault            /* Address Error */
60   .long   VecDefault            /* Illegal Instruction */
61   .long   VecDefault            /* Zero Divison */
62   .space  4                     /* reserved */
63   .space  4                     /* reserved */
64   .long   VecDefault            /* Privilege Violation */
65   .long   VecDefault            /* Trace */
66   .long   VecDefault            /* Unimplemented line-a opcode */
67   .long   VecDefault            /* Unimplemented line-b opcode */
68   .long   VecDefault            /* Non-PC breakpoint debug interrupt */
69   .long   VecDefault            /* PC breakpoint debug interrupt */
70   .long   VecDefault            /* Format Error */
71   .long   VecDefault            /* Uninitialized Interrupt */
72   .org    0x60
73   .long   IRQSpurious           /* Spurious Interrupt */
74   .long   IRQDefault            /* Level 1 Interrupt */
75   .long   IRQDefault            /* Level 2 Interrupt */
76   .long   IRQDefault            /* Level 3 Interrupt */
77   .long   IRQDefault            /* Level 4 Interrupt */
78   .long   IRQDefault            /* Level 5 Interrupt */
79   .long   IRQDefault            /* Level 6 Interrupt */
80   .long   IRQDefault            /* Level 7 Interrupt */
81   .org    0x80
82   .long   TrapDefault           /* TRAP 0 */
83   .long   TrapDefault           /* TRAP 1 */
84   .long   TrapDefault           /* TRAP 2 */
85   .long   TrapDefault           /* TRAP 3 */
86   .long   TrapDefault           /* TRAP 4 */
87   .long   TrapDefault           /* TRAP 5 */
88   .long   TrapDefault           /* TRAP 6 */
89   .long   TrapDefault           /* TRAP 7 */
90   .long   TrapDefault           /* TRAP 8 */
91   .long   TrapDefault           /* TRAP 9 */
92   .long   TrapDefault           /* TRAP 10 */
93   .long   TrapDefault           /* TRAP 11 */
94   .long   TrapDefault           /* TRAP 12 */
95   .long   TrapDefault           /* TRAP 13 */
96   .long   TrapDefault           /* TRAP 14 */
97   .long   TrapDefault           /* TRAP 15 */
98   .org    0x100
99   .long   IRQDefault            /* User-Defined Interrupt 0 */
100   .long   IRQDefault            /* User-Defined Interrupt 1 */
101   .long   IRQDefault            /* User-Defined Interrupt 2 */
102   .long   IRQDefault            /* User-Defined Interrupt 3 */
103   .long   IRQDefault            /* User-Defined Interrupt 4 */
104   .long   IRQDefault            /* User-Defined Interrupt 5 */
105   .long   IRQDefault            /* User-Defined Interrupt 6 */
106   .long   IRQDefault            /* User-Defined Interrupt 7 */
107   .long   IRQDefault            /* User-Defined Interrupt 8 */
108   .long   IRQDefault            /* User-Defined Interrupt 9 */
109   .long   IRQDefault            /* User-Defined Interrupt 10 */
110   .long   IRQDefault            /* User-Defined Interrupt 11 */
111   .long   IRQDefault            /* User-Defined Interrupt 12 */
112   .long   IRQDefault            /* User-Defined Interrupt 13 */
113   .long   IRQDefault            /* User-Defined Interrupt 14 */
114   .long   IRQDefault            /* User-Defined Interrupt 15 */
115   .long   IRQDefault            /* User-Defined Interrupt 16 */
116   .long   IRQDefault            /* User-Defined Interrupt 17 */
117   .long   IRQDefault            /* User-Defined Interrupt 18 */
118   .long   IRQDefault            /* User-Defined Interrupt 19 */
119   .long   IRQDefault            /* User-Defined Interrupt 20 */
120   .long   IRQDefault            /* User-Defined Interrupt 21 */
121   .long   IRQDefault            /* User-Defined Interrupt 22 */
122   .long   IRQDefault            /* Transmit frame interrupt */
123   .long   IRQDefault            /* Transmit buffer interrupt */
124   .long   IRQDefault            /* Transmit FIFO underrun */
125   .long   IRQDefault            /* Collision retry limit */
126   .long   IRQDefault            /* Receive frame interrupt */
127   .long   IRQDefault            /* Receive buffer interrupt */
128   .long   IRQDefault            /* MII interrupt */
129   .long   IRQDefault            /* Late collision */
130   .long   IRQDefault            /* Heartbeat error */
131   .long   IRQDefault            /* Graceful stop complete */
132   .long   IRQDefault            /* Ethernet bus error */
133   .long   IRQDefault            /* Babbling transmit error */
134   .long   IRQDefault            /* Babbling receive error */
135   .long   IRQDefault            /* Timer interrupt */
136   .long   IRQDefault            /* User-Defined Interrupt 37 */
137   .long   IRQDefault            /* User-Defined Interrupt 38 */
138   .long   IRQDefault            /* User-Defined Interrupt 39 */
139   .long   IRQDefault            /* User-Defined Interrupt 40 */
140   .long   IRQDefault            /* User-Defined Interrupt 41 */
141   .long   IRQDefault            /* User-Defined Interrupt 42 */
142   .long   IRQDefault            /* User-Defined Interrupt 43 */
143   .long   IRQDefault            /* User-Defined Interrupt 44 */
144   .long   IRQDefault            /* User-Defined Interrupt 45 */
145   .long   IRQDefault            /* User-Defined Interrupt 46 */
146   .long   IRQDefault            /* User-Defined Interrupt 47 */
147   .long   IRQDefault            /* User-Defined Interrupt 48 */
148   .long   IRQDefault            /* User-Defined Interrupt 49 */
149   .long   IRQDefault            /* User-Defined Interrupt 50 */
150   .long   IRQDefault            /* User-Defined Interrupt 51 */
151   .long   IRQDefault            /* User-Defined Interrupt 52 */
152   .long   IRQDefault            /* User-Defined Interrupt 53 */
153   .long   IRQDefault            /* User-Defined Interrupt 54 */
154   .long   IRQDefault            /* User-Defined Interrupt 55 */
155   .long   IRQDefault            /* User-Defined Interrupt 56 */
156   .long   IRQDefault            /* User-Defined Interrupt 57 */
157   .long   IRQDefault            /* User-Defined Interrupt 58 */
158   .long   IRQDefault            /* User-Defined Interrupt 59 */
159   .long   IRQDefault            /* User-Defined Interrupt 60 */
160   .long   IRQDefault            /* User-Defined Interrupt 61 */
161   .long   IRQDefault            /* User-Defined Interrupt 62 */
162   .long   IRQDefault            /* User-Defined Interrupt 63 */
163   .long   IRQDefault            /* User-Defined Interrupt 64 */
164   .long   IRQDefault            /* User-Defined Interrupt 65 */
165   .long   IRQDefault            /* User-Defined Interrupt 66 */
166   .long   IRQDefault            /* User-Defined Interrupt 67 */
167   .long   IRQDefault            /* User-Defined Interrupt 68 */
168   .long   IRQDefault            /* User-Defined Interrupt 69 */
169   .long   IRQDefault            /* User-Defined Interrupt 70 */
170   .long   IRQDefault            /* User-Defined Interrupt 71 */
171   .long   IRQDefault            /* User-Defined Interrupt 72 */
172   .long   IRQDefault            /* User-Defined Interrupt 73 */
173   .long   IRQDefault            /* User-Defined Interrupt 74 */
174   .long   IRQDefault            /* User-Defined Interrupt 75 */
175   .long   IRQDefault            /* User-Defined Interrupt 76 */
176   .long   IRQDefault            /* User-Defined Interrupt 77 */
177   .long   IRQDefault            /* User-Defined Interrupt 78 */
178   .long   IRQDefault            /* User-Defined Interrupt 79 */
179   .long   IRQDefault            /* User-Defined Interrupt 80 */
180   .long   IRQDefault            /* User-Defined Interrupt 81 */
181   .long   IRQDefault            /* User-Defined Interrupt 82 */
182   .long   IRQDefault            /* User-Defined Interrupt 83 */
183   .long   IRQDefault            /* User-Defined Interrupt 84 */
184   .long   IRQDefault            /* User-Defined Interrupt 85 */
185   .long   IRQDefault            /* User-Defined Interrupt 86 */
186   .long   IRQDefault            /* User-Defined Interrupt 87 */
187   .long   IRQDefault            /* User-Defined Interrupt 88 */
188   .long   IRQDefault            /* User-Defined Interrupt 89 */
189   .long   IRQDefault            /* User-Defined Interrupt 90 */
190   .long   IRQDefault            /* User-Defined Interrupt 91 */
191   .long   IRQDefault            /* User-Defined Interrupt 92 */
192   .long   IRQDefault            /* User-Defined Interrupt 93 */
193   .long   IRQDefault            /* User-Defined Interrupt 94 */
194   .long   IRQDefault            /* User-Defined Interrupt 95 */
195   .long   IRQDefault            /* User-Defined Interrupt 96 */
196   .long   IRQDefault            /* User-Defined Interrupt 97 */
197   .long   IRQDefault            /* User-Defined Interrupt 98 */
198   .long   IRQDefault            /* User-Defined Interrupt 99 */
199   .long   IRQDefault            /* User-Defined Interrupt 100 */
200   .long   IRQDefault            /* User-Defined Interrupt 101 */
201   .long   IRQDefault            /* User-Defined Interrupt 102 */
202   .long   IRQDefault            /* User-Defined Interrupt 103 */
203   .long   IRQDefault            /* User-Defined Interrupt 104 */
204   .long   IRQDefault            /* User-Defined Interrupt 105 */
205   .long   IRQDefault            /* User-Defined Interrupt 106 */
206   .long   IRQDefault            /* User-Defined Interrupt 107 */
207   .long   IRQDefault            /* User-Defined Interrupt 108 */
208   .long   IRQDefault            /* User-Defined Interrupt 109 */
209   .long   IRQDefault            /* User-Defined Interrupt 110 */
210   .long   IRQDefault            /* User-Defined Interrupt 111 */
211   .long   IRQDefault            /* User-Defined Interrupt 112 */
212   .long   IRQDefault            /* User-Defined Interrupt 113 */
213   .long   IRQDefault            /* User-Defined Interrupt 114 */
214   .long   IRQDefault            /* User-Defined Interrupt 115 */
215   .long   IRQDefault            /* User-Defined Interrupt 116 */
216   .long   IRQDefault            /* User-Defined Interrupt 117 */
217   .long   IRQDefault            /* User-Defined Interrupt 118 */
218   .long   IRQDefault            /* User-Defined Interrupt 119 */
219   .long   IRQDefault            /* User-Defined Interrupt 120 */
220   .long   IRQDefault            /* User-Defined Interrupt 121 */
221   .long   IRQDefault            /* User-Defined Interrupt 122 */
222   .long   IRQDefault            /* User-Defined Interrupt 123 */
223   .long   IRQDefault            /* User-Defined Interrupt 124 */
224   .long   IRQDefault            /* User-Defined Interrupt 125 */
225   .long   IRQDefault            /* User-Defined Interrupt 126 */
226   .long   IRQDefault            /* User-Defined Interrupt 127 */
227   .long   IRQDefault            /* User-Defined Interrupt 128 */
228   .long   IRQDefault            /* User-Defined Interrupt 129 */
229   .long   IRQDefault            /* User-Defined Interrupt 130 */
230   .long   IRQDefault            /* User-Defined Interrupt 131 */
231   .long   IRQDefault            /* User-Defined Interrupt 132 */
232   .long   IRQDefault            /* User-Defined Interrupt 133 */
233   .long   IRQDefault            /* User-Defined Interrupt 134 */
234   .long   IRQDefault            /* User-Defined Interrupt 135 */
235   .long   IRQDefault            /* User-Defined Interrupt 136 */
236   .long   IRQDefault            /* User-Defined Interrupt 137 */
237   .long   IRQDefault            /* User-Defined Interrupt 138 */
238   .long   IRQDefault            /* User-Defined Interrupt 139 */
239   .long   IRQDefault            /* User-Defined Interrupt 140 */
240   .long   IRQDefault            /* User-Defined Interrupt 141 */
241   .long   IRQDefault            /* User-Defined Interrupt 142 */
242   .long   IRQDefault            /* User-Defined Interrupt 143 */
243   .long   IRQDefault            /* User-Defined Interrupt 144 */
244   .long   IRQDefault            /* User-Defined Interrupt 145 */
245   .long   IRQDefault            /* User-Defined Interrupt 146 */
246   .long   IRQDefault            /* User-Defined Interrupt 147 */
247   .long   IRQDefault            /* User-Defined Interrupt 148 */
248   .long   IRQDefault            /* User-Defined Interrupt 149 */
249   .long   IRQDefault            /* User-Defined Interrupt 150 */
250   .long   IRQDefault            /* User-Defined Interrupt 151 */
251   .long   IRQDefault            /* User-Defined Interrupt 152 */
252   .long   IRQDefault            /* User-Defined Interrupt 153 */
253   .long   IRQDefault            /* User-Defined Interrupt 154 */
254   .long   IRQDefault            /* User-Defined Interrupt 155 */
255   .long   IRQDefault            /* User-Defined Interrupt 156 */
256   .long   IRQDefault            /* User-Defined Interrupt 157 */
257   .long   IRQDefault            /* User-Defined Interrupt 158 */
258   .long   IRQDefault            /* User-Defined Interrupt 159 */
259   .long   IRQDefault            /* User-Defined Interrupt 160 */
260   .long   IRQDefault            /* User-Defined Interrupt 161 */
261   .long   IRQDefault            /* User-Defined Interrupt 162 */
262   .long   IRQDefault            /* User-Defined Interrupt 163 */
263   .long   IRQDefault            /* User-Defined Interrupt 164 */
264   .long   IRQDefault            /* User-Defined Interrupt 165 */
265   .long   IRQDefault            /* User-Defined Interrupt 166 */
266   .long   IRQDefault            /* User-Defined Interrupt 167 */
267   .long   IRQDefault            /* User-Defined Interrupt 168 */
268   .long   IRQDefault            /* User-Defined Interrupt 169 */
269   .long   IRQDefault            /* User-Defined Interrupt 170 */
270   .long   IRQDefault            /* User-Defined Interrupt 171 */
271   .long   IRQDefault            /* User-Defined Interrupt 172 */
272   .long   IRQDefault            /* User-Defined Interrupt 173 */
273   .long   IRQDefault            /* User-Defined Interrupt 174 */
274   .long   IRQDefault            /* User-Defined Interrupt 175 */
275   .long   IRQDefault            /* User-Defined Interrupt 176 */
276   .long   IRQDefault            /* User-Defined Interrupt 177 */
277   .long   IRQDefault            /* User-Defined Interrupt 178 */
278   .long   IRQDefault            /* User-Defined Interrupt 179 */
279   .long   IRQDefault            /* User-Defined Interrupt 180 */
280   .long   IRQDefault            /* User-Defined Interrupt 181 */
281   .long   IRQDefault            /* User-Defined Interrupt 182 */
282   .long   IRQDefault            /* User-Defined Interrupt 183 */
283   .long   IRQDefault            /* User-Defined Interrupt 184 */
284   .long   IRQDefault            /* User-Defined Interrupt 185 */
285   .long   IRQDefault            /* User-Defined Interrupt 186 */
286   .long   IRQDefault            /* User-Defined Interrupt 187 */
287   .long   IRQDefault            /* User-Defined Interrupt 188 */
288   .long   IRQDefault            /* User-Defined Interrupt 189 */
289   .long   IRQDefault            /* User-Defined Interrupt 190 */
290   .long   IRQDefault            /* User-Defined Interrupt 191 */
291   .org    0x00000400
292
293   .section  .vector_ram
294 __RAMVEC:
295   .space  0x400
296
297   .section  .text
298 VecDefault:
299   halt
300   bra VecDefault
301
302 IRQDefault:
303   halt
304   bra IRQDefault
305
306 IRQSpurious:
307   halt
308   bra IRQSpurious
309
310 TrapDefault:
311   halt
312   bra TrapDefault