Rev 19 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | mjames | 1 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 1 |
16 | mjames | 2 | |
3 | |||
4 | 1 .cpu cortex-m3 |
||
5 | 2 .eabi_attribute 20, 1 |
||
6 | 3 .eabi_attribute 21, 1 |
||
7 | 4 .eabi_attribute 23, 3 |
||
8 | 5 .eabi_attribute 24, 1 |
||
9 | 6 .eabi_attribute 25, 1 |
||
10 | 7 .eabi_attribute 26, 1 |
||
11 | 8 .eabi_attribute 30, 1 |
||
12 | 9 .eabi_attribute 34, 1 |
||
13 | 10 .eabi_attribute 18, 4 |
||
14 | 11 .file "system_stm32f1xx.c" |
||
15 | 12 .text |
||
16 | 13 .Ltext0: |
||
17 | 14 .cfi_sections .debug_frame |
||
18 | 15 .section .text.SystemInit,"ax",%progbits |
||
19 | 16 .align 1 |
||
20 | 17 .global SystemInit |
||
21 | 18 .arch armv7-m |
||
22 | 19 .syntax unified |
||
23 | 20 .thumb |
||
24 | 21 .thumb_func |
||
25 | 22 .fpu softvfp |
||
26 | 24 SystemInit: |
||
27 | 25 .LFB65: |
||
28 | 26 .file 1 "Core/Src/system_stm32f1xx.c" |
||
29 | 1:Core/Src/system_stm32f1xx.c **** /** |
||
30 | 2:Core/Src/system_stm32f1xx.c **** ****************************************************************************** |
||
31 | 3:Core/Src/system_stm32f1xx.c **** * @file system_stm32f1xx.c |
||
32 | 4:Core/Src/system_stm32f1xx.c **** * @author MCD Application Team |
||
33 | 5:Core/Src/system_stm32f1xx.c **** * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. |
||
34 | 6:Core/Src/system_stm32f1xx.c **** * |
||
35 | 7:Core/Src/system_stm32f1xx.c **** * 1. This file provides two functions and one global variable to be called from |
||
36 | 8:Core/Src/system_stm32f1xx.c **** * user application: |
||
37 | 9:Core/Src/system_stm32f1xx.c **** * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier |
||
38 | 10:Core/Src/system_stm32f1xx.c **** * factors, AHB/APBx prescalers and Flash settings). |
||
39 | 11:Core/Src/system_stm32f1xx.c **** * This function is called at startup just after reset and |
||
40 | 12:Core/Src/system_stm32f1xx.c **** * before branch to main program. This call is made inside |
||
41 | 13:Core/Src/system_stm32f1xx.c **** * the "startup_stm32f1xx_xx.s" file. |
||
42 | 14:Core/Src/system_stm32f1xx.c **** * |
||
43 | 15:Core/Src/system_stm32f1xx.c **** * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used |
||
44 | 16:Core/Src/system_stm32f1xx.c **** * by the user application to setup the SysTick |
||
45 | 17:Core/Src/system_stm32f1xx.c **** * timer or configure other parameters. |
||
46 | 18:Core/Src/system_stm32f1xx.c **** * |
||
47 | 19:Core/Src/system_stm32f1xx.c **** * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must |
||
48 | 20:Core/Src/system_stm32f1xx.c **** * be called whenever the core clock is changed |
||
49 | 21:Core/Src/system_stm32f1xx.c **** * during program execution. |
||
50 | 22:Core/Src/system_stm32f1xx.c **** * |
||
51 | 23:Core/Src/system_stm32f1xx.c **** * 2. After each device reset the HSI (8 MHz) is used as system clock source. |
||
52 | 24:Core/Src/system_stm32f1xx.c **** * Then SystemInit() function is called, in "startup_stm32f1xx_xx.s" file, to |
||
53 | 25:Core/Src/system_stm32f1xx.c **** * configure the system clock before to branch to main program. |
||
54 | 26:Core/Src/system_stm32f1xx.c **** * |
||
55 | 27:Core/Src/system_stm32f1xx.c **** * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depending on |
||
56 | 28:Core/Src/system_stm32f1xx.c **** * the product used), refer to "HSE_VALUE". |
||
57 | 29:Core/Src/system_stm32f1xx.c **** * When HSE is used as system clock source, directly or through PLL, and you |
||
58 | 30:Core/Src/system_stm32f1xx.c **** * are using different crystal you have to adapt the HSE value to your own |
||
59 | 31:Core/Src/system_stm32f1xx.c **** * configuration. |
||
60 | 32:Core/Src/system_stm32f1xx.c **** * |
||
20 | mjames | 61 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 2 |
16 | mjames | 62 | |
63 | |||
64 | 33:Core/Src/system_stm32f1xx.c **** ****************************************************************************** |
||
65 | 34:Core/Src/system_stm32f1xx.c **** * @attention |
||
66 | 35:Core/Src/system_stm32f1xx.c **** * |
||
67 | 36:Core/Src/system_stm32f1xx.c **** * <h2><center>© Copyright (c) 2017 STMicroelectronics. |
||
68 | 37:Core/Src/system_stm32f1xx.c **** * All rights reserved.</center></h2> |
||
69 | 38:Core/Src/system_stm32f1xx.c **** * |
||
70 | 39:Core/Src/system_stm32f1xx.c **** * This software component is licensed by ST under BSD 3-Clause license, |
||
71 | 40:Core/Src/system_stm32f1xx.c **** * the "License"; You may not use this file except in compliance with the |
||
72 | 41:Core/Src/system_stm32f1xx.c **** * License. You may obtain a copy of the License at: |
||
73 | 42:Core/Src/system_stm32f1xx.c **** * opensource.org/licenses/BSD-3-Clause |
||
74 | 43:Core/Src/system_stm32f1xx.c **** * |
||
75 | 44:Core/Src/system_stm32f1xx.c **** ****************************************************************************** |
||
76 | 45:Core/Src/system_stm32f1xx.c **** */ |
||
77 | 46:Core/Src/system_stm32f1xx.c **** |
||
78 | 47:Core/Src/system_stm32f1xx.c **** /** @addtogroup CMSIS |
||
79 | 48:Core/Src/system_stm32f1xx.c **** * @{ |
||
80 | 49:Core/Src/system_stm32f1xx.c **** */ |
||
81 | 50:Core/Src/system_stm32f1xx.c **** |
||
82 | 51:Core/Src/system_stm32f1xx.c **** /** @addtogroup stm32f1xx_system |
||
83 | 52:Core/Src/system_stm32f1xx.c **** * @{ |
||
84 | 53:Core/Src/system_stm32f1xx.c **** */ |
||
85 | 54:Core/Src/system_stm32f1xx.c **** |
||
86 | 55:Core/Src/system_stm32f1xx.c **** /** @addtogroup STM32F1xx_System_Private_Includes |
||
87 | 56:Core/Src/system_stm32f1xx.c **** * @{ |
||
88 | 57:Core/Src/system_stm32f1xx.c **** */ |
||
89 | 58:Core/Src/system_stm32f1xx.c **** |
||
90 | 59:Core/Src/system_stm32f1xx.c **** #include "stm32f1xx.h" |
||
91 | 60:Core/Src/system_stm32f1xx.c **** |
||
92 | 61:Core/Src/system_stm32f1xx.c **** /** |
||
93 | 62:Core/Src/system_stm32f1xx.c **** * @} |
||
94 | 63:Core/Src/system_stm32f1xx.c **** */ |
||
95 | 64:Core/Src/system_stm32f1xx.c **** |
||
96 | 65:Core/Src/system_stm32f1xx.c **** /** @addtogroup STM32F1xx_System_Private_TypesDefinitions |
||
97 | 66:Core/Src/system_stm32f1xx.c **** * @{ |
||
98 | 67:Core/Src/system_stm32f1xx.c **** */ |
||
99 | 68:Core/Src/system_stm32f1xx.c **** |
||
100 | 69:Core/Src/system_stm32f1xx.c **** /** |
||
101 | 70:Core/Src/system_stm32f1xx.c **** * @} |
||
102 | 71:Core/Src/system_stm32f1xx.c **** */ |
||
103 | 72:Core/Src/system_stm32f1xx.c **** |
||
104 | 73:Core/Src/system_stm32f1xx.c **** /** @addtogroup STM32F1xx_System_Private_Defines |
||
105 | 74:Core/Src/system_stm32f1xx.c **** * @{ |
||
106 | 75:Core/Src/system_stm32f1xx.c **** */ |
||
107 | 76:Core/Src/system_stm32f1xx.c **** |
||
108 | 77:Core/Src/system_stm32f1xx.c **** #if !defined (HSE_VALUE) |
||
109 | 78:Core/Src/system_stm32f1xx.c **** #define HSE_VALUE 8000000U /*!< Default value of the External oscillator in Hz. |
||
110 | 79:Core/Src/system_stm32f1xx.c **** This value can be provided and adapted by the user |
||
111 | 80:Core/Src/system_stm32f1xx.c **** #endif /* HSE_VALUE */ |
||
112 | 81:Core/Src/system_stm32f1xx.c **** |
||
113 | 82:Core/Src/system_stm32f1xx.c **** #if !defined (HSI_VALUE) |
||
114 | 83:Core/Src/system_stm32f1xx.c **** #define HSI_VALUE 8000000U /*!< Default value of the Internal oscillator in Hz. |
||
115 | 84:Core/Src/system_stm32f1xx.c **** This value can be provided and adapted by the user |
||
116 | 85:Core/Src/system_stm32f1xx.c **** #endif /* HSI_VALUE */ |
||
117 | 86:Core/Src/system_stm32f1xx.c **** |
||
118 | 87:Core/Src/system_stm32f1xx.c **** /*!< Uncomment the following line if you need to use external SRAM */ |
||
119 | 88:Core/Src/system_stm32f1xx.c **** #if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || |
||
120 | 89:Core/Src/system_stm32f1xx.c **** /* #define DATA_IN_ExtSRAM */ |
||
20 | mjames | 121 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 3 |
16 | mjames | 122 | |
123 | |||
124 | 90:Core/Src/system_stm32f1xx.c **** #endif /* STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */ |
||
125 | 91:Core/Src/system_stm32f1xx.c **** |
||
126 | 92:Core/Src/system_stm32f1xx.c **** /*!< Uncomment the following line if you need to relocate your vector Table in |
||
127 | 93:Core/Src/system_stm32f1xx.c **** Internal SRAM. */ |
||
128 | 94:Core/Src/system_stm32f1xx.c **** /* #define VECT_TAB_SRAM */ |
||
129 | 95:Core/Src/system_stm32f1xx.c **** #define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. |
||
130 | 96:Core/Src/system_stm32f1xx.c **** This value must be a multiple of 0x200. */ |
||
131 | 97:Core/Src/system_stm32f1xx.c **** |
||
132 | 98:Core/Src/system_stm32f1xx.c **** |
||
133 | 99:Core/Src/system_stm32f1xx.c **** /** |
||
134 | 100:Core/Src/system_stm32f1xx.c **** * @} |
||
135 | 101:Core/Src/system_stm32f1xx.c **** */ |
||
136 | 102:Core/Src/system_stm32f1xx.c **** |
||
137 | 103:Core/Src/system_stm32f1xx.c **** /** @addtogroup STM32F1xx_System_Private_Macros |
||
138 | 104:Core/Src/system_stm32f1xx.c **** * @{ |
||
139 | 105:Core/Src/system_stm32f1xx.c **** */ |
||
140 | 106:Core/Src/system_stm32f1xx.c **** |
||
141 | 107:Core/Src/system_stm32f1xx.c **** /** |
||
142 | 108:Core/Src/system_stm32f1xx.c **** * @} |
||
143 | 109:Core/Src/system_stm32f1xx.c **** */ |
||
144 | 110:Core/Src/system_stm32f1xx.c **** |
||
145 | 111:Core/Src/system_stm32f1xx.c **** /** @addtogroup STM32F1xx_System_Private_Variables |
||
146 | 112:Core/Src/system_stm32f1xx.c **** * @{ |
||
147 | 113:Core/Src/system_stm32f1xx.c **** */ |
||
148 | 114:Core/Src/system_stm32f1xx.c **** |
||
149 | 115:Core/Src/system_stm32f1xx.c **** /* This variable is updated in three ways: |
||
150 | 116:Core/Src/system_stm32f1xx.c **** 1) by calling CMSIS function SystemCoreClockUpdate() |
||
151 | 117:Core/Src/system_stm32f1xx.c **** 2) by calling HAL API function HAL_RCC_GetHCLKFreq() |
||
152 | 118:Core/Src/system_stm32f1xx.c **** 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency |
||
153 | 119:Core/Src/system_stm32f1xx.c **** Note: If you use this function to configure the system clock; then there |
||
154 | 120:Core/Src/system_stm32f1xx.c **** is no need to call the 2 first functions listed above, since SystemCoreClock |
||
155 | 121:Core/Src/system_stm32f1xx.c **** variable is updated automatically. |
||
156 | 122:Core/Src/system_stm32f1xx.c **** */ |
||
157 | 123:Core/Src/system_stm32f1xx.c **** uint32_t SystemCoreClock = 16000000; |
||
158 | 124:Core/Src/system_stm32f1xx.c **** const uint8_t AHBPrescTable[16U] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; |
||
159 | 125:Core/Src/system_stm32f1xx.c **** const uint8_t APBPrescTable[8U] = {0, 0, 0, 0, 1, 2, 3, 4}; |
||
160 | 126:Core/Src/system_stm32f1xx.c **** |
||
161 | 127:Core/Src/system_stm32f1xx.c **** /** |
||
162 | 128:Core/Src/system_stm32f1xx.c **** * @} |
||
163 | 129:Core/Src/system_stm32f1xx.c **** */ |
||
164 | 130:Core/Src/system_stm32f1xx.c **** |
||
165 | 131:Core/Src/system_stm32f1xx.c **** /** @addtogroup STM32F1xx_System_Private_FunctionPrototypes |
||
166 | 132:Core/Src/system_stm32f1xx.c **** * @{ |
||
167 | 133:Core/Src/system_stm32f1xx.c **** */ |
||
168 | 134:Core/Src/system_stm32f1xx.c **** |
||
169 | 135:Core/Src/system_stm32f1xx.c **** #if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || |
||
170 | 136:Core/Src/system_stm32f1xx.c **** #ifdef DATA_IN_ExtSRAM |
||
171 | 137:Core/Src/system_stm32f1xx.c **** static void SystemInit_ExtMemCtl(void); |
||
172 | 138:Core/Src/system_stm32f1xx.c **** #endif /* DATA_IN_ExtSRAM */ |
||
173 | 139:Core/Src/system_stm32f1xx.c **** #endif /* STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */ |
||
174 | 140:Core/Src/system_stm32f1xx.c **** |
||
175 | 141:Core/Src/system_stm32f1xx.c **** /** |
||
176 | 142:Core/Src/system_stm32f1xx.c **** * @} |
||
177 | 143:Core/Src/system_stm32f1xx.c **** */ |
||
178 | 144:Core/Src/system_stm32f1xx.c **** |
||
179 | 145:Core/Src/system_stm32f1xx.c **** /** @addtogroup STM32F1xx_System_Private_Functions |
||
180 | 146:Core/Src/system_stm32f1xx.c **** * @{ |
||
20 | mjames | 181 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 4 |
16 | mjames | 182 | |
183 | |||
184 | 147:Core/Src/system_stm32f1xx.c **** */ |
||
185 | 148:Core/Src/system_stm32f1xx.c **** |
||
186 | 149:Core/Src/system_stm32f1xx.c **** /** |
||
187 | 150:Core/Src/system_stm32f1xx.c **** * @brief Setup the microcontroller system |
||
188 | 151:Core/Src/system_stm32f1xx.c **** * Initialize the Embedded Flash Interface, the PLL and update the |
||
189 | 152:Core/Src/system_stm32f1xx.c **** * SystemCoreClock variable. |
||
190 | 153:Core/Src/system_stm32f1xx.c **** * @note This function should be used only after reset. |
||
191 | 154:Core/Src/system_stm32f1xx.c **** * @param None |
||
192 | 155:Core/Src/system_stm32f1xx.c **** * @retval None |
||
193 | 156:Core/Src/system_stm32f1xx.c **** */ |
||
194 | 157:Core/Src/system_stm32f1xx.c **** void SystemInit (void) |
||
195 | 158:Core/Src/system_stm32f1xx.c **** { |
||
196 | 27 .loc 1 158 1 view -0 |
||
197 | 28 .cfi_startproc |
||
198 | 29 @ args = 0, pretend = 0, frame = 0 |
||
199 | 30 @ frame_needed = 0, uses_anonymous_args = 0 |
||
200 | 31 @ link register save eliminated. |
||
201 | 159:Core/Src/system_stm32f1xx.c **** /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ |
||
202 | 160:Core/Src/system_stm32f1xx.c **** /* Set HSION bit */ |
||
203 | 161:Core/Src/system_stm32f1xx.c **** RCC->CR |= 0x00000001U; |
||
204 | 32 .loc 1 161 3 view .LVU1 |
||
205 | 33 .loc 1 161 11 is_stmt 0 view .LVU2 |
||
206 | 34 0000 0F4B ldr r3, .L2 |
||
207 | 35 0002 1A68 ldr r2, [r3] |
||
208 | 36 0004 42F00102 orr r2, r2, #1 |
||
209 | 37 0008 1A60 str r2, [r3] |
||
210 | 162:Core/Src/system_stm32f1xx.c **** |
||
211 | 163:Core/Src/system_stm32f1xx.c **** /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ |
||
212 | 164:Core/Src/system_stm32f1xx.c **** #if !defined(STM32F105xC) && !defined(STM32F107xC) |
||
213 | 165:Core/Src/system_stm32f1xx.c **** RCC->CFGR &= 0xF8FF0000U; |
||
214 | 38 .loc 1 165 3 is_stmt 1 view .LVU3 |
||
215 | 39 .loc 1 165 13 is_stmt 0 view .LVU4 |
||
216 | 40 000a 5968 ldr r1, [r3, #4] |
||
217 | 41 000c 0D4A ldr r2, .L2+4 |
||
218 | 42 000e 0A40 ands r2, r2, r1 |
||
219 | 43 0010 5A60 str r2, [r3, #4] |
||
220 | 166:Core/Src/system_stm32f1xx.c **** #else |
||
221 | 167:Core/Src/system_stm32f1xx.c **** RCC->CFGR &= 0xF0FF0000U; |
||
222 | 168:Core/Src/system_stm32f1xx.c **** #endif /* STM32F105xC */ |
||
223 | 169:Core/Src/system_stm32f1xx.c **** |
||
224 | 170:Core/Src/system_stm32f1xx.c **** /* Reset HSEON, CSSON and PLLON bits */ |
||
225 | 171:Core/Src/system_stm32f1xx.c **** RCC->CR &= 0xFEF6FFFFU; |
||
226 | 44 .loc 1 171 3 is_stmt 1 view .LVU5 |
||
227 | 45 .loc 1 171 11 is_stmt 0 view .LVU6 |
||
228 | 46 0012 1A68 ldr r2, [r3] |
||
229 | 47 0014 22F08472 bic r2, r2, #17301504 |
||
230 | 48 0018 22F48032 bic r2, r2, #65536 |
||
231 | 49 001c 1A60 str r2, [r3] |
||
232 | 172:Core/Src/system_stm32f1xx.c **** |
||
233 | 173:Core/Src/system_stm32f1xx.c **** /* Reset HSEBYP bit */ |
||
234 | 174:Core/Src/system_stm32f1xx.c **** RCC->CR &= 0xFFFBFFFFU; |
||
235 | 50 .loc 1 174 3 is_stmt 1 view .LVU7 |
||
236 | 51 .loc 1 174 11 is_stmt 0 view .LVU8 |
||
237 | 52 001e 1A68 ldr r2, [r3] |
||
238 | 53 0020 22F48022 bic r2, r2, #262144 |
||
239 | 54 0024 1A60 str r2, [r3] |
||
240 | 175:Core/Src/system_stm32f1xx.c **** |
||
20 | mjames | 241 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 5 |
16 | mjames | 242 | |
243 | |||
244 | 176:Core/Src/system_stm32f1xx.c **** /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ |
||
245 | 177:Core/Src/system_stm32f1xx.c **** RCC->CFGR &= 0xFF80FFFFU; |
||
246 | 55 .loc 1 177 3 is_stmt 1 view .LVU9 |
||
247 | 56 .loc 1 177 13 is_stmt 0 view .LVU10 |
||
248 | 57 0026 5A68 ldr r2, [r3, #4] |
||
249 | 58 0028 22F4FE02 bic r2, r2, #8323072 |
||
250 | 59 002c 5A60 str r2, [r3, #4] |
||
251 | 178:Core/Src/system_stm32f1xx.c **** |
||
252 | 179:Core/Src/system_stm32f1xx.c **** #if defined(STM32F105xC) || defined(STM32F107xC) |
||
253 | 180:Core/Src/system_stm32f1xx.c **** /* Reset PLL2ON and PLL3ON bits */ |
||
254 | 181:Core/Src/system_stm32f1xx.c **** RCC->CR &= 0xEBFFFFFFU; |
||
255 | 182:Core/Src/system_stm32f1xx.c **** |
||
256 | 183:Core/Src/system_stm32f1xx.c **** /* Disable all interrupts and clear pending bits */ |
||
257 | 184:Core/Src/system_stm32f1xx.c **** RCC->CIR = 0x00FF0000U; |
||
258 | 185:Core/Src/system_stm32f1xx.c **** |
||
259 | 186:Core/Src/system_stm32f1xx.c **** /* Reset CFGR2 register */ |
||
260 | 187:Core/Src/system_stm32f1xx.c **** RCC->CFGR2 = 0x00000000U; |
||
261 | 188:Core/Src/system_stm32f1xx.c **** #elif defined(STM32F100xB) || defined(STM32F100xE) |
||
262 | 189:Core/Src/system_stm32f1xx.c **** /* Disable all interrupts and clear pending bits */ |
||
263 | 190:Core/Src/system_stm32f1xx.c **** RCC->CIR = 0x009F0000U; |
||
264 | 191:Core/Src/system_stm32f1xx.c **** |
||
265 | 192:Core/Src/system_stm32f1xx.c **** /* Reset CFGR2 register */ |
||
266 | 193:Core/Src/system_stm32f1xx.c **** RCC->CFGR2 = 0x00000000U; |
||
267 | 194:Core/Src/system_stm32f1xx.c **** #else |
||
268 | 195:Core/Src/system_stm32f1xx.c **** /* Disable all interrupts and clear pending bits */ |
||
269 | 196:Core/Src/system_stm32f1xx.c **** RCC->CIR = 0x009F0000U; |
||
270 | 60 .loc 1 196 3 is_stmt 1 view .LVU11 |
||
271 | 61 .loc 1 196 12 is_stmt 0 view .LVU12 |
||
272 | 62 002e 4FF41F02 mov r2, #10420224 |
||
273 | 63 0032 9A60 str r2, [r3, #8] |
||
274 | 197:Core/Src/system_stm32f1xx.c **** #endif /* STM32F105xC */ |
||
275 | 198:Core/Src/system_stm32f1xx.c **** |
||
276 | 199:Core/Src/system_stm32f1xx.c **** #if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || |
||
277 | 200:Core/Src/system_stm32f1xx.c **** #ifdef DATA_IN_ExtSRAM |
||
278 | 201:Core/Src/system_stm32f1xx.c **** SystemInit_ExtMemCtl(); |
||
279 | 202:Core/Src/system_stm32f1xx.c **** #endif /* DATA_IN_ExtSRAM */ |
||
280 | 203:Core/Src/system_stm32f1xx.c **** #endif |
||
281 | 204:Core/Src/system_stm32f1xx.c **** |
||
282 | 205:Core/Src/system_stm32f1xx.c **** #ifdef VECT_TAB_SRAM |
||
283 | 206:Core/Src/system_stm32f1xx.c **** SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ |
||
284 | 207:Core/Src/system_stm32f1xx.c **** #else |
||
285 | 208:Core/Src/system_stm32f1xx.c **** SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ |
||
286 | 64 .loc 1 208 3 is_stmt 1 view .LVU13 |
||
287 | 65 .loc 1 208 13 is_stmt 0 view .LVU14 |
||
288 | 66 0034 044B ldr r3, .L2+8 |
||
289 | 67 0036 4FF00062 mov r2, #134217728 |
||
290 | 68 003a 9A60 str r2, [r3, #8] |
||
291 | 209:Core/Src/system_stm32f1xx.c **** #endif |
||
292 | 210:Core/Src/system_stm32f1xx.c **** } |
||
293 | 69 .loc 1 210 1 view .LVU15 |
||
294 | 70 003c 7047 bx lr |
||
295 | 71 .L3: |
||
296 | 72 003e 00BF .align 2 |
||
297 | 73 .L2: |
||
298 | 74 0040 00100240 .word 1073876992 |
||
299 | 75 0044 0000FFF8 .word -117506048 |
||
300 | 76 0048 00ED00E0 .word -536810240 |
||
20 | mjames | 301 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 6 |
16 | mjames | 302 | |
303 | |||
304 | 77 .cfi_endproc |
||
305 | 78 .LFE65: |
||
306 | 80 .section .text.SystemCoreClockUpdate,"ax",%progbits |
||
307 | 81 .align 1 |
||
308 | 82 .global SystemCoreClockUpdate |
||
309 | 83 .syntax unified |
||
310 | 84 .thumb |
||
311 | 85 .thumb_func |
||
312 | 86 .fpu softvfp |
||
313 | 88 SystemCoreClockUpdate: |
||
314 | 89 .LFB66: |
||
315 | 211:Core/Src/system_stm32f1xx.c **** |
||
316 | 212:Core/Src/system_stm32f1xx.c **** /** |
||
317 | 213:Core/Src/system_stm32f1xx.c **** * @brief Update SystemCoreClock variable according to Clock Register Values. |
||
318 | 214:Core/Src/system_stm32f1xx.c **** * The SystemCoreClock variable contains the core clock (HCLK), it can |
||
319 | 215:Core/Src/system_stm32f1xx.c **** * be used by the user application to setup the SysTick timer or configure |
||
320 | 216:Core/Src/system_stm32f1xx.c **** * other parameters. |
||
321 | 217:Core/Src/system_stm32f1xx.c **** * |
||
322 | 218:Core/Src/system_stm32f1xx.c **** * @note Each time the core clock (HCLK) changes, this function must be called |
||
323 | 219:Core/Src/system_stm32f1xx.c **** * to update SystemCoreClock variable value. Otherwise, any configuration |
||
324 | 220:Core/Src/system_stm32f1xx.c **** * based on this variable will be incorrect. |
||
325 | 221:Core/Src/system_stm32f1xx.c **** * |
||
326 | 222:Core/Src/system_stm32f1xx.c **** * @note - The system frequency computed by this function is not the real |
||
327 | 223:Core/Src/system_stm32f1xx.c **** * frequency in the chip. It is calculated based on the predefined |
||
328 | 224:Core/Src/system_stm32f1xx.c **** * constant and the selected clock source: |
||
329 | 225:Core/Src/system_stm32f1xx.c **** * |
||
330 | 226:Core/Src/system_stm32f1xx.c **** * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) |
||
331 | 227:Core/Src/system_stm32f1xx.c **** * |
||
332 | 228:Core/Src/system_stm32f1xx.c **** * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) |
||
333 | 229:Core/Src/system_stm32f1xx.c **** * |
||
334 | 230:Core/Src/system_stm32f1xx.c **** * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) |
||
335 | 231:Core/Src/system_stm32f1xx.c **** * or HSI_VALUE(*) multiplied by the PLL factors. |
||
336 | 232:Core/Src/system_stm32f1xx.c **** * |
||
337 | 233:Core/Src/system_stm32f1xx.c **** * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value |
||
338 | 234:Core/Src/system_stm32f1xx.c **** * 8 MHz) but the real value may vary depending on the variations |
||
339 | 235:Core/Src/system_stm32f1xx.c **** * in voltage and temperature. |
||
340 | 236:Core/Src/system_stm32f1xx.c **** * |
||
341 | 237:Core/Src/system_stm32f1xx.c **** * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value |
||
342 | 238:Core/Src/system_stm32f1xx.c **** * 8 MHz or 25 MHz, depending on the product used), user has to ensure |
||
343 | 239:Core/Src/system_stm32f1xx.c **** * that HSE_VALUE is same as the real frequency of the crystal used. |
||
344 | 240:Core/Src/system_stm32f1xx.c **** * Otherwise, this function may have wrong result. |
||
345 | 241:Core/Src/system_stm32f1xx.c **** * |
||
346 | 242:Core/Src/system_stm32f1xx.c **** * - The result of this function could be not correct when using fractional |
||
347 | 243:Core/Src/system_stm32f1xx.c **** * value for HSE crystal. |
||
348 | 244:Core/Src/system_stm32f1xx.c **** * @param None |
||
349 | 245:Core/Src/system_stm32f1xx.c **** * @retval None |
||
350 | 246:Core/Src/system_stm32f1xx.c **** */ |
||
351 | 247:Core/Src/system_stm32f1xx.c **** void SystemCoreClockUpdate (void) |
||
352 | 248:Core/Src/system_stm32f1xx.c **** { |
||
353 | 90 .loc 1 248 1 is_stmt 1 view -0 |
||
354 | 91 .cfi_startproc |
||
355 | 92 @ args = 0, pretend = 0, frame = 0 |
||
356 | 93 @ frame_needed = 0, uses_anonymous_args = 0 |
||
357 | 94 @ link register save eliminated. |
||
358 | 249:Core/Src/system_stm32f1xx.c **** uint32_t tmp = 0U, pllmull = 0U, pllsource = 0U; |
||
359 | 95 .loc 1 249 3 view .LVU17 |
||
360 | 96 .LVL0: |
||
20 | mjames | 361 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 7 |
16 | mjames | 362 | |
363 | |||
364 | 250:Core/Src/system_stm32f1xx.c **** |
||
365 | 251:Core/Src/system_stm32f1xx.c **** #if defined(STM32F105xC) || defined(STM32F107xC) |
||
366 | 252:Core/Src/system_stm32f1xx.c **** uint32_t prediv1source = 0U, prediv1factor = 0U, prediv2factor = 0U, pll2mull = 0U; |
||
367 | 253:Core/Src/system_stm32f1xx.c **** #endif /* STM32F105xC */ |
||
368 | 254:Core/Src/system_stm32f1xx.c **** |
||
369 | 255:Core/Src/system_stm32f1xx.c **** #if defined(STM32F100xB) || defined(STM32F100xE) |
||
370 | 256:Core/Src/system_stm32f1xx.c **** uint32_t prediv1factor = 0U; |
||
371 | 257:Core/Src/system_stm32f1xx.c **** #endif /* STM32F100xB or STM32F100xE */ |
||
372 | 258:Core/Src/system_stm32f1xx.c **** |
||
373 | 259:Core/Src/system_stm32f1xx.c **** /* Get SYSCLK source -------------------------------------------------------*/ |
||
374 | 260:Core/Src/system_stm32f1xx.c **** tmp = RCC->CFGR & RCC_CFGR_SWS; |
||
375 | 97 .loc 1 260 3 view .LVU18 |
||
376 | 98 .loc 1 260 12 is_stmt 0 view .LVU19 |
||
377 | 99 0000 1F4B ldr r3, .L12 |
||
378 | 100 0002 5B68 ldr r3, [r3, #4] |
||
379 | 101 .loc 1 260 7 view .LVU20 |
||
380 | 102 0004 03F00C03 and r3, r3, #12 |
||
381 | 103 .LVL1: |
||
382 | 261:Core/Src/system_stm32f1xx.c **** |
||
383 | 262:Core/Src/system_stm32f1xx.c **** switch (tmp) |
||
384 | 104 .loc 1 262 3 is_stmt 1 view .LVU21 |
||
385 | 105 0008 042B cmp r3, #4 |
||
386 | 106 000a 14D0 beq .L5 |
||
387 | 107 000c 082B cmp r3, #8 |
||
388 | 108 000e 16D0 beq .L6 |
||
389 | 109 0010 1BB1 cbz r3, .L11 |
||
390 | 263:Core/Src/system_stm32f1xx.c **** { |
||
391 | 264:Core/Src/system_stm32f1xx.c **** case 0x00U: /* HSI used as system clock */ |
||
392 | 265:Core/Src/system_stm32f1xx.c **** SystemCoreClock = HSI_VALUE; |
||
393 | 266:Core/Src/system_stm32f1xx.c **** break; |
||
394 | 267:Core/Src/system_stm32f1xx.c **** case 0x04U: /* HSE used as system clock */ |
||
395 | 268:Core/Src/system_stm32f1xx.c **** SystemCoreClock = HSE_VALUE; |
||
396 | 269:Core/Src/system_stm32f1xx.c **** break; |
||
397 | 270:Core/Src/system_stm32f1xx.c **** case 0x08U: /* PLL used as system clock */ |
||
398 | 271:Core/Src/system_stm32f1xx.c **** |
||
399 | 272:Core/Src/system_stm32f1xx.c **** /* Get PLL clock source and multiplication factor ----------------------*/ |
||
400 | 273:Core/Src/system_stm32f1xx.c **** pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; |
||
401 | 274:Core/Src/system_stm32f1xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; |
||
402 | 275:Core/Src/system_stm32f1xx.c **** |
||
403 | 276:Core/Src/system_stm32f1xx.c **** #if !defined(STM32F105xC) && !defined(STM32F107xC) |
||
404 | 277:Core/Src/system_stm32f1xx.c **** pllmull = ( pllmull >> 18U) + 2U; |
||
405 | 278:Core/Src/system_stm32f1xx.c **** |
||
406 | 279:Core/Src/system_stm32f1xx.c **** if (pllsource == 0x00U) |
||
407 | 280:Core/Src/system_stm32f1xx.c **** { |
||
408 | 281:Core/Src/system_stm32f1xx.c **** /* HSI oscillator clock divided by 2 selected as PLL clock entry */ |
||
409 | 282:Core/Src/system_stm32f1xx.c **** SystemCoreClock = (HSI_VALUE >> 1U) * pllmull; |
||
410 | 283:Core/Src/system_stm32f1xx.c **** } |
||
411 | 284:Core/Src/system_stm32f1xx.c **** else |
||
412 | 285:Core/Src/system_stm32f1xx.c **** { |
||
413 | 286:Core/Src/system_stm32f1xx.c **** #if defined(STM32F100xB) || defined(STM32F100xE) |
||
414 | 287:Core/Src/system_stm32f1xx.c **** prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1U; |
||
415 | 288:Core/Src/system_stm32f1xx.c **** /* HSE oscillator clock selected as PREDIV1 clock entry */ |
||
416 | 289:Core/Src/system_stm32f1xx.c **** SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; |
||
417 | 290:Core/Src/system_stm32f1xx.c **** #else |
||
418 | 291:Core/Src/system_stm32f1xx.c **** /* HSE selected as PLL clock entry */ |
||
419 | 292:Core/Src/system_stm32f1xx.c **** if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) |
||
420 | 293:Core/Src/system_stm32f1xx.c **** {/* HSE oscillator clock divided by 2 */ |
||
20 | mjames | 421 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 8 |
16 | mjames | 422 | |
423 | |||
424 | 294:Core/Src/system_stm32f1xx.c **** SystemCoreClock = (HSE_VALUE >> 1U) * pllmull; |
||
425 | 295:Core/Src/system_stm32f1xx.c **** } |
||
426 | 296:Core/Src/system_stm32f1xx.c **** else |
||
427 | 297:Core/Src/system_stm32f1xx.c **** { |
||
428 | 298:Core/Src/system_stm32f1xx.c **** SystemCoreClock = HSE_VALUE * pllmull; |
||
429 | 299:Core/Src/system_stm32f1xx.c **** } |
||
430 | 300:Core/Src/system_stm32f1xx.c **** #endif |
||
431 | 301:Core/Src/system_stm32f1xx.c **** } |
||
432 | 302:Core/Src/system_stm32f1xx.c **** #else |
||
433 | 303:Core/Src/system_stm32f1xx.c **** pllmull = pllmull >> 18U; |
||
434 | 304:Core/Src/system_stm32f1xx.c **** |
||
435 | 305:Core/Src/system_stm32f1xx.c **** if (pllmull != 0x0DU) |
||
436 | 306:Core/Src/system_stm32f1xx.c **** { |
||
437 | 307:Core/Src/system_stm32f1xx.c **** pllmull += 2U; |
||
438 | 308:Core/Src/system_stm32f1xx.c **** } |
||
439 | 309:Core/Src/system_stm32f1xx.c **** else |
||
440 | 310:Core/Src/system_stm32f1xx.c **** { /* PLL multiplication factor = PLL input clock * 6.5 */ |
||
441 | 311:Core/Src/system_stm32f1xx.c **** pllmull = 13U / 2U; |
||
442 | 312:Core/Src/system_stm32f1xx.c **** } |
||
443 | 313:Core/Src/system_stm32f1xx.c **** |
||
444 | 314:Core/Src/system_stm32f1xx.c **** if (pllsource == 0x00U) |
||
445 | 315:Core/Src/system_stm32f1xx.c **** { |
||
446 | 316:Core/Src/system_stm32f1xx.c **** /* HSI oscillator clock divided by 2 selected as PLL clock entry */ |
||
447 | 317:Core/Src/system_stm32f1xx.c **** SystemCoreClock = (HSI_VALUE >> 1U) * pllmull; |
||
448 | 318:Core/Src/system_stm32f1xx.c **** } |
||
449 | 319:Core/Src/system_stm32f1xx.c **** else |
||
450 | 320:Core/Src/system_stm32f1xx.c **** {/* PREDIV1 selected as PLL clock entry */ |
||
451 | 321:Core/Src/system_stm32f1xx.c **** |
||
452 | 322:Core/Src/system_stm32f1xx.c **** /* Get PREDIV1 clock source and division factor */ |
||
453 | 323:Core/Src/system_stm32f1xx.c **** prediv1source = RCC->CFGR2 & RCC_CFGR2_PREDIV1SRC; |
||
454 | 324:Core/Src/system_stm32f1xx.c **** prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1U; |
||
455 | 325:Core/Src/system_stm32f1xx.c **** |
||
456 | 326:Core/Src/system_stm32f1xx.c **** if (prediv1source == 0U) |
||
457 | 327:Core/Src/system_stm32f1xx.c **** { |
||
458 | 328:Core/Src/system_stm32f1xx.c **** /* HSE oscillator clock selected as PREDIV1 clock entry */ |
||
459 | 329:Core/Src/system_stm32f1xx.c **** SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; |
||
460 | 330:Core/Src/system_stm32f1xx.c **** } |
||
461 | 331:Core/Src/system_stm32f1xx.c **** else |
||
462 | 332:Core/Src/system_stm32f1xx.c **** {/* PLL2 clock selected as PREDIV1 clock entry */ |
||
463 | 333:Core/Src/system_stm32f1xx.c **** |
||
464 | 334:Core/Src/system_stm32f1xx.c **** /* Get PREDIV2 division factor and PLL2 multiplication factor */ |
||
465 | 335:Core/Src/system_stm32f1xx.c **** prediv2factor = ((RCC->CFGR2 & RCC_CFGR2_PREDIV2) >> 4U) + 1U; |
||
466 | 336:Core/Src/system_stm32f1xx.c **** pll2mull = ((RCC->CFGR2 & RCC_CFGR2_PLL2MUL) >> 8U) + 2U; |
||
467 | 337:Core/Src/system_stm32f1xx.c **** SystemCoreClock = (((HSE_VALUE / prediv2factor) * pll2mull) / prediv1factor) * pllmull; |
||
468 | 338:Core/Src/system_stm32f1xx.c **** } |
||
469 | 339:Core/Src/system_stm32f1xx.c **** } |
||
470 | 340:Core/Src/system_stm32f1xx.c **** #endif /* STM32F105xC */ |
||
471 | 341:Core/Src/system_stm32f1xx.c **** break; |
||
472 | 342:Core/Src/system_stm32f1xx.c **** |
||
473 | 343:Core/Src/system_stm32f1xx.c **** default: |
||
474 | 344:Core/Src/system_stm32f1xx.c **** SystemCoreClock = HSI_VALUE; |
||
475 | 110 .loc 1 344 7 view .LVU22 |
||
476 | 111 .loc 1 344 23 is_stmt 0 view .LVU23 |
||
477 | 112 0012 1C4B ldr r3, .L12+4 |
||
478 | 113 .LVL2: |
||
479 | 114 .loc 1 344 23 view .LVU24 |
||
480 | 115 0014 1C4A ldr r2, .L12+8 |
||
20 | mjames | 481 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 9 |
16 | mjames | 482 | |
483 | |||
484 | 116 0016 1A60 str r2, [r3] |
||
485 | 345:Core/Src/system_stm32f1xx.c **** break; |
||
486 | 117 .loc 1 345 7 is_stmt 1 view .LVU25 |
||
487 | 118 0018 02E0 b .L8 |
||
488 | 119 .LVL3: |
||
489 | 120 .L11: |
||
490 | 265:Core/Src/system_stm32f1xx.c **** break; |
||
491 | 121 .loc 1 265 7 view .LVU26 |
||
492 | 265:Core/Src/system_stm32f1xx.c **** break; |
||
493 | 122 .loc 1 265 23 is_stmt 0 view .LVU27 |
||
494 | 123 001a 1A4B ldr r3, .L12+4 |
||
495 | 124 .LVL4: |
||
496 | 265:Core/Src/system_stm32f1xx.c **** break; |
||
497 | 125 .loc 1 265 23 view .LVU28 |
||
498 | 126 001c 1A4A ldr r2, .L12+8 |
||
499 | 127 001e 1A60 str r2, [r3] |
||
500 | 266:Core/Src/system_stm32f1xx.c **** case 0x04U: /* HSE used as system clock */ |
||
501 | 128 .loc 1 266 7 is_stmt 1 view .LVU29 |
||
502 | 129 .LVL5: |
||
503 | 130 .L8: |
||
504 | 346:Core/Src/system_stm32f1xx.c **** } |
||
505 | 347:Core/Src/system_stm32f1xx.c **** |
||
506 | 348:Core/Src/system_stm32f1xx.c **** /* Compute HCLK clock frequency ----------------*/ |
||
507 | 349:Core/Src/system_stm32f1xx.c **** /* Get HCLK prescaler */ |
||
508 | 350:Core/Src/system_stm32f1xx.c **** tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4U)]; |
||
509 | 131 .loc 1 350 3 view .LVU30 |
||
510 | 132 .loc 1 350 28 is_stmt 0 view .LVU31 |
||
511 | 133 0020 174B ldr r3, .L12 |
||
512 | 134 0022 5B68 ldr r3, [r3, #4] |
||
513 | 135 .loc 1 350 52 view .LVU32 |
||
514 | 136 0024 C3F30313 ubfx r3, r3, #4, #4 |
||
515 | 137 .loc 1 350 22 view .LVU33 |
||
516 | 138 0028 184A ldr r2, .L12+12 |
||
517 | 139 002a D15C ldrb r1, [r2, r3] @ zero_extendqisi2 |
||
518 | 140 .LVL6: |
||
519 | 351:Core/Src/system_stm32f1xx.c **** /* HCLK clock frequency */ |
||
520 | 352:Core/Src/system_stm32f1xx.c **** SystemCoreClock >>= tmp; |
||
521 | 141 .loc 1 352 3 is_stmt 1 view .LVU34 |
||
522 | 142 .loc 1 352 19 is_stmt 0 view .LVU35 |
||
523 | 143 002c 154A ldr r2, .L12+4 |
||
524 | 144 002e 1368 ldr r3, [r2] |
||
525 | 145 0030 CB40 lsrs r3, r3, r1 |
||
526 | 146 0032 1360 str r3, [r2] |
||
527 | 353:Core/Src/system_stm32f1xx.c **** } |
||
528 | 147 .loc 1 353 1 view .LVU36 |
||
529 | 148 0034 7047 bx lr |
||
530 | 149 .LVL7: |
||
531 | 150 .L5: |
||
532 | 268:Core/Src/system_stm32f1xx.c **** break; |
||
533 | 151 .loc 1 268 7 is_stmt 1 view .LVU37 |
||
534 | 268:Core/Src/system_stm32f1xx.c **** break; |
||
535 | 152 .loc 1 268 23 is_stmt 0 view .LVU38 |
||
536 | 153 0036 134B ldr r3, .L12+4 |
||
537 | 154 .LVL8: |
||
538 | 268:Core/Src/system_stm32f1xx.c **** break; |
||
539 | 155 .loc 1 268 23 view .LVU39 |
||
540 | 156 0038 134A ldr r2, .L12+8 |
||
20 | mjames | 541 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 10 |
16 | mjames | 542 | |
543 | |||
544 | 157 003a 1A60 str r2, [r3] |
||
545 | 269:Core/Src/system_stm32f1xx.c **** case 0x08U: /* PLL used as system clock */ |
||
546 | 158 .loc 1 269 7 is_stmt 1 view .LVU40 |
||
547 | 159 003c F0E7 b .L8 |
||
548 | 160 .LVL9: |
||
549 | 161 .L6: |
||
550 | 273:Core/Src/system_stm32f1xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; |
||
551 | 162 .loc 1 273 7 view .LVU41 |
||
552 | 273:Core/Src/system_stm32f1xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; |
||
553 | 163 .loc 1 273 20 is_stmt 0 view .LVU42 |
||
554 | 164 003e 104A ldr r2, .L12 |
||
555 | 165 0040 5368 ldr r3, [r2, #4] |
||
556 | 166 .LVL10: |
||
557 | 274:Core/Src/system_stm32f1xx.c **** |
||
558 | 167 .loc 1 274 7 is_stmt 1 view .LVU43 |
||
559 | 274:Core/Src/system_stm32f1xx.c **** |
||
560 | 168 .loc 1 274 22 is_stmt 0 view .LVU44 |
||
561 | 169 0042 5268 ldr r2, [r2, #4] |
||
562 | 170 .LVL11: |
||
563 | 277:Core/Src/system_stm32f1xx.c **** |
||
564 | 171 .loc 1 277 7 is_stmt 1 view .LVU45 |
||
565 | 277:Core/Src/system_stm32f1xx.c **** |
||
566 | 172 .loc 1 277 27 is_stmt 0 view .LVU46 |
||
567 | 173 0044 C3F38343 ubfx r3, r3, #18, #4 |
||
568 | 174 .LVL12: |
||
569 | 277:Core/Src/system_stm32f1xx.c **** |
||
570 | 175 .loc 1 277 15 view .LVU47 |
||
571 | 176 0048 0233 adds r3, r3, #2 |
||
572 | 177 .LVL13: |
||
573 | 279:Core/Src/system_stm32f1xx.c **** { |
||
574 | 178 .loc 1 279 7 is_stmt 1 view .LVU48 |
||
575 | 279:Core/Src/system_stm32f1xx.c **** { |
||
576 | 179 .loc 1 279 10 is_stmt 0 view .LVU49 |
||
577 | 180 004a 12F4803F tst r2, #65536 |
||
578 | 181 004e 05D1 bne .L9 |
||
579 | 282:Core/Src/system_stm32f1xx.c **** } |
||
580 | 182 .loc 1 282 9 is_stmt 1 view .LVU50 |
||
581 | 282:Core/Src/system_stm32f1xx.c **** } |
||
582 | 183 .loc 1 282 45 is_stmt 0 view .LVU51 |
||
583 | 184 0050 0F4A ldr r2, .L12+16 |
||
584 | 185 .LVL14: |
||
585 | 282:Core/Src/system_stm32f1xx.c **** } |
||
586 | 186 .loc 1 282 45 view .LVU52 |
||
587 | 187 0052 02FB03F3 mul r3, r2, r3 |
||
588 | 188 .LVL15: |
||
589 | 282:Core/Src/system_stm32f1xx.c **** } |
||
590 | 189 .loc 1 282 25 view .LVU53 |
||
591 | 190 0056 0B4A ldr r2, .L12+4 |
||
592 | 191 0058 1360 str r3, [r2] |
||
593 | 192 005a E1E7 b .L8 |
||
594 | 193 .LVL16: |
||
595 | 194 .L9: |
||
596 | 292:Core/Src/system_stm32f1xx.c **** {/* HSE oscillator clock divided by 2 */ |
||
597 | 195 .loc 1 292 9 is_stmt 1 view .LVU54 |
||
598 | 292:Core/Src/system_stm32f1xx.c **** {/* HSE oscillator clock divided by 2 */ |
||
599 | 196 .loc 1 292 17 is_stmt 0 view .LVU55 |
||
600 | 197 005c 084A ldr r2, .L12 |
||
20 | mjames | 601 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 11 |
16 | mjames | 602 | |
603 | |||
604 | 198 .LVL17: |
||
605 | 292:Core/Src/system_stm32f1xx.c **** {/* HSE oscillator clock divided by 2 */ |
||
606 | 199 .loc 1 292 17 view .LVU56 |
||
607 | 200 005e 5268 ldr r2, [r2, #4] |
||
608 | 292:Core/Src/system_stm32f1xx.c **** {/* HSE oscillator clock divided by 2 */ |
||
609 | 201 .loc 1 292 12 view .LVU57 |
||
610 | 202 0060 12F4003F tst r2, #131072 |
||
611 | 203 0064 05D0 beq .L10 |
||
612 | 294:Core/Src/system_stm32f1xx.c **** } |
||
613 | 204 .loc 1 294 11 is_stmt 1 view .LVU58 |
||
614 | 294:Core/Src/system_stm32f1xx.c **** } |
||
615 | 205 .loc 1 294 47 is_stmt 0 view .LVU59 |
||
616 | 206 0066 0A4A ldr r2, .L12+16 |
||
617 | 207 0068 02FB03F3 mul r3, r2, r3 |
||
618 | 208 .LVL18: |
||
619 | 294:Core/Src/system_stm32f1xx.c **** } |
||
620 | 209 .loc 1 294 27 view .LVU60 |
||
621 | 210 006c 054A ldr r2, .L12+4 |
||
622 | 211 006e 1360 str r3, [r2] |
||
623 | 212 0070 D6E7 b .L8 |
||
624 | 213 .LVL19: |
||
625 | 214 .L10: |
||
626 | 298:Core/Src/system_stm32f1xx.c **** } |
||
627 | 215 .loc 1 298 11 is_stmt 1 view .LVU61 |
||
628 | 298:Core/Src/system_stm32f1xx.c **** } |
||
629 | 216 .loc 1 298 39 is_stmt 0 view .LVU62 |
||
630 | 217 0072 054A ldr r2, .L12+8 |
||
631 | 218 0074 02FB03F3 mul r3, r2, r3 |
||
632 | 219 .LVL20: |
||
633 | 298:Core/Src/system_stm32f1xx.c **** } |
||
634 | 220 .loc 1 298 27 view .LVU63 |
||
635 | 221 0078 024A ldr r2, .L12+4 |
||
636 | 222 007a 1360 str r3, [r2] |
||
637 | 223 007c D0E7 b .L8 |
||
638 | 224 .L13: |
||
639 | 225 007e 00BF .align 2 |
||
640 | 226 .L12: |
||
641 | 227 0080 00100240 .word 1073876992 |
||
642 | 228 0084 00000000 .word .LANCHOR0 |
||
643 | 229 0088 00127A00 .word 8000000 |
||
644 | 230 008c 00000000 .word .LANCHOR1 |
||
645 | 231 0090 00093D00 .word 4000000 |
||
646 | 232 .cfi_endproc |
||
647 | 233 .LFE66: |
||
648 | 235 .global APBPrescTable |
||
649 | 236 .global AHBPrescTable |
||
650 | 237 .global SystemCoreClock |
||
651 | 238 .section .data.SystemCoreClock,"aw" |
||
652 | 239 .align 2 |
||
653 | 240 .set .LANCHOR0,. + 0 |
||
654 | 243 SystemCoreClock: |
||
655 | 244 0000 0024F400 .word 16000000 |
||
656 | 245 .section .rodata.AHBPrescTable,"a" |
||
657 | 246 .align 2 |
||
658 | 247 .set .LANCHOR1,. + 0 |
||
659 | 250 AHBPrescTable: |
||
660 | 251 0000 00 .byte 0 |
||
20 | mjames | 661 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 12 |
16 | mjames | 662 | |
663 | |||
664 | 252 0001 00 .byte 0 |
||
665 | 253 0002 00 .byte 0 |
||
666 | 254 0003 00 .byte 0 |
||
667 | 255 0004 00 .byte 0 |
||
668 | 256 0005 00 .byte 0 |
||
669 | 257 0006 00 .byte 0 |
||
670 | 258 0007 00 .byte 0 |
||
671 | 259 0008 01 .byte 1 |
||
672 | 260 0009 02 .byte 2 |
||
673 | 261 000a 03 .byte 3 |
||
674 | 262 000b 04 .byte 4 |
||
675 | 263 000c 06 .byte 6 |
||
676 | 264 000d 07 .byte 7 |
||
677 | 265 000e 08 .byte 8 |
||
678 | 266 000f 09 .byte 9 |
||
679 | 267 .section .rodata.APBPrescTable,"a" |
||
680 | 268 .align 2 |
||
681 | 271 APBPrescTable: |
||
682 | 272 0000 00 .byte 0 |
||
683 | 273 0001 00 .byte 0 |
||
684 | 274 0002 00 .byte 0 |
||
685 | 275 0003 00 .byte 0 |
||
686 | 276 0004 01 .byte 1 |
||
687 | 277 0005 02 .byte 2 |
||
688 | 278 0006 03 .byte 3 |
||
689 | 279 0007 04 .byte 4 |
||
690 | 280 .text |
||
691 | 281 .Letext0: |
||
692 | 282 .file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7 |
||
693 | 283 .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7 |
||
694 | 284 .file 4 "Drivers/CMSIS/Include/core_cm3.h" |
||
695 | 285 .file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h" |
||
696 | 286 .file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h" |
||
697 | 287 .file 7 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h" |
||
698 | 288 .file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h" |
||
20 | mjames | 699 | ARM GAS C:\Users\mike\AppData\Local\Temp\cccJB4yd.s page 13 |
16 | mjames | 700 | |
701 | |||
702 | DEFINED SYMBOLS |
||
703 | *ABS*:0000000000000000 system_stm32f1xx.c |
||
20 | mjames | 704 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:16 .text.SystemInit:0000000000000000 $t |
705 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:24 .text.SystemInit:0000000000000000 SystemInit |
||
706 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:74 .text.SystemInit:0000000000000040 $d |
||
707 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:81 .text.SystemCoreClockUpdate:0000000000000000 $t |
||
708 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:88 .text.SystemCoreClockUpdate:0000000000000000 SystemCoreClockUpdate |
||
709 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:227 .text.SystemCoreClockUpdate:0000000000000080 $d |
||
710 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:271 .rodata.APBPrescTable:0000000000000000 APBPrescTable |
||
711 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:250 .rodata.AHBPrescTable:0000000000000000 AHBPrescTable |
||
712 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:243 .data.SystemCoreClock:0000000000000000 SystemCoreClock |
||
713 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:239 .data.SystemCoreClock:0000000000000000 $d |
||
714 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:246 .rodata.AHBPrescTable:0000000000000000 $d |
||
715 | C:\Users\mike\AppData\Local\Temp\cccJB4yd.s:268 .rodata.APBPrescTable:0000000000000000 $d |
||
16 | mjames | 716 | |
717 | NO UNDEFINED SYMBOLS |