Normalize line endings for IM880B startup files.

pull/11049/head
Seppo Takalo 2019-07-15 14:56:22 +03:00
parent 2d6db332e6
commit b22641ca18
5 changed files with 1399 additions and 1398 deletions

1
.gitattributes vendored
View File

@ -2,6 +2,7 @@
*.cpp text *.cpp text
*.h text *.h text
*.s text *.s text
*.S text
*.sct text *.sct text
*.ld text *.ld text
*.txt text *.txt text

View File

@ -1,279 +1,279 @@
;******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** ;******************** (C) COPYRIGHT 2016 STMicroelectronics ********************
;* File Name : startup_stm32l151xb.s ;* File Name : startup_stm32l151xb.s
;* Author : MCD Application Team ;* Author : MCD Application Team
;* Version : V2.2.0 ;* Version : V2.2.0
;* Date : 01-July-2016 ;* Date : 01-July-2016
;* Description : STM32L151XB Devices vector for MDK-ARM toolchain. ;* Description : STM32L151XB Devices vector for MDK-ARM toolchain.
;* This module performs: ;* This module performs:
;* - Set the initial SP ;* - Set the initial SP
;* - Set the initial PC == Reset_Handler ;* - Set the initial PC == Reset_Handler
;* - Set the vector table entries with the exceptions ISR ;* - Set the vector table entries with the exceptions ISR
;* address. ;* address.
;* - Configure the system clock ;* - Configure the system clock
;* - Branches to __main in the C library (which eventually ;* - Branches to __main in the C library (which eventually
;* calls main()). ;* calls main()).
;* After Reset the Cortex-M3 processor is in Thread mode, ;* After Reset the Cortex-M3 processor is in Thread mode,
;* priority is Privileged, and the Stack is set to Main. ;* priority is Privileged, and the Stack is set to Main.
;******************************************************************************** ;********************************************************************************
;* ;*
;* COPYRIGHT(c) 2016 STMicroelectronics ;* COPYRIGHT(c) 2016 STMicroelectronics
;* ;*
;* Redistribution and use in source and binary forms, with or without modification, ;* Redistribution and use in source and binary forms, with or without modification,
;* are permitted provided that the following conditions are met: ;* are permitted provided that the following conditions are met:
;* 1. Redistributions of source code must retain the above copyright notice, ;* 1. Redistributions of source code must retain the above copyright notice,
;* this list of conditions and the following disclaimer. ;* this list of conditions and the following disclaimer.
;* 2. Redistributions in binary form must reproduce the above copyright notice, ;* 2. Redistributions in binary form must reproduce the above copyright notice,
;* this list of conditions and the following disclaimer in the documentation ;* this list of conditions and the following disclaimer in the documentation
;* and/or other materials provided with the distribution. ;* and/or other materials provided with the distribution.
;* 3. Neither the name of STMicroelectronics nor the names of its contributors ;* 3. Neither the name of STMicroelectronics nor the names of its contributors
;* may be used to endorse or promote products derived from this software ;* may be used to endorse or promote products derived from this software
;* without specific prior written permission. ;* without specific prior written permission.
;* ;*
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE ;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
; ;
;******************************************************************************* ;*******************************************************************************
__initial_sp EQU 0x20008000 ; Top of RAM (32 KB) __initial_sp EQU 0x20008000 ; Top of RAM (32 KB)
PRESERVE8 PRESERVE8
THUMB THUMB
; Vector Table Mapped to Address 0 at Reset ; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY AREA RESET, DATA, READONLY
EXPORT __Vectors EXPORT __Vectors
EXPORT __Vectors_End EXPORT __Vectors_End
EXPORT __Vectors_Size EXPORT __Vectors_Size
__Vectors DCD __initial_sp ; Top of Stack __Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved 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 SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler DCD SysTick_Handler ; SysTick Handler
; External Interrupts ; External Interrupts
DCD WWDG_IRQHandler ; Window Watchdog DCD WWDG_IRQHandler ; Window Watchdog
DCD PVD_IRQHandler ; PVD through EXTI Line detect DCD PVD_IRQHandler ; PVD through EXTI Line detect
DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp
DCD RTC_WKUP_IRQHandler ; RTC Wakeup DCD RTC_WKUP_IRQHandler ; RTC Wakeup
DCD FLASH_IRQHandler ; FLASH DCD FLASH_IRQHandler ; FLASH
DCD RCC_IRQHandler ; RCC DCD RCC_IRQHandler ; RCC
DCD EXTI0_IRQHandler ; EXTI Line 0 DCD EXTI0_IRQHandler ; EXTI Line 0
DCD EXTI1_IRQHandler ; EXTI Line 1 DCD EXTI1_IRQHandler ; EXTI Line 1
DCD EXTI2_IRQHandler ; EXTI Line 2 DCD EXTI2_IRQHandler ; EXTI Line 2
DCD EXTI3_IRQHandler ; EXTI Line 3 DCD EXTI3_IRQHandler ; EXTI Line 3
DCD EXTI4_IRQHandler ; EXTI Line 4 DCD EXTI4_IRQHandler ; EXTI Line 4
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
DCD ADC1_IRQHandler ; ADC1 DCD ADC1_IRQHandler ; ADC1
DCD USB_HP_IRQHandler ; USB High Priority DCD USB_HP_IRQHandler ; USB High Priority
DCD USB_LP_IRQHandler ; USB Low Priority DCD USB_LP_IRQHandler ; USB Low Priority
DCD DAC_IRQHandler ; DAC DCD DAC_IRQHandler ; DAC
DCD COMP_IRQHandler ; COMP through EXTI Line DCD COMP_IRQHandler ; COMP through EXTI Line
DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
DCD 0 ; Reserved DCD 0 ; Reserved
DCD TIM9_IRQHandler ; TIM9 DCD TIM9_IRQHandler ; TIM9
DCD TIM10_IRQHandler ; TIM10 DCD TIM10_IRQHandler ; TIM10
DCD TIM11_IRQHandler ; TIM11 DCD TIM11_IRQHandler ; TIM11
DCD TIM2_IRQHandler ; TIM2 DCD TIM2_IRQHandler ; TIM2
DCD TIM3_IRQHandler ; TIM3 DCD TIM3_IRQHandler ; TIM3
DCD TIM4_IRQHandler ; TIM4 DCD TIM4_IRQHandler ; TIM4
DCD I2C1_EV_IRQHandler ; I2C1 Event DCD I2C1_EV_IRQHandler ; I2C1 Event
DCD I2C1_ER_IRQHandler ; I2C1 Error DCD I2C1_ER_IRQHandler ; I2C1 Error
DCD I2C2_EV_IRQHandler ; I2C2 Event DCD I2C2_EV_IRQHandler ; I2C2 Event
DCD I2C2_ER_IRQHandler ; I2C2 Error DCD I2C2_ER_IRQHandler ; I2C2 Error
DCD SPI1_IRQHandler ; SPI1 DCD SPI1_IRQHandler ; SPI1
DCD SPI2_IRQHandler ; SPI2 DCD SPI2_IRQHandler ; SPI2
DCD USART1_IRQHandler ; USART1 DCD USART1_IRQHandler ; USART1
DCD USART2_IRQHandler ; USART2 DCD USART2_IRQHandler ; USART2
DCD USART3_IRQHandler ; USART3 DCD USART3_IRQHandler ; USART3
DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line
DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend
DCD TIM6_IRQHandler ; TIM6 DCD TIM6_IRQHandler ; TIM6
DCD TIM7_IRQHandler ; TIM7 DCD TIM7_IRQHandler ; TIM7
__Vectors_End __Vectors_End
__Vectors_Size EQU __Vectors_End - __Vectors __Vectors_Size EQU __Vectors_End - __Vectors
AREA |.text|, CODE, READONLY AREA |.text|, CODE, READONLY
; Reset handler routine ; Reset handler routine
Reset_Handler PROC Reset_Handler PROC
EXPORT Reset_Handler [WEAK] EXPORT Reset_Handler [WEAK]
IMPORT __main IMPORT __main
IMPORT SystemInit IMPORT SystemInit
LDR R0, =SystemInit LDR R0, =SystemInit
BLX R0 BLX R0
LDR R0, =__main LDR R0, =__main
BX R0 BX R0
ENDP ENDP
; Dummy Exception Handlers (infinite loops which can be modified) ; Dummy Exception Handlers (infinite loops which can be modified)
NMI_Handler PROC NMI_Handler PROC
EXPORT NMI_Handler [WEAK] EXPORT NMI_Handler [WEAK]
B . B .
ENDP ENDP
HardFault_Handler\ HardFault_Handler\
PROC PROC
EXPORT HardFault_Handler [WEAK] EXPORT HardFault_Handler [WEAK]
B . B .
ENDP ENDP
MemManage_Handler\ MemManage_Handler\
PROC PROC
EXPORT MemManage_Handler [WEAK] EXPORT MemManage_Handler [WEAK]
B . B .
ENDP ENDP
BusFault_Handler\ BusFault_Handler\
PROC PROC
EXPORT BusFault_Handler [WEAK] EXPORT BusFault_Handler [WEAK]
B . B .
ENDP ENDP
UsageFault_Handler\ UsageFault_Handler\
PROC PROC
EXPORT UsageFault_Handler [WEAK] EXPORT UsageFault_Handler [WEAK]
B . B .
ENDP ENDP
SVC_Handler PROC SVC_Handler PROC
EXPORT SVC_Handler [WEAK] EXPORT SVC_Handler [WEAK]
B . B .
ENDP ENDP
DebugMon_Handler\ DebugMon_Handler\
PROC PROC
EXPORT DebugMon_Handler [WEAK] EXPORT DebugMon_Handler [WEAK]
B . B .
ENDP ENDP
PendSV_Handler PROC PendSV_Handler PROC
EXPORT PendSV_Handler [WEAK] EXPORT PendSV_Handler [WEAK]
B . B .
ENDP ENDP
SysTick_Handler PROC SysTick_Handler PROC
EXPORT SysTick_Handler [WEAK] EXPORT SysTick_Handler [WEAK]
B . B .
ENDP ENDP
Default_Handler PROC Default_Handler PROC
EXPORT WWDG_IRQHandler [WEAK] EXPORT WWDG_IRQHandler [WEAK]
EXPORT PVD_IRQHandler [WEAK] EXPORT PVD_IRQHandler [WEAK]
EXPORT TAMPER_STAMP_IRQHandler [WEAK] EXPORT TAMPER_STAMP_IRQHandler [WEAK]
EXPORT RTC_WKUP_IRQHandler [WEAK] EXPORT RTC_WKUP_IRQHandler [WEAK]
EXPORT FLASH_IRQHandler [WEAK] EXPORT FLASH_IRQHandler [WEAK]
EXPORT RCC_IRQHandler [WEAK] EXPORT RCC_IRQHandler [WEAK]
EXPORT EXTI0_IRQHandler [WEAK] EXPORT EXTI0_IRQHandler [WEAK]
EXPORT EXTI1_IRQHandler [WEAK] EXPORT EXTI1_IRQHandler [WEAK]
EXPORT EXTI2_IRQHandler [WEAK] EXPORT EXTI2_IRQHandler [WEAK]
EXPORT EXTI3_IRQHandler [WEAK] EXPORT EXTI3_IRQHandler [WEAK]
EXPORT EXTI4_IRQHandler [WEAK] EXPORT EXTI4_IRQHandler [WEAK]
EXPORT DMA1_Channel1_IRQHandler [WEAK] EXPORT DMA1_Channel1_IRQHandler [WEAK]
EXPORT DMA1_Channel2_IRQHandler [WEAK] EXPORT DMA1_Channel2_IRQHandler [WEAK]
EXPORT DMA1_Channel3_IRQHandler [WEAK] EXPORT DMA1_Channel3_IRQHandler [WEAK]
EXPORT DMA1_Channel4_IRQHandler [WEAK] EXPORT DMA1_Channel4_IRQHandler [WEAK]
EXPORT DMA1_Channel5_IRQHandler [WEAK] EXPORT DMA1_Channel5_IRQHandler [WEAK]
EXPORT DMA1_Channel6_IRQHandler [WEAK] EXPORT DMA1_Channel6_IRQHandler [WEAK]
EXPORT DMA1_Channel7_IRQHandler [WEAK] EXPORT DMA1_Channel7_IRQHandler [WEAK]
EXPORT ADC1_IRQHandler [WEAK] EXPORT ADC1_IRQHandler [WEAK]
EXPORT USB_HP_IRQHandler [WEAK] EXPORT USB_HP_IRQHandler [WEAK]
EXPORT USB_LP_IRQHandler [WEAK] EXPORT USB_LP_IRQHandler [WEAK]
EXPORT DAC_IRQHandler [WEAK] EXPORT DAC_IRQHandler [WEAK]
EXPORT COMP_IRQHandler [WEAK] EXPORT COMP_IRQHandler [WEAK]
EXPORT EXTI9_5_IRQHandler [WEAK] EXPORT EXTI9_5_IRQHandler [WEAK]
EXPORT TIM9_IRQHandler [WEAK] EXPORT TIM9_IRQHandler [WEAK]
EXPORT TIM10_IRQHandler [WEAK] EXPORT TIM10_IRQHandler [WEAK]
EXPORT TIM11_IRQHandler [WEAK] EXPORT TIM11_IRQHandler [WEAK]
EXPORT TIM2_IRQHandler [WEAK] EXPORT TIM2_IRQHandler [WEAK]
EXPORT TIM3_IRQHandler [WEAK] EXPORT TIM3_IRQHandler [WEAK]
EXPORT TIM4_IRQHandler [WEAK] EXPORT TIM4_IRQHandler [WEAK]
EXPORT I2C1_EV_IRQHandler [WEAK] EXPORT I2C1_EV_IRQHandler [WEAK]
EXPORT I2C1_ER_IRQHandler [WEAK] EXPORT I2C1_ER_IRQHandler [WEAK]
EXPORT I2C2_EV_IRQHandler [WEAK] EXPORT I2C2_EV_IRQHandler [WEAK]
EXPORT I2C2_ER_IRQHandler [WEAK] EXPORT I2C2_ER_IRQHandler [WEAK]
EXPORT SPI1_IRQHandler [WEAK] EXPORT SPI1_IRQHandler [WEAK]
EXPORT SPI2_IRQHandler [WEAK] EXPORT SPI2_IRQHandler [WEAK]
EXPORT USART1_IRQHandler [WEAK] EXPORT USART1_IRQHandler [WEAK]
EXPORT USART2_IRQHandler [WEAK] EXPORT USART2_IRQHandler [WEAK]
EXPORT USART3_IRQHandler [WEAK] EXPORT USART3_IRQHandler [WEAK]
EXPORT EXTI15_10_IRQHandler [WEAK] EXPORT EXTI15_10_IRQHandler [WEAK]
EXPORT RTC_Alarm_IRQHandler [WEAK] EXPORT RTC_Alarm_IRQHandler [WEAK]
EXPORT USB_FS_WKUP_IRQHandler [WEAK] EXPORT USB_FS_WKUP_IRQHandler [WEAK]
EXPORT TIM6_IRQHandler [WEAK] EXPORT TIM6_IRQHandler [WEAK]
EXPORT TIM7_IRQHandler [WEAK] EXPORT TIM7_IRQHandler [WEAK]
WWDG_IRQHandler WWDG_IRQHandler
PVD_IRQHandler PVD_IRQHandler
TAMPER_STAMP_IRQHandler TAMPER_STAMP_IRQHandler
RTC_WKUP_IRQHandler RTC_WKUP_IRQHandler
FLASH_IRQHandler FLASH_IRQHandler
RCC_IRQHandler RCC_IRQHandler
EXTI0_IRQHandler EXTI0_IRQHandler
EXTI1_IRQHandler EXTI1_IRQHandler
EXTI2_IRQHandler EXTI2_IRQHandler
EXTI3_IRQHandler EXTI3_IRQHandler
EXTI4_IRQHandler EXTI4_IRQHandler
DMA1_Channel1_IRQHandler DMA1_Channel1_IRQHandler
DMA1_Channel2_IRQHandler DMA1_Channel2_IRQHandler
DMA1_Channel3_IRQHandler DMA1_Channel3_IRQHandler
DMA1_Channel4_IRQHandler DMA1_Channel4_IRQHandler
DMA1_Channel5_IRQHandler DMA1_Channel5_IRQHandler
DMA1_Channel6_IRQHandler DMA1_Channel6_IRQHandler
DMA1_Channel7_IRQHandler DMA1_Channel7_IRQHandler
ADC1_IRQHandler ADC1_IRQHandler
USB_HP_IRQHandler USB_HP_IRQHandler
USB_LP_IRQHandler USB_LP_IRQHandler
DAC_IRQHandler DAC_IRQHandler
COMP_IRQHandler COMP_IRQHandler
EXTI9_5_IRQHandler EXTI9_5_IRQHandler
TIM9_IRQHandler TIM9_IRQHandler
TIM10_IRQHandler TIM10_IRQHandler
TIM11_IRQHandler TIM11_IRQHandler
TIM2_IRQHandler TIM2_IRQHandler
TIM3_IRQHandler TIM3_IRQHandler
TIM4_IRQHandler TIM4_IRQHandler
I2C1_EV_IRQHandler I2C1_EV_IRQHandler
I2C1_ER_IRQHandler I2C1_ER_IRQHandler
I2C2_EV_IRQHandler I2C2_EV_IRQHandler
I2C2_ER_IRQHandler I2C2_ER_IRQHandler
SPI1_IRQHandler SPI1_IRQHandler
SPI2_IRQHandler SPI2_IRQHandler
USART1_IRQHandler USART1_IRQHandler
USART2_IRQHandler USART2_IRQHandler
USART3_IRQHandler USART3_IRQHandler
EXTI15_10_IRQHandler EXTI15_10_IRQHandler
RTC_Alarm_IRQHandler RTC_Alarm_IRQHandler
USB_FS_WKUP_IRQHandler USB_FS_WKUP_IRQHandler
TIM6_IRQHandler TIM6_IRQHandler
TIM7_IRQHandler TIM7_IRQHandler
B . B .
ENDP ENDP
ALIGN ALIGN
END END

