]> git.donarmstrong.com Git - qmk_firmware.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
[qmk_firmware.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