ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.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 .arch armv6s-m 19 .syntax unified 20 .code 16 21 .thumb_func 22 .fpu softvfp 24 SystemInit: 25 .LFB40: 26 .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 **** *

© Copyright (c) 2016 STMicroelectronics. 26:Src/system_stm32f0xx.c **** * All rights reserved.

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 **** * ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 2 33:Src/system_stm32f0xx.c **** ****************************************************************************** 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 **** */ ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 3 90:Src/system_stm32f0xx.c **** 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 **** { 27 .loc 1 129 1 view -0 28 .cfi_startproc 29 @ args = 0, pretend = 0, frame = 0 30 @ frame_needed = 0, uses_anonymous_args = 0 31 @ 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 **** } 32 .loc 1 136 1 view .LVU1 33 @ sp needed 34 0000 7047 bx lr 35 .cfi_endproc 36 .LFE40: ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 4 38 .global __aeabi_uidiv 39 .section .text.SystemCoreClockUpdate,"ax",%progbits 40 .align 1 41 .global SystemCoreClockUpdate 42 .syntax unified 43 .code 16 44 .thumb_func 45 .fpu softvfp 47 SystemCoreClockUpdate: 48 .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 **** { 49 .loc 1 175 1 view -0 50 .cfi_startproc 51 @ args = 0, pretend = 0, frame = 0 52 @ frame_needed = 0, uses_anonymous_args = 0 53 0000 10B5 push {r4, lr} 54 .LCFI0: 55 .cfi_def_cfa_offset 8 56 .cfi_offset 4, -8 ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 5 57 .cfi_offset 14, -4 176:Src/system_stm32f0xx.c **** uint32_t tmp = 0, pllmull = 0, pllsource = 0, predivfactor = 0; 58 .loc 1 176 3 view .LVU3 59 .LVL0: 177:Src/system_stm32f0xx.c **** 178:Src/system_stm32f0xx.c **** /* Get SYSCLK source -------------------------------------------------------*/ 179:Src/system_stm32f0xx.c **** tmp = RCC->CFGR & RCC_CFGR_SWS; 60 .loc 1 179 3 view .LVU4 61 .loc 1 179 12 is_stmt 0 view .LVU5 62 0002 254B ldr r3, .L12 63 0004 5A68 ldr r2, [r3, #4] 64 .loc 1 179 7 view .LVU6 65 0006 0C23 movs r3, #12 66 0008 1340 ands r3, r2 67 .LVL1: 180:Src/system_stm32f0xx.c **** 181:Src/system_stm32f0xx.c **** switch (tmp) 68 .loc 1 181 3 is_stmt 1 view .LVU7 69 000a 042B cmp r3, #4 70 000c 16D0 beq .L3 71 000e 082B cmp r3, #8 72 0010 18D0 beq .L4 73 0012 002B cmp r3, #0 74 0014 03D0 beq .L9 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; ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 6 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 || 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; 75 .loc 1 224 7 view .LVU8 76 .loc 1 224 23 is_stmt 0 view .LVU9 77 0016 214B ldr r3, .L12+4 78 .LVL2: 79 .loc 1 224 23 view .LVU10 80 0018 214A ldr r2, .L12+8 81 .LVL3: 82 .loc 1 224 23 view .LVU11 83 001a 1A60 str r2, [r3] 225:Src/system_stm32f0xx.c **** break; 84 .loc 1 225 7 is_stmt 1 view .LVU12 85 001c 02E0 b .L6 86 .LVL4: 87 .L9: 184:Src/system_stm32f0xx.c **** break; 88 .loc 1 184 7 view .LVU13 184:Src/system_stm32f0xx.c **** break; 89 .loc 1 184 23 is_stmt 0 view .LVU14 90 001e 1F4B ldr r3, .L12+4 91 .LVL5: 184:Src/system_stm32f0xx.c **** break; 92 .loc 1 184 23 view .LVU15 93 0020 1F4A ldr r2, .L12+8 94 .LVL6: 184:Src/system_stm32f0xx.c **** break; 95 .loc 1 184 23 view .LVU16 96 0022 1A60 str r2, [r3] 185:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_HSE: /* HSE used as system clock */ 97 .loc 1 185 7 is_stmt 1 view .LVU17 98 .LVL7: 99 .L6: 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)]; 100 .loc 1 229 3 view .LVU18 101 .loc 1 229 28 is_stmt 0 view .LVU19 102 0024 1C4B ldr r3, .L12 103 0026 5A68 ldr r2, [r3, #4] 104 .loc 1 229 52 view .LVU20 105 0028 1209 lsrs r2, r2, #4 106 002a 0F23 movs r3, #15 107 002c 1340 ands r3, r2 108 .loc 1 229 22 view .LVU21 109 002e 1D4A ldr r2, .L12+12 110 0030 D35C ldrb r3, [r2, r3] 111 .LVL8: ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 7 230:Src/system_stm32f0xx.c **** /* HCLK clock frequency */ 231:Src/system_stm32f0xx.c **** SystemCoreClock >>= tmp; 112 .loc 1 231 3 is_stmt 1 view .LVU22 113 .loc 1 231 19 is_stmt 0 view .LVU23 114 0032 1A4A ldr r2, .L12+4 115 0034 1168 ldr r1, [r2] 116 0036 D940 lsrs r1, r1, r3 117 0038 1160 str r1, [r2] 232:Src/system_stm32f0xx.c **** } 118 .loc 1 232 1 view .LVU24 119 @ sp needed 120 003a 10BD pop {r4, pc} 121 .LVL9: 122 .L3: 187:Src/system_stm32f0xx.c **** break; 123 .loc 1 187 7 is_stmt 1 view .LVU25 187:Src/system_stm32f0xx.c **** break; 124 .loc 1 187 23 is_stmt 0 view .LVU26 125 003c 174B ldr r3, .L12+4 126 .LVL10: 187:Src/system_stm32f0xx.c **** break; 127 .loc 1 187 23 view .LVU27 128 003e 184A ldr r2, .L12+8 129 .LVL11: 187:Src/system_stm32f0xx.c **** break; 130 .loc 1 187 23 view .LVU28 131 0040 1A60 str r2, [r3] 188:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_PLL: /* PLL used as system clock */ 132 .loc 1 188 7 is_stmt 1 view .LVU29 133 0042 EFE7 b .L6 134 .LVL12: 135 .L4: 191:Src/system_stm32f0xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; 136 .loc 1 191 7 view .LVU30 191:Src/system_stm32f0xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; 137 .loc 1 191 20 is_stmt 0 view .LVU31 138 0044 1448 ldr r0, .L12 139 0046 4368 ldr r3, [r0, #4] 140 .LVL13: 192:Src/system_stm32f0xx.c **** pllmull = ( pllmull >> 18) + 2; 141 .loc 1 192 7 is_stmt 1 view .LVU32 192:Src/system_stm32f0xx.c **** pllmull = ( pllmull >> 18) + 2; 142 .loc 1 192 22 is_stmt 0 view .LVU33 143 0048 4268 ldr r2, [r0, #4] 144 .LVL14: 192:Src/system_stm32f0xx.c **** pllmull = ( pllmull >> 18) + 2; 145 .loc 1 192 17 view .LVU34 146 004a C021 movs r1, #192 147 004c 4902 lsls r1, r1, #9 148 004e 0A40 ands r2, r1 149 .LVL15: 193:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1; 150 .loc 1 193 7 is_stmt 1 view .LVU35 193:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1; 151 .loc 1 193 27 is_stmt 0 view .LVU36 152 0050 9B0C lsrs r3, r3, #18 153 .LVL16: ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 8 193:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1; 154 .loc 1 193 27 view .LVU37 155 0052 0F21 movs r1, #15 156 0054 0B40 ands r3, r1 193:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1; 157 .loc 1 193 15 view .LVU38 158 0056 9C1C adds r4, r3, #2 159 .LVL17: 194:Src/system_stm32f0xx.c **** 160 .loc 1 194 7 is_stmt 1 view .LVU39 194:Src/system_stm32f0xx.c **** 161 .loc 1 194 26 is_stmt 0 view .LVU40 162 0058 C36A ldr r3, [r0, #44] 194:Src/system_stm32f0xx.c **** 163 .loc 1 194 34 view .LVU41 164 005a 1940 ands r1, r3 194:Src/system_stm32f0xx.c **** 165 .loc 1 194 20 view .LVU42 166 005c 0131 adds r1, r1, #1 167 .LVL18: 196:Src/system_stm32f0xx.c **** { 168 .loc 1 196 7 is_stmt 1 view .LVU43 196:Src/system_stm32f0xx.c **** { 169 .loc 1 196 10 is_stmt 0 view .LVU44 170 005e 8023 movs r3, #128 171 0060 5B02 lsls r3, r3, #9 172 0062 9A42 cmp r2, r3 173 0064 0AD0 beq .L10 202:Src/system_stm32f0xx.c **** { 174 .loc 1 202 12 is_stmt 1 view .LVU45 202:Src/system_stm32f0xx.c **** { 175 .loc 1 202 15 is_stmt 0 view .LVU46 176 0066 C023 movs r3, #192 177 0068 5B02 lsls r3, r3, #9 178 006a 9A42 cmp r2, r3 179 006c 0DD0 beq .L11 214:Src/system_stm32f0xx.c **** #else 180 .loc 1 214 9 is_stmt 1 view .LVU47 214:Src/system_stm32f0xx.c **** #else 181 .loc 1 214 37 is_stmt 0 view .LVU48 182 006e 0C48 ldr r0, .L12+8 183 0070 FFF7FEFF bl __aeabi_uidiv 184 .LVL19: 214:Src/system_stm32f0xx.c **** #else 185 .loc 1 214 52 view .LVU49 186 0074 6043 muls r0, r4 214:Src/system_stm32f0xx.c **** #else 187 .loc 1 214 25 view .LVU50 188 0076 094A ldr r2, .L12+4 189 0078 1060 str r0, [r2] 190 007a D3E7 b .L6 191 .LVL20: 192 .L10: 199:Src/system_stm32f0xx.c **** } 193 .loc 1 199 9 is_stmt 1 view .LVU51 199:Src/system_stm32f0xx.c **** } 194 .loc 1 199 37 is_stmt 0 view .LVU52 ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 9 195 007c 0848 ldr r0, .L12+8 196 007e FFF7FEFF bl __aeabi_uidiv 197 .LVL21: 199:Src/system_stm32f0xx.c **** } 198 .loc 1 199 52 view .LVU53 199 0082 6043 muls r0, r4 199:Src/system_stm32f0xx.c **** } 200 .loc 1 199 25 view .LVU54 201 0084 054A ldr r2, .L12+4 202 0086 1060 str r0, [r2] 203 0088 CCE7 b .L6 204 .LVL22: 205 .L11: 205:Src/system_stm32f0xx.c **** } 206 .loc 1 205 9 is_stmt 1 view .LVU55 205:Src/system_stm32f0xx.c **** } 207 .loc 1 205 39 is_stmt 0 view .LVU56 208 008a 0748 ldr r0, .L12+16 209 008c FFF7FEFF bl __aeabi_uidiv 210 .LVL23: 205:Src/system_stm32f0xx.c **** } 211 .loc 1 205 54 view .LVU57 212 0090 6043 muls r0, r4 205:Src/system_stm32f0xx.c **** } 213 .loc 1 205 25 view .LVU58 214 0092 024A ldr r2, .L12+4 215 0094 1060 str r0, [r2] 216 0096 C5E7 b .L6 217 .L13: 218 .align 2 219 .L12: 220 0098 00100240 .word 1073876992 221 009c 00000000 .word .LANCHOR0 222 00a0 00127A00 .word 8000000 223 00a4 00000000 .word .LANCHOR1 224 00a8 006CDC02 .word 48000000 225 .cfi_endproc 226 .LFE41: 228 .global APBPrescTable 229 .global AHBPrescTable 230 .global SystemCoreClock 231 .section .data.SystemCoreClock,"aw" 232 .align 2 233 .set .LANCHOR0,. + 0 236 SystemCoreClock: 237 0000 00127A00 .word 8000000 238 .section .rodata.AHBPrescTable,"a" 239 .align 2 240 .set .LANCHOR1,. + 0 243 AHBPrescTable: 244 0000 00000000 .ascii "\000\000\000\000\000\000\000\000\001\002\003\004\006" 244 00000000 244 01020304 244 06 245 000d 070809 .ascii "\007\010\011" 246 .section .rodata.APBPrescTable,"a" 247 .align 2 ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 10 250 APBPrescTable: 251 0000 00000000 .ascii "\000\000\000\000\001\002\003\004" 251 01020304 252 .text 253 .Letext0: 254 .file 2 "c:\\programdata\\chocolatey\\lib\\gcc-arm-embedded\\tools\\gcc-arm-none-eabi-10-2020-q4-m 255 .file 3 "c:\\programdata\\chocolatey\\lib\\gcc-arm-embedded\\tools\\gcc-arm-none-eabi-10-2020-q4-m 256 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h" 257 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h" ARM GAS C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s page 11 DEFINED SYMBOLS *ABS*:00000000 system_stm32f0xx.c C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:16 .text.SystemInit:00000000 $t C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:24 .text.SystemInit:00000000 SystemInit C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:40 .text.SystemCoreClockUpdate:00000000 $t C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:47 .text.SystemCoreClockUpdate:00000000 SystemCoreClockUpdate C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:220 .text.SystemCoreClockUpdate:00000098 $d C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:250 .rodata.APBPrescTable:00000000 APBPrescTable C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:243 .rodata.AHBPrescTable:00000000 AHBPrescTable C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:236 .data.SystemCoreClock:00000000 SystemCoreClock C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:232 .data.SystemCoreClock:00000000 $d C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:239 .rodata.AHBPrescTable:00000000 $d C:\Users\144311\AppData\Local\Temp\cc5flEeJ.s:247 .rodata.APBPrescTable:00000000 $d UNDEFINED SYMBOLS __aeabi_uidiv