]> git.piffa.net Git - arduino/blob - sheets/gyro/GY-52 Three-axis gyroscope sending data /Three-axis gyroscope sending data/GY-52 Test program/STM32-CODE/serial port output MPU-3050/serial/Libraries/CMSIS/Core/CM3/startup/arm/startup_stm32f10x_hd.s
first commit
[arduino] / sheets / gyro / GY-52 Three-axis gyroscope sending data / Three-axis gyroscope sending data / GY-52 Test program / STM32-CODE / serial port output MPU-3050 / serial / Libraries / CMSIS / Core / CM3 / startup / arm / startup_stm32f10x_hd.s
1 ;******************** (C) COPYRIGHT 2009 STMicroelectronics ********************\r
2 ;* File Name          : startup_stm32f10x_hd.s\r
3 ;* Author             : MCD Application Team\r
4 ;* Version            : V3.1.2\r
5 ;* Date               : 09/28/2009\r
6 ;* Description        : STM32F10x High Density Devices vector table for RVMDK \r
7 ;*                      toolchain. \r
8 ;*                      This module performs:\r
9 ;*                      - Set the initial SP\r
10 ;*                      - Set the initial PC == Reset_Handler\r
11 ;*                      - Set the vector table entries with the exceptions ISR address\r
12 ;*                      - Configure external SRAM mounted on STM3210E-EVAL board\r
13 ;*                        to be used as data memory (optional, to be enabled by user)\r
14 ;*                      - Branches to __main in the C library (which eventually\r
15 ;*                        calls main()).\r
16 ;*                      After Reset the CortexM3 processor is in Thread mode,\r
17 ;*                      priority is Privileged, and the Stack is set to Main.\r
18 ;* <<< Use Configuration Wizard in Context Menu >>>   \r
19 ;*******************************************************************************\r
20 ; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
21 ; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.\r
22 ; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,\r
23 ; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE\r
24 ; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING\r
25 ; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
26 ;*******************************************************************************\r
27 \r
28 ; Amount of memory (in bytes) allocated for Stack\r
29 ; Tailor this value to your application needs\r
30 ; <h> Stack Configuration\r
31 ;   <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>\r
32 ; </h>\r
33 \r
34 Stack_Size      EQU     0x00000400\r
35 \r
36                 AREA    STACK, NOINIT, READWRITE, ALIGN=3\r
37 Stack_Mem       SPACE   Stack_Size\r
38 __initial_sp\r
39 \r
40 __initial_spTop EQU    0x20000400                 ; stack used for SystemInit_ExtMemCtl\r
41                                                   ; always internal RAM used \r
42                                                   \r
43 ; <h> Heap Configuration\r
44 ;   <o>  Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>\r
45 ; </h>\r
46 \r
47 Heap_Size       EQU     0x00000200\r
48 \r
49                 AREA    HEAP, NOINIT, READWRITE, ALIGN=3\r
50 __heap_base\r
51 Heap_Mem        SPACE   Heap_Size\r
52 __heap_limit\r
53 \r
54                 PRESERVE8\r
55                 THUMB\r
56 \r
57 \r
58 ; Vector Table Mapped to Address 0 at Reset\r
59                 AREA    RESET, DATA, READONLY\r
60                 EXPORT  __Vectors\r
61                 EXPORT  __Vectors_End\r
62                 EXPORT  __Vectors_Size\r
63 \r
64 __Vectors       DCD     __initial_spTop           ; Top of Stack\r
65                 DCD     Reset_Handler             ; Reset Handler\r
66                 DCD     NMI_Handler               ; NMI Handler\r
67                 DCD     HardFault_Handler         ; Hard Fault Handler\r
68                 DCD     MemManage_Handler         ; MPU Fault Handler\r
69                 DCD     BusFault_Handler          ; Bus Fault Handler\r
70                 DCD     UsageFault_Handler        ; Usage Fault Handler\r
71                 DCD     0                         ; Reserved\r
72                 DCD     0                         ; Reserved\r
73                 DCD     0                         ; Reserved\r
74                 DCD     0                         ; Reserved\r
75                 DCD     SVC_Handler               ; SVCall Handler\r
76                 DCD     DebugMon_Handler          ; Debug Monitor Handler\r
77                 DCD     0                         ; Reserved\r
78                 DCD     PendSV_Handler            ; PendSV Handler\r
79                 DCD     SysTick_Handler           ; SysTick Handler\r
80 \r
81                 ; External Interrupts\r
82                 DCD     WWDG_IRQHandler           ; Window Watchdog\r
83                 DCD     PVD_IRQHandler            ; PVD through EXTI Line detect\r
84                 DCD     TAMPER_IRQHandler         ; Tamper\r
85                 DCD     RTC_IRQHandler            ; RTC\r
86                 DCD     FLASH_IRQHandler          ; Flash\r
87                 DCD     RCC_IRQHandler            ; RCC\r
88                 DCD     EXTI0_IRQHandler          ; EXTI Line 0\r
89                 DCD     EXTI1_IRQHandler          ; EXTI Line 1\r
90                 DCD     EXTI2_IRQHandler          ; EXTI Line 2\r
91                 DCD     EXTI3_IRQHandler          ; EXTI Line 3\r
92                 DCD     EXTI4_IRQHandler          ; EXTI Line 4\r
93                 DCD     DMA1_Channel1_IRQHandler  ; DMA1 Channel 1\r
94                 DCD     DMA1_Channel2_IRQHandler  ; DMA1 Channel 2\r
95                 DCD     DMA1_Channel3_IRQHandler  ; DMA1 Channel 3\r
96                 DCD     DMA1_Channel4_IRQHandler  ; DMA1 Channel 4\r
97                 DCD     DMA1_Channel5_IRQHandler  ; DMA1 Channel 5\r
98                 DCD     DMA1_Channel6_IRQHandler  ; DMA1 Channel 6\r
99                 DCD     DMA1_Channel7_IRQHandler  ; DMA1 Channel 7\r
100                 DCD     ADC1_2_IRQHandler         ; ADC1 & ADC2\r
101                 DCD     USB_HP_CAN1_TX_IRQHandler  ; USB High Priority or CAN1 TX\r
102                 DCD     USB_LP_CAN1_RX0_IRQHandler ; USB Low  Priority or CAN1 RX0\r
103                 DCD     CAN1_RX1_IRQHandler       ; CAN1 RX1\r
104                 DCD     CAN1_SCE_IRQHandler       ; CAN1 SCE\r
105                 DCD     EXTI9_5_IRQHandler        ; EXTI Line 9..5\r
106                 DCD     TIM1_BRK_IRQHandler       ; TIM1 Break\r
107                 DCD     TIM1_UP_IRQHandler        ; TIM1 Update\r
108                 DCD     TIM1_TRG_COM_IRQHandler   ; TIM1 Trigger and Commutation\r
109                 DCD     TIM1_CC_IRQHandler        ; TIM1 Capture Compare\r
110                 DCD     TIM2_IRQHandler           ; TIM2\r
111                 DCD     TIM3_IRQHandler           ; TIM3\r
112                 DCD     TIM4_IRQHandler           ; TIM4\r
113                 DCD     I2C1_EV_IRQHandler        ; I2C1 Event\r
114                 DCD     I2C1_ER_IRQHandler        ; I2C1 Error\r
115                 DCD     I2C2_EV_IRQHandler        ; I2C2 Event\r
116                 DCD     I2C2_ER_IRQHandler        ; I2C2 Error\r
117                 DCD     SPI1_IRQHandler           ; SPI1\r
118                 DCD     SPI2_IRQHandler           ; SPI2\r
119                 DCD     USART1_IRQHandler         ; USART1\r
120                 DCD     USART2_IRQHandler         ; USART2\r
121                 DCD     USART3_IRQHandler         ; USART3\r
122                 DCD     EXTI15_10_IRQHandler      ; EXTI Line 15..10\r
123                 DCD     RTCAlarm_IRQHandler       ; RTC Alarm through EXTI Line\r
124                 DCD     USBWakeUp_IRQHandler      ; USB Wakeup from suspend\r
125                 DCD     TIM8_BRK_IRQHandler       ; TIM8 Break\r
126                 DCD     TIM8_UP_IRQHandler        ; TIM8 Update\r
127                 DCD     TIM8_TRG_COM_IRQHandler   ; TIM8 Trigger and Commutation\r
128                 DCD     TIM8_CC_IRQHandler        ; TIM8 Capture Compare\r
129                 DCD     ADC3_IRQHandler           ; ADC3\r
130                 DCD     FSMC_IRQHandler           ; FSMC\r
131                 DCD     SDIO_IRQHandler           ; SDIO\r
132                 DCD     TIM5_IRQHandler           ; TIM5\r
133                 DCD     SPI3_IRQHandler           ; SPI3\r
134                 DCD     UART4_IRQHandler          ; UART4\r
135                 DCD     UART5_IRQHandler          ; UART5\r
136                 DCD     TIM6_IRQHandler           ; TIM6\r
137                 DCD     TIM7_IRQHandler           ; TIM7\r
138                 DCD     DMA2_Channel1_IRQHandler  ; DMA2 Channel1\r
139                 DCD     DMA2_Channel2_IRQHandler  ; DMA2 Channel2\r
140                 DCD     DMA2_Channel3_IRQHandler  ; DMA2 Channel3\r
141                 DCD     DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5\r
142 __Vectors_End\r
143 \r
144 __Vectors_Size  EQU     __Vectors_End - __Vectors\r
145 \r
146                 AREA    |.text|, CODE, READONLY\r
147 \r
148 ; Dummy SystemInit_ExtMemCtl function                \r
149 SystemInit_ExtMemCtl     PROC\r
150                 EXPORT  SystemInit_ExtMemCtl      [WEAK]\r
151                 BX      LR\r
152                 ENDP\r
153                 \r
154 ; Reset handler routine\r
155 Reset_Handler   PROC\r
156                 EXPORT  Reset_Handler             [WEAK]\r
157                 IMPORT  __main\r
158 \r
159                 LDR     R0, = SystemInit_ExtMemCtl ; initialize external memory controller\r
160                 BLX     R0\r
161 \r
162                 LDR     R1, = __initial_sp        ; restore original stack pointer\r
163                 MSR     MSP, R1                   \r
164 \r
165                 LDR     R0, =__main\r
166                 BX      R0\r
167                 ENDP\r
168                 \r
169 ; Dummy Exception Handlers (infinite loops which can be modified)\r
170 \r
171 NMI_Handler     PROC\r
172                 EXPORT  NMI_Handler                [WEAK]\r
173                 B       .\r
174                 ENDP\r
175 HardFault_Handler\\r
176                 PROC\r
177                 EXPORT  HardFault_Handler          [WEAK]\r
178                 B       .\r
179                 ENDP\r
180 MemManage_Handler\\r
181                 PROC\r
182                 EXPORT  MemManage_Handler          [WEAK]\r
183                 B       .\r
184                 ENDP\r
185 BusFault_Handler\\r
186                 PROC\r
187                 EXPORT  BusFault_Handler           [WEAK]\r
188                 B       .\r
189                 ENDP\r
190 UsageFault_Handler\\r
191                 PROC\r
192                 EXPORT  UsageFault_Handler         [WEAK]\r
193                 B       .\r
194                 ENDP\r
195 SVC_Handler     PROC\r
196                 EXPORT  SVC_Handler                [WEAK]\r
197                 B       .\r
198                 ENDP\r
199 DebugMon_Handler\\r
200                 PROC\r
201                 EXPORT  DebugMon_Handler           [WEAK]\r
202                 B       .\r
203                 ENDP\r
204 PendSV_Handler  PROC\r
205                 EXPORT  PendSV_Handler             [WEAK]\r
206                 B       .\r
207                 ENDP\r
208 SysTick_Handler PROC\r
209                 EXPORT  SysTick_Handler            [WEAK]\r
210                 B       .\r
211                 ENDP\r
212 \r
213 Default_Handler PROC\r
214 \r
215                 EXPORT  WWDG_IRQHandler            [WEAK]\r
216                 EXPORT  PVD_IRQHandler             [WEAK]\r
217                 EXPORT  TAMPER_IRQHandler          [WEAK]\r
218                 EXPORT  RTC_IRQHandler             [WEAK]\r
219                 EXPORT  FLASH_IRQHandler           [WEAK]\r
220                 EXPORT  RCC_IRQHandler             [WEAK]\r
221                 EXPORT  EXTI0_IRQHandler           [WEAK]\r
222                 EXPORT  EXTI1_IRQHandler           [WEAK]\r
223                 EXPORT  EXTI2_IRQHandler           [WEAK]\r
224                 EXPORT  EXTI3_IRQHandler           [WEAK]\r
225                 EXPORT  EXTI4_IRQHandler           [WEAK]\r
226                 EXPORT  DMA1_Channel1_IRQHandler   [WEAK]\r
227                 EXPORT  DMA1_Channel2_IRQHandler   [WEAK]\r
228                 EXPORT  DMA1_Channel3_IRQHandler   [WEAK]\r
229                 EXPORT  DMA1_Channel4_IRQHandler   [WEAK]\r
230                 EXPORT  DMA1_Channel5_IRQHandler   [WEAK]\r
231                 EXPORT  DMA1_Channel6_IRQHandler   [WEAK]\r
232                 EXPORT  DMA1_Channel7_IRQHandler   [WEAK]\r
233                 EXPORT  ADC1_2_IRQHandler          [WEAK]\r
234                 EXPORT  USB_HP_CAN1_TX_IRQHandler  [WEAK]\r
235                 EXPORT  USB_LP_CAN1_RX0_IRQHandler [WEAK]\r
236                 EXPORT  CAN1_RX1_IRQHandler        [WEAK]\r
237                 EXPORT  CAN1_SCE_IRQHandler        [WEAK]\r
238                 EXPORT  EXTI9_5_IRQHandler         [WEAK]\r
239                 EXPORT  TIM1_BRK_IRQHandler        [WEAK]\r
240                 EXPORT  TIM1_UP_IRQHandler         [WEAK]\r
241                 EXPORT  TIM1_TRG_COM_IRQHandler    [WEAK]\r
242                 EXPORT  TIM1_CC_IRQHandler         [WEAK]\r
243                 EXPORT  TIM2_IRQHandler            [WEAK]\r
244                 EXPORT  TIM3_IRQHandler            [WEAK]\r
245                 EXPORT  TIM4_IRQHandler            [WEAK]\r
246                 EXPORT  I2C1_EV_IRQHandler         [WEAK]\r
247                 EXPORT  I2C1_ER_IRQHandler         [WEAK]\r
248                 EXPORT  I2C2_EV_IRQHandler         [WEAK]\r
249                 EXPORT  I2C2_ER_IRQHandler         [WEAK]\r
250                 EXPORT  SPI1_IRQHandler            [WEAK]\r
251                 EXPORT  SPI2_IRQHandler            [WEAK]\r
252                 EXPORT  USART1_IRQHandler          [WEAK]\r
253                 EXPORT  USART2_IRQHandler          [WEAK]\r
254                 EXPORT  USART3_IRQHandler          [WEAK]\r
255                 EXPORT  EXTI15_10_IRQHandler       [WEAK]\r
256                 EXPORT  RTCAlarm_IRQHandler        [WEAK]\r
257                 EXPORT  USBWakeUp_IRQHandler       [WEAK]\r
258                 EXPORT  TIM8_BRK_IRQHandler        [WEAK]\r
259                 EXPORT  TIM8_UP_IRQHandler         [WEAK]\r
260                 EXPORT  TIM8_TRG_COM_IRQHandler    [WEAK]\r
261                 EXPORT  TIM8_CC_IRQHandler         [WEAK]\r
262                 EXPORT  ADC3_IRQHandler            [WEAK]\r
263                 EXPORT  FSMC_IRQHandler            [WEAK]\r
264                 EXPORT  SDIO_IRQHandler            [WEAK]\r
265                 EXPORT  TIM5_IRQHandler            [WEAK]\r
266                 EXPORT  SPI3_IRQHandler            [WEAK]\r
267                 EXPORT  UART4_IRQHandler           [WEAK]\r
268                 EXPORT  UART5_IRQHandler           [WEAK]\r
269                 EXPORT  TIM6_IRQHandler            [WEAK]\r
270                 EXPORT  TIM7_IRQHandler            [WEAK]\r
271                 EXPORT  DMA2_Channel1_IRQHandler   [WEAK]\r
272                 EXPORT  DMA2_Channel2_IRQHandler   [WEAK]\r
273                 EXPORT  DMA2_Channel3_IRQHandler   [WEAK]\r
274                 EXPORT  DMA2_Channel4_5_IRQHandler [WEAK]\r
275 \r
276 WWDG_IRQHandler\r
277 PVD_IRQHandler\r
278 TAMPER_IRQHandler\r
279 RTC_IRQHandler\r
280 FLASH_IRQHandler\r
281 RCC_IRQHandler\r
282 EXTI0_IRQHandler\r
283 EXTI1_IRQHandler\r
284 EXTI2_IRQHandler\r
285 EXTI3_IRQHandler\r
286 EXTI4_IRQHandler\r
287 DMA1_Channel1_IRQHandler\r
288 DMA1_Channel2_IRQHandler\r
289 DMA1_Channel3_IRQHandler\r
290 DMA1_Channel4_IRQHandler\r
291 DMA1_Channel5_IRQHandler\r
292 DMA1_Channel6_IRQHandler\r
293 DMA1_Channel7_IRQHandler\r
294 ADC1_2_IRQHandler\r
295 USB_HP_CAN1_TX_IRQHandler\r
296 USB_LP_CAN1_RX0_IRQHandler\r
297 CAN1_RX1_IRQHandler\r
298 CAN1_SCE_IRQHandler\r
299 EXTI9_5_IRQHandler\r
300 TIM1_BRK_IRQHandler\r
301 TIM1_UP_IRQHandler\r
302 TIM1_TRG_COM_IRQHandler\r
303 TIM1_CC_IRQHandler\r
304 TIM2_IRQHandler\r
305 TIM3_IRQHandler\r
306 TIM4_IRQHandler\r
307 I2C1_EV_IRQHandler\r
308 I2C1_ER_IRQHandler\r
309 I2C2_EV_IRQHandler\r
310 I2C2_ER_IRQHandler\r
311 SPI1_IRQHandler\r
312 SPI2_IRQHandler\r
313 USART1_IRQHandler\r
314 USART2_IRQHandler\r
315 USART3_IRQHandler\r
316 EXTI15_10_IRQHandler\r
317 RTCAlarm_IRQHandler\r
318 USBWakeUp_IRQHandler\r
319 TIM8_BRK_IRQHandler\r
320 TIM8_UP_IRQHandler\r
321 TIM8_TRG_COM_IRQHandler\r
322 TIM8_CC_IRQHandler\r
323 ADC3_IRQHandler\r
324 FSMC_IRQHandler\r
325 SDIO_IRQHandler\r
326 TIM5_IRQHandler\r
327 SPI3_IRQHandler\r
328 UART4_IRQHandler\r
329 UART5_IRQHandler\r
330 TIM6_IRQHandler\r
331 TIM7_IRQHandler\r
332 DMA2_Channel1_IRQHandler\r
333 DMA2_Channel2_IRQHandler\r
334 DMA2_Channel3_IRQHandler\r
335 DMA2_Channel4_5_IRQHandler\r
336                 B       .\r
337 \r
338                 ENDP\r
339 \r
340                 ALIGN\r
341 \r
342 ;*******************************************************************************\r
343 ; User Stack and Heap initialization\r
344 ;*******************************************************************************\r
345                  IF      :DEF:__MICROLIB\r
346                 \r
347                  EXPORT  __initial_sp\r
348                  EXPORT  __heap_base\r
349                  EXPORT  __heap_limit\r
350                 \r
351                  ELSE\r
352                 \r
353                  IMPORT  __use_two_region_memory\r
354                  EXPORT  __user_initial_stackheap\r
355                  \r
356 __user_initial_stackheap\r
357 \r
358                  LDR     R0, =  Heap_Mem\r
359                  LDR     R1, =(Stack_Mem + Stack_Size)\r
360                  LDR     R2, = (Heap_Mem +  Heap_Size)\r
361                  LDR     R3, = Stack_Mem\r
362                  BX      LR\r
363 \r
364                  ALIGN\r
365 \r
366                  ENDIF\r
367 \r
368                  END\r
369 \r
370 ;******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE*****\r