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 
   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 
  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 
  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 
  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 
  41         ;; Forward declaration of sections.
\r 
  42         SECTION CSTACK:DATA:NOROOT(3)
\r 
  44         SECTION .intvec:CODE:NOROOT(2)
\r 
  46         EXTERN  __iar_program_start
\r 
  48         PUBLIC  __vector_table
\r 
  53         DCD     Reset_Handler             ; Reset Handler
\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 
  64         DCD     SVC_Handler               ; SVCall Handler
\r 
  65         DCD     DebugMon_Handler          ; Debug Monitor Handler
\r 
  67         DCD     PendSV_Handler            ; PendSV Handler
\r 
  68         DCD     SysTick_Handler           ; SysTick Handler
\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 
 117 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
\r 
 119 ;; Default interrupt handlers.
\r 
 123         PUBWEAK Reset_Handler
\r 
 124         SECTION .text:CODE:REORDER(2)
\r 
 126         LDR     R0, =SystemInit
\r 
 128         LDR     R0, =__iar_program_start
\r 
 131         PUBWEAK NMI_Handler
\r 
 132         SECTION .text:CODE:REORDER(1)
\r 
 137         PUBWEAK HardFault_Handler
\r 
 138         SECTION .text:CODE:REORDER(1)
\r 
 140         B HardFault_Handler
\r 
 143         PUBWEAK MemManage_Handler
\r 
 144         SECTION .text:CODE:REORDER(1)
\r 
 146         B MemManage_Handler
\r 
 149         PUBWEAK BusFault_Handler
\r 
 150         SECTION .text:CODE:REORDER(1)
\r 
 155         PUBWEAK UsageFault_Handler
\r 
 156         SECTION .text:CODE:REORDER(1)
\r 
 158         B UsageFault_Handler
\r 
 161         PUBWEAK SVC_Handler
\r 
 162         SECTION .text:CODE:REORDER(1)
\r 
 167         PUBWEAK DebugMon_Handler
\r 
 168         SECTION .text:CODE:REORDER(1)
\r 
 173         PUBWEAK PendSV_Handler
\r 
 174         SECTION .text:CODE:REORDER(1)
\r 
 179         PUBWEAK SysTick_Handler
\r 
 180         SECTION .text:CODE:REORDER(1)
\r 
 185         PUBWEAK WWDG_IRQHandler
\r 
 186         SECTION .text:CODE:REORDER(1)
\r 
 191         PUBWEAK PVD_IRQHandler
\r 
 192         SECTION .text:CODE:REORDER(1)
\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 
 203         PUBWEAK RTC_WKUP_IRQHandler
\r 
 204         SECTION .text:CODE:REORDER(1)
\r 
 205 RTC_WKUP_IRQHandler
\r 
 206         B RTC_WKUP_IRQHandler
\r 
 209         PUBWEAK FLASH_IRQHandler
\r 
 210         SECTION .text:CODE:REORDER(1)
\r 
 215         PUBWEAK RCC_IRQHandler
\r 
 216         SECTION .text:CODE:REORDER(1)
\r 
 221         PUBWEAK EXTI0_IRQHandler
\r 
 222         SECTION .text:CODE:REORDER(1)
\r 
 227         PUBWEAK EXTI1_IRQHandler
\r 
 228         SECTION .text:CODE:REORDER(1)
\r 
 233         PUBWEAK EXTI2_IRQHandler
\r 
 234         SECTION .text:CODE:REORDER(1)
\r 
 239         PUBWEAK EXTI3_IRQHandler
\r 
 240         SECTION .text:CODE:REORDER(1)
\r 
 245         PUBWEAK EXTI4_IRQHandler
\r 
 246         SECTION .text:CODE:REORDER(1)
\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 
 257         PUBWEAK DMA1_Channel2_IRQHandler
\r 
 258         SECTION .text:CODE:REORDER(1)
\r 
 259 DMA1_Channel2_IRQHandler
\r 
 260         B DMA1_Channel2_IRQHandler
\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 
 269         PUBWEAK DMA1_Channel4_IRQHandler
\r 
 270         SECTION .text:CODE:REORDER(1)
\r 
 271 DMA1_Channel4_IRQHandler
\r 
 272         B DMA1_Channel4_IRQHandler
