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