summaryrefslogtreecommitdiff
path: root/examples/device/cdc_msc/ses/samd21/ATSAMD21G18A_Vectors.s
blob: 5cecbd23bb71e972d94b8b00ad28956845fa1381 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
/*****************************************************************************
 *                   SEGGER Microcontroller GmbH & Co. KG                    *
 *            Solutions for real time microcontroller applications           *
 *****************************************************************************
 *                                                                           *
 *               (c) 2017 SEGGER Microcontroller GmbH & Co. KG               *
 *                                                                           *
 *           Internet: www.segger.com   Support: [email protected]          *
 *                                                                           *
 *****************************************************************************/

/*****************************************************************************
 *                         Preprocessor Definitions                          *
 *                         ------------------------                          *
 * VECTORS_IN_RAM                                                            *
 *                                                                           *
 *   If defined, an area of RAM will large enough to store the vector table  *
 *   will be reserved.                                                       *
 *                                                                           *
 *****************************************************************************/

  .syntax unified
  .code 16

  .section .init, "ax"
  .align 0

/*****************************************************************************
 * Default Exception Handlers                                                *
 *****************************************************************************/

  .thumb_func
  .weak NMI_Handler
NMI_Handler:
  b .

  .thumb_func
  .weak HardFault_Handler
HardFault_Handler:
  b .

  .thumb_func
  .weak SVC_Handler
SVC_Handler:
  b .

  .thumb_func
  .weak PendSV_Handler
PendSV_Handler:
  b .

  .thumb_func
  .weak SysTick_Handler
SysTick_Handler:
  b .

  .thumb_func
Dummy_Handler:
  b .

#if defined(__OPTIMIZATION_SMALL)

  .weak PM_Handler
  .thumb_set PM_Handler,Dummy_Handler

  .weak SYSCTRL_Handler
  .thumb_set SYSCTRL_Handler,Dummy_Handler

  .weak WDT_Handler
  .thumb_set WDT_Handler,Dummy_Handler

  .weak RTC_Handler
  .thumb_set RTC_Handler,Dummy_Handler

  .weak EIC_Handler
  .thumb_set EIC_Handler,Dummy_Handler

  .weak NVMCTRL_Handler
  .thumb_set NVMCTRL_Handler,Dummy_Handler

  .weak DMAC_Handler
  .thumb_set DMAC_Handler,Dummy_Handler

  .weak USB_Handler
  .thumb_set USB_Handler,Dummy_Handler

  .weak EVSYS_Handler
  .thumb_set EVSYS_Handler,Dummy_Handler

  .weak SERCOM0_Handler
  .thumb_set SERCOM0_Handler,Dummy_Handler

  .weak SERCOM1_Handler
  .thumb_set SERCOM1_Handler,Dummy_Handler

  .weak SERCOM2_Handler
  .thumb_set SERCOM2_Handler,Dummy_Handler

  .weak SERCOM3_Handler
  .thumb_set SERCOM3_Handler,Dummy_Handler

  .weak SERCOM4_Handler
  .thumb_set SERCOM4_Handler,Dummy_Handler

  .weak SERCOM5_Handler
  .thumb_set SERCOM5_Handler,Dummy_Handler

  .weak TCC0_Handler
  .thumb_set TCC0_Handler,Dummy_Handler

  .weak TCC1_Handler
  .thumb_set TCC1_Handler,Dummy_Handler

  .weak TCC2_Handler
  .thumb_set TCC2_Handler,Dummy_Handler

  .weak TC3_Handler
  .thumb_set TC3_Handler,Dummy_Handler

  .weak TC4_Handler
  .thumb_set TC4_Handler,Dummy_Handler

  .weak TC5_Handler
  .thumb_set TC5_Handler,Dummy_Handler

  .weak ADC_Handler
  .thumb_set ADC_Handler,Dummy_Handler

  .weak AC_Handler
  .thumb_set AC_Handler,Dummy_Handler

  .weak DAC_Handler
  .thumb_set DAC_Handler,Dummy_Handler

  .weak I2S_Handler
  .thumb_set I2S_Handler,Dummy_Handler

