| ;/******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** | |
| ;* File Name : startup_stm32f0xx.s | |
| ;* Author : MCD Application Team | |
| ;* Version : V1.0.0RC1 | |
| ;* Date : 27-January-2012 | |
| ;* Description : STM32F0xx Devices vector table for EWARM toolchain. | |
| ;* This module performs: | |
| ;* - Set the initial SP | |
| ;* - Set the initial PC == __iar_program_start, | |
| ;* - Set the vector table entries with the exceptions ISR | |
| ;* address. | |
| ;* After Reset the Cortex-M0 processor is in Thread mode, | |
| ;* priority is Privileged, and the Stack is set to Main. | |
| ;******************************************************************************** | |
| ;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS | |
| ;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. | |
| ;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, | |
| ;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE | |
| ;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING | |
| ;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. | |
| ;* FOR MORE INFORMATION PLEASE READ CAREFULLY THE LICENSE AGREEMENT FILE | |
| ;* LOCATED IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE. | |
| ;*******************************************************************************/ | |
| ; | |
| ; | |
| ; The modules in this file are included in the libraries, and may be replaced | |
| ; by any user-defined modules that define the PUBLIC symbol _program_start or | |
| ; a user defined start symbol. | |
| ; To override the cstartup defined in the library, simply add your modified | |
| ; version to the workbench project. | |
| ; | |
| ; The vector table is normally located at address 0. | |
| ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. | |
| ; The name "__vector_table" has special meaning for C-SPY: | |
| ; it is where the SP start value is found, and the NVIC vector | |
| ; table register (VTOR) is initialized to this address if != 0. | |
| ; | |
| ; Cortex-M version | |
| ; | |
| MODULE ?cstartup | |
| ;; Forward declaration of sections. | |
| SECTION CSTACK:DATA:NOROOT(3) | |
| SECTION .intvec:CODE:NOROOT(2) | |
| EXTERN __iar_program_start | |
| EXTERN SystemInit | |
| PUBLIC __vector_table | |
| DATA | |
| __vector_table | |
| DCD sfe(CSTACK) | |
| DCD Reset_Handler ; Reset Handler | |
| DCD NMI_Handler ; NMI Handler | |
| DCD HardFault_Handler ; Hard Fault Handler | |
| DCD 0 ; Reserved | |
| DCD 0 ; Reserved | |
| DCD 0 ; Reserved | |
| DCD 0 ; Reserved | |
| DCD 0 ; Reserved | |
| DCD 0 ; Reserved | |
| DCD 0 ; Reserved | |
| DCD SVC_Handler ; SVCall Handler | |
| DCD 0 ; Reserved | |
| DCD 0 ; Reserved | |
| DCD PendSV_Handler ; PendSV Handler | |
| DCD SysTick_Handler ; SysTick Handler | |
| ; External Interrupts | |
| DCD WWDG_IRQHandler ; Window Watchdog | |
| DCD PVD_IRQHandler ; PVD through EXTI Line detect | |
| DCD RTC_IRQHandler ; RTC through EXTI Line | |
| DCD FLASH_IRQHandler ; FLASH | |
| DCD RCC_IRQHandler ; RCC | |
| DCD EXTI0_1_IRQHandler ; EXTI Line 0 and 1 | |
| DCD EXTI2_3_IRQHandler ; EXTI Line 2 and 3 | |
| DCD EXTI4_15_IRQHandler ; EXTI Line 4 to 15 | |
| DCD TS_IRQHandler ; TS | |
| DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 | |
| DCD DMA1_Channel2_3_IRQHandler ; DMA1 Channel 2 and Channel 3 | |
| DCD DMA1_Channel4_5_IRQHandler ; DMA1 Channel 4 and Channel 5 | |
| DCD ADC1_COMP_IRQHandler ; ADC1, COMP1 and COMP2 | |
| DCD TIM1_BRK_UP_TRG_COM_IRQHandler ; TIM1 Break, Update, Trigger and Commutation | |
| DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare | |
| DCD TIM2_IRQHandler ; TIM2 | |
| DCD TIM3_IRQHandler ; TIM3 | |
| DCD TIM6_DAC_IRQHandler ; TIM6 and DAC | |
| DCD 0 ; Reserved | |
| DCD TIM14_IRQHandler ; TIM14 | |
| DCD TIM15_IRQHandler ; TIM15 | |
| DCD TIM16_IRQHandler ; TIM16 | |
| DCD TIM17_IRQHandler ; TIM17 | |
| DCD I2C1_IRQHandler ; I2C1 | |
| DCD I2C2_IRQHandler ; I2C2 | |
| DCD SPI1_IRQHandler ; SPI1 | |
| DCD SPI2_IRQHandler ; SPI2 | |
| DCD USART1_IRQHandler ; USART1 | |
| DCD USART2_IRQHandler ; USART2 | |
| DCD 0 ; Reserved | |
| DCD CEC_IRQHandler ; CEC | |
| DCD 0 ; Reserved | |
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
| ;; | |
| ;; Default interrupt handlers. | |
| ;; | |
| THUMB | |
| EXTERN __ICFEDIT_region_RAM_start__ | |
| EXTERN __ICFEDIT_region_RAM_end__ | |
| SECTION `.text`:CODE:NOROOT(2) | |
| DATA | |
| ??DataTable22: | |
| DC32 __ICFEDIT_region_RAM_start__ | |
| ??DataTable22_1: | |
| DC32 __ICFEDIT_region_RAM_end__ | |
| THUMB | |
| PUBWEAK Reset_Handler | |
| SECTION .text:CODE:REORDER(2) | |
| Reset_Handler | |
| LDR R0,=??DataTable22 | |
| LDR R0,[R0, #+0] | |
| LDR R1,=??DataTable22_1 | |
| ??x_0: | |
| MOVS R2,#+0 | |
| STRB R2,[R0] | |
| ADDS R0,R0,#0x1 | |
| LDR R2,[R1, #+0] | |
| CMP R2,R0 | |
| BCS.N ??x_0 | |
| LDR R0, =SystemInit | |
| BLX R0 | |
| LDR R0, =__iar_program_start | |
| BX R0 | |
| PUBWEAK NMI_Handler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| NMI_Handler | |
| B NMI_Handler | |
| PUBWEAK HardFault_Handler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| HardFault_Handler | |
| B HardFault_Handler | |
| PUBWEAK SVC_Handler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| SVC_Handler | |
| B SVC_Handler | |
| PUBWEAK PendSV_Handler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| PendSV_Handler | |
| B PendSV_Handler | |
| PUBWEAK SysTick_Handler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| SysTick_Handler | |
| B SysTick_Handler | |
| PUBWEAK WWDG_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| WWDG_IRQHandler | |
| B WWDG_IRQHandler | |
| PUBWEAK PVD_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| PVD_IRQHandler | |
| B PVD_IRQHandler | |
| PUBWEAK RTC_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| RTC_IRQHandler | |
| B RTC_IRQHandler | |
| PUBWEAK FLASH_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| FLASH_IRQHandler | |
| B FLASH_IRQHandler | |
| PUBWEAK RCC_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| RCC_IRQHandler | |
| B RCC_IRQHandler | |
| PUBWEAK EXTI0_1_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| EXTI0_1_IRQHandler | |
| B EXTI0_1_IRQHandler | |
| PUBWEAK EXTI2_3_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| EXTI2_3_IRQHandler | |
| B EXTI2_3_IRQHandler | |
| PUBWEAK EXTI4_15_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| EXTI4_15_IRQHandler | |
| B EXTI4_15_IRQHandler | |
| PUBWEAK TS_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TS_IRQHandler | |
| B TS_IRQHandler | |
| PUBWEAK DMA1_Channel1_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| DMA1_Channel1_IRQHandler | |
| B DMA1_Channel1_IRQHandler | |
| PUBWEAK DMA1_Channel2_3_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| DMA1_Channel2_3_IRQHandler | |
| B DMA1_Channel2_3_IRQHandler | |
| PUBWEAK DMA1_Channel4_5_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| DMA1_Channel4_5_IRQHandler | |
| B DMA1_Channel4_5_IRQHandler | |
| PUBWEAK ADC1_COMP_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| ADC1_COMP_IRQHandler | |
| B ADC1_COMP_IRQHandler | |
| PUBWEAK TIM1_BRK_UP_TRG_COM_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TIM1_BRK_UP_TRG_COM_IRQHandler | |
| B TIM1_BRK_UP_TRG_COM_IRQHandler | |
| PUBWEAK TIM1_CC_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TIM1_CC_IRQHandler | |
| B TIM1_CC_IRQHandler | |
| PUBWEAK TIM2_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TIM2_IRQHandler | |
| B TIM2_IRQHandler | |
| PUBWEAK TIM3_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TIM3_IRQHandler | |
| B TIM3_IRQHandler | |
| PUBWEAK TIM6_DAC_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TIM6_DAC_IRQHandler | |
| B TIM6_DAC_IRQHandler | |
| PUBWEAK TIM14_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TIM14_IRQHandler | |
| B TIM14_IRQHandler | |
| PUBWEAK TIM15_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TIM15_IRQHandler | |
| B TIM15_IRQHandler | |
| PUBWEAK TIM16_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TIM16_IRQHandler | |
| B TIM16_IRQHandler | |
| PUBWEAK TIM17_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| TIM17_IRQHandler | |
| B TIM17_IRQHandler | |
| PUBWEAK I2C1_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| I2C1_IRQHandler | |
| B I2C1_IRQHandler | |
| PUBWEAK I2C2_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| I2C2_IRQHandler | |
| B I2C2_IRQHandler | |
| PUBWEAK SPI1_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| SPI1_IRQHandler | |
| B SPI1_IRQHandler | |
| PUBWEAK SPI2_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| SPI2_IRQHandler | |
| B SPI2_IRQHandler | |
| PUBWEAK USART1_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| USART1_IRQHandler | |
| B USART1_IRQHandler | |
| PUBWEAK USART2_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| USART2_IRQHandler | |
| B USART2_IRQHandler | |
| PUBWEAK CEC_IRQHandler | |
| SECTION .text:CODE:NOROOT:REORDER(1) | |
| CEC_IRQHandler | |
| B CEC_IRQHandler | |
| END | |
| /******************* (C) COPYRIGHT 2012 STMicroelectronics *****END OF FILE****/ |