1 | ;;; -*- asm -*-
|
---|
2 | ;;;
|
---|
3 | ;;;-----------------------------------------------------------------------------
|
---|
4 | ;;; Interrupt vectors
|
---|
5 | ;;;-----------------------------------------------------------------------------
|
---|
6 | ;;; Code taken from USRP2 firmware (GNU Radio Project), version 3.0.2,
|
---|
7 | ;;; Copyright 2003 Free Software Foundation, Inc.
|
---|
8 | ;;;-----------------------------------------------------------------------------
|
---|
9 | ;;; This code is part of usbjtag. usbjtag is free software; you can redistribute
|
---|
10 | ;;; it and/or modify it under the terms of the GNU General Public License as
|
---|
11 | ;;; published by the Free Software Foundation; either version 2 of the License,
|
---|
12 | ;;; or (at your option) any later version. usbjtag is distributed in the hope
|
---|
13 | ;;; that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
---|
14 | ;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
15 | ;;; GNU General Public License for more details. You should have received a
|
---|
16 | ;;; copy of the GNU General Public License along with this program in the file
|
---|
17 | ;;; COPYING; if not, write to the Free Software Foundation, Inc., 51 Franklin
|
---|
18 | ;;; St, Fifth Floor, Boston, MA 02110-1301 USA
|
---|
19 | ;;;-----------------------------------------------------------------------------
|
---|
20 |
|
---|
21 | ;;; N.B. This object module must come first in the list of modules
|
---|
22 |
|
---|
23 | .module vectors
|
---|
24 |
|
---|
25 | ;;; ----------------------------------------------------------------
|
---|
26 | ;;; standard FX2 interrupt vectors
|
---|
27 | ;;; ----------------------------------------------------------------
|
---|
28 |
|
---|
29 | .area CSEG (CODE)
|
---|
30 | .area GSINIT (CODE)
|
---|
31 | .area CSEG (CODE)
|
---|
32 | __standard_interrupt_vector::
|
---|
33 | __reset_vector::
|
---|
34 | ljmp s_GSINIT
|
---|
35 |
|
---|
36 | ;; 13 8-byte entries. We point them all at __isr_nop
|
---|
37 | ljmp __isr_nop ; 3 bytes
|
---|
38 | .ds 5 ; + 5 = 8 bytes for vector slot
|
---|
39 | ljmp __isr_nop
|
---|
40 | .ds 5
|
---|
41 | ljmp __isr_nop
|
---|
42 | .ds 5
|
---|
43 | ljmp __isr_nop
|
---|
44 | .ds 5
|
---|
45 | ljmp __isr_nop
|
---|
46 | .ds 5
|
---|
47 | ljmp __isr_nop
|
---|
48 | .ds 5
|
---|
49 | ljmp __isr_nop
|
---|
50 | .ds 5
|
---|
51 | ljmp __isr_nop
|
---|
52 | .ds 5
|
---|
53 | ljmp __isr_nop
|
---|
54 | .ds 5
|
---|
55 | ljmp __isr_nop
|
---|
56 | .ds 5
|
---|
57 | ljmp __isr_nop
|
---|
58 | .ds 5
|
---|
59 | ljmp __isr_nop
|
---|
60 | .ds 5
|
---|
61 | ljmp __isr_nop
|
---|
62 | .ds 5
|
---|
63 |
|
---|
64 | __isr_nop::
|
---|
65 | reti
|
---|
66 |
|
---|
67 | ;;; ----------------------------------------------------------------
|
---|
68 | ;;; the FIFO/GPIF autovector. 14 4-byte entries.
|
---|
69 | ;;; must start on a 128 byte boundary.
|
---|
70 | ;;; ----------------------------------------------------------------
|
---|
71 |
|
---|
72 | . = __reset_vector + 0x0080
|
---|
73 |
|
---|
74 | __fifo_gpif_autovector::
|
---|
75 | ljmp __isr_nop
|
---|
76 | nop
|
---|
77 | ljmp __isr_nop
|
---|
78 | nop
|
---|
79 | ljmp __isr_nop
|
---|
80 | nop
|
---|
81 | ljmp __isr_nop
|
---|
82 | nop
|
---|
83 | ljmp __isr_nop
|
---|
84 | nop
|
---|
85 | ljmp __isr_nop
|
---|
86 | nop
|
---|
87 | ljmp __isr_nop
|
---|
88 | nop
|
---|
89 | ljmp __isr_nop
|
---|
90 | nop
|
---|
91 | ljmp __isr_nop
|
---|
92 | nop
|
---|
93 | ljmp __isr_nop
|
---|
94 | nop
|
---|
95 | ljmp __isr_nop
|
---|
96 | nop
|
---|
97 | ljmp __isr_nop
|
---|
98 | nop
|
---|
99 | ljmp __isr_nop
|
---|
100 | nop
|
---|
101 | ljmp __isr_nop
|
---|
102 | nop
|
---|
103 |
|
---|
104 |
|
---|
105 | ;;; ----------------------------------------------------------------
|
---|
106 | ;;; the USB autovector. 32 4-byte entries.
|
---|
107 | ;;; must start on a 256 byte boundary.
|
---|
108 | ;;; ----------------------------------------------------------------
|
---|
109 |
|
---|
110 | . = __reset_vector + 0x0100
|
---|
111 |
|
---|
112 | __usb_autovector::
|
---|
113 | ljmp __isr_nop
|
---|
114 | nop
|
---|
115 | ljmp __isr_nop
|
---|
116 | nop
|
---|
117 | ljmp __isr_nop
|
---|
118 | nop
|
---|
119 | ljmp __isr_nop
|
---|
120 | nop
|
---|
121 | ljmp __isr_nop
|
---|
122 | nop
|
---|
123 | ljmp __isr_nop
|
---|
124 | nop
|
---|
125 | ljmp __isr_nop
|
---|
126 | nop
|
---|
127 | ljmp __isr_nop
|
---|
128 | nop
|
---|
129 | ljmp __isr_nop
|
---|
130 | nop
|
---|
131 | ljmp __isr_nop
|
---|
132 | nop
|
---|
133 | ljmp __isr_nop
|
---|
134 | nop
|
---|
135 | ljmp __isr_nop
|
---|
136 | nop
|
---|
137 | ljmp __isr_nop
|
---|
138 | nop
|
---|
139 | ljmp __isr_nop
|
---|
140 | nop
|
---|
141 | ljmp __isr_nop
|
---|
142 | nop
|
---|
143 | ljmp __isr_nop
|
---|
144 | nop
|
---|
145 | ljmp __isr_nop
|
---|
146 | nop
|
---|
147 | ljmp __isr_nop
|
---|
148 | nop
|
---|
149 | ljmp __isr_nop
|
---|
150 | nop
|
---|
151 | ljmp __isr_nop
|
---|
152 | nop
|
---|
153 | ljmp __isr_nop
|
---|
154 | nop
|
---|
155 | ljmp __isr_nop
|
---|
156 | nop
|
---|
157 | ljmp __isr_nop
|
---|
158 | nop
|
---|
159 | ljmp __isr_nop
|
---|
160 | nop
|
---|
161 | ljmp __isr_nop
|
---|
162 | nop
|
---|
163 | ljmp __isr_nop
|
---|
164 | nop
|
---|
165 | ljmp __isr_nop
|
---|
166 | nop
|
---|
167 | ljmp __isr_nop
|
---|
168 | nop
|
---|
169 | ljmp __isr_nop
|
---|
170 | nop
|
---|
171 | ljmp __isr_nop
|
---|
172 | nop
|
---|
173 | ljmp __isr_nop
|
---|
174 | nop
|
---|
175 | ljmp __isr_nop
|
---|
176 | nop
|
---|