ARM GAS /tmp/ccWlYFBg.s page 1 1 .cpu cortex-m3 2 .arch armv7-m 3 .fpu softvfp 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 1 11 .eabi_attribute 34, 1 12 .eabi_attribute 18, 4 13 .file "stm32f1xx_hal_rcc.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .section .text.RCC_Delay,"ax",%progbits 18 .align 1 19 .syntax unified 20 .thumb 21 .thumb_func 23 RCC_Delay: 24 .LVL0: 25 .LFB78: 26 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c" 1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ****************************************************************************** 3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @file stm32f1xx_hal_rcc.c 4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @author MCD Application Team 5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief RCC HAL module driver. 6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * functionalities of the Reset and Clock Control (RCC) peripheral: 8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * + Peripheral Control functions 10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @verbatim 12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ============================================================================== 13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ##### RCC specific features ##### 14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ============================================================================== 15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** [..] 16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** After reset the device is running from Internal High Speed oscillator 17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (HSI 8MHz) with Flash 0 wait state, Flash prefetch buffer is enabled, 18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** and all peripherals are off except internal SRAM, Flash and JTAG. 19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+) There is no prescaler on High speed (AHB) and Low speed (APB) buses; 20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** all peripherals mapped on these buses are running at HSI speed. 21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+) The clock for all peripherals is switched off, except the SRAM and FLASH. 22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+) All GPIOs are in input floating state, except the JTAG pins which 23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** are assigned to be used for debug purpose. 24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** [..] Once the device started from reset, the user application has to: 25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+) Configure the clock source to be used to drive the System clock 26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (if the application needs higher frequency/performance) 27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+) Configure the System clock frequency and Flash settings 28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+) Configure the AHB and APB buses prescalers 29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+) Enable the clock for the peripheral(s) to be used 30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+) Configure the clock source(s) for peripherals whose clocks are not 31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** derived from the System clock (I2S, RTC, ADC, USB OTG FS) 32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ARM GAS /tmp/ccWlYFBg.s page 2 33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ##### RCC Limitations ##### 34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ============================================================================== 35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** [..] 36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** A delay between an RCC peripheral clock enable and the effective peripheral 37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** enabling should be taken into account in order to manage the peripheral read/write 38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** from/to registers. 39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+) This delay depends on the peripheral mapping. 40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (++) AHB & APB peripherals, 1 dummy read is necessary 41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** [..] 43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** Workarounds: 44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) For AHB & APB peripherals, a dummy read to the peripheral register has been 45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** inserted in each __HAL_RCC_PPP_CLK_ENABLE() macro. 46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @endverbatim 48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ****************************************************************************** 49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @attention 50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * Copyright (c) 2016 STMicroelectronics. 52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * All rights reserved. 53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * This software is licensed under terms that can be found in the LICENSE file in 55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * the root directory of this software component. 56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ****************************************************************************** 58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Includes ------------------------------------------------------------------*/ 61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #include "stm32f1xx_hal.h" 62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** @addtogroup STM32F1xx_HAL_Driver 64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @{ 65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** @defgroup RCC RCC 68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief RCC HAL module driver 69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @{ 70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #ifdef HAL_RCC_MODULE_ENABLED 73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Private typedef -----------------------------------------------------------*/ 75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Private define ------------------------------------------------------------*/ 76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** @defgroup RCC_Private_Constants RCC Private Constants 77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @{ 78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @} 81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Private macro -------------------------------------------------------------*/ 83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** @defgroup RCC_Private_Macros RCC Private Macros 84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @{ 85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #define MCO1_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() 88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #define MCO1_GPIO_PORT GPIOA 89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #define MCO1_PIN GPIO_PIN_8 ARM GAS /tmp/ccWlYFBg.s page 3 90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @} 93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Private variables ---------------------------------------------------------*/ 96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** @defgroup RCC_Private_Variables RCC Private Variables 97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @{ 98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @} 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Private function prototypes -----------------------------------------------*/ 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** static void RCC_Delay(uint32_t mdelay); 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Exported functions --------------------------------------------------------*/ 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions RCC Exported Functions 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @{ 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group1 Initialization and de-initialization functions 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Initialization and Configuration functions 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @verbatim 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** =============================================================================== 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ##### Initialization and de-initialization functions ##### 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** =============================================================================== 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** [..] 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** This section provides functions allowing to configure the internal/external oscillators 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (HSE, HSI, LSE, LSI, PLL, CSS and MCO) and the System buses clocks (SYSCLK, AHB, APB1 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** and APB2). 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** [..] Internal/external clock and PLL configuration 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) HSI (high-speed internal), 8 MHz factory-trimmed RC used directly or through 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** the PLL as System clock source. 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) LSI (low-speed internal), ~40 KHz low consumption RC used as IWDG and/or RTC 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** clock source. 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) HSE (high-speed external), 4 to 24 MHz (STM32F100xx) or 4 to 16 MHz (STM32F101x/STM32F102 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** through the PLL as System clock source. Can be used also as RTC clock source. 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) LSE (low-speed external), 32 KHz oscillator used as RTC clock source. 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) PLL (clocked by HSI or HSE), featuring different output clocks: 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (++) The first output is used to generate the high speed system clock (up to 72 MHz for STM 137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (++) The second output is used to generate the clock for the USB OTG FS (48 MHz) 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) CSS (Clock security system), once enable using the macro __HAL_RCC_CSS_ENABLE() 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** and if a HSE clock failure occurs(HSE used directly or through PLL as System 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** clock source), the System clocks automatically switched to HSI and an interrupt 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** is generated if enabled. The interrupt is linked to the Cortex-M3 NMI 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (Non-Maskable Interrupt) exception vector. 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) MCO1 (microcontroller clock output), used to output SYSCLK, HSI, 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** HSE or PLL clock (divided by 2) on PA8 pin + PLL2CLK, PLL3CLK/2, PLL3CLK and XTI for STM3 ARM GAS /tmp/ccWlYFBg.s page 4 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** [..] System, AHB and APB buses clocks configuration 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) Several clock sources can be used to drive the System clock (SYSCLK): HSI, 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** HSE and PLL. 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** The AHB clock (HCLK) is derived from System clock through configurable 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** prescaler and used to clock the CPU, memory and peripherals mapped 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** on AHB bus (DMA, GPIO...). APB1 (PCLK1) and APB2 (PCLK2) clocks are derived 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** from AHB clock through configurable prescalers and used to clock 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** the peripherals mapped on these buses. You can use 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** "HAL_RCC_GetSysClockFreq()" function to retrieve the frequencies of these clocks. 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** -@- All the peripheral clocks are derived from the System clock (SYSCLK) except: 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+@) RTC: RTC clock can be derived either from the LSI, LSE or HSE clock 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** divided by 128. 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+@) USB OTG FS and RTC: USB OTG FS require a frequency equal to 48 MHz 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** to work correctly. This clock is derived of the main PLL through PLL Multiplier. 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+@) I2S interface on STM32F105x/STM32F107x can be derived from PLL3CLK 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (+@) IWDG clock which is always the LSI clock. 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (#) For STM32F10xxx, the maximum frequency of the SYSCLK and HCLK/PCLK2 is 72 MHz, PCLK1 36 M 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** For STM32F100xx, the maximum frequency of the SYSCLK and HCLK/PCLK1/PCLK2 is 24 MHz. 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** Depending on the SYSCLK frequency, the flash latency should be adapted accordingly. 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @endverbatim 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @{ 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** Additional consideration on the SYSCLK based on Latency settings: 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** +-----------------------------------------------+ 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** | Latency | SYSCLK clock frequency (MHz) | 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** |---------------|-------------------------------| 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** |0WS(1CPU cycle)| 0 < SYSCLK <= 24 | 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** |---------------|-------------------------------| 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** |1WS(2CPU cycle)| 24 < SYSCLK <= 48 | 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** |---------------|-------------------------------| 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** |2WS(3CPU cycle)| 48 < SYSCLK <= 72 | 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** +-----------------------------------------------+ 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Resets the RCC clock configuration to the default reset state. 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note The default reset state of the clock configuration is given below: 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * - HSI ON and used as system clock source 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * - HSE, PLL, PLL2 and PLL3 are OFF 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * - AHB, APB1 and APB2 prescaler set to 1. 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * - CSS and MCO1 OFF 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * - All interrupts disabled 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * - All flags are cleared 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note This function does not modify the configuration of the 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * - Peripheral clocks 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * - LSI, LSE and RTC clocks 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval HAL_StatusTypeDef 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_DeInit(void) 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t tickstart; 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ARM GAS /tmp/ccWlYFBg.s page 5 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set HSION bit */ 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_HSION); 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till HSI is ready */ 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_HSIRDY) == RESET) 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set HSITRIM bits to the reset value */ 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MODIFY_REG(RCC->CR, RCC_CR_HSITRIM, (0x10U << RCC_CR_HSITRIM_Pos)); 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Reset CFGR register */ 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR); 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till clock switch is ready */ 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (READ_BIT(RCC->CFGR, RCC_CFGR_SWS) != RESET) 230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ 238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** SystemCoreClock = HSI_VALUE; 239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Adapt Systick interrupt period */ 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (HAL_InitTick(uwTickPrio) != HAL_OK) 242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Second step is to clear PLLON bit */ 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_PLLON); 251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till PLL is disabled */ 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) != RESET) 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ARM GAS /tmp/ccWlYFBg.s page 6 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Ensure to reset PLLSRC and PLLMUL bits */ 262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR); 263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Reset HSEON & CSSON bits */ 268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_HSEON | RCC_CR_CSSON); 269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till HSE is disabled */ 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_HSERDY) != RESET) 272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Reset HSEBYP bit */ 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP); 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_PLL2_SUPPORT) 283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Clear PLL2ON bit */ 287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_PLL2ON); 288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till PLL2 is disabled */ 290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_PLL2RDY) != RESET) 291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE) 293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /* RCC_PLL2_SUPPORT */ 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_PLLI2S_SUPPORT) 300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Clear PLL3ON bit */ 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_PLL3ON); 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till PLL3 is disabled */ 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_PLL3RDY) != RESET) 308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) 310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /* RCC_PLLI2S_SUPPORT */ 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1) 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Reset CFGR2 register */ ARM GAS /tmp/ccWlYFBg.s page 7 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR2); 319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /* RCC_CFGR2_PREDIV1 */ 320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Reset all CSR flags */ 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** SET_BIT(RCC->CSR, RCC_CSR_RMVF); 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Disable all interrupts */ 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_REG(RCC->CIR); 326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_OK; 328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Initializes the RCC Oscillators according to the specified parameters in the 332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * RCC_OscInitTypeDef. 333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that 334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * contains the configuration information for the RCC Oscillators. 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note The PLL is not disabled when used as system clock. 336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note The PLL is not disabled when USB OTG FS clock is enabled (specific to devices with USB 337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note Transitions LSE Bypass to LSE On and LSE On to LSE Bypass are not 338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * supported by this macro. User should request a transition to LSE Off 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * first and then LSE On or LSE Bypass. 340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * supported by this macro. User should request a transition to HSE Off 342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * first and then HSE On or HSE Bypass. 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval HAL status 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) 346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t tickstart; 348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t pll_config; 349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check Null pointer */ 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (RCC_OscInitStruct == NULL) 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); 358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*------------------------------- HSE Configuration ------------------------*/ 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) 361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* When the HSE is used as system clock or clock source for PLL in these cases it is not allowe 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSE) 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL 368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE 370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else ARM GAS /tmp/ccWlYFBg.s page 8 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set the new HSE configuration ---------------------------------------*/ 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the HSE State */ 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (RCC_OscInitStruct->HSEState != RCC_HSE_OFF) 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till HSE is ready */ 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till HSE is disabled */ 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*----------------------------- HSI Configuration --------------------------*/ 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) 413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); 417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock * 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI) 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* When HSI is used as system clock it will not disabled */ 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Otherwise, just the calibration is allowed */ 428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ 431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); ARM GAS /tmp/ccWlYFBg.s page 9 432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the HSI State */ 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (RCC_OscInitStruct->HSIState != RCC_HSI_OFF) 438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI). */ 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_HSI_ENABLE(); 441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till HSI is ready */ 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI). */ 460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_HSI_DISABLE(); 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till HSI is disabled */ 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*------------------------------ LSI Configuration -------------------------*/ 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) 478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); 481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSI State */ 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (RCC_OscInitStruct->LSIState != RCC_LSI_OFF) 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Enable the Internal Low Speed oscillator (LSI). */ 486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_LSI_ENABLE(); 487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ ARM GAS /tmp/ccWlYFBg.s page 10 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till LSI is ready */ 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* To have a fully stabilized clock in the specified range, a software delay of 1ms 500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** should be added.*/ 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_Delay(1); 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Disable the Internal Low Speed oscillator (LSI). */ 506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_LSI_DISABLE(); 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till LSI is disabled */ 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*------------------------------ LSE Configuration -------------------------*/ 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) 523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** FlagStatus pwrclkchanged = RESET; 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); 528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Update LSE configuration in Backup Domain control register */ 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Requires to enable write access to Backup Domain of necessary */ 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (__HAL_RCC_PWR_IS_CLK_DISABLED()) 532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_ENABLE(); 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pwrclkchanged = SET; 535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Enable write access to Backup domain */ 540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** SET_BIT(PWR->CR, PWR_CR_DBP); 541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait for Backup domain Write protection disable */ 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) ARM GAS /tmp/ccWlYFBg.s page 11 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set the new LSE configuration -----------------------------------------*/ 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); 556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (RCC_OscInitStruct->LSEState != RCC_LSE_OFF) 558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till LSE is ready */ 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till LSE is disabled */ 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Require to disable power clock if necessary */ 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (pwrclkchanged == SET) 588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_DISABLE(); 590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CR_PLL2ON) 594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*-------------------------------- PLL2 Configuration -----------------------*/ 595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_PLL2(RCC_OscInitStruct->PLL2.PLL2State)); 597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL2.PLL2State) != RCC_PLL2_NONE) 598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* This bit can not be cleared if the PLL2 clock is used indirectly as system 600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** clock (i.e. it is used as PLL clock entry that is used as system clock). */ 601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((__HAL_RCC_GET_PLL_OSCSOURCE() == RCC_PLLSOURCE_HSE) && \ 602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && \ ARM GAS /tmp/ccWlYFBg.s page 12 603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ((READ_BIT(RCC->CFGR2, RCC_CFGR2_PREDIV1SRC)) == RCC_CFGR2_PREDIV1SRC_PLL2)) 604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL2.PLL2State) == RCC_PLL2_ON) 610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_PLL2_MUL(RCC_OscInitStruct->PLL2.PLL2MUL)); 613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_HSE_PREDIV2(RCC_OscInitStruct->PLL2.HSEPrediv2Value)); 614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Prediv2 can be written only when the PLLI2S is disabled. */ 616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Return an error only if new value is different from the programmed value */ 617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (HAL_IS_BIT_SET(RCC->CR, RCC_CR_PLL3ON) && \ 618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (__HAL_RCC_HSE_GET_PREDIV2() != RCC_OscInitStruct->PLL2.HSEPrediv2Value)) 619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Disable the main PLL2. */ 624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PLL2_DISABLE(); 625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till PLL2 is disabled */ 630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLL2RDY) != RESET) 631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE) 633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Configure the HSE prediv2 factor --------------------------------*/ 639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_HSE_PREDIV2_CONFIG(RCC_OscInitStruct->PLL2.HSEPrediv2Value); 640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Configure the main PLL2 multiplication factors. */ 642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PLL2_CONFIG(RCC_OscInitStruct->PLL2.PLL2MUL); 643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Enable the main PLL2. */ 645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PLL2_ENABLE(); 646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till PLL2 is ready */ 651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLL2RDY) == RESET) 652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE) 654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else ARM GAS /tmp/ccWlYFBg.s page 13 660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set PREDIV1 source to HSE */ 662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** CLEAR_BIT(RCC->CFGR2, RCC_CFGR2_PREDIV1SRC); 663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Disable the main PLL2. */ 665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PLL2_DISABLE(); 666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till PLL2 is disabled */ 671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLL2RDY) != RESET) 672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE) 674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /* RCC_CR_PLL2ON */ 683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*-------------------------------- PLL Configuration -----------------------*/ 684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE) 687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check if the PLL is used as system clock or not */ 689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK) 690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) 692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_PLLSOURCE(RCC_OscInitStruct->PLL.PLLSource)); 695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_PLL_MUL(RCC_OscInitStruct->PLL.PLLMUL)); 696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Disable the main PLL. */ 698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); 699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till PLL is disabled */ 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Configure the HSE prediv factor --------------------------------*/ 713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* It can be written only when the PLL is disabled. Not used in PLL source is different tha 714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (RCC_OscInitStruct->PLL.PLLSource == RCC_PLLSOURCE_HSE) 715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameter */ ARM GAS /tmp/ccWlYFBg.s page 14 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_HSE_PREDIV(RCC_OscInitStruct->HSEPredivValue)); 718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1SRC) 719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_PREDIV1_SOURCE(RCC_OscInitStruct->Prediv1Source)); 720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set PREDIV1 source */ 722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** SET_BIT(RCC->CFGR2, RCC_OscInitStruct->Prediv1Source); 723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /* RCC_CFGR2_PREDIV1SRC */ 724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set PREDIV1 Value */ 726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_HSE_PREDIV_CONFIG(RCC_OscInitStruct->HSEPredivValue); 727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Configure the main PLL clock source and multiplication factors. */ 730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, 731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL); 732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Enable the main PLL. */ 733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PLL_ENABLE(); 734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till PLL is ready */ 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Disable the main PLL. */ 750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); 751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Wait till PLL is disabled */ 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check if there is a request to disable the PLL used as System clock source */ 768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) 769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { ARM GAS /tmp/ccWlYFBg.s page 15 774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Do not return HAL_ERROR if request repeats the current configuration */ 775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pll_config = RCC->CFGR; 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((READ_BIT(pll_config, RCC_CFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMULL) != RCC_OscInitStruct->PLL.PLLMUL)) 778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_OK; 786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Initializes the CPU, AHB and APB buses clocks according to the specified 790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * parameters in the RCC_ClkInitStruct. 791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_OscInitTypeDef structure that 792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * contains the configuration information for the RCC peripheral. 793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param FLatency FLASH Latency 794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * The value of this parameter depend on device used within the same series 795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency 796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * and updated by @ref HAL_RCC_GetHCLKFreq() function called within this function 797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note The HSI is used (enabled by hardware) as system clock source after 799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * start-up from Reset, wake-up from STOP and STANDBY mode, or in case 800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * of failure of the HSE used directly or indirectly as system clock 801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * (if the Clock Security System CSS is enabled). 802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note A switch from one clock source to another occurs only if the target 804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * clock source is ready (clock stable after start-up delay or PLL locked). 805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * If a clock source which is not yet ready is selected, the switch will 806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * occur when the clock source will be ready. 807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * You can use @ref HAL_RCC_GetClockConfig() function to know which clock is 808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * currently used as system clock source. 809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval HAL status 810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) 812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t tickstart; 814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check Null pointer */ 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (RCC_ClkInitStruct == NULL) 817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_CLOCKTYPE(RCC_ClkInitStruct->ClockType)); 823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency)); 824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* To correctly read data from FLASH memory, the number of wait states (LATENCY) 826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** must be correctly programmed according to the frequency of the CPU clock 827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (HCLK) of the device. */ 828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(FLASH_ACR_LATENCY) 830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Increasing the number of wait states because of higher CPU frequency */ ARM GAS /tmp/ccWlYFBg.s page 16 831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (FLatency > __HAL_FLASH_GET_LATENCY()) 832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ 834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash 837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (__HAL_FLASH_GET_LATENCY() != FLatency) 839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /* FLASH_ACR_LATENCY */ 845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*-------------------------- HCLK Configuration --------------------------*/ 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) 847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set the highest APBx dividers in order to ensure that we do not go through 849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** a non-spec phase whatever we decrease or increase HCLK. */ 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); 853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3)); 858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set the new HCLK clock divider */ 861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); 863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*------------------------- SYSCLK Configuration ---------------------------*/ 866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) 867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); 869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* HSE is selected as System Clock Source */ 871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the HSE ready flag */ 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* PLL is selected as System Clock Source */ 880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) 881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the PLL ready flag */ 883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } ARM GAS /tmp/ccWlYFBg.s page 17 888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* HSI is selected as System Clock Source */ 889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the HSI ready flag */ 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); 898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get Start Tick */ 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tickstart = HAL_GetTick(); 901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_TIMEOUT; 907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(FLASH_ACR_LATENCY) 912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Decreasing the number of wait states because of lower CPU frequency */ 913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (FLatency < __HAL_FLASH_GET_LATENCY()) 914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ 916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash 919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (__HAL_FLASH_GET_LATENCY() != FLatency) 921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_ERROR; 923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /* FLASH_ACR_LATENCY */ 926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*-------------------------- PCLK1 Configuration ---------------------------*/ 928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); 931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /*-------------------------- PCLK2 Configuration ---------------------------*/ 935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); 938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3)); 939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE) >> RCC_C 943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Configure the source of time base considering new system clocks settings*/ ARM GAS /tmp/ccWlYFBg.s page 18 945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** HAL_InitTick(uwTickPrio); 946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return HAL_OK; 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @} 952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group2 Peripheral Control functions 955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief RCC clocks control functions 956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @verbatim 958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** =============================================================================== 959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ##### Peripheral Control functions ##### 960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** =============================================================================== 961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** [..] 962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** This subsection provides a set of functions allowing to control the RCC Clocks 963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** frequencies. 964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @endverbatim 966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @{ 967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Selects the clock source to output on MCO pin. 971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note MCO pin should be configured in alternate function mode. 972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param RCC_MCOx specifies the output direction for the clock source. 973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * This parameter can be one of the following values: 974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1 Clock source to output on MCO1 pin(PA8). 975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param RCC_MCOSource specifies the clock source to output. 976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * This parameter can be one of the following values: 977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_NOCLOCK No clock selected as MCO clock 978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_SYSCLK System clock selected as MCO clock 979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI HSI selected as MCO clock 980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSE HSE selected as MCO clock 981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @if STM32F105xC 982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLL clock divided by 2 selected as MCO source 983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLL2CLK PLL2 clock selected as MCO source 984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLL3CLK_DIV2 PLL3 clock divided by 2 selected as MCO source 985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_EXT_HSE XT1 external 3-25 MHz oscillator clock selecte 986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLL3CLK PLL3 clock selected as MCO source 987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @endif 988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @if STM32F107xC 989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLL clock divided by 2 selected as MCO source 990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLL2CLK PLL2 clock selected as MCO source 991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLL3CLK_DIV2 PLL3 clock divided by 2 selected as MCO source 992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_EXT_HSE XT1 external 3-25 MHz oscillator clock selected as 993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLL3CLK PLL3 clock selected as MCO source 994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** @endif 995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param RCC_MCODiv specifies the MCO DIV. 996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * This parameter can be one of the following values: 997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_1 no division applied to MCO clock 998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval None 999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv) 1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { ARM GAS /tmp/ccWlYFBg.s page 19 1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** GPIO_InitTypeDef gpio = {0U}; 1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_MCO(RCC_MCOx)); 1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_MCODIV(RCC_MCODiv)); 1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); 1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Prevent unused argument(s) compilation warning */ 1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** UNUSED(RCC_MCOx); 1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** UNUSED(RCC_MCODiv); 1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Configure the MCO1 pin in alternate function mode */ 1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** gpio.Mode = GPIO_MODE_AF_PP; 1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** gpio.Speed = GPIO_SPEED_FREQ_HIGH; 1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** gpio.Pull = GPIO_NOPULL; 1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** gpio.Pin = MCO1_PIN; 1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* MCO1 Clock Enable */ 1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MCO1_CLK_ENABLE(); 1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** HAL_GPIO_Init(MCO1_GPIO_PORT, &gpio); 1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Configure the MCO clock source */ 1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_MCO1_CONFIG(RCC_MCOSource, RCC_MCODiv); 1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Enables the Clock Security System. 1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note If a failure is detected on the HSE oscillator clock, this oscillator 1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * is automatically disabled and an interrupt is generated to inform the 1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * software about the failure (Clock Security System Interrupt, CSSI), 1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * allowing the MCU to perform rescue operations. The CSSI is linked to 1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * the Cortex-M3 NMI (Non-Maskable Interrupt) exception vector. 1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval None 1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** void HAL_RCC_EnableCSS(void) 1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** *(__IO uint32_t *) RCC_CR_CSSON_BB = (uint32_t)ENABLE; 1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Disables the Clock Security System. 1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval None 1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** void HAL_RCC_DisableCSS(void) 1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** *(__IO uint32_t *) RCC_CR_CSSON_BB = (uint32_t)DISABLE; 1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Returns the SYSCLK frequency 1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note The system frequency computed by this function is not the real 1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * frequency in the chip. It is calculated based on the predefined 1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * constant and the selected clock source: 1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note If SYSCLK source is HSI, function returns values based on HSI_VALUE(*) 1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note If SYSCLK source is HSE, function returns a value based on HSE_VALUE 1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * divided by PREDIV factor(**) ARM GAS /tmp/ccWlYFBg.s page 20 1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note If SYSCLK source is PLL, function returns a value based on HSE_VALUE 1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * divided by PREDIV factor(**) or HSI_VALUE(*) multiplied by the PLL factor. 1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note (*) HSI_VALUE is a constant defined in stm32f1xx_hal_conf.h file (default value 1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 8 MHz) but the real value may vary depending on the variations 1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * in voltage and temperature. 1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note (**) HSE_VALUE is a constant defined in stm32f1xx_hal_conf.h file (default value 1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 8 MHz), user has to ensure that HSE_VALUE is same as the real 1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * frequency of the crystal used. Otherwise, this function may 1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * have wrong result. 1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note The result of this function could be not correct when using fractional 1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * value for HSE crystal. 1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note This function can be used by the user application to compute the 1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * baud-rate for the communication peripherals or configure other parameters. 1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note Each time SYSCLK changes, this function must be called to update the 1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * right SYSCLK value. Otherwise, any configuration based on this function will be incorre 1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval SYSCLK frequency 1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t HAL_RCC_GetSysClockFreq(void) 1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1SRC) 1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** static const uint8_t aPLLMULFactorTable[14U] = {0, 0, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 13}; 1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** static const uint8_t aPredivFactorTable[16U] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #else 1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** static const uint8_t aPLLMULFactorTable[16U] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1 1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1) 1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** static const uint8_t aPredivFactorTable[16U] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #else 1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** static const uint8_t aPredivFactorTable[2U] = {1, 2}; 1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1*/ 1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif 1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t tmpreg = 0U, prediv = 0U, pllclk = 0U, pllmul = 0U; 1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t sysclockfreq = 0U; 1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1SRC) 1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t prediv2 = 0U, pll2mul = 0U; 1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1SRC*/ 1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** tmpreg = RCC->CFGR; 1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get SYSCLK source -------------------------------------------------------*/ 1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** switch (tmpreg & RCC_CFGR_SWS) 1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSE: /* HSE used as system clock */ 1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** sysclockfreq = HSE_VALUE; 1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** break; 1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_PLLCLK: /* PLL used as system clock */ 1111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pllmul = aPLLMULFactorTable[(uint32_t)(tmpreg & RCC_CFGR_PLLMULL) >> RCC_CFGR_PLLMULL_Pos]; 1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((tmpreg & RCC_CFGR_PLLSRC) != RCC_PLLSOURCE_HSI_DIV2) 1114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1) ARM GAS /tmp/ccWlYFBg.s page 21 1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** prediv = aPredivFactorTable[(uint32_t)(RCC->CFGR2 & RCC_CFGR2_PREDIV1) >> RCC_CFGR2_PREDIV1 1117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #else 1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** prediv = aPredivFactorTable[(uint32_t)(RCC->CFGR & RCC_CFGR_PLLXTPRE) >> RCC_CFGR_PLLXTPRE_ 1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1*/ 1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1SRC) 1121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (HAL_IS_BIT_SET(RCC->CFGR2, RCC_CFGR2_PREDIV1SRC)) 1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* PLL2 selected as Prediv1 source */ 1125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* PLLCLK = PLL2CLK / PREDIV1 * PLLMUL with PLL2CLK = HSE/PREDIV2 * PLL2MUL */ 1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** prediv2 = ((RCC->CFGR2 & RCC_CFGR2_PREDIV2) >> RCC_CFGR2_PREDIV2_Pos) + 1; 1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pll2mul = ((RCC->CFGR2 & RCC_CFGR2_PLL2MUL) >> RCC_CFGR2_PLL2MUL_Pos) + 2; 1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pllclk = (uint32_t)(((uint64_t)HSE_VALUE * (uint64_t)pll2mul * (uint64_t)pllmul) / ((uint 1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* HSE used as PLL clock source : PLLCLK = HSE/PREDIV1 * PLLMUL */ 1133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pllclk = (uint32_t)((HSE_VALUE * pllmul) / prediv); 1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* If PLLMUL was set to 13 means that it was to cover the case PLLMUL 6.5 (avoid using floa 1137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* In this case need to divide pllclk by 2 */ 1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (pllmul == aPLLMULFactorTable[(uint32_t)(RCC_CFGR_PLLMULL6_5) >> RCC_CFGR_PLLMULL_Pos]) 1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pllclk = pllclk / 2; 1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #else 1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* HSE used as PLL clock source : PLLCLK = HSE/PREDIV1 * PLLMUL */ 1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pllclk = (uint32_t)((HSE_VALUE * pllmul) / prediv); 1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1SRC*/ 1146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* HSI used as PLL clock source : PLLCLK = HSI/2 * PLLMUL */ 1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pllclk = (uint32_t)((HSI_VALUE >> 1) * pllmul); 1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** sysclockfreq = pllclk; 1153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** break; 1154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSI: /* HSI used as system clock source */ 1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** default: /* HSI used as system clock */ 1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** sysclockfreq = HSI_VALUE; 1159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** break; 1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return sysclockfreq; 1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Returns the HCLK frequency 1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note Each time HCLK changes, this function must be called to update the 1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * right HCLK value. Otherwise, any configuration based on this function will be incorrect 1169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * 1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency 1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * and updated within this function 1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval HCLK frequency ARM GAS /tmp/ccWlYFBg.s page 22 1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t HAL_RCC_GetHCLKFreq(void) 1175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return SystemCoreClock; 1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Returns the PCLK1 frequency 1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note Each time PCLK1 changes, this function must be called to update the 1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * right PCLK1 value. Otherwise, any configuration based on this function will be incorrec 1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval PCLK1 frequency 1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK1Freq(void) 1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ 1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE1) >> RCC_CFGR_PPRE1_Pos 1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Returns the PCLK2 frequency 1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note Each time PCLK2 changes, this function must be called to update the 1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * right PCLK2 value. Otherwise, any configuration based on this function will be incorrec 1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval PCLK2 frequency 1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK2Freq(void) 1198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ 1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE2) >> RCC_CFGR_PPRE2_Pos 1201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Configures the RCC_OscInitStruct according to the internal 1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * RCC configuration registers. 1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that 1207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * will be configured. 1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval None 1209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) 1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(RCC_OscInitStruct != NULL); 1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set all possible values for the Oscillator type parameter ---------------*/ 1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI \ 1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** | RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI; 1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1SRC) 1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the Prediv1 source --------------------------------------------------*/ 1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->Prediv1Source = READ_BIT(RCC->CFGR2, RCC_CFGR2_PREDIV1SRC); 1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /* RCC_CFGR2_PREDIV1SRC */ 1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the HSE configuration -----------------------------------------------*/ 1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC->CR & RCC_CR_HSEBYP) == RCC_CR_HSEBYP) 1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS; 1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else if ((RCC->CR & RCC_CR_HSEON) == RCC_CR_HSEON) ARM GAS /tmp/ccWlYFBg.s page 23 1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_ON; 1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_OFF; 1236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->HSEPredivValue = __HAL_RCC_HSE_GET_PREDIV(); 1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the HSI configuration -----------------------------------------------*/ 1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC->CR & RCC_CR_HSION) == RCC_CR_HSION) 1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_ON; 1243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 1245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_OFF; 1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->HSICalibrationValue = (uint32_t)((RCC->CR & RCC_CR_HSITRIM) >> RCC_CR_HSITRIM_ 1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the LSE configuration -----------------------------------------------*/ 1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC->BDCR & RCC_BDCR_LSEBYP) == RCC_BDCR_LSEBYP) 1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS; 1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else if ((RCC->BDCR & RCC_BDCR_LSEON) == RCC_BDCR_LSEON) 1257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_ON; 1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_OFF; 1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the LSI configuration -----------------------------------------------*/ 1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC->CSR & RCC_CSR_LSION) == RCC_CSR_LSION) 1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_ON; 1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_OFF; 1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the PLL configuration -----------------------------------------------*/ 1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC->CR & RCC_CR_PLLON) == RCC_CR_PLLON) 1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_ON; 1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_OFF; 1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLSource = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLSRC); 1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLMULL); ARM GAS /tmp/ccWlYFBg.s page 24 1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CR_PLL2ON) 1288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the PLL2 configuration -----------------------------------------------*/ 1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC->CR & RCC_CR_PLL2ON) == RCC_CR_PLL2ON) 1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL2.PLL2State = RCC_PLL2_ON; 1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** else 1294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL2.PLL2State = RCC_PLL2_OFF; 1296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL2.HSEPrediv2Value = __HAL_RCC_HSE_GET_PREDIV2(); 1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL2.PLL2MUL = (uint32_t)(RCC->CFGR2 & RCC_CFGR2_PLL2MUL); 1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /* RCC_CR_PLL2ON */ 1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief Get the RCC_ClkInitStruct according to the internal 1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * RCC configuration registers. 1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_ClkInitTypeDef structure that 1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * contains the current clock configuration. 1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param pFLatency Pointer on the Flash Latency. 1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval None 1309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency) 1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(RCC_ClkInitStruct != NULL); 1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(pFLatency != NULL); 1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Set all possible values for the Clock type parameter --------------------*/ 1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_ClkInitStruct->ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | 1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the SYSCLK configuration --------------------------------------------*/ 1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_ClkInitStruct->SYSCLKSource = (uint32_t)(RCC->CFGR & RCC_CFGR_SW); 1321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the HCLK configuration ----------------------------------------------*/ 1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_ClkInitStruct->AHBCLKDivider = (uint32_t)(RCC->CFGR & RCC_CFGR_HPRE); 1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the APB1 configuration ----------------------------------------------*/ 1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_ClkInitStruct->APB1CLKDivider = (uint32_t)(RCC->CFGR & RCC_CFGR_PPRE1); 1327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the APB2 configuration ----------------------------------------------*/ 1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_ClkInitStruct->APB2CLKDivider = (uint32_t)((RCC->CFGR & RCC_CFGR_PPRE2) >> 3); 1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(FLASH_ACR_LATENCY) 1332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get the Flash Wait State (Latency) configuration ------------------------*/ 1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** *pFLatency = (uint32_t)(FLASH->ACR & FLASH_ACR_LATENCY); 1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #else 1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* For VALUE lines devices, only LATENCY_0 can be set*/ 1336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** *pFLatency = (uint32_t)FLASH_LATENCY_0; 1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif 1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief This function handles the RCC CSS interrupt request. 1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @note This API should be called under the NMI_Handler(). 1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval None ARM GAS /tmp/ccWlYFBg.s page 25 1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** void HAL_RCC_NMI_IRQHandler(void) 1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check RCC CSSF flag */ 1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if (__HAL_RCC_GET_IT(RCC_IT_CSS)) 1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* RCC Clock Security System interrupt user callback */ 1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** HAL_RCC_CSSCallback(); 1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Clear RCC CSS pending bit */ 1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __HAL_RCC_CLEAR_IT(RCC_IT_CSS); 1355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief This function provides delay (in milliseconds) based on CPU cycles method. 1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @param mdelay: specifies the delay time length, in milliseconds. 1361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval None 1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** static void RCC_Delay(uint32_t mdelay) 1364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 27 .loc 1 1364 1 view -0 28 .cfi_startproc 29 @ args = 0, pretend = 0, frame = 8 30 @ frame_needed = 0, uses_anonymous_args = 0 31 @ link register save eliminated. 32 .loc 1 1364 1 is_stmt 0 view .LVU1 33 0000 82B0 sub sp, sp, #8 34 .LCFI0: 35 .cfi_def_cfa_offset 8 1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __IO uint32_t Delay = mdelay * (SystemCoreClock / 8U / 1000U); 36 .loc 1 1365 3 is_stmt 1 view .LVU2 37 .loc 1 1365 56 is_stmt 0 view .LVU3 38 0002 084B ldr r3, .L4 39 0004 1B68 ldr r3, [r3] 40 0006 084A ldr r2, .L4+4 41 0008 A2FB0323 umull r2, r3, r2, r3 42 000c 5B0A lsrs r3, r3, #9 43 .loc 1 1365 32 view .LVU4 44 000e 00FB03F3 mul r3, r0, r3 45 .loc 1 1365 17 view .LVU5 46 0012 0193 str r3, [sp, #4] 47 .L2: 1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** do 48 .loc 1 1366 3 is_stmt 1 discriminator 1 view .LVU6 1367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __NOP(); 49 .loc 1 1368 5 discriminator 1 view .LVU7 50 .syntax unified 51 @ 1368 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c" 1 52 0014 00BF nop 53 @ 0 "" 2 1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** while (Delay --); 54 .loc 1 1370 9 discriminator 1 view .LVU8 55 .loc 1 1370 16 is_stmt 0 discriminator 1 view .LVU9 56 .thumb ARM GAS /tmp/ccWlYFBg.s page 26 57 .syntax unified 58 0016 019B ldr r3, [sp, #4] 59 0018 5A1E subs r2, r3, #1 60 001a 0192 str r2, [sp, #4] 61 .loc 1 1370 3 discriminator 1 view .LVU10 62 001c 002B cmp r3, #0 63 001e F9D1 bne .L2 1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 64 .loc 1 1371 1 view .LVU11 65 0020 02B0 add sp, sp, #8 66 .LCFI1: 67 .cfi_def_cfa_offset 0 68 @ sp needed 69 0022 7047 bx lr 70 .L5: 71 .align 2 72 .L4: 73 0024 00000000 .word SystemCoreClock 74 0028 D34D6210 .word 274877907 75 .cfi_endproc 76 .LFE78: 78 .section .text.HAL_RCC_DeInit,"ax",%progbits 79 .align 1 80 .global HAL_RCC_DeInit 81 .syntax unified 82 .thumb 83 .thumb_func 85 HAL_RCC_DeInit: 86 .LFB65: 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t tickstart; 87 .loc 1 201 1 is_stmt 1 view -0 88 .cfi_startproc 89 @ args = 0, pretend = 0, frame = 0 90 @ frame_needed = 0, uses_anonymous_args = 0 91 0000 70B5 push {r4, r5, r6, lr} 92 .LCFI2: 93 .cfi_def_cfa_offset 16 94 .cfi_offset 4, -16 95 .cfi_offset 5, -12 96 .cfi_offset 6, -8 97 .cfi_offset 14, -4 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 98 .loc 1 202 3 view .LVU13 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 99 .loc 1 205 3 view .LVU14 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 100 .loc 1 205 15 is_stmt 0 view .LVU15 101 0002 FFF7FEFF bl HAL_GetTick 102 .LVL1: 103 0006 0446 mov r4, r0 104 .LVL2: 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 105 .loc 1 208 3 is_stmt 1 view .LVU16 106 0008 364A ldr r2, .L27 107 000a 1368 ldr r3, [r2] 108 000c 43F00103 orr r3, r3, #1 109 0010 1360 str r3, [r2] ARM GAS /tmp/ccWlYFBg.s page 27 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 110 .loc 1 211 3 view .LVU17 111 .LVL3: 112 .L7: 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 113 .loc 1 211 9 view .LVU18 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 114 .loc 1 211 10 is_stmt 0 view .LVU19 115 0012 344B ldr r3, .L27 116 0014 1B68 ldr r3, [r3] 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 117 .loc 1 211 9 view .LVU20 118 0016 13F0020F tst r3, #2 119 001a 07D1 bne .L22 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 120 .loc 1 213 5 is_stmt 1 view .LVU21 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 121 .loc 1 213 10 is_stmt 0 view .LVU22 122 001c FFF7FEFF bl HAL_GetTick 123 .LVL4: 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 124 .loc 1 213 24 view .LVU23 125 0020 001B subs r0, r0, r4 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 126 .loc 1 213 8 view .LVU24 127 0022 0228 cmp r0, #2 128 0024 F5D9 bls .L7 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 129 .loc 1 215 14 view .LVU25 130 0026 0324 movs r4, #3 131 .LVL5: 132 .L8: 328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 133 .loc 1 328 1 view .LVU26 134 0028 2046 mov r0, r4 135 002a 70BD pop {r4, r5, r6, pc} 136 .LVL6: 137 .L22: 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 138 .loc 1 220 3 is_stmt 1 view .LVU27 139 002c 2D4D ldr r5, .L27 140 002e 2B68 ldr r3, [r5] 141 0030 23F0F803 bic r3, r3, #248 142 0034 43F08003 orr r3, r3, #128 143 0038 2B60 str r3, [r5] 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 144 .loc 1 223 3 view .LVU28 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 145 .loc 1 223 15 is_stmt 0 view .LVU29 146 003a FFF7FEFF bl HAL_GetTick 147 .LVL7: 148 003e 0446 mov r4, r0 149 .LVL8: 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 150 .loc 1 226 3 is_stmt 1 view .LVU30 151 0040 0023 movs r3, #0 152 0042 6B60 str r3, [r5, #4] ARM GAS /tmp/ccWlYFBg.s page 28 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 153 .loc 1 229 3 view .LVU31 154 .LVL9: 155 .L10: 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 156 .loc 1 229 9 view .LVU32 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 157 .loc 1 229 10 is_stmt 0 view .LVU33 158 0044 274B ldr r3, .L27 159 0046 5B68 ldr r3, [r3, #4] 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 160 .loc 1 229 9 view .LVU34 161 0048 13F00C0F tst r3, #12 162 004c 08D0 beq .L23 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 163 .loc 1 231 5 is_stmt 1 view .LVU35 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 164 .loc 1 231 10 is_stmt 0 view .LVU36 165 004e FFF7FEFF bl HAL_GetTick 166 .LVL10: 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 167 .loc 1 231 24 view .LVU37 168 0052 001B subs r0, r0, r4 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 169 .loc 1 231 8 view .LVU38 170 0054 41F28833 movw r3, #5000 171 0058 9842 cmp r0, r3 172 005a F3D9 bls .L10 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 173 .loc 1 233 14 view .LVU39 174 005c 0324 movs r4, #3 175 .LVL11: 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 176 .loc 1 233 14 view .LVU40 177 005e E3E7 b .L8 178 .LVL12: 179 .L23: 238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 180 .loc 1 238 3 is_stmt 1 view .LVU41 238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 181 .loc 1 238 19 is_stmt 0 view .LVU42 182 0060 214B ldr r3, .L27+4 183 0062 224A ldr r2, .L27+8 184 0064 1A60 str r2, [r3] 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 185 .loc 1 241 3 is_stmt 1 view .LVU43 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 186 .loc 1 241 7 is_stmt 0 view .LVU44 187 0066 224B ldr r3, .L27+12 188 0068 1868 ldr r0, [r3] 189 006a FFF7FEFF bl HAL_InitTick 190 .LVL13: 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 191 .loc 1 241 6 view .LVU45 192 006e 0446 mov r4, r0 193 .LVL14: 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { ARM GAS /tmp/ccWlYFBg.s page 29 194 .loc 1 241 6 view .LVU46 195 0070 08B1 cbz r0, .L24 243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 196 .loc 1 243 12 view .LVU47 197 0072 0124 movs r4, #1 198 0074 D8E7 b .L8 199 .L24: 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 200 .loc 1 247 3 is_stmt 1 view .LVU48 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 201 .loc 1 247 15 is_stmt 0 view .LVU49 202 0076 FFF7FEFF bl HAL_GetTick 203 .LVL15: 204 007a 0546 mov r5, r0 205 .LVL16: 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 206 .loc 1 250 3 is_stmt 1 view .LVU50 207 007c 194A ldr r2, .L27 208 007e 1368 ldr r3, [r2] 209 0080 23F08073 bic r3, r3, #16777216 210 0084 1360 str r3, [r2] 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 211 .loc 1 253 3 view .LVU51 212 .LVL17: 213 .L12: 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 214 .loc 1 253 9 view .LVU52 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 215 .loc 1 253 10 is_stmt 0 view .LVU53 216 0086 174B ldr r3, .L27 217 0088 1B68 ldr r3, [r3] 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 218 .loc 1 253 9 view .LVU54 219 008a 13F0007F tst r3, #33554432 220 008e 06D0 beq .L25 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 221 .loc 1 255 5 is_stmt 1 view .LVU55 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 222 .loc 1 255 10 is_stmt 0 view .LVU56 223 0090 FFF7FEFF bl HAL_GetTick 224 .LVL18: 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 225 .loc 1 255 24 view .LVU57 226 0094 401B subs r0, r0, r5 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 227 .loc 1 255 8 view .LVU58 228 0096 0228 cmp r0, #2 229 0098 F5D9 bls .L12 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 230 .loc 1 257 14 view .LVU59 231 009a 0324 movs r4, #3 232 009c C4E7 b .L8 233 .L25: 262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 234 .loc 1 262 3 is_stmt 1 view .LVU60 235 009e 114E ldr r6, .L27 236 00a0 0023 movs r3, #0 ARM GAS /tmp/ccWlYFBg.s page 30 237 00a2 7360 str r3, [r6, #4] 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 238 .loc 1 265 3 view .LVU61 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 239 .loc 1 265 15 is_stmt 0 view .LVU62 240 00a4 FFF7FEFF bl HAL_GetTick 241 .LVL19: 242 00a8 0546 mov r5, r0 243 .LVL20: 268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 244 .loc 1 268 3 is_stmt 1 view .LVU63 245 00aa 3368 ldr r3, [r6] 246 00ac 23F41023 bic r3, r3, #589824 247 00b0 3360 str r3, [r6] 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 248 .loc 1 271 3 view .LVU64 249 .LVL21: 250 .L14: 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 251 .loc 1 271 9 view .LVU65 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 252 .loc 1 271 10 is_stmt 0 view .LVU66 253 00b2 0C4B ldr r3, .L27 254 00b4 1B68 ldr r3, [r3] 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 255 .loc 1 271 9 view .LVU67 256 00b6 13F4003F tst r3, #131072 257 00ba 06D0 beq .L26 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 258 .loc 1 273 5 is_stmt 1 view .LVU68 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 259 .loc 1 273 10 is_stmt 0 view .LVU69 260 00bc FFF7FEFF bl HAL_GetTick 261 .LVL22: 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 262 .loc 1 273 24 view .LVU70 263 00c0 401B subs r0, r0, r5 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 264 .loc 1 273 8 view .LVU71 265 00c2 6428 cmp r0, #100 266 00c4 F5D9 bls .L14 275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 267 .loc 1 275 14 view .LVU72 268 00c6 0324 movs r4, #3 269 00c8 AEE7 b .L8 270 .L26: 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 271 .loc 1 280 3 is_stmt 1 view .LVU73 272 00ca 064B ldr r3, .L27 273 00cc 1A68 ldr r2, [r3] 274 00ce 22F48022 bic r2, r2, #262144 275 00d2 1A60 str r2, [r3] 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 276 .loc 1 322 3 view .LVU74 277 00d4 5A6A ldr r2, [r3, #36] 278 00d6 42F08072 orr r2, r2, #16777216 279 00da 5A62 str r2, [r3, #36] ARM GAS /tmp/ccWlYFBg.s page 31 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 280 .loc 1 325 3 view .LVU75 281 00dc 0022 movs r2, #0 282 00de 9A60 str r2, [r3, #8] 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 283 .loc 1 327 3 view .LVU76 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 284 .loc 1 327 10 is_stmt 0 view .LVU77 285 00e0 A2E7 b .L8 286 .L28: 287 00e2 00BF .align 2 288 .L27: 289 00e4 00100240 .word 1073876992 290 00e8 00000000 .word SystemCoreClock 291 00ec 00127A00 .word 8000000 292 00f0 00000000 .word uwTickPrio 293 .cfi_endproc 294 .LFE65: 296 .section .text.HAL_RCC_OscConfig,"ax",%progbits 297 .align 1 298 .global HAL_RCC_OscConfig 299 .syntax unified 300 .thumb 301 .thumb_func 303 HAL_RCC_OscConfig: 304 .LVL23: 305 .LFB66: 346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t tickstart; 306 .loc 1 346 1 is_stmt 1 view -0 307 .cfi_startproc 308 @ args = 0, pretend = 0, frame = 8 309 @ frame_needed = 0, uses_anonymous_args = 0 347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t pll_config; 310 .loc 1 347 3 view .LVU79 348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 311 .loc 1 348 3 view .LVU80 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 312 .loc 1 351 3 view .LVU81 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 313 .loc 1 351 6 is_stmt 0 view .LVU82 314 0000 0028 cmp r0, #0 315 0002 00F0F181 beq .L82 346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t tickstart; 316 .loc 1 346 1 view .LVU83 317 0006 70B5 push {r4, r5, r6, lr} 318 .LCFI3: 319 .cfi_def_cfa_offset 16 320 .cfi_offset 4, -16 321 .cfi_offset 5, -12 322 .cfi_offset 6, -8 323 .cfi_offset 14, -4 324 0008 82B0 sub sp, sp, #8 325 .LCFI4: 326 .cfi_def_cfa_offset 24 327 000a 0446 mov r4, r0 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 328 .loc 1 357 3 is_stmt 1 view .LVU84 ARM GAS /tmp/ccWlYFBg.s page 32 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 329 .loc 1 360 3 view .LVU85 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 330 .loc 1 360 26 is_stmt 0 view .LVU86 331 000c 0368 ldr r3, [r0] 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 332 .loc 1 360 6 view .LVU87 333 000e 13F0010F tst r3, #1 334 0012 2CD0 beq .L31 363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 335 .loc 1 363 5 is_stmt 1 view .LVU88 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL 336 .loc 1 366 5 view .LVU89 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL 337 .loc 1 366 10 is_stmt 0 view .LVU90 338 0014 994B ldr r3, .L122 339 0016 5B68 ldr r3, [r3, #4] 340 0018 03F00C03 and r3, r3, #12 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL 341 .loc 1 366 8 view .LVU91 342 001c 042B cmp r3, #4 343 001e 1DD0 beq .L32 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 344 .loc 1 367 14 view .LVU92 345 0020 964B ldr r3, .L122 346 0022 5B68 ldr r3, [r3, #4] 347 0024 03F00C03 and r3, r3, #12 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 348 .loc 1 367 9 view .LVU93 349 0028 082B cmp r3, #8 350 002a 12D0 beq .L106 351 .L33: 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 352 .loc 1 377 7 is_stmt 1 view .LVU94 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 353 .loc 1 377 7 view .LVU95 354 002c 6368 ldr r3, [r4, #4] 355 002e B3F5803F cmp r3, #65536 356 0032 41D0 beq .L107 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 357 .loc 1 377 7 discriminator 2 view .LVU96 358 0034 002B cmp r3, #0 359 0036 55D1 bne .L36 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 360 .loc 1 377 7 discriminator 4 view .LVU97 361 0038 03F18043 add r3, r3, #1073741824 362 003c 03F50433 add r3, r3, #135168 363 0040 1A68 ldr r2, [r3] 364 0042 22F48032 bic r2, r2, #65536 365 0046 1A60 str r2, [r3] 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 366 .loc 1 377 7 discriminator 4 view .LVU98 367 0048 1A68 ldr r2, [r3] 368 004a 22F48022 bic r2, r2, #262144 369 004e 1A60 str r2, [r3] 370 0050 37E0 b .L35 371 .L106: ARM GAS /tmp/ccWlYFBg.s page 33 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 372 .loc 1 367 83 is_stmt 0 discriminator 1 view .LVU99 373 0052 8A4B ldr r3, .L122 374 0054 5B68 ldr r3, [r3, #4] 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 375 .loc 1 367 79 discriminator 1 view .LVU100 376 0056 13F4803F tst r3, #65536 377 005a E7D0 beq .L33 378 .L32: 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 379 .loc 1 369 7 is_stmt 1 view .LVU101 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 380 .loc 1 369 12 is_stmt 0 view .LVU102 381 005c 874B ldr r3, .L122 382 005e 1B68 ldr r3, [r3] 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 383 .loc 1 369 10 view .LVU103 384 0060 13F4003F tst r3, #131072 385 0064 03D0 beq .L31 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 386 .loc 1 369 79 discriminator 1 view .LVU104 387 0066 6368 ldr r3, [r4, #4] 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 388 .loc 1 369 58 discriminator 1 view .LVU105 389 0068 002B cmp r3, #0 390 006a 00F0BF81 beq .L108 391 .LVL24: 392 .L31: 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 393 .loc 1 412 3 is_stmt 1 view .LVU106 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 394 .loc 1 412 26 is_stmt 0 view .LVU107 395 006e 2368 ldr r3, [r4] 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 396 .loc 1 412 6 view .LVU108 397 0070 13F0020F tst r3, #2 398 0074 75D0 beq .L43 415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); 399 .loc 1 415 5 is_stmt 1 view .LVU109 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 400 .loc 1 416 5 view .LVU110 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL 401 .loc 1 419 5 view .LVU111 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL 402 .loc 1 419 10 is_stmt 0 view .LVU112 403 0076 814B ldr r3, .L122 404 0078 5B68 ldr r3, [r3, #4] 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL 405 .loc 1 419 8 view .LVU113 406 007a 13F00C0F tst r3, #12 407 007e 5FD0 beq .L44 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 408 .loc 1 420 14 view .LVU114 409 0080 7E4B ldr r3, .L122 410 0082 5B68 ldr r3, [r3, #4] 411 0084 03F00C03 and r3, r3, #12 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { ARM GAS /tmp/ccWlYFBg.s page 34 412 .loc 1 420 9 view .LVU115 413 0088 082B cmp r3, #8 414 008a 54D0 beq .L109 415 .L45: 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 416 .loc 1 437 7 is_stmt 1 view .LVU116 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 417 .loc 1 437 28 is_stmt 0 view .LVU117 418 008c 2369 ldr r3, [r4, #16] 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 419 .loc 1 437 10 view .LVU118 420 008e 002B cmp r3, #0 421 0090 00F08A80 beq .L47 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 422 .loc 1 440 9 is_stmt 1 view .LVU119 423 0094 7A4B ldr r3, .L122+4 424 0096 0122 movs r2, #1 425 0098 1A60 str r2, [r3] 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 426 .loc 1 443 9 view .LVU120 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 427 .loc 1 443 21 is_stmt 0 view .LVU121 428 009a FFF7FEFF bl HAL_GetTick 429 .LVL25: 430 009e 0546 mov r5, r0 431 .LVL26: 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 432 .loc 1 446 9 is_stmt 1 view .LVU122 433 .L48: 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 434 .loc 1 446 15 view .LVU123 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 435 .loc 1 446 16 is_stmt 0 view .LVU124 436 00a0 764B ldr r3, .L122 437 00a2 1B68 ldr r3, [r3] 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 438 .loc 1 446 15 view .LVU125 439 00a4 13F0020F tst r3, #2 440 00a8 75D1 bne .L110 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 441 .loc 1 448 11 is_stmt 1 view .LVU126 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 442 .loc 1 448 16 is_stmt 0 view .LVU127 443 00aa FFF7FEFF bl HAL_GetTick 444 .LVL27: 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 445 .loc 1 448 30 view .LVU128 446 00ae 401B subs r0, r0, r5 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 447 .loc 1 448 14 view .LVU129 448 00b0 0228 cmp r0, #2 449 00b2 F5D9 bls .L48 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 450 .loc 1 450 20 view .LVU130 451 00b4 0320 movs r0, #3 452 00b6 9EE1 b .L30 453 .LVL28: ARM GAS /tmp/ccWlYFBg.s page 35 454 .L107: 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 455 .loc 1 377 7 is_stmt 1 discriminator 1 view .LVU131 456 00b8 704A ldr r2, .L122 457 00ba 1368 ldr r3, [r2] 458 00bc 43F48033 orr r3, r3, #65536 459 00c0 1360 str r3, [r2] 460 .L35: 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 461 .loc 1 377 7 discriminator 10 view .LVU132 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 462 .loc 1 381 7 discriminator 10 view .LVU133 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 463 .loc 1 381 28 is_stmt 0 discriminator 10 view .LVU134 464 00c2 6368 ldr r3, [r4, #4] 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 465 .loc 1 381 10 discriminator 10 view .LVU135 466 00c4 43B3 cbz r3, .L38 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 467 .loc 1 384 9 is_stmt 1 view .LVU136 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 468 .loc 1 384 21 is_stmt 0 view .LVU137 469 00c6 FFF7FEFF bl HAL_GetTick 470 .LVL29: 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 471 .loc 1 384 21 view .LVU138 472 00ca 0546 mov r5, r0 473 .LVL30: 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 474 .loc 1 387 9 is_stmt 1 view .LVU139 475 .L39: 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 476 .loc 1 387 15 view .LVU140 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 477 .loc 1 387 16 is_stmt 0 view .LVU141 478 00cc 6B4B ldr r3, .L122 479 00ce 1B68 ldr r3, [r3] 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 480 .loc 1 387 15 view .LVU142 481 00d0 13F4003F tst r3, #131072 482 00d4 CBD1 bne .L31 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 483 .loc 1 389 11 is_stmt 1 view .LVU143 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 484 .loc 1 389 16 is_stmt 0 view .LVU144 485 00d6 FFF7FEFF bl HAL_GetTick 486 .LVL31: 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 487 .loc 1 389 30 view .LVU145 488 00da 401B subs r0, r0, r5 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 489 .loc 1 389 14 view .LVU146 490 00dc 6428 cmp r0, #100 491 00de F5D9 bls .L39 391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 492 .loc 1 391 20 view .LVU147 493 00e0 0320 movs r0, #3 ARM GAS /tmp/ccWlYFBg.s page 36 494 00e2 88E1 b .L30 495 .LVL32: 496 .L36: 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 497 .loc 1 377 7 is_stmt 1 discriminator 5 view .LVU148 498 00e4 B3F5A02F cmp r3, #327680 499 00e8 09D0 beq .L111 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 500 .loc 1 377 7 discriminator 8 view .LVU149 501 00ea 644B ldr r3, .L122 502 00ec 1A68 ldr r2, [r3] 503 00ee 22F48032 bic r2, r2, #65536 504 00f2 1A60 str r2, [r3] 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 505 .loc 1 377 7 discriminator 8 view .LVU150 506 00f4 1A68 ldr r2, [r3] 507 00f6 22F48022 bic r2, r2, #262144 508 00fa 1A60 str r2, [r3] 509 00fc E1E7 b .L35 510 .L111: 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 511 .loc 1 377 7 discriminator 7 view .LVU151 512 00fe 03F18043 add r3, r3, #1073741824 513 0102 A3F53C33 sub r3, r3, #192512 514 0106 1A68 ldr r2, [r3] 515 0108 42F48022 orr r2, r2, #262144 516 010c 1A60 str r2, [r3] 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 517 .loc 1 377 7 discriminator 7 view .LVU152 518 010e 1A68 ldr r2, [r3] 519 0110 42F48032 orr r2, r2, #65536 520 0114 1A60 str r2, [r3] 521 0116 D4E7 b .L35 522 .L38: 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 523 .loc 1 398 9 view .LVU153 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 524 .loc 1 398 21 is_stmt 0 view .LVU154 525 0118 FFF7FEFF bl HAL_GetTick 526 .LVL33: 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 527 .loc 1 398 21 view .LVU155 528 011c 0546 mov r5, r0 529 .LVL34: 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 530 .loc 1 401 9 is_stmt 1 view .LVU156 531 .L41: 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 532 .loc 1 401 15 view .LVU157 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 533 .loc 1 401 16 is_stmt 0 view .LVU158 534 011e 574B ldr r3, .L122 535 0120 1B68 ldr r3, [r3] 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 536 .loc 1 401 15 view .LVU159 537 0122 13F4003F tst r3, #131072 538 0126 A2D0 beq .L31 ARM GAS /tmp/ccWlYFBg.s page 37 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 539 .loc 1 403 11 is_stmt 1 view .LVU160 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 540 .loc 1 403 16 is_stmt 0 view .LVU161 541 0128 FFF7FEFF bl HAL_GetTick 542 .LVL35: 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 543 .loc 1 403 30 view .LVU162 544 012c 401B subs r0, r0, r5 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 545 .loc 1 403 14 view .LVU163 546 012e 6428 cmp r0, #100 547 0130 F5D9 bls .L41 405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 548 .loc 1 405 20 view .LVU164 549 0132 0320 movs r0, #3 550 0134 5FE1 b .L30 551 .LVL36: 552 .L109: 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 553 .loc 1 420 83 discriminator 1 view .LVU165 554 0136 514B ldr r3, .L122 555 0138 5B68 ldr r3, [r3, #4] 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 556 .loc 1 420 79 discriminator 1 view .LVU166 557 013a 13F4803F tst r3, #65536 558 013e A5D1 bne .L45 559 .L44: 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 560 .loc 1 423 7 is_stmt 1 view .LVU167 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 561 .loc 1 423 12 is_stmt 0 view .LVU168 562 0140 4E4B ldr r3, .L122 563 0142 1B68 ldr r3, [r3] 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 564 .loc 1 423 10 view .LVU169 565 0144 13F0020F tst r3, #2 566 0148 03D0 beq .L46 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 567 .loc 1 423 79 discriminator 1 view .LVU170 568 014a 2369 ldr r3, [r4, #16] 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 569 .loc 1 423 58 discriminator 1 view .LVU171 570 014c 012B cmp r3, #1 571 014e 40F04F81 bne .L86 572 .L46: 431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 573 .loc 1 431 9 is_stmt 1 view .LVU172 574 0152 4A4A ldr r2, .L122 575 0154 1368 ldr r3, [r2] 576 0156 23F0F803 bic r3, r3, #248 577 015a 6169 ldr r1, [r4, #20] 578 015c 43EAC103 orr r3, r3, r1, lsl #3 579 0160 1360 str r3, [r2] 580 .L43: 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 581 .loc 1 477 3 view .LVU173 ARM GAS /tmp/ccWlYFBg.s page 38 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 582 .loc 1 477 26 is_stmt 0 view .LVU174 583 0162 2368 ldr r3, [r4] 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 584 .loc 1 477 6 view .LVU175 585 0164 13F0080F tst r3, #8 586 0168 33D0 beq .L52 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 587 .loc 1 480 5 is_stmt 1 view .LVU176 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 588 .loc 1 483 5 view .LVU177 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 589 .loc 1 483 26 is_stmt 0 view .LVU178 590 016a A369 ldr r3, [r4, #24] 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 591 .loc 1 483 8 view .LVU179 592 016c 002B cmp r3, #0 593 016e 5CD0 beq .L53 486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 594 .loc 1 486 7 is_stmt 1 view .LVU180 595 0170 434B ldr r3, .L122+4 596 0172 0122 movs r2, #1 597 0174 C3F88024 str r2, [r3, #1152] 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 598 .loc 1 489 7 view .LVU181 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 599 .loc 1 489 19 is_stmt 0 view .LVU182 600 0178 FFF7FEFF bl HAL_GetTick 601 .LVL37: 602 017c 0546 mov r5, r0 603 .LVL38: 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 604 .loc 1 492 7 is_stmt 1 view .LVU183 605 .L54: 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 606 .loc 1 492 13 view .LVU184 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 607 .loc 1 492 14 is_stmt 0 view .LVU185 608 017e 3F4B ldr r3, .L122 609 0180 5B6A ldr r3, [r3, #36] 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 610 .loc 1 492 13 view .LVU186 611 0182 13F0020F tst r3, #2 612 0186 21D1 bne .L112 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 613 .loc 1 494 9 is_stmt 1 view .LVU187 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 614 .loc 1 494 14 is_stmt 0 view .LVU188 615 0188 FFF7FEFF bl HAL_GetTick 616 .LVL39: 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 617 .loc 1 494 28 view .LVU189 618 018c 401B subs r0, r0, r5 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 619 .loc 1 494 12 view .LVU190 620 018e 0228 cmp r0, #2 621 0190 F5D9 bls .L54 ARM GAS /tmp/ccWlYFBg.s page 39 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 622 .loc 1 496 18 view .LVU191 623 0192 0320 movs r0, #3 624 0194 2FE1 b .L30 625 .L110: 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 626 .loc 1 455 9 is_stmt 1 view .LVU192 627 0196 394A ldr r2, .L122 628 0198 1368 ldr r3, [r2] 629 019a 23F0F803 bic r3, r3, #248 630 019e 6169 ldr r1, [r4, #20] 631 01a0 43EAC103 orr r3, r3, r1, lsl #3 632 01a4 1360 str r3, [r2] 633 01a6 DCE7 b .L43 634 .LVL40: 635 .L47: 460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 636 .loc 1 460 9 view .LVU193 637 01a8 354B ldr r3, .L122+4 638 01aa 0022 movs r2, #0 639 01ac 1A60 str r2, [r3] 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 640 .loc 1 463 9 view .LVU194 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 641 .loc 1 463 21 is_stmt 0 view .LVU195 642 01ae FFF7FEFF bl HAL_GetTick 643 .LVL41: 644 01b2 0546 mov r5, r0 645 .LVL42: 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 646 .loc 1 466 9 is_stmt 1 view .LVU196 647 .L50: 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 648 .loc 1 466 15 view .LVU197 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 649 .loc 1 466 16 is_stmt 0 view .LVU198 650 01b4 314B ldr r3, .L122 651 01b6 1B68 ldr r3, [r3] 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 652 .loc 1 466 15 view .LVU199 653 01b8 13F0020F tst r3, #2 654 01bc D1D0 beq .L43 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 655 .loc 1 468 11 is_stmt 1 view .LVU200 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 656 .loc 1 468 16 is_stmt 0 view .LVU201 657 01be FFF7FEFF bl HAL_GetTick 658 .LVL43: 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 659 .loc 1 468 30 view .LVU202 660 01c2 401B subs r0, r0, r5 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 661 .loc 1 468 14 view .LVU203 662 01c4 0228 cmp r0, #2 663 01c6 F5D9 bls .L50 470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 664 .loc 1 470 20 view .LVU204 ARM GAS /tmp/ccWlYFBg.s page 40 665 01c8 0320 movs r0, #3 666 01ca 14E1 b .L30 667 .L112: 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 668 .loc 1 501 7 is_stmt 1 view .LVU205 669 01cc 0120 movs r0, #1 670 01ce FFF7FEFF bl RCC_Delay 671 .LVL44: 672 .L52: 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 673 .loc 1 522 3 view .LVU206 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 674 .loc 1 522 26 is_stmt 0 view .LVU207 675 01d2 2368 ldr r3, [r4] 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 676 .loc 1 522 6 view .LVU208 677 01d4 13F0040F tst r3, #4 678 01d8 00F09680 beq .L58 679 .LBB2: 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 680 .loc 1 524 5 is_stmt 1 view .LVU209 681 .LVL45: 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 682 .loc 1 527 5 view .LVU210 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 683 .loc 1 531 5 view .LVU211 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 684 .loc 1 531 9 is_stmt 0 view .LVU212 685 01dc 274B ldr r3, .L122 686 01de DB69 ldr r3, [r3, #28] 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 687 .loc 1 531 8 view .LVU213 688 01e0 13F0805F tst r3, #268435456 689 01e4 34D1 bne .L91 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pwrclkchanged = SET; 690 .loc 1 533 7 is_stmt 1 view .LVU214 691 .LBB3: 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pwrclkchanged = SET; 692 .loc 1 533 7 view .LVU215 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pwrclkchanged = SET; 693 .loc 1 533 7 view .LVU216 694 01e6 254B ldr r3, .L122 695 01e8 DA69 ldr r2, [r3, #28] 696 01ea 42F08052 orr r2, r2, #268435456 697 01ee DA61 str r2, [r3, #28] 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pwrclkchanged = SET; 698 .loc 1 533 7 view .LVU217 699 01f0 DB69 ldr r3, [r3, #28] 700 01f2 03F08053 and r3, r3, #268435456 701 01f6 0193 str r3, [sp, #4] 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pwrclkchanged = SET; 702 .loc 1 533 7 view .LVU218 703 01f8 019B ldr r3, [sp, #4] 704 .LBE3: 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** pwrclkchanged = SET; 705 .loc 1 533 7 view .LVU219 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } ARM GAS /tmp/ccWlYFBg.s page 41 706 .loc 1 534 7 view .LVU220 707 .LVL46: 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 708 .loc 1 534 21 is_stmt 0 view .LVU221 709 01fa 0125 movs r5, #1 710 .LVL47: 711 .L59: 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 712 .loc 1 537 5 is_stmt 1 view .LVU222 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 713 .loc 1 537 9 is_stmt 0 view .LVU223 714 01fc 214B ldr r3, .L122+8 715 01fe 1B68 ldr r3, [r3] 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 716 .loc 1 537 8 view .LVU224 717 0200 13F4807F tst r3, #256 718 0204 26D0 beq .L113 719 .L60: 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 720 .loc 1 555 5 is_stmt 1 view .LVU225 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 721 .loc 1 555 5 view .LVU226 722 0206 E368 ldr r3, [r4, #12] 723 0208 012B cmp r3, #1 724 020a 3DD0 beq .L114 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 725 .loc 1 555 5 discriminator 2 view .LVU227 726 020c 002B cmp r3, #0 727 020e 53D1 bne .L65 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 728 .loc 1 555 5 discriminator 4 view .LVU228 729 0210 03F18043 add r3, r3, #1073741824 730 0214 03F50433 add r3, r3, #135168 731 0218 1A6A ldr r2, [r3, #32] 732 021a 22F00102 bic r2, r2, #1 733 021e 1A62 str r2, [r3, #32] 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 734 .loc 1 555 5 discriminator 4 view .LVU229 735 0220 1A6A ldr r2, [r3, #32] 736 0222 22F00402 bic r2, r2, #4 737 0226 1A62 str r2, [r3, #32] 738 0228 33E0 b .L64 739 .LVL48: 740 .L53: 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 741 .loc 1 555 5 is_stmt 0 discriminator 4 view .LVU230 742 .LBE2: 506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 743 .loc 1 506 7 is_stmt 1 view .LVU231 744 022a 154B ldr r3, .L122+4 745 022c 0022 movs r2, #0 746 022e C3F88024 str r2, [r3, #1152] 509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 747 .loc 1 509 7 view .LVU232 509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 748 .loc 1 509 19 is_stmt 0 view .LVU233 749 0232 FFF7FEFF bl HAL_GetTick ARM GAS /tmp/ccWlYFBg.s page 42 750 .LVL49: 751 0236 0546 mov r5, r0 752 .LVL50: 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 753 .loc 1 512 7 is_stmt 1 view .LVU234 754 .L56: 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 755 .loc 1 512 13 view .LVU235 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 756 .loc 1 512 14 is_stmt 0 view .LVU236 757 0238 104B ldr r3, .L122 758 023a 5B6A ldr r3, [r3, #36] 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 759 .loc 1 512 13 view .LVU237 760 023c 13F0020F tst r3, #2 761 0240 C7D0 beq .L52 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 762 .loc 1 514 9 is_stmt 1 view .LVU238 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 763 .loc 1 514 14 is_stmt 0 view .LVU239 764 0242 FFF7FEFF bl HAL_GetTick 765 .LVL51: 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 766 .loc 1 514 28 view .LVU240 767 0246 401B subs r0, r0, r5 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 768 .loc 1 514 12 view .LVU241 769 0248 0228 cmp r0, #2 770 024a F5D9 bls .L56 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 771 .loc 1 516 18 view .LVU242 772 024c 0320 movs r0, #3 773 024e D2E0 b .L30 774 .LVL52: 775 .L91: 776 .LBB4: 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 777 .loc 1 524 22 view .LVU243 778 0250 0025 movs r5, #0 779 0252 D3E7 b .L59 780 .LVL53: 781 .L113: 540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 782 .loc 1 540 7 is_stmt 1 view .LVU244 783 0254 0B4A ldr r2, .L122+8 784 0256 1368 ldr r3, [r2] 785 0258 43F48073 orr r3, r3, #256 786 025c 1360 str r3, [r2] 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 787 .loc 1 543 7 view .LVU245 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 788 .loc 1 543 19 is_stmt 0 view .LVU246 789 025e FFF7FEFF bl HAL_GetTick 790 .LVL54: 791 0262 0646 mov r6, r0 792 .LVL55: 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { ARM GAS /tmp/ccWlYFBg.s page 43 793 .loc 1 545 7 is_stmt 1 view .LVU247 794 .L61: 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 795 .loc 1 545 13 view .LVU248 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 796 .loc 1 545 14 is_stmt 0 view .LVU249 797 0264 074B ldr r3, .L122+8 798 0266 1B68 ldr r3, [r3] 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 799 .loc 1 545 13 view .LVU250 800 0268 13F4807F tst r3, #256 801 026c CBD1 bne .L60 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 802 .loc 1 547 9 is_stmt 1 view .LVU251 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 803 .loc 1 547 14 is_stmt 0 view .LVU252 804 026e FFF7FEFF bl HAL_GetTick 805 .LVL56: 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 806 .loc 1 547 28 view .LVU253 807 0272 801B subs r0, r0, r6 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 808 .loc 1 547 12 view .LVU254 809 0274 6428 cmp r0, #100 810 0276 F5D9 bls .L61 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 811 .loc 1 549 18 view .LVU255 812 0278 0320 movs r0, #3 813 027a BCE0 b .L30 814 .L123: 815 .align 2 816 .L122: 817 027c 00100240 .word 1073876992 818 0280 00004242 .word 1111621632 819 0284 00700040 .word 1073770496 820 .LVL57: 821 .L114: 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 822 .loc 1 555 5 is_stmt 1 discriminator 1 view .LVU256 823 0288 5F4A ldr r2, .L124 824 028a 136A ldr r3, [r2, #32] 825 028c 43F00103 orr r3, r3, #1 826 0290 1362 str r3, [r2, #32] 827 .L64: 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 828 .loc 1 555 5 discriminator 10 view .LVU257 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 829 .loc 1 557 5 discriminator 10 view .LVU258 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 830 .loc 1 557 26 is_stmt 0 discriminator 10 view .LVU259 831 0292 E368 ldr r3, [r4, #12] 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 832 .loc 1 557 8 discriminator 10 view .LVU260 833 0294 33B3 cbz r3, .L67 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 834 .loc 1 560 7 is_stmt 1 view .LVU261 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ARM GAS /tmp/ccWlYFBg.s page 44 835 .loc 1 560 19 is_stmt 0 view .LVU262 836 0296 FFF7FEFF bl HAL_GetTick 837 .LVL58: 838 029a 0646 mov r6, r0 839 .LVL59: 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 840 .loc 1 563 7 is_stmt 1 view .LVU263 841 .L68: 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 842 .loc 1 563 13 view .LVU264 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 843 .loc 1 563 14 is_stmt 0 view .LVU265 844 029c 5A4B ldr r3, .L124 845 029e 1B6A ldr r3, [r3, #32] 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 846 .loc 1 563 13 view .LVU266 847 02a0 13F0020F tst r3, #2 848 02a4 2FD1 bne .L70 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 849 .loc 1 565 9 is_stmt 1 view .LVU267 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 850 .loc 1 565 14 is_stmt 0 view .LVU268 851 02a6 FFF7FEFF bl HAL_GetTick 852 .LVL60: 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 853 .loc 1 565 28 view .LVU269 854 02aa 801B subs r0, r0, r6 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 855 .loc 1 565 12 view .LVU270 856 02ac 41F28833 movw r3, #5000 857 02b0 9842 cmp r0, r3 858 02b2 F3D9 bls .L68 567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 859 .loc 1 567 18 view .LVU271 860 02b4 0320 movs r0, #3 861 02b6 9EE0 b .L30 862 .LVL61: 863 .L65: 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 864 .loc 1 555 5 is_stmt 1 discriminator 5 view .LVU272 865 02b8 052B cmp r3, #5 866 02ba 09D0 beq .L115 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 867 .loc 1 555 5 discriminator 8 view .LVU273 868 02bc 524B ldr r3, .L124 869 02be 1A6A ldr r2, [r3, #32] 870 02c0 22F00102 bic r2, r2, #1 871 02c4 1A62 str r2, [r3, #32] 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 872 .loc 1 555 5 discriminator 8 view .LVU274 873 02c6 1A6A ldr r2, [r3, #32] 874 02c8 22F00402 bic r2, r2, #4 875 02cc 1A62 str r2, [r3, #32] 876 02ce E0E7 b .L64 877 .L115: 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 878 .loc 1 555 5 discriminator 7 view .LVU275 ARM GAS /tmp/ccWlYFBg.s page 45 879 02d0 4D4B ldr r3, .L124 880 02d2 1A6A ldr r2, [r3, #32] 881 02d4 42F00402 orr r2, r2, #4 882 02d8 1A62 str r2, [r3, #32] 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the LSE State */ 883 .loc 1 555 5 discriminator 7 view .LVU276 884 02da 1A6A ldr r2, [r3, #32] 885 02dc 42F00102 orr r2, r2, #1 886 02e0 1A62 str r2, [r3, #32] 887 02e2 D6E7 b .L64 888 .L67: 574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 889 .loc 1 574 7 view .LVU277 574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 890 .loc 1 574 19 is_stmt 0 view .LVU278 891 02e4 FFF7FEFF bl HAL_GetTick 892 .LVL62: 893 02e8 0646 mov r6, r0 894 .LVL63: 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 895 .loc 1 577 7 is_stmt 1 view .LVU279 896 .L71: 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 897 .loc 1 577 13 view .LVU280 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 898 .loc 1 577 14 is_stmt 0 view .LVU281 899 02ea 474B ldr r3, .L124 900 02ec 1B6A ldr r3, [r3, #32] 577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 901 .loc 1 577 13 view .LVU282 902 02ee 13F0020F tst r3, #2 903 02f2 08D0 beq .L70 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 904 .loc 1 579 9 is_stmt 1 view .LVU283 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 905 .loc 1 579 14 is_stmt 0 view .LVU284 906 02f4 FFF7FEFF bl HAL_GetTick 907 .LVL64: 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 908 .loc 1 579 28 view .LVU285 909 02f8 801B subs r0, r0, r6 579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 910 .loc 1 579 12 view .LVU286 911 02fa 41F28833 movw r3, #5000 912 02fe 9842 cmp r0, r3 913 0300 F3D9 bls .L71 581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 914 .loc 1 581 18 view .LVU287 915 0302 0320 movs r0, #3 916 0304 77E0 b .L30 917 .L70: 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 918 .loc 1 587 5 is_stmt 1 view .LVU288 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 919 .loc 1 587 8 is_stmt 0 view .LVU289 920 0306 E5B9 cbnz r5, .L116 921 .LVL65: ARM GAS /tmp/ccWlYFBg.s page 46 922 .L58: 587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 923 .loc 1 587 8 view .LVU290 924 .LBE4: 685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE) 925 .loc 1 685 3 is_stmt 1 view .LVU291 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 926 .loc 1 686 3 view .LVU292 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 927 .loc 1 686 30 is_stmt 0 view .LVU293 928 0308 E369 ldr r3, [r4, #28] 686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 929 .loc 1 686 6 view .LVU294 930 030a 002B cmp r3, #0 931 030c 72D0 beq .L95 689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 932 .loc 1 689 5 is_stmt 1 view .LVU295 689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 933 .loc 1 689 9 is_stmt 0 view .LVU296 934 030e 3E4A ldr r2, .L124 935 0310 5268 ldr r2, [r2, #4] 936 0312 02F00C02 and r2, r2, #12 689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 937 .loc 1 689 8 view .LVU297 938 0316 082A cmp r2, #8 939 0318 56D0 beq .L73 691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 940 .loc 1 691 7 is_stmt 1 view .LVU298 691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 941 .loc 1 691 10 is_stmt 0 view .LVU299 942 031a 022B cmp r3, #2 943 031c 17D0 beq .L117 750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 944 .loc 1 750 9 is_stmt 1 view .LVU300 945 031e 3B4B ldr r3, .L124+4 946 0320 0022 movs r2, #0 947 0322 1A66 str r2, [r3, #96] 753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 948 .loc 1 753 9 view .LVU301 753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 949 .loc 1 753 21 is_stmt 0 view .LVU302 950 0324 FFF7FEFF bl HAL_GetTick 951 .LVL66: 952 0328 0446 mov r4, r0 953 .LVL67: 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 954 .loc 1 756 9 is_stmt 1 view .LVU303 955 .L80: 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 956 .loc 1 756 15 view .LVU304 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 957 .loc 1 756 16 is_stmt 0 view .LVU305 958 032a 374B ldr r3, .L124 959 032c 1B68 ldr r3, [r3] 756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 960 .loc 1 756 15 view .LVU306 961 032e 13F0007F tst r3, #33554432 ARM GAS /tmp/ccWlYFBg.s page 47 962 0332 47D0 beq .L118 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 963 .loc 1 758 11 is_stmt 1 view .LVU307 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 964 .loc 1 758 16 is_stmt 0 view .LVU308 965 0334 FFF7FEFF bl HAL_GetTick 966 .LVL68: 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 967 .loc 1 758 30 view .LVU309 968 0338 001B subs r0, r0, r4 758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 969 .loc 1 758 14 view .LVU310 970 033a 0228 cmp r0, #2 971 033c F5D9 bls .L80 760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 972 .loc 1 760 20 view .LVU311 973 033e 0320 movs r0, #3 974 0340 59E0 b .L30 975 .LVL69: 976 .L116: 977 .LBB5: 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 978 .loc 1 589 7 is_stmt 1 view .LVU312 979 0342 314A ldr r2, .L124 980 0344 D369 ldr r3, [r2, #28] 981 0346 23F08053 bic r3, r3, #268435456 982 034a D361 str r3, [r2, #28] 983 034c DCE7 b .L58 984 .LVL70: 985 .L117: 589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 986 .loc 1 589 7 is_stmt 0 view .LVU313 987 .LBE5: 694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_PLL_MUL(RCC_OscInitStruct->PLL.PLLMUL)); 988 .loc 1 694 9 is_stmt 1 view .LVU314 695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 989 .loc 1 695 9 view .LVU315 698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 990 .loc 1 698 9 view .LVU316 991 034e 2F4B ldr r3, .L124+4 992 0350 0022 movs r2, #0 993 0352 1A66 str r2, [r3, #96] 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 994 .loc 1 701 9 view .LVU317 701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 995 .loc 1 701 21 is_stmt 0 view .LVU318 996 0354 FFF7FEFF bl HAL_GetTick 997 .LVL71: 998 0358 0546 mov r5, r0 999 .LVL72: 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1000 .loc 1 704 9 is_stmt 1 view .LVU319 1001 .L75: 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1002 .loc 1 704 15 view .LVU320 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1003 .loc 1 704 16 is_stmt 0 view .LVU321 ARM GAS /tmp/ccWlYFBg.s page 48 1004 035a 2B4B ldr r3, .L124 1005 035c 1B68 ldr r3, [r3] 704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1006 .loc 1 704 15 view .LVU322 1007 035e 13F0007F tst r3, #33554432 1008 0362 06D0 beq .L119 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1009 .loc 1 706 11 is_stmt 1 view .LVU323 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1010 .loc 1 706 16 is_stmt 0 view .LVU324 1011 0364 FFF7FEFF bl HAL_GetTick 1012 .LVL73: 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1013 .loc 1 706 30 view .LVU325 1014 0368 401B subs r0, r0, r5 706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1015 .loc 1 706 14 view .LVU326 1016 036a 0228 cmp r0, #2 1017 036c F5D9 bls .L75 708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1018 .loc 1 708 20 view .LVU327 1019 036e 0320 movs r0, #3 1020 0370 41E0 b .L30 1021 .L119: 714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1022 .loc 1 714 9 is_stmt 1 view .LVU328 714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1023 .loc 1 714 35 is_stmt 0 view .LVU329 1024 0372 236A ldr r3, [r4, #32] 714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1025 .loc 1 714 12 view .LVU330 1026 0374 B3F5803F cmp r3, #65536 1027 0378 1AD0 beq .L120 1028 .L77: 730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL); 1029 .loc 1 730 9 is_stmt 1 view .LVU331 1030 037a 2349 ldr r1, .L124 1031 037c 4B68 ldr r3, [r1, #4] 1032 037e 23F47413 bic r3, r3, #3997696 1033 0382 226A ldr r2, [r4, #32] 1034 0384 606A ldr r0, [r4, #36] 1035 0386 0243 orrs r2, r2, r0 1036 0388 1343 orrs r3, r3, r2 1037 038a 4B60 str r3, [r1, #4] 733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1038 .loc 1 733 9 view .LVU332 1039 038c 1F4B ldr r3, .L124+4 1040 038e 0122 movs r2, #1 1041 0390 1A66 str r2, [r3, #96] 736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1042 .loc 1 736 9 view .LVU333 736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1043 .loc 1 736 21 is_stmt 0 view .LVU334 1044 0392 FFF7FEFF bl HAL_GetTick 1045 .LVL74: 1046 0396 0446 mov r4, r0 1047 .LVL75: ARM GAS /tmp/ccWlYFBg.s page 49 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1048 .loc 1 739 9 is_stmt 1 view .LVU335 1049 .L78: 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1050 .loc 1 739 15 view .LVU336 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1051 .loc 1 739 16 is_stmt 0 view .LVU337 1052 0398 1B4B ldr r3, .L124 1053 039a 1B68 ldr r3, [r3] 739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1054 .loc 1 739 15 view .LVU338 1055 039c 13F0007F tst r3, #33554432 1056 03a0 0ED1 bne .L121 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1057 .loc 1 741 11 is_stmt 1 view .LVU339 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1058 .loc 1 741 16 is_stmt 0 view .LVU340 1059 03a2 FFF7FEFF bl HAL_GetTick 1060 .LVL76: 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1061 .loc 1 741 30 view .LVU341 1062 03a6 001B subs r0, r0, r4 741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1063 .loc 1 741 14 view .LVU342 1064 03a8 0228 cmp r0, #2 1065 03aa F5D9 bls .L78 743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1066 .loc 1 743 20 view .LVU343 1067 03ac 0320 movs r0, #3 1068 03ae 22E0 b .L30 1069 .LVL77: 1070 .L120: 717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1SRC) 1071 .loc 1 717 11 is_stmt 1 view .LVU344 726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1072 .loc 1 726 11 view .LVU345 1073 03b0 154A ldr r2, .L124 1074 03b2 5368 ldr r3, [r2, #4] 1075 03b4 23F40033 bic r3, r3, #131072 1076 03b8 A168 ldr r1, [r4, #8] 1077 03ba 0B43 orrs r3, r3, r1 1078 03bc 5360 str r3, [r2, #4] 1079 03be DCE7 b .L77 1080 .LVL78: 1081 .L121: 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1082 .loc 1 785 10 is_stmt 0 view .LVU346 1083 03c0 0020 movs r0, #0 1084 03c2 18E0 b .L30 1085 .L118: 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1086 .loc 1 785 10 view .LVU347 1087 03c4 0020 movs r0, #0 1088 03c6 16E0 b .L30 1089 .LVL79: 1090 .L73: 768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { ARM GAS /tmp/ccWlYFBg.s page 50 1091 .loc 1 768 7 is_stmt 1 view .LVU348 768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1092 .loc 1 768 10 is_stmt 0 view .LVU349 1093 03c8 012B cmp r3, #1 1094 03ca 16D0 beq .L99 775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((READ_BIT(pll_config, RCC_CFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 1095 .loc 1 775 9 is_stmt 1 view .LVU350 775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((READ_BIT(pll_config, RCC_CFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 1096 .loc 1 775 20 is_stmt 0 view .LVU351 1097 03cc 0E4B ldr r3, .L124 1098 03ce 5B68 ldr r3, [r3, #4] 1099 .LVL80: 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMULL) != RCC_OscInitStruct->PLL.PLLMUL)) 1100 .loc 1 776 9 is_stmt 1 view .LVU352 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMULL) != RCC_OscInitStruct->PLL.PLLMUL)) 1101 .loc 1 776 14 is_stmt 0 view .LVU353 1102 03d0 03F48031 and r1, r3, #65536 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMULL) != RCC_OscInitStruct->PLL.PLLMUL)) 1103 .loc 1 776 77 view .LVU354 1104 03d4 226A ldr r2, [r4, #32] 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMULL) != RCC_OscInitStruct->PLL.PLLMUL)) 1105 .loc 1 776 12 view .LVU355 1106 03d6 9142 cmp r1, r2 1107 03d8 11D1 bne .L100 777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1108 .loc 1 777 14 discriminator 1 view .LVU356 1109 03da 03F47013 and r3, r3, #3932160 1110 .LVL81: 777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1111 .loc 1 777 78 discriminator 1 view .LVU357 1112 03de 626A ldr r2, [r4, #36] 776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMULL) != RCC_OscInitStruct->PLL.PLLMUL)) 1113 .loc 1 776 89 discriminator 1 view .LVU358 1114 03e0 9342 cmp r3, r2 1115 03e2 0ED1 bne .L101 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1116 .loc 1 785 10 view .LVU359 1117 03e4 0020 movs r0, #0 1118 03e6 06E0 b .L30 1119 .LVL82: 1120 .L82: 1121 .LCFI5: 1122 .cfi_def_cfa_offset 0 1123 .cfi_restore 4 1124 .cfi_restore 5 1125 .cfi_restore 6 1126 .cfi_restore 14 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1127 .loc 1 353 12 view .LVU360 1128 03e8 0120 movs r0, #1 1129 .LVL83: 786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1130 .loc 1 786 1 view .LVU361 1131 03ea 7047 bx lr 1132 .LVL84: 1133 .L108: 1134 .LCFI6: ARM GAS /tmp/ccWlYFBg.s page 51 1135 .cfi_def_cfa_offset 24 1136 .cfi_offset 4, -16 1137 .cfi_offset 5, -12 1138 .cfi_offset 6, -8 1139 .cfi_offset 14, -4 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1140 .loc 1 371 16 view .LVU362 1141 03ec 0120 movs r0, #1 1142 .LVL85: 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1143 .loc 1 371 16 view .LVU363 1144 03ee 02E0 b .L30 1145 .L86: 425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1146 .loc 1 425 16 view .LVU364 1147 03f0 0120 movs r0, #1 1148 03f2 00E0 b .L30 1149 .L95: 785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1150 .loc 1 785 10 view .LVU365 1151 03f4 0020 movs r0, #0 1152 .LVL86: 1153 .L30: 786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1154 .loc 1 786 1 view .LVU366 1155 03f6 02B0 add sp, sp, #8 1156 .LCFI7: 1157 .cfi_remember_state 1158 .cfi_def_cfa_offset 16 1159 @ sp needed 1160 03f8 70BD pop {r4, r5, r6, pc} 1161 .LVL87: 1162 .L99: 1163 .LCFI8: 1164 .cfi_restore_state 770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1165 .loc 1 770 16 view .LVU367 1166 03fa 0120 movs r0, #1 1167 03fc FBE7 b .L30 1168 .LVL88: 1169 .L100: 779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1170 .loc 1 779 18 view .LVU368 1171 03fe 0120 movs r0, #1 1172 0400 F9E7 b .L30 1173 .LVL89: 1174 .L101: 779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1175 .loc 1 779 18 view .LVU369 1176 0402 0120 movs r0, #1 1177 0404 F7E7 b .L30 1178 .L125: 1179 0406 00BF .align 2 1180 .L124: 1181 0408 00100240 .word 1073876992 1182 040c 00004242 .word 1111621632 1183 .cfi_endproc ARM GAS /tmp/ccWlYFBg.s page 52 1184 .LFE66: 1186 .section .text.HAL_RCC_MCOConfig,"ax",%progbits 1187 .align 1 1188 .global HAL_RCC_MCOConfig 1189 .syntax unified 1190 .thumb 1191 .thumb_func 1193 HAL_RCC_MCOConfig: 1194 .LVL90: 1195 .LFB68: 1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** GPIO_InitTypeDef gpio = {0U}; 1196 .loc 1 1001 1 is_stmt 1 view -0 1197 .cfi_startproc 1198 @ args = 0, pretend = 0, frame = 24 1199 @ frame_needed = 0, uses_anonymous_args = 0 1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** GPIO_InitTypeDef gpio = {0U}; 1200 .loc 1 1001 1 is_stmt 0 view .LVU371 1201 0000 30B5 push {r4, r5, lr} 1202 .LCFI9: 1203 .cfi_def_cfa_offset 12 1204 .cfi_offset 4, -12 1205 .cfi_offset 5, -8 1206 .cfi_offset 14, -4 1207 0002 87B0 sub sp, sp, #28 1208 .LCFI10: 1209 .cfi_def_cfa_offset 40 1210 0004 0D46 mov r5, r1 1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1211 .loc 1 1002 3 is_stmt 1 view .LVU372 1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1212 .loc 1 1002 20 is_stmt 0 view .LVU373 1213 0006 0023 movs r3, #0 1214 0008 0293 str r3, [sp, #8] 1215 000a 0393 str r3, [sp, #12] 1216 000c 0493 str r3, [sp, #16] 1217 000e 0593 str r3, [sp, #20] 1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_MCODIV(RCC_MCODiv)); 1218 .loc 1 1005 3 is_stmt 1 view .LVU374 1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); 1219 .loc 1 1006 3 view .LVU375 1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1220 .loc 1 1007 3 view .LVU376 1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** UNUSED(RCC_MCODiv); 1221 .loc 1 1010 3 view .LVU377 1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1222 .loc 1 1011 3 view .LVU378 1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** gpio.Speed = GPIO_SPEED_FREQ_HIGH; 1223 .loc 1 1014 3 view .LVU379 1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** gpio.Speed = GPIO_SPEED_FREQ_HIGH; 1224 .loc 1 1014 18 is_stmt 0 view .LVU380 1225 0010 0223 movs r3, #2 1226 0012 0393 str r3, [sp, #12] 1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** gpio.Pull = GPIO_NOPULL; 1227 .loc 1 1015 3 is_stmt 1 view .LVU381 1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** gpio.Pull = GPIO_NOPULL; 1228 .loc 1 1015 18 is_stmt 0 view .LVU382 1229 0014 0323 movs r3, #3 ARM GAS /tmp/ccWlYFBg.s page 53 1230 0016 0593 str r3, [sp, #20] 1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** gpio.Pin = MCO1_PIN; 1231 .loc 1 1016 3 is_stmt 1 view .LVU383 1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1232 .loc 1 1017 3 view .LVU384 1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1233 .loc 1 1017 18 is_stmt 0 view .LVU385 1234 0018 4FF48073 mov r3, #256 1235 001c 0293 str r3, [sp, #8] 1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1236 .loc 1 1020 3 is_stmt 1 view .LVU386 1237 .LBB6: 1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1238 .loc 1 1020 3 view .LVU387 1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1239 .loc 1 1020 3 view .LVU388 1240 001e 0A4C ldr r4, .L128 1241 0020 A369 ldr r3, [r4, #24] 1242 0022 43F00403 orr r3, r3, #4 1243 0026 A361 str r3, [r4, #24] 1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1244 .loc 1 1020 3 view .LVU389 1245 0028 A369 ldr r3, [r4, #24] 1246 002a 03F00403 and r3, r3, #4 1247 002e 0193 str r3, [sp, #4] 1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1248 .loc 1 1020 3 view .LVU390 1249 0030 019B ldr r3, [sp, #4] 1250 .LBE6: 1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1251 .loc 1 1020 3 view .LVU391 1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1252 .loc 1 1022 3 view .LVU392 1253 0032 02A9 add r1, sp, #8 1254 .LVL91: 1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1255 .loc 1 1022 3 is_stmt 0 view .LVU393 1256 0034 0548 ldr r0, .L128+4 1257 .LVL92: 1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1258 .loc 1 1022 3 view .LVU394 1259 0036 FFF7FEFF bl HAL_GPIO_Init 1260 .LVL93: 1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1261 .loc 1 1025 3 is_stmt 1 view .LVU395 1262 003a 6368 ldr r3, [r4, #4] 1263 003c 23F0E063 bic r3, r3, #117440512 1264 0040 2B43 orrs r3, r3, r5 1265 0042 6360 str r3, [r4, #4] 1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1266 .loc 1 1026 1 is_stmt 0 view .LVU396 1267 0044 07B0 add sp, sp, #28 1268 .LCFI11: 1269 .cfi_def_cfa_offset 12 1270 @ sp needed 1271 0046 30BD pop {r4, r5, pc} 1272 .LVL94: ARM GAS /tmp/ccWlYFBg.s page 54 1273 .L129: 1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1274 .loc 1 1026 1 view .LVU397 1275 .align 2 1276 .L128: 1277 0048 00100240 .word 1073876992 1278 004c 00080140 .word 1073809408 1279 .cfi_endproc 1280 .LFE68: 1282 .section .text.HAL_RCC_EnableCSS,"ax",%progbits 1283 .align 1 1284 .global HAL_RCC_EnableCSS 1285 .syntax unified 1286 .thumb 1287 .thumb_func 1289 HAL_RCC_EnableCSS: 1290 .LFB69: 1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** *(__IO uint32_t *) RCC_CR_CSSON_BB = (uint32_t)ENABLE; 1291 .loc 1 1038 1 is_stmt 1 view -0 1292 .cfi_startproc 1293 @ args = 0, pretend = 0, frame = 0 1294 @ frame_needed = 0, uses_anonymous_args = 0 1295 @ link register save eliminated. 1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1296 .loc 1 1039 3 view .LVU399 1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1297 .loc 1 1039 38 is_stmt 0 view .LVU400 1298 0000 014B ldr r3, .L131 1299 0002 0122 movs r2, #1 1300 0004 DA64 str r2, [r3, #76] 1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1301 .loc 1 1040 1 view .LVU401 1302 0006 7047 bx lr 1303 .L132: 1304 .align 2 1305 .L131: 1306 0008 00004242 .word 1111621632 1307 .cfi_endproc 1308 .LFE69: 1310 .section .text.HAL_RCC_DisableCSS,"ax",%progbits 1311 .align 1 1312 .global HAL_RCC_DisableCSS 1313 .syntax unified 1314 .thumb 1315 .thumb_func 1317 HAL_RCC_DisableCSS: 1318 .LFB70: 1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** *(__IO uint32_t *) RCC_CR_CSSON_BB = (uint32_t)DISABLE; 1319 .loc 1 1047 1 is_stmt 1 view -0 1320 .cfi_startproc 1321 @ args = 0, pretend = 0, frame = 0 1322 @ frame_needed = 0, uses_anonymous_args = 0 1323 @ link register save eliminated. 1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1324 .loc 1 1048 3 view .LVU403 1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1325 .loc 1 1048 38 is_stmt 0 view .LVU404 ARM GAS /tmp/ccWlYFBg.s page 55 1326 0000 014B ldr r3, .L134 1327 0002 0022 movs r2, #0 1328 0004 DA64 str r2, [r3, #76] 1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1329 .loc 1 1049 1 view .LVU405 1330 0006 7047 bx lr 1331 .L135: 1332 .align 2 1333 .L134: 1334 0008 00004242 .word 1111621632 1335 .cfi_endproc 1336 .LFE70: 1338 .section .text.HAL_RCC_GetSysClockFreq,"ax",%progbits 1339 .align 1 1340 .global HAL_RCC_GetSysClockFreq 1341 .syntax unified 1342 .thumb 1343 .thumb_func 1345 HAL_RCC_GetSysClockFreq: 1346 .LFB71: 1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1SRC) 1347 .loc 1 1081 1 is_stmt 1 view -0 1348 .cfi_startproc 1349 @ args = 0, pretend = 0, frame = 0 1350 @ frame_needed = 0, uses_anonymous_args = 0 1351 @ link register save eliminated. 1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1) 1352 .loc 1 1086 3 view .LVU407 1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1*/ 1353 .loc 1 1090 3 view .LVU408 1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t sysclockfreq = 0U; 1354 .loc 1 1094 3 view .LVU409 1355 .LVL95: 1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CFGR2_PREDIV1SRC) 1356 .loc 1 1095 3 view .LVU410 1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1357 .loc 1 1100 3 view .LVU411 1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1358 .loc 1 1100 10 is_stmt 0 view .LVU412 1359 0000 0F4B ldr r3, .L141 1360 0002 5B68 ldr r3, [r3, #4] 1361 .LVL96: 1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1362 .loc 1 1103 3 is_stmt 1 view .LVU413 1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1363 .loc 1 1103 18 is_stmt 0 view .LVU414 1364 0004 03F00C02 and r2, r3, #12 1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1365 .loc 1 1103 3 view .LVU415 1366 0008 082A cmp r2, #8 1367 000a 01D0 beq .L140 1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** break; 1368 .loc 1 1107 20 view .LVU416 1369 000c 0D48 ldr r0, .L141+4 1370 .LVL97: 1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1371 .loc 1 1162 3 is_stmt 1 view .LVU417 ARM GAS /tmp/ccWlYFBg.s page 56 1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1372 .loc 1 1163 1 is_stmt 0 view .LVU418 1373 000e 7047 bx lr 1374 .LVL98: 1375 .L140: 1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((tmpreg & RCC_CFGR_PLLSRC) != RCC_PLLSOURCE_HSI_DIV2) 1376 .loc 1 1112 7 is_stmt 1 view .LVU419 1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((tmpreg & RCC_CFGR_PLLSRC) != RCC_PLLSOURCE_HSI_DIV2) 1377 .loc 1 1112 73 is_stmt 0 view .LVU420 1378 0010 C3F38342 ubfx r2, r3, #18, #4 1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** if ((tmpreg & RCC_CFGR_PLLSRC) != RCC_PLLSOURCE_HSI_DIV2) 1379 .loc 1 1112 34 view .LVU421 1380 0014 0C49 ldr r1, .L141+8 1381 0016 885C ldrb r0, [r1, r2] @ zero_extendqisi2 1382 .LVL99: 1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1383 .loc 1 1113 7 is_stmt 1 view .LVU422 1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1384 .loc 1 1113 10 is_stmt 0 view .LVU423 1385 0018 13F4803F tst r3, #65536 1386 001c 0BD0 beq .L138 1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1*/ 1387 .loc 1 1118 9 is_stmt 1 view .LVU424 1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1*/ 1388 .loc 1 1118 51 is_stmt 0 view .LVU425 1389 001e 084B ldr r3, .L141 1390 .LVL100: 1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1*/ 1391 .loc 1 1118 51 view .LVU426 1392 0020 5B68 ldr r3, [r3, #4] 1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1*/ 1393 .loc 1 1118 79 view .LVU427 1394 0022 C3F34043 ubfx r3, r3, #17, #1 1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1*/ 1395 .loc 1 1118 36 view .LVU428 1396 0026 094A ldr r2, .L141+12 1397 0028 D35C ldrb r3, [r2, r3] @ zero_extendqisi2 1398 .LVL101: 1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1SRC*/ 1399 .loc 1 1144 9 is_stmt 1 view .LVU429 1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1SRC*/ 1400 .loc 1 1144 41 is_stmt 0 view .LVU430 1401 002a 064A ldr r2, .L141+4 1402 002c 02FB00F0 mul r0, r2, r0 1403 .LVL102: 1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1SRC*/ 1404 .loc 1 1144 16 view .LVU431 1405 0030 B0FBF3F0 udiv r0, r0, r3 1406 .LVL103: 1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #endif /*RCC_CFGR2_PREDIV1SRC*/ 1407 .loc 1 1144 16 view .LVU432 1408 0034 7047 bx lr 1409 .LVL104: 1410 .L138: 1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1411 .loc 1 1150 9 is_stmt 1 view .LVU433 1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } ARM GAS /tmp/ccWlYFBg.s page 57 1412 .loc 1 1150 16 is_stmt 0 view .LVU434 1413 0036 064B ldr r3, .L141+16 1414 .LVL105: 1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1415 .loc 1 1150 16 view .LVU435 1416 0038 03FB00F0 mul r0, r3, r0 1417 .LVL106: 1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1418 .loc 1 1150 16 view .LVU436 1419 003c 7047 bx lr 1420 .L142: 1421 003e 00BF .align 2 1422 .L141: 1423 0040 00100240 .word 1073876992 1424 0044 00127A00 .word 8000000 1425 0048 00000000 .word .LANCHOR0 1426 004c 00000000 .word .LANCHOR1 1427 0050 00093D00 .word 4000000 1428 .cfi_endproc 1429 .LFE71: 1431 .section .text.HAL_RCC_ClockConfig,"ax",%progbits 1432 .align 1 1433 .global HAL_RCC_ClockConfig 1434 .syntax unified 1435 .thumb 1436 .thumb_func 1438 HAL_RCC_ClockConfig: 1439 .LVL107: 1440 .LFB67: 812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t tickstart; 1441 .loc 1 812 1 is_stmt 1 view -0 1442 .cfi_startproc 1443 @ args = 0, pretend = 0, frame = 0 1444 @ frame_needed = 0, uses_anonymous_args = 0 813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1445 .loc 1 813 3 view .LVU438 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1446 .loc 1 816 3 view .LVU439 816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1447 .loc 1 816 6 is_stmt 0 view .LVU440 1448 0000 0028 cmp r0, #0 1449 0002 00F0A080 beq .L158 812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** uint32_t tickstart; 1450 .loc 1 812 1 view .LVU441 1451 0006 70B5 push {r4, r5, r6, lr} 1452 .LCFI12: 1453 .cfi_def_cfa_offset 16 1454 .cfi_offset 4, -16 1455 .cfi_offset 5, -12 1456 .cfi_offset 6, -8 1457 .cfi_offset 14, -4 1458 0008 0D46 mov r5, r1 1459 000a 0446 mov r4, r0 822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency)); 1460 .loc 1 822 3 is_stmt 1 view .LVU442 823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1461 .loc 1 823 3 view .LVU443 ARM GAS /tmp/ccWlYFBg.s page 58 831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1462 .loc 1 831 3 view .LVU444 831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1463 .loc 1 831 18 is_stmt 0 view .LVU445 1464 000c 524B ldr r3, .L171 1465 000e 1B68 ldr r3, [r3] 1466 0010 03F00703 and r3, r3, #7 831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1467 .loc 1 831 6 view .LVU446 1468 0014 8B42 cmp r3, r1 1469 0016 0BD2 bcs .L145 834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1470 .loc 1 834 5 is_stmt 1 view .LVU447 1471 0018 4F4A ldr r2, .L171 1472 001a 1368 ldr r3, [r2] 1473 001c 23F00703 bic r3, r3, #7 1474 0020 0B43 orrs r3, r3, r1 1475 0022 1360 str r3, [r2] 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1476 .loc 1 838 5 view .LVU448 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1477 .loc 1 838 9 is_stmt 0 view .LVU449 1478 0024 1368 ldr r3, [r2] 1479 0026 03F00703 and r3, r3, #7 838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1480 .loc 1 838 8 view .LVU450 1481 002a 8B42 cmp r3, r1 1482 002c 40F08D80 bne .L159 1483 .L145: 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1484 .loc 1 846 1 is_stmt 1 view .LVU451 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1485 .loc 1 846 24 is_stmt 0 view .LVU452 1486 0030 2368 ldr r3, [r4] 846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1487 .loc 1 846 4 view .LVU453 1488 0032 13F0020F tst r3, #2 1489 0036 17D0 beq .L146 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1490 .loc 1 850 5 is_stmt 1 view .LVU454 850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1491 .loc 1 850 8 is_stmt 0 view .LVU455 1492 0038 13F0040F tst r3, #4 1493 003c 04D0 beq .L147 852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1494 .loc 1 852 7 is_stmt 1 view .LVU456 1495 003e 474A ldr r2, .L171+4 1496 0040 5368 ldr r3, [r2, #4] 1497 0042 43F4E063 orr r3, r3, #1792 1498 0046 5360 str r3, [r2, #4] 1499 .L147: 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1500 .loc 1 855 5 view .LVU457 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1501 .loc 1 855 28 is_stmt 0 view .LVU458 1502 0048 2368 ldr r3, [r4] 855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { ARM GAS /tmp/ccWlYFBg.s page 59 1503 .loc 1 855 8 view .LVU459 1504 004a 13F0080F tst r3, #8 1505 004e 04D0 beq .L148 857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1506 .loc 1 857 7 is_stmt 1 view .LVU460 1507 0050 424A ldr r2, .L171+4 1508 0052 5368 ldr r3, [r2, #4] 1509 0054 43F46053 orr r3, r3, #14336 1510 0058 5360 str r3, [r2, #4] 1511 .L148: 861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); 1512 .loc 1 861 5 view .LVU461 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1513 .loc 1 862 5 view .LVU462 1514 005a 404A ldr r2, .L171+4 1515 005c 5368 ldr r3, [r2, #4] 1516 005e 23F0F003 bic r3, r3, #240 1517 0062 A168 ldr r1, [r4, #8] 1518 .LVL108: 862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1519 .loc 1 862 5 is_stmt 0 view .LVU463 1520 0064 0B43 orrs r3, r3, r1 1521 0066 5360 str r3, [r2, #4] 1522 .L146: 866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1523 .loc 1 866 3 is_stmt 1 view .LVU464 866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1524 .loc 1 866 26 is_stmt 0 view .LVU465 1525 0068 2368 ldr r3, [r4] 866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1526 .loc 1 866 6 view .LVU466 1527 006a 13F0010F tst r3, #1 1528 006e 31D0 beq .L149 868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1529 .loc 1 868 5 is_stmt 1 view .LVU467 871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1530 .loc 1 871 5 view .LVU468 871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1531 .loc 1 871 26 is_stmt 0 view .LVU469 1532 0070 6368 ldr r3, [r4, #4] 871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1533 .loc 1 871 8 view .LVU470 1534 0072 012B cmp r3, #1 1535 0074 20D0 beq .L169 880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1536 .loc 1 880 10 is_stmt 1 view .LVU471 880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1537 .loc 1 880 13 is_stmt 0 view .LVU472 1538 0076 022B cmp r3, #2 1539 0078 25D0 beq .L170 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1540 .loc 1 892 7 is_stmt 1 view .LVU473 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1541 .loc 1 892 11 is_stmt 0 view .LVU474 1542 007a 384A ldr r2, .L171+4 1543 007c 1268 ldr r2, [r2] 892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { ARM GAS /tmp/ccWlYFBg.s page 60 1544 .loc 1 892 10 view .LVU475 1545 007e 12F0020F tst r2, #2 1546 0082 64D0 beq .L162 1547 .L151: 897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1548 .loc 1 897 5 is_stmt 1 view .LVU476 1549 0084 3549 ldr r1, .L171+4 1550 0086 4A68 ldr r2, [r1, #4] 1551 0088 22F00302 bic r2, r2, #3 1552 008c 1343 orrs r3, r3, r2 1553 008e 4B60 str r3, [r1, #4] 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1554 .loc 1 900 5 view .LVU477 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1555 .loc 1 900 17 is_stmt 0 view .LVU478 1556 0090 FFF7FEFF bl HAL_GetTick 1557 .LVL109: 900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1558 .loc 1 900 17 view .LVU479 1559 0094 0646 mov r6, r0 1560 .LVL110: 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1561 .loc 1 902 5 is_stmt 1 view .LVU480 1562 .L153: 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1563 .loc 1 902 11 view .LVU481 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1564 .loc 1 902 12 is_stmt 0 view .LVU482 1565 0096 314B ldr r3, .L171+4 1566 0098 5B68 ldr r3, [r3, #4] 1567 009a 03F00C03 and r3, r3, #12 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1568 .loc 1 902 63 view .LVU483 1569 009e 6268 ldr r2, [r4, #4] 902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1570 .loc 1 902 11 view .LVU484 1571 00a0 B3EB820F cmp r3, r2, lsl #2 1572 00a4 16D0 beq .L149 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1573 .loc 1 904 7 is_stmt 1 view .LVU485 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1574 .loc 1 904 12 is_stmt 0 view .LVU486 1575 00a6 FFF7FEFF bl HAL_GetTick 1576 .LVL111: 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1577 .loc 1 904 26 view .LVU487 1578 00aa 801B subs r0, r0, r6 904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1579 .loc 1 904 10 view .LVU488 1580 00ac 41F28833 movw r3, #5000 1581 00b0 9842 cmp r0, r3 1582 00b2 F0D9 bls .L153 906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1583 .loc 1 906 16 view .LVU489 1584 00b4 0320 movs r0, #3 1585 00b6 45E0 b .L144 1586 .LVL112: ARM GAS /tmp/ccWlYFBg.s page 61 1587 .L169: 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1588 .loc 1 874 7 is_stmt 1 view .LVU490 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1589 .loc 1 874 11 is_stmt 0 view .LVU491 1590 00b8 284A ldr r2, .L171+4 1591 00ba 1268 ldr r2, [r2] 874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1592 .loc 1 874 10 view .LVU492 1593 00bc 12F4003F tst r2, #131072 1594 00c0 E0D1 bne .L151 876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1595 .loc 1 876 16 view .LVU493 1596 00c2 0120 movs r0, #1 1597 .LVL113: 876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1598 .loc 1 876 16 view .LVU494 1599 00c4 3EE0 b .L144 1600 .LVL114: 1601 .L170: 883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1602 .loc 1 883 7 is_stmt 1 view .LVU495 883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1603 .loc 1 883 11 is_stmt 0 view .LVU496 1604 00c6 254A ldr r2, .L171+4 1605 00c8 1268 ldr r2, [r2] 883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1606 .loc 1 883 10 view .LVU497 1607 00ca 12F0007F tst r2, #33554432 1608 00ce D9D1 bne .L151 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1609 .loc 1 885 16 view .LVU498 1610 00d0 0120 movs r0, #1 1611 .LVL115: 885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1612 .loc 1 885 16 view .LVU499 1613 00d2 37E0 b .L144 1614 .L149: 913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1615 .loc 1 913 3 is_stmt 1 view .LVU500 913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1616 .loc 1 913 18 is_stmt 0 view .LVU501 1617 00d4 204B ldr r3, .L171 1618 00d6 1B68 ldr r3, [r3] 1619 00d8 03F00703 and r3, r3, #7 913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1620 .loc 1 913 6 view .LVU502 1621 00dc AB42 cmp r3, r5 1622 00de 0AD9 bls .L155 916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1623 .loc 1 916 5 is_stmt 1 view .LVU503 1624 00e0 1D4A ldr r2, .L171 1625 00e2 1368 ldr r3, [r2] 1626 00e4 23F00703 bic r3, r3, #7 1627 00e8 2B43 orrs r3, r3, r5 1628 00ea 1360 str r3, [r2] 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { ARM GAS /tmp/ccWlYFBg.s page 62 1629 .loc 1 920 5 view .LVU504 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1630 .loc 1 920 9 is_stmt 0 view .LVU505 1631 00ec 1368 ldr r3, [r2] 1632 00ee 03F00703 and r3, r3, #7 920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1633 .loc 1 920 8 view .LVU506 1634 00f2 AB42 cmp r3, r5 1635 00f4 2DD1 bne .L164 1636 .L155: 928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1637 .loc 1 928 1 is_stmt 1 view .LVU507 928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1638 .loc 1 928 24 is_stmt 0 view .LVU508 1639 00f6 2368 ldr r3, [r4] 928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1640 .loc 1 928 4 view .LVU509 1641 00f8 13F0040F tst r3, #4 1642 00fc 06D0 beq .L156 930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 1643 .loc 1 930 5 is_stmt 1 view .LVU510 931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1644 .loc 1 931 5 view .LVU511 1645 00fe 174A ldr r2, .L171+4 1646 0100 5368 ldr r3, [r2, #4] 1647 0102 23F4E063 bic r3, r3, #1792 1648 0106 E168 ldr r1, [r4, #12] 1649 0108 0B43 orrs r3, r3, r1 1650 010a 5360 str r3, [r2, #4] 1651 .L156: 935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1652 .loc 1 935 3 view .LVU512 935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1653 .loc 1 935 26 is_stmt 0 view .LVU513 1654 010c 2368 ldr r3, [r4] 935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1655 .loc 1 935 6 view .LVU514 1656 010e 13F0080F tst r3, #8 1657 0112 07D0 beq .L157 937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3)); 1658 .loc 1 937 5 is_stmt 1 view .LVU515 938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1659 .loc 1 938 5 view .LVU516 1660 0114 114A ldr r2, .L171+4 1661 0116 5368 ldr r3, [r2, #4] 1662 0118 23F46053 bic r3, r3, #14336 1663 011c 2169 ldr r1, [r4, #16] 1664 011e 43EAC103 orr r3, r3, r1, lsl #3 1665 0122 5360 str r3, [r2, #4] 1666 .L157: 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1667 .loc 1 942 3 view .LVU517 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1668 .loc 1 942 21 is_stmt 0 view .LVU518 1669 0124 FFF7FEFF bl HAL_RCC_GetSysClockFreq 1670 .LVL116: 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** ARM GAS /tmp/ccWlYFBg.s page 63 1671 .loc 1 942 68 view .LVU519 1672 0128 0C4B ldr r3, .L171+4 1673 012a 5B68 ldr r3, [r3, #4] 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1674 .loc 1 942 92 view .LVU520 1675 012c C3F30313 ubfx r3, r3, #4, #4 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1676 .loc 1 942 63 view .LVU521 1677 0130 0B4A ldr r2, .L171+8 1678 0132 D35C ldrb r3, [r2, r3] @ zero_extendqisi2 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1679 .loc 1 942 47 view .LVU522 1680 0134 D840 lsrs r0, r0, r3 942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1681 .loc 1 942 19 view .LVU523 1682 0136 0B4B ldr r3, .L171+12 1683 0138 1860 str r0, [r3] 945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1684 .loc 1 945 3 is_stmt 1 view .LVU524 1685 013a 0B4B ldr r3, .L171+16 1686 013c 1868 ldr r0, [r3] 1687 013e FFF7FEFF bl HAL_InitTick 1688 .LVL117: 947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1689 .loc 1 947 3 view .LVU525 947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1690 .loc 1 947 10 is_stmt 0 view .LVU526 1691 0142 0020 movs r0, #0 1692 .L144: 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1693 .loc 1 948 1 view .LVU527 1694 0144 70BD pop {r4, r5, r6, pc} 1695 .LVL118: 1696 .L158: 1697 .LCFI13: 1698 .cfi_def_cfa_offset 0 1699 .cfi_restore 4 1700 .cfi_restore 5 1701 .cfi_restore 6 1702 .cfi_restore 14 818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1703 .loc 1 818 12 view .LVU528 1704 0146 0120 movs r0, #1 1705 .LVL119: 948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1706 .loc 1 948 1 view .LVU529 1707 0148 7047 bx lr 1708 .LVL120: 1709 .L159: 1710 .LCFI14: 1711 .cfi_def_cfa_offset 16 1712 .cfi_offset 4, -16 1713 .cfi_offset 5, -12 1714 .cfi_offset 6, -8 1715 .cfi_offset 14, -4 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1716 .loc 1 840 12 view .LVU530 ARM GAS /tmp/ccWlYFBg.s page 64 1717 014a 0120 movs r0, #1 1718 .LVL121: 840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1719 .loc 1 840 12 view .LVU531 1720 014c FAE7 b .L144 1721 .LVL122: 1722 .L162: 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1723 .loc 1 894 16 view .LVU532 1724 014e 0120 movs r0, #1 1725 .LVL123: 894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1726 .loc 1 894 16 view .LVU533 1727 0150 F8E7 b .L144 1728 .L164: 922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1729 .loc 1 922 12 view .LVU534 1730 0152 0120 movs r0, #1 1731 0154 F6E7 b .L144 1732 .L172: 1733 0156 00BF .align 2 1734 .L171: 1735 0158 00200240 .word 1073881088 1736 015c 00100240 .word 1073876992 1737 0160 00000000 .word AHBPrescTable 1738 0164 00000000 .word SystemCoreClock 1739 0168 00000000 .word uwTickPrio 1740 .cfi_endproc 1741 .LFE67: 1743 .section .text.HAL_RCC_GetHCLKFreq,"ax",%progbits 1744 .align 1 1745 .global HAL_RCC_GetHCLKFreq 1746 .syntax unified 1747 .thumb 1748 .thumb_func 1750 HAL_RCC_GetHCLKFreq: 1751 .LFB72: 1175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** return SystemCoreClock; 1752 .loc 1 1175 1 is_stmt 1 view -0 1753 .cfi_startproc 1754 @ args = 0, pretend = 0, frame = 0 1755 @ frame_needed = 0, uses_anonymous_args = 0 1756 @ link register save eliminated. 1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1757 .loc 1 1176 3 view .LVU536 1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1758 .loc 1 1177 1 is_stmt 0 view .LVU537 1759 0000 014B ldr r3, .L174 1760 0002 1868 ldr r0, [r3] 1761 0004 7047 bx lr 1762 .L175: 1763 0006 00BF .align 2 1764 .L174: 1765 0008 00000000 .word SystemCoreClock 1766 .cfi_endproc 1767 .LFE72: 1769 .section .text.HAL_RCC_GetPCLK1Freq,"ax",%progbits ARM GAS /tmp/ccWlYFBg.s page 65 1770 .align 1 1771 .global HAL_RCC_GetPCLK1Freq 1772 .syntax unified 1773 .thumb 1774 .thumb_func 1776 HAL_RCC_GetPCLK1Freq: 1777 .LFB73: 1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ 1778 .loc 1 1186 1 is_stmt 1 view -0 1779 .cfi_startproc 1780 @ args = 0, pretend = 0, frame = 0 1781 @ frame_needed = 0, uses_anonymous_args = 0 1782 0000 08B5 push {r3, lr} 1783 .LCFI15: 1784 .cfi_def_cfa_offset 8 1785 .cfi_offset 3, -8 1786 .cfi_offset 14, -4 1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1787 .loc 1 1188 3 view .LVU539 1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1788 .loc 1 1188 11 is_stmt 0 view .LVU540 1789 0002 FFF7FEFF bl HAL_RCC_GetHCLKFreq 1790 .LVL124: 1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1791 .loc 1 1188 54 view .LVU541 1792 0006 044B ldr r3, .L178 1793 0008 5B68 ldr r3, [r3, #4] 1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1794 .loc 1 1188 79 view .LVU542 1795 000a C3F30223 ubfx r3, r3, #8, #3 1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1796 .loc 1 1188 49 view .LVU543 1797 000e 034A ldr r2, .L178+4 1798 0010 D35C ldrb r3, [r2, r3] @ zero_extendqisi2 1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1799 .loc 1 1189 1 view .LVU544 1800 0012 D840 lsrs r0, r0, r3 1801 0014 08BD pop {r3, pc} 1802 .L179: 1803 0016 00BF .align 2 1804 .L178: 1805 0018 00100240 .word 1073876992 1806 001c 00000000 .word APBPrescTable 1807 .cfi_endproc 1808 .LFE73: 1810 .section .text.HAL_RCC_GetPCLK2Freq,"ax",%progbits 1811 .align 1 1812 .global HAL_RCC_GetPCLK2Freq 1813 .syntax unified 1814 .thumb 1815 .thumb_func 1817 HAL_RCC_GetPCLK2Freq: 1818 .LFB74: 1198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ 1819 .loc 1 1198 1 is_stmt 1 view -0 1820 .cfi_startproc 1821 @ args = 0, pretend = 0, frame = 0 ARM GAS /tmp/ccWlYFBg.s page 66 1822 @ frame_needed = 0, uses_anonymous_args = 0 1823 0000 08B5 push {r3, lr} 1824 .LCFI16: 1825 .cfi_def_cfa_offset 8 1826 .cfi_offset 3, -8 1827 .cfi_offset 14, -4 1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1828 .loc 1 1200 3 view .LVU546 1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1829 .loc 1 1200 11 is_stmt 0 view .LVU547 1830 0002 FFF7FEFF bl HAL_RCC_GetHCLKFreq 1831 .LVL125: 1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1832 .loc 1 1200 54 view .LVU548 1833 0006 044B ldr r3, .L182 1834 0008 5B68 ldr r3, [r3, #4] 1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1835 .loc 1 1200 79 view .LVU549 1836 000a C3F3C223 ubfx r3, r3, #11, #3 1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1837 .loc 1 1200 49 view .LVU550 1838 000e 034A ldr r2, .L182+4 1839 0010 D35C ldrb r3, [r2, r3] @ zero_extendqisi2 1201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1840 .loc 1 1201 1 view .LVU551 1841 0012 D840 lsrs r0, r0, r3 1842 0014 08BD pop {r3, pc} 1843 .L183: 1844 0016 00BF .align 2 1845 .L182: 1846 0018 00100240 .word 1073876992 1847 001c 00000000 .word APBPrescTable 1848 .cfi_endproc 1849 .LFE74: 1851 .section .text.HAL_RCC_GetOscConfig,"ax",%progbits 1852 .align 1 1853 .global HAL_RCC_GetOscConfig 1854 .syntax unified 1855 .thumb 1856 .thumb_func 1858 HAL_RCC_GetOscConfig: 1859 .LVL126: 1860 .LFB75: 1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 1861 .loc 1 1211 1 is_stmt 1 view -0 1862 .cfi_startproc 1863 @ args = 0, pretend = 0, frame = 0 1864 @ frame_needed = 0, uses_anonymous_args = 0 1865 @ link register save eliminated. 1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1866 .loc 1 1213 3 view .LVU553 1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** | RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI; 1867 .loc 1 1216 3 view .LVU554 1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** | RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI; 1868 .loc 1 1216 37 is_stmt 0 view .LVU555 1869 0000 0F23 movs r3, #15 1870 0002 0360 str r3, [r0] ARM GAS /tmp/ccWlYFBg.s page 67 1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1871 .loc 1 1225 3 is_stmt 1 view .LVU556 1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1872 .loc 1 1225 11 is_stmt 0 view .LVU557 1873 0004 2A4B ldr r3, .L197 1874 0006 1B68 ldr r3, [r3] 1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1875 .loc 1 1225 6 view .LVU558 1876 0008 13F4802F tst r3, #262144 1877 000c 30D0 beq .L185 1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1878 .loc 1 1227 5 is_stmt 1 view .LVU559 1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1879 .loc 1 1227 33 is_stmt 0 view .LVU560 1880 000e 4FF4A023 mov r3, #327680 1881 0012 4360 str r3, [r0, #4] 1882 .L186: 1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1883 .loc 1 1237 3 is_stmt 1 view .LVU561 1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1884 .loc 1 1237 39 is_stmt 0 view .LVU562 1885 0014 264A ldr r2, .L197 1886 0016 5368 ldr r3, [r2, #4] 1887 0018 03F40033 and r3, r3, #131072 1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1888 .loc 1 1237 37 view .LVU563 1889 001c 8360 str r3, [r0, #8] 1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1890 .loc 1 1240 3 is_stmt 1 view .LVU564 1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1891 .loc 1 1240 11 is_stmt 0 view .LVU565 1892 001e 1368 ldr r3, [r2] 1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1893 .loc 1 1240 6 view .LVU566 1894 0020 13F0010F tst r3, #1 1895 0024 30D0 beq .L188 1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1896 .loc 1 1242 5 is_stmt 1 view .LVU567 1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1897 .loc 1 1242 33 is_stmt 0 view .LVU568 1898 0026 0123 movs r3, #1 1899 0028 0361 str r3, [r0, #16] 1900 .L189: 1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1901 .loc 1 1249 3 is_stmt 1 view .LVU569 1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1902 .loc 1 1249 59 is_stmt 0 view .LVU570 1903 002a 214A ldr r2, .L197 1904 002c 1368 ldr r3, [r2] 1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1905 .loc 1 1249 44 view .LVU571 1906 002e C3F3C403 ubfx r3, r3, #3, #5 1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1907 .loc 1 1249 42 view .LVU572 1908 0032 4361 str r3, [r0, #20] 1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1909 .loc 1 1252 3 is_stmt 1 view .LVU573 ARM GAS /tmp/ccWlYFBg.s page 68 1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1910 .loc 1 1252 11 is_stmt 0 view .LVU574 1911 0034 136A ldr r3, [r2, #32] 1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1912 .loc 1 1252 6 view .LVU575 1913 0036 13F0040F tst r3, #4 1914 003a 28D0 beq .L190 1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1915 .loc 1 1254 5 is_stmt 1 view .LVU576 1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1916 .loc 1 1254 33 is_stmt 0 view .LVU577 1917 003c 0523 movs r3, #5 1918 003e C360 str r3, [r0, #12] 1919 .L191: 1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1920 .loc 1 1266 3 is_stmt 1 view .LVU578 1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1921 .loc 1 1266 11 is_stmt 0 view .LVU579 1922 0040 1B4B ldr r3, .L197 1923 0042 5B6A ldr r3, [r3, #36] 1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1924 .loc 1 1266 6 view .LVU580 1925 0044 13F0010F tst r3, #1 1926 0048 2CD0 beq .L193 1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1927 .loc 1 1268 5 is_stmt 1 view .LVU581 1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1928 .loc 1 1268 33 is_stmt 0 view .LVU582 1929 004a 0123 movs r3, #1 1930 004c 8361 str r3, [r0, #24] 1931 .L194: 1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1932 .loc 1 1277 3 is_stmt 1 view .LVU583 1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1933 .loc 1 1277 11 is_stmt 0 view .LVU584 1934 004e 184B ldr r3, .L197 1935 0050 1B68 ldr r3, [r3] 1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1936 .loc 1 1277 6 view .LVU585 1937 0052 13F0807F tst r3, #16777216 1938 0056 28D0 beq .L195 1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1939 .loc 1 1279 5 is_stmt 1 view .LVU586 1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1940 .loc 1 1279 37 is_stmt 0 view .LVU587 1941 0058 0223 movs r3, #2 1942 005a C361 str r3, [r0, #28] 1943 .L196: 1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLMULL); 1944 .loc 1 1285 3 is_stmt 1 view .LVU588 1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLMULL); 1945 .loc 1 1285 52 is_stmt 0 view .LVU589 1946 005c 144A ldr r2, .L197 1947 005e 5368 ldr r3, [r2, #4] 1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLMULL); 1948 .loc 1 1285 38 view .LVU590 1949 0060 03F48033 and r3, r3, #65536 ARM GAS /tmp/ccWlYFBg.s page 69 1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLMULL); 1950 .loc 1 1285 36 view .LVU591 1951 0064 0362 str r3, [r0, #32] 1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CR_PLL2ON) 1952 .loc 1 1286 3 is_stmt 1 view .LVU592 1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CR_PLL2ON) 1953 .loc 1 1286 49 is_stmt 0 view .LVU593 1954 0066 5368 ldr r3, [r2, #4] 1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CR_PLL2ON) 1955 .loc 1 1286 35 view .LVU594 1956 0068 03F47013 and r3, r3, #3932160 1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #if defined(RCC_CR_PLL2ON) 1957 .loc 1 1286 33 view .LVU595 1958 006c 4362 str r3, [r0, #36] 1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1959 .loc 1 1300 1 view .LVU596 1960 006e 7047 bx lr 1961 .L185: 1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1962 .loc 1 1229 8 is_stmt 1 view .LVU597 1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1963 .loc 1 1229 16 is_stmt 0 view .LVU598 1964 0070 0F4B ldr r3, .L197 1965 0072 1B68 ldr r3, [r3] 1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1966 .loc 1 1229 11 view .LVU599 1967 0074 13F4803F tst r3, #65536 1968 0078 03D0 beq .L187 1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1969 .loc 1 1231 5 is_stmt 1 view .LVU600 1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1970 .loc 1 1231 33 is_stmt 0 view .LVU601 1971 007a 4FF48033 mov r3, #65536 1972 007e 4360 str r3, [r0, #4] 1973 0080 C8E7 b .L186 1974 .L187: 1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1975 .loc 1 1235 5 is_stmt 1 view .LVU602 1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1976 .loc 1 1235 33 is_stmt 0 view .LVU603 1977 0082 0023 movs r3, #0 1978 0084 4360 str r3, [r0, #4] 1979 0086 C5E7 b .L186 1980 .L188: 1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1981 .loc 1 1246 5 is_stmt 1 view .LVU604 1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1982 .loc 1 1246 33 is_stmt 0 view .LVU605 1983 0088 0023 movs r3, #0 1984 008a 0361 str r3, [r0, #16] 1985 008c CDE7 b .L189 1986 .L190: 1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1987 .loc 1 1256 8 is_stmt 1 view .LVU606 1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1988 .loc 1 1256 16 is_stmt 0 view .LVU607 1989 008e 084B ldr r3, .L197 ARM GAS /tmp/ccWlYFBg.s page 70 1990 0090 1B6A ldr r3, [r3, #32] 1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 1991 .loc 1 1256 11 view .LVU608 1992 0092 13F0010F tst r3, #1 1993 0096 02D0 beq .L192 1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1994 .loc 1 1258 5 is_stmt 1 view .LVU609 1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 1995 .loc 1 1258 33 is_stmt 0 view .LVU610 1996 0098 0123 movs r3, #1 1997 009a C360 str r3, [r0, #12] 1998 009c D0E7 b .L191 1999 .L192: 1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 2000 .loc 1 1262 5 is_stmt 1 view .LVU611 1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 2001 .loc 1 1262 33 is_stmt 0 view .LVU612 2002 009e 0023 movs r3, #0 2003 00a0 C360 str r3, [r0, #12] 2004 00a2 CDE7 b .L191 2005 .L193: 1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 2006 .loc 1 1272 5 is_stmt 1 view .LVU613 1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 2007 .loc 1 1272 33 is_stmt 0 view .LVU614 2008 00a4 0023 movs r3, #0 2009 00a6 8361 str r3, [r0, #24] 2010 00a8 D1E7 b .L194 2011 .L195: 1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 2012 .loc 1 1283 5 is_stmt 1 view .LVU615 1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 2013 .loc 1 1283 37 is_stmt 0 view .LVU616 2014 00aa 0123 movs r3, #1 2015 00ac C361 str r3, [r0, #28] 2016 00ae D5E7 b .L196 2017 .L198: 2018 .align 2 2019 .L197: 2020 00b0 00100240 .word 1073876992 2021 .cfi_endproc 2022 .LFE75: 2024 .section .text.HAL_RCC_GetClockConfig,"ax",%progbits 2025 .align 1 2026 .global HAL_RCC_GetClockConfig 2027 .syntax unified 2028 .thumb 2029 .thumb_func 2031 HAL_RCC_GetClockConfig: 2032 .LVL127: 2033 .LFB76: 1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check the parameters */ 2034 .loc 1 1311 1 is_stmt 1 view -0 2035 .cfi_startproc 2036 @ args = 0, pretend = 0, frame = 0 2037 @ frame_needed = 0, uses_anonymous_args = 0 2038 @ link register save eliminated. ARM GAS /tmp/ccWlYFBg.s page 71 1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** assert_param(pFLatency != NULL); 2039 .loc 1 1313 3 view .LVU618 1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2040 .loc 1 1314 3 view .LVU619 1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2041 .loc 1 1317 3 view .LVU620 1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2042 .loc 1 1317 32 is_stmt 0 view .LVU621 2043 0000 0F23 movs r3, #15 2044 0002 0360 str r3, [r0] 1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2045 .loc 1 1320 3 is_stmt 1 view .LVU622 1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2046 .loc 1 1320 51 is_stmt 0 view .LVU623 2047 0004 0B4B ldr r3, .L200 2048 0006 5A68 ldr r2, [r3, #4] 1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2049 .loc 1 1320 37 view .LVU624 2050 0008 02F00302 and r2, r2, #3 1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2051 .loc 1 1320 35 view .LVU625 2052 000c 4260 str r2, [r0, #4] 1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2053 .loc 1 1323 3 is_stmt 1 view .LVU626 1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2054 .loc 1 1323 52 is_stmt 0 view .LVU627 2055 000e 5A68 ldr r2, [r3, #4] 1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2056 .loc 1 1323 38 view .LVU628 2057 0010 02F0F002 and r2, r2, #240 1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2058 .loc 1 1323 36 view .LVU629 2059 0014 8260 str r2, [r0, #8] 1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2060 .loc 1 1326 3 is_stmt 1 view .LVU630 1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2061 .loc 1 1326 53 is_stmt 0 view .LVU631 2062 0016 5A68 ldr r2, [r3, #4] 1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2063 .loc 1 1326 39 view .LVU632 2064 0018 02F4E062 and r2, r2, #1792 1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2065 .loc 1 1326 37 view .LVU633 2066 001c C260 str r2, [r0, #12] 1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2067 .loc 1 1329 3 is_stmt 1 view .LVU634 1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2068 .loc 1 1329 54 is_stmt 0 view .LVU635 2069 001e 5B68 ldr r3, [r3, #4] 1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2070 .loc 1 1329 39 view .LVU636 2071 0020 DB08 lsrs r3, r3, #3 2072 0022 03F4E063 and r3, r3, #1792 1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2073 .loc 1 1329 37 view .LVU637 2074 0026 0361 str r3, [r0, #16] 1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #else ARM GAS /tmp/ccWlYFBg.s page 72 2075 .loc 1 1333 3 is_stmt 1 view .LVU638 1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #else 2076 .loc 1 1333 32 is_stmt 0 view .LVU639 2077 0028 034B ldr r3, .L200+4 2078 002a 1B68 ldr r3, [r3] 1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #else 2079 .loc 1 1333 16 view .LVU640 2080 002c 03F00703 and r3, r3, #7 1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** #else 2081 .loc 1 1333 14 view .LVU641 2082 0030 0B60 str r3, [r1] 1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2083 .loc 1 1338 1 view .LVU642 2084 0032 7047 bx lr 2085 .L201: 2086 .align 2 2087 .L200: 2088 0034 00100240 .word 1073876992 2089 0038 00200240 .word 1073881088 2090 .cfi_endproc 2091 .LFE76: 2093 .section .text.HAL_RCC_CSSCallback,"ax",%progbits 2094 .align 1 2095 .weak HAL_RCC_CSSCallback 2096 .syntax unified 2097 .thumb 2098 .thumb_func 2100 HAL_RCC_CSSCallback: 2101 .LFB79: 1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 1373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /** 1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @brief RCC Clock Security System interrupt callback 1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** * @retval none 1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** __weak void HAL_RCC_CSSCallback(void) 1378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 2102 .loc 1 1378 1 is_stmt 1 view -0 2103 .cfi_startproc 2104 @ args = 0, pretend = 0, frame = 0 2105 @ frame_needed = 0, uses_anonymous_args = 0 2106 @ link register save eliminated. 1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** the HAL_RCC_CSSCallback could be implemented in the user file 1381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** */ 1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 2107 .loc 1 1382 1 view .LVU644 2108 0000 7047 bx lr 2109 .cfi_endproc 2110 .LFE79: 2112 .section .text.HAL_RCC_NMI_IRQHandler,"ax",%progbits 2113 .align 1 2114 .global HAL_RCC_NMI_IRQHandler 2115 .syntax unified 2116 .thumb 2117 .thumb_func 2119 HAL_RCC_NMI_IRQHandler: 2120 .LFB77: ARM GAS /tmp/ccWlYFBg.s page 73 1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** /* Check RCC CSSF flag */ 2121 .loc 1 1346 1 view -0 2122 .cfi_startproc 2123 @ args = 0, pretend = 0, frame = 0 2124 @ frame_needed = 0, uses_anonymous_args = 0 2125 0000 08B5 push {r3, lr} 2126 .LCFI17: 2127 .cfi_def_cfa_offset 8 2128 .cfi_offset 3, -8 2129 .cfi_offset 14, -4 1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 2130 .loc 1 1348 3 view .LVU646 1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 2131 .loc 1 1348 7 is_stmt 0 view .LVU647 2132 0002 064B ldr r3, .L207 2133 0004 9B68 ldr r3, [r3, #8] 1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** { 2134 .loc 1 1348 6 view .LVU648 2135 0006 13F0800F tst r3, #128 2136 000a 00D1 bne .L206 2137 .L203: 1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2138 .loc 1 1356 1 view .LVU649 2139 000c 08BD pop {r3, pc} 2140 .L206: 1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2141 .loc 1 1351 5 is_stmt 1 view .LVU650 2142 000e FFF7FEFF bl HAL_RCC_CSSCallback 2143 .LVL128: 1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** } 2144 .loc 1 1354 5 view .LVU651 2145 0012 024B ldr r3, .L207 2146 0014 8022 movs r2, #128 2147 0016 9A72 strb r2, [r3, #10] 1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c **** 2148 .loc 1 1356 1 is_stmt 0 view .LVU652 2149 0018 F8E7 b .L203 2150 .L208: 2151 001a 00BF .align 2 2152 .L207: 2153 001c 00100240 .word 1073876992 2154 .cfi_endproc 2155 .LFE77: 2157 .section .rodata.aPLLMULFactorTable.1,"a" 2158 .align 2 2159 .set .LANCHOR0,. + 0 2162 aPLLMULFactorTable.1: 2163 0000 02030405 .ascii "\002\003\004\005\006\007\010\011\012\013\014\015\016" 2163 06070809 2163 0A0B0C0D 2163 0E 2164 000d 0F1010 .ascii "\017\020\020" 2165 .section .rodata.aPredivFactorTable.0,"a" 2166 .align 2 2167 .set .LANCHOR1,. + 0 2170 aPredivFactorTable.0: 2171 0000 0102 .ascii "\001\002" ARM GAS /tmp/ccWlYFBg.s page 74 2172 .text 2173 .Letext0: 2174 .file 2 "/opt/gcc-arm/arm-none-eabi/include/machine/_default_types.h" 2175 .file 3 "/opt/gcc-arm/arm-none-eabi/include/sys/_stdint.h" 2176 .file 4 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h" 2177 .file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h" 2178 .file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h" 2179 .file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h" 2180 .file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h" 2181 .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h" 2182 .file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h" 2183 .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h" ARM GAS /tmp/ccWlYFBg.s page 75 DEFINED SYMBOLS *ABS*:0000000000000000 stm32f1xx_hal_rcc.c /tmp/ccWlYFBg.s:18 .text.RCC_Delay:0000000000000000 $t /tmp/ccWlYFBg.s:23 .text.RCC_Delay:0000000000000000 RCC_Delay /tmp/ccWlYFBg.s:73 .text.RCC_Delay:0000000000000024 $d /tmp/ccWlYFBg.s:79 .text.HAL_RCC_DeInit:0000000000000000 $t /tmp/ccWlYFBg.s:85 .text.HAL_RCC_DeInit:0000000000000000 HAL_RCC_DeInit /tmp/ccWlYFBg.s:289 .text.HAL_RCC_DeInit:00000000000000e4 $d /tmp/ccWlYFBg.s:297 .text.HAL_RCC_OscConfig:0000000000000000 $t /tmp/ccWlYFBg.s:303 .text.HAL_RCC_OscConfig:0000000000000000 HAL_RCC_OscConfig /tmp/ccWlYFBg.s:817 .text.HAL_RCC_OscConfig:000000000000027c $d /tmp/ccWlYFBg.s:823 .text.HAL_RCC_OscConfig:0000000000000288 $t /tmp/ccWlYFBg.s:1181 .text.HAL_RCC_OscConfig:0000000000000408 $d /tmp/ccWlYFBg.s:1187 .text.HAL_RCC_MCOConfig:0000000000000000 $t /tmp/ccWlYFBg.s:1193 .text.HAL_RCC_MCOConfig:0000000000000000 HAL_RCC_MCOConfig /tmp/ccWlYFBg.s:1277 .text.HAL_RCC_MCOConfig:0000000000000048 $d /tmp/ccWlYFBg.s:1283 .text.HAL_RCC_EnableCSS:0000000000000000 $t /tmp/ccWlYFBg.s:1289 .text.HAL_RCC_EnableCSS:0000000000000000 HAL_RCC_EnableCSS /tmp/ccWlYFBg.s:1306 .text.HAL_RCC_EnableCSS:0000000000000008 $d /tmp/ccWlYFBg.s:1311 .text.HAL_RCC_DisableCSS:0000000000000000 $t /tmp/ccWlYFBg.s:1317 .text.HAL_RCC_DisableCSS:0000000000000000 HAL_RCC_DisableCSS /tmp/ccWlYFBg.s:1334 .text.HAL_RCC_DisableCSS:0000000000000008 $d /tmp/ccWlYFBg.s:1339 .text.HAL_RCC_GetSysClockFreq:0000000000000000 $t /tmp/ccWlYFBg.s:1345 .text.HAL_RCC_GetSysClockFreq:0000000000000000 HAL_RCC_GetSysClockFreq /tmp/ccWlYFBg.s:1423 .text.HAL_RCC_GetSysClockFreq:0000000000000040 $d /tmp/ccWlYFBg.s:1432 .text.HAL_RCC_ClockConfig:0000000000000000 $t /tmp/ccWlYFBg.s:1438 .text.HAL_RCC_ClockConfig:0000000000000000 HAL_RCC_ClockConfig /tmp/ccWlYFBg.s:1735 .text.HAL_RCC_ClockConfig:0000000000000158 $d /tmp/ccWlYFBg.s:1744 .text.HAL_RCC_GetHCLKFreq:0000000000000000 $t /tmp/ccWlYFBg.s:1750 .text.HAL_RCC_GetHCLKFreq:0000000000000000 HAL_RCC_GetHCLKFreq /tmp/ccWlYFBg.s:1765 .text.HAL_RCC_GetHCLKFreq:0000000000000008 $d /tmp/ccWlYFBg.s:1770 .text.HAL_RCC_GetPCLK1Freq:0000000000000000 $t /tmp/ccWlYFBg.s:1776 .text.HAL_RCC_GetPCLK1Freq:0000000000000000 HAL_RCC_GetPCLK1Freq /tmp/ccWlYFBg.s:1805 .text.HAL_RCC_GetPCLK1Freq:0000000000000018 $d /tmp/ccWlYFBg.s:1811 .text.HAL_RCC_GetPCLK2Freq:0000000000000000 $t /tmp/ccWlYFBg.s:1817 .text.HAL_RCC_GetPCLK2Freq:0000000000000000 HAL_RCC_GetPCLK2Freq /tmp/ccWlYFBg.s:1846 .text.HAL_RCC_GetPCLK2Freq:0000000000000018 $d /tmp/ccWlYFBg.s:1852 .text.HAL_RCC_GetOscConfig:0000000000000000 $t /tmp/ccWlYFBg.s:1858 .text.HAL_RCC_GetOscConfig:0000000000000000 HAL_RCC_GetOscConfig /tmp/ccWlYFBg.s:2020 .text.HAL_RCC_GetOscConfig:00000000000000b0 $d /tmp/ccWlYFBg.s:2025 .text.HAL_RCC_GetClockConfig:0000000000000000 $t /tmp/ccWlYFBg.s:2031 .text.HAL_RCC_GetClockConfig:0000000000000000 HAL_RCC_GetClockConfig /tmp/ccWlYFBg.s:2088 .text.HAL_RCC_GetClockConfig:0000000000000034 $d /tmp/ccWlYFBg.s:2094 .text.HAL_RCC_CSSCallback:0000000000000000 $t /tmp/ccWlYFBg.s:2100 .text.HAL_RCC_CSSCallback:0000000000000000 HAL_RCC_CSSCallback /tmp/ccWlYFBg.s:2113 .text.HAL_RCC_NMI_IRQHandler:0000000000000000 $t /tmp/ccWlYFBg.s:2119 .text.HAL_RCC_NMI_IRQHandler:0000000000000000 HAL_RCC_NMI_IRQHandler /tmp/ccWlYFBg.s:2153 .text.HAL_RCC_NMI_IRQHandler:000000000000001c $d /tmp/ccWlYFBg.s:2158 .rodata.aPLLMULFactorTable.1:0000000000000000 $d /tmp/ccWlYFBg.s:2162 .rodata.aPLLMULFactorTable.1:0000000000000000 aPLLMULFactorTable.1 /tmp/ccWlYFBg.s:2166 .rodata.aPredivFactorTable.0:0000000000000000 $d /tmp/ccWlYFBg.s:2170 .rodata.aPredivFactorTable.0:0000000000000000 aPredivFactorTable.0 UNDEFINED SYMBOLS SystemCoreClock HAL_GetTick HAL_InitTick ARM GAS /tmp/ccWlYFBg.s page 76 uwTickPrio HAL_GPIO_Init AHBPrescTable APBPrescTable