1
+ ;********************* (C) COPYRIGHT 2017 STMicroelectronics ********************
2
+ ;* File Name : startup_stm32l151xba.s
3
+ ;* Author : MCD Application Team
4
+ ;* Description : STM32L151XBA Devices vector for MDK-ARM toolchain.
5
+ ;* This module performs:
6
+ ;* - Set the initial SP
7
+ ;* - Set the initial PC == Reset_Handler
8
+ ;* - Set the vector table entries with the exceptions ISR
9
+ ;* address.
10
+ ;* - Configure the system clock
11
+ ;* - Branches to __main in the C library (which eventually
12
+ ;* calls main()).
13
+ ;* After Reset the Cortex-M3 processor is in Thread mode,
14
+ ;* priority is Privileged, and the Stack is set to Main.
15
+ ;********************************************************************************
16
+ ;*
17
+ ;* Copyright (c) 2017 STMicroelectronics. All rights reserved.
18
+ ;*
19
+ ;* This software component is licensed by ST under BSD 3-Clause license,
20
+ ;* the "License"; You may not use this file except in compliance with the
21
+ ;* License. You may obtain a copy of the License at:
22
+ ;* opensource.org/licenses/BSD-3-Clause
23
+ ;*
24
+ ;*******************************************************************************
25
+ ;* <<< Use Configuration Wizard in Context Menu >>>
26
+ ;
27
+ PRESERVE8
28
+ THUMB
29
+
30
+
31
+ ; Vector Table Mapped to Address 0 at Reset
32
+ AREA RESET , DATA , READONLY
33
+ EXPORT __Vectors
34
+ EXPORT __Vectors_End
35
+ EXPORT __Vectors_Size
36
+
37
+ IMPORT |Image $$ ARM_LIB_STACK $$ ZI $$ Limit|
38
+ __Vectors DCD |Image $$ ARM_LIB_STACK $$ ZI $$ Limit| ; Top of Stack
39
+ DCD Reset_Handler ; Reset Handler
40
+ DCD NMI_Handler ; NMI Handler
41
+ DCD HardFault_Handler ; Hard Fault Handler
42
+ DCD MemManage_Handler ; MPU Fault Handler
43
+ DCD BusFault_Handler ; Bus Fault Handler
44
+ DCD UsageFault_Handler ; Usage Fault Handler
45
+ DCD 0 ; Reserved
46
+ DCD 0 ; Reserved
47
+ DCD 0 ; Reserved
48
+ DCD 0 ; Reserved
49
+ DCD SVC_Handler ; SVCall Handler
50
+ DCD DebugMon_Handler ; Debug Monitor Handler
51
+ DCD 0 ; Reserved
52
+ DCD PendSV_Handler ; PendSV Handler
53
+ DCD SysTick_Handler ; SysTick Handler
54
+
55
+ ; External Interrupts
56
+ DCD WWDG_IRQHandler ; Window Watchdog
57
+ DCD PVD_IRQHandler ; PVD through EXTI Line detect
58
+ DCD TAMPER_STAMP_IRQHandler ; Tamper and Time Stamp
59
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup
60
+ DCD FLASH_IRQHandler ; FLASH
61
+ DCD RCC_IRQHandler ; RCC
62
+ DCD EXTI0_IRQHandler ; EXTI Line 0
63
+ DCD EXTI1_IRQHandler ; EXTI Line 1
64
+ DCD EXTI2_IRQHandler ; EXTI Line 2
65
+ DCD EXTI3_IRQHandler ; EXTI Line 3
66
+ DCD EXTI4_IRQHandler ; EXTI Line 4
67
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
68
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
69
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
70
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
71
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
72
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
73
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
74
+ DCD ADC1_IRQHandler ; ADC1
75
+ DCD USB_HP_IRQHandler ; USB High Priority
76
+ DCD USB_LP_IRQHandler ; USB Low Priority
77
+ DCD DAC_IRQHandler ; DAC
78
+ DCD COMP_IRQHandler ; COMP through EXTI Line
79
+ DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
80
+ DCD 0 ; Reserved
81
+ DCD TIM9_IRQHandler ; TIM9
82
+ DCD TIM10_IRQHandler ; TIM10
83
+ DCD TIM11_IRQHandler ; TIM11
84
+ DCD TIM2_IRQHandler ; TIM2
85
+ DCD TIM3_IRQHandler ; TIM3
86
+ DCD TIM4_IRQHandler ; TIM4
87
+ DCD I2C1_EV_IRQHandler ; I2C1 Event
88
+ DCD I2C1_ER_IRQHandler ; I2C1 Error
89
+ DCD I2C2_EV_IRQHandler ; I2C2 Event
90
+ DCD I2C2_ER_IRQHandler ; I2C2 Error
91
+ DCD SPI1_IRQHandler ; SPI1
92
+ DCD SPI2_IRQHandler ; SPI2
93
+ DCD USART1_IRQHandler ; USART1
94
+ DCD USART2_IRQHandler ; USART2
95
+ DCD USART3_IRQHandler ; USART3
96
+ DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
97
+ DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line
98
+ DCD USB_FS_WKUP_IRQHandler ; USB FS Wakeup from suspend
99
+ DCD TIM6_IRQHandler ; TIM6
100
+ DCD TIM7_IRQHandler ; TIM7
101
+
102
+ __Vectors_End
103
+
104
+ __Vectors_Size EQU __Vectors_End - __Vectors
105
+
106
+ AREA |.text| , CODE , READONLY
107
+
108
+ ; Reset handler routine
109
+ Reset_Handler PROC
110
+ EXPORT Reset_Handler [ WEAK ]
111
+ IMPORT __main
112
+ IMPORT SystemInit
113
+ LDR R0 , =SystemInit
114
+ BLX R0
115
+ LDR R0 , =__main
116
+ BX R0
117
+ ENDP
118
+
119
+ ; Dummy Exception Handlers (infinite loops which can be modified)
120
+
121
+ NMI_Handler PROC
122
+ EXPORT NMI_Handler [ WEAK ]
123
+ B .
124
+ ENDP
125
+ HardFault_Handler\
126
+ PROC
127
+ EXPORT HardFault_Handler [ WEAK ]
128
+ B .
129
+ ENDP
130
+ MemManage_Handler\
131
+ PROC
132
+ EXPORT MemManage_Handler [ WEAK ]
133
+ B .
134
+ ENDP
135
+ BusFault_Handler\
136
+ PROC
137
+ EXPORT BusFault_Handler [ WEAK ]
138
+ B .
139
+ ENDP
140
+ UsageFault_Handler\
141
+ PROC
142
+ EXPORT UsageFault_Handler [ WEAK ]
143
+ B .
144
+ ENDP
145
+ SVC_Handler PROC
146
+ EXPORT SVC_Handler [ WEAK ]
147
+ B .
148
+ ENDP
149
+ DebugMon_Handler\
150
+ PROC
151
+ EXPORT DebugMon_Handler [ WEAK ]
152
+ B .
153
+ ENDP
154
+ PendSV_Handler PROC
155
+ EXPORT PendSV_Handler [ WEAK ]
156
+ B .
157
+ ENDP
158
+ SysTick_Handler PROC
159
+ EXPORT SysTick_Handler [ WEAK ]
160
+ B .
161
+ ENDP
162
+
163
+ Default_Handler PROC
164
+
165
+ EXPORT WWDG_IRQHandler [ WEAK ]
166
+ EXPORT PVD_IRQHandler [ WEAK ]
167
+ EXPORT TAMPER_STAMP_IRQHandler [ WEAK ]
168
+ EXPORT RTC_WKUP_IRQHandler [ WEAK ]
169
+ EXPORT FLASH_IRQHandler [ WEAK ]
170
+ EXPORT RCC_IRQHandler [ WEAK ]
171
+ EXPORT EXTI0_IRQHandler [ WEAK ]
172
+ EXPORT EXTI1_IRQHandler [ WEAK ]
173
+ EXPORT EXTI2_IRQHandler [ WEAK ]
174
+ EXPORT EXTI3_IRQHandler [ WEAK ]
175
+ EXPORT EXTI4_IRQHandler [ WEAK ]
176
+ EXPORT DMA1_Channel1_IRQHandler [ WEAK ]
177
+ EXPORT DMA1_Channel2_IRQHandler [ WEAK ]
178
+ EXPORT DMA1_Channel3_IRQHandler [ WEAK ]
179
+ EXPORT DMA1_Channel4_IRQHandler [ WEAK ]
180
+ EXPORT DMA1_Channel5_IRQHandler [ WEAK ]
181
+ EXPORT DMA1_Channel6_IRQHandler [ WEAK ]
182
+ EXPORT DMA1_Channel7_IRQHandler [ WEAK ]
183
+ EXPORT ADC1_IRQHandler [ WEAK ]
184
+ EXPORT USB_HP_IRQHandler [ WEAK ]
185
+ EXPORT USB_LP_IRQHandler [ WEAK ]
186
+ EXPORT DAC_IRQHandler [ WEAK ]
187
+ EXPORT COMP_IRQHandler [ WEAK ]
188
+ EXPORT EXTI9_5_IRQHandler [ WEAK ]
189
+ EXPORT TIM9_IRQHandler [ WEAK ]
190
+ EXPORT TIM10_IRQHandler [ WEAK ]
191
+ EXPORT TIM11_IRQHandler [ WEAK ]
192
+ EXPORT TIM2_IRQHandler [ WEAK ]
193
+ EXPORT TIM3_IRQHandler [ WEAK ]
194
+ EXPORT TIM4_IRQHandler [ WEAK ]
195
+ EXPORT I2C1_EV_IRQHandler [ WEAK ]
196
+ EXPORT I2C1_ER_IRQHandler [ WEAK ]
197
+ EXPORT I2C2_EV_IRQHandler [ WEAK ]
198
+ EXPORT I2C2_ER_IRQHandler [ WEAK ]
199
+ EXPORT SPI1_IRQHandler [ WEAK ]
200
+ EXPORT SPI2_IRQHandler [ WEAK ]
201
+ EXPORT USART1_IRQHandler [ WEAK ]
202
+ EXPORT USART2_IRQHandler [ WEAK ]
203
+ EXPORT USART3_IRQHandler [ WEAK ]
204
+ EXPORT EXTI15_10_IRQHandler [ WEAK ]
205
+ EXPORT RTC_Alarm_IRQHandler [ WEAK ]
206
+ EXPORT USB_FS_WKUP_IRQHandler [ WEAK ]
207
+ EXPORT TIM6_IRQHandler [ WEAK ]
208
+ EXPORT TIM7_IRQHandler [ WEAK ]
209
+
210
+ WWDG_IRQHandler
211
+ PVD_IRQHandler
212
+ TAMPER_STAMP_IRQHandler
213
+ RTC_WKUP_IRQHandler
214
+ FLASH_IRQHandler
215
+ RCC_IRQHandler
216
+ EXTI0_IRQHandler
217
+ EXTI1_IRQHandler
218
+ EXTI2_IRQHandler
219
+ EXTI3_IRQHandler
220
+ EXTI4_IRQHandler
221
+ DMA1_Channel1_IRQHandler
222
+ DMA1_Channel2_IRQHandler
223
+ DMA1_Channel3_IRQHandler
224
+ DMA1_Channel4_IRQHandler
225
+ DMA1_Channel5_IRQHandler
226
+ DMA1_Channel6_IRQHandler
227
+ DMA1_Channel7_IRQHandler
228
+ ADC1_IRQHandler
229
+ USB_HP_IRQHandler
230
+ USB_LP_IRQHandler
231
+ DAC_IRQHandler
232
+ COMP_IRQHandler
233
+ EXTI9_5_IRQHandler
234
+ TIM9_IRQHandler
235
+ TIM10_IRQHandler
236
+ TIM11_IRQHandler
237
+ TIM2_IRQHandler
238
+ TIM3_IRQHandler
239
+ TIM4_IRQHandler
240
+ I2C1_EV_IRQHandler
241
+ I2C1_ER_IRQHandler
242
+ I2C2_EV_IRQHandler
243
+ I2C2_ER_IRQHandler
244
+ SPI1_IRQHandler
245
+ SPI2_IRQHandler
246
+ USART1_IRQHandler
247
+ USART2_IRQHandler
248
+ USART3_IRQHandler
249
+ EXTI15_10_IRQHandler
250
+ RTC_Alarm_IRQHandler
251
+ USB_FS_WKUP_IRQHandler
252
+ TIM6_IRQHandler
253
+ TIM7_IRQHandler
254
+
255
+ B .
256
+
257
+ ENDP
258
+
259
+ ALIGN
260
+
261
+ ;*******************************************************************************
262
+ ; User Stack and Heap initialization
263
+ ;*******************************************************************************
264
+
265
+ END
266
+
267
+ ;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
0 commit comments