]> git.gir.st - tmk_keyboard.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F4/TARGET_STM32F407VG/TOOLCHAIN_ARM_STD/startup_STM32F40x.s
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[tmk_keyboard.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_STM / TARGET_STM32F4 / TARGET_STM32F407VG / TOOLCHAIN_ARM_STD / startup_STM32F40x.s
1 ;/*****************************************************************************
2 ; * @file: startup_STM32F40x.s
3 ; * @purpose: CMSIS Cortex-M4 Core Device Startup File
4 ; * for the ST STM32F40x Device Series
5 ; * @version: V1.20
6 ; * @date: 16. January 2012
7 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
8 ; *
9 ; * Copyright (C) 2012 ARM Limited. All rights reserved.
10 ; * ARM Limited (ARM) is supplying this software for use with Cortex-M4
11 ; * processor based microcontrollers. This file can be freely distributed
12 ; * within development tools that are supporting such ARM based processors.
13 ; *
14 ; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
15 ; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
16 ; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
17 ; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
18 ; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
19 ; *
20 ; *****************************************************************************/
21
22
23
24 __initial_sp EQU 0x20020000 ; Top of RAM from LPC4088
25
26 PRESERVE8
27 THUMB
28
29 ; Vector Table Mapped to Address 0 at Reset
30
31 AREA RESET, DATA, READONLY
32 EXPORT __Vectors
33
34 __Vectors DCD __initial_sp ; Top of Stack
35 DCD Reset_Handler ; Reset Handler
36 DCD NMI_Handler ; NMI Handler
37 DCD HardFault_Handler ; Hard Fault Handler
38 DCD MemManage_Handler ; MPU Fault Handler
39 DCD BusFault_Handler ; Bus Fault Handler
40 DCD UsageFault_Handler ; Usage Fault Handler
41 DCD 0 ; Reserved
42 DCD 0 ; Reserved
43 DCD 0 ; Reserved
44 DCD 0 ; Reserved
45 DCD SVC_Handler ; SVCall Handler
46 DCD DebugMon_Handler ; Debug Monitor Handler
47 DCD 0 ; Reserved
48 DCD PendSV_Handler ; PendSV Handler
49 DCD SysTick_Handler ; SysTick Handler
50
51 DCD WWDG_IRQHandler ; Window WatchDog
52 DCD PVD_IRQHandler ; PVD through EXTI Line detection
53 DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
54 DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
55 DCD FLASH_IRQHandler ; FLASH
56 DCD RCC_IRQHandler ; RCC
57 DCD EXTI0_IRQHandler ; EXTI Line0
58 DCD EXTI1_IRQHandler ; EXTI Line1
59 DCD EXTI2_IRQHandler ; EXTI Line2
60 DCD EXTI3_IRQHandler ; EXTI Line3
61 DCD EXTI4_IRQHandler ; EXTI Line4
62 DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0
63 DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1
64 DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2
65 DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3
66 DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4
67 DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5
68 DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6
69 DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s
70 DCD CAN1_TX_IRQHandler ; CAN1 TX
71 DCD CAN1_RX0_IRQHandler ; CAN1 RX0
72 DCD CAN1_RX1_IRQHandler ; CAN1 RX1
73 DCD CAN1_SCE_IRQHandler ; CAN1 SCE
74 DCD EXTI9_5_IRQHandler ; External Line[9:5]s
75 DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9
76 DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10
77 DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11
78 DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
79 DCD TIM2_IRQHandler ; TIM2
80 DCD TIM3_IRQHandler ; TIM3
81 DCD TIM4_IRQHandler ; TIM4
82 DCD I2C1_EV_IRQHandler ; I2C1 Event
83 DCD I2C1_ER_IRQHandler ; I2C1 Error
84 DCD I2C2_EV_IRQHandler ; I2C2 Event
85 DCD I2C2_ER_IRQHandler ; I2C2 Error
86 DCD SPI1_IRQHandler ; SPI1
87 DCD SPI2_IRQHandler ; SPI2
88 DCD USART1_IRQHandler ; USART1
89 DCD USART2_IRQHandler ; USART2
90 DCD USART3_IRQHandler ; USART3
91 DCD EXTI15_10_IRQHandler ; External Line[15:10]s
92 DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
93 DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line
94 DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12
95 DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13
96 DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14
97 DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare
98 DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7
99 DCD FSMC_IRQHandler ; FSMC
100 DCD SDIO_IRQHandler ; SDIO
101 DCD TIM5_IRQHandler ; TIM5
102 DCD SPI3_IRQHandler ; SPI3
103 DCD UART4_IRQHandler ; UART4
104 DCD UART5_IRQHandler ; UART5
105 DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
106 DCD TIM7_IRQHandler ; TIM7
107 DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0
108 DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1
109 DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2
110 DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3
111 DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4
112 DCD ETH_IRQHandler ; Ethernet
113 DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line
114 DCD CAN2_TX_IRQHandler ; CAN2 TX
115 DCD CAN2_RX0_IRQHandler ; CAN2 RX0
116 DCD CAN2_RX1_IRQHandler ; CAN2 RX1
117 DCD CAN2_SCE_IRQHandler ; CAN2 SCE
118 DCD OTG_FS_IRQHandler ; USB OTG FS
119 DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5
120 DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6
121 DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7
122 DCD USART6_IRQHandler ; USART6
123 DCD I2C3_EV_IRQHandler ; I2C3 event
124 DCD I2C3_ER_IRQHandler ; I2C3 error
125 DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out
126 DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In
127 DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI
128 DCD OTG_HS_IRQHandler ; USB OTG HS
129 DCD DCMI_IRQHandler ; DCMI
130 DCD CRYP_IRQHandler ; CRYP crypto
131 DCD HASH_RNG_IRQHandler ; Hash and Rng
132 DCD FPU_IRQHandler ; FPU
133
134
135 AREA |.text|, CODE, READONLY
136
137
138 ; Reset Handler
139
140 Reset_Handler PROC
141 EXPORT Reset_Handler [WEAK]
142 IMPORT SystemInit
143 IMPORT __main
144 LDR R0, =SystemInit
145 BLX R0
146 LDR R0, =__main
147 BX R0
148 ENDP
149
150
151 ; Dummy Exception Handlers (infinite loops which can be modified)
152
153 NMI_Handler PROC
154 EXPORT NMI_Handler [WEAK]
155 B .
156 ENDP
157 HardFault_Handler\
158 PROC
159 EXPORT HardFault_Handler [WEAK]
160 B .
161 ENDP
162 MemManage_Handler\
163 PROC
164 EXPORT MemManage_Handler [WEAK]
165 B .
166 ENDP
167 BusFault_Handler\
168 PROC
169 EXPORT BusFault_Handler [WEAK]
170 B .
171 ENDP
172 UsageFault_Handler\
173 PROC
174 EXPORT UsageFault_Handler [WEAK]
175 B .
176 ENDP
177 SVC_Handler PROC
178 EXPORT SVC_Handler [WEAK]
179 B .
180 ENDP
181 DebugMon_Handler\
182 PROC
183 EXPORT DebugMon_Handler [WEAK]
184 B .
185 ENDP
186 PendSV_Handler PROC
187 EXPORT PendSV_Handler [WEAK]
188 B .
189 ENDP
190 SysTick_Handler PROC
191 EXPORT SysTick_Handler [WEAK]
192 B .
193 ENDP
194
195 Default_Handler PROC
196
197 EXPORT WWDG_IRQHandler [WEAK]
198 EXPORT PVD_IRQHandler [WEAK]
199 EXPORT TAMP_STAMP_IRQHandler [WEAK]
200 EXPORT RTC_WKUP_IRQHandler [WEAK]
201 EXPORT FLASH_IRQHandler [WEAK]
202 EXPORT RCC_IRQHandler [WEAK]
203 EXPORT EXTI0_IRQHandler [WEAK]
204 EXPORT EXTI1_IRQHandler [WEAK]
205 EXPORT EXTI2_IRQHandler [WEAK]
206 EXPORT EXTI3_IRQHandler [WEAK]
207 EXPORT EXTI4_IRQHandler [WEAK]
208 EXPORT DMA1_Stream0_IRQHandler [WEAK]
209 EXPORT DMA1_Stream1_IRQHandler [WEAK]
210 EXPORT DMA1_Stream2_IRQHandler [WEAK]
211 EXPORT DMA1_Stream3_IRQHandler [WEAK]
212 EXPORT DMA1_Stream4_IRQHandler [WEAK]
213 EXPORT DMA1_Stream5_IRQHandler [WEAK]
214 EXPORT DMA1_Stream6_IRQHandler [WEAK]
215 EXPORT ADC_IRQHandler [WEAK]
216 EXPORT CAN1_TX_IRQHandler [WEAK]
217 EXPORT CAN1_RX0_IRQHandler [WEAK]
218 EXPORT CAN1_RX1_IRQHandler [WEAK]
219 EXPORT CAN1_SCE_IRQHandler [WEAK]
220 EXPORT EXTI9_5_IRQHandler [WEAK]
221 EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK]
222 EXPORT TIM1_UP_TIM10_IRQHandler [WEAK]
223 EXPORT TIM1_TRG_COM_TIM11_IRQHandler [WEAK]
224 EXPORT TIM1_CC_IRQHandler [WEAK]
225 EXPORT TIM2_IRQHandler [WEAK]
226 EXPORT TIM3_IRQHandler [WEAK]
227 EXPORT TIM4_IRQHandler [WEAK]
228 EXPORT I2C1_EV_IRQHandler [WEAK]
229 EXPORT I2C1_ER_IRQHandler [WEAK]
230 EXPORT I2C2_EV_IRQHandler [WEAK]
231 EXPORT I2C2_ER_IRQHandler [WEAK]
232 EXPORT SPI1_IRQHandler [WEAK]
233 EXPORT SPI2_IRQHandler [WEAK]
234 EXPORT USART1_IRQHandler [WEAK]
235 EXPORT USART2_IRQHandler [WEAK]
236 EXPORT USART3_IRQHandler [WEAK]
237 EXPORT EXTI15_10_IRQHandler [WEAK]
238 EXPORT RTC_Alarm_IRQHandler [WEAK]
239 EXPORT OTG_FS_WKUP_IRQHandler [WEAK]
240 EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK]
241 EXPORT TIM8_UP_TIM13_IRQHandler [WEAK]
242 EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK]
243 EXPORT TIM8_CC_IRQHandler [WEAK]
244 EXPORT DMA1_Stream7_IRQHandler [WEAK]
245 EXPORT FSMC_IRQHandler [WEAK]
246 EXPORT SDIO_IRQHandler [WEAK]
247 EXPORT TIM5_IRQHandler [WEAK]
248 EXPORT SPI3_IRQHandler [WEAK]
249 EXPORT UART4_IRQHandler [WEAK]
250 EXPORT UART5_IRQHandler [WEAK]
251 EXPORT TIM6_DAC_IRQHandler [WEAK]
252 EXPORT TIM7_IRQHandler [WEAK]
253 EXPORT DMA2_Stream0_IRQHandler [WEAK]
254 EXPORT DMA2_Stream1_IRQHandler [WEAK]
255 EXPORT DMA2_Stream2_IRQHandler [WEAK]
256 EXPORT DMA2_Stream3_IRQHandler [WEAK]
257 EXPORT DMA2_Stream4_IRQHandler [WEAK]
258 EXPORT ETH_IRQHandler [WEAK]
259 EXPORT ETH_WKUP_IRQHandler [WEAK]
260 EXPORT CAN2_TX_IRQHandler [WEAK]
261 EXPORT CAN2_RX0_IRQHandler [WEAK]
262 EXPORT CAN2_RX1_IRQHandler [WEAK]
263 EXPORT CAN2_SCE_IRQHandler [WEAK]
264 EXPORT OTG_FS_IRQHandler [WEAK]
265 EXPORT DMA2_Stream5_IRQHandler [WEAK]
266 EXPORT DMA2_Stream6_IRQHandler [WEAK]
267 EXPORT DMA2_Stream7_IRQHandler [WEAK]
268 EXPORT USART6_IRQHandler [WEAK]
269 EXPORT I2C3_EV_IRQHandler [WEAK]
270 EXPORT I2C3_ER_IRQHandler [WEAK]
271 EXPORT OTG_HS_EP1_OUT_IRQHandler [WEAK]
272 EXPORT OTG_HS_EP1_IN_IRQHandler [WEAK]
273 EXPORT OTG_HS_WKUP_IRQHandler [WEAK]
274 EXPORT OTG_HS_IRQHandler [WEAK]
275 EXPORT DCMI_IRQHandler [WEAK]
276 EXPORT CRYP_IRQHandler [WEAK]
277 EXPORT HASH_RNG_IRQHandler [WEAK]
278 EXPORT FPU_IRQHandler [WEAK]
279
280 WWDG_IRQHandler
281 PVD_IRQHandler
282 TAMP_STAMP_IRQHandler
283 RTC_WKUP_IRQHandler
284 FLASH_IRQHandler
285 RCC_IRQHandler
286 EXTI0_IRQHandler
287 EXTI1_IRQHandler
288 EXTI2_IRQHandler
289 EXTI3_IRQHandler
290 EXTI4_IRQHandler
291 DMA1_Stream0_IRQHandler
292 DMA1_Stream1_IRQHandler
293 DMA1_Stream2_IRQHandler
294 DMA1_Stream3_IRQHandler
295 DMA1_Stream4_IRQHandler
296 DMA1_Stream5_IRQHandler
297 DMA1_Stream6_IRQHandler
298 ADC_IRQHandler
299 CAN1_TX_IRQHandler
300 CAN1_RX0_IRQHandler
301 CAN1_RX1_IRQHandler
302 CAN1_SCE_IRQHandler
303 EXTI9_5_IRQHandler
304 TIM1_BRK_TIM9_IRQHandler
305 TIM1_UP_TIM10_IRQHandler
306 TIM1_TRG_COM_TIM11_IRQHandler
307 TIM1_CC_IRQHandler
308 TIM2_IRQHandler
309 TIM3_IRQHandler
310 TIM4_IRQHandler
311 I2C1_EV_IRQHandler
312 I2C1_ER_IRQHandler
313 I2C2_EV_IRQHandler
314 I2C2_ER_IRQHandler
315 SPI1_IRQHandler
316 SPI2_IRQHandler
317 USART1_IRQHandler
318 USART2_IRQHandler
319 USART3_IRQHandler
320 EXTI15_10_IRQHandler
321 RTC_Alarm_IRQHandler
322 OTG_FS_WKUP_IRQHandler
323 TIM8_BRK_TIM12_IRQHandler
324 TIM8_UP_TIM13_IRQHandler
325 TIM8_TRG_COM_TIM14_IRQHandler
326 TIM8_CC_IRQHandler
327 DMA1_Stream7_IRQHandler
328 FSMC_IRQHandler
329 SDIO_IRQHandler
330 TIM5_IRQHandler
331 SPI3_IRQHandler
332 UART4_IRQHandler
333 UART5_IRQHandler
334 TIM6_DAC_IRQHandler
335 TIM7_IRQHandler
336 DMA2_Stream0_IRQHandler
337 DMA2_Stream1_IRQHandler
338 DMA2_Stream2_IRQHandler
339 DMA2_Stream3_IRQHandler
340 DMA2_Stream4_IRQHandler
341 ETH_IRQHandler
342 ETH_WKUP_IRQHandler
343 CAN2_TX_IRQHandler
344 CAN2_RX0_IRQHandler
345 CAN2_RX1_IRQHandler
346 CAN2_SCE_IRQHandler
347 OTG_FS_IRQHandler
348 DMA2_Stream5_IRQHandler
349 DMA2_Stream6_IRQHandler
350 DMA2_Stream7_IRQHandler
351 USART6_IRQHandler
352 I2C3_EV_IRQHandler
353 I2C3_ER_IRQHandler
354 OTG_HS_EP1_OUT_IRQHandler
355 OTG_HS_EP1_IN_IRQHandler
356 OTG_HS_WKUP_IRQHandler
357 OTG_HS_IRQHandler
358 DCMI_IRQHandler
359 CRYP_IRQHandler
360 HASH_RNG_IRQHandler
361 FPU_IRQHandler
362
363 B .
364
365 ENDP
366
367
368 ALIGN
369 END
Imprint / Impressum