]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F3/TARGET_NUCLEO_F303RE/TOOLCHAIN_ARM_STD/startup_stm32f303xe.s
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_STM / TARGET_STM32F3 / TARGET_NUCLEO_F303RE / TOOLCHAIN_ARM_STD / startup_stm32f303xe.s
1 ;******************** (C) COPYRIGHT 2014 STMicroelectronics ********************
2 ;* File Name          : startup_stm32f303xe.s
3 ;* Author             : MCD Application Team
4 ;* Version            : V2.1.0
5 ;* Date               : 12-Sept-2014
6 ;* Description        : STM32F303xE devices vector table for MDK-ARM_STD toolchain.
7 ;*                      This module performs:
8 ;*                      - Set the initial SP
9 ;*                      - Set the initial PC == Reset_Handler
10 ;*                      - Set the vector table entries with the exceptions ISR address
11 ;*                      - Branches to __main in the C library (which eventually
12 ;*                        calls main()).
13 ;*                      After Reset the CortexM4 processor is in Thread mode,
14 ;*                      priority is Privileged, and the Stack is set to Main.
15 ;* <<< Use Configuration Wizard in Context Menu >>>
16 ;*******************************************************************************
17 ;
18 ;* Redistribution and use in source and binary forms, with or without modification,
19 ;* are permitted provided that the following conditions are met:
20 ;*   1. Redistributions of source code must retain the above copyright notice,
21 ;*      this list of conditions and the following disclaimer.
22 ;*   2. Redistributions in binary form must reproduce the above copyright notice,
23 ;*      this list of conditions and the following disclaimer in the documentation
24 ;*      and/or other materials provided with the distribution.
25 ;*   3. Neither the name of STMicroelectronics nor the names of its contributors
26 ;*      may be used to endorse or promote products derived from this software
27 ;*      without specific prior written permission.
28 ;*
29 ;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
30 ;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31 ;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
32 ;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
33 ;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34 ;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35 ;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
36 ;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
37 ;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38 ;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 ;
40 ;*******************************************************************************
41
42 __initial_sp    EQU     0x20004000 ; Top of RAM
43
44                 PRESERVE8
45                 THUMB
46
47
48 ; Vector Table Mapped to Address 0 at Reset
49                 AREA    RESET, DATA, READONLY
50                 EXPORT  __Vectors
51                 EXPORT  __Vectors_End
52                 EXPORT  __Vectors_Size
53
54 __Vectors       DCD     __initial_sp               ; Top of Stack
55                 DCD     Reset_Handler              ; Reset Handler
56                 DCD     NMI_Handler                ; NMI Handler
57                 DCD     HardFault_Handler          ; Hard Fault Handler
58                 DCD     MemManage_Handler          ; MPU Fault Handler
59                 DCD     BusFault_Handler           ; Bus Fault Handler
60                 DCD     UsageFault_Handler         ; Usage Fault Handler
61                 DCD     0                          ; Reserved
62                 DCD     0                          ; Reserved
63                 DCD     0                          ; Reserved
64                 DCD     0                          ; Reserved
65                 DCD     SVC_Handler                ; SVCall Handler
66                 DCD     DebugMon_Handler           ; Debug Monitor Handler
67                 DCD     0                          ; Reserved
68                 DCD     PendSV_Handler             ; PendSV Handler
69                 DCD     SysTick_Handler            ; SysTick Handler
70
71                 ; External Interrupts
72                 DCD     WWDG_IRQHandler                   ; Window WatchDog
73                 DCD     PVD_IRQHandler                    ; PVD through EXTI Line detection
74                 DCD     TAMP_STAMP_IRQHandler             ; Tamper and TimeStamps through the EXTI line
75                 DCD     RTC_WKUP_IRQHandler               ; RTC Wakeup through the EXTI line
76                 DCD     FLASH_IRQHandler                  ; FLASH
77                 DCD     RCC_IRQHandler                    ; RCC
78                 DCD     EXTI0_IRQHandler                  ; EXTI Line0
79                 DCD     EXTI1_IRQHandler                  ; EXTI Line1
80                 DCD     EXTI2_TSC_IRQHandler              ; EXTI Line2 and Touch Sense controller
81                 DCD     EXTI3_IRQHandler                  ; EXTI Line3
82                 DCD     EXTI4_IRQHandler                  ; EXTI Line4
83                 DCD     DMA1_Channel1_IRQHandler          ; DMA1 Channel 1
84                 DCD     DMA1_Channel2_IRQHandler          ; DMA1 Channel 2
85                 DCD     DMA1_Channel3_IRQHandler          ; DMA1 Channel 3
86                 DCD     DMA1_Channel4_IRQHandler          ; DMA1 Channel 4
87                 DCD     DMA1_Channel5_IRQHandler          ; DMA1 Channel 5
88                 DCD     DMA1_Channel6_IRQHandler          ; DMA1 Channel 6
89                 DCD     DMA1_Channel7_IRQHandler          ; DMA1 Channel 7
90                 DCD     ADC1_2_IRQHandler                 ; ADC1 and ADC2
91                 DCD     USB_HP_CAN_TX_IRQHandler          ; USB Device High Priority or CAN TX
92                 DCD     USB_LP_CAN_RX0_IRQHandler         ; USB Device Low Priority or CAN RX0
93                 DCD     CAN_RX1_IRQHandler                ; CAN RX1
94                 DCD     CAN_SCE_IRQHandler                ; CAN SCE
95                 DCD     EXTI9_5_IRQHandler                ; External Line[9:5]s
96                 DCD     TIM1_BRK_TIM15_IRQHandler         ; TIM1 Break and TIM15
97                 DCD     TIM1_UP_TIM16_IRQHandler          ; TIM1 Update and TIM16
98                 DCD     TIM1_TRG_COM_TIM17_IRQHandler     ; TIM1 Trigger and Commutation and TIM17
99                 DCD     TIM1_CC_IRQHandler                ; TIM1 Capture Compare
100                 DCD     TIM2_IRQHandler                   ; TIM2
101                 DCD     TIM3_IRQHandler                   ; TIM3
102                 DCD     TIM4_IRQHandler                   ; TIM4
103                 DCD     I2C1_EV_IRQHandler                ; I2C1 Event
104                 DCD     I2C1_ER_IRQHandler                ; I2C1 Error
105                 DCD     I2C2_EV_IRQHandler                ; I2C2 Event
106                 DCD     I2C2_ER_IRQHandler                ; I2C2 Error
107                 DCD     SPI1_IRQHandler                   ; SPI1
108                 DCD     SPI2_IRQHandler                   ; SPI2
109                 DCD     USART1_IRQHandler                 ; USART1
110                 DCD     USART2_IRQHandler                 ; USART2
111                 DCD     USART3_IRQHandler                 ; USART3
112                 DCD     EXTI15_10_IRQHandler              ; External Line[15:10]s
113                 DCD     RTC_Alarm_IRQHandler              ; RTC Alarm (A and B) through EXTI Line
114                 DCD     USBWakeUp_IRQHandler              ; USB Wakeup through EXTI line
115                 DCD     TIM8_BRK_IRQHandler               ; TIM8 Break
116                 DCD     TIM8_UP_IRQHandler                ; TIM8 Update
117                 DCD     TIM8_TRG_COM_IRQHandler           ; TIM8 Trigger and Commutation
118                 DCD     TIM8_CC_IRQHandler                ; TIM8 Capture Compare
119                 DCD     ADC3_IRQHandler                   ; ADC3
120                 DCD     FMC_IRQHandler                    ; FMC
121                 DCD     0                                 ; Reserved
122                 DCD     0                                 ; Reserved
123                 DCD     SPI3_IRQHandler                   ; SPI3
124                 DCD     UART4_IRQHandler                  ; UART4
125                 DCD     UART5_IRQHandler                  ; UART5
126                 DCD     TIM6_DAC_IRQHandler               ; TIM6 and DAC1&2 underrun errors
127                 DCD     TIM7_IRQHandler                   ; TIM7
128                 DCD     DMA2_Channel1_IRQHandler          ; DMA2 Channel 1
129                 DCD     DMA2_Channel2_IRQHandler          ; DMA2 Channel 2
130                 DCD     DMA2_Channel3_IRQHandler          ; DMA2 Channel 3
131                 DCD     DMA2_Channel4_IRQHandler          ; DMA2 Channel 4
132                 DCD     DMA2_Channel5_IRQHandler          ; DMA2 Channel 5
133                 DCD     ADC4_IRQHandler                   ; ADC4
134                 DCD     0                                 ; Reserved
135                 DCD     0                                 ; Reserved
136                 DCD     COMP1_2_3_IRQHandler              ; COMP1, COMP2 and COMP3
137                 DCD     COMP4_5_6_IRQHandler              ; COMP4, COMP5 and COMP6
138                 DCD     COMP7_IRQHandler                  ; COMP7
139                 DCD     0                                 ; Reserved
140                 DCD     0                                 ; Reserved
141                 DCD     0                                 ; Reserved
142                 DCD     0                                 ; Reserved
143                 DCD     0                                 ; Reserved
144                 DCD     I2C3_EV_IRQHandler                ; I2C3 Event
145                 DCD     I2C3_ER_IRQHandler                ; I2C3 Error
146                 DCD     USB_HP_IRQHandler                 ; USB High Priority remap
147                 DCD     USB_LP_IRQHandler                 ; USB Low Priority remap
148                 DCD     USBWakeUp_RMP_IRQHandler          ; USB Wakeup remap through EXTI
149                 DCD     TIM20_BRK_IRQHandler              ; TIM20 Break
150                 DCD     TIM20_UP_IRQHandler               ; TIM20 Update
151                 DCD     TIM20_TRG_COM_IRQHandler          ; TIM20 Trigger and Commutation
152                 DCD     TIM20_CC_IRQHandler               ; TIM20 Capture Compare
153                 DCD     FPU_IRQHandler                    ; FPU
154                 DCD     0                                 ; Reserved
155                 DCD     0                                 ; Reserved
156                 DCD     SPI4_IRQHandler                   ; SPI4
157
158 __Vectors_End
159
160 __Vectors_Size  EQU  __Vectors_End - __Vectors
161
162                 AREA    |.text|, CODE, READONLY
163
164 ; Reset handler
165 Reset_Handler    PROC
166                  EXPORT  Reset_Handler             [WEAK]
167         IMPORT  SystemInit
168         IMPORT  __main
169
170                  LDR     R0, =SystemInit
171                  BLX     R0
172                  LDR     R0, =__main
173                  BX      R0
174                  ENDP
175
176 ; Dummy Exception Handlers (infinite loops which can be modified)
177
178 NMI_Handler     PROC
179                 EXPORT  NMI_Handler                [WEAK]
180                 B       .
181                 ENDP
182 HardFault_Handler\
183                 PROC
184                 EXPORT  HardFault_Handler          [WEAK]
185                 B       .
186                 ENDP
187 MemManage_Handler\
188                 PROC
189                 EXPORT  MemManage_Handler          [WEAK]
190                 B       .
191                 ENDP
192 BusFault_Handler\
193                 PROC
194                 EXPORT  BusFault_Handler           [WEAK]
195                 B       .
196                 ENDP
197 UsageFault_Handler\
198                 PROC
199                 EXPORT  UsageFault_Handler         [WEAK]
200                 B       .
201                 ENDP
202 SVC_Handler     PROC
203                 EXPORT  SVC_Handler                [WEAK]
204                 B       .
205                 ENDP
206 DebugMon_Handler\
207                 PROC
208                 EXPORT  DebugMon_Handler           [WEAK]
209                 B       .
210                 ENDP
211 PendSV_Handler  PROC
212                 EXPORT  PendSV_Handler             [WEAK]
213                 B       .
214                 ENDP
215 SysTick_Handler PROC
216                 EXPORT  SysTick_Handler            [WEAK]
217                 B       .
218                 ENDP
219
220 Default_Handler PROC
221
222                 EXPORT  WWDG_IRQHandler                   [WEAK]
223                 EXPORT  PVD_IRQHandler                    [WEAK]
224                 EXPORT  TAMP_STAMP_IRQHandler             [WEAK]
225                 EXPORT  RTC_WKUP_IRQHandler               [WEAK]
226                 EXPORT  FLASH_IRQHandler                  [WEAK]
227                 EXPORT  RCC_IRQHandler                    [WEAK]
228                 EXPORT  EXTI0_IRQHandler                  [WEAK]
229                 EXPORT  EXTI1_IRQHandler                  [WEAK]
230                 EXPORT  EXTI2_TSC_IRQHandler              [WEAK]
231                 EXPORT  EXTI3_IRQHandler                  [WEAK]
232                 EXPORT  EXTI4_IRQHandler                  [WEAK]
233                 EXPORT  DMA1_Channel1_IRQHandler          [WEAK]
234                 EXPORT  DMA1_Channel2_IRQHandler          [WEAK]
235                 EXPORT  DMA1_Channel3_IRQHandler          [WEAK]
236                 EXPORT  DMA1_Channel4_IRQHandler          [WEAK]
237                 EXPORT  DMA1_Channel5_IRQHandler          [WEAK]
238                 EXPORT  DMA1_Channel6_IRQHandler          [WEAK]
239                 EXPORT  DMA1_Channel7_IRQHandler          [WEAK]
240                 EXPORT  ADC1_2_IRQHandler                 [WEAK]
241                 EXPORT  USB_HP_CAN_TX_IRQHandler          [WEAK]
242                 EXPORT  USB_LP_CAN_RX0_IRQHandler         [WEAK]
243                 EXPORT  CAN_RX1_IRQHandler                [WEAK]
244                 EXPORT  CAN_SCE_IRQHandler                [WEAK]
245                 EXPORT  EXTI9_5_IRQHandler                [WEAK]
246                 EXPORT  TIM1_BRK_TIM15_IRQHandler         [WEAK]
247                 EXPORT  TIM1_UP_TIM16_IRQHandler          [WEAK]
248                 EXPORT  TIM1_TRG_COM_TIM17_IRQHandler     [WEAK]
249                 EXPORT  TIM1_CC_IRQHandler                [WEAK]
250                 EXPORT  TIM2_IRQHandler                   [WEAK]
251                 EXPORT  TIM3_IRQHandler                   [WEAK]
252                 EXPORT  TIM4_IRQHandler                   [WEAK]
253                 EXPORT  I2C1_EV_IRQHandler                [WEAK]
254                 EXPORT  I2C1_ER_IRQHandler                [WEAK]
255                 EXPORT  I2C2_EV_IRQHandler                [WEAK]
256                 EXPORT  I2C2_ER_IRQHandler                [WEAK]
257                 EXPORT  SPI1_IRQHandler                   [WEAK]
258                 EXPORT  SPI2_IRQHandler                   [WEAK]
259                 EXPORT  USART1_IRQHandler                 [WEAK]
260                 EXPORT  USART2_IRQHandler                 [WEAK]
261                 EXPORT  USART3_IRQHandler                 [WEAK]
262                 EXPORT  EXTI15_10_IRQHandler              [WEAK]
263                 EXPORT  RTC_Alarm_IRQHandler              [WEAK]
264                 EXPORT  USBWakeUp_IRQHandler              [WEAK]
265                 EXPORT  TIM8_BRK_IRQHandler               [WEAK]
266                 EXPORT  TIM8_UP_IRQHandler                [WEAK]
267                 EXPORT  TIM8_TRG_COM_IRQHandler           [WEAK]
268                 EXPORT  TIM8_CC_IRQHandler                [WEAK]
269                 EXPORT  ADC3_IRQHandler                   [WEAK]
270                 EXPORT  FMC_IRQHandler                    [WEAK]
271                 EXPORT  SPI3_IRQHandler                   [WEAK]
272                 EXPORT  UART4_IRQHandler                  [WEAK]
273                 EXPORT  UART5_IRQHandler                  [WEAK]
274                 EXPORT  TIM6_DAC_IRQHandler               [WEAK]
275                 EXPORT  TIM7_IRQHandler                   [WEAK]
276                 EXPORT  DMA2_Channel1_IRQHandler          [WEAK]
277                 EXPORT  DMA2_Channel2_IRQHandler          [WEAK]
278                 EXPORT  DMA2_Channel3_IRQHandler          [WEAK]
279                 EXPORT  DMA2_Channel4_IRQHandler          [WEAK]
280                 EXPORT  DMA2_Channel5_IRQHandler          [WEAK]
281                 EXPORT  ADC4_IRQHandler                   [WEAK]
282                 EXPORT  COMP1_2_3_IRQHandler              [WEAK]
283                 EXPORT  COMP4_5_6_IRQHandler              [WEAK]
284                 EXPORT  COMP7_IRQHandler                  [WEAK]
285                 EXPORT  I2C3_EV_IRQHandler                [WEAK]
286                 EXPORT  I2C3_ER_IRQHandler                [WEAK]
287                 EXPORT  USB_HP_IRQHandler                 [WEAK]
288                 EXPORT  USB_LP_IRQHandler                 [WEAK]
289                 EXPORT  USBWakeUp_RMP_IRQHandler          [WEAK]
290                 EXPORT  TIM20_BRK_IRQHandler              [WEAK]
291                 EXPORT  TIM20_UP_IRQHandler               [WEAK]
292                 EXPORT  TIM20_TRG_COM_IRQHandler          [WEAK]
293                 EXPORT  TIM20_CC_IRQHandler               [WEAK]
294                 EXPORT  FPU_IRQHandler                    [WEAK]
295                 EXPORT  SPI4_IRQHandler                   [WEAK]
296
297 WWDG_IRQHandler
298 PVD_IRQHandler
299 TAMP_STAMP_IRQHandler
300 RTC_WKUP_IRQHandler
301 FLASH_IRQHandler
302 RCC_IRQHandler
303 EXTI0_IRQHandler
304 EXTI1_IRQHandler
305 EXTI2_TSC_IRQHandler
306 EXTI3_IRQHandler
307 EXTI4_IRQHandler
308 DMA1_Channel1_IRQHandler
309 DMA1_Channel2_IRQHandler
310 DMA1_Channel3_IRQHandler
311 DMA1_Channel4_IRQHandler
312 DMA1_Channel5_IRQHandler
313 DMA1_Channel6_IRQHandler
314 DMA1_Channel7_IRQHandler
315 ADC1_2_IRQHandler
316 USB_HP_CAN_TX_IRQHandler
317 USB_LP_CAN_RX0_IRQHandler
318 CAN_RX1_IRQHandler
319 CAN_SCE_IRQHandler
320 EXTI9_5_IRQHandler
321 TIM1_BRK_TIM15_IRQHandler
322 TIM1_UP_TIM16_IRQHandler
323 TIM1_TRG_COM_TIM17_IRQHandler
324 TIM1_CC_IRQHandler
325 TIM2_IRQHandler
326 TIM3_IRQHandler
327 TIM4_IRQHandler
328 I2C1_EV_IRQHandler
329 I2C1_ER_IRQHandler
330 I2C2_EV_IRQHandler
331 I2C2_ER_IRQHandler
332 SPI1_IRQHandler
333 SPI2_IRQHandler
334 USART1_IRQHandler
335 USART2_IRQHandler
336 USART3_IRQHandler
337 EXTI15_10_IRQHandler
338 RTC_Alarm_IRQHandler
339 USBWakeUp_IRQHandler
340 TIM8_BRK_IRQHandler
341 TIM8_UP_IRQHandler
342 TIM8_TRG_COM_IRQHandler
343 TIM8_CC_IRQHandler
344 ADC3_IRQHandler
345 FMC_IRQHandler
346 SPI3_IRQHandler
347 UART4_IRQHandler
348 UART5_IRQHandler
349 TIM6_DAC_IRQHandler
350 TIM7_IRQHandler
351 DMA2_Channel1_IRQHandler
352 DMA2_Channel2_IRQHandler
353 DMA2_Channel3_IRQHandler
354 DMA2_Channel4_IRQHandler
355 DMA2_Channel5_IRQHandler
356 ADC4_IRQHandler
357 COMP1_2_3_IRQHandler
358 COMP4_5_6_IRQHandler
359 COMP7_IRQHandler
360 I2C3_EV_IRQHandler
361 I2C3_ER_IRQHandler
362 USB_HP_IRQHandler
363 USB_LP_IRQHandler
364 USBWakeUp_RMP_IRQHandler
365 TIM20_BRK_IRQHandler
366 TIM20_UP_IRQHandler
367 TIM20_TRG_COM_IRQHandler
368 TIM20_CC_IRQHandler
369 FPU_IRQHandler
370 SPI4_IRQHandler
371
372                 B       .
373
374                 ENDP
375
376                 ALIGN
377
378                 END
379
380 ;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****