comparison libs/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/FSMC/SRAM_DataMemory/EWARM/startup_stm32f10x_hd.s @ 0:c59513fd84fb

Initial commit of STM32 test code.
author Daniel O'Connor <darius@dons.net.au>
date Mon, 03 Oct 2011 21:19:15 +1030
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:c59513fd84fb
1 ;/******************** (C) COPYRIGHT 2011 STMicroelectronics ********************
2 ;* File Name : startup_stm32f10x_hd.s
3 ;* Author : MCD Application Team
4 ;* Version : V3.5.0
5 ;* Date : 08-April-2011
6 ;* Description : STM32F10x High Density Devices vector table for EWARM
7 ;* toolchain.
8 ;* This module performs:
9 ;* - Set the initial SP
10 ;* - Configure the clock system and the external SRAM
11 ;* mounted on STM3210E-EVAL board to be used as data
12 ;* memory (optional, to be enabled by user)
13 ;* - Set the initial PC == __iar_program_start,
14 ;* - Set the vector table entries with the exceptions ISR address,
15 ;* After Reset the Cortex-M3 processor is in Thread mode,
16 ;* priority is Privileged, and the Stack is set to Main.
17 ;********************************************************************************
18 ;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
19 ;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
20 ;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
21 ;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
22 ;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
23 ;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
24 ;*******************************************************************************/
25 ;
26 ;
27 ; The modules in this file are included in the libraries, and may be replaced
28 ; by any user-defined modules that define the PUBLIC symbol _program_start or
29 ; a user defined start symbol.
30 ; To override the cstartup defined in the library, simply add your modified
31 ; version to the workbench project.
32 ;
33 ; The vector table is normally located at address 0.
34 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
35 ; The name "__vector_table" has special meaning for C-SPY:
36 ; it is where the SP start value is found, and the NVIC vector
37 ; table register (VTOR) is initialized to this address if != 0.
38 ;
39 ; Cortex-M version
40 ;
41
42 __initial_spTop EQU 0x20000400 ; stack used for SystemInit & SystemInit_ExtMemCtl
43
44 MODULE ?cstartup
45
46 ;; Forward declaration of sections.
47 SECTION CSTACK:DATA:NOROOT(3)
48
49 SECTION .intvec:CODE:NOROOT(2)
50
51 EXTERN __iar_program_start
52 EXTERN SystemInit
53 PUBLIC __vector_table
54
55 DATA
56
57 __vector_table
58 DCD __initial_spTop ; Use internal RAM for stack for calling SystemInit.
59 DCD Reset_Handler ; Reset Handler
60 DCD NMI_Handler ; NMI Handler
61 DCD HardFault_Handler ; Hard Fault Handler
62 DCD MemManage_Handler ; MPU Fault Handler
63 DCD BusFault_Handler ; Bus Fault Handler
64 DCD UsageFault_Handler ; Usage Fault Handler
65 DCD 0 ; Reserved
66 DCD 0 ; Reserved
67 DCD 0 ; Reserved
68 DCD 0 ; Reserved
69 DCD SVC_Handler ; SVCall Handler
70 DCD DebugMon_Handler ; Debug Monitor Handler
71 DCD 0 ; Reserved
72 DCD PendSV_Handler ; PendSV Handler
73 DCD SysTick_Handler ; SysTick Handler
74
75 ; External Interrupts
76 DCD WWDG_IRQHandler ; Window Watchdog
77 DCD PVD_IRQHandler ; PVD through EXTI Line detect
78 DCD TAMPER_IRQHandler ; Tamper
79 DCD RTC_IRQHandler ; RTC
80 DCD FLASH_IRQHandler ; Flash
81 DCD RCC_IRQHandler ; RCC
82 DCD EXTI0_IRQHandler ; EXTI Line 0
83 DCD EXTI1_IRQHandler ; EXTI Line 1
84 DCD EXTI2_IRQHandler ; EXTI Line 2
85 DCD EXTI3_IRQHandler ; EXTI Line 3
86 DCD EXTI4_IRQHandler ; EXTI Line 4
87 DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
88 DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
89 DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
90 DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
91 DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
92 DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
93 DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
94 DCD ADC1_2_IRQHandler ; ADC1 & ADC2
95 DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX
96 DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0
97 DCD CAN1_RX1_IRQHandler ; CAN1 RX1
98 DCD CAN1_SCE_IRQHandler ; CAN1 SCE
99 DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
100 DCD TIM1_BRK_IRQHandler ; TIM1 Break
101 DCD TIM1_UP_IRQHandler ; TIM1 Update
102 DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation
103 DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
104 DCD TIM2_IRQHandler ; TIM2
105 DCD TIM3_IRQHandler ; TIM3
106 DCD TIM4_IRQHandler ; TIM4
107 DCD I2C1_EV_IRQHandler ; I2C1 Event
108 DCD I2C1_ER_IRQHandler ; I2C1 Error
109 DCD I2C2_EV_IRQHandler ; I2C2 Event
110 DCD I2C2_ER_IRQHandler ; I2C2 Error
111 DCD SPI1_IRQHandler ; SPI1
112 DCD SPI2_IRQHandler ; SPI2
113 DCD USART1_IRQHandler ; USART1
114 DCD USART2_IRQHandler ; USART2
115 DCD USART3_IRQHandler ; USART3
116 DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
117 DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line
118 DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend
119 DCD TIM8_BRK_IRQHandler ; TIM8 Break
120 DCD TIM8_UP_IRQHandler ; TIM8 Update
121 DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation
122 DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare
123 DCD ADC3_IRQHandler ; ADC3
124 DCD FSMC_IRQHandler ; FSMC
125 DCD SDIO_IRQHandler ; SDIO
126 DCD TIM5_IRQHandler ; TIM5
127 DCD SPI3_IRQHandler ; SPI3
128 DCD UART4_IRQHandler ; UART4
129 DCD UART5_IRQHandler ; UART5
130 DCD TIM6_IRQHandler ; TIM6
131 DCD TIM7_IRQHandler ; TIM7
132 DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1
133 DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2
134 DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3
135 DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5
136 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
137 ;;
138 ;; Default interrupt handlers.
139 ;;
140 THUMB
141
142 PUBWEAK Reset_Handler
143 SECTION .text:CODE:REORDER(2)
144 Reset_Handler
145
146 LDR R0, =SystemInit
147 BLX R0
148 LDR R0, =sfe(CSTACK) ; restore original stack pointer
149 MSR MSP, R0
150 LDR R0, =__iar_program_start
151 BX R0
152
153 PUBWEAK NMI_Handler
154 SECTION .text:CODE:REORDER(1)
155 NMI_Handler
156 B NMI_Handler
157
158 PUBWEAK HardFault_Handler
159 SECTION .text:CODE:REORDER(1)
160 HardFault_Handler
161 B HardFault_Handler
162
163 PUBWEAK MemManage_Handler
164 SECTION .text:CODE:REORDER(1)
165 MemManage_Handler
166 B MemManage_Handler
167
168 PUBWEAK BusFault_Handler
169 SECTION .text:CODE:REORDER(1)
170 BusFault_Handler
171 B BusFault_Handler
172
173 PUBWEAK UsageFault_Handler
174 SECTION .text:CODE:REORDER(1)
175 UsageFault_Handler
176 B UsageFault_Handler
177
178 PUBWEAK SVC_Handler
179 SECTION .text:CODE:REORDER(1)
180 SVC_Handler
181 B SVC_Handler
182
183 PUBWEAK DebugMon_Handler
184 SECTION .text:CODE:REORDER(1)
185 DebugMon_Handler
186 B DebugMon_Handler
187
188 PUBWEAK PendSV_Handler
189 SECTION .text:CODE:REORDER(1)
190 PendSV_Handler
191 B PendSV_Handler
192
193 PUBWEAK SysTick_Handler
194 SECTION .text:CODE:REORDER(1)
195 SysTick_Handler
196 B SysTick_Handler
197
198 PUBWEAK WWDG_IRQHandler
199 SECTION .text:CODE:REORDER(1)
200 WWDG_IRQHandler
201 B WWDG_IRQHandler
202
203 PUBWEAK PVD_IRQHandler
204 SECTION .text:CODE:REORDER(1)
205 PVD_IRQHandler
206 B PVD_IRQHandler
207
208 PUBWEAK TAMPER_IRQHandler
209 SECTION .text:CODE:REORDER(1)
210 TAMPER_IRQHandler
211 B TAMPER_IRQHandler
212
213 PUBWEAK RTC_IRQHandler
214 SECTION .text:CODE:REORDER(1)
215 RTC_IRQHandler
216 B RTC_IRQHandler
217
218 PUBWEAK FLASH_IRQHandler
219 SECTION .text:CODE:REORDER(1)
220 FLASH_IRQHandler
221 B FLASH_IRQHandler
222
223 PUBWEAK RCC_IRQHandler
224 SECTION .text:CODE:REORDER(1)
225 RCC_IRQHandler
226 B RCC_IRQHandler
227
228 PUBWEAK EXTI0_IRQHandler
229 SECTION .text:CODE:REORDER(1)
230 EXTI0_IRQHandler
231 B EXTI0_IRQHandler
232
233 PUBWEAK EXTI1_IRQHandler
234 SECTION .text:CODE:REORDER(1)
235 EXTI1_IRQHandler
236 B EXTI1_IRQHandler
237
238 PUBWEAK EXTI2_IRQHandler
239 SECTION .text:CODE:REORDER(1)
240 EXTI2_IRQHandler
241 B EXTI2_IRQHandler
242
243 PUBWEAK EXTI3_IRQHandler
244 SECTION .text:CODE:REORDER(1)
245 EXTI3_IRQHandler
246 B EXTI3_IRQHandler
247
248 PUBWEAK EXTI4_IRQHandler
249 SECTION .text:CODE:REORDER(1)
250 EXTI4_IRQHandler
251 B EXTI4_IRQHandler
252
253 PUBWEAK DMA1_Channel1_IRQHandler
254 SECTION .text:CODE:REORDER(1)
255 DMA1_Channel1_IRQHandler
256 B DMA1_Channel1_IRQHandler
257
258 PUBWEAK DMA1_Channel2_IRQHandler
259 SECTION .text:CODE:REORDER(1)
260 DMA1_Channel2_IRQHandler
261 B DMA1_Channel2_IRQHandler
262
263 PUBWEAK DMA1_Channel3_IRQHandler
264 SECTION .text:CODE:REORDER(1)
265 DMA1_Channel3_IRQHandler
266 B DMA1_Channel3_IRQHandler
267
268 PUBWEAK DMA1_Channel4_IRQHandler
269 SECTION .text:CODE:REORDER(1)
270 DMA1_Channel4_IRQHandler
271 B DMA1_Channel4_IRQHandler
272
273 PUBWEAK DMA1_Channel5_IRQHandler
274 SECTION .text:CODE:REORDER(1)
275 DMA1_Channel5_IRQHandler
276 B DMA1_Channel5_IRQHandler
277
278 PUBWEAK DMA1_Channel6_IRQHandler
279 SECTION .text:CODE:REORDER(1)
280 DMA1_Channel6_IRQHandler
281 B DMA1_Channel6_IRQHandler
282
283 PUBWEAK DMA1_Channel7_IRQHandler
284 SECTION .text:CODE:REORDER(1)
285 DMA1_Channel7_IRQHandler
286 B DMA1_Channel7_IRQHandler
287
288 PUBWEAK ADC1_2_IRQHandler
289 SECTION .text:CODE:REORDER(1)
290 ADC1_2_IRQHandler
291 B ADC1_2_IRQHandler
292
293 PUBWEAK USB_HP_CAN1_TX_IRQHandler
294 SECTION .text:CODE:REORDER(1)
295 USB_HP_CAN1_TX_IRQHandler
296 B USB_HP_CAN1_TX_IRQHandler
297
298 PUBWEAK USB_LP_CAN1_RX0_IRQHandler
299 SECTION .text:CODE:REORDER(1)
300 USB_LP_CAN1_RX0_IRQHandler
301 B USB_LP_CAN1_RX0_IRQHandler
302
303 PUBWEAK CAN1_RX1_IRQHandler
304 SECTION .text:CODE:REORDER(1)
305 CAN1_RX1_IRQHandler
306 B CAN1_RX1_IRQHandler
307
308 PUBWEAK CAN1_SCE_IRQHandler
309 SECTION .text:CODE:REORDER(1)
310 CAN1_SCE_IRQHandler
311 B CAN1_SCE_IRQHandler
312
313 PUBWEAK EXTI9_5_IRQHandler
314 SECTION .text:CODE:REORDER(1)
315 EXTI9_5_IRQHandler
316 B EXTI9_5_IRQHandler
317
318 PUBWEAK TIM1_BRK_IRQHandler
319 SECTION .text:CODE:REORDER(1)
320 TIM1_BRK_IRQHandler
321 B TIM1_BRK_IRQHandler
322
323 PUBWEAK TIM1_UP_IRQHandler
324 SECTION .text:CODE:REORDER(1)
325 TIM1_UP_IRQHandler
326 B TIM1_UP_IRQHandler
327
328 PUBWEAK TIM1_TRG_COM_IRQHandler
329 SECTION .text:CODE:REORDER(1)
330 TIM1_TRG_COM_IRQHandler
331 B TIM1_TRG_COM_IRQHandler
332
333 PUBWEAK TIM1_CC_IRQHandler
334 SECTION .text:CODE:REORDER(1)
335 TIM1_CC_IRQHandler
336 B TIM1_CC_IRQHandler
337
338 PUBWEAK TIM2_IRQHandler
339 SECTION .text:CODE:REORDER(1)
340 TIM2_IRQHandler
341 B TIM2_IRQHandler
342
343 PUBWEAK TIM3_IRQHandler
344 SECTION .text:CODE:REORDER(1)
345 TIM3_IRQHandler
346 B TIM3_IRQHandler
347
348 PUBWEAK TIM4_IRQHandler
349 SECTION .text:CODE:REORDER(1)
350 TIM4_IRQHandler
351 B TIM4_IRQHandler
352
353 PUBWEAK I2C1_EV_IRQHandler
354 SECTION .text:CODE:REORDER(1)
355 I2C1_EV_IRQHandler
356 B I2C1_EV_IRQHandler
357
358 PUBWEAK I2C1_ER_IRQHandler
359 SECTION .text:CODE:REORDER(1)
360 I2C1_ER_IRQHandler
361 B I2C1_ER_IRQHandler
362
363 PUBWEAK I2C2_EV_IRQHandler
364 SECTION .text:CODE:REORDER(1)
365 I2C2_EV_IRQHandler
366 B I2C2_EV_IRQHandler
367
368 PUBWEAK I2C2_ER_IRQHandler
369 SECTION .text:CODE:REORDER(1)
370 I2C2_ER_IRQHandler
371 B I2C2_ER_IRQHandler
372
373 PUBWEAK SPI1_IRQHandler
374 SECTION .text:CODE:REORDER(1)
375 SPI1_IRQHandler
376 B SPI1_IRQHandler
377
378 PUBWEAK SPI2_IRQHandler
379 SECTION .text:CODE:REORDER(1)
380 SPI2_IRQHandler
381 B SPI2_IRQHandler
382
383 PUBWEAK USART1_IRQHandler
384 SECTION .text:CODE:REORDER(1)
385 USART1_IRQHandler
386 B USART1_IRQHandler
387
388 PUBWEAK USART2_IRQHandler
389 SECTION .text:CODE:REORDER(1)
390 USART2_IRQHandler
391 B USART2_IRQHandler
392
393 PUBWEAK USART3_IRQHandler
394 SECTION .text:CODE:REORDER(1)
395 USART3_IRQHandler
396 B USART3_IRQHandler
397
398 PUBWEAK EXTI15_10_IRQHandler
399 SECTION .text:CODE:REORDER(1)
400 EXTI15_10_IRQHandler
401 B EXTI15_10_IRQHandler
402
403 PUBWEAK RTCAlarm_IRQHandler
404 SECTION .text:CODE:REORDER(1)
405 RTCAlarm_IRQHandler
406 B RTCAlarm_IRQHandler
407
408 PUBWEAK USBWakeUp_IRQHandler
409 SECTION .text:CODE:REORDER(1)
410 USBWakeUp_IRQHandler
411 B USBWakeUp_IRQHandler
412
413 PUBWEAK TIM8_BRK_IRQHandler
414 SECTION .text:CODE:REORDER(1)
415 TIM8_BRK_IRQHandler
416 B TIM8_BRK_IRQHandler
417
418 PUBWEAK TIM8_UP_IRQHandler
419 SECTION .text:CODE:REORDER(1)
420 TIM8_UP_IRQHandler
421 B TIM8_UP_IRQHandler
422
423 PUBWEAK TIM8_TRG_COM_IRQHandler
424 SECTION .text:CODE:REORDER(1)
425 TIM8_TRG_COM_IRQHandler
426 B TIM8_TRG_COM_IRQHandler
427
428 PUBWEAK TIM8_CC_IRQHandler
429 SECTION .text:CODE:REORDER(1)
430 TIM8_CC_IRQHandler
431 B TIM8_CC_IRQHandler
432
433 PUBWEAK ADC3_IRQHandler
434 SECTION .text:CODE:REORDER(1)
435 ADC3_IRQHandler
436 B ADC3_IRQHandler
437
438 PUBWEAK FSMC_IRQHandler
439 SECTION .text:CODE:REORDER(1)
440 FSMC_IRQHandler
441 B FSMC_IRQHandler
442
443 PUBWEAK SDIO_IRQHandler
444 SECTION .text:CODE:REORDER(1)
445 SDIO_IRQHandler
446 B SDIO_IRQHandler
447
448 PUBWEAK TIM5_IRQHandler
449 SECTION .text:CODE:REORDER(1)
450 TIM5_IRQHandler
451 B TIM5_IRQHandler
452
453 PUBWEAK SPI3_IRQHandler
454 SECTION .text:CODE:REORDER(1)
455 SPI3_IRQHandler
456 B SPI3_IRQHandler
457
458 PUBWEAK UART4_IRQHandler
459 SECTION .text:CODE:REORDER(1)
460 UART4_IRQHandler
461 B UART4_IRQHandler
462
463 PUBWEAK UART5_IRQHandler
464 SECTION .text:CODE:REORDER(1)
465 UART5_IRQHandler
466 B UART5_IRQHandler
467
468 PUBWEAK TIM6_IRQHandler
469 SECTION .text:CODE:REORDER(1)
470 TIM6_IRQHandler
471 B TIM6_IRQHandler
472
473 PUBWEAK TIM7_IRQHandler
474 SECTION .text:CODE:REORDER(1)
475 TIM7_IRQHandler
476 B TIM7_IRQHandler
477
478 PUBWEAK DMA2_Channel1_IRQHandler
479 SECTION .text:CODE:REORDER(1)
480 DMA2_Channel1_IRQHandler
481 B DMA2_Channel1_IRQHandler
482
483 PUBWEAK DMA2_Channel2_IRQHandler
484 SECTION .text:CODE:REORDER(1)
485 DMA2_Channel2_IRQHandler
486 B DMA2_Channel2_IRQHandler
487
488 PUBWEAK DMA2_Channel3_IRQHandler
489 SECTION .text:CODE:REORDER(1)
490 DMA2_Channel3_IRQHandler
491 B DMA2_Channel3_IRQHandler
492
493 PUBWEAK DMA2_Channel4_5_IRQHandler
494 SECTION .text:CODE:REORDER(1)
495 DMA2_Channel4_5_IRQHandler
496 B DMA2_Channel4_5_IRQHandler
497
498
499 END
500
501 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/