View File

@ -1,285 +1,285 @@
;******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** ;******************** (C) COPYRIGHT 2016 STMicroelectronics ********************
;* File Name : startup_stm32l151xb.s ;* File Name : startup_stm32l151xb.s
;* Author : MCD Application Team ;* Author : MCD Application Team
;* Version : V2.2.0 ;* Version : V2.2.0
;* Date : 01-July-2016 ;* Date : 01-July-2016
;* Description : STM32L151XB Devices vector for MDK-ARM toolchain. ;* Description : STM32L151XB Devices vector for MDK-ARM toolchain.
;* This module performs: ;* This module performs:
;* - Set the initial SP ;* - Set the initial SP
;* - Set the initial PC == Reset_Handler ;* - Set the initial PC == Reset_Handler
;* - Set the vector table entries with the exceptions ISR ;* - Set the vector table entries with the exceptions ISR
;* address. ;* address.
;* - Configure the system clock ;* - Configure the system clock
;* - Branches to __main in the C library (which eventually ;* - Branches to __main in the C library (which eventually
;* calls main()). ;* calls main()).
;* After Reset the Cortex-M3 processor is in Thread mode, ;* After Reset the Cortex-M3 processor is in Thread mode,
;* priority is Privileged, and the Stack is set to Main. ;* priority is Privileged, and the Stack is set to Main.
;******************************************************************************** ;********************************************************************************
;* ;*
;* COPYRIGHT(c) 2016 STMicroelectronics ;* COPYRIGHT(c) 2016 STMicroelectronics
;* ;*
;* Redistribution and use in source and binary forms, with or without modification, ;* Redistribution and use in source and binary forms, with or without modification,
;* are permitted provided that the following conditions are met: ;* are permitted provided that the following conditions are met:
;* 1. Redistributions of source code must retain the above copyright notice, ;* 1. Redistributions of source code must retain the above copyright notice,
;* this list of conditions and the following disclaimer. ;* this list of conditions and the following disclaimer.
;* 2. Redistributions in binary form must reproduce the above copyright notice, ;* 2. Redistributions in binary form must reproduce the above copyright notice,
;* this list of conditions and the following disclaimer in the documentation ;* this list of conditions and the following disclaimer in the documentation
;* and/or other materials provided with the distribution. ;* and/or other materials provided with the distribution.
;* 3. Neither the name of STMicroelectronics nor the names of its contributors ;* 3. Neither the name of STMicroelectronics nor the names of its contributors
;* may be used to endorse or promote products derived from this software ;* may be used to endorse or promote products derived from this software
;* without specific prior written permission. ;* without specific prior written permission.
;* ;*
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE ;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
; ;
;******************************************************************************* ;*******************************************************************************
; ;
; Amount of memory (in bytes) allocated for Stack ; Amount of memory (in bytes) allocated for Stack
; Tailor this value to your application needs ; Tailor this value to your application needs
; <h> Stack Configuration ; <h> Stack Configuration
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h> ; </h>
__initial_sp EQU 0x20008000 ; Top of RAM (32 KB) __initial_sp EQU 0x20008000 ; Top of RAM (32 KB)
PRESERVE8 PRESERVE8
THUMB THUMB
; Vector Table Mapped to Address 0 at Reset ; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY AREA RESET, DATA, READONLY
EXPORT __Vectors EXPORT __Vectors
EXPORT __Vectors_End EXPORT __Vectors_End
EXPORT __Vectors_Size EXPORT __Vectors_Size
__Vectors DCD __initial_sp ; Top of Stack __Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved 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 SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler DCD SysTick_Handler ; SysTick Handler
; External Interrupts ; External Interrupts
DCD WWDG_IRQHandler ; Window Watchdog DCD WWDG_IRQHandler ; Window Watchdog
DCD PVD_IRQHandler ; PVD through EXTI Line detect DCD PVD_IRQHandler ; PVD through EXTI Line detect
DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp
DCD RTC_WKUP_IRQHandler ; RTC Wakeup DCD RTC_WKUP_IRQHandler ; RTC Wakeup
DCD FLASH_IRQHandler ; FLASH DCD FLASH_IRQHandler ; FLASH
DCD RCC_IRQHandler ; RCC DCD RCC_IRQHandler ; RCC
DCD EXTI0_IRQHandler ; EXTI Line 0 DCD EXTI0_IRQHandler ; EXTI Line 0
DCD EXTI1_IRQHandler ; EXTI Line 1 DCD EXTI1_IRQHandler ; EXTI Line 1
DCD EXTI2_IRQHandler ; EXTI Line 2 DCD EXTI2_IRQHandler ; EXTI Line 2
DCD EXTI3_IRQHandler ; EXTI Line 3 DCD EXTI3_IRQHandler ; EXTI Line 3
DCD EXTI4_IRQHandler ; EXTI Line 4 DCD EXTI4_IRQHandler ; EXTI Line 4
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
DCD ADC1_IRQHandler ; ADC1 DCD ADC1_IRQHandler ; ADC1
DCD USB_HP_IRQHandler ; USB High Priority DCD USB_HP_IRQHandler ; USB High Priority
DCD USB_LP_IRQHandler ; USB Low Priority DCD USB_LP_IRQHandler ; USB Low Priority
DCD DAC_IRQHandler ; DAC DCD DAC_IRQHandler ; DAC
DCD COMP_IRQHandler ; COMP through EXTI Line DCD COMP_IRQHandler ; COMP through EXTI Line
DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
DCD 0 ; Reserved DCD 0 ; Reserved
DCD TIM9_IRQHandler ; TIM9 DCD TIM9_IRQHandler ; TIM9
DCD TIM10_IRQHandler ; TIM10 DCD TIM10_IRQHandler ; TIM10
DCD TIM11_IRQHandler ; TIM11 DCD TIM11_IRQHandler ; TIM11
DCD TIM2_IRQHandler ; TIM2 DCD TIM2_IRQHandler ; TIM2
DCD TIM3_IRQHandler ; TIM3 DCD TIM3_IRQHandler ; TIM3
DCD TIM4_IRQHandler ; TIM4 DCD TIM4_IRQHandler ; TIM4
DCD I2C1_EV_IRQHandler ; I2C1 Event DCD I2C1_EV_IRQHandler ; I2C1 Event
DCD I2C1_ER_IRQHandler ; I2C1 Error DCD I2C1_ER_IRQHandler ; I2C1 Error
DCD I2C2_EV_IRQHandler ; I2C2 Event DCD I2C2_EV_IRQHandler ; I2C2 Event
DCD I2C2_ER_IRQHandler ; I2C2 Error DCD I2C2_ER_IRQHandler ; I2C2 Error
DCD SPI1_IRQHandler ; SPI1 DCD SPI1_IRQHandler ; SPI1
DCD SPI2_IRQHandler ; SPI2 DCD SPI2_IRQHandler ; SPI2
DCD USART1_IRQHandler ; USART1 DCD USART1_IRQHandler ; USART1
DCD USART2_IRQHandler ; USART2 DCD USART2_IRQHandler ; USART2
DCD USART3_IRQHandler ; USART3 DCD USART3_IRQHandler ; USART3
DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line
DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend
DCD TIM6_IRQHandler ; TIM6 DCD TIM6_IRQHandler ; TIM6
DCD TIM7_IRQHandler ; TIM7 DCD TIM7_IRQHandler ; TIM7
__Vectors_End __Vectors_End
__Vectors_Size EQU __Vectors_End - __Vectors __Vectors_Size EQU __Vectors_End - __Vectors
AREA |.text|, CODE, READONLY AREA |.text|, CODE, READONLY
; Reset handler routine ; Reset handler routine
Reset_Handler PROC Reset_Handler PROC
EXPORT Reset_Handler [WEAK] EXPORT Reset_Handler [WEAK]
IMPORT __main IMPORT __main
IMPORT SystemInit IMPORT SystemInit
LDR R0, =SystemInit LDR R0, =SystemInit
BLX R0 BLX R0
LDR R0, =__main LDR R0, =__main
BX R0 BX R0
ENDP ENDP
; Dummy Exception Handlers (infinite loops which can be modified) ; Dummy Exception Handlers (infinite loops which can be modified)
NMI_Handler PROC NMI_Handler PROC
EXPORT NMI_Handler [WEAK] EXPORT NMI_Handler [WEAK]
B . B .
ENDP ENDP
HardFault_Handler\ HardFault_Handler\
PROC PROC
EXPORT HardFault_Handler [WEAK] EXPORT HardFault_Handler [WEAK]
B . B .
ENDP ENDP
MemManage_Handler\ MemManage_Handler\
PROC PROC
EXPORT MemManage_Handler [WEAK] EXPORT MemManage_Handler [WEAK]
B . B .
ENDP ENDP
BusFault_Handler\ BusFault_Handler\
PROC PROC
EXPORT BusFault_Handler [WEAK] EXPORT BusFault_Handler [WEAK]
B . B .
ENDP ENDP
UsageFault_Handler\ UsageFault_Handler\
PROC PROC
EXPORT UsageFault_Handler [WEAK] EXPORT UsageFault_Handler [WEAK]
B . B .
ENDP ENDP
SVC_Handler PROC SVC_Handler PROC
EXPORT SVC_Handler [WEAK] EXPORT SVC_Handler [WEAK]
B . B .
ENDP ENDP
DebugMon_Handler\ DebugMon_Handler\
PROC PROC
EXPORT DebugMon_Handler [WEAK] EXPORT DebugMon_Handler [WEAK]
B . B .
ENDP ENDP
PendSV_Handler PROC PendSV_Handler PROC
EXPORT PendSV_Handler [WEAK] EXPORT PendSV_Handler [WEAK]
B . B .
ENDP ENDP
SysTick_Handler PROC SysTick_Handler PROC
EXPORT SysTick_Handler [WEAK] EXPORT SysTick_Handler [WEAK]
B . B .
ENDP ENDP
Default_Handler PROC Default_Handler PROC
EXPORT WWDG_IRQHandler [WEAK] EXPORT WWDG_IRQHandler [WEAK]
EXPORT PVD_IRQHandler [WEAK] EXPORT PVD_IRQHandler [WEAK]
EXPORT TAMPER_STAMP_IRQHandler [WEAK] EXPORT TAMPER_STAMP_IRQHandler [WEAK]
EXPORT RTC_WKUP_IRQHandler [WEAK] EXPORT RTC_WKUP_IRQHandler [WEAK]
EXPORT FLASH_IRQHandler [WEAK] EXPORT FLASH_IRQHandler [WEAK]
EXPORT RCC_IRQHandler [WEAK] EXPORT RCC_IRQHandler [WEAK]
EXPORT EXTI0_IRQHandler [WEAK] EXPORT EXTI0_IRQHandler [WEAK]
EXPORT EXTI1_IRQHandler [WEAK] EXPORT EXTI1_IRQHandler [WEAK]
EXPORT EXTI2_IRQHandler [WEAK] EXPORT EXTI2_IRQHandler [WEAK]
EXPORT EXTI3_IRQHandler [WEAK] EXPORT EXTI3_IRQHandler [WEAK]
EXPORT EXTI4_IRQHandler [WEAK] EXPORT EXTI4_IRQHandler [WEAK]
EXPORT DMA1_Channel1_IRQHandler [WEAK] EXPORT DMA1_Channel1_IRQHandler [WEAK]
EXPORT DMA1_Channel2_IRQHandler [WEAK] EXPORT DMA1_Channel2_IRQHandler [WEAK]
EXPORT DMA1_Channel3_IRQHandler [WEAK] EXPORT DMA1_Channel3_IRQHandler [WEAK]
EXPORT DMA1_Channel4_IRQHandler [WEAK] EXPORT DMA1_Channel4_IRQHandler [WEAK]
EXPORT DMA1_Channel5_IRQHandler [WEAK] EXPORT DMA1_Channel5_IRQHandler [WEAK]
EXPORT DMA1_Channel6_IRQHandler [WEAK] EXPORT DMA1_Channel6_IRQHandler [WEAK]
EXPORT DMA1_Channel7_IRQHandler [WEAK] EXPORT DMA1_Channel7_IRQHandler [WEAK]
EXPORT ADC1_IRQHandler [WEAK] EXPORT ADC1_IRQHandler [WEAK]
EXPORT USB_HP_IRQHandler [WEAK] EXPORT USB_HP_IRQHandler [WEAK]
EXPORT USB_LP_IRQHandler [WEAK] EXPORT USB_LP_IRQHandler [WEAK]
EXPORT DAC_IRQHandler [WEAK] EXPORT DAC_IRQHandler [WEAK]
EXPORT COMP_IRQHandler [WEAK] EXPORT COMP_IRQHandler [WEAK]
EXPORT EXTI9_5_IRQHandler [WEAK] EXPORT EXTI9_5_IRQHandler [WEAK]
EXPORT TIM9_IRQHandler [WEAK] EXPORT TIM9_IRQHandler [WEAK]
EXPORT TIM10_IRQHandler [WEAK] EXPORT TIM10_IRQHandler [WEAK]
EXPORT TIM11_IRQHandler [WEAK] EXPORT TIM11_IRQHandler [WEAK]
EXPORT TIM2_IRQHandler [WEAK] EXPORT TIM2_IRQHandler [WEAK]
EXPORT TIM3_IRQHandler [WEAK] EXPORT TIM3_IRQHandler [WEAK]
EXPORT TIM4_IRQHandler [WEAK] EXPORT TIM4_IRQHandler [WEAK]
EXPORT I2C1_EV_IRQHandler [WEAK] EXPORT I2C1_EV_IRQHandler [WEAK]
EXPORT I2C1_ER_IRQHandler [WEAK] EXPORT I2C1_ER_IRQHandler [WEAK]
EXPORT I2C2_EV_IRQHandler [WEAK] EXPORT I2C2_EV_IRQHandler [WEAK]
EXPORT I2C2_ER_IRQHandler [WEAK] EXPORT I2C2_ER_IRQHandler [WEAK]
EXPORT SPI1_IRQHandler [WEAK] EXPORT SPI1_IRQHandler [WEAK]
EXPORT SPI2_IRQHandler [WEAK] EXPORT SPI2_IRQHandler [WEAK]
EXPORT USART1_IRQHandler [WEAK] EXPORT USART1_IRQHandler [WEAK]
EXPORT USART2_IRQHandler [WEAK] EXPORT USART2_IRQHandler [WEAK]
EXPORT USART3_IRQHandler [WEAK] EXPORT USART3_IRQHandler [WEAK]
EXPORT EXTI15_10_IRQHandler [WEAK] EXPORT EXTI15_10_IRQHandler [WEAK]
EXPORT RTC_Alarm_IRQHandler [WEAK] EXPORT RTC_Alarm_IRQHandler [WEAK]
EXPORT USB_FS_WKUP_IRQHandler [WEAK] EXPORT USB_FS_WKUP_IRQHandler [WEAK]
EXPORT TIM6_IRQHandler [WEAK] EXPORT TIM6_IRQHandler [WEAK]
EXPORT TIM7_IRQHandler [WEAK] EXPORT TIM7_IRQHandler [WEAK]
WWDG_IRQHandler WWDG_IRQHandler
PVD_IRQHandler PVD_IRQHandler
TAMPER_STAMP_IRQHandler TAMPER_STAMP_IRQHandler
RTC_WKUP_IRQHandler RTC_WKUP_IRQHandler
FLASH_IRQHandler FLASH_IRQHandler
RCC_IRQHandler RCC_IRQHandler
EXTI0_IRQHandler EXTI0_IRQHandler
EXTI1_IRQHandler EXTI1_IRQHandler
EXTI2_IRQHandler EXTI2_IRQHandler
EXTI3_IRQHandler EXTI3_IRQHandler
EXTI4_IRQHandler EXTI4_IRQHandler
DMA1_Channel1_IRQHandler DMA1_Channel1_IRQHandler
DMA1_Channel2_IRQHandler DMA1_Channel2_IRQHandler
DMA1_Channel3_IRQHandler DMA1_Channel3_IRQHandler
DMA1_Channel4_IRQHandler DMA1_Channel4_IRQHandler
DMA1_Channel5_IRQHandler DMA1_Channel5_IRQHandler
DMA1_Channel6_IRQHandler DMA1_Channel6_IRQHandler
DMA1_Channel7_IRQHandler DMA1_Channel7_IRQHandler
ADC1_IRQHandler ADC1_IRQHandler
USB_HP_IRQHandler USB_HP_IRQHandler
USB_LP_IRQHandler USB_LP_IRQHandler
DAC_IRQHandler DAC_IRQHandler
COMP_IRQHandler COMP_IRQHandler
EXTI9_5_IRQHandler EXTI9_5_IRQHandler
TIM9_IRQHandler TIM9_IRQHandler
TIM10_IRQHandler TIM10_IRQHandler
TIM11_IRQHandler TIM11_IRQHandler
TIM2_IRQHandler TIM2_IRQHandler
TIM3_IRQHandler TIM3_IRQHandler
TIM4_IRQHandler TIM4_IRQHandler
I2C1_EV_IRQHandler I2C1_EV_IRQHandler
I2C1_ER_IRQHandler I2C1_ER_IRQHandler
I2C2_EV_IRQHandler I2C2_EV_IRQHandler
I2C2_ER_IRQHandler I2C2_ER_IRQHandler
SPI1_IRQHandler SPI1_IRQHandler
SPI2_IRQHandler SPI2_IRQHandler
USART1_IRQHandler USART1_IRQHandler
USART2_IRQHandler USART2_IRQHandler
USART3_IRQHandler USART3_IRQHandler
EXTI15_10_IRQHandler EXTI15_10_IRQHandler
RTC_Alarm_IRQHandler RTC_Alarm_IRQHandler
USB_FS_WKUP_IRQHandler USB_FS_WKUP_IRQHandler
TIM6_IRQHandler TIM6_IRQHandler
TIM7_IRQHandler TIM7_IRQHandler
B . B .
ENDP ENDP
ALIGN ALIGN
END END

