ARM GAS /tmp/cchbc9tY.s page 1 1 .cpu cortex-m0plus 2 .eabi_attribute 20, 1 3 .eabi_attribute 21, 1 4 .eabi_attribute 23, 3 5 .eabi_attribute 24, 1 6 .eabi_attribute 25, 1 7 .eabi_attribute 26, 1 8 .eabi_attribute 30, 1 9 .eabi_attribute 34, 0 10 .eabi_attribute 18, 4 11 .file "stm32l0xx_hal_rcc.c" 12 .text 13 .Ltext0: 14 .cfi_sections .debug_frame 15 .section .text.RCC_SetFlashLatencyFromMSIRange,"ax",%progbits 16 .align 1 17 .syntax unified 18 .code 16 19 .thumb_func 20 .fpu softvfp 22 RCC_SetFlashLatencyFromMSIRange: 23 .LFB52: 24 .file 1 "./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c" 1:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 2:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ****************************************************************************** 3:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @file stm32l0xx_hal_rcc.c 4:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @author MCD Application Team 5:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief RCC HAL module driver. 6:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * This file provides firmware functions to manage the following 7:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * functionalities of the Reset and Clock Control (RCC) peripheral: 8:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * + Initialization and de-initialization functions 9:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * + Peripheral Control functions 10:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 11:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @verbatim 12:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ============================================================================== 13:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ##### RCC specific features ##### 14:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ============================================================================== 15:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** [..] 16:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** After reset the device is running from multispeed internal oscillator clock 17:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (MSI 2.097MHz) with Flash 0 wait state and Flash prefetch buffer is disabled, 18:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** and all peripherals are off except internal SRAM, Flash and JTAG. 19:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+) There is no prescaler on High speed (AHB) and Low speed (APB) buses; 20:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** all peripherals mapped on these buses are running at MSI speed. 21:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+) The clock for all peripherals is switched off, except the SRAM and FLASH. 22:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+) All GPIOs are in input floating state, except the JTAG pins which 23:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** are assigned to be used for debug purpose. 24:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** [..] Once the device started from reset, the user application has to: 25:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+) Configure the clock source to be used to drive the System clock 26:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (if the application needs higher frequency/performance) 27:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+) Configure the System clock frequency and Flash settings 28:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+) Configure the AHB and APB buses prescalers 29:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+) Enable the clock for the peripheral(s) to be used 30:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+) Configure the clock source(s) for peripherals whose clocks are not 31:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** derived from the System clock (I2S, RTC, ADC, USB OTG FS/SDIO/RNG) 32:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (*) SDIO only for STM32L0xxxD devices 33:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 34:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ##### RCC Limitations ##### ARM GAS /tmp/cchbc9tY.s page 2 35:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ============================================================================== 36:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** [..] 37:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** A delay between an RCC peripheral clock enable and the effective peripheral 38:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** enabling should be taken into account in order to manage the peripheral read/write 39:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** from/to registers. 40:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+) This delay depends on the peripheral mapping. 41:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (++) AHB & APB peripherals, 1 dummy read is necessary 42:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 43:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** [..] 44:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** Workarounds: 45:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) For AHB & APB peripherals, a dummy read to the peripheral register has been 46:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** inserted in each __HAL_RCC_PPP_CLK_ENABLE() macro. 47:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 48:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @endverbatim 49:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ****************************************************************************** 50:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @attention 51:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 52:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** *

© COPYRIGHT(c) 2016 STMicroelectronics

53:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 54:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * Redistribution and use in source and binary forms, with or without modification, 55:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * are permitted provided that the following conditions are met: 56:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 1. Redistributions of source code must retain the above copyright notice, 57:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * this list of conditions and the following disclaimer. 58:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 2. Redistributions in binary form must reproduce the above copyright notice, 59:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * this list of conditions and the following disclaimer in the documentation 60:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * and/or other materials provided with the distribution. 61:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 3. Neither the name of STMicroelectronics nor the names of its contributors 62:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * may be used to endorse or promote products derived from this software 63:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * without specific prior written permission. 64:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 65:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 66:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 67:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 68:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 69:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 70:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 71:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 72:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 73:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 74:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 75:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 76:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ****************************************************************************** 77:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 78:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 79:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Includes ------------------------------------------------------------------*/ 80:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #include "stm32l0xx_hal.h" 81:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 82:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @addtogroup STM32L0xx_HAL_Driver 83:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 84:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 85:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 86:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @defgroup RCC RCC 87:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief RCC HAL module driver 88:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 89:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 90:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 91:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #ifdef HAL_RCC_MODULE_ENABLED ARM GAS /tmp/cchbc9tY.s page 3 92:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 93:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Private typedef -----------------------------------------------------------*/ 94:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Private define ------------------------------------------------------------*/ 95:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @defgroup RCC_Private_Constants RCC Private Constants 96:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 97:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 98:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Bits position in in the CFGR register */ 99:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define RCC_CFGR_PLLMUL_BITNUMBER RCC_CFGR_PLLMUL_Pos 100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define RCC_CFGR_PLLDIV_BITNUMBER RCC_CFGR_PLLDIV_Pos 101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define RCC_CFGR_HPRE_BITNUMBER RCC_CFGR_HPRE_Pos 102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define RCC_CFGR_PPRE1_BITNUMBER RCC_CFGR_PPRE1_Pos 103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define RCC_CFGR_PPRE2_BITNUMBER RCC_CFGR_PPRE2_Pos 104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Bits position in in the ICSCR register */ 105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define RCC_ICSCR_MSIRANGE_BITNUMBER RCC_ICSCR_MSIRANGE_Pos 106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define RCC_ICSCR_MSITRIM_BITNUMBER RCC_ICSCR_MSITRIM_Pos 107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @} 109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Private macro -------------------------------------------------------------*/ 111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @defgroup RCC_Private_Macros RCC Private Macros 112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define MCO1_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() 116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define MCO1_GPIO_PORT GPIOA 117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define MCO1_PIN GPIO_PIN_8 118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define MCO2_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() 120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define MCO2_GPIO_PORT GPIOA 121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define MCO2_PIN GPIO_PIN_9 122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #if defined(STM32L031xx) || defined(STM32L041xx) || defined(STM32L073xx) || defined(STM32L083xx) \ 124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** || defined(STM32L072xx) || defined(STM32L082xx) || defined(STM32L071xx) || defined(STM32L081xx) 125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define MCO3_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() 126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define MCO3_GPIO_PORT GPIOB 127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #define MCO3_PIN GPIO_PIN_13 128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif 129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @} 132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Private variables ---------------------------------------------------------*/ 135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @defgroup RCC_Private_Variables RCC Private Variables 136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** extern const uint8_t PLLMulTable[]; /* Defined in CMSIS (system_stm32l0xx.c)*/ 139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @} 141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Private function prototypes -----------------------------------------------*/ 144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @defgroup RCC_Private_Functions RCC Private Functions 145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** static HAL_StatusTypeDef RCC_SetFlashLatencyFromMSIRange(uint32_t MSIrange); 148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** ARM GAS /tmp/cchbc9tY.s page 4 149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @} 150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Exported functions ---------------------------------------------------------*/ 153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions RCC Exported Functions 155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group1 Initialization and de-initialization functions 159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Initialization and Configuration functions 160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @verbatim 162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** =============================================================================== 163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ##### Initialization and de-initialization functions ##### 164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** =============================================================================== 165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** [..] 166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** This section provides functions allowing to configure the internal/external oscillators 167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (MSI, HSE, HSI, LSE, LSI, PLL, CSS and MCO) and the System buses clocks (SYSCLK, AHB, APB1 168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** and APB2). 169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** [..] Internal/external clock and PLL configuration 171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) MSI (Multispeed internal), Seven frequency ranges are available: 65.536 kHz, 172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 131.072 kHz, 262.144 kHz, 524.288 kHz, 1.048 MHz, 2.097 MHz (default value) and 4.194 MHz 173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) HSI (high-speed internal), 16 MHz factory-trimmed RC used directly or through 175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** the PLL as System clock source. 176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) LSI (low-speed internal), ~37 KHz low consumption RC used as IWDG and/or RTC 177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** clock source. 178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) HSE (high-speed external), 1 to 24 MHz crystal oscillator used directly or 180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** through the PLL as System clock source. Can be used also as RTC clock source. 181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) LSE (low-speed external), 32 KHz oscillator used as RTC clock source. 183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) PLL (clocked by HSI or HSE), featuring different output clocks: 185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (++) The first output is used to generate the high speed system clock (up to 32 MHz) 186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (++) The second output is used to generate the clock for the USB OTG FS (48 MHz) 187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) CSS (Clock security system), once enable using the macro __HAL_RCC_CSS_ENABLE() 189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** and if a HSE clock failure occurs(HSE used directly or through PLL as System 190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** clock source), the System clocks automatically switched to MSI and an interrupt 191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** is generated if enabled. The interrupt is linked to the Cortex-M0+ NMI 192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (Non-Maskable Interrupt) exception vector. 193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) MCO1/MCO2/MCO3 (microcontroller clock output), used to output SYSCLK, HSI, LSI, MSI, LSE, 195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HSE, HSI48 or PLL clock (through a configurable prescaler) on PA8/PA9/PB13 pins. 196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** [..] System, AHB and APB buses clocks configuration 198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) Several clock sources can be used to drive the System clock (SYSCLK): MSI, HSI, 199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HSE and PLL. 200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** The AHB clock (HCLK) is derived from System clock through configurable 201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** prescaler and used to clock the CPU, memory and peripherals mapped 202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** on AHB bus (DMA, GPIO...). APB1 (PCLK1) and APB2 (PCLK2) clocks are derived 203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** from AHB clock through configurable prescalers and used to clock 204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** the peripherals mapped on these buses. You can use 205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** "@ref HAL_RCC_GetSysClockFreq()" function to retrieve the frequencies of these clocks. ARM GAS /tmp/cchbc9tY.s page 5 206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** -@- All the peripheral clocks are derived from the System clock (SYSCLK) except: 208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+@) RTC: RTC clock can be derived either from the LSI, LSE or HSE clock 209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** divided by 2 to 16. You have to use @ref __HAL_RCC_RTC_CONFIG() and @ref __HAL_RCC_RT 210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** macros to configure this clock. 211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+@) LCD: LCD clock can be derived either from the LSI, LSE or HSE clock 212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** divided by 2 to 16. You have to use @ref __HAL_RCC_LCD_CONFIG() 213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** macros to configure this clock. 214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+@) USB FS and RNG: USB FS require a frequency equal to 48 MHz to work correctly. 215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** This clock is derived of the main PLL through PLL Multiplier or HSI48 RC oscillator. 216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (+@) IWDG clock which is always the LSI clock. 218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (#) The maximum frequency of the SYSCLK and HCLK is 32 MHz, PCLK2 32 MHz 220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** and PCLK1 32 MHz. Depending on the device voltage range, the maximum 221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** frequency should be adapted accordingly. 222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @endverbatim 223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* 227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** Additional consideration on the HCLK based on Latency settings: 228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** +----------------------------------------------------------------------+ 229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | Latency | HCLK clock frequency (MHz) | 230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | |------------------------------------------------------| 231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | | voltage range 1 | voltage range 2 | voltage range 3 | 232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | | 1.8 V | 1.5 V | 1.2 V | 233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** |---------------|------------------|-----------------|-----------------| 234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** |0WS(1CPU cycle)| 0 < HCLK <= 16 | 0 < HCLK <= 8 | 0 < HCLK <= 2 | 235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** |---------------|------------------|-----------------|-----------------| 236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** |1WS(2CPU cycle)| 16 < HCLK <= 32 | 8 < HCLK <= 16 | 2 < HCLK <= 4 | 237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** +----------------------------------------------------------------------+ 238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** The following table gives the different clock source frequencies depending on the product 240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** voltage range: 241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** +------------------------------------------------------------------------------------------+ 242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | Product voltage | Clock frequency | 243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | |------------------|-----------------------------|-----------------------| 244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | range | MSI | HSI | HSE | PLL | 245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** |-----------------|---------|--------|-----------------------------|-----------------------| 246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | Range 1 (1.8 V) | 4.2 MHz | 16 MHz | HSE 32 MHz (external clock) | 32 MHz | 247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | | | | or 24 MHz (crystal) | (PLLVCO max = 96 MHz) | 248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** |-----------------|---------|--------|-----------------------------|-----------------------| 249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | Range 2 (1.5 V) | 4.2 MHz | 16 MHz | 16 MHz | 16 MHz | 250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | | | | | (PLLVCO max = 48 MHz) | 251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** |-----------------|---------|--------|-----------------------------|-----------------------| 252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | Range 3 (1.2 V) | 4.2 MHz | NA | 8 MHz | 4 MHz | 253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | | | | | (PLLVCO max = 24 MHz) | 254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** +------------------------------------------------------------------------------------------+ 255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Resets the RCC clock configuration to the default reset state. 259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note The default reset state of the clock configuration is given below: 260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * - MSI ON and used as system clock source 261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * - HSI, HSE and PLL OFF 262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * - AHB, APB1 and APB2 prescaler set to 1. ARM GAS /tmp/cchbc9tY.s page 6 263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * - CSS and MCO1/MCO2/MCO3 OFF 264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * - All interrupts disabled 265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note This function does not modify the configuration of the 266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * - Peripheral clocks 267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * - LSI, LSE and RTC clocks 268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * - HSI48 clock 269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval None 270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** void HAL_RCC_DeInit(void) 272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __IO uint32_t tmpreg; 274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Set MSION bit */ 276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_MSION); 277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Switch SYSCLK to MSI*/ 279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** CLEAR_BIT(RCC->CFGR, RCC_CFGR_SW); 280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Reset HSE, HSI, CSS, PLL */ 282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #if defined(RCC_CR_CSSHSEON) && defined(RCC_CR_HSIOUTEN) 283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_HSION| RCC_CR_HSIKERON| RCC_CR_HSIDIVEN | RCC_CR_HSIOUTEN | \ 284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_CR_HSEON | RCC_CR_CSSHSEON | RCC_CR_PLLON); 285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #elif !defined(RCC_CR_CSSHSEON) && defined(RCC_CR_HSIOUTEN) 286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_HSION| RCC_CR_HSIKERON| RCC_CR_HSIDIVEN | RCC_CR_HSIOUTEN | \ 287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_CR_HSEON | RCC_CR_PLLON); 288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #elif defined(RCC_CR_CSSHSEON) && !defined(RCC_CR_HSIOUTEN) 289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_HSION| RCC_CR_HSIKERON| RCC_CR_HSIDIVEN | \ 290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_CR_HSEON | RCC_CR_CSSHSEON | RCC_CR_PLLON); 291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif 292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Delay after an RCC peripheral clock */ \ 294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tmpreg = READ_BIT(RCC->CR, RCC_CR_HSEON); \ 295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** UNUSED(tmpreg); 296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Reset HSEBYP bit */ 298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP); 299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Reset CFGR register */ 301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR); 302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Set MSIClockRange & MSITRIM[4:0] bits to the reset value */ 304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** MODIFY_REG(RCC->ICSCR, (RCC_ICSCR_MSIRANGE | RCC_ICSCR_MSITRIM), (((uint32_t)0 << RCC_ICSCR_MSITR 305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Set HSITRIM bits to the reset value */ 307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** MODIFY_REG(RCC->ICSCR, RCC_ICSCR_HSITRIM, ((uint32_t)0x10 << 8)); 308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Disable all interrupts */ 310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** CLEAR_REG(RCC->CIER); 311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ 313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** SystemCoreClock = MSI_VALUE; 314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Initializes the RCC Oscillators according to the specified parameters in the 318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * RCC_OscInitTypeDef. 319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that ARM GAS /tmp/cchbc9tY.s page 7 320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * contains the configuration information for the RCC Oscillators. 321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note The PLL is not disabled when used as system clock. 322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note Transitions LSE Bypass to LSE On and LSE On to LSE Bypass are not 323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * supported by this macro. User should request a transition to LSE Off 324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * first and then LSE On or LSE Bypass. 325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not 326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * supported by this macro. User should request a transition to HSE Off 327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * first and then HSE On or HSE Bypass. 328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval HAL status 329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) 331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t tickstart = 0U; 333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(RCC_OscInitStruct != NULL); 336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); 337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*------------------------------- HSE Configuration ------------------------*/ 339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) 340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); 343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* When the HSE is used as system clock or clock source for PLL in these cases it is not allowe 345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSE) 346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_ 347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_ 349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Set the new HSE configuration ---------------------------------------*/ 356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); 357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the HSE State */ 360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSEState != RCC_HSE_OFF) 361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till HSE is ready */ 366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) 369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ ARM GAS /tmp/cchbc9tY.s page 8 377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till HSE is disabled */ 380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE) 383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*----------------------------- HSI Configuration --------------------------*/ 391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) 392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); 395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); 396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock * 398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI) 399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_ 400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* When HSI is used as system clock it will not disabled */ 402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ 403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Otherwise, just the calibration is allowed */ 407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ 410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the HSI State */ 416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSIState != RCC_HSI_OFF) 417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI or HSIdiv4) */ 419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_HSI_CONFIG(RCC_OscInitStruct->HSIState); 420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till HSI is ready */ 425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) 428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ ARM GAS /tmp/cchbc9tY.s page 9 434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI). */ 439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_HSI_DISABLE(); 440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till HSI is disabled */ 445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE) 448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*----------------------------- MSI Configuration --------------------------*/ 456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_MSI) == RCC_OSCILLATORTYPE_MSI) 457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* When the MSI is used as system clock it will not be disabled */ 459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_MSI) ) 460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_MSIRDY) != RESET) && (RCC_OscInitStruct->MSIState == RCC_MSI_ 462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Otherwise, just the calibration and MSI range change are allowed */ 466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check MSICalibrationValue and MSIClockRange input parameters */ 469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_MSICALIBRATION_VALUE(RCC_OscInitStruct->MSICalibrationValue)); 470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_MSI_CLOCK_RANGE(RCC_OscInitStruct->MSIClockRange)); 471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* To correctly read data from FLASH memory, the number of wait states (LATENCY) 473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** must be correctly programmed according to the frequency of the CPU clock 474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (HCLK) and the supply voltage of the device. */ 475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_OscInitStruct->MSIClockRange > __HAL_RCC_GET_MSI_RANGE()) 476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* First increase number of wait states update if necessary */ 478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_SetFlashLatencyFromMSIRange(RCC_OscInitStruct->MSIClockRange) != HAL_OK) 479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Selects the Multiple Speed oscillator (MSI) clock range .*/ 484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_MSI_RANGE_CONFIG(RCC_OscInitStruct->MSIClockRange); 485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/ 486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_MSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->MSICalibrationValue); 487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Else, keep current flash latency while decreasing applies */ ARM GAS /tmp/cchbc9tY.s page 10 491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Selects the Multiple Speed oscillator (MSI) clock range .*/ 492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_MSI_RANGE_CONFIG(RCC_OscInitStruct->MSIClockRange); 493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/ 494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_MSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->MSICalibrationValue); 495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Decrease number of wait states update if necessary */ 497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_SetFlashLatencyFromMSIRange(RCC_OscInitStruct->MSIClockRange) != HAL_OK) 498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ 504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** SystemCoreClock = (32768U * (1U << ((RCC_OscInitStruct->MSIClockRange >> RCC_ICSCR_MSIRANG 505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** >> AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_BITNUMBER 506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Configure the source of time base considering new system clocks settings*/ 508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_InitTick (TICK_INT_PRIORITY); 509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check MSI State */ 514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_MSI(RCC_OscInitStruct->MSIState)); 515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the MSI State */ 517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_OscInitStruct->MSIState != RCC_MSI_OFF) 518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Enable the Multi Speed oscillator (MSI). */ 520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_MSI_ENABLE(); 521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till MSI is ready */ 526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_MSIRDY) == RESET) 527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > MSI_TIMEOUT_VALUE) 529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check MSICalibrationValue and MSIClockRange input parameters */ 534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_MSICALIBRATION_VALUE(RCC_OscInitStruct->MSICalibrationValue)); 535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_MSI_CLOCK_RANGE(RCC_OscInitStruct->MSIClockRange)); 536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Selects the Multiple Speed oscillator (MSI) clock range .*/ 538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_MSI_RANGE_CONFIG(RCC_OscInitStruct->MSIClockRange); 539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/ 540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_MSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->MSICalibrationValue); 541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Disable the Multi Speed oscillator (MSI). */ 546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_MSI_DISABLE(); 547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ARM GAS /tmp/cchbc9tY.s page 11 548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till MSI is ready */ 552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_MSIRDY) != RESET) 553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > MSI_TIMEOUT_VALUE) 555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*------------------------------ LSI Configuration -------------------------*/ 563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) 564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); 567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the LSI State */ 569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_OscInitStruct->LSIState != RCC_LSI_OFF) 570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Enable the Internal Low Speed oscillator (LSI). */ 572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_LSI_ENABLE(); 573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till LSI is ready */ 578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) 581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Disable the Internal Low Speed oscillator (LSI). */ 589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_LSI_DISABLE(); 590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till LSI is disabled */ 595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE) 598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*------------------------------ LSE Configuration -------------------------*/ ARM GAS /tmp/cchbc9tY.s page 12 605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) 606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** FlagStatus pwrclkchanged = RESET; 608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); 611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Update LSE configuration in Backup Domain control register */ 613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Requires to enable write access to Backup Domain of necessary */ 614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(__HAL_RCC_PWR_IS_CLK_DISABLED()) 615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_ENABLE(); 617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** pwrclkchanged = SET; 618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) 621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Enable write access to Backup domain */ 623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** SET_BIT(PWR->CR, PWR_CR_DBP); 624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait for Backup domain Write protection disable */ 626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP)) 629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Set the new LSE configuration -----------------------------------------*/ 638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); 639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the LSE State */ 640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_OscInitStruct->LSEState != RCC_LSE_OFF) 641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till LSE is ready */ 646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) 649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till LSE is disabled */ 660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { ARM GAS /tmp/cchbc9tY.s page 13 662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) 663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Require to disable power clock if necessary */ 670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(pwrclkchanged == SET) 671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_DISABLE(); 673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #if defined(RCC_HSI48_SUPPORT) 677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*----------------------------- HSI48 Configuration --------------------------*/ 678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI48) == RCC_OSCILLATORTYPE_HSI48) 679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_HSI48(RCC_OscInitStruct->HSI48State)); 682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the HSI48 State */ 684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSI48State != RCC_HSI48_OFF) 685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI48). */ 687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_HSI48_ENABLE(); 688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till HSI48 is ready */ 693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) == RESET) 694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE) 696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI48). */ 704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_HSI48_DISABLE(); 705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till HSI48 is ready */ 710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) != RESET) 711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE) 713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } ARM GAS /tmp/cchbc9tY.s page 14 719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */ 720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*-------------------------------- PLL Configuration -----------------------*/ 722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); 724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE) 725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check if the PLL is used as system clock or not */ 727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK) 728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) 730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_PLLSOURCE(RCC_OscInitStruct->PLL.PLLSource)); 733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_PLL_MUL(RCC_OscInitStruct->PLL.PLLMUL)); 734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_PLL_DIV(RCC_OscInitStruct->PLL.PLLDIV)); 735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Disable the main PLL. */ 737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); 738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till PLL is disabled */ 743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) 746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Configure the main PLL clock source, multiplication and division factors. */ 752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, 753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL, 754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLDIV); 755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Enable the main PLL. */ 756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_PLL_ENABLE(); 757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till PLL is ready */ 762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) 765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Disable the main PLL. */ 773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); 774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ ARM GAS /tmp/cchbc9tY.s page 15 776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Wait till PLL is disabled */ 779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE) 782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_OK; 795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Initializes the CPU, AHB and APB buses clocks according to the specified 799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * parameters in the RCC_ClkInitStruct. 800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_OscInitTypeDef structure that 801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * contains the configuration information for the RCC peripheral. 802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param FLatency FLASH Latency 803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * The value of this parameter depend on device used within the same series 804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency 805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * and updated by @ref HAL_RCC_GetHCLKFreq() function called within this function 806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note The MSI is used (enabled by hardware) as system clock source after 808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * start-up from Reset, wake-up from STOP and STANDBY mode, or in case 809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * of failure of the HSE used directly or indirectly as system clock 810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * (if the Clock Security System CSS is enabled). 811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note A switch from one clock source to another occurs only if the target 813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * clock source is ready (clock stable after start-up delay or PLL locked). 814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * If a clock source which is not yet ready is selected, the switch will 815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * occur when the clock source will be ready. 816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * You can use @ref HAL_RCC_GetClockConfig() function to know which clock is 817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * currently used as system clock source. 818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note Depending on the device voltage range, the software has to set correctly 819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency 820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * (for more details refer to section above "Initialization/de-initialization functions") 821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval HAL status 822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) 824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t tickstart = 0U; 826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(RCC_ClkInitStruct != NULL); 829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_CLOCKTYPE(RCC_ClkInitStruct->ClockType)); 830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency)); 831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* To correctly read data from FLASH memory, the number of wait states (LATENCY) ARM GAS /tmp/cchbc9tY.s page 16 833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** must be correctly programmed according to the frequency of the CPU clock 834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** (HCLK) and the supply voltage of the device. */ 835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Increasing the number of wait states because of higher CPU frequency */ 837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(FLatency > (FLASH->ACR & FLASH_ACR_LATENCY)) 838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ 840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash 843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ 844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((FLASH->ACR & FLASH_ACR_LATENCY) != FLatency) 845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*-------------------------- HCLK Configuration --------------------------*/ 851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) 852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); 854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); 855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*------------------------- SYSCLK Configuration ---------------------------*/ 858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) 859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 860:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); 861:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* HSE is selected as System Clock Source */ 863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 865:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the HSE ready flag */ 866:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 869:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 870:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 871:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* PLL is selected as System Clock Source */ 872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) 873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the PLL ready flag */ 875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 878:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 879:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 880:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* HSI is selected as System Clock Source */ 881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSI) 882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 883:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the HSI ready flag */ 884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 888:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* MSI is selected as System Clock Source */ ARM GAS /tmp/cchbc9tY.s page 17 890:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the MSI ready flag */ 893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_MSIRDY) == RESET) 894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 895:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); 899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 900:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get Start Tick */ 901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tickstart = HAL_GetTick(); 902:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_HSE) 906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE) 908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 911:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) 914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK) 916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE) 918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 920:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 923:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSI) 924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_HSI) 926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE) 928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 931:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 932:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** while(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_MSI) 936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE) 938:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 939:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_TIMEOUT; 940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 941:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 942:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 944:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Decreasing the number of wait states because of lower CPU frequency */ 945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(FLatency < (FLASH->ACR & FLASH_ACR_LATENCY)) 946:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { ARM GAS /tmp/cchbc9tY.s page 18 947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ 948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 950:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash 951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ 952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((FLASH->ACR & FLASH_ACR_LATENCY) != FLatency) 953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 958:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*-------------------------- PCLK1 Configuration ---------------------------*/ 959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 960:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); 962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 965:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /*-------------------------- PCLK2 Configuration ---------------------------*/ 966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 967:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); 969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3)); 970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 971:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ 973:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CF 974:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 975:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Configure the source of time base considering new system clocks settings*/ 976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_InitTick (TICK_INT_PRIORITY); 977:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_OK; 979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @} 983:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 984:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group2 Peripheral Control functions 986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief RCC clocks control functions 987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @verbatim 989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** =============================================================================== 990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ##### Peripheral Control functions ##### 991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** =============================================================================== 992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** [..] 993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** This subsection provides a set of functions allowing to control the RCC Clocks 994:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** frequencies. 995:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @endverbatim 997:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 999:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1001:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Selects the clock source to output on MCO pin. 1002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note MCO pin should be configured in alternate function mode. 1003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param RCC_MCOx specifies the output direction for the clock source. ARM GAS /tmp/cchbc9tY.s page 19 1004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * This parameter can be one of the following values: 1005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1 Clock source to output on MCO1 pin(PA8). 1006:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO2 Clock source to output on MCO2 pin(PA9). 1007:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @if STM32L031xx 1008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO3 Clock source to output on MCO3 pin(PB13) 1009:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L041xx 1010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO3 Clock source to output on MCO3 pin(PB13) 1011:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L073xx 1012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO3 Clock source to output on MCO3 pin(PB13) 1013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L083xx 1014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO3 Clock source to output on MCO3 pin(PB13) 1015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L072xx 1016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO3 Clock source to output on MCO3 pin(PB13) 1017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L082xx 1018:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO3 Clock source to output on MCO3 pin(PB13) 1019:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L071xx 1020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO3 Clock source to output on MCO3 pin(PB13) 1021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L081xx 1022:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO3 Clock source to output on MCO3 pin(PB13) 1023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @endif 1024:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param RCC_MCOSource specifies the clock source to output. 1025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * This parameter can be one of the following values: 1026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_NOCLOCK No clock selected as MCO clock 1027:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_SYSCLK System clock selected as MCO clock 1028:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI HSI selected as MCO clock 1029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSE HSE selected as MCO clock 1030:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_MSI MSI oscillator clock selected as MCO clock 1031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLL clock selected as MCO clock 1032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSI LSI clock selected as MCO clock 1033:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSE LSE clock selected as MCO clock 1034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @if STM32L052xx 1035:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO clock 1036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L053xx 1037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO clock 1038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L062xx 1039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO clock 1040:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L063xx 1041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO clock 1042:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L072xx 1043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO clock 1044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L073xx 1045:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO clock 1046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L082xx 1047:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO clock 1048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @elseif STM32L083xx 1049:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO clock 1050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** @endif 1051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param RCC_MCODiv specifies the MCO DIV. 1052:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * This parameter can be one of the following values: 1053:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_1 no division applied to MCO clock 1054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_2 division by 2 applied to MCO clock 1055:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_4 division by 4 applied to MCO clock 1056:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_8 division by 8 applied to MCO clock 1057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_16 division by 16 applied to MCO clock 1058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval None 1059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv) ARM GAS /tmp/cchbc9tY.s page 20 1061:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** GPIO_InitTypeDef gpio = {0}; 1063:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1064:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 1065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_MCO(RCC_MCOx)); 1066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_MCODIV(RCC_MCODiv)); 1067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); 1068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Configure the MCO1 pin in alternate function mode */ 1070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Mode = GPIO_MODE_AF_PP; 1071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Speed = GPIO_SPEED_FREQ_HIGH; 1072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Pull = GPIO_NOPULL; 1073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(RCC_MCOx == RCC_MCO1) 1074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Pin = MCO1_PIN; 1076:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Alternate = GPIO_AF0_MCO; 1077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* MCO1 Clock Enable */ 1079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** MCO1_CLK_ENABLE(); 1080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_GPIO_Init(MCO1_GPIO_PORT, &gpio); 1081:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1082:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #if defined(STM32L031xx) || defined(STM32L041xx) || defined(STM32L073xx) || defined(STM32L083xx) \ 1083:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** || defined(STM32L072xx) || defined(STM32L082xx) || defined(STM32L071xx) || defined(STM32L081xx) 1084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else if (RCC_MCOx == RCC_MCO3) 1085:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Pin = MCO3_PIN; 1087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Alternate = GPIO_AF2_MCO; 1088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* MCO3 Clock Enable */ 1090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** MCO3_CLK_ENABLE(); 1091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_GPIO_Init(MCO3_GPIO_PORT, &gpio); 1092:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1093:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif 1094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Pin = MCO2_PIN; 1097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Alternate = GPIO_AF0_MCO; 1098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* MCO2 Clock Enable */ 1100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** MCO2_CLK_ENABLE(); 1101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_GPIO_Init(MCO2_GPIO_PORT, &gpio); 1102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Configure the MCO clock source */ 1105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_MCO1_CONFIG(RCC_MCOSource, RCC_MCODiv); 1106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #if defined(RCC_HSECSS_SUPPORT) 1109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Enables the Clock Security System. 1111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note If a failure is detected on the HSE oscillator clock, this oscillator 1112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * is automatically disabled and an interrupt is generated to inform the 1113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * software about the failure (Clock Security System Interrupt, CSSI), 1114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * allowing the MCU to perform rescue operations. The CSSI is linked to 1115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * the Cortex-M0+ NMI (Non-Maskable Interrupt) exception vector. 1116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval None 1117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ ARM GAS /tmp/cchbc9tY.s page 21 1118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** void HAL_RCC_EnableCSS(void) 1119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_CSSON) ; 1121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif /* RCC_HSECSS_SUPPORT */ 1124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Returns the SYSCLK frequency 1126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note The system frequency computed by this function is not the real 1127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * frequency in the chip. It is calculated based on the predefined 1128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * constant and the selected clock source: 1129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note If SYSCLK source is MSI, function returns a value based on MSI 1130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * Value as defined by the MSI range. 1131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note If SYSCLK source is HSI, function returns values based on HSI_VALUE(*) 1132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note If SYSCLK source is HSE, function returns a value based on HSE_VALUE(**) 1133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note If SYSCLK source is PLL, function returns a value based on HSE_VALUE(**) 1134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * or HSI_VALUE(*) multiplied/divided by the PLL factors. 1135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note (*) HSI_VALUE is a constant defined in stm32l0xx_hal_conf.h file (default value 1136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 16 MHz) but the real value may vary depending on the variations 1137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * in voltage and temperature. 1138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note (**) HSE_VALUE is a constant defined in stm32l0xx_hal_conf.h file (default value 1139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 8 MHz), user has to ensure that HSE_VALUE is same as the real 1140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * frequency of the crystal used. Otherwise, this function may 1141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * have wrong result. 1142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 1143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note The result of this function could be not correct when using fractional 1144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * value for HSE crystal. 1145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 1146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note This function can be used by the user application to compute the 1147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * baud-rate for the communication peripherals or configure other parameters. 1148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 1149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note Each time SYSCLK changes, this function must be called to update the 1150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * right SYSCLK value. Otherwise, any configuration based on this function will be incorre 1151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 1152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval SYSCLK frequency 1153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t HAL_RCC_GetSysClockFreq(void) 1155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t tmpreg = 0, pllm = 0, plld = 0, pllvco = 0, msiclkrange = 0; 1157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t sysclockfreq = 0; 1158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** tmpreg = RCC->CFGR; 1160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get SYSCLK source -------------------------------------------------------*/ 1162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** switch (tmpreg & RCC_CFGR_SWS) 1163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSI: /* HSI used as system clock source */ 1165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if ((RCC->CR & RCC_CR_HSIDIVF) != 0) 1167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** sysclockfreq = (HSI_VALUE >> 2); 1169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** sysclockfreq = HSI_VALUE; 1173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** break; ARM GAS /tmp/cchbc9tY.s page 22 1175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSE: /* HSE used as system clock */ 1177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** sysclockfreq = HSE_VALUE; 1179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** break; 1180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_PLLCLK: /* PLL used as system clock */ 1182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** pllm = PLLMulTable[(uint32_t)(tmpreg & RCC_CFGR_PLLMUL) >> RCC_CFGR_PLLMUL_BITNUMBER]; 1184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** plld = ((uint32_t)(tmpreg & RCC_CFGR_PLLDIV) >> RCC_CFGR_PLLDIV_BITNUMBER) + 1; 1185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLSOURCE_HSI) 1186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* HSE used as PLL clock source */ 1188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** pllvco = (HSE_VALUE * pllm) / plld; 1189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if ((RCC->CR & RCC_CR_HSIDIVF) != 0) 1193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** pllvco = ((HSI_VALUE >> 2) * pllm) / plld; 1195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** pllvco = (HSI_VALUE * pllm) / plld; 1199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** sysclockfreq = pllvco; 1202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** break; 1203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_MSI: /* MSI used as system clock source */ 1205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** default: /* MSI used as system clock */ 1206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** msiclkrange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE ) >> RCC_ICSCR_MSIRANGE_BITNUMBER; 1208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** sysclockfreq = (32768 * (1 << (msiclkrange + 1))); 1209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** break; 1210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return sysclockfreq; 1213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Returns the HCLK frequency 1217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note Each time HCLK changes, this function must be called to update the 1218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * right HCLK value. Otherwise, any configuration based on this function will be incorrect 1219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * 1220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency 1221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * and updated within this function 1222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval HCLK frequency 1223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t HAL_RCC_GetHCLKFreq(void) 1225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return SystemCoreClock; 1227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Returns the PCLK1 frequency 1231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note Each time PCLK1 changes, this function must be called to update the ARM GAS /tmp/cchbc9tY.s page 23 1232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * right PCLK1 value. Otherwise, any configuration based on this function will be incorrec 1233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval PCLK1 frequency 1234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK1Freq(void) 1236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ 1238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE1) >> RCC_CFGR_PPRE1_BIT 1239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Returns the PCLK2 frequency 1243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note Each time PCLK2 changes, this function must be called to update the 1244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * right PCLK2 value. Otherwise, any configuration based on this function will be incorrec 1245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval PCLK2 frequency 1246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK2Freq(void) 1248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ 1250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq()>> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE2) >> RCC_CFGR_PPRE2_BITN 1251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Configures the RCC_OscInitStruct according to the internal 1255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * RCC configuration registers. 1256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that 1257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * will be configured. 1258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval None 1259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) 1261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 1263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(RCC_OscInitStruct != NULL); 1264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Set all possible values for the Oscillator type parameter ---------------*/ 1266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI \ 1267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** | RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLATORTYPE_MSI; 1268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #if defined(RCC_HSI48_SUPPORT) 1269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->OscillatorType |= RCC_OSCILLATORTYPE_HSI48; 1270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */ 1271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the HSE configuration -----------------------------------------------*/ 1274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_HSEBYP) == RCC_CR_HSEBYP) 1275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS; 1277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else if((RCC->CR &RCC_CR_HSEON) == RCC_CR_HSEON) 1279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_ON; 1281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_OFF; 1285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the HSI configuration -----------------------------------------------*/ 1288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_HSION) == RCC_CR_HSION) ARM GAS /tmp/cchbc9tY.s page 24 1289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_ON; 1291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_OFF; 1295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->HSICalibrationValue = (uint32_t)((RCC->ICSCR & RCC_ICSCR_HSITRIM) >> 8); 1298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the MSI configuration -----------------------------------------------*/ 1300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_MSION) == RCC_CR_MSION) 1301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->MSIState = RCC_MSI_ON; 1303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->MSIState = RCC_MSI_OFF; 1307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->MSICalibrationValue = (uint32_t)((RCC->ICSCR & RCC_ICSCR_MSITRIM) >> RCC_ICSCR 1310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->MSIClockRange = (uint32_t)((RCC->ICSCR & RCC_ICSCR_MSIRANGE)); 1311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the LSE configuration -----------------------------------------------*/ 1313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((RCC->CSR &RCC_CSR_LSEBYP) == RCC_CSR_LSEBYP) 1314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS; 1316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else if((RCC->CSR &RCC_CSR_LSEON) == RCC_CSR_LSEON) 1318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_ON; 1320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_OFF; 1324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the LSI configuration -----------------------------------------------*/ 1327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((RCC->CSR &RCC_CSR_LSION) == RCC_CSR_LSION) 1328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_ON; 1330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_OFF; 1334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #if defined(RCC_HSI48_SUPPORT) 1337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the HSI48 configuration if any-----------------------------------------*/ 1338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->HSI48State = __HAL_RCC_GET_HSI48_STATE(); 1339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */ 1340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the PLL configuration -----------------------------------------------*/ 1342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_PLLON) == RCC_CR_PLLON) 1343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_ON; 1345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } ARM GAS /tmp/cchbc9tY.s page 25 1346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_OFF; 1349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLSource = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLSRC); 1351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLMUL); 1352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLDIV = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLDIV); 1353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Get the RCC_ClkInitStruct according to the internal 1357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * RCC configuration registers. 1358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_ClkInitTypeDef structure that 1359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * contains the current clock configuration. 1360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param pFLatency Pointer on the Flash Latency. 1361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval None 1362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency) 1364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 1366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(RCC_ClkInitStruct != NULL); 1367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** assert_param(pFLatency != NULL); 1368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Set all possible values for the Clock type parameter --------------------*/ 1370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_ClkInitStruct->ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | 1371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the SYSCLK configuration --------------------------------------------*/ 1373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_ClkInitStruct->SYSCLKSource = (uint32_t)(RCC->CFGR & RCC_CFGR_SW); 1374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the HCLK configuration ----------------------------------------------*/ 1376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_ClkInitStruct->AHBCLKDivider = (uint32_t)(RCC->CFGR & RCC_CFGR_HPRE); 1377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the APB1 configuration ----------------------------------------------*/ 1379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_ClkInitStruct->APB1CLKDivider = (uint32_t)(RCC->CFGR & RCC_CFGR_PPRE1); 1380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the APB2 configuration ----------------------------------------------*/ 1382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_ClkInitStruct->APB2CLKDivider = (uint32_t)((RCC->CFGR & RCC_CFGR_PPRE2) >> 3); 1383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get the Flash Wait State (Latency) configuration ------------------------*/ 1385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** *pFLatency = (uint32_t)(FLASH->ACR & FLASH_ACR_LATENCY); 1386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #if defined(RCC_HSECSS_SUPPORT) 1389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief This function handles the RCC CSS interrupt request. 1391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @note This API should be called under the NMI_Handler(). 1392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval None 1393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** void HAL_RCC_NMI_IRQHandler(void) 1395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check RCC CSSF flag */ 1397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(__HAL_RCC_GET_IT(RCC_IT_CSS)) 1398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* RCC Clock Security System interrupt user callback */ 1400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_RCC_CSSCallback(); 1401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Clear RCC CSS pending bit */ ARM GAS /tmp/cchbc9tY.s page 26 1403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_CLEAR_IT(RCC_IT_CSS); 1404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief RCC Clock Security System interrupt callback 1409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval none 1410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __weak void HAL_RCC_CSSCallback(void) 1412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** the HAL_RCC_CSSCallback could be implemented in the user file 1415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif /* RCC_HSECSS_SUPPORT */ 1419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @} 1421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @} 1425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Private function prototypes -----------------------------------------------*/ 1428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** @addtogroup RCC_Private_Functions 1429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @{ 1430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /** 1432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @brief Update number of Flash wait states in line with MSI range and current 1433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** voltage range 1434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @param MSIrange MSI range value from RCC_MSIRANGE_0 to RCC_MSIRANGE_6 1435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** * @retval HAL status 1436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** */ 1437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** static HAL_StatusTypeDef RCC_SetFlashLatencyFromMSIRange(uint32_t MSIrange) 1438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 25 .loc 1 1438 0 26 .cfi_startproc 27 @ args = 0, pretend = 0, frame = 0 28 @ frame_needed = 0, uses_anonymous_args = 0 29 .LVL0: 30 0000 30B5 push {r4, r5, lr} 31 .LCFI0: 32 .cfi_def_cfa_offset 12 33 .cfi_offset 4, -12 34 .cfi_offset 5, -8 35 .cfi_offset 14, -4 36 .LVL1: 1439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t vos = 0; 1440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t latency = FLASH_LATENCY_0; /* default value 0WS */ 1441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* HCLK can reach 4 MHz only if AHB prescaler = 1 */ 1443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if (READ_BIT(RCC->CFGR, RCC_CFGR_HPRE) == RCC_SYSCLK_DIV1) 37 .loc 1 1443 0 38 0002 1B4B ldr r3, .L9 39 0004 DB68 ldr r3, [r3, #12] 40 0006 F022 movs r2, #240 ARM GAS /tmp/cchbc9tY.s page 27 41 0008 1340 ands r3, r2 42 000a 22D1 bne .L6 1444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if(__HAL_RCC_PWR_IS_CLK_ENABLED()) 43 .loc 1 1445 0 44 000c 184A ldr r2, .L9 45 000e 926B ldr r2, [r2, #56] 46 0010 D200 lsls r2, r2, #3 47 0012 0ED5 bpl .L3 1446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** vos = READ_BIT(PWR->CR, PWR_CR_VOS); 48 .loc 1 1447 0 49 0014 174A ldr r2, .L9+4 50 0016 1268 ldr r2, [r2] 51 0018 C021 movs r1, #192 52 001a 4901 lsls r1, r1, #5 53 001c 0A40 ands r2, r1 54 .LVL2: 55 .L4: 1448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** else 1450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_ENABLE(); 1452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** vos = READ_BIT(PWR->CR, PWR_CR_VOS); 1453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_DISABLE(); 1454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check if need to set latency 1 only for Range 3 & HCLK = 4MHz */ 1457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((vos == PWR_REGULATOR_VOLTAGE_SCALE3) && (MSIrange == RCC_MSIRANGE_6)) 56 .loc 1 1457 0 57 001e C021 movs r1, #192 58 0020 4901 lsls r1, r1, #5 59 0022 8A42 cmp r2, r1 60 0024 16D1 bne .L2 61 .loc 1 1457 0 is_stmt 0 discriminator 1 62 0026 C022 movs r2, #192 63 .LVL3: 64 0028 1202 lsls r2, r2, #8 65 002a 9042 cmp r0, r2 66 002c 12D1 bne .L2 1458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** latency = FLASH_LATENCY_1; /* 1WS */ 67 .loc 1 1459 0 is_stmt 1 68 002e 0123 movs r3, #1 69 0030 10E0 b .L2 70 .LVL4: 71 .L3: 1451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** vos = READ_BIT(PWR->CR, PWR_CR_VOS); 72 .loc 1 1451 0 73 0032 0F49 ldr r1, .L9 74 0034 8C6B ldr r4, [r1, #56] 75 0036 8022 movs r2, #128 76 0038 5205 lsls r2, r2, #21 77 003a 2243 orrs r2, r4 78 003c 8A63 str r2, [r1, #56] 1452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_DISABLE(); 79 .loc 1 1452 0 ARM GAS /tmp/cchbc9tY.s page 28 80 003e 0D4A ldr r2, .L9+4 81 0040 1268 ldr r2, [r2] 82 0042 C024 movs r4, #192 83 0044 6401 lsls r4, r4, #5 84 0046 2240 ands r2, r4 85 .LVL5: 1453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 86 .loc 1 1453 0 87 0048 8C6B ldr r4, [r1, #56] 88 004a 0B4D ldr r5, .L9+8 89 004c 2C40 ands r4, r5 90 004e 8C63 str r4, [r1, #56] 91 0050 E5E7 b .L4 92 .LVL6: 93 .L6: 1440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 94 .loc 1 1440 0 95 0052 0023 movs r3, #0 96 .LVL7: 97 .L2: 1460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(latency); 98 .loc 1 1463 0 99 0054 0948 ldr r0, .L9+12 100 .LVL8: 101 0056 0268 ldr r2, [r0] 102 0058 0121 movs r1, #1 103 005a 8A43 bics r2, r1 104 005c 1A43 orrs r2, r3 105 005e 0260 str r2, [r0] 1464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash 1466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ 1467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if((FLASH->ACR & FLASH_ACR_LATENCY) != latency) 106 .loc 1 1467 0 107 0060 0268 ldr r2, [r0] 108 0062 1140 ands r1, r2 109 0064 9942 cmp r1, r3 110 0066 01D0 beq .L8 1468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_ERROR; 111 .loc 1 1469 0 112 0068 0120 movs r0, #1 113 .L5: 1470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return HAL_OK; 1473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 114 .loc 1 1473 0 115 @ sp needed 116 006a 30BD pop {r4, r5, pc} 117 .L8: 1472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 118 .loc 1 1472 0 119 006c 0020 movs r0, #0 ARM GAS /tmp/cchbc9tY.s page 29 120 006e FCE7 b .L5 121 .L10: 122 .align 2 123 .L9: 124 0070 00100240 .word 1073876992 125 0074 00700040 .word 1073770496 126 0078 FFFFFFEF .word -268435457 127 007c 00200240 .word 1073881088 128 .cfi_endproc 129 .LFE52: 131 .section .text.HAL_RCC_DeInit,"ax",%progbits 132 .align 1 133 .global HAL_RCC_DeInit 134 .syntax unified 135 .code 16 136 .thumb_func 137 .fpu softvfp 139 HAL_RCC_DeInit: 140 .LFB39: 272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** __IO uint32_t tmpreg; 141 .loc 1 272 0 142 .cfi_startproc 143 @ args = 0, pretend = 0, frame = 8 144 @ frame_needed = 0, uses_anonymous_args = 0 145 @ link register save eliminated. 146 0000 82B0 sub sp, sp, #8 147 .LCFI1: 148 .cfi_def_cfa_offset 8 276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 149 .loc 1 276 0 150 0002 174B ldr r3, .L12 151 0004 1968 ldr r1, [r3] 152 0006 8022 movs r2, #128 153 0008 5200 lsls r2, r2, #1 154 000a 0A43 orrs r2, r1 155 000c 1A60 str r2, [r3] 279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 156 .loc 1 279 0 157 000e DA68 ldr r2, [r3, #12] 158 0010 0321 movs r1, #3 159 0012 8A43 bics r2, r1 160 0014 DA60 str r2, [r3, #12] 283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_CR_HSEON | RCC_CR_CSSHSEON | RCC_CR_PLLON); 161 .loc 1 283 0 162 0016 1A68 ldr r2, [r3] 163 0018 1249 ldr r1, .L12+4 164 001a 0A40 ands r2, r1 165 001c 1A60 str r2, [r3] 294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** UNUSED(tmpreg); 166 .loc 1 294 0 167 001e 1A68 ldr r2, [r3] 168 0020 8021 movs r1, #128 169 0022 4902 lsls r1, r1, #9 170 0024 0A40 ands r2, r1 171 0026 0192 str r2, [sp, #4] 295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 172 .loc 1 295 0 ARM GAS /tmp/cchbc9tY.s page 30 173 0028 019A ldr r2, [sp, #4] 298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 174 .loc 1 298 0 175 002a 1A68 ldr r2, [r3] 176 002c 0E49 ldr r1, .L12+8 177 002e 0A40 ands r2, r1 178 0030 1A60 str r2, [r3] 301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 179 .loc 1 301 0 180 0032 0020 movs r0, #0 181 0034 D860 str r0, [r3, #12] 304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 182 .loc 1 304 0 183 0036 5A68 ldr r2, [r3, #4] 184 0038 0C49 ldr r1, .L12+12 185 003a 1140 ands r1, r2 186 003c A022 movs r2, #160 187 003e 1202 lsls r2, r2, #8 188 0040 0A43 orrs r2, r1 189 0042 5A60 str r2, [r3, #4] 307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 190 .loc 1 307 0 191 0044 5A68 ldr r2, [r3, #4] 192 0046 0A49 ldr r1, .L12+16 193 0048 1140 ands r1, r2 194 004a 8022 movs r2, #128 195 004c 5201 lsls r2, r2, #5 196 004e 0A43 orrs r2, r1 197 0050 5A60 str r2, [r3, #4] 310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 198 .loc 1 310 0 199 0052 1861 str r0, [r3, #16] 313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 200 .loc 1 313 0 201 0054 074B ldr r3, .L12+20 202 0056 084A ldr r2, .L12+24 203 0058 1A60 str r2, [r3] 314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 204 .loc 1 314 0 205 005a 02B0 add sp, sp, #8 206 @ sp needed 207 005c 7047 bx lr 208 .L13: 209 005e C046 .align 2 210 .L12: 211 0060 00100240 .word 1073876992 212 0064 D4FFF6FE .word -17367084 213 0068 FFFFFBFF .word -262145 214 006c FF1FFF00 .word 16719871 215 0070 FFE0FFFF .word -7937 216 0074 00000000 .word SystemCoreClock 217 0078 80841E00 .word 2000000 218 .cfi_endproc 219 .LFE39: 221 .section .text.HAL_RCC_OscConfig,"ax",%progbits 222 .align 1 223 .global HAL_RCC_OscConfig ARM GAS /tmp/cchbc9tY.s page 31 224 .syntax unified 225 .code 16 226 .thumb_func 227 .fpu softvfp 229 HAL_RCC_OscConfig: 230 .LFB40: 331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t tickstart = 0U; 231 .loc 1 331 0 232 .cfi_startproc 233 @ args = 0, pretend = 0, frame = 8 234 @ frame_needed = 0, uses_anonymous_args = 0 235 .LVL9: 236 0000 70B5 push {r4, r5, r6, lr} 237 .LCFI2: 238 .cfi_def_cfa_offset 16 239 .cfi_offset 4, -16 240 .cfi_offset 5, -12 241 .cfi_offset 6, -8 242 .cfi_offset 14, -4 243 0002 82B0 sub sp, sp, #8 244 .LCFI3: 245 .cfi_def_cfa_offset 24 246 0004 0400 movs r4, r0 247 .LVL10: 339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 248 .loc 1 339 0 249 0006 0368 ldr r3, [r0] 250 0008 DB07 lsls r3, r3, #31 251 000a 41D5 bpl .L15 345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_ 252 .loc 1 345 0 253 000c BB4B ldr r3, .L119 254 000e DA68 ldr r2, [r3, #12] 255 0010 0C23 movs r3, #12 256 0012 1340 ands r3, r2 257 0014 082B cmp r3, #8 258 0016 33D0 beq .L16 346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 259 .loc 1 346 0 260 0018 B84B ldr r3, .L119 261 001a DA68 ldr r2, [r3, #12] 262 001c 0C23 movs r3, #12 263 001e 1340 ands r3, r2 264 0020 0C2B cmp r3, #12 265 0022 29D0 beq .L104 266 .L17: 267 .LBB6: 356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 268 .loc 1 356 0 269 0024 6368 ldr r3, [r4, #4] 270 0026 8022 movs r2, #128 271 0028 5202 lsls r2, r2, #9 272 002a 9342 cmp r3, r2 273 002c 58D0 beq .L105 356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 274 .loc 1 356 0 is_stmt 0 discriminator 2 275 002e A022 movs r2, #160 ARM GAS /tmp/cchbc9tY.s page 32 276 0030 D202 lsls r2, r2, #11 277 0032 9342 cmp r3, r2 278 0034 5BD0 beq .L106 356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 279 .loc 1 356 0 discriminator 4 280 0036 B14B ldr r3, .L119 281 0038 1A68 ldr r2, [r3] 282 003a B149 ldr r1, .L119+4 283 003c 0A40 ands r2, r1 284 003e 1A60 str r2, [r3] 285 0040 1A68 ldr r2, [r3] 286 0042 8021 movs r1, #128 287 0044 4902 lsls r1, r1, #9 288 0046 0A40 ands r2, r1 289 0048 0192 str r2, [sp, #4] 290 004a 019A ldr r2, [sp, #4] 291 004c 1A68 ldr r2, [r3] 292 004e AD49 ldr r1, .L119+8 293 0050 0A40 ands r2, r1 294 0052 1A60 str r2, [r3] 295 .L20: 296 .LBE6: 360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 297 .loc 1 360 0 is_stmt 1 298 0054 6368 ldr r3, [r4, #4] 299 0056 002B cmp r3, #0 300 0058 55D0 beq .L22 363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 301 .loc 1 363 0 302 005a FFF7FEFF bl HAL_GetTick 303 .LVL11: 304 005e 0500 movs r5, r0 305 .LVL12: 306 .L23: 366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 307 .loc 1 366 0 308 0060 A64B ldr r3, .L119 309 0062 1B68 ldr r3, [r3] 310 0064 9B03 lsls r3, r3, #14 311 0066 13D4 bmi .L15 368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 312 .loc 1 368 0 313 0068 FFF7FEFF bl HAL_GetTick 314 .LVL13: 315 006c 401B subs r0, r0, r5 316 006e A64B ldr r3, .L119+12 317 0070 9842 cmp r0, r3 318 0072 F5D9 bls .L23 370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 319 .loc 1 370 0 320 0074 0320 movs r0, #3 321 0076 69E2 b .L18 322 .LVL14: 323 .L104: 346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 324 .loc 1 346 0 discriminator 1 325 0078 A04B ldr r3, .L119 ARM GAS /tmp/cchbc9tY.s page 33 326 007a DB68 ldr r3, [r3, #12] 327 007c DB03 lsls r3, r3, #15 328 007e D1D5 bpl .L17 329 .L16: 348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 330 .loc 1 348 0 331 0080 9E4B ldr r3, .L119 332 0082 1B68 ldr r3, [r3] 333 0084 9B03 lsls r3, r3, #14 334 0086 03D5 bpl .L15 348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 335 .loc 1 348 0 is_stmt 0 discriminator 1 336 0088 6368 ldr r3, [r4, #4] 337 008a 002B cmp r3, #0 338 008c 00D1 bne .LCB296 339 008e 56E2 b .L107 @long jump 340 .LCB296: 341 .LVL15: 342 .L15: 391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 343 .loc 1 391 0 is_stmt 1 344 0090 2368 ldr r3, [r4] 345 0092 9B07 lsls r3, r3, #30 346 0094 5BD5 bpl .L27 398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_ 347 .loc 1 398 0 348 0096 994B ldr r3, .L119 349 0098 DA68 ldr r2, [r3, #12] 350 009a 0C23 movs r3, #12 351 009c 1340 ands r3, r2 352 009e 042B cmp r3, #4 353 00a0 44D0 beq .L28 399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 354 .loc 1 399 0 355 00a2 964B ldr r3, .L119 356 00a4 DA68 ldr r2, [r3, #12] 357 00a6 0C23 movs r3, #12 358 00a8 1340 ands r3, r2 359 00aa 0C2B cmp r3, #12 360 00ac 3AD0 beq .L108 361 .L29: 416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 362 .loc 1 416 0 363 00ae E368 ldr r3, [r4, #12] 364 00b0 002B cmp r3, #0 365 00b2 00D1 bne .LCB321 366 00b4 AEE0 b .L31 @long jump 367 .LCB321: 419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 368 .loc 1 419 0 369 00b6 9149 ldr r1, .L119 370 00b8 0A68 ldr r2, [r1] 371 00ba 0920 movs r0, #9 372 00bc 8243 bics r2, r0 373 00be 1343 orrs r3, r2 374 00c0 0B60 str r3, [r1] 422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ARM GAS /tmp/cchbc9tY.s page 34 375 .loc 1 422 0 376 00c2 FFF7FEFF bl HAL_GetTick 377 .LVL16: 378 00c6 0500 movs r5, r0 379 .LVL17: 380 .L32: 425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 381 .loc 1 425 0 382 00c8 8C4B ldr r3, .L119 383 00ca 1B68 ldr r3, [r3] 384 00cc 5B07 lsls r3, r3, #29 385 00ce 00D5 bpl .LCB340 386 00d0 97E0 b .L109 @long jump 387 .LCB340: 427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 388 .loc 1 427 0 389 00d2 FFF7FEFF bl HAL_GetTick 390 .LVL18: 391 00d6 401B subs r0, r0, r5 392 00d8 0228 cmp r0, #2 393 00da F5D9 bls .L32 429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 394 .loc 1 429 0 395 00dc 0320 movs r0, #3 396 00de 35E2 b .L18 397 .LVL19: 398 .L105: 399 .LBB7: 356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 400 .loc 1 356 0 discriminator 1 401 00e0 864A ldr r2, .L119 402 00e2 1168 ldr r1, [r2] 403 00e4 8023 movs r3, #128 404 00e6 5B02 lsls r3, r3, #9 405 00e8 0B43 orrs r3, r1 406 00ea 1360 str r3, [r2] 407 00ec B2E7 b .L20 408 .L106: 356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 409 .loc 1 356 0 is_stmt 0 discriminator 3 410 00ee 834B ldr r3, .L119 411 00f0 1968 ldr r1, [r3] 412 00f2 8022 movs r2, #128 413 00f4 D202 lsls r2, r2, #11 414 00f6 0A43 orrs r2, r1 415 00f8 1A60 str r2, [r3] 416 00fa 1968 ldr r1, [r3] 417 00fc 8022 movs r2, #128 418 00fe 5202 lsls r2, r2, #9 419 0100 0A43 orrs r2, r1 420 0102 1A60 str r2, [r3] 421 0104 A6E7 b .L20 422 .L22: 423 .LBE7: 377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 424 .loc 1 377 0 is_stmt 1 425 0106 FFF7FEFF bl HAL_GetTick ARM GAS /tmp/cchbc9tY.s page 35 426 .LVL20: 427 010a 0500 movs r5, r0 428 .LVL21: 429 .L25: 380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 430 .loc 1 380 0 431 010c 7B4B ldr r3, .L119 432 010e 1B68 ldr r3, [r3] 433 0110 9B03 lsls r3, r3, #14 434 0112 BDD5 bpl .L15 382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 435 .loc 1 382 0 436 0114 FFF7FEFF bl HAL_GetTick 437 .LVL22: 438 0118 401B subs r0, r0, r5 439 011a 7B4B ldr r3, .L119+12 440 011c 9842 cmp r0, r3 441 011e F5D9 bls .L25 384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 442 .loc 1 384 0 443 0120 0320 movs r0, #3 444 0122 13E2 b .L18 445 .LVL23: 446 .L108: 399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 447 .loc 1 399 0 discriminator 1 448 0124 754B ldr r3, .L119 449 0126 DB68 ldr r3, [r3, #12] 450 0128 DB03 lsls r3, r3, #15 451 012a C0D4 bmi .L29 452 .L28: 402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 453 .loc 1 402 0 454 012c 734B ldr r3, .L119 455 012e 1B68 ldr r3, [r3] 456 0130 5B07 lsls r3, r3, #29 457 0132 04D5 bpl .L30 402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 458 .loc 1 402 0 is_stmt 0 discriminator 1 459 0134 E368 ldr r3, [r4, #12] 460 0136 012B cmp r3, #1 461 0138 01D0 beq .L30 404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 462 .loc 1 404 0 is_stmt 1 463 013a 0120 movs r0, #1 464 013c 06E2 b .L18 465 .L30: 410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 466 .loc 1 410 0 467 013e 6F49 ldr r1, .L119 468 0140 4B68 ldr r3, [r1, #4] 469 0142 724A ldr r2, .L119+16 470 0144 1340 ands r3, r2 471 0146 2269 ldr r2, [r4, #16] 472 0148 1202 lsls r2, r2, #8 473 014a 1343 orrs r3, r2 474 014c 4B60 str r3, [r1, #4] ARM GAS /tmp/cchbc9tY.s page 36 475 .L27: 456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 476 .loc 1 456 0 477 014e 2368 ldr r3, [r4] 478 0150 DB06 lsls r3, r3, #27 479 0152 3BD5 bpl .L36 459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 480 .loc 1 459 0 481 0154 694B ldr r3, .L119 482 0156 DB68 ldr r3, [r3, #12] 483 0158 0C22 movs r2, #12 484 015a 1A42 tst r2, r3 485 015c 00D0 beq .LCB454 486 015e 80E0 b .L37 @long jump 487 .LCB454: 461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 488 .loc 1 461 0 489 0160 664B ldr r3, .L119 490 0162 1B68 ldr r3, [r3] 491 0164 9B05 lsls r3, r3, #22 492 0166 03D5 bpl .L38 461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 493 .loc 1 461 0 is_stmt 0 discriminator 1 494 0168 E369 ldr r3, [r4, #28] 495 016a 002B cmp r3, #0 496 016c 00D1 bne .LCB464 497 016e E8E1 b .L86 @long jump 498 .LCB464: 499 .L38: 475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 500 .loc 1 475 0 is_stmt 1 501 0170 606A ldr r0, [r4, #36] 502 0172 624B ldr r3, .L119 503 0174 5B68 ldr r3, [r3, #4] 504 0176 E022 movs r2, #224 505 0178 1202 lsls r2, r2, #8 506 017a 1340 ands r3, r2 507 017c 9842 cmp r0, r3 508 017e 5CD9 bls .L39 478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 509 .loc 1 478 0 510 0180 FFF7FEFF bl RCC_SetFlashLatencyFromMSIRange 511 .LVL24: 512 0184 0028 cmp r0, #0 513 0186 00D0 beq .LCB477 514 0188 DDE1 b .L87 @long jump 515 .LCB477: 484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/ 516 .loc 1 484 0 517 018a 5C4A ldr r2, .L119 518 018c 5368 ldr r3, [r2, #4] 519 018e 6049 ldr r1, .L119+20 520 0190 0B40 ands r3, r1 521 0192 616A ldr r1, [r4, #36] 522 0194 0B43 orrs r3, r1 523 0196 5360 str r3, [r2, #4] 486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } ARM GAS /tmp/cchbc9tY.s page 37 524 .loc 1 486 0 525 0198 5368 ldr r3, [r2, #4] 526 019a 1B02 lsls r3, r3, #8 527 019c 1B0A lsrs r3, r3, #8 528 019e 216A ldr r1, [r4, #32] 529 01a0 0906 lsls r1, r1, #24 530 01a2 0B43 orrs r3, r1 531 01a4 5360 str r3, [r2, #4] 532 .L40: 504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** >> AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_BITNUMBER 533 .loc 1 504 0 534 01a6 636A ldr r3, [r4, #36] 535 01a8 5A0B lsrs r2, r3, #13 536 01aa 0132 adds r2, r2, #1 537 01ac 8023 movs r3, #128 538 01ae 1B02 lsls r3, r3, #8 539 01b0 9340 lsls r3, r3, r2 505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 540 .loc 1 505 0 541 01b2 524A ldr r2, .L119 542 01b4 D168 ldr r1, [r2, #12] 543 01b6 0909 lsrs r1, r1, #4 544 01b8 0F22 movs r2, #15 545 01ba 0A40 ands r2, r1 546 01bc 5549 ldr r1, .L119+24 547 01be 8A5C ldrb r2, [r1, r2] 548 01c0 D340 lsrs r3, r3, r2 504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** >> AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_BITNUMBER 549 .loc 1 504 0 550 01c2 554A ldr r2, .L119+28 551 01c4 1360 str r3, [r2] 508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 552 .loc 1 508 0 553 01c6 0320 movs r0, #3 554 01c8 FFF7FEFF bl HAL_InitTick 555 .LVL25: 556 .L36: 563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 557 .loc 1 563 0 558 01cc 2368 ldr r3, [r4] 559 01ce 1B07 lsls r3, r3, #28 560 01d0 00D4 bmi .LCB524 561 01d2 A5E0 b .L46 @long jump 562 .LCB524: 569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 563 .loc 1 569 0 564 01d4 6369 ldr r3, [r4, #20] 565 01d6 002B cmp r3, #0 566 01d8 7CD0 beq .L47 572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 567 .loc 1 572 0 568 01da 484A ldr r2, .L119 569 01dc 136D ldr r3, [r2, #80] 570 01de 0121 movs r1, #1 571 01e0 0B43 orrs r3, r1 572 01e2 1365 str r3, [r2, #80] 575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ARM GAS /tmp/cchbc9tY.s page 38 573 .loc 1 575 0 574 01e4 FFF7FEFF bl HAL_GetTick 575 .LVL26: 576 01e8 0500 movs r5, r0 577 .LVL27: 578 .L48: 578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 579 .loc 1 578 0 580 01ea 444B ldr r3, .L119 581 01ec 1B6D ldr r3, [r3, #80] 582 01ee 9B07 lsls r3, r3, #30 583 01f0 00D5 bpl .LCB546 584 01f2 95E0 b .L46 @long jump 585 .LCB546: 580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 586 .loc 1 580 0 587 01f4 FFF7FEFF bl HAL_GetTick 588 .LVL28: 589 01f8 401B subs r0, r0, r5 590 01fa 0228 cmp r0, #2 591 01fc F5D9 bls .L48 582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 592 .loc 1 582 0 593 01fe 0320 movs r0, #3 594 0200 A4E1 b .L18 595 .L109: 434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 596 .loc 1 434 0 597 0202 3E49 ldr r1, .L119 598 0204 4B68 ldr r3, [r1, #4] 599 0206 414A ldr r2, .L119+16 600 0208 1340 ands r3, r2 601 020a 2269 ldr r2, [r4, #16] 602 020c 1202 lsls r2, r2, #8 603 020e 1343 orrs r3, r2 604 0210 4B60 str r3, [r1, #4] 605 0212 9CE7 b .L27 606 .LVL29: 607 .L31: 439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 608 .loc 1 439 0 609 0214 394A ldr r2, .L119 610 0216 1368 ldr r3, [r2] 611 0218 0121 movs r1, #1 612 021a 8B43 bics r3, r1 613 021c 1360 str r3, [r2] 442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 614 .loc 1 442 0 615 021e FFF7FEFF bl HAL_GetTick 616 .LVL30: 617 0222 0500 movs r5, r0 618 .LVL31: 619 .L34: 445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 620 .loc 1 445 0 621 0224 354B ldr r3, .L119 622 0226 1B68 ldr r3, [r3] ARM GAS /tmp/cchbc9tY.s page 39 623 0228 5B07 lsls r3, r3, #29 624 022a 90D5 bpl .L27 447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 625 .loc 1 447 0 626 022c FFF7FEFF bl HAL_GetTick 627 .LVL32: 628 0230 401B subs r0, r0, r5 629 0232 0228 cmp r0, #2 630 0234 F6D9 bls .L34 449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 631 .loc 1 449 0 632 0236 0320 movs r0, #3 633 0238 88E1 b .L18 634 .LVL33: 635 .L39: 492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/ 636 .loc 1 492 0 637 023a 304A ldr r2, .L119 638 023c 5368 ldr r3, [r2, #4] 639 023e 3449 ldr r1, .L119+20 640 0240 0B40 ands r3, r1 641 0242 1843 orrs r0, r3 642 0244 5060 str r0, [r2, #4] 494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 643 .loc 1 494 0 644 0246 5368 ldr r3, [r2, #4] 645 0248 1B02 lsls r3, r3, #8 646 024a 1B0A lsrs r3, r3, #8 647 024c 216A ldr r1, [r4, #32] 648 024e 0906 lsls r1, r1, #24 649 0250 0B43 orrs r3, r1 650 0252 5360 str r3, [r2, #4] 497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 651 .loc 1 497 0 652 0254 606A ldr r0, [r4, #36] 653 0256 FFF7FEFF bl RCC_SetFlashLatencyFromMSIRange 654 .LVL34: 655 025a 0028 cmp r0, #0 656 025c A3D0 beq .L40 499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 657 .loc 1 499 0 658 025e 0120 movs r0, #1 659 0260 74E1 b .L18 660 .L37: 517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 661 .loc 1 517 0 662 0262 E369 ldr r3, [r4, #28] 663 0264 002B cmp r3, #0 664 0266 22D0 beq .L41 520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 665 .loc 1 520 0 666 0268 244A ldr r2, .L119 667 026a 1168 ldr r1, [r2] 668 026c 8023 movs r3, #128 669 026e 5B00 lsls r3, r3, #1 670 0270 0B43 orrs r3, r1 671 0272 1360 str r3, [r2] ARM GAS /tmp/cchbc9tY.s page 40 523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 672 .loc 1 523 0 673 0274 FFF7FEFF bl HAL_GetTick 674 .LVL35: 675 0278 0500 movs r5, r0 676 .LVL36: 677 .L42: 526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 678 .loc 1 526 0 679 027a 204B ldr r3, .L119 680 027c 1B68 ldr r3, [r3] 681 027e 9B05 lsls r3, r3, #22 682 0280 06D4 bmi .L110 528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 683 .loc 1 528 0 684 0282 FFF7FEFF bl HAL_GetTick 685 .LVL37: 686 0286 401B subs r0, r0, r5 687 0288 0228 cmp r0, #2 688 028a F6D9 bls .L42 530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 689 .loc 1 530 0 690 028c 0320 movs r0, #3 691 028e 5DE1 b .L18 692 .L110: 538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/ 693 .loc 1 538 0 694 0290 1A4A ldr r2, .L119 695 0292 5368 ldr r3, [r2, #4] 696 0294 1E49 ldr r1, .L119+20 697 0296 0B40 ands r3, r1 698 0298 616A ldr r1, [r4, #36] 699 029a 0B43 orrs r3, r1 700 029c 5360 str r3, [r2, #4] 540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 701 .loc 1 540 0 702 029e 5368 ldr r3, [r2, #4] 703 02a0 1B02 lsls r3, r3, #8 704 02a2 1B0A lsrs r3, r3, #8 705 02a4 216A ldr r1, [r4, #32] 706 02a6 0906 lsls r1, r1, #24 707 02a8 0B43 orrs r3, r1 708 02aa 5360 str r3, [r2, #4] 709 02ac 8EE7 b .L36 710 .LVL38: 711 .L41: 546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 712 .loc 1 546 0 713 02ae 134A ldr r2, .L119 714 02b0 1368 ldr r3, [r2] 715 02b2 1A49 ldr r1, .L119+32 716 02b4 0B40 ands r3, r1 717 02b6 1360 str r3, [r2] 549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 718 .loc 1 549 0 719 02b8 FFF7FEFF bl HAL_GetTick 720 .LVL39: ARM GAS /tmp/cchbc9tY.s page 41 721 02bc 0500 movs r5, r0 722 .LVL40: 723 .L44: 552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 724 .loc 1 552 0 725 02be 0F4B ldr r3, .L119 726 02c0 1B68 ldr r3, [r3] 727 02c2 9B05 lsls r3, r3, #22 728 02c4 82D5 bpl .L36 554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 729 .loc 1 554 0 730 02c6 FFF7FEFF bl HAL_GetTick 731 .LVL41: 732 02ca 401B subs r0, r0, r5 733 02cc 0228 cmp r0, #2 734 02ce F6D9 bls .L44 556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 735 .loc 1 556 0 736 02d0 0320 movs r0, #3 737 02d2 3BE1 b .L18 738 .LVL42: 739 .L47: 589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 740 .loc 1 589 0 741 02d4 094A ldr r2, .L119 742 02d6 136D ldr r3, [r2, #80] 743 02d8 0121 movs r1, #1 744 02da 8B43 bics r3, r1 745 02dc 1365 str r3, [r2, #80] 592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 746 .loc 1 592 0 747 02de FFF7FEFF bl HAL_GetTick 748 .LVL43: 749 02e2 0500 movs r5, r0 750 .LVL44: 751 .L50: 595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 752 .loc 1 595 0 753 02e4 054B ldr r3, .L119 754 02e6 1B6D ldr r3, [r3, #80] 755 02e8 9B07 lsls r3, r3, #30 756 02ea 19D5 bpl .L46 597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 757 .loc 1 597 0 758 02ec FFF7FEFF bl HAL_GetTick 759 .LVL45: 760 02f0 401B subs r0, r0, r5 761 02f2 0228 cmp r0, #2 762 02f4 F6D9 bls .L50 599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 763 .loc 1 599 0 764 02f6 0320 movs r0, #3 765 02f8 28E1 b .L18 766 .L120: 767 02fa C046 .align 2 768 .L119: 769 02fc 00100240 .word 1073876992 ARM GAS /tmp/cchbc9tY.s page 42 770 0300 FFFFFEFF .word -65537 771 0304 FFFFFBFF .word -262145 772 0308 88130000 .word 5000 773 030c FFE0FFFF .word -7937 774 0310 FF1FFFFF .word -57345 775 0314 00000000 .word AHBPrescTable 776 0318 00000000 .word SystemCoreClock 777 031c FFFEFFFF .word -257 778 .LVL46: 779 .L46: 605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 780 .loc 1 605 0 781 0320 2368 ldr r3, [r4] 782 0322 5B07 lsls r3, r3, #29 783 0324 78D5 bpl .L52 784 .LVL47: 785 .LBB8: 614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 786 .loc 1 614 0 787 0326 8B4B ldr r3, .L121 788 0328 9B6B ldr r3, [r3, #56] 789 032a DB00 lsls r3, r3, #3 790 032c 1BD4 bmi .L93 616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** pwrclkchanged = SET; 791 .loc 1 616 0 792 032e 894A ldr r2, .L121 793 0330 916B ldr r1, [r2, #56] 794 0332 8023 movs r3, #128 795 0334 5B05 lsls r3, r3, #21 796 0336 0B43 orrs r3, r1 797 0338 9363 str r3, [r2, #56] 798 .LVL48: 617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 799 .loc 1 617 0 800 033a 0125 movs r5, #1 801 .LVL49: 802 .L53: 620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 803 .loc 1 620 0 804 033c 864B ldr r3, .L121+4 805 033e 1B68 ldr r3, [r3] 806 0340 DB05 lsls r3, r3, #23 807 0342 12D5 bpl .L111 808 .L54: 638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the LSE State */ 809 .loc 1 638 0 810 0344 A368 ldr r3, [r4, #8] 811 0346 8022 movs r2, #128 812 0348 5200 lsls r2, r2, #1 813 034a 9342 cmp r3, r2 814 034c 21D0 beq .L112 638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the LSE State */ 815 .loc 1 638 0 is_stmt 0 discriminator 2 816 034e 002B cmp r3, #0 817 0350 37D1 bne .L59 638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the LSE State */ 818 .loc 1 638 0 discriminator 3 ARM GAS /tmp/cchbc9tY.s page 43 819 0352 804B ldr r3, .L121 820 0354 1A6D ldr r2, [r3, #80] 821 0356 8149 ldr r1, .L121+8 822 0358 0A40 ands r2, r1 823 035a 1A65 str r2, [r3, #80] 824 035c 1A6D ldr r2, [r3, #80] 825 035e 8049 ldr r1, .L121+12 826 0360 0A40 ands r2, r1 827 0362 1A65 str r2, [r3, #80] 828 0364 1BE0 b .L58 829 .LVL50: 830 .L93: 607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 831 .loc 1 607 0 is_stmt 1 832 0366 0025 movs r5, #0 833 0368 E8E7 b .L53 834 .LVL51: 835 .L111: 623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 836 .loc 1 623 0 837 036a 7B4A ldr r2, .L121+4 838 036c 1168 ldr r1, [r2] 839 036e 8023 movs r3, #128 840 0370 5B00 lsls r3, r3, #1 841 0372 0B43 orrs r3, r1 842 0374 1360 str r3, [r2] 626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 843 .loc 1 626 0 844 0376 FFF7FEFF bl HAL_GetTick 845 .LVL52: 846 037a 0600 movs r6, r0 847 .LVL53: 848 .L55: 628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 849 .loc 1 628 0 850 037c 764B ldr r3, .L121+4 851 037e 1B68 ldr r3, [r3] 852 0380 DB05 lsls r3, r3, #23 853 0382 DFD4 bmi .L54 630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 854 .loc 1 630 0 855 0384 FFF7FEFF bl HAL_GetTick 856 .LVL54: 857 0388 801B subs r0, r0, r6 858 038a 6428 cmp r0, #100 859 038c F6D9 bls .L55 632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 860 .loc 1 632 0 861 038e 0320 movs r0, #3 862 0390 DCE0 b .L18 863 .LVL55: 864 .L112: 638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the LSE State */ 865 .loc 1 638 0 discriminator 1 866 0392 704A ldr r2, .L121 867 0394 116D ldr r1, [r2, #80] 868 0396 8023 movs r3, #128 ARM GAS /tmp/cchbc9tY.s page 44 869 0398 5B00 lsls r3, r3, #1 870 039a 0B43 orrs r3, r1 871 039c 1365 str r3, [r2, #80] 872 .L58: 640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 873 .loc 1 640 0 874 039e A368 ldr r3, [r4, #8] 875 03a0 002B cmp r3, #0 876 03a2 28D0 beq .L61 643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 877 .loc 1 643 0 878 03a4 FFF7FEFF bl HAL_GetTick 879 .LVL56: 880 03a8 0600 movs r6, r0 881 .LVL57: 882 .L62: 646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 883 .loc 1 646 0 884 03aa 6A4B ldr r3, .L121 885 03ac 1B6D ldr r3, [r3, #80] 886 03ae 9B05 lsls r3, r3, #22 887 03b0 30D4 bmi .L64 648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 888 .loc 1 648 0 889 03b2 FFF7FEFF bl HAL_GetTick 890 .LVL58: 891 03b6 801B subs r0, r0, r6 892 03b8 6A4B ldr r3, .L121+16 893 03ba 9842 cmp r0, r3 894 03bc F5D9 bls .L62 650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 895 .loc 1 650 0 896 03be 0320 movs r0, #3 897 03c0 C4E0 b .L18 898 .LVL59: 899 .L59: 638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the LSE State */ 900 .loc 1 638 0 discriminator 4 901 03c2 A022 movs r2, #160 902 03c4 D200 lsls r2, r2, #3 903 03c6 9342 cmp r3, r2 904 03c8 09D0 beq .L113 638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the LSE State */ 905 .loc 1 638 0 is_stmt 0 discriminator 6 906 03ca 624B ldr r3, .L121 907 03cc 1A6D ldr r2, [r3, #80] 908 03ce 6349 ldr r1, .L121+8 909 03d0 0A40 ands r2, r1 910 03d2 1A65 str r2, [r3, #80] 911 03d4 1A6D ldr r2, [r3, #80] 912 03d6 6249 ldr r1, .L121+12 913 03d8 0A40 ands r2, r1 914 03da 1A65 str r2, [r3, #80] 915 03dc DFE7 b .L58 916 .L113: 638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the LSE State */ 917 .loc 1 638 0 discriminator 5 ARM GAS /tmp/cchbc9tY.s page 45 918 03de 5D4B ldr r3, .L121 919 03e0 196D ldr r1, [r3, #80] 920 03e2 013A subs r2, r2, #1 921 03e4 FF3A subs r2, r2, #255 922 03e6 0A43 orrs r2, r1 923 03e8 1A65 str r2, [r3, #80] 924 03ea 196D ldr r1, [r3, #80] 925 03ec 8022 movs r2, #128 926 03ee 5200 lsls r2, r2, #1 927 03f0 0A43 orrs r2, r1 928 03f2 1A65 str r2, [r3, #80] 929 03f4 D3E7 b .L58 930 .L61: 657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 931 .loc 1 657 0 is_stmt 1 932 03f6 FFF7FEFF bl HAL_GetTick 933 .LVL60: 934 03fa 0600 movs r6, r0 935 .LVL61: 936 .L65: 660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 937 .loc 1 660 0 938 03fc 554B ldr r3, .L121 939 03fe 1B6D ldr r3, [r3, #80] 940 0400 9B05 lsls r3, r3, #22 941 0402 07D5 bpl .L64 662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 942 .loc 1 662 0 943 0404 FFF7FEFF bl HAL_GetTick 944 .LVL62: 945 0408 801B subs r0, r0, r6 946 040a 564B ldr r3, .L121+16 947 040c 9842 cmp r0, r3 948 040e F5D9 bls .L65 664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 949 .loc 1 664 0 950 0410 0320 movs r0, #3 951 0412 9BE0 b .L18 952 .L64: 670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 953 .loc 1 670 0 954 0414 012D cmp r5, #1 955 0416 21D0 beq .L114 956 .LVL63: 957 .L52: 958 .LBE8: 678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 959 .loc 1 678 0 960 0418 2368 ldr r3, [r4] 961 041a 9B06 lsls r3, r3, #26 962 041c 3CD5 bpl .L67 684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 963 .loc 1 684 0 964 041e A369 ldr r3, [r4, #24] 965 0420 002B cmp r3, #0 966 0422 21D0 beq .L68 687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** ARM GAS /tmp/cchbc9tY.s page 46 967 .loc 1 687 0 968 0424 4B4B ldr r3, .L121 969 0426 9968 ldr r1, [r3, #8] 970 0428 0120 movs r0, #1 971 042a 0143 orrs r1, r0 972 042c 9960 str r1, [r3, #8] 973 042e 5A6B ldr r2, [r3, #52] 974 0430 0243 orrs r2, r0 975 0432 5A63 str r2, [r3, #52] 976 0434 4C4A ldr r2, .L121+20 977 0436 116A ldr r1, [r2, #32] 978 0438 8023 movs r3, #128 979 043a 9B01 lsls r3, r3, #6 980 043c 0B43 orrs r3, r1 981 043e 1362 str r3, [r2, #32] 690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 982 .loc 1 690 0 983 0440 FFF7FEFF bl HAL_GetTick 984 .LVL64: 985 0444 0500 movs r5, r0 986 .LVL65: 987 .L69: 693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 988 .loc 1 693 0 989 0446 434B ldr r3, .L121 990 0448 9B68 ldr r3, [r3, #8] 991 044a 9B07 lsls r3, r3, #30 992 044c 24D4 bmi .L67 695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 993 .loc 1 695 0 994 044e FFF7FEFF bl HAL_GetTick 995 .LVL66: 996 0452 401B subs r0, r0, r5 997 0454 0228 cmp r0, #2 998 0456 F6D9 bls .L69 697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 999 .loc 1 697 0 1000 0458 0320 movs r0, #3 1001 045a 77E0 b .L18 1002 .LVL67: 1003 .L114: 1004 .LBB9: 672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1005 .loc 1 672 0 1006 045c 3D4A ldr r2, .L121 1007 045e 936B ldr r3, [r2, #56] 1008 0460 4249 ldr r1, .L121+24 1009 0462 0B40 ands r3, r1 1010 0464 9363 str r3, [r2, #56] 1011 0466 D7E7 b .L52 1012 .LVL68: 1013 .L68: 1014 .LBE9: 704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1015 .loc 1 704 0 1016 0468 3A4A ldr r2, .L121 1017 046a 9368 ldr r3, [r2, #8] ARM GAS /tmp/cchbc9tY.s page 47 1018 046c 0121 movs r1, #1 1019 046e 8B43 bics r3, r1 1020 0470 9360 str r3, [r2, #8] 1021 0472 3D4A ldr r2, .L121+20 1022 0474 136A ldr r3, [r2, #32] 1023 0476 3E49 ldr r1, .L121+28 1024 0478 0B40 ands r3, r1 1025 047a 1362 str r3, [r2, #32] 707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1026 .loc 1 707 0 1027 047c FFF7FEFF bl HAL_GetTick 1028 .LVL69: 1029 0480 0500 movs r5, r0 1030 .LVL70: 1031 .L71: 710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1032 .loc 1 710 0 1033 0482 344B ldr r3, .L121 1034 0484 9B68 ldr r3, [r3, #8] 1035 0486 9B07 lsls r3, r3, #30 1036 0488 06D5 bpl .L67 712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1037 .loc 1 712 0 1038 048a FFF7FEFF bl HAL_GetTick 1039 .LVL71: 1040 048e 401B subs r0, r0, r5 1041 0490 0228 cmp r0, #2 1042 0492 F6D9 bls .L71 714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1043 .loc 1 714 0 1044 0494 0320 movs r0, #3 1045 0496 59E0 b .L18 1046 .LVL72: 1047 .L67: 724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1048 .loc 1 724 0 1049 0498 A36A ldr r3, [r4, #40] 1050 049a 002B cmp r3, #0 1051 049c 55D0 beq .L99 727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1052 .loc 1 727 0 1053 049e 2D4A ldr r2, .L121 1054 04a0 D168 ldr r1, [r2, #12] 1055 04a2 0C22 movs r2, #12 1056 04a4 0A40 ands r2, r1 1057 04a6 0C2A cmp r2, #12 1058 04a8 52D0 beq .L100 729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1059 .loc 1 729 0 1060 04aa 022B cmp r3, #2 1061 04ac 12D0 beq .L115 773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1062 .loc 1 773 0 1063 04ae 294A ldr r2, .L121 1064 04b0 1368 ldr r3, [r2] 1065 04b2 3049 ldr r1, .L121+32 1066 04b4 0B40 ands r3, r1 ARM GAS /tmp/cchbc9tY.s page 48 1067 04b6 1360 str r3, [r2] 776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1068 .loc 1 776 0 1069 04b8 FFF7FEFF bl HAL_GetTick 1070 .LVL73: 1071 04bc 0400 movs r4, r0 1072 .LVL74: 1073 .L78: 779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1074 .loc 1 779 0 1075 04be 254B ldr r3, .L121 1076 04c0 1B68 ldr r3, [r3] 1077 04c2 9B01 lsls r3, r3, #6 1078 04c4 39D5 bpl .L116 781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1079 .loc 1 781 0 1080 04c6 FFF7FEFF bl HAL_GetTick 1081 .LVL75: 1082 04ca 001B subs r0, r0, r4 1083 04cc 0228 cmp r0, #2 1084 04ce F6D9 bls .L78 783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1085 .loc 1 783 0 1086 04d0 0320 movs r0, #3 1087 04d2 3BE0 b .L18 1088 .LVL76: 1089 .L115: 737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1090 .loc 1 737 0 1091 04d4 1F4A ldr r2, .L121 1092 04d6 1368 ldr r3, [r2] 1093 04d8 2649 ldr r1, .L121+32 1094 04da 0B40 ands r3, r1 1095 04dc 1360 str r3, [r2] 740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1096 .loc 1 740 0 1097 04de FFF7FEFF bl HAL_GetTick 1098 .LVL77: 1099 04e2 0500 movs r5, r0 1100 .LVL78: 1101 .L74: 743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1102 .loc 1 743 0 1103 04e4 1B4B ldr r3, .L121 1104 04e6 1B68 ldr r3, [r3] 1105 04e8 9B01 lsls r3, r3, #6 1106 04ea 06D5 bpl .L117 745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1107 .loc 1 745 0 1108 04ec FFF7FEFF bl HAL_GetTick 1109 .LVL79: 1110 04f0 401B subs r0, r0, r5 1111 04f2 0228 cmp r0, #2 1112 04f4 F6D9 bls .L74 747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1113 .loc 1 747 0 1114 04f6 0320 movs r0, #3 ARM GAS /tmp/cchbc9tY.s page 49 1115 04f8 28E0 b .L18 1116 .L117: 752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL, 1117 .loc 1 752 0 1118 04fa 1649 ldr r1, .L121 1119 04fc CB68 ldr r3, [r1, #12] 1120 04fe 1E4A ldr r2, .L121+36 1121 0500 1340 ands r3, r2 1122 0502 E26A ldr r2, [r4, #44] 1123 0504 206B ldr r0, [r4, #48] 1124 0506 0243 orrs r2, r0 1125 0508 606B ldr r0, [r4, #52] 1126 050a 0243 orrs r2, r0 1127 050c 1343 orrs r3, r2 1128 050e CB60 str r3, [r1, #12] 756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1129 .loc 1 756 0 1130 0510 0A68 ldr r2, [r1] 1131 0512 8023 movs r3, #128 1132 0514 5B04 lsls r3, r3, #17 1133 0516 1343 orrs r3, r2 1134 0518 0B60 str r3, [r1] 759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1135 .loc 1 759 0 1136 051a FFF7FEFF bl HAL_GetTick 1137 .LVL80: 1138 051e 0400 movs r4, r0 1139 .LVL81: 1140 .L76: 762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1141 .loc 1 762 0 1142 0520 0C4B ldr r3, .L121 1143 0522 1B68 ldr r3, [r3] 1144 0524 9B01 lsls r3, r3, #6 1145 0526 06D4 bmi .L118 764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1146 .loc 1 764 0 1147 0528 FFF7FEFF bl HAL_GetTick 1148 .LVL82: 1149 052c 001B subs r0, r0, r4 1150 052e 0228 cmp r0, #2 1151 0530 F6D9 bls .L76 766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1152 .loc 1 766 0 1153 0532 0320 movs r0, #3 1154 0534 0AE0 b .L18 1155 .L118: 794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1156 .loc 1 794 0 1157 0536 0020 movs r0, #0 1158 0538 08E0 b .L18 1159 .L116: 1160 053a 0020 movs r0, #0 1161 053c 06E0 b .L18 1162 .LVL83: 1163 .L107: 350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } ARM GAS /tmp/cchbc9tY.s page 50 1164 .loc 1 350 0 1165 053e 0120 movs r0, #1 1166 .LVL84: 1167 0540 04E0 b .L18 1168 .LVL85: 1169 .L86: 463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1170 .loc 1 463 0 1171 0542 0120 movs r0, #1 1172 0544 02E0 b .L18 1173 .L87: 480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1174 .loc 1 480 0 1175 0546 0120 movs r0, #1 1176 0548 00E0 b .L18 1177 .L99: 794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1178 .loc 1 794 0 1179 054a 0020 movs r0, #0 1180 .LVL86: 1181 .L18: 795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1182 .loc 1 795 0 1183 054c 02B0 add sp, sp, #8 1184 @ sp needed 1185 054e 70BD pop {r4, r5, r6, pc} 1186 .LVL87: 1187 .L100: 790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1188 .loc 1 790 0 1189 0550 0120 movs r0, #1 1190 0552 FBE7 b .L18 1191 .L122: 1192 .align 2 1193 .L121: 1194 0554 00100240 .word 1073876992 1195 0558 00700040 .word 1073770496 1196 055c FFFEFFFF .word -257 1197 0560 FFFBFFFF .word -1025 1198 0564 88130000 .word 5000 1199 0568 00000140 .word 1073807360 1200 056c FFFFFFEF .word -268435457 1201 0570 FFDFFFFF .word -8193 1202 0574 FFFFFFFE .word -16777217 1203 0578 FFFF02FF .word -16580609 1204 .cfi_endproc 1205 .LFE40: 1207 .section .text.HAL_RCC_MCOConfig,"ax",%progbits 1208 .align 1 1209 .global HAL_RCC_MCOConfig 1210 .syntax unified 1211 .code 16 1212 .thumb_func 1213 .fpu softvfp 1215 HAL_RCC_MCOConfig: 1216 .LFB42: 1061:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** GPIO_InitTypeDef gpio = {0}; ARM GAS /tmp/cchbc9tY.s page 51 1217 .loc 1 1061 0 1218 .cfi_startproc 1219 @ args = 0, pretend = 0, frame = 32 1220 @ frame_needed = 0, uses_anonymous_args = 0 1221 .LVL88: 1222 0000 70B5 push {r4, r5, r6, lr} 1223 .LCFI4: 1224 .cfi_def_cfa_offset 16 1225 .cfi_offset 4, -16 1226 .cfi_offset 5, -12 1227 .cfi_offset 6, -8 1228 .cfi_offset 14, -4 1229 0002 88B0 sub sp, sp, #32 1230 .LCFI5: 1231 .cfi_def_cfa_offset 48 1232 0004 0500 movs r5, r0 1233 0006 0C00 movs r4, r1 1234 0008 1600 movs r6, r2 1062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1235 .loc 1 1062 0 1236 000a 1422 movs r2, #20 1237 .LVL89: 1238 000c 0021 movs r1, #0 1239 .LVL90: 1240 000e 03A8 add r0, sp, #12 1241 .LVL91: 1242 0010 FFF7FEFF bl memset 1243 .LVL92: 1070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Speed = GPIO_SPEED_FREQ_HIGH; 1244 .loc 1 1070 0 1245 0014 0223 movs r3, #2 1246 0016 0493 str r3, [sp, #16] 1071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Pull = GPIO_NOPULL; 1247 .loc 1 1071 0 1248 0018 0693 str r3, [sp, #24] 1073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1249 .loc 1 1073 0 1250 001a 002D cmp r5, #0 1251 001c 1BD0 beq .L127 1084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1252 .loc 1 1084 0 1253 001e 022D cmp r5, #2 1254 0020 2AD0 beq .L128 1096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Alternate = GPIO_AF0_MCO; 1255 .loc 1 1096 0 1256 0022 8023 movs r3, #128 1257 0024 9B00 lsls r3, r3, #2 1258 0026 0393 str r3, [sp, #12] 1259 .LBB10: 1100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_GPIO_Init(MCO2_GPIO_PORT, &gpio); 1260 .loc 1 1100 0 1261 0028 1C4A ldr r2, .L129 1262 002a D16A ldr r1, [r2, #44] 1263 002c 0123 movs r3, #1 1264 002e 1943 orrs r1, r3 1265 0030 D162 str r1, [r2, #44] 1266 0032 D26A ldr r2, [r2, #44] ARM GAS /tmp/cchbc9tY.s page 52 1267 0034 1340 ands r3, r2 1268 0036 0293 str r3, [sp, #8] 1269 0038 029B ldr r3, [sp, #8] 1270 .LBE10: 1101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1271 .loc 1 1101 0 1272 003a A020 movs r0, #160 1273 003c 03A9 add r1, sp, #12 1274 003e C005 lsls r0, r0, #23 1275 0040 FFF7FEFF bl HAL_GPIO_Init 1276 .LVL93: 1277 .L125: 1105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1278 .loc 1 1105 0 1279 0044 154B ldr r3, .L129 1280 0046 DA68 ldr r2, [r3, #12] 1281 0048 1549 ldr r1, .L129+4 1282 004a 0A40 ands r2, r1 1283 004c 3443 orrs r4, r6 1284 .LVL94: 1285 004e 2243 orrs r2, r4 1286 0050 DA60 str r2, [r3, #12] 1106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1287 .loc 1 1106 0 1288 0052 08B0 add sp, sp, #32 1289 @ sp needed 1290 .LVL95: 1291 .LVL96: 1292 0054 70BD pop {r4, r5, r6, pc} 1293 .LVL97: 1294 .L127: 1075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Alternate = GPIO_AF0_MCO; 1295 .loc 1 1075 0 1296 0056 FE33 adds r3, r3, #254 1297 0058 0393 str r3, [sp, #12] 1298 .LBB11: 1079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_GPIO_Init(MCO1_GPIO_PORT, &gpio); 1299 .loc 1 1079 0 1300 005a 104A ldr r2, .L129 1301 005c D16A ldr r1, [r2, #44] 1302 005e FF3B subs r3, r3, #255 1303 0060 1943 orrs r1, r3 1304 0062 D162 str r1, [r2, #44] 1305 0064 D26A ldr r2, [r2, #44] 1306 0066 1340 ands r3, r2 1307 0068 0093 str r3, [sp] 1308 006a 009B ldr r3, [sp] 1309 .LBE11: 1080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1310 .loc 1 1080 0 1311 006c A020 movs r0, #160 1312 006e 03A9 add r1, sp, #12 1313 0070 C005 lsls r0, r0, #23 1314 0072 FFF7FEFF bl HAL_GPIO_Init 1315 .LVL98: 1316 0076 E5E7 b .L125 1317 .L128: ARM GAS /tmp/cchbc9tY.s page 53 1086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** gpio.Alternate = GPIO_AF2_MCO; 1318 .loc 1 1086 0 1319 0078 8023 movs r3, #128 1320 007a 9B01 lsls r3, r3, #6 1321 007c 0393 str r3, [sp, #12] 1087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1322 .loc 1 1087 0 1323 007e 0223 movs r3, #2 1324 0080 0793 str r3, [sp, #28] 1325 .LBB12: 1090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** HAL_GPIO_Init(MCO3_GPIO_PORT, &gpio); 1326 .loc 1 1090 0 1327 0082 064A ldr r2, .L129 1328 0084 D16A ldr r1, [r2, #44] 1329 0086 1943 orrs r1, r3 1330 0088 D162 str r1, [r2, #44] 1331 008a D26A ldr r2, [r2, #44] 1332 008c 1340 ands r3, r2 1333 008e 0193 str r3, [sp, #4] 1334 0090 019B ldr r3, [sp, #4] 1335 .LBE12: 1091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1336 .loc 1 1091 0 1337 0092 03A9 add r1, sp, #12 1338 0094 0348 ldr r0, .L129+8 1339 0096 FFF7FEFF bl HAL_GPIO_Init 1340 .LVL99: 1341 009a D3E7 b .L125 1342 .L130: 1343 .align 2 1344 .L129: 1345 009c 00100240 .word 1073876992 1346 00a0 FFFFFF80 .word -2130706433 1347 00a4 00040050 .word 1342178304 1348 .cfi_endproc 1349 .LFE42: 1351 .section .text.HAL_RCC_EnableCSS,"ax",%progbits 1352 .align 1 1353 .global HAL_RCC_EnableCSS 1354 .syntax unified 1355 .code 16 1356 .thumb_func 1357 .fpu softvfp 1359 HAL_RCC_EnableCSS: 1360 .LFB43: 1119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_CSSON) ; 1361 .loc 1 1119 0 1362 .cfi_startproc 1363 @ args = 0, pretend = 0, frame = 0 1364 @ frame_needed = 0, uses_anonymous_args = 0 1365 @ link register save eliminated. 1120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1366 .loc 1 1120 0 1367 0000 034A ldr r2, .L132 1368 0002 1168 ldr r1, [r2] 1369 0004 8023 movs r3, #128 1370 0006 1B03 lsls r3, r3, #12 ARM GAS /tmp/cchbc9tY.s page 54 1371 0008 0B43 orrs r3, r1 1372 000a 1360 str r3, [r2] 1121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1373 .loc 1 1121 0 1374 @ sp needed 1375 000c 7047 bx lr 1376 .L133: 1377 000e C046 .align 2 1378 .L132: 1379 0010 00100240 .word 1073876992 1380 .cfi_endproc 1381 .LFE43: 1383 .global __aeabi_uidiv 1384 .section .text.HAL_RCC_GetSysClockFreq,"ax",%progbits 1385 .align 1 1386 .global HAL_RCC_GetSysClockFreq 1387 .syntax unified 1388 .code 16 1389 .thumb_func 1390 .fpu softvfp 1392 HAL_RCC_GetSysClockFreq: 1393 .LFB44: 1155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t tmpreg = 0, pllm = 0, plld = 0, pllvco = 0, msiclkrange = 0; 1394 .loc 1 1155 0 1395 .cfi_startproc 1396 @ args = 0, pretend = 0, frame = 0 1397 @ frame_needed = 0, uses_anonymous_args = 0 1398 0000 10B5 push {r4, lr} 1399 .LCFI6: 1400 .cfi_def_cfa_offset 8 1401 .cfi_offset 4, -8 1402 .cfi_offset 14, -4 1403 .LVL100: 1159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1404 .loc 1 1159 0 1405 0002 264B ldr r3, .L146 1406 0004 D968 ldr r1, [r3, #12] 1407 .LVL101: 1162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1408 .loc 1 1162 0 1409 0006 0C23 movs r3, #12 1410 0008 0B40 ands r3, r1 1411 000a 082B cmp r3, #8 1412 000c 42D0 beq .L141 1413 000e 0C2B cmp r3, #12 1414 0010 11D0 beq .L137 1415 0012 042B cmp r3, #4 1416 0014 09D0 beq .L144 1207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** sysclockfreq = (32768 * (1 << (msiclkrange + 1))); 1417 .loc 1 1207 0 1418 0016 214B ldr r3, .L146 1419 0018 5A68 ldr r2, [r3, #4] 1420 001a 520B lsrs r2, r2, #13 1421 001c 0723 movs r3, #7 1422 001e 1340 ands r3, r2 1423 .LVL102: 1208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** break; ARM GAS /tmp/cchbc9tY.s page 55 1424 .loc 1 1208 0 1425 0020 0133 adds r3, r3, #1 1426 .LVL103: 1427 0022 8020 movs r0, #128 1428 0024 0002 lsls r0, r0, #8 1429 0026 9840 lsls r0, r0, r3 1430 .LVL104: 1431 .L134: 1213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1432 .loc 1 1213 0 1433 @ sp needed 1434 0028 10BD pop {r4, pc} 1435 .LVL105: 1436 .L144: 1166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1437 .loc 1 1166 0 1438 002a 1C4B ldr r3, .L146 1439 002c 1B68 ldr r3, [r3] 1440 002e DB06 lsls r3, r3, #27 1441 0030 32D5 bpl .L142 1168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1442 .loc 1 1168 0 1443 0032 1B48 ldr r0, .L146+4 1444 0034 F8E7 b .L134 1445 .L137: 1183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** plld = ((uint32_t)(tmpreg & RCC_CFGR_PLLDIV) >> RCC_CFGR_PLLDIV_BITNUMBER) + 1; 1446 .loc 1 1183 0 1447 0036 8A0C lsrs r2, r1, #18 1448 0038 0F23 movs r3, #15 1449 003a 1340 ands r3, r2 1450 003c 194A ldr r2, .L146+8 1451 003e D05C ldrb r0, [r2, r3] 1452 .LVL106: 1184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLSOURCE_HSI) 1453 .loc 1 1184 0 1454 0040 890D lsrs r1, r1, #22 1455 .LVL107: 1456 0042 0322 movs r2, #3 1457 0044 1140 ands r1, r2 1458 0046 0131 adds r1, r1, #1 1459 .LVL108: 1185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1460 .loc 1 1185 0 1461 0048 144B ldr r3, .L146 1462 004a DB68 ldr r3, [r3, #12] 1463 004c DB03 lsls r3, r3, #15 1464 004e 0DD4 bmi .L145 1192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1465 .loc 1 1192 0 1466 0050 124B ldr r3, .L146 1467 0052 1B68 ldr r3, [r3] 1468 0054 DB06 lsls r3, r3, #27 1469 0056 13D5 bpl .L140 1194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1470 .loc 1 1194 0 1471 0058 4201 lsls r2, r0, #5 1472 005a 121A subs r2, r2, r0 ARM GAS /tmp/cchbc9tY.s page 56 1473 005c 9301 lsls r3, r2, #6 1474 005e 9B1A subs r3, r3, r2 1475 0060 DB00 lsls r3, r3, #3 1476 0062 1B18 adds r3, r3, r0 1477 0064 1802 lsls r0, r3, #8 1478 .LVL109: 1479 0066 FFF7FEFF bl __aeabi_uidiv 1480 .LVL110: 1481 006a DDE7 b .L134 1482 .LVL111: 1483 .L145: 1188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1484 .loc 1 1188 0 1485 006c 4201 lsls r2, r0, #5 1486 006e 121A subs r2, r2, r0 1487 0070 9301 lsls r3, r2, #6 1488 0072 9B1A subs r3, r3, r2 1489 0074 DB00 lsls r3, r3, #3 1490 0076 1B18 adds r3, r3, r0 1491 0078 5802 lsls r0, r3, #9 1492 .LVL112: 1493 007a FFF7FEFF bl __aeabi_uidiv 1494 .LVL113: 1495 007e D3E7 b .L134 1496 .LVL114: 1497 .L140: 1198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1498 .loc 1 1198 0 1499 0080 4201 lsls r2, r0, #5 1500 0082 121A subs r2, r2, r0 1501 0084 9301 lsls r3, r2, #6 1502 0086 9B1A subs r3, r3, r2 1503 0088 DB00 lsls r3, r3, #3 1504 008a 1B18 adds r3, r3, r0 1505 008c 9802 lsls r0, r3, #10 1506 .LVL115: 1507 008e FFF7FEFF bl __aeabi_uidiv 1508 .LVL116: 1509 0092 C9E7 b .L134 1510 .LVL117: 1511 .L141: 1178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** break; 1512 .loc 1 1178 0 1513 0094 0448 ldr r0, .L146+12 1514 0096 C7E7 b .L134 1515 .L142: 1172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1516 .loc 1 1172 0 1517 0098 0448 ldr r0, .L146+16 1518 .LVL118: 1212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1519 .loc 1 1212 0 1520 009a C5E7 b .L134 1521 .L147: 1522 .align 2 1523 .L146: 1524 009c 00100240 .word 1073876992 ARM GAS /tmp/cchbc9tY.s page 57 1525 00a0 00093D00 .word 4000000 1526 00a4 00000000 .word PLLMulTable 1527 00a8 00127A00 .word 8000000 1528 00ac 0024F400 .word 16000000 1529 .cfi_endproc 1530 .LFE44: 1532 .section .text.HAL_RCC_ClockConfig,"ax",%progbits 1533 .align 1 1534 .global HAL_RCC_ClockConfig 1535 .syntax unified 1536 .code 16 1537 .thumb_func 1538 .fpu softvfp 1540 HAL_RCC_ClockConfig: 1541 .LFB41: 824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** uint32_t tickstart = 0U; 1542 .loc 1 824 0 1543 .cfi_startproc 1544 @ args = 0, pretend = 0, frame = 0 1545 @ frame_needed = 0, uses_anonymous_args = 0 1546 .LVL119: 1547 0000 70B5 push {r4, r5, r6, lr} 1548 .LCFI7: 1549 .cfi_def_cfa_offset 16 1550 .cfi_offset 4, -16 1551 .cfi_offset 5, -12 1552 .cfi_offset 6, -8 1553 .cfi_offset 14, -4 1554 0002 0400 movs r4, r0 1555 0004 0D00 movs r5, r1 1556 .LVL120: 837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1557 .loc 1 837 0 1558 0006 5F4B ldr r3, .L186 1559 0008 1A68 ldr r2, [r3] 1560 000a 0123 movs r3, #1 1561 000c 1340 ands r3, r2 1562 000e 8B42 cmp r3, r1 1563 0010 0BD2 bcs .L149 840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1564 .loc 1 840 0 1565 0012 5C49 ldr r1, .L186 1566 .LVL121: 1567 0014 0B68 ldr r3, [r1] 1568 0016 0122 movs r2, #1 1569 0018 9343 bics r3, r2 1570 001a 2B43 orrs r3, r5 1571 001c 0B60 str r3, [r1] 844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1572 .loc 1 844 0 1573 001e 0B68 ldr r3, [r1] 1574 0020 1A40 ands r2, r3 1575 0022 AA42 cmp r2, r5 1576 0024 01D0 beq .L149 846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1577 .loc 1 846 0 1578 0026 0120 movs r0, #1 ARM GAS /tmp/cchbc9tY.s page 58 1579 .LVL122: 1580 .L150: 979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1581 .loc 1 979 0 1582 @ sp needed 1583 .LVL123: 1584 .LVL124: 1585 0028 70BD pop {r4, r5, r6, pc} 1586 .LVL125: 1587 .L149: 851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1588 .loc 1 851 0 1589 002a 2368 ldr r3, [r4] 1590 002c 9B07 lsls r3, r3, #30 1591 002e 06D5 bpl .L151 854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1592 .loc 1 854 0 1593 0030 554A ldr r2, .L186+4 1594 0032 D368 ldr r3, [r2, #12] 1595 0034 F021 movs r1, #240 1596 0036 8B43 bics r3, r1 1597 0038 A168 ldr r1, [r4, #8] 1598 003a 0B43 orrs r3, r1 1599 003c D360 str r3, [r2, #12] 1600 .L151: 858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1601 .loc 1 858 0 1602 003e 2368 ldr r3, [r4] 1603 0040 DB07 lsls r3, r3, #31 1604 0042 64D5 bpl .L152 863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1605 .loc 1 863 0 1606 0044 6368 ldr r3, [r4, #4] 1607 0046 022B cmp r3, #2 1608 0048 09D0 beq .L182 872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1609 .loc 1 872 0 1610 004a 032B cmp r3, #3 1611 004c 29D0 beq .L183 881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1612 .loc 1 881 0 1613 004e 012B cmp r3, #1 1614 0050 2DD0 beq .L184 893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1615 .loc 1 893 0 1616 0052 4D4A ldr r2, .L186+4 1617 0054 1268 ldr r2, [r2] 1618 0056 9205 lsls r2, r2, #22 1619 0058 06D4 bmi .L154 895:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1620 .loc 1 895 0 1621 005a 0120 movs r0, #1 1622 .LVL126: 1623 005c E4E7 b .L150 1624 .LVL127: 1625 .L182: 866:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { ARM GAS /tmp/cchbc9tY.s page 59 1626 .loc 1 866 0 1627 005e 4A4A ldr r2, .L186+4 1628 0060 1268 ldr r2, [r2] 1629 0062 9203 lsls r2, r2, #14 1630 0064 00D4 bmi .LCB1665 1631 0066 8AE0 b .L185 @long jump 1632 .LCB1665: 1633 .L154: 898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1634 .loc 1 898 0 1635 0068 4749 ldr r1, .L186+4 1636 006a CA68 ldr r2, [r1, #12] 1637 006c 0320 movs r0, #3 1638 .LVL128: 1639 006e 8243 bics r2, r0 1640 0070 1343 orrs r3, r2 1641 0072 CB60 str r3, [r1, #12] 901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1642 .loc 1 901 0 1643 0074 FFF7FEFF bl HAL_GetTick 1644 .LVL129: 1645 0078 0600 movs r6, r0 1646 .LVL130: 903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1647 .loc 1 903 0 1648 007a 6368 ldr r3, [r4, #4] 1649 007c 022B cmp r3, #2 1650 007e 1CD0 beq .L157 913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1651 .loc 1 913 0 1652 0080 032B cmp r3, #3 1653 0082 28D0 beq .L160 923:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1654 .loc 1 923 0 1655 0084 012B cmp r3, #1 1656 0086 34D0 beq .L163 1657 .LVL131: 1658 .L164: 935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1659 .loc 1 935 0 1660 0088 3F4B ldr r3, .L186+4 1661 008a DB68 ldr r3, [r3, #12] 1662 008c 0C22 movs r2, #12 1663 008e 1A42 tst r2, r3 1664 0090 3DD0 beq .L152 937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1665 .loc 1 937 0 1666 0092 FFF7FEFF bl HAL_GetTick 1667 .LVL132: 1668 0096 801B subs r0, r0, r6 1669 0098 3C4B ldr r3, .L186+8 1670 009a 9842 cmp r0, r3 1671 009c F4D9 bls .L164 939:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1672 .loc 1 939 0 1673 009e 0320 movs r0, #3 1674 00a0 C2E7 b .L150 ARM GAS /tmp/cchbc9tY.s page 60 1675 .LVL133: 1676 .L183: 875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1677 .loc 1 875 0 1678 00a2 394A ldr r2, .L186+4 1679 00a4 1268 ldr r2, [r2] 1680 00a6 9201 lsls r2, r2, #6 1681 00a8 DED4 bmi .L154 877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1682 .loc 1 877 0 1683 00aa 0120 movs r0, #1 1684 .LVL134: 1685 00ac BCE7 b .L150 1686 .LVL135: 1687 .L184: 884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1688 .loc 1 884 0 1689 00ae 364A ldr r2, .L186+4 1690 00b0 1268 ldr r2, [r2] 1691 00b2 5207 lsls r2, r2, #29 1692 00b4 D8D4 bmi .L154 886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1693 .loc 1 886 0 1694 00b6 0120 movs r0, #1 1695 .LVL136: 1696 00b8 B6E7 b .L150 1697 .LVL137: 1698 .L157: 905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1699 .loc 1 905 0 1700 00ba 334B ldr r3, .L186+4 1701 00bc DA68 ldr r2, [r3, #12] 1702 00be 0C23 movs r3, #12 1703 00c0 1340 ands r3, r2 1704 00c2 082B cmp r3, #8 1705 00c4 23D0 beq .L152 907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1706 .loc 1 907 0 1707 00c6 FFF7FEFF bl HAL_GetTick 1708 .LVL138: 1709 00ca 801B subs r0, r0, r6 1710 00cc 2F4B ldr r3, .L186+8 1711 00ce 9842 cmp r0, r3 1712 00d0 F3D9 bls .L157 909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1713 .loc 1 909 0 1714 00d2 0320 movs r0, #3 1715 00d4 A8E7 b .L150 1716 .L160: 915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1717 .loc 1 915 0 1718 00d6 2C4B ldr r3, .L186+4 1719 00d8 DA68 ldr r2, [r3, #12] 1720 00da 0C23 movs r3, #12 1721 00dc 1340 ands r3, r2 1722 00de 0C2B cmp r3, #12 1723 00e0 15D0 beq .L152 ARM GAS /tmp/cchbc9tY.s page 61 917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1724 .loc 1 917 0 1725 00e2 FFF7FEFF bl HAL_GetTick 1726 .LVL139: 1727 00e6 801B subs r0, r0, r6 1728 00e8 284B ldr r3, .L186+8 1729 00ea 9842 cmp r0, r3 1730 00ec F3D9 bls .L160 919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1731 .loc 1 919 0 1732 00ee 0320 movs r0, #3 1733 00f0 9AE7 b .L150 1734 .L163: 925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1735 .loc 1 925 0 1736 00f2 254B ldr r3, .L186+4 1737 00f4 DA68 ldr r2, [r3, #12] 1738 00f6 0C23 movs r3, #12 1739 00f8 1340 ands r3, r2 1740 00fa 042B cmp r3, #4 1741 00fc 07D0 beq .L152 927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1742 .loc 1 927 0 1743 00fe FFF7FEFF bl HAL_GetTick 1744 .LVL140: 1745 0102 801B subs r0, r0, r6 1746 0104 214B ldr r3, .L186+8 1747 0106 9842 cmp r0, r3 1748 0108 F3D9 bls .L163 929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1749 .loc 1 929 0 1750 010a 0320 movs r0, #3 1751 010c 8CE7 b .L150 1752 .LVL141: 1753 .L152: 945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1754 .loc 1 945 0 1755 010e 1D4B ldr r3, .L186 1756 0110 1A68 ldr r2, [r3] 1757 0112 0123 movs r3, #1 1758 0114 1340 ands r3, r2 1759 0116 AB42 cmp r3, r5 1760 0118 0BD9 bls .L167 948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1761 .loc 1 948 0 1762 011a 1A49 ldr r1, .L186 1763 011c 0B68 ldr r3, [r1] 1764 011e 0122 movs r2, #1 1765 0120 9343 bics r3, r2 1766 0122 2B43 orrs r3, r5 1767 0124 0B60 str r3, [r1] 952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1768 .loc 1 952 0 1769 0126 0B68 ldr r3, [r1] 1770 0128 1A40 ands r2, r3 1771 012a AA42 cmp r2, r5 1772 012c 01D0 beq .L167 ARM GAS /tmp/cchbc9tY.s page 62 954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1773 .loc 1 954 0 1774 012e 0120 movs r0, #1 1775 0130 7AE7 b .L150 1776 .L167: 959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1777 .loc 1 959 0 1778 0132 2368 ldr r3, [r4] 1779 0134 5B07 lsls r3, r3, #29 1780 0136 06D5 bpl .L168 962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1781 .loc 1 962 0 1782 0138 134A ldr r2, .L186+4 1783 013a D368 ldr r3, [r2, #12] 1784 013c 1449 ldr r1, .L186+12 1785 013e 0B40 ands r3, r1 1786 0140 E168 ldr r1, [r4, #12] 1787 0142 0B43 orrs r3, r1 1788 0144 D360 str r3, [r2, #12] 1789 .L168: 966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1790 .loc 1 966 0 1791 0146 2368 ldr r3, [r4] 1792 0148 1B07 lsls r3, r3, #28 1793 014a 07D5 bpl .L169 969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1794 .loc 1 969 0 1795 014c 0E49 ldr r1, .L186+4 1796 014e CB68 ldr r3, [r1, #12] 1797 0150 104A ldr r2, .L186+16 1798 0152 1340 ands r3, r2 1799 0154 2269 ldr r2, [r4, #16] 1800 0156 D200 lsls r2, r2, #3 1801 0158 1343 orrs r3, r2 1802 015a CB60 str r3, [r1, #12] 1803 .L169: 973:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1804 .loc 1 973 0 1805 015c FFF7FEFF bl HAL_RCC_GetSysClockFreq 1806 .LVL142: 1807 0160 094B ldr r3, .L186+4 1808 0162 DA68 ldr r2, [r3, #12] 1809 0164 1209 lsrs r2, r2, #4 1810 0166 0F23 movs r3, #15 1811 0168 1340 ands r3, r2 1812 016a 0B4A ldr r2, .L186+20 1813 016c D35C ldrb r3, [r2, r3] 1814 016e D840 lsrs r0, r0, r3 1815 0170 0A4B ldr r3, .L186+24 1816 0172 1860 str r0, [r3] 976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1817 .loc 1 976 0 1818 0174 0320 movs r0, #3 1819 0176 FFF7FEFF bl HAL_InitTick 1820 .LVL143: 978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1821 .loc 1 978 0 ARM GAS /tmp/cchbc9tY.s page 63 1822 017a 0020 movs r0, #0 1823 017c 54E7 b .L150 1824 .LVL144: 1825 .L185: 868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1826 .loc 1 868 0 1827 017e 0120 movs r0, #1 1828 .LVL145: 1829 0180 52E7 b .L150 1830 .L187: 1831 0182 C046 .align 2 1832 .L186: 1833 0184 00200240 .word 1073881088 1834 0188 00100240 .word 1073876992 1835 018c 88130000 .word 5000 1836 0190 FFF8FFFF .word -1793 1837 0194 FFC7FFFF .word -14337 1838 0198 00000000 .word AHBPrescTable 1839 019c 00000000 .word SystemCoreClock 1840 .cfi_endproc 1841 .LFE41: 1843 .section .text.HAL_RCC_GetHCLKFreq,"ax",%progbits 1844 .align 1 1845 .global HAL_RCC_GetHCLKFreq 1846 .syntax unified 1847 .code 16 1848 .thumb_func 1849 .fpu softvfp 1851 HAL_RCC_GetHCLKFreq: 1852 .LFB45: 1225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** return SystemCoreClock; 1853 .loc 1 1225 0 1854 .cfi_startproc 1855 @ args = 0, pretend = 0, frame = 0 1856 @ frame_needed = 0, uses_anonymous_args = 0 1857 @ link register save eliminated. 1226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1858 .loc 1 1226 0 1859 0000 014B ldr r3, .L189 1860 0002 1868 ldr r0, [r3] 1227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1861 .loc 1 1227 0 1862 @ sp needed 1863 0004 7047 bx lr 1864 .L190: 1865 0006 C046 .align 2 1866 .L189: 1867 0008 00000000 .word SystemCoreClock 1868 .cfi_endproc 1869 .LFE45: 1871 .section .text.HAL_RCC_GetPCLK1Freq,"ax",%progbits 1872 .align 1 1873 .global HAL_RCC_GetPCLK1Freq 1874 .syntax unified 1875 .code 16 1876 .thumb_func 1877 .fpu softvfp ARM GAS /tmp/cchbc9tY.s page 64 1879 HAL_RCC_GetPCLK1Freq: 1880 .LFB46: 1236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ 1881 .loc 1 1236 0 1882 .cfi_startproc 1883 @ args = 0, pretend = 0, frame = 0 1884 @ frame_needed = 0, uses_anonymous_args = 0 1885 @ link register save eliminated. 1886 .LBB13: 1887 .LBB14: 1226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1888 .loc 1 1226 0 1889 0000 054B ldr r3, .L192 1890 0002 1868 ldr r0, [r3] 1891 .LBE14: 1892 .LBE13: 1238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1893 .loc 1 1238 0 1894 0004 054B ldr r3, .L192+4 1895 0006 DA68 ldr r2, [r3, #12] 1896 0008 120A lsrs r2, r2, #8 1897 000a 0723 movs r3, #7 1898 000c 1340 ands r3, r2 1899 000e 044A ldr r2, .L192+8 1900 0010 D35C ldrb r3, [r2, r3] 1901 0012 D840 lsrs r0, r0, r3 1239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1902 .loc 1 1239 0 1903 @ sp needed 1904 0014 7047 bx lr 1905 .L193: 1906 0016 C046 .align 2 1907 .L192: 1908 0018 00000000 .word SystemCoreClock 1909 001c 00100240 .word 1073876992 1910 0020 00000000 .word APBPrescTable 1911 .cfi_endproc 1912 .LFE46: 1914 .section .text.HAL_RCC_GetPCLK2Freq,"ax",%progbits 1915 .align 1 1916 .global HAL_RCC_GetPCLK2Freq 1917 .syntax unified 1918 .code 16 1919 .thumb_func 1920 .fpu softvfp 1922 HAL_RCC_GetPCLK2Freq: 1923 .LFB47: 1248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ 1924 .loc 1 1248 0 1925 .cfi_startproc 1926 @ args = 0, pretend = 0, frame = 0 1927 @ frame_needed = 0, uses_anonymous_args = 0 1928 @ link register save eliminated. 1929 .LBB15: 1930 .LBB16: 1226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1931 .loc 1 1226 0 ARM GAS /tmp/cchbc9tY.s page 65 1932 0000 054B ldr r3, .L195 1933 0002 1868 ldr r0, [r3] 1934 .LBE16: 1935 .LBE15: 1250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1936 .loc 1 1250 0 1937 0004 054B ldr r3, .L195+4 1938 0006 DA68 ldr r2, [r3, #12] 1939 0008 D20A lsrs r2, r2, #11 1940 000a 0723 movs r3, #7 1941 000c 1340 ands r3, r2 1942 000e 044A ldr r2, .L195+8 1943 0010 D35C ldrb r3, [r2, r3] 1944 0012 D840 lsrs r0, r0, r3 1251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1945 .loc 1 1251 0 1946 @ sp needed 1947 0014 7047 bx lr 1948 .L196: 1949 0016 C046 .align 2 1950 .L195: 1951 0018 00000000 .word SystemCoreClock 1952 001c 00100240 .word 1073876992 1953 0020 00000000 .word APBPrescTable 1954 .cfi_endproc 1955 .LFE47: 1957 .section .text.HAL_RCC_GetOscConfig,"ax",%progbits 1958 .align 1 1959 .global HAL_RCC_GetOscConfig 1960 .syntax unified 1961 .code 16 1962 .thumb_func 1963 .fpu softvfp 1965 HAL_RCC_GetOscConfig: 1966 .LFB48: 1261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 1967 .loc 1 1261 0 1968 .cfi_startproc 1969 @ args = 0, pretend = 0, frame = 0 1970 @ frame_needed = 0, uses_anonymous_args = 0 1971 @ link register save eliminated. 1972 .LVL146: 1269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */ 1973 .loc 1 1269 0 1974 0000 3F23 movs r3, #63 1975 0002 0360 str r3, [r0] 1274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1976 .loc 1 1274 0 1977 0004 344B ldr r3, .L213 1978 0006 1B68 ldr r3, [r3] 1979 0008 5B03 lsls r3, r3, #13 1980 000a 43D5 bpl .L198 1276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1981 .loc 1 1276 0 1982 000c A023 movs r3, #160 1983 000e DB02 lsls r3, r3, #11 1984 0010 4360 str r3, [r0, #4] ARM GAS /tmp/cchbc9tY.s page 66 1985 .L199: 1288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 1986 .loc 1 1288 0 1987 0012 314B ldr r3, .L213 1988 0014 1B68 ldr r3, [r3] 1989 0016 DB07 lsls r3, r3, #31 1990 0018 47D5 bpl .L201 1290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 1991 .loc 1 1290 0 1992 001a 0123 movs r3, #1 1993 001c C360 str r3, [r0, #12] 1994 .L202: 1297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 1995 .loc 1 1297 0 1996 001e 2E49 ldr r1, .L213 1997 0020 4A68 ldr r2, [r1, #4] 1998 0022 120A lsrs r2, r2, #8 1999 0024 1F23 movs r3, #31 2000 0026 1340 ands r3, r2 2001 0028 0361 str r3, [r0, #16] 1300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 2002 .loc 1 1300 0 2003 002a 0B68 ldr r3, [r1] 2004 002c DB05 lsls r3, r3, #23 2005 002e 3FD5 bpl .L203 1302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2006 .loc 1 1302 0 2007 0030 0123 movs r3, #1 2008 0032 C361 str r3, [r0, #28] 2009 .L204: 1309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->MSIClockRange = (uint32_t)((RCC->ICSCR & RCC_ICSCR_MSIRANGE)); 2010 .loc 1 1309 0 2011 0034 284B ldr r3, .L213 2012 0036 5A68 ldr r2, [r3, #4] 2013 0038 120E lsrs r2, r2, #24 2014 003a 0262 str r2, [r0, #32] 1310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2015 .loc 1 1310 0 2016 003c 5A68 ldr r2, [r3, #4] 2017 003e E021 movs r1, #224 2018 0040 0902 lsls r1, r1, #8 2019 0042 0A40 ands r2, r1 2020 0044 4262 str r2, [r0, #36] 1313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 2021 .loc 1 1313 0 2022 0046 1B6D ldr r3, [r3, #80] 2023 0048 5B05 lsls r3, r3, #21 2024 004a 34D5 bpl .L205 1315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2025 .loc 1 1315 0 2026 004c A023 movs r3, #160 2027 004e DB00 lsls r3, r3, #3 2028 0050 8360 str r3, [r0, #8] 2029 .L206: 1327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 2030 .loc 1 1327 0 2031 0052 214B ldr r3, .L213 ARM GAS /tmp/cchbc9tY.s page 67 2032 0054 1B6D ldr r3, [r3, #80] 2033 0056 DB07 lsls r3, r3, #31 2034 0058 38D5 bpl .L208 1329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2035 .loc 1 1329 0 2036 005a 0123 movs r3, #1 2037 005c 4361 str r3, [r0, #20] 2038 .L209: 1338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */ 2039 .loc 1 1338 0 2040 005e 1E4A ldr r2, .L213 2041 0060 9168 ldr r1, [r2, #8] 2042 0062 0123 movs r3, #1 2043 0064 0B40 ands r3, r1 2044 0066 8361 str r3, [r0, #24] 1342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 2045 .loc 1 1342 0 2046 0068 1368 ldr r3, [r2] 2047 006a DB01 lsls r3, r3, #7 2048 006c 31D4 bmi .L212 1348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2049 .loc 1 1348 0 2050 006e 0123 movs r3, #1 2051 0070 8362 str r3, [r0, #40] 2052 .L211: 1350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLMUL); 2053 .loc 1 1350 0 2054 0072 194B ldr r3, .L213 2055 0074 DA68 ldr r2, [r3, #12] 2056 0076 8021 movs r1, #128 2057 0078 4902 lsls r1, r1, #9 2058 007a 0A40 ands r2, r1 2059 007c C262 str r2, [r0, #44] 1351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLDIV = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLDIV); 2060 .loc 1 1351 0 2061 007e DA68 ldr r2, [r3, #12] 2062 0080 F021 movs r1, #240 2063 0082 8903 lsls r1, r1, #14 2064 0084 0A40 ands r2, r1 2065 0086 0263 str r2, [r0, #48] 1352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2066 .loc 1 1352 0 2067 0088 DB68 ldr r3, [r3, #12] 2068 008a C022 movs r2, #192 2069 008c 1204 lsls r2, r2, #16 2070 008e 1340 ands r3, r2 2071 0090 4363 str r3, [r0, #52] 1353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2072 .loc 1 1353 0 2073 @ sp needed 2074 0092 7047 bx lr 2075 .L198: 1278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 2076 .loc 1 1278 0 2077 0094 104B ldr r3, .L213 2078 0096 1B68 ldr r3, [r3] 2079 0098 DB03 lsls r3, r3, #15 ARM GAS /tmp/cchbc9tY.s page 68 2080 009a 03D5 bpl .L200 1280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2081 .loc 1 1280 0 2082 009c 8023 movs r3, #128 2083 009e 5B02 lsls r3, r3, #9 2084 00a0 4360 str r3, [r0, #4] 2085 00a2 B6E7 b .L199 2086 .L200: 1284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2087 .loc 1 1284 0 2088 00a4 0023 movs r3, #0 2089 00a6 4360 str r3, [r0, #4] 2090 00a8 B3E7 b .L199 2091 .L201: 1294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2092 .loc 1 1294 0 2093 00aa 0023 movs r3, #0 2094 00ac C360 str r3, [r0, #12] 2095 00ae B6E7 b .L202 2096 .L203: 1306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2097 .loc 1 1306 0 2098 00b0 0023 movs r3, #0 2099 00b2 C361 str r3, [r0, #28] 2100 00b4 BEE7 b .L204 2101 .L205: 1317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 2102 .loc 1 1317 0 2103 00b6 084B ldr r3, .L213 2104 00b8 1B6D ldr r3, [r3, #80] 2105 00ba DB05 lsls r3, r3, #23 2106 00bc 03D5 bpl .L207 1319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2107 .loc 1 1319 0 2108 00be 8023 movs r3, #128 2109 00c0 5B00 lsls r3, r3, #1 2110 00c2 8360 str r3, [r0, #8] 2111 00c4 C5E7 b .L206 2112 .L207: 1323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2113 .loc 1 1323 0 2114 00c6 0023 movs r3, #0 2115 00c8 8360 str r3, [r0, #8] 2116 00ca C2E7 b .L206 2117 .L208: 1333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2118 .loc 1 1333 0 2119 00cc 0023 movs r3, #0 2120 00ce 4361 str r3, [r0, #20] 2121 00d0 C5E7 b .L209 2122 .L212: 1344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2123 .loc 1 1344 0 2124 00d2 0223 movs r3, #2 2125 00d4 8362 str r3, [r0, #40] 2126 00d6 CCE7 b .L211 2127 .L214: ARM GAS /tmp/cchbc9tY.s page 69 2128 .align 2 2129 .L213: 2130 00d8 00100240 .word 1073876992 2131 .cfi_endproc 2132 .LFE48: 2134 .section .text.HAL_RCC_GetClockConfig,"ax",%progbits 2135 .align 1 2136 .global HAL_RCC_GetClockConfig 2137 .syntax unified 2138 .code 16 2139 .thumb_func 2140 .fpu softvfp 2142 HAL_RCC_GetClockConfig: 2143 .LFB49: 1364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check the parameters */ 2144 .loc 1 1364 0 2145 .cfi_startproc 2146 @ args = 0, pretend = 0, frame = 0 2147 @ frame_needed = 0, uses_anonymous_args = 0 2148 .LVL147: 2149 0000 30B5 push {r4, r5, lr} 2150 .LCFI8: 2151 .cfi_def_cfa_offset 12 2152 .cfi_offset 4, -12 2153 .cfi_offset 5, -8 2154 .cfi_offset 14, -4 1370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2155 .loc 1 1370 0 2156 0002 0F23 movs r3, #15 2157 0004 0360 str r3, [r0] 1373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2158 .loc 1 1373 0 2159 0006 0C4A ldr r2, .L216 2160 0008 D468 ldr r4, [r2, #12] 2161 000a 0C3B subs r3, r3, #12 2162 000c 2340 ands r3, r4 2163 000e 4360 str r3, [r0, #4] 1376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2164 .loc 1 1376 0 2165 0010 D468 ldr r4, [r2, #12] 2166 0012 F023 movs r3, #240 2167 0014 2340 ands r3, r4 2168 0016 8360 str r3, [r0, #8] 1379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2169 .loc 1 1379 0 2170 0018 D468 ldr r4, [r2, #12] 2171 001a E025 movs r5, #224 2172 001c ED00 lsls r5, r5, #3 2173 001e 2C40 ands r4, r5 2174 0020 C460 str r4, [r0, #12] 1382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2175 .loc 1 1382 0 2176 0022 D368 ldr r3, [r2, #12] 2177 0024 DB08 lsrs r3, r3, #3 2178 0026 2B40 ands r3, r5 2179 0028 0361 str r3, [r0, #16] 1385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } ARM GAS /tmp/cchbc9tY.s page 70 2180 .loc 1 1385 0 2181 002a 044B ldr r3, .L216+4 2182 002c 1A68 ldr r2, [r3] 2183 002e 0123 movs r3, #1 2184 0030 1340 ands r3, r2 2185 0032 0B60 str r3, [r1] 1386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2186 .loc 1 1386 0 2187 @ sp needed 2188 0034 30BD pop {r4, r5, pc} 2189 .L217: 2190 0036 C046 .align 2 2191 .L216: 2192 0038 00100240 .word 1073876992 2193 003c 00200240 .word 1073881088 2194 .cfi_endproc 2195 .LFE49: 2197 .section .text.HAL_RCC_CSSCallback,"ax",%progbits 2198 .align 1 2199 .weak HAL_RCC_CSSCallback 2200 .syntax unified 2201 .code 16 2202 .thumb_func 2203 .fpu softvfp 2205 HAL_RCC_CSSCallback: 2206 .LFB51: 1412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 2207 .loc 1 1412 0 2208 .cfi_startproc 2209 @ args = 0, pretend = 0, frame = 0 2210 @ frame_needed = 0, uses_anonymous_args = 0 2211 @ link register save eliminated. 1416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2212 .loc 1 1416 0 2213 @ sp needed 2214 0000 7047 bx lr 2215 .cfi_endproc 2216 .LFE51: 2218 .section .text.HAL_RCC_NMI_IRQHandler,"ax",%progbits 2219 .align 1 2220 .global HAL_RCC_NMI_IRQHandler 2221 .syntax unified 2222 .code 16 2223 .thumb_func 2224 .fpu softvfp 2226 HAL_RCC_NMI_IRQHandler: 2227 .LFB50: 1395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** /* Check RCC CSSF flag */ 2228 .loc 1 1395 0 2229 .cfi_startproc 2230 @ args = 0, pretend = 0, frame = 0 2231 @ frame_needed = 0, uses_anonymous_args = 0 2232 0000 10B5 push {r4, lr} 2233 .LCFI9: 2234 .cfi_def_cfa_offset 8 2235 .cfi_offset 4, -8 2236 .cfi_offset 14, -4 ARM GAS /tmp/cchbc9tY.s page 71 1397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** { 2237 .loc 1 1397 0 2238 0002 064B ldr r3, .L222 2239 0004 5B69 ldr r3, [r3, #20] 2240 0006 DB05 lsls r3, r3, #23 2241 0008 00D4 bmi .L221 2242 .L219: 1405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2243 .loc 1 1405 0 2244 @ sp needed 2245 000a 10BD pop {r4, pc} 2246 .L221: 1400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2247 .loc 1 1400 0 2248 000c FFF7FEFF bl HAL_RCC_CSSCallback 2249 .LVL148: 1403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** } 2250 .loc 1 1403 0 2251 0010 024B ldr r3, .L222 2252 0012 8022 movs r2, #128 2253 0014 5200 lsls r2, r2, #1 2254 0016 9A61 str r2, [r3, #24] 1405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_rcc.c **** 2255 .loc 1 1405 0 2256 0018 F7E7 b .L219 2257 .L223: 2258 001a C046 .align 2 2259 .L222: 2260 001c 00100240 .word 1073876992 2261 .cfi_endproc 2262 .LFE50: 2264 .text 2265 .Letext0: 2266 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h" 2267 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h" 2268 .file 4 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h" 2269 .file 5 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l073xx.h" 2270 .file 6 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h" 2271 .file 7 "/usr/arm-none-eabi/include/sys/lock.h" 2272 .file 8 "/usr/arm-none-eabi/include/sys/_types.h" 2273 .file 9 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h" 2274 .file 10 "/usr/arm-none-eabi/include/sys/reent.h" 2275 .file 11 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h" 2276 .file 12 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_rcc.h" 2277 .file 13 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio.h" 2278 .file 14 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h" 2279 .file 15 "" ARM GAS /tmp/cchbc9tY.s page 72 DEFINED SYMBOLS *ABS*:0000000000000000 stm32l0xx_hal_rcc.c /tmp/cchbc9tY.s:16 .text.RCC_SetFlashLatencyFromMSIRange:0000000000000000 $t /tmp/cchbc9tY.s:22 .text.RCC_SetFlashLatencyFromMSIRange:0000000000000000 RCC_SetFlashLatencyFromMSIRange /tmp/cchbc9tY.s:124 .text.RCC_SetFlashLatencyFromMSIRange:0000000000000070 $d /tmp/cchbc9tY.s:132 .text.HAL_RCC_DeInit:0000000000000000 $t /tmp/cchbc9tY.s:139 .text.HAL_RCC_DeInit:0000000000000000 HAL_RCC_DeInit /tmp/cchbc9tY.s:211 .text.HAL_RCC_DeInit:0000000000000060 $d /tmp/cchbc9tY.s:222 .text.HAL_RCC_OscConfig:0000000000000000 $t /tmp/cchbc9tY.s:229 .text.HAL_RCC_OscConfig:0000000000000000 HAL_RCC_OscConfig /tmp/cchbc9tY.s:769 .text.HAL_RCC_OscConfig:00000000000002fc $d /tmp/cchbc9tY.s:781 .text.HAL_RCC_OscConfig:0000000000000320 $t /tmp/cchbc9tY.s:1194 .text.HAL_RCC_OscConfig:0000000000000554 $d /tmp/cchbc9tY.s:1208 .text.HAL_RCC_MCOConfig:0000000000000000 $t /tmp/cchbc9tY.s:1215 .text.HAL_RCC_MCOConfig:0000000000000000 HAL_RCC_MCOConfig /tmp/cchbc9tY.s:1345 .text.HAL_RCC_MCOConfig:000000000000009c $d /tmp/cchbc9tY.s:1352 .text.HAL_RCC_EnableCSS:0000000000000000 $t /tmp/cchbc9tY.s:1359 .text.HAL_RCC_EnableCSS:0000000000000000 HAL_RCC_EnableCSS /tmp/cchbc9tY.s:1379 .text.HAL_RCC_EnableCSS:0000000000000010 $d /tmp/cchbc9tY.s:1385 .text.HAL_RCC_GetSysClockFreq:0000000000000000 $t /tmp/cchbc9tY.s:1392 .text.HAL_RCC_GetSysClockFreq:0000000000000000 HAL_RCC_GetSysClockFreq /tmp/cchbc9tY.s:1524 .text.HAL_RCC_GetSysClockFreq:000000000000009c $d /tmp/cchbc9tY.s:1533 .text.HAL_RCC_ClockConfig:0000000000000000 $t /tmp/cchbc9tY.s:1540 .text.HAL_RCC_ClockConfig:0000000000000000 HAL_RCC_ClockConfig /tmp/cchbc9tY.s:1833 .text.HAL_RCC_ClockConfig:0000000000000184 $d /tmp/cchbc9tY.s:1844 .text.HAL_RCC_GetHCLKFreq:0000000000000000 $t /tmp/cchbc9tY.s:1851 .text.HAL_RCC_GetHCLKFreq:0000000000000000 HAL_RCC_GetHCLKFreq /tmp/cchbc9tY.s:1867 .text.HAL_RCC_GetHCLKFreq:0000000000000008 $d /tmp/cchbc9tY.s:1872 .text.HAL_RCC_GetPCLK1Freq:0000000000000000 $t /tmp/cchbc9tY.s:1879 .text.HAL_RCC_GetPCLK1Freq:0000000000000000 HAL_RCC_GetPCLK1Freq /tmp/cchbc9tY.s:1908 .text.HAL_RCC_GetPCLK1Freq:0000000000000018 $d /tmp/cchbc9tY.s:1915 .text.HAL_RCC_GetPCLK2Freq:0000000000000000 $t /tmp/cchbc9tY.s:1922 .text.HAL_RCC_GetPCLK2Freq:0000000000000000 HAL_RCC_GetPCLK2Freq /tmp/cchbc9tY.s:1951 .text.HAL_RCC_GetPCLK2Freq:0000000000000018 $d /tmp/cchbc9tY.s:1958 .text.HAL_RCC_GetOscConfig:0000000000000000 $t /tmp/cchbc9tY.s:1965 .text.HAL_RCC_GetOscConfig:0000000000000000 HAL_RCC_GetOscConfig /tmp/cchbc9tY.s:2130 .text.HAL_RCC_GetOscConfig:00000000000000d8 $d /tmp/cchbc9tY.s:2135 .text.HAL_RCC_GetClockConfig:0000000000000000 $t /tmp/cchbc9tY.s:2142 .text.HAL_RCC_GetClockConfig:0000000000000000 HAL_RCC_GetClockConfig /tmp/cchbc9tY.s:2192 .text.HAL_RCC_GetClockConfig:0000000000000038 $d /tmp/cchbc9tY.s:2198 .text.HAL_RCC_CSSCallback:0000000000000000 $t /tmp/cchbc9tY.s:2205 .text.HAL_RCC_CSSCallback:0000000000000000 HAL_RCC_CSSCallback /tmp/cchbc9tY.s:2219 .text.HAL_RCC_NMI_IRQHandler:0000000000000000 $t /tmp/cchbc9tY.s:2226 .text.HAL_RCC_NMI_IRQHandler:0000000000000000 HAL_RCC_NMI_IRQHandler /tmp/cchbc9tY.s:2260 .text.HAL_RCC_NMI_IRQHandler:000000000000001c $d .debug_frame:0000000000000010 $d UNDEFINED SYMBOLS SystemCoreClock HAL_GetTick HAL_InitTick AHBPrescTable memset HAL_GPIO_Init __aeabi_uidiv PLLMulTable APBPrescTable ARM GAS /tmp/cchbc9tY.s page 73