]> begriffs open source - cmsis-freertos/blob - Demo/CORTEX_STM32F107_GCC_Rowley/STM32F10x.s
there was an extra ')'... caused build to fail
[cmsis-freertos] / Demo / CORTEX_STM32F107_GCC_Rowley / STM32F10x.s
1 ;/*****************************************************************************/
2 ;/* STM32F10x.s: Startup file for ST STM32F10x device series                  */
3 ;/*****************************************************************************/
4 ;/* <<< Use Configuration Wizard in Context Menu >>>                          */
5 ;/*****************************************************************************/
6 ;/* This file is part of the uVision/ARM development tools.                   */
7 ;/* Copyright (c) 2005-2007 Keil Software. All rights reserved.               */
8 ;/* This software may only be used under the terms of a valid, current,       */
9 ;/* end user licence from KEIL for a compatible version of KEIL software      */
10 ;/* development tools. Nothing else gives you the right to use this software. */
11 ;/*****************************************************************************/
12
13
14 ;// <h> Stack Configuration
15 ;//   <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
16 ;// </h>
17
18 Stack_Size      EQU     0x00000200
19
20                 AREA    STACK, NOINIT, READWRITE, ALIGN=3
21 Stack_Mem       SPACE   Stack_Size
22 __initial_sp
23
24
25 ;// <h> Heap Configuration
26 ;//   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
27 ;// </h>
28
29 Heap_Size       EQU     0x00000000
30
31                 AREA    HEAP, NOINIT, READWRITE, ALIGN=3
32 __heap_base
33 Heap_Mem        SPACE   Heap_Size
34 __heap_limit
35
36                                 IMPORT xPortPendSVHandler
37                                 IMPORT xPortSysTickHandler
38                                 IMPORT vPortSVCHandler
39                                 IMPORT vUARTInterruptHandler
40                                 IMPORT vTimer2IntHandler
41
42                 PRESERVE8
43                 THUMB
44
45
46 ; Vector Table Mapped to Address 0 at Reset
47
48                 AREA    RESET, DATA, READONLY
49                 EXPORT  __Vectors
50
51 __Vectors       DCD     __initial_sp              ; Top of Stack
52                 DCD     Reset_Handler             ; Reset Handler
53                 DCD     NMI_Handler               ; NMI Handler
54                 DCD     HardFault_Handler         ; Hard Fault Handler
55                 DCD     MemManage_Handler         ; MPU Fault Handler
56                 DCD     BusFault_Handler          ; Bus Fault Handler
57                 DCD     UsageFault_Handler        ; Usage Fault Handler
58                 DCD     0                         ; Reserved
59                 DCD     0                         ; Reserved
60                 DCD     0                         ; Reserved
61                 DCD     0                         ; Reserved
62                 DCD     vPortSVCHandler           ; SVCall Handler
63                 DCD     DebugMon_Handler          ; Debug Monitor Handler
64                 DCD     0                         ; Reserved
65                 DCD     xPortPendSVHandler        ; PendSV Handler
66                 DCD     xPortSysTickHandler       ; SysTick Handler
67
68                 ; External Interrupts
69                 DCD     WWDG_IRQHandler           ; Window Watchdog
70                 DCD     PVD_IRQHandler            ; PVD through EXTI Line detect
71                 DCD     TAMPER_IRQHandler         ; Tamper
72                 DCD     RTC_IRQHandler            ; RTC
73                 DCD     FLASH_IRQHandler          ; Flash
74                 DCD     RCC_IRQHandler            ; RCC
75                 DCD     EXTI0_IRQHandler          ; EXTI Line 0
76                 DCD     EXTI1_IRQHandler          ; EXTI Line 1
77                 DCD     EXTI2_IRQHandler          ; EXTI Line 2
78                 DCD     EXTI3_IRQHandler          ; EXTI Line 3
79                 DCD     EXTI4_IRQHandler          ; EXTI Line 4
80                 DCD     DMAChannel1_IRQHandler    ; DMA Channel 1
81                 DCD     DMAChannel2_IRQHandler    ; DMA Channel 2
82                 DCD     DMAChannel3_IRQHandler    ; DMA Channel 3
83                 DCD     DMAChannel4_IRQHandler    ; DMA Channel 4
84                 DCD     DMAChannel5_IRQHandler    ; DMA Channel 5
85                 DCD     DMAChannel6_IRQHandler    ; DMA Channel 6
86                 DCD     DMAChannel7_IRQHandler    ; DMA Channel 7
87                 DCD     ADC_IRQHandler            ; ADC
88                 DCD     USB_HP_CAN_TX_IRQHandler  ; USB High Priority or CAN TX
89                 DCD     USB_LP_CAN_RX0_IRQHandler ; USB Low  Priority or CAN RX0
90                 DCD     CAN_RX1_IRQHandler        ; CAN RX1
91                 DCD     CAN_SCE_IRQHandler        ; CAN SCE
92                 DCD     EXTI9_5_IRQHandler        ; EXTI Line 9..5
93                 DCD     TIM1_BRK_IRQHandler       ; TIM1 Break
94                 DCD     TIM1_UP_IRQHandler        ; TIM1 Update
95                 DCD     TIM1_TRG_COM_IRQHandler   ; TIM1 Trigger and Commutation
96                 DCD     TIM1_CC_IRQHandler        ; TIM1 Capture Compare
97                 DCD     vTimer2IntHandler         ; TIM2
98                 DCD     TIM3_IRQHandler           ; TIM3
99                 DCD     TIM4_IRQHandler           ; TIM4
100                 DCD     I2C1_EV_IRQHandler        ; I2C1 Event
101                 DCD     I2C1_ER_IRQHandler        ; I2C1 Error
102                 DCD     I2C2_EV_IRQHandler        ; I2C2 Event
103                 DCD     I2C2_ER_IRQHandler        ; I2C2 Error
104                 DCD     SPI1_IRQHandler           ; SPI1
105                 DCD     SPI2_IRQHandler           ; SPI2
106                 DCD     vUARTInterruptHandler     ; USART1
107                 DCD     USART2_IRQHandler         ; USART2
108                 DCD     USART3_IRQHandler         ; USART3
109                 DCD     EXTI15_10_IRQHandler      ; EXTI Line 15..10
110                 DCD     RTCAlarm_IRQHandler       ; RTC Alarm through EXTI Line
111                 DCD     USBWakeUp_IRQHandler      ; USB Wakeup from suspend
112
113
114                 AREA    |.text|, CODE, READONLY
115
116
117 ; Reset Handler
118
119 Reset_Handler   PROC
120                 EXPORT  Reset_Handler             [WEAK]
121                 IMPORT  __main
122                 LDR     R0, =__main
123                 BX      R0
124                 ENDP
125
126
127 ; Dummy Exception Handlers (infinite loops which can be modified)                
128
129 NMI_Handler     PROC
130                 EXPORT  NMI_Handler               [WEAK]
131                 B       .
132                 ENDP
133 HardFault_Handler\
134                 PROC
135                 EXPORT  HardFault_Handler         [WEAK]
136                 B       .
137                 ENDP
138 MemManage_Handler\
139                 PROC
140                 EXPORT  MemManage_Handler         [WEAK]
141                 B       .
142                 ENDP
143 BusFault_Handler\
144                 PROC
145                 EXPORT  BusFault_Handler          [WEAK]
146                 B       .
147                 ENDP
148 UsageFault_Handler\
149                 PROC
150                 EXPORT  UsageFault_Handler        [WEAK]
151                 B       .
152                 ENDP
153 SVC_Handler     PROC
154                 EXPORT  SVC_Handler               [WEAK]
155                 B       .
156                 ENDP
157 DebugMon_Handler\
158                 PROC
159                 EXPORT  DebugMon_Handler          [WEAK]
160                 B       .
161                 ENDP
162 PendSV_Handler  PROC
163                 EXPORT  PendSV_Handler            [WEAK]
164                 B       .
165                 ENDP
166 SysTick_Handler PROC
167                 EXPORT  SysTick_Handler           [WEAK]
168                 B       .
169                 ENDP
170
171 Default_Handler PROC
172
173                 EXPORT  WWDG_IRQHandler           [WEAK]
174                 EXPORT  PVD_IRQHandler            [WEAK]
175                 EXPORT  TAMPER_IRQHandler         [WEAK]
176                 EXPORT  RTC_IRQHandler            [WEAK]
177                 EXPORT  FLASH_IRQHandler          [WEAK]
178                 EXPORT  RCC_IRQHandler            [WEAK]
179                 EXPORT  EXTI0_IRQHandler          [WEAK]
180                 EXPORT  EXTI1_IRQHandler          [WEAK]
181                 EXPORT  EXTI2_IRQHandler          [WEAK]
182                 EXPORT  EXTI3_IRQHandler          [WEAK]
183                 EXPORT  EXTI4_IRQHandler          [WEAK]
184                 EXPORT  DMAChannel1_IRQHandler    [WEAK]
185                 EXPORT  DMAChannel2_IRQHandler    [WEAK]
186                 EXPORT  DMAChannel3_IRQHandler    [WEAK]
187                 EXPORT  DMAChannel4_IRQHandler    [WEAK]
188                 EXPORT  DMAChannel5_IRQHandler    [WEAK]
189                 EXPORT  DMAChannel6_IRQHandler    [WEAK]
190                 EXPORT  DMAChannel7_IRQHandler    [WEAK]
191                 EXPORT  ADC_IRQHandler            [WEAK]
192                 EXPORT  USB_HP_CAN_TX_IRQHandler  [WEAK]
193                 EXPORT  USB_LP_CAN_RX0_IRQHandler [WEAK]
194                 EXPORT  CAN_RX1_IRQHandler        [WEAK]
195                 EXPORT  CAN_SCE_IRQHandler        [WEAK]
196                 EXPORT  EXTI9_5_IRQHandler        [WEAK]
197                 EXPORT  TIM1_BRK_IRQHandler       [WEAK]
198                 EXPORT  TIM1_UP_IRQHandler        [WEAK]
199                 EXPORT  TIM1_TRG_COM_IRQHandler   [WEAK]
200                 EXPORT  TIM1_CC_IRQHandler        [WEAK]
201                 EXPORT  TIM2_IRQHandler           [WEAK]
202                 EXPORT  TIM3_IRQHandler           [WEAK]
203                 EXPORT  TIM4_IRQHandler           [WEAK]
204                 EXPORT  I2C1_EV_IRQHandler        [WEAK]
205                 EXPORT  I2C1_ER_IRQHandler        [WEAK]
206                 EXPORT  I2C2_EV_IRQHandler        [WEAK]
207                 EXPORT  I2C2_ER_IRQHandler        [WEAK]
208                 EXPORT  SPI1_IRQHandler           [WEAK]
209                 EXPORT  SPI2_IRQHandler           [WEAK]
210                 EXPORT  USART1_IRQHandler         [WEAK]
211                 EXPORT  USART2_IRQHandler         [WEAK]
212                 EXPORT  USART3_IRQHandler         [WEAK]
213                 EXPORT  EXTI15_10_IRQHandler      [WEAK]
214                 EXPORT  RTCAlarm_IRQHandler       [WEAK]
215                 EXPORT  USBWakeUp_IRQHandler      [WEAK]
216
217 WWDG_IRQHandler
218 PVD_IRQHandler
219 TAMPER_IRQHandler
220 RTC_IRQHandler
221 FLASH_IRQHandler
222 RCC_IRQHandler
223 EXTI0_IRQHandler
224 EXTI1_IRQHandler
225 EXTI2_IRQHandler
226 EXTI3_IRQHandler
227 EXTI4_IRQHandler
228 DMAChannel1_IRQHandler
229 DMAChannel2_IRQHandler
230 DMAChannel3_IRQHandler
231 DMAChannel4_IRQHandler
232 DMAChannel5_IRQHandler
233 DMAChannel6_IRQHandler
234 DMAChannel7_IRQHandler
235 ADC_IRQHandler
236 USB_HP_CAN_TX_IRQHandler
237 USB_LP_CAN_RX0_IRQHandler
238 CAN_RX1_IRQHandler
239 CAN_SCE_IRQHandler
240 EXTI9_5_IRQHandler
241 TIM1_BRK_IRQHandler
242 TIM1_UP_IRQHandler
243 TIM1_TRG_COM_IRQHandler
244 TIM1_CC_IRQHandler
245 TIM2_IRQHandler
246 TIM3_IRQHandler
247 TIM4_IRQHandler
248 I2C1_EV_IRQHandler
249 I2C1_ER_IRQHandler
250 I2C2_EV_IRQHandler
251 I2C2_ER_IRQHandler
252 SPI1_IRQHandler
253 SPI2_IRQHandler
254 USART1_IRQHandler
255 USART2_IRQHandler
256 USART3_IRQHandler
257 EXTI15_10_IRQHandler
258 RTCAlarm_IRQHandler
259 USBWakeUp_IRQHandler
260
261                 B       .
262
263                 ENDP
264
265
266                 ALIGN
267
268
269 ; User Initial Stack & Heap
270
271                 IF      :DEF:__MICROLIB
272                 
273                 EXPORT  __initial_sp
274                 EXPORT  __heap_base
275                 EXPORT  __heap_limit
276                 
277                 ELSE
278                 
279                 IMPORT  __use_two_region_memory
280                 EXPORT  __user_initial_stackheap
281 __user_initial_stackheap
282
283                 LDR     R0, =  Heap_Mem
284                 LDR     R1, =(Stack_Mem + Stack_Size)
285                 LDR     R2, = (Heap_Mem +  Heap_Size)
286                 LDR     R3, = Stack_Mem
287                 BX      LR
288
289                 ALIGN
290
291                 ENDIF
292
293
294                 END