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