blob: 414c6ac6aa7787c3bba767a95067597e40667a6b (
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
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
|
;********************************************************************************
;* File Name : Startup_ACM32F4.s
;* Description : This module performs:
;* - Set the initial SP
;* - Set the initial PC == _iar_program_start,
;* - Set the vector table entries with the exceptions ISR
;* address.
;* - Branches to main in the C library (which eventually
;* calls main()).
;* After Reset the Cortex-M33 processor is in Thread mode,
;* priority is Privileged, and the Stack is set to Main.
;********************************************************************************
;*
;* <h2><center>© Copyright (c) 2021 Aisinochip.
;* All rights reserved.</center></h2>
;*
;*******************************************************************************
MODULE ?cstartup
;; Forward declaration of sections.
SECTION CSTACK:DATA:NOROOT(3)
SECTION .intvec:CODE:NOROOT(2)
EXTERN __iar_program_start
PUBLIC __vector_table
PUBLIC __Vectors
PUBLIC __Vectors_End
PUBLIC __Vectors_Size
DATA
__vector_table
DCD sfe(CSTACK)
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
; External Interrupts
DCD WDT_IRQHandler ; WDT_IRQHandle
DCD RTC_IRQHandler ; RTC_IRQHandler
DCD EFC_IRQHandler ; EFC_IRQHandler
DCD GPIOAB_IRQHandler ; GPIOAB_IRQHandler
DCD GPIOCD_IRQHandler ; GPIOCD_IRQHandler
DCD EXTI_IRQHandler ; EXTI_IRQHandler
DCD SRAM_PARITY_IRQHandler ; SRAM_PARITY_IRQHandler
DCD CLKRDY_IRQHandler ; CLKRDY_IRQHandler
DCD UART4_IRQHandler ; UART4_IRQHandler
DCD DMA_IRQHandler ; DMA_IRQHandler
DCD UART3_IRQHandler ; UART3_IRQHandler
DCD RSV_IRQHandler ; RSV_IRQHandler
DCD ADC_IRQHandler ; ADC_IRQHandler
DCD TIM1_BRK_UP_TRG_COM_IRQHandler ; TIM1_BRK_UP_TRG_COM_IRQHandler
DCD TIM1_CC_IRQHandler ; TIM1_CC_IRQHandler
DCD TIM2_IRQHandler ; TIM2_IRQHandler
DCD TIM3_IRQHandler ; TIM3_IRQHandler
DCD TIM6_IRQHandler ; TIM6_IRQHandler
DCD TIM7_IRQHandler ; TIM7_IRQHandler
DCD TIM14_IRQHandler ; TIM14_IRQHandler
DCD TIM15_IRQHandler ; TIM15_IRQHandler
DCD TIM16_IRQHandler ; TIM16_IRQHandler
DCD TIM17_IRQHandler ; TIM17_IRQHandler
DCD I2C1_IRQHandler ; I2C1_IRQHandler
DCD I2C2_IRQHandler ; I2C2_IRQHandler
DCD SPI1_IRQHandler ; SPI1_IRQHandler
DCD SPI2_IRQHandler ; SPI2_IRQHandler
DCD UART1_IRQHandler ; UART1_IRQHandler
DCD UART2_IRQHandler ; UART2_IRQHandler
DCD LPUART_IRQHandler ; LPUART_IRQHandler
DCD SPI3_IRQHandler ; SPI3_IRQHandler
DCD AES_IRQHandler ; AES_IRQHandler
DCD USB_IRQHandler ; USB_IRQHandler
DCD DAC_IRQHandler ; DAC_IRQHandler
DCD I2S_IRQHandler ; I2S_IRQHandler
DCD GPIOEF_IRQHandler ; GPIOEF_IRQHandler
DCD CAN1_IRQHandler ; CAN1_IRQHandler
DCD CAN2_IRQHandler ; CAN2_IRQHandler
DCD FPU_IRQHandler ; FPU_IRQHandler
DCD TIM4_IRQHandler ; TIM4_IRQHandler
DCD SPI4_IRQHandler ; SPI4_IRQHandler
__Vectors_End
__Vectors EQU __vector_table
__Vectors_Size EQU __Vectors_End - __Vectors
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Default interrupt handlers.
;;
THUMB
PUBWEAK Reset_Handler
SECTION .text:CODE:NOROOT:REORDER(2)
Reset_Handler
LDR R0, =__iar_program_start
BX R0
PUBWEAK NMI_Handler
SECTION .text:CODE:NOROOT:REORDER(1)
NMI_Handler
B NMI_Handler
PUBWEAK HardFault_Handler
SECTION .text:CODE:NOROOT:REORDER(1)
HardFault_Handler
B HardFault_Handler
PUBWEAK MemManage_Handler
SECTION .text:CODE:NOROOT:REORDER(1)
MemManage_Handler
B MemManage_Handler
PUBWEAK BusFault_Handler
SECTION .text:CODE:NOROOT:REORDER(1)
BusFault_Handler
B BusFault_Handler
PUBWEAK UsageFault_Handler
SECTION .text:CODE:NOROOT:REORDER(1)
UsageFault_Handler
B UsageFault_Handler
PUBWEAK SVC_Handler
SECTION .text:CODE:NOROOT:REORDER(1)
SVC_Handler
B SVC_Handler
PUBWEAK DebugMon_Handler
SECTION .text:CODE:NOROOT:REORDER(1)
DebugMon_Handler
B DebugMon_Handler
PUBWEAK PendSV_Handler
SECTION .text:CODE:NOROOT:REORDER(1)
PendSV_Handler
B PendSV_Handler
PUBWEAK SysTick_Handler
SECTION .text:CODE:NOROOT:REORDER(1)
SysTick_Handler
B SysTick_Handler
PUBWEAK WDT_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
WDT_IRQHandler
B WDT_IRQHandler
PUBWEAK RTC_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
RTC_IRQHandler
B RTC_IRQHandler
PUBWEAK EFC_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
EFC_IRQHandler
B EFC_IRQHandler
PUBWEAK GPIOAB_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
GPIOAB_IRQHandler
B GPIOAB_IRQHandler
PUBWEAK GPIOCD_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
GPIOCD_IRQHandler
B GPIOCD_IRQHandler
PUBWEAK EXTI_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
EXTI_IRQHandler
B EXTI_IRQHandler
PUBWEAK SRAM_PARITY_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
SRAM_PARITY_IRQHandler
B SRAM_PARITY_IRQHandler
PUBWEAK CLKRDY_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
CLKRDY_IRQHandler
B CLKRDY_IRQHandler
PUBWEAK UART4_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
UART4_IRQHandler
B UART4_IRQHandler
PUBWEAK DMA_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
DMA_IRQHandler
B DMA_IRQHandler
PUBWEAK UART3_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
UART3_IRQHandler
B UART3_IRQHandler
PUBWEAK RSV_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
RSV_IRQHandler
B RSV_IRQHandler
PUBWEAK ADC_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
ADC_IRQHandler
B ADC_IRQHandler
PUBWEAK TIM1_BRK_UP_TRG_COM_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM1_BRK_UP_TRG_COM_IRQHandler
B TIM1_BRK_UP_TRG_COM_IRQHandler
PUBWEAK TIM1_CC_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM1_CC_IRQHandler
B TIM1_CC_IRQHandler
PUBWEAK TIM2_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM2_IRQHandler
B TIM2_IRQHandler
PUBWEAK TIM3_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM3_IRQHandler
B TIM3_IRQHandler
PUBWEAK TIM6_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM6_IRQHandler
B TIM6_IRQHandler
PUBWEAK TIM7_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM7_IRQHandler
B TIM7_IRQHandler
PUBWEAK TIM14_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM14_IRQHandler
B TIM14_IRQHandler
PUBWEAK TIM15_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM15_IRQHandler
B TIM15_IRQHandler
PUBWEAK TIM16_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM16_IRQHandler
B TIM16_IRQHandler
PUBWEAK TIM17_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM17_IRQHandler
B TIM17_IRQHandler
PUBWEAK I2C1_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
I2C1_IRQHandler
B I2C1_IRQHandler
PUBWEAK I2C2_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
I2C2_IRQHandler
B I2C2_IRQHandler
PUBWEAK SPI1_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
SPI1_IRQHandler
B SPI1_IRQHandler
PUBWEAK SPI2_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
SPI2_IRQHandler
B SPI2_IRQHandler
PUBWEAK UART1_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
UART1_IRQHandler
B UART1_IRQHandler
PUBWEAK UART2_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
UART2_IRQHandler
B UART2_IRQHandler
PUBWEAK LPUART_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
LPUART_IRQHandler
B LPUART_IRQHandler
PUBWEAK SPI3_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
SPI3_IRQHandler
B SPI3_IRQHandler
PUBWEAK AES_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
AES_IRQHandler
B AES_IRQHandler
PUBWEAK USB_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
USB_IRQHandler
B USB_IRQHandler
PUBWEAK DAC_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
DAC_IRQHandler
B DAC_IRQHandler
PUBWEAK I2S_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
I2S_IRQHandler
B I2S_IRQHandler
PUBWEAK GPIOEF_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
GPIOEF_IRQHandler
B GPIOEF_IRQHandler
PUBWEAK CAN1_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
CAN1_IRQHandler
B CAN1_IRQHandler
PUBWEAK CAN2_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
CAN2_IRQHandler
B CAN2_IRQHandler
PUBWEAK FPU_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
FPU_IRQHandler
B FPU_IRQHandler
PUBWEAK TIM4_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
TIM4_IRQHandler
B TIM4_IRQHandler
PUBWEAK SPI4_IRQHandler
SECTION .text:CODE:NOROOT:REORDER(1)
SPI4_IRQHandler
B SPI4_IRQHandler
END
/************************ (C) COPYRIGHT Aisinochip *****END OF FILE****/
|