You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
KED/bsl/oldStmFile/makeLowLayer/build/system_stm32f0xx.lst

521 lines
26 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

ARM GAS /tmp/ccjISuh0.s page 1
1 .cpu cortex-m0
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 0
10 .eabi_attribute 18, 4
11 .file "system_stm32f0xx.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.SystemInit,"ax",%progbits
16 .align 1
17 .global SystemInit
18 .syntax unified
19 .code 16
20 .thumb_func
21 .fpu softvfp
23 SystemInit:
24 .LFB40:
25 .file 1 "Src/system_stm32f0xx.c"
1:Src/system_stm32f0xx.c **** /**
2:Src/system_stm32f0xx.c **** ******************************************************************************
3:Src/system_stm32f0xx.c **** * @file system_stm32f0xx.c
4:Src/system_stm32f0xx.c **** * @author MCD Application Team
5:Src/system_stm32f0xx.c **** * @brief CMSIS Cortex-M0 Device Peripheral Access Layer System Source File.
6:Src/system_stm32f0xx.c **** *
7:Src/system_stm32f0xx.c **** * 1. This file provides two functions and one global variable to be called from
8:Src/system_stm32f0xx.c **** * user application:
9:Src/system_stm32f0xx.c **** * - SystemInit(): This function is called at startup just after reset and
10:Src/system_stm32f0xx.c **** * before branch to main program. This call is made inside
11:Src/system_stm32f0xx.c **** * the "startup_stm32f0xx.s" file.
12:Src/system_stm32f0xx.c **** *
13:Src/system_stm32f0xx.c **** * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
14:Src/system_stm32f0xx.c **** * by the user application to setup the SysTick
15:Src/system_stm32f0xx.c **** * timer or configure other parameters.
16:Src/system_stm32f0xx.c **** *
17:Src/system_stm32f0xx.c **** * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
18:Src/system_stm32f0xx.c **** * be called whenever the core clock is changed
19:Src/system_stm32f0xx.c **** * during program execution.
20:Src/system_stm32f0xx.c **** *
21:Src/system_stm32f0xx.c **** *
22:Src/system_stm32f0xx.c **** ******************************************************************************
23:Src/system_stm32f0xx.c **** * @attention
24:Src/system_stm32f0xx.c **** *
25:Src/system_stm32f0xx.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
26:Src/system_stm32f0xx.c **** * All rights reserved.</center></h2>
27:Src/system_stm32f0xx.c **** *
28:Src/system_stm32f0xx.c **** * This software component is licensed by ST under BSD 3-Clause license,
29:Src/system_stm32f0xx.c **** * the "License"; You may not use this file except in compliance with the
30:Src/system_stm32f0xx.c **** * License. You may obtain a copy of the License at:
31:Src/system_stm32f0xx.c **** * opensource.org/licenses/BSD-3-Clause
32:Src/system_stm32f0xx.c **** *
33:Src/system_stm32f0xx.c **** ******************************************************************************
ARM GAS /tmp/ccjISuh0.s page 2
34:Src/system_stm32f0xx.c **** */
35:Src/system_stm32f0xx.c ****
36:Src/system_stm32f0xx.c **** /** @addtogroup CMSIS
37:Src/system_stm32f0xx.c **** * @{
38:Src/system_stm32f0xx.c **** */
39:Src/system_stm32f0xx.c ****
40:Src/system_stm32f0xx.c **** /** @addtogroup stm32f0xx_system
41:Src/system_stm32f0xx.c **** * @{
42:Src/system_stm32f0xx.c **** */
43:Src/system_stm32f0xx.c ****
44:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Includes
45:Src/system_stm32f0xx.c **** * @{
46:Src/system_stm32f0xx.c **** */
47:Src/system_stm32f0xx.c ****
48:Src/system_stm32f0xx.c **** #include "stm32f0xx.h"
49:Src/system_stm32f0xx.c ****
50:Src/system_stm32f0xx.c **** /**
51:Src/system_stm32f0xx.c **** * @}
52:Src/system_stm32f0xx.c **** */
53:Src/system_stm32f0xx.c ****
54:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_TypesDefinitions
55:Src/system_stm32f0xx.c **** * @{
56:Src/system_stm32f0xx.c **** */
57:Src/system_stm32f0xx.c ****
58:Src/system_stm32f0xx.c **** /**
59:Src/system_stm32f0xx.c **** * @}
60:Src/system_stm32f0xx.c **** */
61:Src/system_stm32f0xx.c ****
62:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Defines
63:Src/system_stm32f0xx.c **** * @{
64:Src/system_stm32f0xx.c **** */
65:Src/system_stm32f0xx.c **** #if !defined (HSE_VALUE)
66:Src/system_stm32f0xx.c **** #define HSE_VALUE ((uint32_t)8000000) /*!< Default value of the External oscillator in Hz.
67:Src/system_stm32f0xx.c **** This value can be provided and adapted by the user
68:Src/system_stm32f0xx.c **** #endif /* HSE_VALUE */
69:Src/system_stm32f0xx.c ****
70:Src/system_stm32f0xx.c **** #if !defined (HSI_VALUE)
71:Src/system_stm32f0xx.c **** #define HSI_VALUE ((uint32_t)8000000) /*!< Default value of the Internal oscillator in Hz.
72:Src/system_stm32f0xx.c **** This value can be provided and adapted by the user
73:Src/system_stm32f0xx.c **** #endif /* HSI_VALUE */
74:Src/system_stm32f0xx.c ****
75:Src/system_stm32f0xx.c **** #if !defined (HSI48_VALUE)
76:Src/system_stm32f0xx.c **** #define HSI48_VALUE ((uint32_t)48000000) /*!< Default value of the HSI48 Internal oscillator in
77:Src/system_stm32f0xx.c **** This value can be provided and adapted by the user
78:Src/system_stm32f0xx.c **** #endif /* HSI48_VALUE */
79:Src/system_stm32f0xx.c **** /**
80:Src/system_stm32f0xx.c **** * @}
81:Src/system_stm32f0xx.c **** */
82:Src/system_stm32f0xx.c ****
83:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Macros
84:Src/system_stm32f0xx.c **** * @{
85:Src/system_stm32f0xx.c **** */
86:Src/system_stm32f0xx.c ****
87:Src/system_stm32f0xx.c **** /**
88:Src/system_stm32f0xx.c **** * @}
89:Src/system_stm32f0xx.c **** */
90:Src/system_stm32f0xx.c ****
ARM GAS /tmp/ccjISuh0.s page 3
91:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Variables
92:Src/system_stm32f0xx.c **** * @{
93:Src/system_stm32f0xx.c **** */
94:Src/system_stm32f0xx.c **** /* This variable is updated in three ways:
95:Src/system_stm32f0xx.c **** 1) by calling CMSIS function SystemCoreClockUpdate()
96:Src/system_stm32f0xx.c **** 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
97:Src/system_stm32f0xx.c **** 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
98:Src/system_stm32f0xx.c **** Note: If you use this function to configure the system clock; then there
99:Src/system_stm32f0xx.c **** is no need to call the 2 first functions listed above, since SystemCoreClock
100:Src/system_stm32f0xx.c **** variable is updated automatically.
101:Src/system_stm32f0xx.c **** */
102:Src/system_stm32f0xx.c **** uint32_t SystemCoreClock = 8000000;
103:Src/system_stm32f0xx.c ****
104:Src/system_stm32f0xx.c **** const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
105:Src/system_stm32f0xx.c **** const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4};
106:Src/system_stm32f0xx.c ****
107:Src/system_stm32f0xx.c **** /**
108:Src/system_stm32f0xx.c **** * @}
109:Src/system_stm32f0xx.c **** */
110:Src/system_stm32f0xx.c ****
111:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_FunctionPrototypes
112:Src/system_stm32f0xx.c **** * @{
113:Src/system_stm32f0xx.c **** */
114:Src/system_stm32f0xx.c ****
115:Src/system_stm32f0xx.c **** /**
116:Src/system_stm32f0xx.c **** * @}
117:Src/system_stm32f0xx.c **** */
118:Src/system_stm32f0xx.c ****
119:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Functions
120:Src/system_stm32f0xx.c **** * @{
121:Src/system_stm32f0xx.c **** */
122:Src/system_stm32f0xx.c ****
123:Src/system_stm32f0xx.c **** /**
124:Src/system_stm32f0xx.c **** * @brief Setup the microcontroller system
125:Src/system_stm32f0xx.c **** * @param None
126:Src/system_stm32f0xx.c **** * @retval None
127:Src/system_stm32f0xx.c **** */
128:Src/system_stm32f0xx.c **** void SystemInit(void)
129:Src/system_stm32f0xx.c **** {
26 .loc 1 129 0
27 .cfi_startproc
28 @ args = 0, pretend = 0, frame = 0
29 @ frame_needed = 0, uses_anonymous_args = 0
30 @ link register save eliminated.
130:Src/system_stm32f0xx.c **** /* NOTE :SystemInit(): This function is called at startup just after reset and
131:Src/system_stm32f0xx.c **** before branch to main program. This call is made inside
132:Src/system_stm32f0xx.c **** the "startup_stm32f0xx.s" file.
133:Src/system_stm32f0xx.c **** User can setups the default system clock (System clock source, PLL Multipl
134:Src/system_stm32f0xx.c **** and Divider factors, AHB/APBx prescalers and Flash settings).
135:Src/system_stm32f0xx.c **** */
136:Src/system_stm32f0xx.c **** }
31 .loc 1 136 0
32 @ sp needed
33 0000 7047 bx lr
34 .cfi_endproc
35 .LFE40:
37 .global __aeabi_uidiv
ARM GAS /tmp/ccjISuh0.s page 4
38 .section .text.SystemCoreClockUpdate,"ax",%progbits
39 .align 1
40 .global SystemCoreClockUpdate
41 .syntax unified
42 .code 16
43 .thumb_func
44 .fpu softvfp
46 SystemCoreClockUpdate:
47 .LFB41:
137:Src/system_stm32f0xx.c ****
138:Src/system_stm32f0xx.c **** /**
139:Src/system_stm32f0xx.c **** * @brief Update SystemCoreClock variable according to Clock Register Values.
140:Src/system_stm32f0xx.c **** * The SystemCoreClock variable contains the core clock (HCLK), it can
141:Src/system_stm32f0xx.c **** * be used by the user application to setup the SysTick timer or configure
142:Src/system_stm32f0xx.c **** * other parameters.
143:Src/system_stm32f0xx.c **** *
144:Src/system_stm32f0xx.c **** * @note Each time the core clock (HCLK) changes, this function must be called
145:Src/system_stm32f0xx.c **** * to update SystemCoreClock variable value. Otherwise, any configuration
146:Src/system_stm32f0xx.c **** * based on this variable will be incorrect.
147:Src/system_stm32f0xx.c **** *
148:Src/system_stm32f0xx.c **** * @note - The system frequency computed by this function is not the real
149:Src/system_stm32f0xx.c **** * frequency in the chip. It is calculated based on the predefined
150:Src/system_stm32f0xx.c **** * constant and the selected clock source:
151:Src/system_stm32f0xx.c **** *
152:Src/system_stm32f0xx.c **** * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
153:Src/system_stm32f0xx.c **** *
154:Src/system_stm32f0xx.c **** * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
155:Src/system_stm32f0xx.c **** *
156:Src/system_stm32f0xx.c **** * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**)
157:Src/system_stm32f0xx.c **** * or HSI_VALUE(*) multiplied/divided by the PLL factors.
158:Src/system_stm32f0xx.c **** *
159:Src/system_stm32f0xx.c **** * (*) HSI_VALUE is a constant defined in stm32f0xx_hal_conf.h file (default value
160:Src/system_stm32f0xx.c **** * 8 MHz) but the real value may vary depending on the variations
161:Src/system_stm32f0xx.c **** * in voltage and temperature.
162:Src/system_stm32f0xx.c **** *
163:Src/system_stm32f0xx.c **** * (**) HSE_VALUE is a constant defined in stm32f0xx_hal_conf.h file (its value
164:Src/system_stm32f0xx.c **** * depends on the application requirements), user has to ensure that HSE_VALUE
165:Src/system_stm32f0xx.c **** * is same as the real frequency of the crystal used. Otherwise, this function
166:Src/system_stm32f0xx.c **** * may have wrong result.
167:Src/system_stm32f0xx.c **** *
168:Src/system_stm32f0xx.c **** * - The result of this function could be not correct when using fractional
169:Src/system_stm32f0xx.c **** * value for HSE crystal.
170:Src/system_stm32f0xx.c **** *
171:Src/system_stm32f0xx.c **** * @param None
172:Src/system_stm32f0xx.c **** * @retval None
173:Src/system_stm32f0xx.c **** */
174:Src/system_stm32f0xx.c **** void SystemCoreClockUpdate (void)
175:Src/system_stm32f0xx.c **** {
48 .loc 1 175 0
49 .cfi_startproc
50 @ args = 0, pretend = 0, frame = 0
51 @ frame_needed = 0, uses_anonymous_args = 0
52 0000 10B5 push {r4, lr}
53 .LCFI0:
54 .cfi_def_cfa_offset 8
55 .cfi_offset 4, -8
56 .cfi_offset 14, -4
ARM GAS /tmp/ccjISuh0.s page 5
57 .LVL0:
176:Src/system_stm32f0xx.c **** uint32_t tmp = 0, pllmull = 0, pllsource = 0, predivfactor = 0;
177:Src/system_stm32f0xx.c ****
178:Src/system_stm32f0xx.c **** /* Get SYSCLK source -------------------------------------------------------*/
179:Src/system_stm32f0xx.c **** tmp = RCC->CFGR & RCC_CFGR_SWS;
58 .loc 1 179 0
59 0002 254B ldr r3, .L14
60 0004 5A68 ldr r2, [r3, #4]
61 0006 0C23 movs r3, #12
62 0008 1340 ands r3, r2
63 .LVL1:
180:Src/system_stm32f0xx.c ****
181:Src/system_stm32f0xx.c **** switch (tmp)
64 .loc 1 181 0
65 000a 042B cmp r3, #4
66 000c 16D0 beq .L4
67 000e 082B cmp r3, #8
68 0010 18D0 beq .L5
69 0012 002B cmp r3, #0
70 0014 03D0 beq .L11
182:Src/system_stm32f0xx.c **** {
183:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_HSI: /* HSI used as system clock */
184:Src/system_stm32f0xx.c **** SystemCoreClock = HSI_VALUE;
185:Src/system_stm32f0xx.c **** break;
186:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_HSE: /* HSE used as system clock */
187:Src/system_stm32f0xx.c **** SystemCoreClock = HSE_VALUE;
188:Src/system_stm32f0xx.c **** break;
189:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_PLL: /* PLL used as system clock */
190:Src/system_stm32f0xx.c **** /* Get PLL clock source and multiplication factor ----------------------*/
191:Src/system_stm32f0xx.c **** pllmull = RCC->CFGR & RCC_CFGR_PLLMUL;
192:Src/system_stm32f0xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
193:Src/system_stm32f0xx.c **** pllmull = ( pllmull >> 18) + 2;
194:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1;
195:Src/system_stm32f0xx.c ****
196:Src/system_stm32f0xx.c **** if (pllsource == RCC_CFGR_PLLSRC_HSE_PREDIV)
197:Src/system_stm32f0xx.c **** {
198:Src/system_stm32f0xx.c **** /* HSE used as PLL clock source : SystemCoreClock = HSE/PREDIV * PLLMUL */
199:Src/system_stm32f0xx.c **** SystemCoreClock = (HSE_VALUE/predivfactor) * pllmull;
200:Src/system_stm32f0xx.c **** }
201:Src/system_stm32f0xx.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB) || defined(STM32F078xx) ||
202:Src/system_stm32f0xx.c **** else if (pllsource == RCC_CFGR_PLLSRC_HSI48_PREDIV)
203:Src/system_stm32f0xx.c **** {
204:Src/system_stm32f0xx.c **** /* HSI48 used as PLL clock source : SystemCoreClock = HSI48/PREDIV * PLLMUL */
205:Src/system_stm32f0xx.c **** SystemCoreClock = (HSI48_VALUE/predivfactor) * pllmull;
206:Src/system_stm32f0xx.c **** }
207:Src/system_stm32f0xx.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx || STM32F091xC || STM32F098xx */
208:Src/system_stm32f0xx.c **** else
209:Src/system_stm32f0xx.c **** {
210:Src/system_stm32f0xx.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6) \
211:Src/system_stm32f0xx.c **** || defined(STM32F078xx) || defined(STM32F071xB) || defined(STM32F072xB) \
212:Src/system_stm32f0xx.c **** || defined(STM32F070xB) || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
213:Src/system_stm32f0xx.c **** /* HSI used as PLL clock source : SystemCoreClock = HSI/PREDIV * PLLMUL */
214:Src/system_stm32f0xx.c **** SystemCoreClock = (HSI_VALUE/predivfactor) * pllmull;
215:Src/system_stm32f0xx.c **** #else
216:Src/system_stm32f0xx.c **** /* HSI used as PLL clock source : SystemCoreClock = HSI/2 * PLLMUL */
217:Src/system_stm32f0xx.c **** SystemCoreClock = (HSI_VALUE >> 1) * pllmull;
218:Src/system_stm32f0xx.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F070x6 ||
ARM GAS /tmp/ccjISuh0.s page 6
219:Src/system_stm32f0xx.c **** STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB ||
220:Src/system_stm32f0xx.c **** STM32F091xC || STM32F098xx || STM32F030xC */
221:Src/system_stm32f0xx.c **** }
222:Src/system_stm32f0xx.c **** break;
223:Src/system_stm32f0xx.c **** default: /* HSI used as system clock */
224:Src/system_stm32f0xx.c **** SystemCoreClock = HSI_VALUE;
71 .loc 1 224 0
72 0016 214B ldr r3, .L14+4
73 .LVL2:
74 0018 214A ldr r2, .L14+8
75 .LVL3:
76 001a 1A60 str r2, [r3]
225:Src/system_stm32f0xx.c **** break;
77 .loc 1 225 0
78 001c 02E0 b .L7
79 .LVL4:
80 .L11:
184:Src/system_stm32f0xx.c **** break;
81 .loc 1 184 0
82 001e 1F4B ldr r3, .L14+4
83 .LVL5:
84 0020 1F4A ldr r2, .L14+8
85 .LVL6:
86 0022 1A60 str r2, [r3]
87 .LVL7:
88 .L7:
226:Src/system_stm32f0xx.c **** }
227:Src/system_stm32f0xx.c **** /* Compute HCLK clock frequency ----------------*/
228:Src/system_stm32f0xx.c **** /* Get HCLK prescaler */
229:Src/system_stm32f0xx.c **** tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
89 .loc 1 229 0
90 0024 1C4B ldr r3, .L14
91 0026 5A68 ldr r2, [r3, #4]
92 0028 1209 lsrs r2, r2, #4
93 002a 0F23 movs r3, #15
94 002c 1340 ands r3, r2
95 002e 1D4A ldr r2, .L14+12
96 0030 D35C ldrb r3, [r2, r3]
97 .LVL8:
230:Src/system_stm32f0xx.c **** /* HCLK clock frequency */
231:Src/system_stm32f0xx.c **** SystemCoreClock >>= tmp;
98 .loc 1 231 0
99 0032 1A4A ldr r2, .L14+4
100 0034 1168 ldr r1, [r2]
101 0036 D940 lsrs r1, r1, r3
102 0038 1160 str r1, [r2]
232:Src/system_stm32f0xx.c **** }
103 .loc 1 232 0
104 @ sp needed
105 003a 10BD pop {r4, pc}
106 .LVL9:
107 .L4:
187:Src/system_stm32f0xx.c **** break;
108 .loc 1 187 0
109 003c 174B ldr r3, .L14+4
110 .LVL10:
111 003e 184A ldr r2, .L14+8
ARM GAS /tmp/ccjISuh0.s page 7
112 .LVL11:
113 0040 1A60 str r2, [r3]
188:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_PLL: /* PLL used as system clock */
114 .loc 1 188 0
115 0042 EFE7 b .L7
116 .LVL12:
117 .L5:
191:Src/system_stm32f0xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
118 .loc 1 191 0
119 0044 144A ldr r2, .L14
120 0046 5068 ldr r0, [r2, #4]
121 .LVL13:
192:Src/system_stm32f0xx.c **** pllmull = ( pllmull >> 18) + 2;
122 .loc 1 192 0
123 0048 5368 ldr r3, [r2, #4]
124 .LVL14:
125 004a C021 movs r1, #192
126 004c 4902 lsls r1, r1, #9
127 004e 0B40 ands r3, r1
128 .LVL15:
193:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1;
129 .loc 1 193 0
130 0050 800C lsrs r0, r0, #18
131 .LVL16:
132 0052 0F21 movs r1, #15
133 0054 0840 ands r0, r1
134 0056 841C adds r4, r0, #2
135 .LVL17:
194:Src/system_stm32f0xx.c ****
136 .loc 1 194 0
137 0058 D26A ldr r2, [r2, #44]
138 005a 1140 ands r1, r2
139 005c 0131 adds r1, r1, #1
140 .LVL18:
196:Src/system_stm32f0xx.c **** {
141 .loc 1 196 0
142 005e 8022 movs r2, #128
143 0060 5202 lsls r2, r2, #9
144 0062 9342 cmp r3, r2
145 0064 0AD0 beq .L12
202:Src/system_stm32f0xx.c **** {
146 .loc 1 202 0
147 0066 C022 movs r2, #192
148 0068 5202 lsls r2, r2, #9
149 006a 9342 cmp r3, r2
150 006c 0DD0 beq .L13
214:Src/system_stm32f0xx.c **** #else
151 .loc 1 214 0
152 006e 0C48 ldr r0, .L14+8
153 0070 FFF7FEFF bl __aeabi_uidiv
154 .LVL19:
155 0074 6043 muls r0, r4
156 0076 094B ldr r3, .L14+4
157 0078 1860 str r0, [r3]
158 007a D3E7 b .L7
159 .LVL20:
160 .L12:
ARM GAS /tmp/ccjISuh0.s page 8
199:Src/system_stm32f0xx.c **** }
161 .loc 1 199 0
162 007c 0848 ldr r0, .L14+8
163 007e FFF7FEFF bl __aeabi_uidiv
164 .LVL21:
165 0082 6043 muls r0, r4
166 0084 054B ldr r3, .L14+4
167 0086 1860 str r0, [r3]
168 0088 CCE7 b .L7
169 .LVL22:
170 .L13:
205:Src/system_stm32f0xx.c **** }
171 .loc 1 205 0
172 008a 0748 ldr r0, .L14+16
173 008c FFF7FEFF bl __aeabi_uidiv
174 .LVL23:
175 0090 6043 muls r0, r4
176 0092 024B ldr r3, .L14+4
177 0094 1860 str r0, [r3]
178 0096 C5E7 b .L7
179 .L15:
180 .align 2
181 .L14:
182 0098 00100240 .word 1073876992
183 009c 00000000 .word .LANCHOR0
184 00a0 00127A00 .word 8000000
185 00a4 00000000 .word .LANCHOR1
186 00a8 006CDC02 .word 48000000
187 .cfi_endproc
188 .LFE41:
190 .global APBPrescTable
191 .global AHBPrescTable
192 .global SystemCoreClock
193 .section .data.SystemCoreClock,"aw",%progbits
194 .align 2
195 .set .LANCHOR0,. + 0
198 SystemCoreClock:
199 0000 00127A00 .word 8000000
200 .section .rodata.AHBPrescTable,"a",%progbits
201 .align 2
202 .set .LANCHOR1,. + 0
205 AHBPrescTable:
206 0000 00 .byte 0
207 0001 00 .byte 0
208 0002 00 .byte 0
209 0003 00 .byte 0
210 0004 00 .byte 0
211 0005 00 .byte 0
212 0006 00 .byte 0
213 0007 00 .byte 0
214 0008 01 .byte 1
215 0009 02 .byte 2
216 000a 03 .byte 3
217 000b 04 .byte 4
218 000c 06 .byte 6
219 000d 07 .byte 7
220 000e 08 .byte 8
ARM GAS /tmp/ccjISuh0.s page 9
221 000f 09 .byte 9
222 .section .rodata.APBPrescTable,"a",%progbits
223 .align 2
226 APBPrescTable:
227 0000 00 .byte 0
228 0001 00 .byte 0
229 0002 00 .byte 0
230 0003 00 .byte 0
231 0004 01 .byte 1
232 0005 02 .byte 2
233 0006 03 .byte 3
234 0007 04 .byte 4
235 .text
236 .Letext0:
237 .file 2 "/usr/include/newlib/machine/_default_types.h"
238 .file 3 "/usr/include/newlib/sys/_stdint.h"
239 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
240 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h"
ARM GAS /tmp/ccjISuh0.s page 10
DEFINED SYMBOLS
*ABS*:0000000000000000 system_stm32f0xx.c
/tmp/ccjISuh0.s:16 .text.SystemInit:0000000000000000 $t
/tmp/ccjISuh0.s:23 .text.SystemInit:0000000000000000 SystemInit
/tmp/ccjISuh0.s:39 .text.SystemCoreClockUpdate:0000000000000000 $t
/tmp/ccjISuh0.s:46 .text.SystemCoreClockUpdate:0000000000000000 SystemCoreClockUpdate
/tmp/ccjISuh0.s:182 .text.SystemCoreClockUpdate:0000000000000098 $d
/tmp/ccjISuh0.s:226 .rodata.APBPrescTable:0000000000000000 APBPrescTable
/tmp/ccjISuh0.s:205 .rodata.AHBPrescTable:0000000000000000 AHBPrescTable
/tmp/ccjISuh0.s:198 .data.SystemCoreClock:0000000000000000 SystemCoreClock
/tmp/ccjISuh0.s:194 .data.SystemCoreClock:0000000000000000 $d
/tmp/ccjISuh0.s:201 .rodata.AHBPrescTable:0000000000000000 $d
/tmp/ccjISuh0.s:223 .rodata.APBPrescTable:0000000000000000 $d
UNDEFINED SYMBOLS
__aeabi_uidiv