1;/******************** (C) COPYRIGHT 2009 STMicroelectronics ********************
2;* File Name          : startup_stm32f10x_md.s
3;* Author             : MCD Application Team
4;* Version            : V3.1.2
5;* Date               : 09/28/2009
6;* Description        : STM32F10x Medium Density 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 & ADC2
90        DCD     USB_HP_CAN1_TX_IRQHandler  ; USB High Priority or CAN1 TX
91        DCD     USB_LP_CAN1_RX0_IRQHandler ; USB Low  Priority or 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        ; I2C2 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     USBWakeUp_IRQHandler      ; USB Wakeup from suspend
114
115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
116;;
117;; Default interrupt handlers.
118;;
119        THUMB
120
121        PUBWEAK NMI_Handler
122        SECTION .text:CODE:REORDER(1)
123NMI_Handler
124        B NMI_Handler
125
126        PUBWEAK HardFault_Handler
127        SECTION .text:CODE:REORDER(1)
128HardFault_Handler
129        B HardFault_Handler
130
131        PUBWEAK MemManage_Handler
132        SECTION .text:CODE:REORDER(1)
133MemManage_Handler
134        B MemManage_Handler
135
136        PUBWEAK BusFault_Handler
137        SECTION .text:CODE:REORDER(1)
138BusFault_Handler
139        B BusFault_Handler
140
141        PUBWEAK UsageFault_Handler
142        SECTION .text:CODE:REORDER(1)
143UsageFault_Handler
144        B UsageFault_Handler
145
146        PUBWEAK SVC_Handler
147        SECTION .text:CODE:REORDER(1)
148SVC_Handler
149        B SVC_Handler
150
151        PUBWEAK DebugMon_Handler
152        SECTION .text:CODE:REORDER(1)
153DebugMon_Handler
154        B DebugMon_Handler
155
156        PUBWEAK PendSV_Handler
157        SECTION .text:CODE:REORDER(1)
158PendSV_Handler
159        B PendSV_Handler
160
161        PUBWEAK SysTick_Handler
162        SECTION .text:CODE:REORDER(1)
163SysTick_Handler
164        B SysTick_Handler
165
166        PUBWEAK WWDG_IRQHandler
167        SECTION .text:CODE:REORDER(1)
168WWDG_IRQHandler
169        B WWDG_IRQHandler
170
171        PUBWEAK PVD_IRQHandler
172        SECTION .text:CODE:REORDER(1)
173PVD_IRQHandler
174        B PVD_IRQHandler
175
176        PUBWEAK TAMPER_IRQHandler
177        SECTION .text:CODE:REORDER(1)
178TAMPER_IRQHandler
179        B TAMPER_IRQHandler
180
181        PUBWEAK RTC_IRQHandler
182        SECTION .text:CODE:REORDER(1)
183RTC_IRQHandler
184        B RTC_IRQHandler
185
186        PUBWEAK FLASH_IRQHandler
187        SECTION .text:CODE:REORDER(1)
188FLASH_IRQHandler
189        B FLASH_IRQHandler
190
191        PUBWEAK RCC_IRQHandler
192        SECTION .text:CODE:REORDER(1)
193RCC_IRQHandler
194        B RCC_IRQHandler
195
196        PUBWEAK EXTI0_IRQHandler
197        SECTION .text:CODE:REORDER(1)
198EXTI0_IRQHandler
199        B EXTI0_IRQHandler
200
201        PUBWEAK EXTI1_IRQHandler
202        SECTION .text:CODE:REORDER(1)
203EXTI1_IRQHandler
204        B EXTI1_IRQHandler
205
206        PUBWEAK EXTI2_IRQHandler
207        SECTION .text:CODE:REORDER(1)
208EXTI2_IRQHandler
209        B EXTI2_IRQHandler
210
211        PUBWEAK EXTI3_IRQHandler
212        SECTION .text:CODE:REORDER(1)
213EXTI3_IRQHandler
214        B EXTI3_IRQHandler
215
216        PUBWEAK EXTI4_IRQHandler
217        SECTION .text:CODE:REORDER(1)
218EXTI4_IRQHandler
219        B EXTI4_IRQHandler
220
221        PUBWEAK DMA1_Channel1_IRQHandler
222        SECTION .text:CODE:REORDER(1)
223DMA1_Channel1_IRQHandler
224        B DMA1_Channel1_IRQHandler
225
226        PUBWEAK DMA1_Channel2_IRQHandler
227        SECTION .text:CODE:REORDER(1)
228DMA1_Channel2_IRQHandler
229        B DMA1_Channel2_IRQHandler
230
231        PUBWEAK DMA1_Channel3_IRQHandler
232        SECTION .text:CODE:REORDER(1)
233DMA1_Channel3_IRQHandler
234        B DMA1_Channel3_IRQHandler
235
236        PUBWEAK DMA1_Channel4_IRQHandler
237        SECTION .text:CODE:REORDER(1)
238DMA1_Channel4_IRQHandler
239        B DMA1_Channel4_IRQHandler
240
241        PUBWEAK DMA1_Channel5_IRQHandler
242        SECTION .text:CODE:REORDER(1)
243DMA1_Channel5_IRQHandler
244        B DMA1_Channel5_IRQHandler
245
246        PUBWEAK DMA1_Channel6_IRQHandler
247        SECTION .text:CODE:REORDER(1)
248DMA1_Channel6_IRQHandler
249        B DMA1_Channel6_IRQHandler
250
251        PUBWEAK DMA1_Channel7_IRQHandler
252        SECTION .text:CODE:REORDER(1)
253DMA1_Channel7_IRQHandler
254        B DMA1_Channel7_IRQHandler
255
256        PUBWEAK ADC1_2_IRQHandler
257        SECTION .text:CODE:REORDER(1)
258ADC1_2_IRQHandler
259        B ADC1_2_IRQHandler
260
261        PUBWEAK USB_HP_CAN1_TX_IRQHandler
262        SECTION .text:CODE:REORDER(1)
263USB_HP_CAN1_TX_IRQHandler
264        B USB_HP_CAN1_TX_IRQHandler
265
266        PUBWEAK USB_LP_CAN1_RX0_IRQHandler
267        SECTION .text:CODE:REORDER(1)
268USB_LP_CAN1_RX0_IRQHandler
269        B USB_LP_CAN1_RX0_IRQHandler
270
271        PUBWEAK CAN1_RX1_IRQHandler
272        SECTION .text:CODE:REORDER(1)
273CAN1_RX1_IRQHandler
274        B CAN1_RX1_IRQHandler
275
276        PUBWEAK CAN1_SCE_IRQHandler
277        SECTION .text:CODE:REORDER(1)
278CAN1_SCE_IRQHandler
279        B CAN1_SCE_IRQHandler
280
281        PUBWEAK EXTI9_5_IRQHandler
282        SECTION .text:CODE:REORDER(1)
283EXTI9_5_IRQHandler
284        B EXTI9_5_IRQHandler
285
286        PUBWEAK TIM1_BRK_IRQHandler
287        SECTION .text:CODE:REORDER(1)
288TIM1_BRK_IRQHandler
289        B TIM1_BRK_IRQHandler
290
291        PUBWEAK TIM1_UP_IRQHandler
292        SECTION .text:CODE:REORDER(1)
293TIM1_UP_IRQHandler
294        B TIM1_UP_IRQHandler
295
296        PUBWEAK TIM1_TRG_COM_IRQHandler
297        SECTION .text:CODE:REORDER(1)
298TIM1_TRG_COM_IRQHandler
299        B TIM1_TRG_COM_IRQHandler
300
301        PUBWEAK TIM1_CC_IRQHandler
302        SECTION .text:CODE:REORDER(1)
303TIM1_CC_IRQHandler
304        B TIM1_CC_IRQHandler
305
306        PUBWEAK TIM2_IRQHandler
307        SECTION .text:CODE:REORDER(1)
308TIM2_IRQHandler
309        B TIM2_IRQHandler
310
311        PUBWEAK TIM3_IRQHandler
312        SECTION .text:CODE:REORDER(1)
313TIM3_IRQHandler
314        B TIM3_IRQHandler
315
316        PUBWEAK TIM4_IRQHandler
317        SECTION .text:CODE:REORDER(1)
318TIM4_IRQHandler
319        B TIM4_IRQHandler
320
321        PUBWEAK I2C1_EV_IRQHandler
322        SECTION .text:CODE:REORDER(1)
323I2C1_EV_IRQHandler
324        B I2C1_EV_IRQHandler
325
326        PUBWEAK I2C1_ER_IRQHandler
327        SECTION .text:CODE:REORDER(1)
328I2C1_ER_IRQHandler
329        B I2C1_ER_IRQHandler
330
331        PUBWEAK I2C2_EV_IRQHandler
332        SECTION .text:CODE:REORDER(1)
333I2C2_EV_IRQHandler
334        B I2C2_EV_IRQHandler
335
336        PUBWEAK I2C2_ER_IRQHandler
337        SECTION .text:CODE:REORDER(1)
338I2C2_ER_IRQHandler
339        B I2C2_ER_IRQHandler
340
341        PUBWEAK SPI1_IRQHandler
342        SECTION .text:CODE:REORDER(1)
343SPI1_IRQHandler
344        B SPI1_IRQHandler
345
346        PUBWEAK SPI2_IRQHandler
347        SECTION .text:CODE:REORDER(1)
348SPI2_IRQHandler
349        B SPI2_IRQHandler
350
351        PUBWEAK USART1_IRQHandler
352        SECTION .text:CODE:REORDER(1)
353USART1_IRQHandler
354        B USART1_IRQHandler
355
356        PUBWEAK USART2_IRQHandler
357        SECTION .text:CODE:REORDER(1)
358USART2_IRQHandler
359        B USART2_IRQHandler
360
361        PUBWEAK USART3_IRQHandler
362        SECTION .text:CODE:REORDER(1)
363USART3_IRQHandler
364        B USART3_IRQHandler
365
366        PUBWEAK EXTI15_10_IRQHandler
367        SECTION .text:CODE:REORDER(1)
368EXTI15_10_IRQHandler
369        B EXTI15_10_IRQHandler
370
371        PUBWEAK RTCAlarm_IRQHandler
372        SECTION .text:CODE:REORDER(1)
373RTCAlarm_IRQHandler
374        B RTCAlarm_IRQHandler
375
376        PUBWEAK USBWakeUp_IRQHandler
377        SECTION .text:CODE:REORDER(1)
378USBWakeUp_IRQHandler
379        B USBWakeUp_IRQHandler
380
381        END
382/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/
383