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)
148NMI_Handler
149        B NMI_Handler
150
151        PUBWEAK HardFault_Handler
152        SECTION .text:CODE:REORDER(1)
153HardFault_Handler
154        B HardFault_Handler
155
156        PUBWEAK MemManage_Handler
157        SECTION .text:CODE:REORDER(1)
158MemManage_Handler
159        B MemManage_Handler
160
161        PUBWEAK BusFault_Handler
162        SECTION .text:CODE:REORDER(1)
163BusFault_Handler
164        B BusFault_Handler
165
166        PUBWEAK UsageFault_Handler
167        SECTION .text:CODE:REORDER(1)
168UsageFault_Handler
169        B UsageFault_Handler
170
171        PUBWEAK SVC_Handler
172        SECTION .text:CODE:REORDER(1)
173SVC_Handler
174        B SVC_Handler
175
176        PUBWEAK DebugMon_Handler
177        SECTION .text:CODE:REORDER(1)
178DebugMon_Handler
179        B DebugMon_Handler
180
181        PUBWEAK PendSV_Handler
182        SECTION .text:CODE:REORDER(1)
183PendSV_Handler
184        B PendSV_Handler
185
186        PUBWEAK SysTick_Handler
187        SECTION .text:CODE:REORDER(1)
188SysTick_Handler
189        B SysTick_Handler
190
191        PUBWEAK WWDG_IRQHandler
192        SECTION .text:CODE:REORDER(1)
193WWDG_IRQHandler
194        B WWDG_IRQHandler
195
196        PUBWEAK PVD_IRQHandler
197        SECTION .text:CODE:REORDER(1)
198PVD_IRQHandler
199        B PVD_IRQHandler
200
201        PUBWEAK TAMPER_IRQHandler
202        SECTION .text:CODE:REORDER(1)
203TAMPER_IRQHandler
204        B TAMPER_IRQHandler
205
206        PUBWEAK RTC_IRQHandler
207        SECTION .text:CODE:REORDER(1)
208RTC_IRQHandler
209        B RTC_IRQHandler
210
211        PUBWEAK FLASH_IRQHandler
212        SECTION .text:CODE:REORDER(1)
213FLASH_IRQHandler
214        B FLASH_IRQHandler
215
216        PUBWEAK RCC_IRQHandler
217        SECTION .text:CODE:REORDER(1)
218RCC_IRQHandler
219        B RCC_IRQHandler
220
221        PUBWEAK EXTI0_IRQHandler
222        SECTION .text:CODE:REORDER(1)
223EXTI0_IRQHandler
224        B EXTI0_IRQHandler
225
226        PUBWEAK EXTI1_IRQHandler
227        SECTION .text:CODE:REORDER(1)
228EXTI1_IRQHandler
229        B EXTI1_IRQHandler
230
231        PUBWEAK EXTI2_IRQHandler
232        SECTION .text:CODE:REORDER(1)
233EXTI2_IRQHandler
234        B EXTI2_IRQHandler
235
236        PUBWEAK EXTI3_IRQHandler
237        SECTION .text:CODE:REORDER(1)
238EXTI3_IRQHandler
239        B EXTI3_IRQHandler
240
241
242        PUBWEAK EXTI4_IRQHandler
243        SECTION .text:CODE:REORDER(1)
244EXTI4_IRQHandler
245        B EXTI4_IRQHandler
246
247        PUBWEAK DMA1_Channel1_IRQHandler
248        SECTION .text:CODE:REORDER(1)
249DMA1_Channel1_IRQHandler
250        B DMA1_Channel1_IRQHandler
251
252        PUBWEAK DMA1_Channel2_IRQHandler
253        SECTION .text:CODE:REORDER(1)
254DMA1_Channel2_IRQHandler
255        B DMA1_Channel2_IRQHandler
256
257        PUBWEAK DMA1_Channel3_IRQHandler
258        SECTION .text:CODE:REORDER(1)
259DMA1_Channel3_IRQHandler
260        B DMA1_Channel3_IRQHandler
261
262        PUBWEAK DMA1_Channel4_IRQHandler
263        SECTION .text:CODE:REORDER(1)
264DMA1_Channel4_IRQHandler
265        B DMA1_Channel4_IRQHandler
266
267        PUBWEAK DMA1_Channel5_IRQHandler
268        SECTION .text:CODE:REORDER(1)
269DMA1_Channel5_IRQHandler
270        B DMA1_Channel5_IRQHandler
271
272        PUBWEAK DMA1_Channel6_IRQHandler
273        SECTION .text:CODE:REORDER(1)
274DMA1_Channel6_IRQHandler
275        B DMA1_Channel6_IRQHandler
276
277        PUBWEAK DMA1_Channel7_IRQHandler
278        SECTION .text:CODE:REORDER(1)
279DMA1_Channel7_IRQHandler
280        B DMA1_Channel7_IRQHandler
281
282        PUBWEAK ADC1_2_IRQHandler
283        SECTION .text:CODE:REORDER(1)
284ADC1_2_IRQHandler
285        B ADC1_2_IRQHandler
286
287        PUBWEAK CAN1_TX_IRQHandler
288        SECTION .text:CODE:REORDER(1)
289CAN1_TX_IRQHandler
290        B CAN1_TX_IRQHandler
291
292        PUBWEAK CAN1_RX0_IRQHandler
293        SECTION .text:CODE:REORDER(1)
294CAN1_RX0_IRQHandler
295        B CAN1_RX0_IRQHandler
296
297        PUBWEAK CAN1_RX1_IRQHandler
298        SECTION .text:CODE:REORDER(1)
299CAN1_RX1_IRQHandler
300        B CAN1_RX1_IRQHandler
301
302        PUBWEAK CAN1_SCE_IRQHandler
303        SECTION .text:CODE:REORDER(1)
304CAN1_SCE_IRQHandler
305        B CAN1_SCE_IRQHandler
306
307        PUBWEAK EXTI9_5_IRQHandler
308        SECTION .text:CODE:REORDER(1)
309EXTI9_5_IRQHandler
310        B EXTI9_5_IRQHandler
311
312        PUBWEAK TIM1_BRK_IRQHandler
313        SECTION .text:CODE:REORDER(1)
314TIM1_BRK_IRQHandler
315        B TIM1_BRK_IRQHandler
316
317        PUBWEAK TIM1_UP_IRQHandler
318        SECTION .text:CODE:REORDER(1)
319TIM1_UP_IRQHandler
320        B TIM1_UP_IRQHandler
321
322        PUBWEAK TIM1_TRG_COM_IRQHandler
323        SECTION .text:CODE:REORDER(1)
324TIM1_TRG_COM_IRQHandler
325        B TIM1_TRG_COM_IRQHandler
326
327        PUBWEAK TIM1_CC_IRQHandler
328        SECTION .text:CODE:REORDER(1)
329TIM1_CC_IRQHandler
330        B TIM1_CC_IRQHandler
331
332        PUBWEAK TIM2_IRQHandler
333        SECTION .text:CODE:REORDER(1)
334TIM2_IRQHandler
335        B TIM2_IRQHandler
336
337        PUBWEAK TIM3_IRQHandler
338        SECTION .text:CODE:REORDER(1)
339TIM3_IRQHandler
340        B TIM3_IRQHandler
341
342        PUBWEAK TIM4_IRQHandler
343        SECTION .text:CODE:REORDER(1)
344TIM4_IRQHandler
345        B TIM4_IRQHandler
346
347        PUBWEAK I2C1_EV_IRQHandler
348        SECTION .text:CODE:REORDER(1)
349I2C1_EV_IRQHandler
350        B I2C1_EV_IRQHandler
351
352        PUBWEAK I2C1_ER_IRQHandler
353        SECTION .text:CODE:REORDER(1)
354I2C1_ER_IRQHandler
355        B I2C1_ER_IRQHandler
356
357        PUBWEAK I2C2_EV_IRQHandler
358        SECTION .text:CODE:REORDER(1)
359I2C2_EV_IRQHandler
360        B I2C2_EV_IRQHandler
361
362        PUBWEAK I2C2_ER_IRQHandler
363        SECTION .text:CODE:REORDER(1)
364I2C2_ER_IRQHandler
365        B I2C2_ER_IRQHandler
366
367        PUBWEAK SPI1_IRQHandler
368        SECTION .text:CODE:REORDER(1)
369SPI1_IRQHandler
370        B SPI1_IRQHandler
371
372        PUBWEAK SPI2_IRQHandler
373        SECTION .text:CODE:REORDER(1)
374SPI2_IRQHandler
375        B SPI2_IRQHandler
376
377        PUBWEAK USART1_IRQHandler
378        SECTION .text:CODE:REORDER(1)
379USART1_IRQHandler
380        B USART1_IRQHandler
381
382        PUBWEAK USART2_IRQHandler
383        SECTION .text:CODE:REORDER(1)
384USART2_IRQHandler
385        B USART2_IRQHandler
386
387        PUBWEAK USART3_IRQHandler
388        SECTION .text:CODE:REORDER(1)
389USART3_IRQHandler
390        B USART3_IRQHandler
391
392        PUBWEAK EXTI15_10_IRQHandler
393        SECTION .text:CODE:REORDER(1)
394EXTI15_10_IRQHandler
395        B EXTI15_10_IRQHandler
396
397        PUBWEAK RTCAlarm_IRQHandler
398        SECTION .text:CODE:REORDER(1)
399RTCAlarm_IRQHandler
400        B RTCAlarm_IRQHandler
401
402        PUBWEAK OTG_FS_WKUP_IRQHandler
403        SECTION .text:CODE:REORDER(1)
404OTG_FS_WKUP_IRQHandler
405        B OTG_FS_WKUP_IRQHandler
406
407        PUBWEAK TIM5_IRQHandler
408        SECTION .text:CODE:REORDER(1)
409TIM5_IRQHandler
410        B TIM5_IRQHandler
411
412        PUBWEAK SPI3_IRQHandler
413        SECTION .text:CODE:REORDER(1)
414SPI3_IRQHandler
415        B SPI3_IRQHandler
416
417        PUBWEAK UART4_IRQHandler
418        SECTION .text:CODE:REORDER(1)
419UART4_IRQHandler
420        B UART4_IRQHandler
421
422        PUBWEAK UART5_IRQHandler
423        SECTION .text:CODE:REORDER(1)
424UART5_IRQHandler
425        B UART5_IRQHandler
426
427        PUBWEAK TIM6_IRQHandler
428        SECTION .text:CODE:REORDER(1)
429TIM6_IRQHandler
430        B TIM6_IRQHandler
431
432        PUBWEAK TIM7_IRQHandler
433        SECTION .text:CODE:REORDER(1)
434TIM7_IRQHandler
435        B TIM7_IRQHandler
436
437        PUBWEAK DMA2_Channel1_IRQHandler
438        SECTION .text:CODE:REORDER(1)
439DMA2_Channel1_IRQHandler
440        B DMA2_Channel1_IRQHandler
441
442        PUBWEAK DMA2_Channel2_IRQHandler
443        SECTION .text:CODE:REORDER(1)
444DMA2_Channel2_IRQHandler
445        B DMA2_Channel2_IRQHandler
446
447        PUBWEAK DMA2_Channel3_IRQHandler
448        SECTION .text:CODE:REORDER(1)
449DMA2_Channel3_IRQHandler
450        B DMA2_Channel3_IRQHandler
451
452        PUBWEAK DMA2_Channel4_IRQHandler
453        SECTION .text:CODE:REORDER(1)
454DMA2_Channel4_IRQHandler
455        B DMA2_Channel4_IRQHandler
456
457        PUBWEAK DMA2_Channel5_IRQHandler
458        SECTION .text:CODE:REORDER(1)
459DMA2_Channel5_IRQHandler
460        B DMA2_Channel5_IRQHandler
461
462        PUBWEAK ETH_IRQHandler
463        SECTION .text:CODE:REORDER(1)
464ETH_IRQHandler
465        B ETH_IRQHandler
466
467        PUBWEAK ETH_WKUP_IRQHandler
468        SECTION .text:CODE:REORDER(1)
469ETH_WKUP_IRQHandler
470        B ETH_WKUP_IRQHandler
471
472        PUBWEAK CAN2_TX_IRQHandler
473        SECTION .text:CODE:REORDER(1)
474CAN2_TX_IRQHandler
475        B CAN2_TX_IRQHandler
476
477        PUBWEAK CAN2_RX0_IRQHandler
478        SECTION .text:CODE:REORDER(1)
479CAN2_RX0_IRQHandler
480        B CAN2_RX0_IRQHandler
481
482        PUBWEAK CAN2_RX1_IRQHandler
483        SECTION .text:CODE:REORDER(1)
484CAN2_RX1_IRQHandler
485        B CAN2_RX1_IRQHandler
486
487        PUBWEAK CAN2_SCE_IRQHandler
488        SECTION .text:CODE:REORDER(1)
489CAN2_SCE_IRQHandler
490        B CAN2_SCE_IRQHandler
491
492        PUBWEAK OTG_FS_IRQHandler
493        SECTION .text:CODE:REORDER(1)
494OTG_FS_IRQHandler
495        B OTG_FS_IRQHandler
496
497        END
498/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
499