1 ;
******************** (C
) COPYRIGHT
2017 STMicroelectronics
********************
2 ;
* File Name
: startup_stm32f101xb.s
3 ;
* Author
: MCD Application Team
5 ;
* Date
: 31-March-
2017
6 ;
* Description
: STM32F101xB Access Line Devices vector table for
8 ;
* This module performs
:
9 ;
* - Set the initial SP
10 ;
* - Configure the clock system
11 ;
* - Set the initial PC
== __iar_program_start
,
12 ;
* - Set the vector table entries with the exceptions ISR
14 ;
* After Reset the Cortex-M3 processor is in Thread mode
,
15 ;
* priority is Privileged
, and the Stack is set to Main.
16 ;
********************************************************************************
18 ;
* <h2
><center
>© COPYRIGHT
(c
) 2017 STMicroelectronics
</center
></h2
>
20 ;
* Redistribution
and use in source
and binary forms
, with
or without modification
,
21 ;
* are permitted provided that the following conditions are met
:
22 ;
* 1. Redistributions of source code must retain the above copyright notice,
23 ;
* this list of conditions
and the following disclaimer.
24 ;
* 2. Redistributions in binary form must reproduce the above copyright notice,
25 ;
* this list of conditions
and the following disclaimer in the documentation
26 ;
* and/or other materials provided with the distribution.
27 ;
* 3. Neither the name of STMicroelectronics nor the names of its contributors
28 ;
* may
be used to endorse
or promote products derived from this software
29 ;
* without specific prior written permission.
31 ;
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
AND CONTRIBUTORS
"AS IS"
32 ;
* AND ANY EXPRESS
OR IMPLIED WARRANTIES
, INCLUDING
, BUT
NOT LIMITED TO
, THE
33 ;
* IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR
A PARTICULAR PURPOSE ARE
34 ;
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
OR CONTRIBUTORS
BE LIABLE
35 ;
* FOR ANY DIRECT
, INDIRECT
, INCIDENTAL
, SPECIAL
, EXEMPLARY
, OR CONSEQUENTIAL
36 ;
* DAMAGES
(INCLUDING
, BUT
NOT LIMITED TO
, PROCUREMENT OF SUBSTITUTE GOODS
OR
37 ;
* SERVICES; LOSS OF USE
, DATA
, OR PROFITS;
OR BUSINESS INTERRUPTION
) HOWEVER
38 ;
* CAUSED
AND ON ANY THEORY OF LIABILITY
, WHETHER IN CONTRACT
, STRICT LIABILITY
,
39 ;
* OR TORT
(INCLUDING NEGLIGENCE
OR OTHERWISE
) ARISING IN ANY WAY OUT OF THE USE
40 ;
* OF THIS SOFTWARE
, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42 ;
*******************************************************************************
45 ; The modules in this file are included in the libraries
, and may
be replaced
46 ; by any user-defined modules that define the PUBLIC symbol _program_start
or
47 ;
a user defined start symbol.
48 ; To override the cstartup defined in the library
, simply
add your modified
49 ; version to the workbench project.
51 ; The vector table is normally located at address
0.
52 ; When debugging in RAM
, it can
be located in RAM
, aligned to at least
2^
6.
53 ; The name
"__vector_table" has special meaning for C-SPY
:
54 ; it is where the SP start value is found
, and the NVIC vector
55 ; table register
(VTOR
) is initialized to this address if
!= 0.
62 ;; Forward declaration of sections.
63 SECTION CSTACK
:DATA
:NOROOT
(3)
65 SECTION
.intvec:CODE:NOROOT(2)
67 EXTERN __iar_program_start
74 DCD Reset_Handler ; Reset Handler
75 DCD NMI_Handler ; NMI Handler
76 DCD HardFault_Handler ; Hard Fault Handler
77 DCD MemManage_Handler ; MPU Fault Handler
78 DCD BusFault_Handler ; Bus Fault Handler
79 DCD UsageFault_Handler ; Usage Fault Handler
84 DCD SVC_Handler ; SVCall Handler
85 DCD DebugMon_Handler ; Debug Monitor Handler
87 DCD PendSV_Handler ; PendSV Handler
88 DCD SysTick_Handler ; SysTick Handler
91 DCD WWDG_IRQHandler ; Window Watchdog
92 DCD PVD_IRQHandler ; PVD through EXTI Line detect
93 DCD TAMPER_IRQHandler ; Tamper
94 DCD RTC_IRQHandler ; RTC
95 DCD FLASH_IRQHandler ; Flash
96 DCD RCC_IRQHandler ; RCC
97 DCD EXTI0_IRQHandler ; EXTI Line
0
98 DCD EXTI1_IRQHandler ; EXTI Line
1
99 DCD EXTI2_IRQHandler ; EXTI Line
2
100 DCD EXTI3_IRQHandler ; EXTI Line
3
101 DCD EXTI4_IRQHandler ; EXTI Line
4
102 DCD DMA1_Channel1_IRQHandler ; DMA1 Channel
1
103 DCD DMA1_Channel2_IRQHandler ; DMA1 Channel
2
104 DCD DMA1_Channel3_IRQHandler ; DMA1 Channel
3
105 DCD DMA1_Channel4_IRQHandler ; DMA1 Channel
4
106 DCD DMA1_Channel5_IRQHandler ; DMA1 Channel
5
107 DCD DMA1_Channel6_IRQHandler ; DMA1 Channel
6
108 DCD DMA1_Channel7_IRQHandler ; DMA1 Channel
7
109 DCD ADC1_IRQHandler ; ADC1
114 DCD EXTI9_5_IRQHandler ; EXTI Line
9..5
119 DCD TIM2_IRQHandler ; TIM2
120 DCD TIM3_IRQHandler ; TIM3
121 DCD TIM4_IRQHandler ; TIM4
122 DCD I2C1_EV_IRQHandler ; I2C1 Event
123 DCD I2C1_ER_IRQHandler ; I2C1 Error
124 DCD I2C2_EV_IRQHandler ; I2C2 Event
125 DCD I2C2_ER_IRQHandler ; I2C2 Error
126 DCD SPI1_IRQHandler ; SPI1
127 DCD SPI2_IRQHandler ; SPI2
128 DCD USART1_IRQHandler ; USART1
129 DCD USART2_IRQHandler ; USART2
130 DCD USART3_IRQHandler ; USART3
131 DCD EXTI15_10_IRQHandler ; EXTI Line
15..10
132 DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line
135 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
137 ;; Default interrupt handlers.
141 PUBWEAK Reset_Handler
142 SECTION
.text:CODE:REORDER:NOROOT(2)
146 LDR
R0, =__iar_program_start
150 SECTION
.text:CODE:REORDER:NOROOT(1)
154 PUBWEAK HardFault_Handler
155 SECTION
.text:CODE:REORDER:NOROOT(1)
159 PUBWEAK MemManage_Handler
160 SECTION
.text:CODE:REORDER:NOROOT(1)
164 PUBWEAK BusFault_Handler
165 SECTION
.text:CODE:REORDER:NOROOT(1)
169 PUBWEAK UsageFault_Handler
170 SECTION
.text:CODE:REORDER:NOROOT(1)
175 SECTION
.text:CODE:REORDER:NOROOT(1)
179 PUBWEAK DebugMon_Handler
180 SECTION
.text:CODE:REORDER:NOROOT(1)
184 PUBWEAK PendSV_Handler
185 SECTION
.text:CODE:REORDER:NOROOT(1)
189 PUBWEAK SysTick_Handler
190 SECTION
.text:CODE:REORDER:NOROOT(1)
194 PUBWEAK WWDG_IRQHandler
195 SECTION
.text:CODE:REORDER:NOROOT(1)
199 PUBWEAK PVD_IRQHandler
200 SECTION
.text:CODE:REORDER:NOROOT(1)
204 PUBWEAK TAMPER_IRQHandler
205 SECTION
.text:CODE:REORDER:NOROOT(1)
209 PUBWEAK RTC_IRQHandler
210 SECTION
.text:CODE:REORDER:NOROOT(1)
214 PUBWEAK FLASH_IRQHandler
215 SECTION
.text:CODE:REORDER:NOROOT(1)
219 PUBWEAK RCC_IRQHandler
220 SECTION
.text:CODE:REORDER:NOROOT(1)
224 PUBWEAK EXTI0_IRQHandler
225 SECTION
.text:CODE:REORDER:NOROOT(1)
229 PUBWEAK EXTI1_IRQHandler
230 SECTION
.text:CODE:REORDER:NOROOT(1)
234 PUBWEAK EXTI2_IRQHandler
235 SECTION
.text:CODE:REORDER:NOROOT(1)
239 PUBWEAK EXTI3_IRQHandler
240 SECTION
.text:CODE:REORDER:NOROOT(1)
244 PUBWEAK EXTI4_IRQHandler
245 SECTION
.text:CODE:REORDER:NOROOT(1)
249 PUBWEAK DMA1_Channel1_IRQHandler
250 SECTION
.text:CODE:REORDER:NOROOT(1)
251 DMA1_Channel1_IRQHandler
252 B DMA1_Channel1_IRQHandler
254 PUBWEAK DMA1_Channel2_IRQHandler
255 SECTION
.text:CODE:REORDER:NOROOT(1)
256 DMA1_Channel2_IRQHandler
257 B DMA1_Channel2_IRQHandler
259 PUBWEAK DMA1_Channel3_IRQHandler
260 SECTION
.text:CODE:REORDER:NOROOT(1)
261 DMA1_Channel3_IRQHandler
262 B DMA1_Channel3_IRQHandler
264 PUBWEAK DMA1_Channel4_IRQHandler
265 SECTION
.text:CODE:REORDER:NOROOT(1)
266 DMA1_Channel4_IRQHandler
267 B DMA1_Channel4_IRQHandler
269 PUBWEAK DMA1_Channel5_IRQHandler
270 SECTION
.text:CODE:REORDER:NOROOT(1)
271 DMA1_Channel5_IRQHandler
272 B DMA1_Channel5_IRQHandler
274 PUBWEAK DMA1_Channel6_IRQHandler
275 SECTION
.text:CODE:REORDER:NOROOT(1)
276 DMA1_Channel6_IRQHandler
277 B DMA1_Channel6_IRQHandler
279 PUBWEAK DMA1_Channel7_IRQHandler
280 SECTION
.text:CODE:REORDER:NOROOT(1)
281 DMA1_Channel7_IRQHandler
282 B DMA1_Channel7_IRQHandler
284 PUBWEAK ADC1_IRQHandler
285 SECTION
.text:CODE:REORDER:NOROOT(1)
289 PUBWEAK EXTI9_5_IRQHandler
290 SECTION
.text:CODE:REORDER:NOROOT(1)
294 PUBWEAK TIM2_IRQHandler
295 SECTION
.text:CODE:REORDER:NOROOT(1)
299 PUBWEAK TIM3_IRQHandler
300 SECTION
.text:CODE:REORDER:NOROOT(1)
304 PUBWEAK TIM4_IRQHandler
305 SECTION
.text:CODE:REORDER:NOROOT(1)
309 PUBWEAK I2C1_EV_IRQHandler
310 SECTION
.text:CODE:REORDER:NOROOT(1)
314 PUBWEAK I2C1_ER_IRQHandler
315 SECTION
.text:CODE:REORDER:NOROOT(1)
319 PUBWEAK I2C2_EV_IRQHandler
320 SECTION
.text:CODE:REORDER:NOROOT(1)
324 PUBWEAK I2C2_ER_IRQHandler
325 SECTION
.text:CODE:REORDER:NOROOT(1)
329 PUBWEAK SPI1_IRQHandler
330 SECTION
.text:CODE:REORDER:NOROOT(1)
334 PUBWEAK SPI2_IRQHandler
335 SECTION
.text:CODE:REORDER:NOROOT(1)
339 PUBWEAK USART1_IRQHandler
340 SECTION
.text:CODE:REORDER:NOROOT(1)
344 PUBWEAK USART2_IRQHandler
345 SECTION
.text:CODE:REORDER:NOROOT(1)
349 PUBWEAK USART3_IRQHandler
350 SECTION
.text:CODE:REORDER:NOROOT(1)
354 PUBWEAK EXTI15_10_IRQHandler
355 SECTION
.text:CODE:REORDER:NOROOT(1)
357 B EXTI15_10_IRQHandler
359 PUBWEAK RTC_Alarm_IRQHandler
360 SECTION
.text:CODE:REORDER:NOROOT(1)
362 B RTC_Alarm_IRQHandler
365 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/