\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 
 281         PUBWEAK DMA1_Channel6_IRQHandler
\r 
 282         SECTION .text:CODE:REORDER(1)
\r 
 283 DMA1_Channel6_IRQHandler
\r 
 284         B DMA1_Channel6_IRQHandler
\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 
 293         PUBWEAK ADC1_IRQHandler
\r 
 294         SECTION .text:CODE:REORDER(1)
\r 
 299         PUBWEAK USB_HP_IRQHandler
\r 
 300         SECTION .text:CODE:REORDER(1)
\r 
 302         B USB_HP_IRQHandler
\r 
 305         PUBWEAK USB_LP_IRQHandler
\r 
 306         SECTION .text:CODE:REORDER(1)
\r 
 308         B USB_LP_IRQHandler
\r 
 311         PUBWEAK DAC_IRQHandler
\r 
 312         SECTION .text:CODE:REORDER(1)
\r 
 317         PUBWEAK COMP_IRQHandler
\r 
 318         SECTION .text:CODE:REORDER(1)
\r 
 323         PUBWEAK EXTI9_5_IRQHandler
\r 
 324         SECTION .text:CODE:REORDER(1)
\r 
 326         B EXTI9_5_IRQHandler
\r 
 329         PUBWEAK LCD_IRQHandler
\r 
 330         SECTION .text:CODE:REORDER(1)
\r 
 335         PUBWEAK TIM9_IRQHandler
\r 
 336         SECTION .text:CODE:REORDER(1)
\r 
 341         PUBWEAK TIM10_IRQHandler
\r 
 342         SECTION .text:CODE:REORDER(1)
\r 
 347         PUBWEAK TIM11_IRQHandler
\r 
 348         SECTION .text:CODE:REORDER(1)
\r 
 353         PUBWEAK TIM2_IRQHandler
\r 
 354         SECTION .text:CODE:REORDER(1)
\r 
 359         PUBWEAK TIM3_IRQHandler
\r 
 360         SECTION .text:CODE:REORDER(1)
\r 
 365         PUBWEAK TIM4_IRQHandler
\r 
 366         SECTION .text:CODE:REORDER(1)
\r 
 371         PUBWEAK I2C1_EV_IRQHandler
\r 
 372         SECTION .text:CODE:REORDER(1)
\r 
 374         B I2C1_EV_IRQHandler
\r 
 377         PUBWEAK I2C1_ER_IRQHandler
\r 
 378         SECTION .text:CODE:REORDER(1)
\r 
 380         B I2C1_ER_IRQHandler
\r 
 383         PUBWEAK I2C2_EV_IRQHandler
\r 
 384         SECTION .text:CODE:REORDER(1)
\r 
 386         B I2C2_EV_IRQHandler
\r 
 389         PUBWEAK I2C2_ER_IRQHandler
\r 
 390         SECTION .text:CODE:REORDER(1)
\r 
 392         B I2C2_ER_IRQHandler
\r 
 395         PUBWEAK SPI1_IRQHandler
\r 
 396         SECTION .text:CODE:REORDER(1)
\r 
 401         PUBWEAK SPI2_IRQHandler
\r 
 402         SECTION .text:CODE:REORDER(1)
\r 
 407         PUBWEAK USART1_IRQHandler
\r 
 408         SECTION .text:CODE:REORDER(1)
\r 
 410         B USART1_IRQHandler
\r 
 413         PUBWEAK USART2_IRQHandler
\r 
 414         SECTION .text:CODE:REORDER(1)
\r 
 416         B USART2_IRQHandler
\r 
 419         PUBWEAK USART3_IRQHandler
\r 
 420         SECTION .text:CODE:REORDER(1)
\r 
 422         B USART3_IRQHandler
\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 
 431         PUBWEAK RTC_Alarm_IRQHandler
\r 
 432         SECTION .text:CODE:REORDER(1)
\r 
 433 RTC_Alarm_IRQHandler
\r 
 434         B RTC_Alarm_IRQHandler
\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 
 443         PUBWEAK TIM6_IRQHandler
\r 
 444         SECTION .text:CODE:REORDER(1)
\r 
 449         PUBWEAK TIM7_IRQHandler
\r 
 450         SECTION .text:CODE:REORDER(1)
\r 
 455 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
\r