DSO138_SourceCodes_v037.rar
[DSO138] / Libraries / CMSIS / CM3 / DeviceSupport / ST / STM32F10x / startup / iar / startup_stm32f10x_md.s
1 ;/******************** (C) COPYRIGHT 2010 STMicroelectronics ********************\r
2 ;* File Name          : startup_stm32f10x_md.s\r
3 ;* Author             : MCD Application Team\r
4 ;* Version            : V3.3.0\r
5 ;* Date               : 04/16/2010\r
6 ;* Description        : STM32F10x Medium Density Devices vector table for \r
7 ;*                      EWARM5.x toolchain.\r
8 ;*                      This module performs:\r
9 ;*                      - Set the initial SP\r
10 ;*                      - Configure the clock system\r
11 ;*                      - Set the initial PC == __iar_program_start,\r
12 ;*                      - Set the vector table entries with the exceptions ISR \r
13 ;*                        address.\r
14 ;*                      After Reset the Cortex-M3 processor is in Thread mode,\r
15 ;*                      priority is Privileged, and the Stack is set to Main.\r
16 ;********************************************************************************\r
17 ;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
18 ;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.\r
19 ;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,\r
20 ;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE\r
21 ;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING\r
22 ;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
23 ;*******************************************************************************/\r
24 ;\r
25 ;\r
26 ; The modules in this file are included in the libraries, and may be replaced\r
27 ; by any user-defined modules that define the PUBLIC symbol _program_start or\r
28 ; a user defined start symbol.\r
29 ; To override the cstartup defined in the library, simply add your modified\r
30 ; version to the workbench project.\r
31 ;\r
32 ; The vector table is normally located at address 0.\r
33 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.\r
34 ; The name "__vector_table" has special meaning for C-SPY:\r
35 ; it is where the SP start value is found, and the NVIC vector\r
36 ; table register (VTOR) is initialized to this address if != 0.\r
37 ;\r
38 ; Cortex-M version\r
39 ;\r
40 \r
41         MODULE  ?cstartup\r
42 \r
43         ;; Forward declaration of sections.\r
44         SECTION CSTACK:DATA:NOROOT(3)\r
45 \r
46         SECTION .intvec:CODE:NOROOT(2)\r
47 \r
48         EXTERN  __iar_program_start\r
49         EXTERN  SystemInit        \r
50         PUBLIC  __vector_table\r
51 \r
52         DATA\r
53 __vector_table\r
54         DCD     sfe(CSTACK)\r
55         DCD     Reset_Handler             ; Reset Handler\r
56         DCD     NMI_Handler               ; NMI Handler\r
57         DCD     HardFault_Handler         ; Hard Fault Handler\r
58         DCD     MemManage_Handler         ; MPU Fault Handler\r
59         DCD     BusFault_Handler          ; Bus Fault Handler\r
60         DCD     UsageFault_Handler        ; Usage Fault Handler\r
61         DCD     0                         ; Reserved\r
62         DCD     0                         ; Reserved\r
63         DCD     0                         ; Reserved\r
64         DCD     0                         ; Reserved\r
65         DCD     SVC_Handler               ; SVCall Handler\r
66         DCD     DebugMon_Handler          ; Debug Monitor Handler\r
67         DCD     0                         ; Reserved\r
68         DCD     PendSV_Handler            ; PendSV Handler\r
69         DCD     SysTick_Handler           ; SysTick Handler\r
70 \r
71          ; External Interrupts\r
72         DCD     WWDG_IRQHandler           ; Window Watchdog\r
73         DCD     PVD_IRQHandler            ; PVD through EXTI Line detect\r
74         DCD     TAMPER_IRQHandler         ; Tamper\r
75         DCD     RTC_IRQHandler            ; RTC\r
76         DCD     FLASH_IRQHandler          ; Flash\r
77         DCD     RCC_IRQHandler            ; RCC\r
78         DCD     EXTI0_IRQHandler          ; EXTI Line 0\r
79         DCD     EXTI1_IRQHandler          ; EXTI Line 1\r
80         DCD     EXTI2_IRQHandler          ; EXTI Line 2\r
81         DCD     EXTI3_IRQHandler          ; EXTI Line 3\r
82         DCD     EXTI4_IRQHandler          ; EXTI Line 4\r
83         DCD     DMA1_Channel1_IRQHandler  ; DMA1 Channel 1\r
84         DCD     DMA1_Channel2_IRQHandler  ; DMA1 Channel 2\r
85         DCD     DMA1_Channel3_IRQHandler  ; DMA1 Channel 3\r
86         DCD     DMA1_Channel4_IRQHandler  ; DMA1 Channel 4\r
87         DCD     DMA1_Channel5_IRQHandler  ; DMA1 Channel 5\r
88         DCD     DMA1_Channel6_IRQHandler  ; DMA1 Channel 6\r
89         DCD     DMA1_Channel7_IRQHandler  ; DMA1 Channel 7\r
90         DCD     ADC1_2_IRQHandler         ; ADC1 & ADC2\r
91         DCD     USB_HP_CAN1_TX_IRQHandler  ; USB High Priority or CAN1 TX\r
92         DCD     USB_LP_CAN1_RX0_IRQHandler ; USB Low  Priority or CAN1 RX0\r
93         DCD     CAN1_RX1_IRQHandler       ; CAN1 RX1\r
94         DCD     CAN1_SCE_IRQHandler       ; CAN1 SCE\r
95         DCD     EXTI9_5_IRQHandler        ; EXTI Line 9..5\r
96         DCD     TIM1_BRK_IRQHandler       ; TIM1 Break\r
97         DCD     TIM1_UP_IRQHandler        ; TIM1 Update\r
98         DCD     TIM1_TRG_COM_IRQHandler   ; TIM1 Trigger and Commutation\r
99         DCD     TIM1_CC_IRQHandler        ; TIM1 Capture Compare\r
100         DCD     TIM2_IRQHandler           ; TIM2\r
101         DCD     TIM3_IRQHandler           ; TIM3\r
102         DCD     TIM4_IRQHandler           ; TIM4\r
103         DCD     I2C1_EV_IRQHandler        ; I2C1 Event\r
104         DCD     I2C1_ER_IRQHandler        ; I2C1 Error\r
105         DCD     I2C2_EV_IRQHandler        ; I2C2 Event\r
106         DCD     I2C2_ER_IRQHandler        ; I2C2 Error\r
107         DCD     SPI1_IRQHandler           ; SPI1\r
108         DCD     SPI2_IRQHandler           ; SPI2\r
109         DCD     USART1_IRQHandler         ; USART1\r
110         DCD     USART2_IRQHandler         ; USART2\r
111         DCD     USART3_IRQHandler         ; USART3\r
112         DCD     EXTI15_10_IRQHandler      ; EXTI Line 15..10\r
113         DCD     RTCAlarm_IRQHandler       ; RTC Alarm through EXTI Line\r
114         DCD     USBWakeUp_IRQHandler      ; USB Wakeup from suspend\r
115 \r
116 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\r
117 ;;\r
118 ;; Default interrupt handlers.\r
119 ;;\r
120         THUMB\r
121 \r
122         PUBWEAK Reset_Handler\r
123         SECTION .text:CODE:REORDER(2)\r
124 Reset_Handler\r
125         LDR     R0, =SystemInit\r
126         BLX     R0\r
127         LDR     R0, =__iar_program_start\r
128         BX      R0\r
129         \r
130         PUBWEAK NMI_Handler\r
131         SECTION .text:CODE:REORDER(1)\r
132 NMI_Handler\r
133         B NMI_Handler\r
134 \r
135         PUBWEAK HardFault_Handler\r
136         SECTION .text:CODE:REORDER(1)\r
137 HardFault_Handler\r
138         B HardFault_Handler\r
139 \r
140         PUBWEAK MemManage_Handler\r
141         SECTION .text:CODE:REORDER(1)\r
142 MemManage_Handler\r
143         B MemManage_Handler\r
144 \r
145         PUBWEAK BusFault_Handler\r
146         SECTION .text:CODE:REORDER(1)\r
147 BusFault_Handler\r
148         B BusFault_Handler\r
149 \r
150         PUBWEAK UsageFault_Handler\r
151         SECTION .text:CODE:REORDER(1)\r
152 UsageFault_Handler\r
153         B UsageFault_Handler\r
154 \r
155         PUBWEAK SVC_Handler\r
156         SECTION .text:CODE:REORDER(1)\r
157 SVC_Handler\r
158         B SVC_Handler\r
159 \r
160         PUBWEAK DebugMon_Handler\r
161         SECTION .text:CODE:REORDER(1)\r
162 DebugMon_Handler\r
163         B DebugMon_Handler\r
164 \r
165         PUBWEAK PendSV_Handler\r
166         SECTION .text:CODE:REORDER(1)\r
167 PendSV_Handler\r
168         B PendSV_Handler\r
169 \r
170         PUBWEAK SysTick_Handler\r
171         SECTION .text:CODE:REORDER(1)\r
172 SysTick_Handler\r
173         B SysTick_Handler\r
174 \r
175         PUBWEAK WWDG_IRQHandler\r
176         SECTION .text:CODE:REORDER(1)\r
177 WWDG_IRQHandler\r
178         B WWDG_IRQHandler\r
179 \r
180         PUBWEAK PVD_IRQHandler\r
181         SECTION .text:CODE:REORDER(1)\r
182 PVD_IRQHandler\r
183         B PVD_IRQHandler\r
184 \r
185         PUBWEAK TAMPER_IRQHandler\r
186         SECTION .text:CODE:REORDER(1)\r
187 TAMPER_IRQHandler\r
188         B TAMPER_IRQHandler\r
189 \r
190         PUBWEAK RTC_IRQHandler\r
191         SECTION .text:CODE:REORDER(1)\r
192 RTC_IRQHandler\r
193         B RTC_IRQHandler\r
194 \r
195         PUBWEAK FLASH_IRQHandler\r
196         SECTION .text:CODE:REORDER(1)\r
197 FLASH_IRQHandler\r
198         B FLASH_IRQHandler\r
199 \r
200         PUBWEAK RCC_IRQHandler\r
201         SECTION .text:CODE:REORDER(1)\r
202 RCC_IRQHandler\r
203         B RCC_IRQHandler\r
204 \r
205         PUBWEAK EXTI0_IRQHandler\r
206         SECTION .text:CODE:REORDER(1)\r
207 EXTI0_IRQHandler\r
208         B EXTI0_IRQHandler\r
209 \r
210         PUBWEAK EXTI1_IRQHandler\r
211         SECTION .text:CODE:REORDER(1)\r
212 EXTI1_IRQHandler\r
213         B EXTI1_IRQHandler\r
214 \r
215         PUBWEAK EXTI2_IRQHandler\r
216         SECTION .text:CODE:REORDER(1)\r
217 EXTI2_IRQHandler\r
218         B EXTI2_IRQHandler\r
219 \r
220         PUBWEAK EXTI3_IRQHandler\r
221         SECTION .text:CODE:REORDER(1)\r
222 EXTI3_IRQHandler\r
223         B EXTI3_IRQHandler\r
224 \r
225         PUBWEAK EXTI4_IRQHandler\r
226         SECTION .text:CODE:REORDER(1)\r
227 EXTI4_IRQHandler\r
228         B EXTI4_IRQHandler\r
229 \r
230         PUBWEAK DMA1_Channel1_IRQHandler\r
231         SECTION .text:CODE:REORDER(1)\r
232 DMA1_Channel1_IRQHandler\r
233         B DMA1_Channel1_IRQHandler\r
234 \r
235         PUBWEAK DMA1_Channel2_IRQHandler\r
236         SECTION .text:CODE:REORDER(1)\r
237 DMA1_Channel2_IRQHandler\r
238         B DMA1_Channel2_IRQHandler\r
239 \r
240         PUBWEAK DMA1_Channel3_IRQHandler\r
241         SECTION .text:CODE:REORDER(1)\r
242 DMA1_Channel3_IRQHandler\r
243         B DMA1_Channel3_IRQHandler\r
244 \r
245         PUBWEAK DMA1_Channel4_IRQHandler\r
246         SECTION .text:CODE:REORDER(1)\r
247 DMA1_Channel4_IRQHandler\r
248         B DMA1_Channel4_IRQHandler\r
249 \r
250         PUBWEAK DMA1_Channel5_IRQHandler\r
251         SECTION .text:CODE:REORDER(1)\r
252 DMA1_Channel5_IRQHandler\r
253         B DMA1_Channel5_IRQHandler\r
254 \r
255         PUBWEAK DMA1_Channel6_IRQHandler\r
256         SECTION .text:CODE:REORDER(1)\r
257 DMA1_Channel6_IRQHandler\r
258         B DMA1_Channel6_IRQHandler\r
259 \r
260         PUBWEAK DMA1_Channel7_IRQHandler\r
261         SECTION .text:CODE:REORDER(1)\r
262 DMA1_Channel7_IRQHandler\r
263         B DMA1_Channel7_IRQHandler\r
264 \r
265         PUBWEAK ADC1_2_IRQHandler\r
266         SECTION .text:CODE:REORDER(1)\r
267 ADC1_2_IRQHandler\r
268         B ADC1_2_IRQHandler\r
269 \r
270         PUBWEAK USB_HP_CAN1_TX_IRQHandler\r
271         SECTION .text:CODE:REORDER(1)\r
272 USB_HP_CAN1_TX_IRQHandler\r
273         B USB_HP_CAN1_TX_IRQHandler\r
274 \r
275         PUBWEAK USB_LP_CAN1_RX0_IRQHandler\r
276         SECTION .text:CODE:REORDER(1)\r
277 USB_LP_CAN1_RX0_IRQHandler\r
278         B USB_LP_CAN1_RX0_IRQHandler\r
279 \r
280         PUBWEAK CAN1_RX1_IRQHandler\r
281         SECTION .text:CODE:REORDER(1)\r
282 CAN1_RX1_IRQHandler\r
283         B CAN1_RX1_IRQHandler\r
284 \r
285         PUBWEAK CAN1_SCE_IRQHandler\r
286         SECTION .text:CODE:REORDER(1)\r
287 CAN1_SCE_IRQHandler\r
288         B CAN1_SCE_IRQHandler\r
289 \r
290         PUBWEAK EXTI9_5_IRQHandler\r
291         SECTION .text:CODE:REORDER(1)\r
292 EXTI9_5_IRQHandler\r
293         B EXTI9_5_IRQHandler\r
294 \r
295         PUBWEAK TIM1_BRK_IRQHandler\r
296         SECTION .text:CODE:REORDER(1)\r
297 TIM1_BRK_IRQHandler\r
298         B TIM1_BRK_IRQHandler\r
299 \r
300         PUBWEAK TIM1_UP_IRQHandler\r
301         SECTION .text:CODE:REORDER(1)\r
302 TIM1_UP_IRQHandler\r
303         B TIM1_UP_IRQHandler\r
304 \r
305         PUBWEAK TIM1_TRG_COM_IRQHandler\r
306         SECTION .text:CODE:REORDER(1)\r
307 TIM1_TRG_COM_IRQHandler\r
308         B TIM1_TRG_COM_IRQHandler\r
309 \r
310         PUBWEAK TIM1_CC_IRQHandler\r
311         SECTION .text:CODE:REORDER(1)\r
312 TIM1_CC_IRQHandler\r
313         B TIM1_CC_IRQHandler\r
314 \r
315         PUBWEAK TIM2_IRQHandler\r
316         SECTION .text:CODE:REORDER(1)\r
317 TIM2_IRQHandler\r
318         B TIM2_IRQHandler\r
319 \r
320         PUBWEAK TIM3_IRQHandler\r
321         SECTION .text:CODE:REORDER(1)\r
322 TIM3_IRQHandler\r
323         B TIM3_IRQHandler\r
324 \r
325         PUBWEAK TIM4_IRQHandler\r
326         SECTION .text:CODE:REORDER(1)\r
327 TIM4_IRQHandler\r
328         B TIM4_IRQHandler\r
329 \r
330         PUBWEAK I2C1_EV_IRQHandler\r
331         SECTION .text:CODE:REORDER(1)\r
332 I2C1_EV_IRQHandler\r
333         B I2C1_EV_IRQHandler\r
334 \r
335         PUBWEAK I2C1_ER_IRQHandler\r
336         SECTION .text:CODE:REORDER(1)\r
337 I2C1_ER_IRQHandler\r
338         B I2C1_ER_IRQHandler\r
339 \r
340         PUBWEAK I2C2_EV_IRQHandler\r
341         SECTION .text:CODE:REORDER(1)\r
342 I2C2_EV_IRQHandler\r
343         B I2C2_EV_IRQHandler\r
344 \r
345         PUBWEAK I2C2_ER_IRQHandler\r
346         SECTION .text:CODE:REORDER(1)\r
347 I2C2_ER_IRQHandler\r
348         B I2C2_ER_IRQHandler\r
349 \r
350         PUBWEAK SPI1_IRQHandler\r
351         SECTION .text:CODE:REORDER(1)\r
352 SPI1_IRQHandler\r
353         B SPI1_IRQHandler\r
354 \r
355         PUBWEAK SPI2_IRQHandler\r
356         SECTION .text:CODE:REORDER(1)\r
357 SPI2_IRQHandler\r
358         B SPI2_IRQHandler\r
359 \r
360         PUBWEAK USART1_IRQHandler\r
361         SECTION .text:CODE:REORDER(1)\r
362 USART1_IRQHandler\r
363         B USART1_IRQHandler\r
364 \r
365         PUBWEAK USART2_IRQHandler\r
366         SECTION .text:CODE:REORDER(1)\r
367 USART2_IRQHandler\r
368         B USART2_IRQHandler\r
369 \r
370         PUBWEAK USART3_IRQHandler\r
371         SECTION .text:CODE:REORDER(1)\r
372 USART3_IRQHandler\r
373         B USART3_IRQHandler\r
374 \r
375         PUBWEAK EXTI15_10_IRQHandler\r
376         SECTION .text:CODE:REORDER(1)\r
377 EXTI15_10_IRQHandler\r
378         B EXTI15_10_IRQHandler\r
379 \r
380         PUBWEAK RTCAlarm_IRQHandler\r
381         SECTION .text:CODE:REORDER(1)\r
382 RTCAlarm_IRQHandler\r
383         B RTCAlarm_IRQHandler\r
384 \r
385         PUBWEAK USBWakeUp_IRQHandler\r
386         SECTION .text:CODE:REORDER(1)\r
387 USBWakeUp_IRQHandler\r
388         B USBWakeUp_IRQHandler\r
389 \r
390         END\r
391 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/\r