View File

@ -1,363 +1,363 @@
/** /**
****************************************************************************** ******************************************************************************
* @file startup_stm32l151xb.s * @file startup_stm32l151xb.s
* @author MCD Application Team * @author MCD Application Team
* @version V2.2.0 * @version V2.2.0
* @date 01-July-2016 * @date 01-July-2016
* @brief STM32L151XB Devices vector table for * @brief STM32L151XB Devices vector table for
* Atollic toolchain. * Atollic toolchain.
* This module performs: * This module performs:
* - Set the initial SP * - Set the initial SP
* - Set the initial PC == Reset_Handler, * - Set the initial PC == Reset_Handler,
* - Set the vector table entries with the exceptions ISR address * - Set the vector table entries with the exceptions ISR address
* - Configure the clock system * - Configure the clock system
* - Branches to main in the C library (which eventually * - Branches to main in the C library (which eventually
* calls main()). * calls main()).
* After Reset the Cortex-M3 processor is in Thread mode, * After Reset the Cortex-M3 processor is in Thread mode,
* priority is Privileged, and the Stack is set to Main. * priority is Privileged, and the Stack is set to Main.
****************************************************************************** ******************************************************************************
* *
* <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2> * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
* *
* Redistribution and use in source and binary forms, with or without modification, * Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met: * are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice, * 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer. * this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice, * 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation * this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution. * and/or other materials provided with the distribution.
* 3. Neither the name of STMicroelectronics nor the names of its contributors * 3. Neither the name of STMicroelectronics nor the names of its contributors
* may be used to endorse or promote products derived from this software * may be used to endorse or promote products derived from this software
* without specific prior written permission. * without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
****************************************************************************** ******************************************************************************
*/ */
.syntax unified .syntax unified
.cpu cortex-m3 .cpu cortex-m3
.fpu softvfp .fpu softvfp
.thumb .thumb
.global g_pfnVectors .global g_pfnVectors
.global Default_Handler .global Default_Handler
/* start address for the initialization values of the .data section. /* start address for the initialization values of the .data section.
defined in linker script */ defined in linker script */
.word _sidata .word _sidata
/* start address for the .data section. defined in linker script */ /* start address for the .data section. defined in linker script */
.word _sdata .word _sdata
/* end address for the .data section. defined in linker script */ /* end address for the .data section. defined in linker script */
.word _edata .word _edata
/** /**
* @brief This is the code that gets called when the processor first * @brief This is the code that gets called when the processor first
* starts execution following a reset event. Only the absolutely * starts execution following a reset event. Only the absolutely
* necessary set is performed, after which the application * necessary set is performed, after which the application
* supplied main() routine is called. * supplied main() routine is called.
* @param None * @param None
* @retval : None * @retval : None
*/ */
.section .text.Reset_Handler .section .text.Reset_Handler
.weak Reset_Handler .weak Reset_Handler
.type Reset_Handler, %function .type Reset_Handler, %function
Reset_Handler: Reset_Handler:
/* Copy the data segment initializers from flash to SRAM */ /* Copy the data segment initializers from flash to SRAM */
movs r1, #0 movs r1, #0
b LoopCopyDataInit b LoopCopyDataInit
CopyDataInit: CopyDataInit:
ldr r3, =_sidata ldr r3, =_sidata
ldr r3, [r3, r1] ldr r3, [r3, r1]
str r3, [r0, r1] str r3, [r0, r1]
adds r1, r1, #4 adds r1, r1, #4
LoopCopyDataInit: LoopCopyDataInit:
ldr r0, =_sdata ldr r0, =_sdata
ldr r3, =_edata ldr r3, =_edata
adds r2, r0, r1 adds r2, r0, r1
cmp r2, r3 cmp r2, r3
bcc CopyDataInit bcc CopyDataInit
/* Call the clock system intitialization function.*/ /* Call the clock system intitialization function.*/
bl SystemInit bl SystemInit
/** /**
* Calling the crt0 'cold-start' entry point. There __libc_init_array is called * Calling the crt0 'cold-start' entry point. There __libc_init_array is called
* and when existing hardware_init_hook() and software_init_hook() before * and when existing hardware_init_hook() and software_init_hook() before
* starting main(). software_init_hook() is available and has to be called due * starting main(). software_init_hook() is available and has to be called due
* to initializsation when using rtos. * to initializsation when using rtos.
*/ */
bl _start bl _start
bx lr bx lr
.size Reset_Handler, .-Reset_Handler .size Reset_Handler, .-Reset_Handler
/** /**
* @brief This is the code that gets called when the processor receives an * @brief This is the code that gets called when the processor receives an
* unexpected interrupt. This simply enters an infinite loop, preserving * unexpected interrupt. This simply enters an infinite loop, preserving
* the system state for examination by a debugger. * the system state for examination by a debugger.
* *
* @param None * @param None
* @retval : None * @retval : None
*/ */
.section .text.Default_Handler,"ax",%progbits .section .text.Default_Handler,"ax",%progbits
Default_Handler: Default_Handler:
Infinite_Loop: Infinite_Loop:
b Infinite_Loop b Infinite_Loop
.size Default_Handler, .-Default_Handler .size Default_Handler, .-Default_Handler
/****************************************************************************** /******************************************************************************
* *
* The minimal vector table for a Cortex M3. Note that the proper constructs * The minimal vector table for a Cortex M3. Note that the proper constructs
* must be placed on this to ensure that it ends up at physical address * must be placed on this to ensure that it ends up at physical address
* 0x0000.0000. * 0x0000.0000.
* *
******************************************************************************/ ******************************************************************************/
.section .isr_vector,"a",%progbits .section .isr_vector,"a",%progbits
.type g_pfnVectors, %object .type g_pfnVectors, %object
.size g_pfnVectors, .-g_pfnVectors .size g_pfnVectors, .-g_pfnVectors
g_pfnVectors: g_pfnVectors:
.word _estack .word _estack
.word Reset_Handler .word Reset_Handler
.word NMI_Handler .word NMI_Handler
.word HardFault_Handler .word HardFault_Handler
.word MemManage_Handler .word MemManage_Handler
.word BusFault_Handler .word BusFault_Handler
.word UsageFault_Handler .word UsageFault_Handler
.word 0 .word 0
.word 0 .word 0
.word 0 .word 0
.word 0 .word 0
.word SVC_Handler .word SVC_Handler
.word DebugMon_Handler .word DebugMon_Handler
.word 0 .word 0
.word PendSV_Handler .word PendSV_Handler
.word SysTick_Handler .word SysTick_Handler
.word WWDG_IRQHandler .word WWDG_IRQHandler
.word PVD_IRQHandler .word PVD_IRQHandler
.word TAMPER_STAMP_IRQHandler .word TAMPER_STAMP_IRQHandler
.word RTC_WKUP_IRQHandler .word RTC_WKUP_IRQHandler
.word FLASH_IRQHandler .word FLASH_IRQHandler
.word RCC_IRQHandler .word RCC_IRQHandler
.word EXTI0_IRQHandler .word EXTI0_IRQHandler
.word EXTI1_IRQHandler .word EXTI1_IRQHandler
.word EXTI2_IRQHandler .word EXTI2_IRQHandler
.word EXTI3_IRQHandler .word EXTI3_IRQHandler
.word EXTI4_IRQHandler .word EXTI4_IRQHandler
.word DMA1_Channel1_IRQHandler .word DMA1_Channel1_IRQHandler
.word DMA1_Channel2_IRQHandler .word DMA1_Channel2_IRQHandler
.word DMA1_Channel3_IRQHandler .word DMA1_Channel3_IRQHandler
.word DMA1_Channel4_IRQHandler .word DMA1_Channel4_IRQHandler
.word DMA1_Channel5_IRQHandler .word DMA1_Channel5_IRQHandler
.word DMA1_Channel6_IRQHandler .word DMA1_Channel6_IRQHandler
.word DMA1_Channel7_IRQHandler .word DMA1_Channel7_IRQHandler
.word ADC1_IRQHandler .word ADC1_IRQHandler
.word USB_HP_IRQHandler .word USB_HP_IRQHandler
.word USB_LP_IRQHandler .word USB_LP_IRQHandler
.word DAC_IRQHandler .word DAC_IRQHandler
.word COMP_IRQHandler .word COMP_IRQHandler
.word EXTI9_5_IRQHandler .word EXTI9_5_IRQHandler
.word 0 .word 0
.word TIM9_IRQHandler .word TIM9_IRQHandler
.word TIM10_IRQHandler .word TIM10_IRQHandler
.word TIM11_IRQHandler .word TIM11_IRQHandler
.word TIM2_IRQHandler .word TIM2_IRQHandler
.word TIM3_IRQHandler .word TIM3_IRQHandler
.word TIM4_IRQHandler .word TIM4_IRQHandler
.word I2C1_EV_IRQHandler .word I2C1_EV_IRQHandler
.word I2C1_ER_IRQHandler .word I2C1_ER_IRQHandler
.word I2C2_EV_IRQHandler .word I2C2_EV_IRQHandler
.word I2C2_ER_IRQHandler .word I2C2_ER_IRQHandler
.word SPI1_IRQHandler .word SPI1_IRQHandler
.word SPI2_IRQHandler .word SPI2_IRQHandler
.word USART1_IRQHandler .word USART1_IRQHandler
.word USART2_IRQHandler .word USART2_IRQHandler
.word USART3_IRQHandler .word USART3_IRQHandler
.word EXTI15_10_IRQHandler .word EXTI15_10_IRQHandler
.word RTC_Alarm_IRQHandler .word RTC_Alarm_IRQHandler
.word USB_FS_WKUP_IRQHandler .word USB_FS_WKUP_IRQHandler
.word TIM6_IRQHandler .word TIM6_IRQHandler
.word TIM7_IRQHandler .word TIM7_IRQHandler
/******************************************************************************* /*******************************************************************************
* *
* Provide weak aliases for each Exception handler to the Default_Handler. * Provide weak aliases for each Exception handler to the Default_Handler.
* As they are weak aliases, any function with the same name will override * As they are weak aliases, any function with the same name will override
* this definition. * this definition.
* *
*******************************************************************************/ *******************************************************************************/
.weak NMI_Handler .weak NMI_Handler
.thumb_set NMI_Handler,Default_Handler .thumb_set NMI_Handler,Default_Handler
.weak HardFault_Handler .weak HardFault_Handler
.thumb_set HardFault_Handler,Default_Handler .thumb_set HardFault_Handler,Default_Handler
.weak MemManage_Handler .weak MemManage_Handler
.thumb_set MemManage_Handler,Default_Handler .thumb_set MemManage_Handler,Default_Handler
.weak BusFault_Handler .weak BusFault_Handler
.thumb_set BusFault_Handler,Default_Handler .thumb_set BusFault_Handler,Default_Handler
.weak UsageFault_Handler .weak UsageFault_Handler
.thumb_set UsageFault_Handler,Default_Handler .thumb_set UsageFault_Handler,Default_Handler
.weak SVC_Handler .weak SVC_Handler
.thumb_set SVC_Handler,Default_Handler .thumb_set SVC_Handler,Default_Handler
.weak DebugMon_Handler .weak DebugMon_Handler
.thumb_set DebugMon_Handler,Default_Handler .thumb_set DebugMon_Handler,Default_Handler
.weak PendSV_Handler .weak PendSV_Handler
.thumb_set PendSV_Handler,Default_Handler .thumb_set PendSV_Handler,Default_Handler
.weak SysTick_Handler .weak SysTick_Handler
.thumb_set SysTick_Handler,Default_Handler .thumb_set SysTick_Handler,Default_Handler
.weak WWDG_IRQHandler .weak WWDG_IRQHandler
.thumb_set WWDG_IRQHandler,Default_Handler .thumb_set WWDG_IRQHandler,Default_Handler
.weak PVD_IRQHandler .weak PVD_IRQHandler
.thumb_set PVD_IRQHandler,Default_Handler .thumb_set PVD_IRQHandler,Default_Handler
.weak TAMPER_STAMP_IRQHandler .weak TAMPER_STAMP_IRQHandler
.thumb_set TAMPER_STAMP_IRQHandler,Default_Handler .thumb_set TAMPER_STAMP_IRQHandler,Default_Handler
.weak RTC_WKUP_IRQHandler .weak RTC_WKUP_IRQHandler
.thumb_set RTC_WKUP_IRQHandler,Default_Handler .thumb_set RTC_WKUP_IRQHandler,Default_Handler
.weak FLASH_IRQHandler .weak FLASH_IRQHandler
.thumb_set FLASH_IRQHandler,Default_Handler .thumb_set FLASH_IRQHandler,Default_Handler
.weak RCC_IRQHandler .weak RCC_IRQHandler
.thumb_set RCC_IRQHandler,Default_Handler .thumb_set RCC_IRQHandler,Default_Handler
.weak EXTI0_IRQHandler .weak EXTI0_IRQHandler
.thumb_set EXTI0_IRQHandler,Default_Handler .thumb_set EXTI0_IRQHandler,Default_Handler
.weak EXTI1_IRQHandler .weak EXTI1_IRQHandler
.thumb_set EXTI1_IRQHandler,Default_Handler .thumb_set EXTI1_IRQHandler,Default_Handler
.weak EXTI2_IRQHandler .weak EXTI2_IRQHandler
.thumb_set EXTI2_IRQHandler,Default_Handler .thumb_set EXTI2_IRQHandler,Default_Handler
.weak EXTI3_IRQHandler .weak EXTI3_IRQHandler
.thumb_set EXTI3_IRQHandler,Default_Handler .thumb_set EXTI3_IRQHandler,Default_Handler
.weak EXTI4_IRQHandler .weak EXTI4_IRQHandler
.thumb_set EXTI4_IRQHandler,Default_Handler .thumb_set EXTI4_IRQHandler,Default_Handler
.weak DMA1_Channel1_IRQHandler .weak DMA1_Channel1_IRQHandler
.thumb_set DMA1_Channel1_IRQHandler,Default_Handler .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
.weak DMA1_Channel2_IRQHandler .weak DMA1_Channel2_IRQHandler
.thumb_set DMA1_Channel2_IRQHandler,Default_Handler .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
.weak DMA1_Channel3_IRQHandler .weak DMA1_Channel3_IRQHandler
.thumb_set DMA1_Channel3_IRQHandler,Default_Handler .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
.weak DMA1_Channel4_IRQHandler .weak DMA1_Channel4_IRQHandler
.thumb_set DMA1_Channel4_IRQHandler,Default_Handler .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
.weak DMA1_Channel5_IRQHandler .weak DMA1_Channel5_IRQHandler
.thumb_set DMA1_Channel5_IRQHandler,Default_Handler .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
.weak DMA1_Channel6_IRQHandler .weak DMA1_Channel6_IRQHandler
.thumb_set DMA1_Channel6_IRQHandler,Default_Handler .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
.weak DMA1_Channel7_IRQHandler .weak DMA1_Channel7_IRQHandler
.thumb_set DMA1_Channel7_IRQHandler,Default_Handler .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
.weak ADC1_IRQHandler .weak ADC1_IRQHandler
.thumb_set ADC1_IRQHandler,Default_Handler .thumb_set ADC1_IRQHandler,Default_Handler
.weak USB_HP_IRQHandler .weak USB_HP_IRQHandler
.thumb_set USB_HP_IRQHandler,Default_Handler .thumb_set USB_HP_IRQHandler,Default_Handler
.weak USB_LP_IRQHandler .weak USB_LP_IRQHandler
.thumb_set USB_LP_IRQHandler,Default_Handler .thumb_set USB_LP_IRQHandler,Default_Handler
.weak DAC_IRQHandler .weak DAC_IRQHandler
.thumb_set DAC_IRQHandler,Default_Handler .thumb_set DAC_IRQHandler,Default_Handler
.weak COMP_IRQHandler .weak COMP_IRQHandler
.thumb_set COMP_IRQHandler,Default_Handler .thumb_set COMP_IRQHandler,Default_Handler
.weak EXTI9_5_IRQHandler .weak EXTI9_5_IRQHandler
.thumb_set EXTI9_5_IRQHandler,Default_Handler .thumb_set EXTI9_5_IRQHandler,Default_Handler
.weak TIM9_IRQHandler .weak TIM9_IRQHandler
.thumb_set TIM9_IRQHandler,Default_Handler .thumb_set TIM9_IRQHandler,Default_Handler
.weak TIM10_IRQHandler .weak TIM10_IRQHandler
.thumb_set TIM10_IRQHandler,Default_Handler .thumb_set TIM10_IRQHandler,Default_Handler
.weak TIM11_IRQHandler .weak TIM11_IRQHandler
.thumb_set TIM11_IRQHandler,Default_Handler .thumb_set TIM11_IRQHandler,Default_Handler
.weak TIM2_IRQHandler .weak TIM2_IRQHandler
.thumb_set TIM2_IRQHandler,Default_Handler .thumb_set TIM2_IRQHandler,Default_Handler
.weak TIM3_IRQHandler .weak TIM3_IRQHandler
.thumb_set TIM3_IRQHandler,Default_Handler .thumb_set TIM3_IRQHandler,Default_Handler
.weak TIM4_IRQHandler .weak TIM4_IRQHandler
.thumb_set TIM4_IRQHandler,Default_Handler .thumb_set TIM4_IRQHandler,Default_Handler
.weak I2C1_EV_IRQHandler .weak I2C1_EV_IRQHandler
.thumb_set I2C1_EV_IRQHandler,Default_Handler .thumb_set I2C1_EV_IRQHandler,Default_Handler
.weak I2C1_ER_IRQHandler .weak I2C1_ER_IRQHandler
.thumb_set I2C1_ER_IRQHandler,Default_Handler .thumb_set I2C1_ER_IRQHandler,Default_Handler
.weak I2C2_EV_IRQHandler .weak I2C2_EV_IRQHandler
.thumb_set I2C2_EV_IRQHandler,Default_Handler .thumb_set I2C2_EV_IRQHandler,Default_Handler
.weak I2C2_ER_IRQHandler .weak I2C2_ER_IRQHandler
.thumb_set I2C2_ER_IRQHandler,Default_Handler .thumb_set I2C2_ER_IRQHandler,Default_Handler
.weak SPI1_IRQHandler .weak SPI1_IRQHandler
.thumb_set SPI1_IRQHandler,Default_Handler .thumb_set SPI1_IRQHandler,Default_Handler
.weak SPI2_IRQHandler .weak SPI2_IRQHandler
.thumb_set SPI2_IRQHandler,Default_Handler .thumb_set SPI2_IRQHandler,Default_Handler
.weak USART1_IRQHandler .weak USART1_IRQHandler
.thumb_set USART1_IRQHandler,Default_Handler .thumb_set USART1_IRQHandler,Default_Handler
.weak USART2_IRQHandler .weak USART2_IRQHandler
.thumb_set USART2_IRQHandler,Default_Handler .thumb_set USART2_IRQHandler,Default_Handler
.weak USART3_IRQHandler .weak USART3_IRQHandler
.thumb_set USART3_IRQHandler,Default_Handler .thumb_set USART3_IRQHandler,Default_Handler
.weak EXTI15_10_IRQHandler .weak EXTI15_10_IRQHandler
.thumb_set EXTI15_10_IRQHandler,Default_Handler .thumb_set EXTI15_10_IRQHandler,Default_Handler
.weak RTC_Alarm_IRQHandler .weak RTC_Alarm_IRQHandler
.thumb_set RTC_Alarm_IRQHandler,Default_Handler .thumb_set RTC_Alarm_IRQHandler,Default_Handler
.weak USB_FS_WKUP_IRQHandler .weak USB_FS_WKUP_IRQHandler
.thumb_set USB_FS_WKUP_IRQHandler,Default_Handler .thumb_set USB_FS_WKUP_IRQHandler,Default_Handler
.weak TIM6_IRQHandler .weak TIM6_IRQHandler
.thumb_set TIM6_IRQHandler,Default_Handler .thumb_set TIM6_IRQHandler,Default_Handler
.weak TIM7_IRQHandler .weak TIM7_IRQHandler
.thumb_set TIM7_IRQHandler,Default_Handler .thumb_set TIM7_IRQHandler,Default_Handler
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@ -1,471 +1,471 @@
;/******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** ;/******************** (C) COPYRIGHT 2016 STMicroelectronics ********************
;* File Name : startup_stm32l152xc.s ;* File Name : startup_stm32l152xc.s
;* Author : MCD Application Team ;* Author : MCD Application Team
;* Version : V2.2.0 ;* Version : V2.2.0
;* Date : 01-July-2016 ;* Date : 01-July-2016
;* Description : STM32L152XC Devices vector for EWARM toolchain. ;* Description : STM32L152XC Devices vector for EWARM toolchain.
;* This module performs: ;* This module performs:
;* - Set the initial SP ;* - Set the initial SP
;* - Set the initial PC == __iar_program_start, ;* - Set the initial PC == __iar_program_start,
;* - Set the vector table entries with the exceptions ISR ;* - Set the vector table entries with the exceptions ISR
;* address. ;* address.
;* - Configure the system clock ;* - Configure the system clock
;* - Branches to main in the C library (which eventually ;* - Branches to main in the C library (which eventually
;* calls main()). ;* calls main()).
;* After Reset the Cortex-M3 processor is in Thread mode, ;* After Reset the Cortex-M3 processor is in Thread mode,
;* priority is Privileged, and the Stack is set to Main. ;* priority is Privileged, and the Stack is set to Main.
;******************************************************************************** ;********************************************************************************
;* ;*
;* <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2> ;* <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
;* ;*
;* Redistribution and use in source and binary forms, with or without modification, ;* Redistribution and use in source and binary forms, with or without modification,
;* are permitted provided that the following conditions are met: ;* are permitted provided that the following conditions are met:
;* 1. Redistributions of source code must retain the above copyright notice, ;* 1. Redistributions of source code must retain the above copyright notice,
;* this list of conditions and the following disclaimer. ;* this list of conditions and the following disclaimer.
;* 2. Redistributions in binary form must reproduce the above copyright notice, ;* 2. Redistributions in binary form must reproduce the above copyright notice,
;* this list of conditions and the following disclaimer in the documentation ;* this list of conditions and the following disclaimer in the documentation
;* and/or other materials provided with the distribution. ;* and/or other materials provided with the distribution.
;* 3. Neither the name of STMicroelectronics nor the names of its contributors ;* 3. Neither the name of STMicroelectronics nor the names of its contributors
;* may be used to endorse or promote products derived from this software ;* may be used to endorse or promote products derived from this software
;* without specific prior written permission. ;* without specific prior written permission.
;* ;*
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE ;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE ;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;* ;*
;******************************************************************************* ;*******************************************************************************
; ;
; ;
; The modules in this file are included in the libraries, and may be replaced ; 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 ; by any user-defined modules that define the PUBLIC symbol _program_start or
; a user defined start symbol. ; a user defined start symbol.
; To override the cstartup defined in the library, simply add your modified ; To override the cstartup defined in the library, simply add your modified
; version to the workbench project. ; version to the workbench project.
; ;
; The vector table is normally located at address 0. ; 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. ; 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: ; The name "__vector_table" has special meaning for C-SPY:
; it is where the SP start value is found, and the NVIC vector ; it is where the SP start value is found, and the NVIC vector
; table register (VTOR) is initialized to this address if != 0. ; table register (VTOR) is initialized to this address if != 0.
; ;
; Cortex-M version ; Cortex-M version
; ;
MODULE ?cstartup MODULE ?cstartup
;; Forward declaration of sections. ;; Forward declaration of sections.
SECTION CSTACK:DATA:NOROOT(3) SECTION CSTACK:DATA:NOROOT(3)
SECTION .intvec:CODE:NOROOT(2) SECTION .intvec:CODE:NOROOT(2)
EXTERN __iar_program_start EXTERN __iar_program_start
EXTERN SystemInit EXTERN SystemInit
PUBLIC __vector_table PUBLIC __vector_table
DATA DATA
__vector_table __vector_table
DCD sfe(CSTACK) DCD sfe(CSTACK)
DCD Reset_Handler ; Reset Handler DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved 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 SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler DCD SysTick_Handler ; SysTick Handler
; External Interrupts ; External Interrupts
DCD WWDG_IRQHandler ; Window Watchdog DCD WWDG_IRQHandler ; Window Watchdog
DCD PVD_IRQHandler ; PVD through EXTI Line detect DCD PVD_IRQHandler ; PVD through EXTI Line detect
DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp
DCD RTC_WKUP_IRQHandler ; RTC Wakeup DCD RTC_WKUP_IRQHandler ; RTC Wakeup
DCD FLASH_IRQHandler ; FLASH DCD FLASH_IRQHandler ; FLASH
DCD RCC_IRQHandler ; RCC DCD RCC_IRQHandler ; RCC
DCD EXTI0_IRQHandler ; EXTI Line 0 DCD EXTI0_IRQHandler ; EXTI Line 0
DCD EXTI1_IRQHandler ; EXTI Line 1 DCD EXTI1_IRQHandler ; EXTI Line 1
DCD EXTI2_IRQHandler ; EXTI Line 2 DCD EXTI2_IRQHandler ; EXTI Line 2
DCD EXTI3_IRQHandler ; EXTI Line 3 DCD EXTI3_IRQHandler ; EXTI Line 3
DCD EXTI4_IRQHandler ; EXTI Line 4 DCD EXTI4_IRQHandler ; EXTI Line 4
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
DCD ADC1_IRQHandler ; ADC1 DCD ADC1_IRQHandler ; ADC1
DCD USB_HP_IRQHandler ; USB High Priority DCD USB_HP_IRQHandler ; USB High Priority
DCD USB_LP_IRQHandler ; USB Low Priority DCD USB_LP_IRQHandler ; USB Low Priority
DCD DAC_IRQHandler ; DAC DCD DAC_IRQHandler ; DAC
DCD COMP_IRQHandler ; COMP through EXTI Line DCD COMP_IRQHandler ; COMP through EXTI Line
DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
DCD 0 ; Reserved DCD 0 ; Reserved
DCD TIM9_IRQHandler ; TIM9 DCD TIM9_IRQHandler ; TIM9
DCD TIM10_IRQHandler ; TIM10 DCD TIM10_IRQHandler ; TIM10
DCD TIM11_IRQHandler ; TIM11 DCD TIM11_IRQHandler ; TIM11
DCD TIM2_IRQHandler ; TIM2 DCD TIM2_IRQHandler ; TIM2
DCD TIM3_IRQHandler ; TIM3 DCD TIM3_IRQHandler ; TIM3
DCD TIM4_IRQHandler ; TIM4 DCD TIM4_IRQHandler ; TIM4
DCD I2C1_EV_IRQHandler ; I2C1 Event DCD I2C1_EV_IRQHandler ; I2C1 Event
DCD I2C1_ER_IRQHandler ; I2C1 Error DCD I2C1_ER_IRQHandler ; I2C1 Error
DCD I2C2_EV_IRQHandler ; I2C2 Event DCD I2C2_EV_IRQHandler ; I2C2 Event
DCD I2C2_ER_IRQHandler ; I2C2 Error DCD I2C2_ER_IRQHandler ; I2C2 Error
DCD SPI1_IRQHandler ; SPI1 DCD SPI1_IRQHandler ; SPI1
DCD SPI2_IRQHandler ; SPI2 DCD SPI2_IRQHandler ; SPI2
DCD USART1_IRQHandler ; USART1 DCD USART1_IRQHandler ; USART1
DCD USART2_IRQHandler ; USART2 DCD USART2_IRQHandler ; USART2
DCD USART3_IRQHandler ; USART3 DCD USART3_IRQHandler ; USART3
DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line
DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend
DCD TIM6_IRQHandler ; TIM6 DCD TIM6_IRQHandler ; TIM6
DCD TIM7_IRQHandler ; TIM7 DCD TIM7_IRQHandler ; TIM7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Default interrupt handlers. ;; Default interrupt handlers.
;; ;;
THUMB THUMB
PUBWEAK Reset_Handler PUBWEAK Reset_Handler
SECTION .text:CODE:REORDER:NOROOT(2) SECTION .text:CODE:REORDER:NOROOT(2)
Reset_Handler Reset_Handler
LDR R0, =SystemInit LDR R0, =SystemInit
BLX R0 BLX R0
LDR R0, =__iar_program_start LDR R0, =__iar_program_start
BX R0 BX R0
PUBWEAK NMI_Handler PUBWEAK NMI_Handler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
NMI_Handler NMI_Handler
B NMI_Handler B NMI_Handler
PUBWEAK HardFault_Handler PUBWEAK HardFault_Handler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
HardFault_Handler HardFault_Handler
B HardFault_Handler B HardFault_Handler
PUBWEAK MemManage_Handler PUBWEAK MemManage_Handler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
MemManage_Handler MemManage_Handler
B MemManage_Handler B MemManage_Handler
PUBWEAK BusFault_Handler PUBWEAK BusFault_Handler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
BusFault_Handler BusFault_Handler
B BusFault_Handler B BusFault_Handler
PUBWEAK UsageFault_Handler PUBWEAK UsageFault_Handler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
UsageFault_Handler UsageFault_Handler
B UsageFault_Handler B UsageFault_Handler
PUBWEAK SVC_Handler PUBWEAK SVC_Handler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
SVC_Handler SVC_Handler
B SVC_Handler B SVC_Handler
PUBWEAK DebugMon_Handler PUBWEAK DebugMon_Handler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
DebugMon_Handler DebugMon_Handler
B DebugMon_Handler B DebugMon_Handler
PUBWEAK PendSV_Handler PUBWEAK PendSV_Handler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
PendSV_Handler PendSV_Handler
B PendSV_Handler B PendSV_Handler
PUBWEAK SysTick_Handler PUBWEAK SysTick_Handler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
SysTick_Handler SysTick_Handler
B SysTick_Handler B SysTick_Handler
PUBWEAK WWDG_IRQHandler PUBWEAK WWDG_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
WWDG_IRQHandler WWDG_IRQHandler
B WWDG_IRQHandler B WWDG_IRQHandler
PUBWEAK PVD_IRQHandler PUBWEAK PVD_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
PVD_IRQHandler PVD_IRQHandler
B PVD_IRQHandler B PVD_IRQHandler
PUBWEAK TAMPER_STAMP_IRQHandler PUBWEAK TAMPER_STAMP_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
TAMPER_STAMP_IRQHandler TAMPER_STAMP_IRQHandler
B TAMPER_STAMP_IRQHandler B TAMPER_STAMP_IRQHandler
PUBWEAK RTC_WKUP_IRQHandler PUBWEAK RTC_WKUP_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
RTC_WKUP_IRQHandler RTC_WKUP_IRQHandler
B RTC_WKUP_IRQHandler B RTC_WKUP_IRQHandler
PUBWEAK FLASH_IRQHandler PUBWEAK FLASH_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
FLASH_IRQHandler FLASH_IRQHandler
B FLASH_IRQHandler B FLASH_IRQHandler
PUBWEAK RCC_IRQHandler PUBWEAK RCC_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
RCC_IRQHandler RCC_IRQHandler
B RCC_IRQHandler B RCC_IRQHandler
PUBWEAK EXTI0_IRQHandler PUBWEAK EXTI0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
EXTI0_IRQHandler EXTI0_IRQHandler
B EXTI0_IRQHandler B EXTI0_IRQHandler
PUBWEAK EXTI1_IRQHandler PUBWEAK EXTI1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
EXTI1_IRQHandler EXTI1_IRQHandler
B EXTI1_IRQHandler B EXTI1_IRQHandler
PUBWEAK EXTI2_IRQHandler PUBWEAK EXTI2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
EXTI2_IRQHandler EXTI2_IRQHandler
B EXTI2_IRQHandler B EXTI2_IRQHandler
PUBWEAK EXTI3_IRQHandler PUBWEAK EXTI3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
EXTI3_IRQHandler EXTI3_IRQHandler
B EXTI3_IRQHandler B EXTI3_IRQHandler
PUBWEAK EXTI4_IRQHandler PUBWEAK EXTI4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
EXTI4_IRQHandler EXTI4_IRQHandler
B EXTI4_IRQHandler B EXTI4_IRQHandler
PUBWEAK DMA1_Channel1_IRQHandler PUBWEAK DMA1_Channel1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
DMA1_Channel1_IRQHandler DMA1_Channel1_IRQHandler
B DMA1_Channel1_IRQHandler B DMA1_Channel1_IRQHandler
PUBWEAK DMA1_Channel2_IRQHandler PUBWEAK DMA1_Channel2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
DMA1_Channel2_IRQHandler DMA1_Channel2_IRQHandler
B DMA1_Channel2_IRQHandler B DMA1_Channel2_IRQHandler
PUBWEAK DMA1_Channel3_IRQHandler PUBWEAK DMA1_Channel3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
DMA1_Channel3_IRQHandler DMA1_Channel3_IRQHandler
B DMA1_Channel3_IRQHandler B DMA1_Channel3_IRQHandler
PUBWEAK DMA1_Channel4_IRQHandler PUBWEAK DMA1_Channel4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
DMA1_Channel4_IRQHandler DMA1_Channel4_IRQHandler
B DMA1_Channel4_IRQHandler B DMA1_Channel4_IRQHandler
PUBWEAK DMA1_Channel5_IRQHandler PUBWEAK DMA1_Channel5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
DMA1_Channel5_IRQHandler DMA1_Channel5_IRQHandler
B DMA1_Channel5_IRQHandler B DMA1_Channel5_IRQHandler
PUBWEAK DMA1_Channel6_IRQHandler PUBWEAK DMA1_Channel6_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
DMA1_Channel6_IRQHandler DMA1_Channel6_IRQHandler
B DMA1_Channel6_IRQHandler B DMA1_Channel6_IRQHandler
PUBWEAK DMA1_Channel7_IRQHandler PUBWEAK DMA1_Channel7_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
DMA1_Channel7_IRQHandler DMA1_Channel7_IRQHandler
B DMA1_Channel7_IRQHandler B DMA1_Channel7_IRQHandler
PUBWEAK ADC1_IRQHandler PUBWEAK ADC1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
ADC1_IRQHandler ADC1_IRQHandler
B ADC1_IRQHandler B ADC1_IRQHandler
PUBWEAK USB_HP_IRQHandler PUBWEAK USB_HP_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
USB_HP_IRQHandler USB_HP_IRQHandler
B USB_HP_IRQHandler B USB_HP_IRQHandler
PUBWEAK USB_LP_IRQHandler PUBWEAK USB_LP_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
USB_LP_IRQHandler USB_LP_IRQHandler
B USB_LP_IRQHandler B USB_LP_IRQHandler
PUBWEAK DAC_IRQHandler PUBWEAK DAC_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
DAC_IRQHandler DAC_IRQHandler
B DAC_IRQHandler B DAC_IRQHandler
PUBWEAK COMP_IRQHandler PUBWEAK COMP_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
COMP_IRQHandler COMP_IRQHandler
B COMP_IRQHandler B COMP_IRQHandler
PUBWEAK EXTI9_5_IRQHandler PUBWEAK EXTI9_5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
EXTI9_5_IRQHandler EXTI9_5_IRQHandler
B EXTI9_5_IRQHandler B EXTI9_5_IRQHandler
PUBWEAK TIM9_IRQHandler PUBWEAK TIM9_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
TIM9_IRQHandler TIM9_IRQHandler
B TIM9_IRQHandler B TIM9_IRQHandler
PUBWEAK TIM10_IRQHandler PUBWEAK TIM10_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
TIM10_IRQHandler TIM10_IRQHandler
B TIM10_IRQHandler B TIM10_IRQHandler
PUBWEAK TIM11_IRQHandler PUBWEAK TIM11_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
TIM11_IRQHandler TIM11_IRQHandler
B TIM11_IRQHandler B TIM11_IRQHandler
PUBWEAK TIM2_IRQHandler PUBWEAK TIM2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
TIM2_IRQHandler TIM2_IRQHandler
B TIM2_IRQHandler B TIM2_IRQHandler
PUBWEAK TIM3_IRQHandler PUBWEAK TIM3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
TIM3_IRQHandler TIM3_IRQHandler
B TIM3_IRQHandler B TIM3_IRQHandler
PUBWEAK TIM4_IRQHandler PUBWEAK TIM4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
TIM4_IRQHandler TIM4_IRQHandler
B TIM4_IRQHandler B TIM4_IRQHandler
PUBWEAK I2C1_EV_IRQHandler PUBWEAK I2C1_EV_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
I2C1_EV_IRQHandler I2C1_EV_IRQHandler
B I2C1_EV_IRQHandler B I2C1_EV_IRQHandler
PUBWEAK I2C1_ER_IRQHandler PUBWEAK I2C1_ER_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
I2C1_ER_IRQHandler I2C1_ER_IRQHandler
B I2C1_ER_IRQHandler B I2C1_ER_IRQHandler
PUBWEAK I2C2_EV_IRQHandler PUBWEAK I2C2_EV_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
I2C2_EV_IRQHandler I2C2_EV_IRQHandler
B I2C2_EV_IRQHandler B I2C2_EV_IRQHandler
PUBWEAK I2C2_ER_IRQHandler PUBWEAK I2C2_ER_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
I2C2_ER_IRQHandler I2C2_ER_IRQHandler
B I2C2_ER_IRQHandler B I2C2_ER_IRQHandler
PUBWEAK SPI1_IRQHandler PUBWEAK SPI1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
SPI1_IRQHandler SPI1_IRQHandler
B SPI1_IRQHandler B SPI1_IRQHandler
PUBWEAK SPI2_IRQHandler PUBWEAK SPI2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
SPI2_IRQHandler SPI2_IRQHandler
B SPI2_IRQHandler B SPI2_IRQHandler
PUBWEAK USART1_IRQHandler PUBWEAK USART1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
USART1_IRQHandler USART1_IRQHandler
B USART1_IRQHandler B USART1_IRQHandler
PUBWEAK USART2_IRQHandler PUBWEAK USART2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
USART2_IRQHandler USART2_IRQHandler
B USART2_IRQHandler B USART2_IRQHandler
PUBWEAK USART3_IRQHandler PUBWEAK USART3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
USART3_IRQHandler USART3_IRQHandler
B USART3_IRQHandler B USART3_IRQHandler
PUBWEAK EXTI15_10_IRQHandler PUBWEAK EXTI15_10_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
EXTI15_10_IRQHandler EXTI15_10_IRQHandler
B EXTI15_10_IRQHandler B EXTI15_10_IRQHandler
PUBWEAK RTC_Alarm_IRQHandler PUBWEAK RTC_Alarm_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
RTC_Alarm_IRQHandler RTC_Alarm_IRQHandler
B RTC_Alarm_IRQHandler B RTC_Alarm_IRQHandler
PUBWEAK USB_FS_WKUP_IRQHandler PUBWEAK USB_FS_WKUP_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
USB_FS_WKUP_IRQHandler USB_FS_WKUP_IRQHandler
B USB_FS_WKUP_IRQHandler B USB_FS_WKUP_IRQHandler
PUBWEAK TIM6_IRQHandler PUBWEAK TIM6_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
TIM6_IRQHandler TIM6_IRQHandler
B TIM6_IRQHandler B TIM6_IRQHandler
PUBWEAK TIM7_IRQHandler PUBWEAK TIM7_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1) SECTION .text:CODE:REORDER:NOROOT(1)
TIM7_IRQHandler TIM7_IRQHandler
B TIM7_IRQHandler B TIM7_IRQHandler
END END
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/