#else

  .thumb_func
  .weak PM_Handler
PM_Handler:
  b .

  .thumb_func
  .weak SYSCTRL_Handler
SYSCTRL_Handler:
  b .

  .thumb_func
  .weak WDT_Handler
WDT_Handler:
  b .

  .thumb_func
  .weak RTC_Handler
RTC_Handler:
  b .

  .thumb_func
  .weak EIC_Handler
EIC_Handler:
  b .

  .thumb_func
  .weak NVMCTRL_Handler
NVMCTRL_Handler:
  b .

  .thumb_func
  .weak DMAC_Handler
DMAC_Handler:
  b .

  .thumb_func
  .weak USB_Handler
USB_Handler:
  b .

  .thumb_func
  .weak EVSYS_Handler
EVSYS_Handler:
  b .

  .thumb_func
  .weak SERCOM0_Handler
SERCOM0_Handler:
  b .

  .thumb_func
  .weak SERCOM1_Handler
SERCOM1_Handler:
  b .

  .thumb_func
  .weak SERCOM2_Handler
SERCOM2_Handler:
  b .

  .thumb_func
  .weak SERCOM3_Handler
SERCOM3_Handler:
  b .

  .thumb_func
  .weak SERCOM4_Handler
SERCOM4_Handler:
  b .

  .thumb_func
  .weak SERCOM5_Handler
SERCOM5_Handler:
  b .

  .thumb_func
  .weak TCC0_Handler
TCC0_Handler:
  b .

  .thumb_func
  .weak TCC1_Handler
TCC1_Handler:
  b .

  .thumb_func
  .weak TCC2_Handler
TCC2_Handler:
  b .

  .thumb_func
  .weak TC3_Handler
TC3_Handler:
  b .

  .thumb_func
  .weak TC4_Handler
TC4_Handler:
  b .

  .thumb_func
  .weak TC5_Handler
TC5_Handler:
  b .

  .thumb_func
  .weak ADC_Handler
ADC_Handler:
  b .

  .thumb_func
  .weak AC_Handler
AC_Handler:
  b .

  .thumb_func
  .weak DAC_Handler
DAC_Handler:
  b .

  .thumb_func
  .weak I2S_Handler
I2S_Handler:
  b .

#endif

/*****************************************************************************
 * Vector Table                                                              *
 *****************************************************************************/

  .section .vectors, "ax"
  .align 0
  .global _vectors
  .extern __stack_end__
  .extern Reset_Handler

_vectors:
  .word __stack_end__
  .word Reset_Handler
  .word NMI_Handler
  .word HardFault_Handler
  .word 0 /* Reserved */
  .word 0 /* Reserved */
  .word 0 /* Reserved */
  .word 0 /* Reserved */
  .word 0 /* Reserved */
  .word 0 /* Reserved */
  .word 0 /* Reserved */
  .word SVC_Handler
  .word 0 /* Reserved */
  .word 0 /* Reserved */
  .word PendSV_Handler
  .word SysTick_Handler
  .word PM_Handler
  .word SYSCTRL_Handler
  .word WDT_Handler
  .word RTC_Handler
  .word EIC_Handler
  .word NVMCTRL_Handler
  .word DMAC_Handler
  .word USB_Handler
  .word EVSYS_Handler
  .word SERCOM0_Handler
  .word SERCOM1_Handler
  .word SERCOM2_Handler
  .word SERCOM3_Handler
  .word SERCOM4_Handler
  .word SERCOM5_Handler
  .word TCC0_Handler
  .word TCC1_Handler
  .word TCC2_Handler
  .word TC3_Handler
  .word TC4_Handler
  .word TC5_Handler
  .word Dummy_Handler /* Reserved */
  .word Dummy_Handler /* Reserved */
  .word ADC_Handler
  .word AC_Handler
  .word DAC_Handler
  .word Dummy_Handler /* Reserved */
  .word I2S_Handler
_vectors_end:

#ifdef VECTORS_IN_RAM
  .section .vectors_ram, "ax"
  .align 0
  .global _vectors_ram

_vectors_ram:
  .space _vectors_end - _vectors, 0
#endif