]> git.gir.st - tmk_keyboard.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F4/TARGET_MTS_DRAGONFLY_F411RE/TOOLCHAIN_IAR/startup_stm32f411xe.s
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[tmk_keyboard.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_STM / TARGET_STM32F4 / TARGET_MTS_DRAGONFLY_F411RE / TOOLCHAIN_IAR / startup_stm32f411xe.s
1 ;/******************** (C) COPYRIGHT 2014 STMicroelectronics ********************
2 ;* File Name : startup_stm32f411xe.s
3 ;* Author : MCD Application Team
4 ;* Version : V2.1.0
5 ;* Date : 19-June-2014
6 ;* Description : STM32F411xExx devices vector table for EWARM toolchain.
7 ;* This module performs:
8 ;* - Set the initial SP
9 ;* - Set the initial PC == _iar_program_start,
10 ;* - Set the vector table entries with the exceptions ISR
11 ;* address.
12 ;* - Configure the system clock
13 ;* - Branches to main in the C library (which eventually
14 ;* calls main()).
15 ;* After Reset the Cortex-M4 processor is in Thread mode,
16 ;* priority is Privileged, and the Stack is set to Main.
17 ;********************************************************************************
18 ;*
19 ;* Redistribution and use in source and binary forms, with or without modification,
20 ;* are permitted provided that the following conditions are met:
21 ;* 1. Redistributions of source code must retain the above copyright notice,
22 ;* this list of conditions and the following disclaimer.
23 ;* 2. Redistributions in binary form must reproduce the above copyright notice,
24 ;* this list of conditions and the following disclaimer in the documentation
25 ;* and/or other materials provided with the distribution.
26 ;* 3. Neither the name of STMicroelectronics nor the names of its contributors
27 ;* may be used to endorse or promote products derived from this software
28 ;* without specific prior written permission.
29 ;*
30 ;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
31 ;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
32 ;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
33 ;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
34 ;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
35 ;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
36 ;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
37 ;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
38 ;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
39 ;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40 ;*
41 ;*******************************************************************************
42 ;
43 ;
44 ; The modules in this file are included in the libraries, and may be replaced
45 ; by any user-defined modules that define the PUBLIC symbol _program_start or
46 ; a user defined start symbol.
47 ; To override the cstartup defined in the library, simply add your modified
48 ; version to the workbench project.
49 ;
50 ; The vector table is normally located at address 0.
51 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
52 ; The name "__vector_table" has special meaning for C-SPY:
53 ; it is where the SP start value is found, and the NVIC vector
54 ; table register (VTOR) is initialized to this address if != 0.
55 ;
56 ; Cortex-M version
57 ;
58
59 MODULE ?cstartup
60
61 ;; Forward declaration of sections.
62 SECTION CSTACK:DATA:NOROOT(3)
63
64 SECTION .intvec:CODE:NOROOT(2)
65
66 EXTERN __iar_program_start
67 EXTERN SystemInit
68 PUBLIC __vector_table
69
70 DATA
71 __vector_table
72 DCD sfe(CSTACK)
73 DCD Reset_Handler ; Reset Handler
74
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
80 DCD 0 ; Reserved
81 DCD 0 ; Reserved
82 DCD 0 ; Reserved
83 DCD 0 ; Reserved
84 DCD SVC_Handler ; SVCall Handler
85 DCD DebugMon_Handler ; Debug Monitor Handler
86 DCD 0 ; Reserved
87 DCD PendSV_Handler ; PendSV Handler
88 DCD SysTick_Handler ; SysTick Handler
89
90 ; External Interrupts
91 DCD WWDG_IRQHandler ; Window WatchDog
92 DCD PVD_IRQHandler ; PVD through EXTI Line detection
93 DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
94 DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
95 DCD FLASH_IRQHandler ; FLASH
96 DCD RCC_IRQHandler ; RCC
97 DCD EXTI0_IRQHandler ; EXTI Line0
98 DCD EXTI1_IRQHandler ; EXTI Line1
99 DCD EXTI2_IRQHandler ; EXTI Line2
100 DCD EXTI3_IRQHandler ; EXTI Line3
101 DCD EXTI4_IRQHandler ; EXTI Line4
102 DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0
103 DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1
104 DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2
105 DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3
106 DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4
107 DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5
108 DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6
109 DCD ADC_IRQHandler ; ADC1
110 DCD 0 ; Reserved
111 DCD 0 ; Reserved
112 DCD 0 ; Reserved
113 DCD 0 ; Reserved
114 DCD EXTI9_5_IRQHandler ; External Line[9:5]s
115 DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9
116 DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10
117 DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11
118 DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
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 0 ; Reserved
131 DCD EXTI15_10_IRQHandler ; External Line[15:10]s
132 DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
133 DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line
134 DCD 0 ; Reserved
135 DCD 0 ; Reserved
136 DCD 0 ; Reserved
137 DCD 0 ; Reserved
138 DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7
139 DCD 0 ; Reserved
140 DCD SDIO_IRQHandler ; SDIO
141 DCD TIM5_IRQHandler ; TIM5
142 DCD SPI3_IRQHandler ; SPI3
143 DCD 0 ; Reserved
144 DCD 0 ; Reserved
145 DCD 0 ; Reserved
146 DCD 0 ; Reserved
147 DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0
148 DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1
149 DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2
150 DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3
151 DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4
152 DCD 0 ; Reserved
153 DCD 0 ; Reserved
154 DCD 0 ; Reserved
155 DCD 0 ; Reserved
156 DCD 0 ; Reserved
157 DCD 0 ; Reserved
158 DCD OTG_FS_IRQHandler ; USB OTG FS
159 DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5
160 DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6
161 DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7
162 DCD USART6_IRQHandler ; USART6
163 DCD I2C3_EV_IRQHandler ; I2C3 event
164 DCD I2C3_ER_IRQHandler ; I2C3 error
165 DCD 0 ; Reserved
166 DCD 0 ; Reserved
167 DCD 0 ; Reserved
168 DCD 0 ; Reserved
169 DCD 0 ; Reserved
170 DCD 0 ; Reserved
171 DCD 0 ; Reserved
172 DCD FPU_IRQHandler ; FPU
173 DCD 0 ; Reserved
174 DCD 0 ; Reserved
175 DCD SPI4_IRQHandler ; SPI4
176 DCD SPI5_IRQHandler ; SPI5
177
178 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
179 ;;
180 ;; Default interrupt handlers.
181 ;;
182 THUMB
183 PUBWEAK Reset_Handler
184 SECTION .text:CODE:REORDER:NOROOT(2)
185 Reset_Handler
186
187 LDR R0, =SystemInit
188 BLX R0
189 LDR R0, =__iar_program_start
190 BX R0
191
192 PUBWEAK NMI_Handler
193 SECTION .text:CODE:REORDER:NOROOT(1)
194 NMI_Handler
195 B NMI_Handler
196
197 PUBWEAK HardFault_Handler
198 SECTION .text:CODE:REORDER:NOROOT(1)
199 HardFault_Handler
200 B HardFault_Handler
201
202 PUBWEAK MemManage_Handler
203 SECTION .text:CODE:REORDER:NOROOT(1)
204 MemManage_Handler
205 B MemManage_Handler
206
207 PUBWEAK BusFault_Handler
208 SECTION .text:CODE:REORDER:NOROOT(1)
209 BusFault_Handler
210 B BusFault_Handler
211
212 PUBWEAK UsageFault_Handler
213 SECTION .text:CODE:REORDER:NOROOT(1)
214 UsageFault_Handler
215 B UsageFault_Handler
216
217 PUBWEAK SVC_Handler
218 SECTION .text:CODE:REORDER:NOROOT(1)
219 SVC_Handler
220 B SVC_Handler
221
222 PUBWEAK DebugMon_Handler
223 SECTION .text:CODE:REORDER:NOROOT(1)
224 DebugMon_Handler
225 B DebugMon_Handler
226
227 PUBWEAK PendSV_Handler
228 SECTION .text:CODE:REORDER:NOROOT(1)
229 PendSV_Handler
230 B PendSV_Handler
231
232 PUBWEAK SysTick_Handler
233 SECTION .text:CODE:REORDER:NOROOT(1)
234 SysTick_Handler
235 B SysTick_Handler
236
237 PUBWEAK WWDG_IRQHandler
238 SECTION .text:CODE:REORDER:NOROOT(1)
239 WWDG_IRQHandler
240 B WWDG_IRQHandler
241
242 PUBWEAK PVD_IRQHandler
243 SECTION .text:CODE:REORDER:NOROOT(1)
244 PVD_IRQHandler
245 B PVD_IRQHandler
246
247 PUBWEAK TAMP_STAMP_IRQHandler
248 SECTION .text:CODE:REORDER:NOROOT(1)
249 TAMP_STAMP_IRQHandler
250 B TAMP_STAMP_IRQHandler
251
252 PUBWEAK RTC_WKUP_IRQHandler
253 SECTION .text:CODE:REORDER:NOROOT(1)
254 RTC_WKUP_IRQHandler
255 B RTC_WKUP_IRQHandler
256
257 PUBWEAK FLASH_IRQHandler
258 SECTION .text:CODE:REORDER:NOROOT(1)
259 FLASH_IRQHandler
260 B FLASH_IRQHandler
261
262 PUBWEAK RCC_IRQHandler
263 SECTION .text:CODE:REORDER:NOROOT(1)
264 RCC_IRQHandler
265 B RCC_IRQHandler
266
267 PUBWEAK EXTI0_IRQHandler
268 SECTION .text:CODE:REORDER:NOROOT(1)
269 EXTI0_IRQHandler
270 B EXTI0_IRQHandler
271
272 PUBWEAK EXTI1_IRQHandler
273 SECTION .text:CODE:REORDER:NOROOT(1)
274 EXTI1_IRQHandler
275 B EXTI1_IRQHandler
276
277 PUBWEAK EXTI2_IRQHandler
278 SECTION .text:CODE:REORDER:NOROOT(1)
279 EXTI2_IRQHandler
280 B EXTI2_IRQHandler
281
282 PUBWEAK EXTI3_IRQHandler
283 SECTION .text:CODE:REORDER:NOROOT(1)
284 EXTI3_IRQHandler
285 B EXTI3_IRQHandler
286
287 PUBWEAK EXTI4_IRQHandler
288 SECTION .text:CODE:REORDER:NOROOT(1)
289 EXTI4_IRQHandler
290 B EXTI4_IRQHandler
291
292 PUBWEAK DMA1_Stream0_IRQHandler
293 SECTION .text:CODE:REORDER:NOROOT(1)
294 DMA1_Stream0_IRQHandler
295 B DMA1_Stream0_IRQHandler
296
297 PUBWEAK DMA1_Stream1_IRQHandler
298 SECTION .text:CODE:REORDER:NOROOT(1)
299 DMA1_Stream1_IRQHandler
300 B DMA1_Stream1_IRQHandler
301
302 PUBWEAK DMA1_Stream2_IRQHandler
303 SECTION .text:CODE:REORDER:NOROOT(1)
304 DMA1_Stream2_IRQHandler
305 B DMA1_Stream2_IRQHandler
306
307 PUBWEAK DMA1_Stream3_IRQHandler
308 SECTION .text:CODE:REORDER:NOROOT(1)
309 DMA1_Stream3_IRQHandler
310 B DMA1_Stream3_IRQHandler
311
312 PUBWEAK DMA1_Stream4_IRQHandler
313 SECTION .text:CODE:REORDER:NOROOT(1)
314 DMA1_Stream4_IRQHandler
315 B DMA1_Stream4_IRQHandler
316
317 PUBWEAK DMA1_Stream5_IRQHandler
318 SECTION .text:CODE:REORDER:NOROOT(1)
319 DMA1_Stream5_IRQHandler
320 B DMA1_Stream5_IRQHandler
321
322 PUBWEAK DMA1_Stream6_IRQHandler
323 SECTION .text:CODE:REORDER:NOROOT(1)
324 DMA1_Stream6_IRQHandler
325 B DMA1_Stream6_IRQHandler
326
327 PUBWEAK ADC_IRQHandler
328 SECTION .text:CODE:REORDER:NOROOT(1)
329 ADC_IRQHandler
330 B ADC_IRQHandler
331
332 PUBWEAK EXTI9_5_IRQHandler
333 SECTION .text:CODE:REORDER:NOROOT(1)
334 EXTI9_5_IRQHandler
335 B EXTI9_5_IRQHandler
336
337 PUBWEAK TIM1_BRK_TIM9_IRQHandler
338 SECTION .text:CODE:REORDER:NOROOT(1)
339 TIM1_BRK_TIM9_IRQHandler
340 B TIM1_BRK_TIM9_IRQHandler
341
342 PUBWEAK TIM1_UP_TIM10_IRQHandler
343 SECTION .text:CODE:REORDER:NOROOT(1)
344 TIM1_UP_TIM10_IRQHandler
345 B TIM1_UP_TIM10_IRQHandler
346
347 PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler
348 SECTION .text:CODE:REORDER:NOROOT(1)
349 TIM1_TRG_COM_TIM11_IRQHandler
350 B TIM1_TRG_COM_TIM11_IRQHandler
351
352 PUBWEAK TIM1_CC_IRQHandler
353 SECTION .text:CODE:REORDER:NOROOT(1)
354 TIM1_CC_IRQHandler
355 B TIM1_CC_IRQHandler
356
357 PUBWEAK TIM2_IRQHandler
358 SECTION .text:CODE:REORDER:NOROOT(1)
359 TIM2_IRQHandler
360 B TIM2_IRQHandler
361
362 PUBWEAK TIM3_IRQHandler
363 SECTION .text:CODE:REORDER:NOROOT(1)
364 TIM3_IRQHandler
365 B TIM3_IRQHandler
366
367 PUBWEAK TIM4_IRQHandler
368 SECTION .text:CODE:REORDER:NOROOT(1)
369 TIM4_IRQHandler
370 B TIM4_IRQHandler
371
372 PUBWEAK I2C1_EV_IRQHandler
373 SECTION .text:CODE:REORDER:NOROOT(1)
374 I2C1_EV_IRQHandler
375 B I2C1_EV_IRQHandler
376
377 PUBWEAK I2C1_ER_IRQHandler
378 SECTION .text:CODE:REORDER:NOROOT(1)
379 I2C1_ER_IRQHandler
380 B I2C1_ER_IRQHandler
381
382 PUBWEAK I2C2_EV_IRQHandler
383 SECTION .text:CODE:REORDER:NOROOT(1)
384 I2C2_EV_IRQHandler
385 B I2C2_EV_IRQHandler
386
387 PUBWEAK I2C2_ER_IRQHandler
388 SECTION .text:CODE:REORDER:NOROOT(1)
389 I2C2_ER_IRQHandler
390 B I2C2_ER_IRQHandler
391
392 PUBWEAK SPI1_IRQHandler
393 SECTION .text:CODE:REORDER:NOROOT(1)
394 SPI1_IRQHandler
395 B SPI1_IRQHandler
396
397 PUBWEAK SPI2_IRQHandler
398 SECTION .text:CODE:REORDER:NOROOT(1)
399 SPI2_IRQHandler
400 B SPI2_IRQHandler
401
402 PUBWEAK USART1_IRQHandler
403 SECTION .text:CODE:REORDER:NOROOT(1)
404 USART1_IRQHandler
405 B USART1_IRQHandler
406
407 PUBWEAK USART2_IRQHandler
408 SECTION .text:CODE:REORDER:NOROOT(1)
409 USART2_IRQHandler
410 B USART2_IRQHandler
411
412 PUBWEAK EXTI15_10_IRQHandler
413 SECTION .text:CODE:REORDER:NOROOT(1)
414 EXTI15_10_IRQHandler
415 B EXTI15_10_IRQHandler
416
417 PUBWEAK RTC_Alarm_IRQHandler
418 SECTION .text:CODE:REORDER:NOROOT(1)
419 RTC_Alarm_IRQHandler
420 B RTC_Alarm_IRQHandler
421
422 PUBWEAK OTG_FS_WKUP_IRQHandler
423 SECTION .text:CODE:REORDER:NOROOT(1)
424 OTG_FS_WKUP_IRQHandler
425 B OTG_FS_WKUP_IRQHandler
426
427 PUBWEAK DMA1_Stream7_IRQHandler
428 SECTION .text:CODE:REORDER:NOROOT(1)
429 DMA1_Stream7_IRQHandler
430 B DMA1_Stream7_IRQHandler
431
432 PUBWEAK SDIO_IRQHandler
433 SECTION .text:CODE:REORDER:NOROOT(1)
434 SDIO_IRQHandler
435 B SDIO_IRQHandler
436
437 PUBWEAK TIM5_IRQHandler
438 SECTION .text:CODE:REORDER:NOROOT(1)
439 TIM5_IRQHandler
440 B TIM5_IRQHandler
441
442 PUBWEAK SPI3_IRQHandler
443 SECTION .text:CODE:REORDER:NOROOT(1)
444 SPI3_IRQHandler
445 B SPI3_IRQHandler
446
447 PUBWEAK DMA2_Stream0_IRQHandler
448 SECTION .text:CODE:REORDER:NOROOT(1)
449 DMA2_Stream0_IRQHandler
450 B DMA2_Stream0_IRQHandler
451
452 PUBWEAK DMA2_Stream1_IRQHandler
453 SECTION .text:CODE:REORDER:NOROOT(1)
454 DMA2_Stream1_IRQHandler
455 B DMA2_Stream1_IRQHandler
456
457 PUBWEAK DMA2_Stream2_IRQHandler
458 SECTION .text:CODE:REORDER:NOROOT(1)
459 DMA2_Stream2_IRQHandler
460 B DMA2_Stream2_IRQHandler
461
462 PUBWEAK DMA2_Stream3_IRQHandler
463 SECTION .text:CODE:REORDER:NOROOT(1)
464 DMA2_Stream3_IRQHandler
465 B DMA2_Stream3_IRQHandler
466
467 PUBWEAK DMA2_Stream4_IRQHandler
468 SECTION .text:CODE:REORDER:NOROOT(1)
469 DMA2_Stream4_IRQHandler
470 B DMA2_Stream4_IRQHandler
471
472 PUBWEAK OTG_FS_IRQHandler
473 SECTION .text:CODE:REORDER:NOROOT(1)
474 OTG_FS_IRQHandler
475 B OTG_FS_IRQHandler
476
477 PUBWEAK DMA2_Stream5_IRQHandler
478 SECTION .text:CODE:REORDER:NOROOT(1)
479 DMA2_Stream5_IRQHandler
480 B DMA2_Stream5_IRQHandler
481
482 PUBWEAK DMA2_Stream6_IRQHandler
483 SECTION .text:CODE:REORDER:NOROOT(1)
484 DMA2_Stream6_IRQHandler
485 B DMA2_Stream6_IRQHandler
486
487 PUBWEAK DMA2_Stream7_IRQHandler
488 SECTION .text:CODE:REORDER:NOROOT(1)
489 DMA2_Stream7_IRQHandler
490 B DMA2_Stream7_IRQHandler
491
492 PUBWEAK USART6_IRQHandler
493 SECTION .text:CODE:REORDER:NOROOT(1)
494 USART6_IRQHandler
495 B USART6_IRQHandler
496
497 PUBWEAK I2C3_EV_IRQHandler
498 SECTION .text:CODE:REORDER:NOROOT(1)
499 I2C3_EV_IRQHandler
500 B I2C3_EV_IRQHandler
501
502 PUBWEAK I2C3_ER_IRQHandler
503 SECTION .text:CODE:REORDER:NOROOT(1)
504 I2C3_ER_IRQHandler
505 B I2C3_ER_IRQHandler
506
507 PUBWEAK FPU_IRQHandler
508 SECTION .text:CODE:REORDER:NOROOT(1)
509 FPU_IRQHandler
510 B FPU_IRQHandler
511
512 PUBWEAK SPI4_IRQHandler
513 SECTION .text:CODE:REORDER:NOROOT(1)
514 SPI4_IRQHandler
515 B SPI4_IRQHandler
516
517 PUBWEAK SPI5_IRQHandler
518 SECTION .text:CODE:REORDER:NOROOT(1)
519 SPI5_IRQHandler
520 B SPI5_IRQHandler
521
522 END
523 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Imprint / Impressum