]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32L1/TARGET_NUCLEO_L152RE/TOOLCHAIN_IAR/startup_stm32l152xe.s
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_STM / TARGET_STM32L1 / TARGET_NUCLEO_L152RE / TOOLCHAIN_IAR / startup_stm32l152xe.s
1 ;/******************** (C) COPYRIGHT 2014 STMicroelectronics ********************
2 ;* File Name          : startup_stm32l152xe.s
3 ;* Author             : MCD Application Team
4 ;* Version            : V2.0.0
5 ;* Date               : 5-September-2014
6 ;* Description        : STM32L152XE Devices vector for EWARM toolchain.
7 ;*                      This module performs:
8 ;*                      - Set the initial SP
9 ;*                      - Set the initial PC == __iar_program_start,
10 ;*                      - Set the vector table entries with the exceptions ISR 
11 ;*                        address.
12 ;*                      - Configure the system clock
13 ;*                      - Branches to main in the C library (which eventually
14 ;*                        calls main()).
15 ;*                      After Reset the Cortex-M3 processor is in Thread mode,
16 ;*                      priority is Privileged, and the Stack is set to Main.
17 ;********************************************************************************
18 ;*
19 ;* <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
20 ;*
21 ;* Redistribution and use in source and binary forms, with or without modification,
22 ;* are permitted provided that the following conditions are met:
23 ;*   1. Redistributions of source code must retain the above copyright notice,
24 ;*      this list of conditions and the following disclaimer.
25 ;*   2. Redistributions in binary form must reproduce the above copyright notice,
26 ;*      this list of conditions and the following disclaimer in the documentation
27 ;*      and/or other materials provided with the distribution.
28 ;*   3. Neither the name of STMicroelectronics nor the names of its contributors
29 ;*      may be used to endorse or promote products derived from this software
30 ;*      without specific prior written permission.
31 ;*
32 ;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
33 ;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
34 ;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
35 ;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
36 ;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
37 ;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
38 ;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
39 ;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
40 ;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
41 ;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42 ;*
43 ;*******************************************************************************
44 ;
45 ;
46 ; The modules in this file are included in the libraries, and may be replaced
47 ; by any user-defined modules that define the PUBLIC symbol _program_start or
48 ; a user defined start symbol.
49 ; To override the cstartup defined in the library, simply add your modified
50 ; version to the workbench project.
51 ;
52 ; The vector table is normally located at address 0.
53 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
54 ; The name "__vector_table" has special meaning for C-SPY:
55 ; it is where the SP start value is found, and the NVIC vector
56 ; table register (VTOR) is initialized to this address if != 0.
57 ;
58 ; Cortex-M version
59 ;
60
61         MODULE  ?cstartup
62
63         ;; Forward declaration of sections.
64         SECTION CSTACK:DATA:NOROOT(3)
65
66         SECTION .intvec:CODE:NOROOT(2)
67
68         EXTERN  __iar_program_start
69         EXTERN  SystemInit        
70         PUBLIC  __vector_table
71
72         DATA
73 __vector_table
74         DCD     sfe(CSTACK)
75         DCD     Reset_Handler             ; Reset Handler
76
77         DCD     NMI_Handler               ; NMI Handler
78         DCD     HardFault_Handler         ; Hard Fault Handler
79         DCD     MemManage_Handler         ; MPU Fault Handler
80         DCD     BusFault_Handler          ; Bus Fault Handler
81         DCD     UsageFault_Handler        ; Usage Fault Handler
82         DCD     0                         ; Reserved
83         DCD     0                         ; Reserved
84         DCD     0                         ; Reserved
85         DCD     0                         ; Reserved
86         DCD     SVC_Handler               ; SVCall Handler
87         DCD     DebugMon_Handler          ; Debug Monitor Handler
88         DCD     0                         ; Reserved
89         DCD     PendSV_Handler            ; PendSV Handler
90         DCD     SysTick_Handler           ; SysTick Handler
91
92          ; External Interrupts
93         DCD     WWDG_IRQHandler           ; Window Watchdog
94         DCD     PVD_IRQHandler            ; PVD through EXTI Line detect
95         DCD     TAMPER_STAMP_IRQHandler   ; Tamper and Time Stamp
96         DCD     RTC_WKUP_IRQHandler       ; RTC Wakeup
97         DCD     FLASH_IRQHandler          ; FLASH
98         DCD     RCC_IRQHandler            ; RCC
99         DCD     EXTI0_IRQHandler          ; EXTI Line 0
100         DCD     EXTI1_IRQHandler          ; EXTI Line 1
101         DCD     EXTI2_IRQHandler          ; EXTI Line 2
102         DCD     EXTI3_IRQHandler          ; EXTI Line 3
103         DCD     EXTI4_IRQHandler          ; EXTI Line 4
104         DCD     DMA1_Channel1_IRQHandler  ; DMA1 Channel 1
105         DCD     DMA1_Channel2_IRQHandler  ; DMA1 Channel 2
106         DCD     DMA1_Channel3_IRQHandler  ; DMA1 Channel 3
107         DCD     DMA1_Channel4_IRQHandler  ; DMA1 Channel 4
108         DCD     DMA1_Channel5_IRQHandler  ; DMA1 Channel 5
109         DCD     DMA1_Channel6_IRQHandler  ; DMA1 Channel 6
110         DCD     DMA1_Channel7_IRQHandler  ; DMA1 Channel 7
111         DCD     ADC1_IRQHandler           ; ADC1
112         DCD     USB_HP_IRQHandler         ; USB High Priority
113         DCD     USB_LP_IRQHandler         ; USB Low  Priority
114         DCD     DAC_IRQHandler            ; DAC
115         DCD     COMP_IRQHandler           ; COMP through EXTI Line
116         DCD     EXTI9_5_IRQHandler        ; EXTI Line 9..5
117         DCD     LCD_IRQHandler            ; LCD
118         DCD     TIM9_IRQHandler           ; TIM9
119         DCD     TIM10_IRQHandler          ; TIM10
120         DCD     TIM11_IRQHandler          ; TIM11
121         DCD     TIM2_IRQHandler           ; TIM2
122         DCD     TIM3_IRQHandler           ; TIM3
123         DCD     TIM4_IRQHandler           ; TIM4
124         DCD     I2C1_EV_IRQHandler        ; I2C1 Event
125         DCD     I2C1_ER_IRQHandler        ; I2C1 Error
126         DCD     I2C2_EV_IRQHandler        ; I2C2 Event
127         DCD     I2C2_ER_IRQHandler        ; I2C2 Error
128         DCD     SPI1_IRQHandler           ; SPI1
129         DCD     SPI2_IRQHandler           ; SPI2
130         DCD     USART1_IRQHandler         ; USART1
131         DCD     USART2_IRQHandler         ; USART2
132         DCD     USART3_IRQHandler         ; USART3
133         DCD     EXTI15_10_IRQHandler      ; EXTI Line 15..10
134         DCD     RTC_Alarm_IRQHandler      ; RTC Alarm through EXTI Line
135         DCD     USB_FS_WKUP_IRQHandler    ; USB FS Wakeup from suspend
136         DCD     TIM6_IRQHandler           ; TIM6
137         DCD     TIM7_IRQHandler           ; TIM7
138         DCD     0                         ; Reserved
139         DCD     TIM5_IRQHandler           ; TIM5                
140         DCD     SPI3_IRQHandler           ; SPI3
141         DCD     UART4_IRQHandler          ; UART4
142         DCD     UART5_IRQHandler          ; UART5
143         DCD     DMA2_Channel1_IRQHandler  ; DMA2 Channel 1
144         DCD     DMA2_Channel2_IRQHandler  ; DMA2 Channel 2
145         DCD     DMA2_Channel3_IRQHandler  ; DMA2 Channel 3
146         DCD     DMA2_Channel4_IRQHandler  ; DMA2 Channel 4
147         DCD     DMA2_Channel5_IRQHandler  ; DMA2 Channel 5
148         DCD     0                         ; Reserved
149         DCD     COMP_ACQ_IRQHandler       ; Comparator Channel Acquisition 
150         
151 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
152 ;;
153 ;; Default interrupt handlers.
154 ;;
155         THUMB
156
157         PUBWEAK Reset_Handler
158         SECTION .text:CODE:REORDER:NOROOT(2)
159 Reset_Handler
160         LDR     R0, =SystemInit
161         BLX     R0
162         LDR     R0, =__iar_program_start
163         BX      R0
164         
165         PUBWEAK NMI_Handler
166         SECTION .text:CODE:REORDER:NOROOT(1)
167 NMI_Handler
168         B NMI_Handler
169         
170         
171         PUBWEAK HardFault_Handler
172         SECTION .text:CODE:REORDER:NOROOT(1)
173 HardFault_Handler
174         B HardFault_Handler
175         
176         
177         PUBWEAK MemManage_Handler
178         SECTION .text:CODE:REORDER:NOROOT(1)
179 MemManage_Handler
180         B MemManage_Handler
181         
182                 
183         PUBWEAK BusFault_Handler
184         SECTION .text:CODE:REORDER:NOROOT(1)
185 BusFault_Handler
186         B BusFault_Handler
187         
188         
189         PUBWEAK UsageFault_Handler
190         SECTION .text:CODE:REORDER:NOROOT(1)
191 UsageFault_Handler
192         B UsageFault_Handler
193         
194         
195         PUBWEAK SVC_Handler
196         SECTION .text:CODE:REORDER:NOROOT(1)
197 SVC_Handler
198         B SVC_Handler
199         
200         
201         PUBWEAK DebugMon_Handler
202         SECTION .text:CODE:REORDER:NOROOT(1)
203 DebugMon_Handler
204         B DebugMon_Handler
205         
206         
207         PUBWEAK PendSV_Handler
208         SECTION .text:CODE:REORDER:NOROOT(1)
209 PendSV_Handler
210         B PendSV_Handler
211         
212         
213         PUBWEAK SysTick_Handler
214         SECTION .text:CODE:REORDER:NOROOT(1)
215 SysTick_Handler
216         B SysTick_Handler
217         
218         
219         PUBWEAK WWDG_IRQHandler
220         SECTION .text:CODE:REORDER:NOROOT(1)
221 WWDG_IRQHandler
222         B WWDG_IRQHandler
223         
224         
225         PUBWEAK PVD_IRQHandler
226         SECTION .text:CODE:REORDER:NOROOT(1)
227 PVD_IRQHandler
228         B PVD_IRQHandler
229         
230         
231         PUBWEAK TAMPER_STAMP_IRQHandler
232         SECTION .text:CODE:REORDER:NOROOT(1)
233 TAMPER_STAMP_IRQHandler
234         B TAMPER_STAMP_IRQHandler
235         
236         
237         PUBWEAK RTC_WKUP_IRQHandler
238         SECTION .text:CODE:REORDER:NOROOT(1)
239 RTC_WKUP_IRQHandler
240         B RTC_WKUP_IRQHandler
241         
242         
243         PUBWEAK FLASH_IRQHandler
244         SECTION .text:CODE:REORDER:NOROOT(1)
245 FLASH_IRQHandler
246         B FLASH_IRQHandler
247         
248         
249         PUBWEAK RCC_IRQHandler
250         SECTION .text:CODE:REORDER:NOROOT(1)
251 RCC_IRQHandler
252         B RCC_IRQHandler
253         
254         
255         PUBWEAK EXTI0_IRQHandler
256         SECTION .text:CODE:REORDER:NOROOT(1)
257 EXTI0_IRQHandler
258         B EXTI0_IRQHandler
259         
260         
261         PUBWEAK EXTI1_IRQHandler
262         SECTION .text:CODE:REORDER:NOROOT(1)
263 EXTI1_IRQHandler
264         B EXTI1_IRQHandler
265         
266         
267         PUBWEAK EXTI2_IRQHandler
268         SECTION .text:CODE:REORDER:NOROOT(1)
269 EXTI2_IRQHandler
270         B EXTI2_IRQHandler
271         
272         
273         PUBWEAK EXTI3_IRQHandler
274         SECTION .text:CODE:REORDER:NOROOT(1)
275 EXTI3_IRQHandler
276         B EXTI3_IRQHandler
277         
278         
279         PUBWEAK EXTI4_IRQHandler
280         SECTION .text:CODE:REORDER:NOROOT(1)
281 EXTI4_IRQHandler
282         B EXTI4_IRQHandler
283         
284         
285         PUBWEAK DMA1_Channel1_IRQHandler
286         SECTION .text:CODE:REORDER:NOROOT(1)
287 DMA1_Channel1_IRQHandler
288         B DMA1_Channel1_IRQHandler
289         
290         
291         PUBWEAK DMA1_Channel2_IRQHandler
292         SECTION .text:CODE:REORDER:NOROOT(1)
293 DMA1_Channel2_IRQHandler
294         B DMA1_Channel2_IRQHandler
295         
296         
297         PUBWEAK DMA1_Channel3_IRQHandler
298         SECTION .text:CODE:REORDER:NOROOT(1)
299 DMA1_Channel3_IRQHandler
300         B DMA1_Channel3_IRQHandler
301         
302         
303         PUBWEAK DMA1_Channel4_IRQHandler
304         SECTION .text:CODE:REORDER:NOROOT(1)
305 DMA1_Channel4_IRQHandler
306         B DMA1_Channel4_IRQHandler
307         
308         
309         PUBWEAK DMA1_Channel5_IRQHandler
310         SECTION .text:CODE:REORDER:NOROOT(1)
311 DMA1_Channel5_IRQHandler
312         B DMA1_Channel5_IRQHandler
313         
314         
315         PUBWEAK DMA1_Channel6_IRQHandler
316         SECTION .text:CODE:REORDER:NOROOT(1)
317 DMA1_Channel6_IRQHandler
318         B DMA1_Channel6_IRQHandler
319         
320         
321         PUBWEAK DMA1_Channel7_IRQHandler
322         SECTION .text:CODE:REORDER:NOROOT(1)
323 DMA1_Channel7_IRQHandler
324         B DMA1_Channel7_IRQHandler
325         
326         
327         PUBWEAK ADC1_IRQHandler
328         SECTION .text:CODE:REORDER:NOROOT(1)
329 ADC1_IRQHandler
330         B ADC1_IRQHandler
331         
332         
333         PUBWEAK USB_HP_IRQHandler
334         SECTION .text:CODE:REORDER:NOROOT(1)
335 USB_HP_IRQHandler
336         B USB_HP_IRQHandler
337         
338         
339         PUBWEAK USB_LP_IRQHandler
340         SECTION .text:CODE:REORDER:NOROOT(1)
341 USB_LP_IRQHandler
342         B USB_LP_IRQHandler
343         
344         
345         PUBWEAK DAC_IRQHandler
346         SECTION .text:CODE:REORDER:NOROOT(1)
347 DAC_IRQHandler
348         B DAC_IRQHandler
349         
350         
351         PUBWEAK COMP_IRQHandler
352         SECTION .text:CODE:REORDER:NOROOT(1)
353 COMP_IRQHandler
354         B COMP_IRQHandler
355         
356         
357         PUBWEAK EXTI9_5_IRQHandler
358         SECTION .text:CODE:REORDER:NOROOT(1)
359 EXTI9_5_IRQHandler
360         B EXTI9_5_IRQHandler
361         
362         
363         PUBWEAK LCD_IRQHandler
364         SECTION .text:CODE:REORDER:NOROOT(1)
365 LCD_IRQHandler
366         B LCD_IRQHandler
367         
368         
369         PUBWEAK TIM9_IRQHandler
370         SECTION .text:CODE:REORDER:NOROOT(1)
371 TIM9_IRQHandler
372         B TIM9_IRQHandler
373         
374         
375         PUBWEAK TIM10_IRQHandler
376         SECTION .text:CODE:REORDER:NOROOT(1)
377 TIM10_IRQHandler
378         B TIM10_IRQHandler
379         
380         
381         PUBWEAK TIM11_IRQHandler
382         SECTION .text:CODE:REORDER:NOROOT(1)
383 TIM11_IRQHandler
384         B TIM11_IRQHandler
385         
386         
387         PUBWEAK TIM2_IRQHandler
388         SECTION .text:CODE:REORDER:NOROOT(1)
389 TIM2_IRQHandler
390         B TIM2_IRQHandler
391         
392         
393         PUBWEAK TIM3_IRQHandler
394         SECTION .text:CODE:REORDER:NOROOT(1)
395 TIM3_IRQHandler
396         B TIM3_IRQHandler
397         
398         
399         PUBWEAK TIM4_IRQHandler
400         SECTION .text:CODE:REORDER:NOROOT(1)
401 TIM4_IRQHandler
402         B TIM4_IRQHandler
403         
404         
405         PUBWEAK I2C1_EV_IRQHandler
406         SECTION .text:CODE:REORDER:NOROOT(1)
407 I2C1_EV_IRQHandler
408         B I2C1_EV_IRQHandler
409         
410         
411         PUBWEAK I2C1_ER_IRQHandler
412         SECTION .text:CODE:REORDER:NOROOT(1)
413 I2C1_ER_IRQHandler
414         B I2C1_ER_IRQHandler
415         
416         
417         PUBWEAK I2C2_EV_IRQHandler
418         SECTION .text:CODE:REORDER:NOROOT(1)
419 I2C2_EV_IRQHandler
420         B I2C2_EV_IRQHandler
421         
422         
423         PUBWEAK I2C2_ER_IRQHandler
424         SECTION .text:CODE:REORDER:NOROOT(1)
425 I2C2_ER_IRQHandler
426         B I2C2_ER_IRQHandler
427         
428         
429         PUBWEAK SPI1_IRQHandler
430         SECTION .text:CODE:REORDER:NOROOT(1)
431 SPI1_IRQHandler
432         B SPI1_IRQHandler
433         
434         
435         PUBWEAK SPI2_IRQHandler
436         SECTION .text:CODE:REORDER:NOROOT(1)
437 SPI2_IRQHandler
438         B SPI2_IRQHandler
439         
440         
441         PUBWEAK USART1_IRQHandler
442         SECTION .text:CODE:REORDER:NOROOT(1)
443 USART1_IRQHandler
444         B USART1_IRQHandler
445         
446         
447         PUBWEAK USART2_IRQHandler
448         SECTION .text:CODE:REORDER:NOROOT(1)
449 USART2_IRQHandler
450         B USART2_IRQHandler
451         
452         
453         PUBWEAK USART3_IRQHandler
454         SECTION .text:CODE:REORDER:NOROOT(1)
455 USART3_IRQHandler
456         B USART3_IRQHandler
457         
458         
459         PUBWEAK EXTI15_10_IRQHandler
460         SECTION .text:CODE:REORDER:NOROOT(1)
461 EXTI15_10_IRQHandler
462         B EXTI15_10_IRQHandler
463         
464         
465         PUBWEAK RTC_Alarm_IRQHandler
466         SECTION .text:CODE:REORDER:NOROOT(1)
467 RTC_Alarm_IRQHandler
468         B RTC_Alarm_IRQHandler
469         
470         
471         PUBWEAK USB_FS_WKUP_IRQHandler
472         SECTION .text:CODE:REORDER:NOROOT(1)
473 USB_FS_WKUP_IRQHandler
474         B USB_FS_WKUP_IRQHandler
475         
476
477         PUBWEAK TIM6_IRQHandler
478         SECTION .text:CODE:REORDER:NOROOT(1)
479 TIM6_IRQHandler
480         B TIM6_IRQHandler
481         
482
483         PUBWEAK TIM7_IRQHandler
484         SECTION .text:CODE:REORDER:NOROOT(1)
485 TIM7_IRQHandler
486         B TIM7_IRQHandler
487
488         PUBWEAK TIM5_IRQHandler
489         SECTION .text:CODE:REORDER:NOROOT(1)
490 TIM5_IRQHandler
491         B TIM5_IRQHandler
492
493         PUBWEAK SPI3_IRQHandler
494         SECTION .text:CODE:REORDER:NOROOT(1)
495 SPI3_IRQHandler
496         B SPI3_IRQHandler
497         
498         
499         PUBWEAK UART4_IRQHandler
500         SECTION .text:CODE:REORDER:NOROOT(1)
501 UART4_IRQHandler
502         B UART4_IRQHandler
503         
504         
505         PUBWEAK UART5_IRQHandler
506         SECTION .text:CODE:REORDER:NOROOT(1)
507 UART5_IRQHandler
508         B UART5_IRQHandler
509
510         PUBWEAK DMA2_Channel1_IRQHandler
511         SECTION .text:CODE:REORDER:NOROOT(1)
512 DMA2_Channel1_IRQHandler
513         B DMA2_Channel1_IRQHandler
514         
515         
516         PUBWEAK DMA2_Channel2_IRQHandler
517         SECTION .text:CODE:REORDER:NOROOT(1)
518 DMA2_Channel2_IRQHandler
519         B DMA2_Channel2_IRQHandler
520         
521         
522         PUBWEAK DMA2_Channel3_IRQHandler
523         SECTION .text:CODE:REORDER:NOROOT(1)
524 DMA2_Channel3_IRQHandler
525         B DMA2_Channel3_IRQHandler
526         
527         
528         PUBWEAK DMA2_Channel4_IRQHandler
529         SECTION .text:CODE:REORDER:NOROOT(1)
530 DMA2_Channel4_IRQHandler
531         B DMA2_Channel4_IRQHandler
532         
533         
534         PUBWEAK DMA2_Channel5_IRQHandler
535         SECTION .text:CODE:REORDER:NOROOT(1)
536 DMA2_Channel5_IRQHandler
537         B DMA2_Channel5_IRQHandler
538
539
540         PUBWEAK COMP_ACQ_IRQHandler
541         SECTION .text:CODE:REORDER:NOROOT(1)
542 COMP_ACQ_IRQHandler
543         B COMP_ACQ_IRQHandler                
544                 
545         END
546 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/