Rev Author Line No. Line
3328 povik 1 ;/******************** (C) COPYRIGHT 2009 STMicroelectronics ********************
2 ;* File Name : startup_stm32f10x_cl.s
3 ;* Author : MCD Application Team
4 ;* Version : V3.1.2
5 ;* Date : 09/28/2009
6 ;* Description : STM32F10x Connectivity line devices vector table for
7 ;* EWARM5.x toolchain.
8 ;* This module performs:
9 ;* - Set the initial SP
10 ;* - Set the initial PC == __iar_program_start,
11 ;* - Set the vector table entries with the exceptions ISR
12 ;* address.
13 ;* After Reset the Cortex-M3 processor is in Thread mode,
14 ;* priority is Privileged, and the Stack is set to Main.
15 ;********************************************************************************
16 ;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
17 ;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
18 ;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
19 ;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
20 ;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
21 ;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
22 ;*******************************************************************************/
23 ;
24 ;
25 ; The modules in this file are included in the libraries, and may be replaced
26 ; by any user-defined modules that define the PUBLIC symbol _program_start or
27 ; a user defined start symbol.
28 ; To override the cstartup defined in the library, simply add your modified
29 ; version to the workbench project.
30 ;
31 ; The vector table is normally located at address 0.
32 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
33 ; The name "__vector_table" has special meaning for C-SPY:
34 ; it is where the SP start value is found, and the NVIC vector
35 ; table register (VTOR) is initialized to this address if != 0.
36 ;
37 ; Cortex-M version
38 ;
39  
40 MODULE ?cstartup
41  
42 ;; Forward declaration of sections.
43 SECTION CSTACK:DATA:NOROOT(3)
44  
45 SECTION .intvec:CODE:NOROOT(2)
46  
47 EXTERN __iar_program_start
48 PUBLIC __vector_table
49  
50 DATA
51 __vector_table
52 DCD sfe(CSTACK)
53 DCD __iar_program_start
54  
55 DCD NMI_Handler ; NMI Handler
56 DCD HardFault_Handler ; Hard Fault Handler
57 DCD MemManage_Handler ; MPU Fault Handler
58 DCD BusFault_Handler ; Bus Fault Handler
59 DCD UsageFault_Handler ; Usage Fault Handler
60 DCD 0 ; Reserved
61 DCD 0 ; Reserved
62 DCD 0 ; Reserved
63 DCD 0 ; Reserved
64 DCD SVC_Handler ; SVCall Handler
65 DCD DebugMon_Handler ; Debug Monitor Handler
66 DCD 0 ; Reserved
67 DCD PendSV_Handler ; PendSV Handler
68 DCD SysTick_Handler ; SysTick Handler
69  
70 ; External Interrupts
71 DCD WWDG_IRQHandler ; Window Watchdog
72 DCD PVD_IRQHandler ; PVD through EXTI Line detect
73 DCD TAMPER_IRQHandler ; Tamper
74 DCD RTC_IRQHandler ; RTC
75 DCD FLASH_IRQHandler ; Flash
76 DCD RCC_IRQHandler ; RCC
77 DCD EXTI0_IRQHandler ; EXTI Line 0
78 DCD EXTI1_IRQHandler ; EXTI Line 1
79 DCD EXTI2_IRQHandler ; EXTI Line 2
80 DCD EXTI3_IRQHandler ; EXTI Line 3
81 DCD EXTI4_IRQHandler ; EXTI Line 4
82 DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
83 DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
84 DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
85 DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
86 DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
87 DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
88 DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
89 DCD ADC1_2_IRQHandler ; ADC1 and ADC2
90 DCD CAN1_TX_IRQHandler ; CAN1 TX
91 DCD CAN1_RX0_IRQHandler ; CAN1 RX0
92 DCD CAN1_RX1_IRQHandler ; CAN1 RX1
93 DCD CAN1_SCE_IRQHandler ; CAN1 SCE
94 DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
95 DCD TIM1_BRK_IRQHandler ; TIM1 Break
96 DCD TIM1_UP_IRQHandler ; TIM1 Update
97 DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation
98 DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
99 DCD TIM2_IRQHandler ; TIM2
100 DCD TIM3_IRQHandler ; TIM3
101 DCD TIM4_IRQHandler ; TIM4
102 DCD I2C1_EV_IRQHandler ; I2C1 Event
103 DCD I2C1_ER_IRQHandler ; I2C1 Error
104 DCD I2C2_EV_IRQHandler ; I2C2 Event
105 DCD I2C2_ER_IRQHandler ; I2C1 Error
106 DCD SPI1_IRQHandler ; SPI1
107 DCD SPI2_IRQHandler ; SPI2
108 DCD USART1_IRQHandler ; USART1
109 DCD USART2_IRQHandler ; USART2
110 DCD USART3_IRQHandler ; USART3
111 DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
112 DCD RTCAlarm_IRQHandler ; RTC alarm through EXTI line
113 DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line
114 DCD 0 ; Reserved
115 DCD 0 ; Reserved
116 DCD 0 ; Reserved
117 DCD 0 ; Reserved
118 DCD 0 ; Reserved
119 DCD 0 ; Reserved
120 DCD 0 ; Reserved
121 DCD TIM5_IRQHandler ; TIM5
122 DCD SPI3_IRQHandler ; SPI3
123 DCD UART4_IRQHandler ; UART4
124 DCD UART5_IRQHandler ; UART5
125 DCD TIM6_IRQHandler ; TIM6
126 DCD TIM7_IRQHandler ; TIM7
127 DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1
128 DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2
129 DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3
130 DCD DMA2_Channel4_IRQHandler ; DMA2 Channel4
131 DCD DMA2_Channel5_IRQHandler ; DMA2 Channel5
132 DCD ETH_IRQHandler ; Ethernet
133 DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line
134 DCD CAN2_TX_IRQHandler ; CAN2 TX
135 DCD CAN2_RX0_IRQHandler ; CAN2 RX0
136 DCD CAN2_RX1_IRQHandler ; CAN2 RX1
137 DCD CAN2_SCE_IRQHandler ; CAN2 SCE
138 DCD OTG_FS_IRQHandler ; USB OTG FS
139  
140 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
141 ;;
142 ;; Default interrupt handlers.
143 ;;
144 THUMB
145  
146 PUBWEAK NMI_Handler
147 SECTION .text:CODE:REORDER(1)
148 NMI_Handler
149 B NMI_Handler
150  
151 PUBWEAK HardFault_Handler
152 SECTION .text:CODE:REORDER(1)
153 HardFault_Handler
154 B HardFault_Handler
155  
156 PUBWEAK MemManage_Handler
157 SECTION .text:CODE:REORDER(1)
158 MemManage_Handler
159 B MemManage_Handler
160  
161 PUBWEAK BusFault_Handler
162 SECTION .text:CODE:REORDER(1)
163 BusFault_Handler
164 B BusFault_Handler
165  
166 PUBWEAK UsageFault_Handler
167 SECTION .text:CODE:REORDER(1)
168 UsageFault_Handler
169 B UsageFault_Handler
170  
171 PUBWEAK SVC_Handler
172 SECTION .text:CODE:REORDER(1)
173 SVC_Handler
174 B SVC_Handler
175  
176 PUBWEAK DebugMon_Handler
177 SECTION .text:CODE:REORDER(1)
178 DebugMon_Handler
179 B DebugMon_Handler
180  
181 PUBWEAK PendSV_Handler
182 SECTION .text:CODE:REORDER(1)
183 PendSV_Handler
184 B PendSV_Handler
185  
186 PUBWEAK SysTick_Handler
187 SECTION .text:CODE:REORDER(1)
188 SysTick_Handler
189 B SysTick_Handler
190  
191 PUBWEAK WWDG_IRQHandler
192 SECTION .text:CODE:REORDER(1)
193 WWDG_IRQHandler
194 B WWDG_IRQHandler
195  
196 PUBWEAK PVD_IRQHandler
197 SECTION .text:CODE:REORDER(1)
198 PVD_IRQHandler
199 B PVD_IRQHandler
200  
201 PUBWEAK TAMPER_IRQHandler
202 SECTION .text:CODE:REORDER(1)
203 TAMPER_IRQHandler
204 B TAMPER_IRQHandler
205  
206 PUBWEAK RTC_IRQHandler
207 SECTION .text:CODE:REORDER(1)
208 RTC_IRQHandler
209 B RTC_IRQHandler
210  
211 PUBWEAK FLASH_IRQHandler
212 SECTION .text:CODE:REORDER(1)
213 FLASH_IRQHandler
214 B FLASH_IRQHandler
215  
216 PUBWEAK RCC_IRQHandler
217 SECTION .text:CODE:REORDER(1)
218 RCC_IRQHandler
219 B RCC_IRQHandler
220  
221 PUBWEAK EXTI0_IRQHandler
222 SECTION .text:CODE:REORDER(1)
223 EXTI0_IRQHandler
224 B EXTI0_IRQHandler
225  
226 PUBWEAK EXTI1_IRQHandler
227 SECTION .text:CODE:REORDER(1)
228 EXTI1_IRQHandler
229 B EXTI1_IRQHandler
230  
231 PUBWEAK EXTI2_IRQHandler
232 SECTION .text:CODE:REORDER(1)
233 EXTI2_IRQHandler
234 B EXTI2_IRQHandler
235  
236 PUBWEAK EXTI3_IRQHandler
237 SECTION .text:CODE:REORDER(1)
238 EXTI3_IRQHandler
239 B EXTI3_IRQHandler
240  
241  
242 PUBWEAK EXTI4_IRQHandler
243 SECTION .text:CODE:REORDER(1)
244 EXTI4_IRQHandler
245 B EXTI4_IRQHandler
246  
247 PUBWEAK DMA1_Channel1_IRQHandler
248 SECTION .text:CODE:REORDER(1)
249 DMA1_Channel1_IRQHandler
250 B DMA1_Channel1_IRQHandler
251  
252 PUBWEAK DMA1_Channel2_IRQHandler
253 SECTION .text:CODE:REORDER(1)
254 DMA1_Channel2_IRQHandler
255 B DMA1_Channel2_IRQHandler
256  
257 PUBWEAK DMA1_Channel3_IRQHandler
258 SECTION .text:CODE:REORDER(1)
259 DMA1_Channel3_IRQHandler
260 B DMA1_Channel3_IRQHandler
261  
262 PUBWEAK DMA1_Channel4_IRQHandler
263 SECTION .text:CODE:REORDER(1)
264 DMA1_Channel4_IRQHandler
265 B DMA1_Channel4_IRQHandler
266  
267 PUBWEAK DMA1_Channel5_IRQHandler
268 SECTION .text:CODE:REORDER(1)
269 DMA1_Channel5_IRQHandler
270 B DMA1_Channel5_IRQHandler
271  
272 PUBWEAK DMA1_Channel6_IRQHandler
273 SECTION .text:CODE:REORDER(1)
274 DMA1_Channel6_IRQHandler
275 B DMA1_Channel6_IRQHandler
276  
277 PUBWEAK DMA1_Channel7_IRQHandler
278 SECTION .text:CODE:REORDER(1)
279 DMA1_Channel7_IRQHandler
280 B DMA1_Channel7_IRQHandler
281  
282 PUBWEAK ADC1_2_IRQHandler
283 SECTION .text:CODE:REORDER(1)
284 ADC1_2_IRQHandler
285 B ADC1_2_IRQHandler
286  
287 PUBWEAK CAN1_TX_IRQHandler
288 SECTION .text:CODE:REORDER(1)
289 CAN1_TX_IRQHandler
290 B CAN1_TX_IRQHandler
291  
292 PUBWEAK CAN1_RX0_IRQHandler
293 SECTION .text:CODE:REORDER(1)
294 CAN1_RX0_IRQHandler
295 B CAN1_RX0_IRQHandler
296  
297 PUBWEAK CAN1_RX1_IRQHandler
298 SECTION .text:CODE:REORDER(1)
299 CAN1_RX1_IRQHandler
300 B CAN1_RX1_IRQHandler
301  
302 PUBWEAK CAN1_SCE_IRQHandler
303 SECTION .text:CODE:REORDER(1)
304 CAN1_SCE_IRQHandler
305 B CAN1_SCE_IRQHandler
306  
307 PUBWEAK EXTI9_5_IRQHandler
308 SECTION .text:CODE:REORDER(1)
309 EXTI9_5_IRQHandler
310 B EXTI9_5_IRQHandler
311  
312 PUBWEAK TIM1_BRK_IRQHandler
313 SECTION .text:CODE:REORDER(1)
314 TIM1_BRK_IRQHandler
315 B TIM1_BRK_IRQHandler
316  
317 PUBWEAK TIM1_UP_IRQHandler
318 SECTION .text:CODE:REORDER(1)
319 TIM1_UP_IRQHandler
320 B TIM1_UP_IRQHandler
321  
322 PUBWEAK TIM1_TRG_COM_IRQHandler
323 SECTION .text:CODE:REORDER(1)
324 TIM1_TRG_COM_IRQHandler
325 B TIM1_TRG_COM_IRQHandler
326  
327 PUBWEAK TIM1_CC_IRQHandler
328 SECTION .text:CODE:REORDER(1)
329 TIM1_CC_IRQHandler
330 B TIM1_CC_IRQHandler
331  
332 PUBWEAK TIM2_IRQHandler
333 SECTION .text:CODE:REORDER(1)
334 TIM2_IRQHandler
335 B TIM2_IRQHandler
336  
337 PUBWEAK TIM3_IRQHandler
338 SECTION .text:CODE:REORDER(1)
339 TIM3_IRQHandler
340 B TIM3_IRQHandler
341  
342 PUBWEAK TIM4_IRQHandler
343 SECTION .text:CODE:REORDER(1)
344 TIM4_IRQHandler
345 B TIM4_IRQHandler
346  
347 PUBWEAK I2C1_EV_IRQHandler
348 SECTION .text:CODE:REORDER(1)
349 I2C1_EV_IRQHandler
350 B I2C1_EV_IRQHandler
351  
352 PUBWEAK I2C1_ER_IRQHandler
353 SECTION .text:CODE:REORDER(1)
354 I2C1_ER_IRQHandler
355 B I2C1_ER_IRQHandler
356  
357 PUBWEAK I2C2_EV_IRQHandler
358 SECTION .text:CODE:REORDER(1)
359 I2C2_EV_IRQHandler
360 B I2C2_EV_IRQHandler
361  
362 PUBWEAK I2C2_ER_IRQHandler
363 SECTION .text:CODE:REORDER(1)
364 I2C2_ER_IRQHandler
365 B I2C2_ER_IRQHandler
366  
367 PUBWEAK SPI1_IRQHandler
368 SECTION .text:CODE:REORDER(1)
369 SPI1_IRQHandler
370 B SPI1_IRQHandler
371  
372 PUBWEAK SPI2_IRQHandler
373 SECTION .text:CODE:REORDER(1)
374 SPI2_IRQHandler
375 B SPI2_IRQHandler
376  
377 PUBWEAK USART1_IRQHandler
378 SECTION .text:CODE:REORDER(1)
379 USART1_IRQHandler
380 B USART1_IRQHandler
381  
382 PUBWEAK USART2_IRQHandler
383 SECTION .text:CODE:REORDER(1)
384 USART2_IRQHandler
385 B USART2_IRQHandler
386  
387 PUBWEAK USART3_IRQHandler
388 SECTION .text:CODE:REORDER(1)
389 USART3_IRQHandler
390 B USART3_IRQHandler
391  
392 PUBWEAK EXTI15_10_IRQHandler
393 SECTION .text:CODE:REORDER(1)
394 EXTI15_10_IRQHandler
395 B EXTI15_10_IRQHandler
396  
397 PUBWEAK RTCAlarm_IRQHandler
398 SECTION .text:CODE:REORDER(1)
399 RTCAlarm_IRQHandler
400 B RTCAlarm_IRQHandler
401  
402 PUBWEAK OTG_FS_WKUP_IRQHandler
403 SECTION .text:CODE:REORDER(1)
404 OTG_FS_WKUP_IRQHandler
405 B OTG_FS_WKUP_IRQHandler
406  
407 PUBWEAK TIM5_IRQHandler
408 SECTION .text:CODE:REORDER(1)
409 TIM5_IRQHandler
410 B TIM5_IRQHandler
411  
412 PUBWEAK SPI3_IRQHandler
413 SECTION .text:CODE:REORDER(1)
414 SPI3_IRQHandler
415 B SPI3_IRQHandler
416  
417 PUBWEAK UART4_IRQHandler
418 SECTION .text:CODE:REORDER(1)
419 UART4_IRQHandler
420 B UART4_IRQHandler
421  
422 PUBWEAK UART5_IRQHandler
423 SECTION .text:CODE:REORDER(1)
424 UART5_IRQHandler
425 B UART5_IRQHandler
426  
427 PUBWEAK TIM6_IRQHandler
428 SECTION .text:CODE:REORDER(1)
429 TIM6_IRQHandler
430 B TIM6_IRQHandler
431  
432 PUBWEAK TIM7_IRQHandler
433 SECTION .text:CODE:REORDER(1)
434 TIM7_IRQHandler
435 B TIM7_IRQHandler
436  
437 PUBWEAK DMA2_Channel1_IRQHandler
438 SECTION .text:CODE:REORDER(1)
439 DMA2_Channel1_IRQHandler
440 B DMA2_Channel1_IRQHandler
441  
442 PUBWEAK DMA2_Channel2_IRQHandler
443 SECTION .text:CODE:REORDER(1)
444 DMA2_Channel2_IRQHandler
445 B DMA2_Channel2_IRQHandler
446  
447 PUBWEAK DMA2_Channel3_IRQHandler
448 SECTION .text:CODE:REORDER(1)
449 DMA2_Channel3_IRQHandler
450 B DMA2_Channel3_IRQHandler
451  
452 PUBWEAK DMA2_Channel4_IRQHandler
453 SECTION .text:CODE:REORDER(1)
454 DMA2_Channel4_IRQHandler
455 B DMA2_Channel4_IRQHandler
456  
457 PUBWEAK DMA2_Channel5_IRQHandler
458 SECTION .text:CODE:REORDER(1)
459 DMA2_Channel5_IRQHandler
460 B DMA2_Channel5_IRQHandler
461  
462 PUBWEAK ETH_IRQHandler
463 SECTION .text:CODE:REORDER(1)
464 ETH_IRQHandler
465 B ETH_IRQHandler
466  
467 PUBWEAK ETH_WKUP_IRQHandler
468 SECTION .text:CODE:REORDER(1)
469 ETH_WKUP_IRQHandler
470 B ETH_WKUP_IRQHandler
471  
472 PUBWEAK CAN2_TX_IRQHandler
473 SECTION .text:CODE:REORDER(1)
474 CAN2_TX_IRQHandler
475 B CAN2_TX_IRQHandler
476  
477 PUBWEAK CAN2_RX0_IRQHandler
478 SECTION .text:CODE:REORDER(1)
479 CAN2_RX0_IRQHandler
480 B CAN2_RX0_IRQHandler
481  
482 PUBWEAK CAN2_RX1_IRQHandler
483 SECTION .text:CODE:REORDER(1)
484 CAN2_RX1_IRQHandler
485 B CAN2_RX1_IRQHandler
486  
487 PUBWEAK CAN2_SCE_IRQHandler
488 SECTION .text:CODE:REORDER(1)
489 CAN2_SCE_IRQHandler
490 B CAN2_SCE_IRQHandler
491  
492 PUBWEAK OTG_FS_IRQHandler
493 SECTION .text:CODE:REORDER(1)
494 OTG_FS_IRQHandler
495 B OTG_FS_IRQHandler
496  
497 END
498 /******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/