DSO138_SourceCodes_v037.rar
[DSO138] / Libraries / CMSIS / CM3 / DeviceSupport / ST / STM32F10x / startup / iar / startup_stm32f10x_ld.s
1 ;/******************** (C) COPYRIGHT 2010 STMicroelectronics ********************\r
2 ;* File Name          : startup_stm32f10x_ld.s\r
3 ;* Author             : MCD Application Team\r
4 ;* Version            : V3.3.0\r
5 ;* Date               : 04/16/2010\r
6 ;* Description        : STM32F10x Low Density Devices vector table for EWARM5.x \r
7 ;*                      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     0                         ; Reserved\r
103         DCD     I2C1_EV_IRQHandler        ; I2C1 Event\r
104         DCD     I2C1_ER_IRQHandler        ; I2C1 Error\r
105         DCD     0                         ; Reserved\r
106         DCD     0                         ; Reserved\r
107         DCD     SPI1_IRQHandler           ; SPI1\r
108         DCD     0                         ; Reserved\r
109         DCD     USART1_IRQHandler         ; USART1\r
110         DCD     USART2_IRQHandler         ; USART2\r
111         DCD     0                         ; Reserved\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 I2C1_EV_IRQHandler\r
326         SECTION .text:CODE:REORDER(1)\r
327 I2C1_EV_IRQHandler\r
328         B I2C1_EV_IRQHandler\r
329         \r
330         PUBWEAK I2C1_ER_IRQHandler\r
331         SECTION .text:CODE:REORDER(1)\r
332 I2C1_ER_IRQHandler\r
333         B I2C1_ER_IRQHandler\r
334         \r
335         PUBWEAK SPI1_IRQHandler\r
336         SECTION .text:CODE:REORDER(1)\r
337 SPI1_IRQHandler\r
338         B SPI1_IRQHandler\r
339                       \r
340         PUBWEAK USART1_IRQHandler\r
341         SECTION .text:CODE:REORDER(1)\r
342 USART1_IRQHandler\r
343         B USART1_IRQHandler\r
344 \r
345         PUBWEAK USART2_IRQHandler\r
346         SECTION .text:CODE:REORDER(1)\r
347 USART2_IRQHandler\r
348         B USART2_IRQHandler\r
349 \r
350         PUBWEAK EXTI15_10_IRQHandler\r
351         SECTION .text:CODE:REORDER(1)\r
352 EXTI15_10_IRQHandler\r
353         B EXTI15_10_IRQHandler\r
354 \r
355         PUBWEAK RTCAlarm_IRQHandler\r
356         SECTION .text:CODE:REORDER(1)\r
357 RTCAlarm_IRQHandler\r
358         B RTCAlarm_IRQHandler\r
359 \r
360         PUBWEAK USBWakeUp_IRQHandler\r
361         SECTION .text:CODE:REORDER(1)\r
362 USBWakeUp_IRQHandler\r
363         B USBWakeUp_IRQHandler\r
364 \r
365         END\r
366 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/\r