1    MODULE ?cstartup
2
3    EXTERN __iar_program_start
4
5    SECTION CSTACK:DATA:NOROOT(3)
6
7    PUBLIC start_flash
8    SECTION .intvec:CODE:REORDER(2)
9start_flash
10    LDR R0, =hardware_init
11    BX R0
12
13    PUBLIC hard_fault_handler
14hard_fault_handler
15    BL HARD_FAULT_IRQHandler
16
17    PUBLIC svc_handler
18svc_handler
19    BL SVC_IRQHandler
20
21    PUBLIC pendsv_handler
22pendsv_handler
23    BL PENDSV_IRQHandler
24
25    PUBLIC systick
26systick
27    BL SYSTICK_IRQHandler
28
29    PUBLIC irq0
30irq0
31    movs r0,#0
32    b isr
33
34    PUBLIC irq1
35irq1
36    movs r0,#1
37    b isr
38
39    PUBLIC irq2
40irq2
41    movs r0,#2
42    b isr
43
44    PUBLIC irq3
45irq3
46    movs r0,#3
47    b isr
48
49    PUBLIC irq4
50irq4
51    movs r0,#4
52    b isr
53
54    PUBLIC irq5
55irq5
56    movs r0,#5
57    b isr
58
59    PUBLIC irq6
60irq6
61    movs r0,#6
62    b isr
63
64    PUBLIC irq7
65irq7
66    movs r0,#7
67    b isr
68
69    PUBLIC irq8
70irq8
71    movs r0,#8
72    b isr
73
74    PUBLIC irq9
75irq9
76    movs r0,#9
77    b isr
78
79    PUBLIC irq10
80irq10
81    movs r0,#10
82    b isr
83
84    PUBLIC irq11
85irq11
86    movs r0,#11
87    b isr
88
89    PUBLIC irq12
90irq12
91    movs r0,#12
92    b isr
93
94    PUBLIC irq13
95irq13
96    movs r0,#13
97    b isr
98
99    PUBLIC irq14
100irq14
101    movs r0,#14
102    b isr
103
104    PUBLIC irq15
105irq15
106    movs r0,#15
107    b isr
108
109    PUBLIC irq16
110irq16
111    movs r0,#16
112    b isr
113
114    PUBLIC irq17
115irq17
116    movs r0,#17
117    b isr
118
119    PUBLIC irq18
120irq18
121    movs r0,#18
122    b isr
123
124    PUBLIC irq19
125irq19
126    movs r0,#19
127    b isr
128
129    PUBLIC irq20
130irq20
131    movs r0,#20
132    b isr
133
134    PUBLIC irq21
135irq21
136    movs r0,#21
137    b isr
138
139    PUBLIC irq22
140irq22
141    movs r0,#22
142    b isr
143
144    PUBLIC irq23
145irq23
146    movs r0,#23
147    b isr
148
149    PUBLIC irq24
150irq24
151    movs r0,#24
152    b isr
153
154    PUBLIC irq25
155irq25
156    movs r0,#25
157    b isr
158
159    PUBLIC irq26
160irq26
161    movs r0,#26
162    b isr
163
164    PUBLIC irq27
165irq27
166    movs r0,#27
167    b isr
168
169    PUBLIC irq28
170irq28
171    movs r0,#28
172    b isr
173
174    PUBLIC irq29
175irq29
176    movs r0,#29
177    b isr
178
179    PUBLIC irq30
180irq30
181    movs r0,#30
182    b isr
183
184    PUBLIC irq31
185irq31
186    movs r0,#31
187    b isr
188
189    PUBLIC isr
190isr
191    ldr r1,=__vector_table
192    ldr r0,[r0, r1]
193    bx r0
194
195
196    PUBWEAK HARD_FAULT_IRQHandler
197    PUBWEAK SVC_IRQHandler
198    PUBWEAK PENDSV_IRQHandler
199    PUBWEAK SYSTICK_IRQHandler
200    PUBWEAK USB_IRQHandler
201    PUBWEAK IIC_IRQHandler
202    PUBWEAK QSPI_IRQHandler
203    PUBWEAK SPI0_IRQHandler
204    PUBWEAK SPI1_IRQHandler
205    PUBWEAK UART0_IRQHandler
206    PUBWEAK UART1_IRQHandler
207    PUBWEAK MEMCP_IRQHandler
208    PUBWEAK RSA_IRQHandler
209    PUBWEAK SCI0_IRQHandler
210    PUBWEAK SCI1_IRQHandler
211    PUBWEAK BT_IRQHandler
212    PUBWEAK GPIO_IRQHandler
213    PUBWEAK TIMER0_IRQHandler
214    PUBWEAK TIMER1_IRQHandler
215    PUBWEAK TIMER2_IRQHandler
216    PUBWEAK TIMER3_IRQHandler
217    PUBWEAK TIMER4_IRQHandler
218    PUBWEAK TIMER5_IRQHandler
219    PUBWEAK TIMER6_IRQHandler
220    PUBWEAK TIMER7_IRQHandler
221    PUBWEAK TIMER8_IRQHandler
222    PUBWEAK SM4_IRQHandler
223    PUBWEAK SEC_IRQHandler
224    PUBWEAK MSR_IRQHandler
225    PUBWEAK TRNG_IRQHandler
226    PUBWEAK WDT_IRQHandler
227
228
229HARD_FAULT_IRQHandler
230SVC_IRQHandler
231PENDSV_IRQHandler
232SYSTICK_IRQHandler
233
234USB_IRQHandler
235IIC_IRQHandler
236QSPI_IRQHandler
237SPI0_IRQHandler
238SPI1_IRQHandler
239UART0_IRQHandler
240UART1_IRQHandler
241MEMCP_IRQHandler
242RSA_IRQHandler
243SCI0_IRQHandler
244SCI1_IRQHandler
245BT_IRQHandler
246GPIO_IRQHandler
247TIMER0_IRQHandler
248TIMER1_IRQHandler
249TIMER2_IRQHandler
250TIMER3_IRQHandler
251TIMER4_IRQHandler
252TIMER5_IRQHandler
253TIMER6_IRQHandler
254TIMER7_IRQHandler
255TIMER8_IRQHandler
256SM4_IRQHandler
257SEC_IRQHandler
258MSR_IRQHandler
259TRNG_IRQHandler
260WDT_IRQHandler
261    B       .
262
263    PUBLIC delay
264delay
265    subs r0,#1
266    bne delay
267    nop
268    bx lr
269
270    PUBLIC __vector_table
271    ALIGNROM 2
272    data
273__vector_table
274    DCD USB_IRQHandler
275    DCD IIC_IRQHandler
276    DCD QSPI_IRQHandler
277    DCD SPI0_IRQHandler
278    DCD SPI1_IRQHandler
279    DCD UART0_IRQHandler
280    DCD UART1_IRQHandler
281    DCD MEMCP_IRQHandler
282    DCD RSA_IRQHandler
283    DCD SCI0_IRQHandler
284    DCD SCI1_IRQHandler
285    DCD BT_IRQHandler
286    DCD GPIO_IRQHandler
287    DCD TIMER0_IRQHandler
288    DCD TIMER1_IRQHandler
289    DCD TIMER2_IRQHandler
290    DCD TIMER3_IRQHandler
291    DCD TIMER4_IRQHandler
292    DCD TIMER5_IRQHandler
293    DCD TIMER6_IRQHandler
294    DCD TIMER7_IRQHandler
295    DCD TIMER8_IRQHandler
296    DCD SM4_IRQHandler
297    DCD SEC_IRQHandler
298    DCD MSR_IRQHandler
299    DCD TRNG_IRQHandler
300    DCD WDT_IRQHandler
301
302
303    PUBLIC hardware_init
304    SECTION .intvec:CODE:REORDER(2)
305    CODE
306hardware_init
307    LDR R0, =sfe(CSTACK)
308    mov	sp, R0
309    LDR R0, =__iar_program_start
310    BX 	R0
311    END