ARM GAS /tmp/cc6AIysH.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32g4xx_hal_rcc.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c" 20 .section .text.RCC_GetSysClockFreqFromPLLSource,"ax",%progbits 21 .align 1 22 .syntax unified 23 .thumb 24 .thumb_func 26 RCC_GetSysClockFreqFromPLLSource: 27 .LFB344: 1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ****************************************************************************** 3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @file stm32g4xx_hal_rcc.c 4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @author MCD Application Team 5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief RCC HAL module driver. 6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * functionalities of the Reset and Clock Control (RCC) peripheral: 8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * + Initialization and de-initialization functions 9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * + Peripheral Control functions 10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** @verbatim 12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ============================================================================== 13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ##### RCC specific features ##### 14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ============================================================================== 15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** [..] 16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** After reset the device is running from High Speed Internal oscillator 17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (16 MHz) with Flash 0 wait state. Flash prefetch buffer, D-Cache 18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** and I-Cache are disabled, and all peripherals are off except internal 19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SRAM, Flash and JTAG. 20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) There is no prescaler on High speed (AHBs) and Low speed (APBs) buses: 22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** all peripherals mapped on these buses are running at HSI speed. 23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) The clock for all peripherals is switched off, except the SRAM and FLASH. 24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) All GPIOs are in analog mode, except the JTAG pins which 25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** are assigned to be used for debug purpose. 26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** [..] 28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** Once the device started from reset, the user application has to: 29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Configure the clock source to be used to drive the System clock 30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (if the application needs higher frequency/performance) 31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Configure the System clock frequency and Flash settings ARM GAS /tmp/cc6AIysH.s page 2 32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Configure the AHB and APB buses prescalers 33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Enable the clock for the peripheral(s) to be used 34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Configure the clock source(s) for peripherals which clocks are not 35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** derived from the System clock (USB, RNG, USART, LPUART, FDCAN, some TIMERs, 36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** UCPD, I2S, I2C, LPTIM, ADC, QSPI) 37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** @endverbatim 39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ****************************************************************************** 40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @attention 41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * Copyright (c) 2019 STMicroelectronics. 43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * All rights reserved. 44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * This software is licensed under terms that can be found in the LICENSE file in 46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * the root directory of this software component. 47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ****************************************************************************** 49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Includes ------------------------------------------------------------------*/ 52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #include "stm32g4xx_hal.h" 53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @addtogroup STM32G4xx_HAL_Driver 55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @{ 56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @defgroup RCC RCC 59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief RCC HAL module driver 60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @{ 61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #ifdef HAL_RCC_MODULE_ENABLED 64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Private typedef -----------------------------------------------------------*/ 66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Private define ------------------------------------------------------------*/ 67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @defgroup RCC_Private_Constants RCC Private Constants 68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @{ 69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define HSE_TIMEOUT_VALUE HSE_STARTUP_TIMEOUT 71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define HSI_TIMEOUT_VALUE 2U /* 2 ms (minimum Tick + 1) */ 72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define LSI_TIMEOUT_VALUE 2U /* 2 ms (minimum Tick + 1) */ 73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define HSI48_TIMEOUT_VALUE 2U /* 2 ms (minimum Tick + 1) */ 74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define PLL_TIMEOUT_VALUE 2U /* 2 ms (minimum Tick + 1) */ 75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define CLOCKSWITCH_TIMEOUT_VALUE 5000U /* 5 s */ 76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @} 78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Private macro -------------------------------------------------------------*/ 81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @defgroup RCC_Private_Macros RCC Private Macros 82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @{ 83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define RCC_GET_MCO_GPIO_PIN(__RCC_MCOx__) ((__RCC_MCOx__) & GPIO_PIN_MASK) 85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define RCC_GET_MCO_GPIO_AF(__RCC_MCOx__) (((__RCC_MCOx__) & RCC_MCO_GPIOAF_MASK) >> RCC_MCO_GPI 87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define RCC_GET_MCO_GPIO_INDEX(__RCC_MCOx__) (((__RCC_MCOx__) & RCC_MCO_GPIOPORT_MASK) >> RCC_MCO_G ARM GAS /tmp/cc6AIysH.s page 3 89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define RCC_GET_MCO_GPIO_PORT(__RCC_MCOx__) (AHB2PERIPH_BASE + ((0x00000400UL) * RCC_GET_MCO_GPIO_ 91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** #define RCC_PLL_OSCSOURCE_CONFIG(__HAL_RCC_PLLSOURCE__) \ 93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC, (__HAL_RCC_PLLSOURCE__))) 94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @} 96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Private variables ---------------------------------------------------------*/ 99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Private function prototypes -----------------------------------------------*/ 101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @defgroup RCC_Private_Functions RCC Private Functions 102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @{ 103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** static uint32_t RCC_GetSysClockFreqFromPLLSource(void); 105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @} 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Exported functions --------------------------------------------------------*/ 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions RCC Exported Functions 112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @{ 113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group1 Initialization and de-initialization functions 116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Initialization and Configuration functions 117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** @verbatim 119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** =============================================================================== 120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ##### Initialization and de-initialization functions ##### 121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** =============================================================================== 122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** [..] 123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** This section provides functions allowing to configure the internal and external oscillators 124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (HSE, HSI, LSE, LSI, PLL, CSS and MCO) and the System buses clocks (SYSCLK, AHB, APB1 125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** and APB2). 126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** [..] Internal/external clock and PLL configuration 128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) HSI (high-speed internal): 16 MHz factory-trimmed RC used directly or through 129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** the PLL as System clock source. 130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) LSI (low-speed internal): 32 KHz low consumption RC used as IWDG and/or RTC 132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** clock source. 133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) HSE (high-speed external): 4 to 48 MHz crystal oscillator used directly or 135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** through the PLL as System clock source. Can be used also optionally as RTC clock sourc 136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) LSE (low-speed external): 32.768 KHz oscillator used optionally as RTC clock source. 138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) PLL (clocked by HSI, HSE) providing up to three independent output clocks: 140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (++) The first output is used to generate the high speed system clock (up to 170 MHz). 141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (++) The second output is used to generate the clock for the USB (48 MHz), 142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** the QSPI (<= 48 MHz), the FDCAN, the SAI and the I2S. 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (++) The third output is used to generate a clock for ADC 144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) CSS (Clock security system): once enabled, if a HSE clock failure occurs ARM GAS /tmp/cc6AIysH.s page 4 146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (HSE used directly or through PLL as System clock source), the System clock 147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** is automatically switched to HSI and an interrupt is generated if enabled. 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** The interrupt is linked to the Cortex-M4 NMI (Non-Maskable Interrupt) 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** exception vector. 150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) MCO (microcontroller clock output): used to output LSI, HSI, LSE, HSE, 152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** main PLL clock, system clock or RC48 clock (through a configurable prescaler) on PA8 p 153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** [..] System, AHB and APB buses clocks configuration 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Several clock sources can be used to drive the System clock (SYSCLK): HSI, 156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HSE and main PLL. 157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** The AHB clock (HCLK) is derived from System clock through configurable 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** prescaler and used to clock the CPU, memory and peripherals mapped 159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** on AHB bus (DMA, GPIO...). APB1 (PCLK1) and APB2 (PCLK2) clocks are derived 160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** from AHB clock through configurable prescalers and used to clock 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** the peripherals mapped on these buses. You can use 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** "HAL_RCC_GetSysClockFreq()" function to retrieve the frequencies of these clocks. 163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** -@- All the peripheral clocks are derived from the System clock (SYSCLK) except: 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+@) RTC: the RTC clock can be derived either from the LSI, LSE or HSE clock 167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** divided by 2 to 31. 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** You have to use __HAL_RCC_RTC_ENABLE() and HAL_RCCEx_PeriphCLKConfig() function 169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** to configure this clock. 170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+@) USB FS and RNG: USB FS requires a frequency equal to 48 MHz 171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** to work correctly, while the RNG peripheral requires a frequency 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** equal or lower than to 48 MHz. This clock is derived of the main PLL 173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** through PLLQ divider. You have to enable the peripheral clock and use 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_RCCEx_PeriphCLKConfig() function to configure this clock. 175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+@) IWDG clock which is always the LSI clock. 176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) The maximum frequency of the SYSCLK, HCLK, PCLK1 and PCLK2 is 170 MHz. 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** The clock source frequency should be adapted depending on the device voltage range 180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** as listed in the Reference Manual "Clock source frequency versus voltage scaling" chap 181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** @endverbatim 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** Table 1. HCLK clock frequency for STM32G4xx devices 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** +----------------------------------------------------------------------------+ 186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** | Latency | HCLK clock frequency (MHz) | 187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** | |----------------------------------------------------------| 188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** | | voltage range 1 | voltage range 1 | voltage range 2 | 189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** | | boost mode 1.28 V | normal mode 1.2 V | 1.0 V | 190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |-----------------|-------------------|-------------------|------------------| 191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |0WS(1 CPU cycles)| HCLK <= 34 | HCLK <= 30 | HCLK <= 13 | 192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |-----------------|-------------------|-------------------|------------------| 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |1WS(2 CPU cycles)| HCLK <= 68 | HCLK <= 60 | HCLK <= 26 | 194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |-----------------|-------------------|-------------------|------------------| 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |2WS(3 CPU cycles)| HCLK <= 102 | HCLK <= 90 | - | 196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |-----------------|-------------------|-------------------|------------------| 197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |3WS(4 CPU cycles)| HCLK <= 136 | HCLK <= 120 | - | 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |-----------------|-------------------|-------------------|------------------| 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** |4WS(5 CPU cycles)| HCLK <= 170 | HCLK <= 150 | - | 200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** +----------------------------------------------------------------------------+ 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @{ ARM GAS /tmp/cc6AIysH.s page 5 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Reset the RCC clock configuration to the default reset state. 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The default reset state of the clock configuration is given below: 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * - HSI ON and used as system clock source 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * - HSE, PLL OFF 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * - AHB, APB1 and APB2 prescaler set to 1. 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * - CSS, MCO1 OFF 212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * - All interrupts disabled 213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * - All interrupt and reset flags cleared 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note This function doesn't modify the configuration of the 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * - Peripheral clocks 216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * - LSI, LSE and RTC clocks 217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval HAL status 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_DeInit(void) 220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set HSION bit to the reset value */ 227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_HSION); 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till HSI is ready */ 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_HSIRDY) == 0U) 231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set HSITRIM[6:0] bits to the reset value */ 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->ICSCR, RCC_HSICALIBRATION_DEFAULT << RCC_ICSCR_HSITRIM_Pos); 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Reset CFGR register (HSI is selected as system clock source) */ 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC->CFGR = 0x00000001u; 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till HSI is ready */ 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CFGR, RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI) 249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SystemCoreClock = HSI_VALUE; 258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Adapt Systick interrupt period */ ARM GAS /tmp/cc6AIysH.s page 6 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (HAL_InitTick(uwTickPrio) != HAL_OK) 261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Clear CR register in 2 steps: first to clear HSEON in case bypass was enabled */ 266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC->CR = RCC_CR_HSION; 267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Then again to HSEBYP in case bypass was enabled */ 269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC->CR = RCC_CR_HSION; 270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till PLL is OFF */ 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) != 0U) 276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* once PLL is OFF, reset PLLCFGR register to default value */ 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC->PLLCFGR = RCC_PLLCFGR_PLLN_4; 285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Disable all interrupts */ 287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** CLEAR_REG(RCC->CIER); 288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Clear all interrupt flags */ 290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** WRITE_REG(RCC->CICR, 0xFFFFFFFFU); 291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Clear all reset flags */ 293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->CSR, RCC_CSR_RMVF); 294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_OK; 296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Initialize the RCC Oscillators according to the specified parameters in the 300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * RCC_OscInitTypeDef. 301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that 302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * contains the configuration information for the RCC Oscillators. 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The PLL is not disabled when used as system clock. 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Transitions LSE Bypass to LSE On and LSE On to LSE Bypass are not 305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * supported by this macro. User should request a transition to LSE Off 306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * first and then LSE On or LSE Bypass. 307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * supported by this macro. User should request a transition to HSE Off 309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * first and then HSE On or HSE Bypass. 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval HAL status 311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t temp_sysclksrc; 316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t temp_pllckcfg; ARM GAS /tmp/cc6AIysH.s page 7 317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check Null pointer */ 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_OscInitStruct == NULL) 320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*------------------------------- HSE Configuration ------------------------*/ 328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); 332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE(); 334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = __HAL_RCC_GET_PLL_OSCSOURCE(); 335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* When the HSE is used as system clock or clock source for PLL in these cases it is not allowe 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((temp_sysclksrc == RCC_CFGR_SWS_PLL) && (temp_pllckcfg == RCC_PLLSOURCE_HSE)) || (temp_sys 338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) 340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set the new HSE configuration ---------------------------------------*/ 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); 348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the HSE State */ 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_OscInitStruct->HSEState != RCC_HSE_OFF) 351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till HSE is ready */ 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_HSERDY) == 0U) 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till HSE is disabled */ 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_HSERDY) != 0U) 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/cc6AIysH.s page 8 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*----------------------------- HSI Configuration --------------------------*/ 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) 382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_HSI_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock * 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_sysclksrc = __HAL_RCC_GET_SYSCLK_SOURCE(); 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = __HAL_RCC_GET_PLL_OSCSOURCE(); 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((temp_sysclksrc == RCC_CFGR_SWS_PLL) && (temp_pllckcfg == RCC_PLLSOURCE_HSI)) || (temp_sys 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* When HSI is used as system clock it will not be disabled */ 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) && (RCC_OscInitStruct->HSIState == RCC_HSI_OFF)) 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Otherwise, just the calibration is allowed */ 398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Adapt Systick interrupt period */ 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (HAL_InitTick(uwTickPrio) != HAL_OK) 405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the HSI State */ 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_OscInitStruct->HSIState != RCC_HSI_OFF) 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI). */ 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_HSI_ENABLE(); 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till HSI is ready */ 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_HSIRDY) == 0U) 423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ ARM GAS /tmp/cc6AIysH.s page 9 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI). */ 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_HSI_DISABLE(); 437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till HSI is disabled */ 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_HSIRDY) != 0U) 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*------------------------------ LSI Configuration -------------------------*/ 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); 457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the LSI State */ 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(RCC_OscInitStruct->LSIState != RCC_LSI_OFF) 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Enable the Internal Low Speed oscillator (LSI). */ 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_LSI_ENABLE(); 463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till LSI is ready */ 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CSR, RCC_CSR_LSIRDY) == 0U) 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Disable the Internal Low Speed oscillator (LSI). */ 479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_LSI_DISABLE(); 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till LSI is disabled */ 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while(READ_BIT(RCC->CSR, RCC_CSR_LSIRDY) != 0U) 486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) ARM GAS /tmp/cc6AIysH.s page 10 488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*------------------------------ LSE Configuration -------------------------*/ 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) 496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** FlagStatus pwrclkchanged = RESET; 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); 501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Update LSE configuration in Backup Domain control register */ 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Requires to enable write access to Backup Domain if necessary */ 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (__HAL_RCC_PWR_IS_CLK_DISABLED() != 0U) 505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_ENABLE(); 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pwrclkchanged = SET; 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Enable write access to Backup domain */ 513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(PWR->CR1, PWR_CR1_DBP); 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait for Backup domain Write protection disable */ 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set the new LSE configuration -----------------------------------------*/ 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the LSE State */ 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_OscInitStruct->LSEState != RCC_LSE_OFF) 532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till LSE is ready */ 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) == 0U) 538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } ARM GAS /tmp/cc6AIysH.s page 11 545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till LSE is disabled */ 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) != 0U) 552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Restore clock configuration if changed */ 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (pwrclkchanged == SET) 562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_DISABLE(); 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*------------------------------ HSI48 Configuration -----------------------*/ 568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI48) == RCC_OSCILLATORTYPE_HSI48) 569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_HSI48(RCC_OscInitStruct->HSI48State)); 572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the HSI48 State */ 574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(RCC_OscInitStruct->HSI48State != RCC_HSI48_OFF) 575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Enable the Internal Low Speed oscillator (HSI48). */ 577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_HSI48_ENABLE(); 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till HSI48 is ready */ 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while(READ_BIT(RCC->CRRCR, RCC_CRRCR_HSI48RDY) == 0U) 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE) 586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Disable the Internal Low Speed oscillator (HSI48). */ 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_HSI48_DISABLE(); 595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till HSI48 is disabled */ 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while(READ_BIT(RCC->CRRCR, RCC_CRRCR_HSI48RDY) != 0U) 601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/cc6AIysH.s page 12 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE) 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*-------------------------------- PLL Configuration -----------------------*/ 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_OscInitStruct->PLL.PLLState != RCC_PLL_NONE) 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check if the PLL is used as system clock or not */ 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_PLL) 618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_OscInitStruct->PLL.PLLState == RCC_PLL_ON) 620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLSOURCE(RCC_OscInitStruct->PLL.PLLSource)); 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLM_VALUE(RCC_OscInitStruct->PLL.PLLM)); 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLN_VALUE(RCC_OscInitStruct->PLL.PLLN)); 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLP_VALUE(RCC_OscInitStruct->PLL.PLLP)); 626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLQ_VALUE(RCC_OscInitStruct->PLL.PLLQ)); 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR)); 628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Disable the main PLL. */ 630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); 631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till PLL is disabled */ 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) != 0U) 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Configure the main PLL clock source, multiplication and division factors. */ 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, 646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLM, 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLN, 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLP, 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLQ, 650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLR); 651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Enable the main PLL. */ 653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_PLL_ENABLE(); 654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Enable PLL System Clock output. */ 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_PLLCLKOUT_ENABLE(RCC_PLL_SYSCLK); 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ ARM GAS /tmp/cc6AIysH.s page 13 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till PLL is ready */ 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) == 0U) 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Disable the main PLL. */ 673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE(); 674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till PLL is disabled */ 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) != 0U) 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Unselect PLL clock source and disable outputs to save power */ 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC->PLLCFGR &= ~(RCC_PLLCFGR_PLLSRC | RCC_PLL_SYSCLK | RCC_PLL_48M1CLK | RCC_PLL_ADCCLK); 689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check if there is a request to disable the PLL used as System clock source */ 694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Do not return HAL_ERROR if request repeats the current configuration */ 701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = RCC->PLLCFGR; 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLPDIV) != ((RCC_OscInitStruct->PLL.PLLP) << RCC_PLL 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLQ) != ((((RCC_OscInitStruct->PLL.PLLQ) >> 1U) - 1U 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_OK; ARM GAS /tmp/cc6AIysH.s page 14 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Initialize the CPU, AHB and APB buses clocks according to the specified 720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * parameters in the RCC_ClkInitStruct. 721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_OscInitTypeDef structure that 722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * contains the configuration information for the RCC peripheral. 723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param FLatency FLASH Latency 724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * This parameter can be one of the following values: 725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_0 FLASH 0 Latency cycle 726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_1 FLASH 1 Latency cycle 727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_2 FLASH 2 Latency cycles 728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_3 FLASH 3 Latency cycles 729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_4 FLASH 4 Latency cycles 730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_5 FLASH 5 Latency cycles 731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_6 FLASH 6 Latency cycles 732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_7 FLASH 7 Latency cycles 733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_8 FLASH 8 Latency cycles 734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_9 FLASH 9 Latency cycles 735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_10 FLASH 10 Latency cycles 736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_11 FLASH 11 Latency cycles 737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_12 FLASH 12 Latency cycles 738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_13 FLASH 13 Latency cycles 739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_14 FLASH 14 Latency cycles 740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_15 FLASH 15 Latency cycles 741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency 743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * and updated by HAL_RCC_GetHCLKFreq() function called within this function 744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The HSI is used by default as system clock source after 746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * startup from Reset, wake-up from STANDBY mode. After restart from Reset, 747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * the HSI frequency is set to its default value 16 MHz. 748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The HSI can be selected as system clock source after 750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * from STOP modes or in case of failure of the HSE used directly or indirectly 751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * as system clock (if the Clock Security System CSS is enabled). 752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note A switch from one clock source to another occurs only if the target 754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * clock source is ready (clock stable after startup delay or PLL locked). 755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * If a clock source which is not yet ready is selected, the switch will 756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * occur when the clock source is ready. 757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note You can use HAL_RCC_GetClockConfig() function to know which clock is 759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * currently used as system clock source. 760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Depending on the device voltage range, the software has to set correctly 762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency 763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * (for more details refer to section above "Initialization/de-initialization functions") 764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllfreq; 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t hpre = RCC_SYSCLK_DIV1; 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check Null pointer */ ARM GAS /tmp/cc6AIysH.s page 15 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_ClkInitStruct == NULL) 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_CLOCKTYPE(RCC_ClkInitStruct->ClockType)); 780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency)); 781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* To correctly read data from FLASH memory, the number of wait states (LATENCY) 783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** must be correctly programmed according to the frequency of the CPU clock 784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (HCLK) and the supply voltage of the device. */ 785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Increasing the number of wait states because of higher CPU frequency */ 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (FLatency > __HAL_FLASH_GET_LATENCY()) 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ 790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash 793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (__HAL_FLASH_GET_LATENCY() != FLatency) 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*------------------------- SYSCLK Configuration ---------------------------*/ 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); 804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* PLL is selected as System Clock Source */ 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the PLL ready flag */ 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (READ_BIT(RCC->CR, RCC_CR_PLLRDY) == 0U) 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Undershoot management when selection PLL as SYSCLK source and frequency above 80Mhz */ 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Compute target PLL output frequency */ 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllfreq = RCC_GetSysClockFreqFromPLLSource(); 816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Intermediate step with HCLK prescaler 2 necessary before to go over 80Mhz */ 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(pllfreq > 80000000U) 819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((READ_BIT(RCC->CFGR, RCC_CFGR_HPRE) == RCC_SYSCLK_DIV1)) || 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (RCC_ClkInitStruct->AHBCLKDivider == RCC_SYSCLK_DIV1)))) 823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_SYSCLK_DIV2); 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** hpre = RCC_SYSCLK_DIV2; 826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else ARM GAS /tmp/cc6AIysH.s page 16 830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* HSE is selected as System Clock Source */ 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the HSE ready flag */ 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_HSERDY) == 0U) 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* HSI is selected as System Clock Source */ 841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the HSI ready flag */ 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_HSIRDY) == 0U) 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Overshoot management when going down from PLL as SYSCLK source and frequency above 80Mhz * 850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllfreq = HAL_RCC_GetSysClockFreq(); 851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Intermediate step with HCLK prescaler 2 necessary before to go under 80Mhz */ 853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(pllfreq > 80000000U) 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_SYSCLK_DIV2); 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** hpre = RCC_SYSCLK_DIV2; 857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_SW, RCC_ClkInitStruct->SYSCLKSource); 862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*-------------------------- HCLK Configuration --------------------------*/ 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set the highest APB divider in order to ensure that we do not go through 879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** a non-spec phase whatever we decrease or increase HCLK. */ 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); 883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, RCC_HCLK_DIV16); ARM GAS /tmp/cc6AIysH.s page 17 887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set the new HCLK clock divider */ 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); 891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Is intermediate HCLK prescaler 2 applied internally, complete with HCLK prescaler 1 */ 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(hpre == RCC_SYSCLK_DIV2) 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_SYSCLK_DIV1); 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Decreasing the number of wait states because of lower CPU frequency */ 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (FLatency < __HAL_FLASH_GET_LATENCY()) 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ 906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash 909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** memory by polling the FLASH_ACR register */ 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (__HAL_FLASH_GET_LATENCY() != FLatency) 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*-------------------------- PCLK1 Configuration ---------------------------*/ 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); 925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*-------------------------- PCLK2 Configuration ---------------------------*/ 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3U)); 933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SystemCoreClock = HAL_RCC_GetSysClockFreq() >> (AHBPrescTable[READ_BIT(RCC->CFGR, RCC_CFGR_HPRE) 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Configure the source of time base considering new system clocks settings*/ 939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_InitTick(uwTickPrio); 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @} ARM GAS /tmp/cc6AIysH.s page 18 944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group2 Peripheral Control functions 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief RCC clocks control functions 948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** @verbatim 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** =============================================================================== 951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ##### Peripheral Control functions ##### 952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** =============================================================================== 953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** [..] 954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** This subsection provides a set of functions allowing to: 955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Output clock to MCO pin. 957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Retrieve current clock frequencies. 958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Enable the Clock Security System. 959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** @endverbatim 961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @{ 962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Select the clock source to output on MCO pin(PA8/PG10). 966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note PA8/PG10 should be configured in alternate function mode. 967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The default configuration of the GPIOG pin 10 (PG10) is set to reset mode (NRST pin) 968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * and user shall set the NRST_MODE Bit in the FLASH OPTR register to be able to use it 969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * as an MCO pin. 970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * The @ref HAL_FLASHEx_OBProgram() API can be used to configure the NRST_MODE Bit value. 971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_MCOx specifies the output direction for the clock source. 972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * For STM32G4xx family this parameter can have only one value: 973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO_PA8 Clock source to output on MCO1 pin(PA8). 974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO_PG10 Clock source to output on MCO1 pin(PG10). 975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_MCOSource specifies the clock source to output. 976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * This parameter can be one of the following values: 977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_NOCLOCK MCO output disabled, no clock on MCO 978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_SYSCLK system clock selected as MCO source 979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI HSI clock selected as MCO source 980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSE HSE clock selected as MCO source 981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK main PLL clock selected as MCO source 982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSI LSI clock selected as MCO source 983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSE LSE clock selected as MCO source 984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO source for devices with 985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_MCODiv specifies the MCO prescaler. 986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * This parameter can be one of the following values: 987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_1 no division applied to MCO clock 988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_2 division by 2 applied to MCO clock 989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_4 division by 4 applied to MCO clock 990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_8 division by 8 applied to MCO clock 991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_16 division by 16 applied to MCO clock 992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv) 995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_InitTypeDef gpio_initstruct; 997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t mcoindex; 998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t mco_gpio_index; 999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_TypeDef * mco_gpio_port; 1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/cc6AIysH.s page 19 1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_MCO(RCC_MCOx)); 1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Common GPIO init parameters */ 1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Mode = GPIO_MODE_AF_PP; 1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Pull = GPIO_NOPULL; 1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get MCOx selection */ 1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** mcoindex = RCC_MCOx & RCC_MCO_INDEX_MASK; 1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get MCOx GPIO Port */ 1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** mco_gpio_port = (GPIO_TypeDef *) RCC_GET_MCO_GPIO_PORT(RCC_MCOx); 1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* MCOx Clock Enable */ 1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** mco_gpio_index = RCC_GET_MCO_GPIO_INDEX(RCC_MCOx); 1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->AHB2ENR, (1UL << mco_gpio_index )); 1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Configure the MCOx pin in alternate function mode */ 1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Pin = RCC_GET_MCO_GPIO_PIN(RCC_MCOx); 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Alternate = RCC_GET_MCO_GPIO_AF(RCC_MCOx); 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_GPIO_Init(mco_gpio_port, &gpio_initstruct); 1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (mcoindex == RCC_MCO1_INDEX) 1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_MCODIV(RCC_MCODiv)); 1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); 1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Mask MCOSEL[] and MCOPRE[] bits then set MCO clock source and prescaler */ 1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, (RCC_CFGR_MCOSEL | RCC_CFGR_MCOPRE), (RCC_MCOSource | RCC_MCODiv)); 1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Return the SYSCLK frequency. 1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The system frequency computed by this function is not the real 1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * frequency in the chip. It is calculated based on the predefined 1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * constant and the selected clock source: 1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If SYSCLK source is HSI, function returns values based on HSI_VALUE(*) 1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If SYSCLK source is HSE, function returns values based on HSE_VALUE(**) 1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If SYSCLK source is PLL, function returns values based on HSE_VALUE(**), 1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * HSI_VALUE(*) Value multiplied/divided by the PLL factors. 1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note (*) HSI_VALUE is a constant defined in stm32g4xx_hal_conf.h file (default value 1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 16 MHz) but the real value may vary depending on the variations 1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * in voltage and temperature. 1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note (**) HSE_VALUE is a constant defined in stm32g4xx_hal_conf.h file (default value 1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 8 MHz), user has to ensure that HSE_VALUE is same as the real 1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * frequency of the crystal used. Otherwise, this function may 1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * have wrong result. 1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The result of this function could be not correct when using fractional 1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * value for HSE crystal. 1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note This function can be used by the user application to compute the 1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * baudrate for the communication peripherals or configure other parameters. 1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Each time SYSCLK changes, this function must be called to update the ARM GAS /tmp/cc6AIysH.s page 20 1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * right SYSCLK value. Otherwise, any configuration based on this function will be incorre 1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval SYSCLK frequency 1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t HAL_RCC_GetSysClockFreq(void) 1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllvco, pllsource, pllr, pllm; 1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t sysclockfreq; 1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSI) 1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* HSI used as system clock source */ 1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = HSI_VALUE; 1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else if (__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSE) 1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* HSE used as system clock source */ 1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = HSE_VALUE; 1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else if (__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL) 1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* PLL used as system clock source */ 1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* PLL_VCO = ((HSE_VALUE or HSI_VALUE)/ PLLM) * PLLN 1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SYSCLK = PLL_VCO / PLLR 1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllsource = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC); 1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllm = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1U ; 1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** switch (pllsource) 1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** case RCC_PLLSOURCE_HSE: /* HSE used as PLL clock source */ 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllvco = (HSE_VALUE / pllm) * (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_P 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** case RCC_PLLSOURCE_HSI: /* HSI used as PLL clock source */ 1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** default: 1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllvco = (HSI_VALUE / pllm) * (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_P 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllr = ((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos) + 1U ) * 2U; 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = 0U; 1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return sysclockfreq; 1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Return the HCLK frequency. 1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Each time HCLK changes, this function must be called to update the 1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * right HCLK value. Otherwise, any configuration based on this function will be incorrect 1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * ARM GAS /tmp/cc6AIysH.s page 21 1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency. 1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval HCLK frequency in Hz 1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t HAL_RCC_GetHCLKFreq(void) 1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return SystemCoreClock; 1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Return the PCLK1 frequency. 1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Each time PCLK1 changes, this function must be called to update the 1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * right PCLK1 value. Otherwise, any configuration based on this function will be incorrec 1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval PCLK1 frequency in Hz 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK1Freq(void) 1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq() >> (APBPrescTable[READ_BIT(RCC->CFGR, RCC_CFGR_PPRE1) >> RCC_CFGR_P 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Return the PCLK2 frequency. 1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Each time PCLK2 changes, this function must be called to update the 1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * right PCLK2 value. Otherwise, any configuration based on this function will be incorrec 1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval PCLK2 frequency in Hz 1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK2Freq(void) 1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq()>> (APBPrescTable[READ_BIT(RCC->CFGR, RCC_CFGR_PPRE2) >> RCC_CFGR_PP 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Configure the RCC_OscInitStruct according to the internal 1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * RCC configuration registers. 1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that 1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * will be configured. 1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) 1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(RCC_OscInitStruct != (void *)NULL); 1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set all possible values for the Oscillator type parameter ---------------*/ 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI | \ 1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLA 1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the HSE configuration -----------------------------------------------*/ 1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_HSEBYP) == RCC_CR_HSEBYP) 1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS; 1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else if(READ_BIT(RCC->CR, RCC_CR_HSEON) == RCC_CR_HSEON) 1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_ON; 1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } ARM GAS /tmp/cc6AIysH.s page 22 1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_OFF; 1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the HSI configuration -----------------------------------------------*/ 1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_HSION) == RCC_CR_HSION) 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_ON; 1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_OFF; 1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSICalibrationValue = READ_BIT(RCC->ICSCR, RCC_ICSCR_HSITRIM) >> RCC_ICSCR_HSI 1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the LSE configuration -----------------------------------------------*/ 1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->BDCR, RCC_BDCR_LSEBYP) == RCC_BDCR_LSEBYP) 1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS; 1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else if(READ_BIT(RCC->BDCR, RCC_BDCR_LSEON) == RCC_BDCR_LSEON) 1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_ON; 1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_OFF; 1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the LSI configuration -----------------------------------------------*/ 1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CSR, RCC_CSR_LSION) == RCC_CSR_LSION) 1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_ON; 1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_OFF; 1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the HSI48 configuration ---------------------------------------------*/ 1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CRRCR, RCC_CRRCR_HSI48ON) == RCC_CRRCR_HSI48ON) 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSI48State = RCC_HSI48_ON; 1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSI48State = RCC_HSI48_OFF; 1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the PLL configuration -----------------------------------------------*/ 1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_PLLON) == RCC_CR_PLLON) 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_ON; 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else ARM GAS /tmp/cc6AIysH.s page 23 1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_OFF; 1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLSource = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC); 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLM = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLN = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos; 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLQ = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLQ) >> RCC_PLLCFGR_PLLQ_Pos 1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLR = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLP = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLPDIV) >> RCC_PLLCFGR_PLLPDIV_ 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Configure the RCC_ClkInitStruct according to the internal 1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * RCC configuration registers. 1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_ClkInitTypeDef structure that 1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * will be configured. 1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param pFLatency Pointer on the Flash Latency. 1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency) 1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(RCC_ClkInitStruct != (void *)NULL); 1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(pFLatency != (void *)NULL); 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set all possible values for the Clock type parameter --------------------*/ 1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the SYSCLK configuration --------------------------------------------*/ 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->SYSCLKSource = READ_BIT(RCC->CFGR, RCC_CFGR_SW); 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the HCLK configuration ----------------------------------------------*/ 1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->AHBCLKDivider = READ_BIT(RCC->CFGR, RCC_CFGR_HPRE); 1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the APB1 configuration ----------------------------------------------*/ 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->APB1CLKDivider = READ_BIT(RCC->CFGR, RCC_CFGR_PPRE1); 1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the APB2 configuration ----------------------------------------------*/ 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->APB2CLKDivider = (READ_BIT(RCC->CFGR, RCC_CFGR_PPRE2) >> 3U); 1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the Flash Wait State (Latency) configuration ------------------------*/ 1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** *pFLatency = __HAL_FLASH_GET_LATENCY(); 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Enable the Clock Security System. 1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If a failure is detected on the HSE oscillator clock, this oscillator 1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * is automatically disabled and an interrupt is generated to inform the 1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * software about the failure (Clock Security System Interrupt, CSSI), 1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * allowing the MCU to perform rescue operations. The CSSI is linked to 1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * the Cortex-M4 NMI (Non-Maskable Interrupt) exception vector. 1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The Clock Security System can only be cleared by reset. 1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_EnableCSS(void) 1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_CSSON) ; ARM GAS /tmp/cc6AIysH.s page 24 1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Enable the LSE Clock Security System. 1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If a failure is detected on the external 32 kHz oscillator, 1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * the LSE clock is no longer supplied to the RTC but no hardware action 1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * is made to the registers. If enabled, an interrupt will be generated 1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * and handle through @ref RCCEx_EXTI_LINE_LSECSS 1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The Clock Security System can only be cleared by reset or after a LSE failure detection 1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_EnableLSECSS(void) 1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; 1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Disable the LSE Clock Security System. 1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note After LSE failure detection, the software must disable LSECSSON 1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The Clock Security System can only be cleared by reset otherwise. 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_DisableLSECSS(void) 1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; 1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Handle the RCC Clock Security System interrupt request. 1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note This API should be called under the NMI_Handler(). 1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_NMI_IRQHandler(void) 1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check RCC CSSF interrupt flag */ 1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(__HAL_RCC_GET_IT(RCC_IT_CSS)) 1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* RCC Clock Security System interrupt user callback */ 1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_RCC_CSSCallback(); 1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Clear RCC CSS pending bit */ 1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_CLEAR_IT(RCC_IT_CSS); 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief RCC Clock Security System interrupt callback. 1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval none 1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __weak void HAL_RCC_CSSCallback(void) 1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* NOTE : This function should not be modified, when the callback is needed, 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** the HAL_RCC_CSSCallback should be implemented in the user file 1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** ARM GAS /tmp/cc6AIysH.s page 25 1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @} 1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @} 1348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Private function prototypes -----------------------------------------------*/ 1351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @addtogroup RCC_Private_Functions 1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @{ 1353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** 1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Compute SYSCLK frequency based on PLL SYSCLK source. 1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval SYSCLK frequency 1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** static uint32_t RCC_GetSysClockFreqFromPLLSource(void) 1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 28 .loc 1 1360 1 view -0 29 .cfi_startproc 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 32 @ link register save eliminated. 1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllvco, pllsource, pllr, pllm; 33 .loc 1 1361 3 view .LVU1 1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t sysclockfreq; 34 .loc 1 1362 3 view .LVU2 1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* PLL_VCO = (HSE_VALUE or HSI_VALUE/ PLLM) * PLLN 1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SYSCLK = PLL_VCO / PLLR 1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllsource = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC); 35 .loc 1 1367 3 view .LVU3 36 .loc 1 1367 15 is_stmt 0 view .LVU4 37 0000 124B ldr r3, .L5 38 0002 DA68 ldr r2, [r3, #12] 39 .loc 1 1367 13 view .LVU5 40 0004 02F00302 and r2, r2, #3 41 .LVL0: 1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllm = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1U ; 42 .loc 1 1368 3 is_stmt 1 view .LVU6 43 .loc 1 1368 11 is_stmt 0 view .LVU7 44 0008 DB68 ldr r3, [r3, #12] 45 .loc 1 1368 52 view .LVU8 46 000a C3F30313 ubfx r3, r3, #4, #4 47 .loc 1 1368 8 view .LVU9 48 000e 0133 adds r3, r3, #1 49 .LVL1: 1369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** switch (pllsource) 50 .loc 1 1370 3 is_stmt 1 view .LVU10 51 0010 032A cmp r2, #3 52 0012 11D0 beq .L4 1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** case RCC_PLLSOURCE_HSE: /* HSE used as PLL clock source */ 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllvco = (HSE_VALUE / pllm) * (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; ARM GAS /tmp/cc6AIysH.s page 26 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** case RCC_PLLSOURCE_HSI: /* HSI used as PLL clock source */ 1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** default: 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllvco = (HSI_VALUE / pllm) * (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos 53 .loc 1 1378 5 view .LVU11 54 .loc 1 1378 25 is_stmt 0 view .LVU12 55 0014 0E48 ldr r0, .L5+4 56 0016 B0FBF3F0 udiv r0, r0, r3 57 .loc 1 1378 36 view .LVU13 58 001a 0C4B ldr r3, .L5 59 .LVL2: 60 .loc 1 1378 36 view .LVU14 61 001c DB68 ldr r3, [r3, #12] 62 .loc 1 1378 77 view .LVU15 63 001e C3F30623 ubfx r3, r3, #8, #7 64 .loc 1 1378 12 view .LVU16 65 0022 03FB00F0 mul r0, r3, r0 66 .LVL3: 1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 67 .loc 1 1379 5 is_stmt 1 view .LVU17 68 .L3: 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllr = ((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos) + 1U ) * 2U; 69 .loc 1 1382 3 view .LVU18 70 .loc 1 1382 12 is_stmt 0 view .LVU19 71 0026 094B ldr r3, .L5 72 0028 DB68 ldr r3, [r3, #12] 73 .loc 1 1382 53 view .LVU20 74 002a C3F34163 ubfx r3, r3, #25, #2 75 .loc 1 1382 78 view .LVU21 76 002e 0133 adds r3, r3, #1 77 .loc 1 1382 8 view .LVU22 78 0030 5B00 lsls r3, r3, #1 79 .LVL4: 1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 80 .loc 1 1383 3 is_stmt 1 view .LVU23 1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return sysclockfreq; 81 .loc 1 1385 3 view .LVU24 1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 82 .loc 1 1386 1 is_stmt 0 view .LVU25 83 0032 B0FBF3F0 udiv r0, r0, r3 84 .LVL5: 85 .loc 1 1386 1 view .LVU26 86 0036 7047 bx lr 87 .LVL6: 88 .L4: 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 89 .loc 1 1373 5 is_stmt 1 view .LVU27 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 90 .loc 1 1373 25 is_stmt 0 view .LVU28 91 0038 0648 ldr r0, .L5+8 92 003a B0FBF3F0 udiv r0, r0, r3 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 93 .loc 1 1373 36 view .LVU29 94 003e 034B ldr r3, .L5 ARM GAS /tmp/cc6AIysH.s page 27 95 .LVL7: 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 96 .loc 1 1373 36 view .LVU30 97 0040 DB68 ldr r3, [r3, #12] 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 98 .loc 1 1373 77 view .LVU31 99 0042 C3F30623 ubfx r3, r3, #8, #7 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 100 .loc 1 1373 12 view .LVU32 101 0046 03FB00F0 mul r0, r3, r0 102 .LVL8: 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 103 .loc 1 1374 5 is_stmt 1 view .LVU33 104 004a ECE7 b .L3 105 .L6: 106 .align 2 107 .L5: 108 004c 00100240 .word 1073876992 109 0050 0024F400 .word 16000000 110 0054 0080BB00 .word 12288000 111 .cfi_endproc 112 .LFE344: 114 .section .text.HAL_RCC_DeInit,"ax",%progbits 115 .align 1 116 .global HAL_RCC_DeInit 117 .syntax unified 118 .thumb 119 .thumb_func 121 HAL_RCC_DeInit: 122 .LFB329: 220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 123 .loc 1 220 1 view -0 124 .cfi_startproc 125 @ args = 0, pretend = 0, frame = 0 126 @ frame_needed = 0, uses_anonymous_args = 0 127 0000 38B5 push {r3, r4, r5, lr} 128 .LCFI0: 129 .cfi_def_cfa_offset 16 130 .cfi_offset 3, -16 131 .cfi_offset 4, -12 132 .cfi_offset 5, -8 133 .cfi_offset 14, -4 221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 134 .loc 1 221 3 view .LVU35 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 135 .loc 1 224 3 view .LVU36 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 136 .loc 1 224 15 is_stmt 0 view .LVU37 137 0002 FFF7FEFF bl HAL_GetTick 138 .LVL9: 139 0006 0446 mov r4, r0 140 .LVL10: 227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 141 .loc 1 227 3 is_stmt 1 view .LVU38 142 0008 2C4A ldr r2, .L24 143 000a 1368 ldr r3, [r2] 144 000c 43F48073 orr r3, r3, #256 ARM GAS /tmp/cc6AIysH.s page 28 145 0010 1360 str r3, [r2] 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 146 .loc 1 230 3 view .LVU39 147 .LVL11: 148 .L8: 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 149 .loc 1 230 43 view .LVU40 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 150 .loc 1 230 10 is_stmt 0 view .LVU41 151 0012 2A4B ldr r3, .L24 152 0014 1B68 ldr r3, [r3] 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 153 .loc 1 230 43 view .LVU42 154 0016 13F4806F tst r3, #1024 155 001a 07D1 bne .L20 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 156 .loc 1 232 5 is_stmt 1 view .LVU43 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 157 .loc 1 232 10 is_stmt 0 view .LVU44 158 001c FFF7FEFF bl HAL_GetTick 159 .LVL12: 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 160 .loc 1 232 24 discriminator 1 view .LVU45 161 0020 001B subs r0, r0, r4 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 162 .loc 1 232 8 discriminator 1 view .LVU46 163 0022 0228 cmp r0, #2 164 0024 F5D9 bls .L8 234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 165 .loc 1 234 14 view .LVU47 166 0026 0324 movs r4, #3 167 .LVL13: 168 .L9: 296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 169 .loc 1 296 1 view .LVU48 170 0028 2046 mov r0, r4 171 002a 38BD pop {r3, r4, r5, pc} 172 .LVL14: 173 .L20: 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 174 .loc 1 239 3 is_stmt 1 view .LVU49 175 002c 234D ldr r5, .L24 176 002e 6B68 ldr r3, [r5, #4] 177 0030 43F08043 orr r3, r3, #1073741824 178 0034 6B60 str r3, [r5, #4] 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 179 .loc 1 242 3 view .LVU50 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 180 .loc 1 242 15 is_stmt 0 view .LVU51 181 0036 FFF7FEFF bl HAL_GetTick 182 .LVL15: 183 003a 0446 mov r4, r0 184 .LVL16: 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 185 .loc 1 245 3 is_stmt 1 view .LVU52 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 186 .loc 1 245 13 is_stmt 0 view .LVU53 ARM GAS /tmp/cc6AIysH.s page 29 187 003c 0123 movs r3, #1 188 003e AB60 str r3, [r5, #8] 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 189 .loc 1 248 3 is_stmt 1 view .LVU54 190 .LVL17: 191 .L11: 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 192 .loc 1 248 44 view .LVU55 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 193 .loc 1 248 10 is_stmt 0 view .LVU56 194 0040 1E4B ldr r3, .L24 195 0042 9B68 ldr r3, [r3, #8] 196 0044 03F00C03 and r3, r3, #12 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 197 .loc 1 248 44 view .LVU57 198 0048 042B cmp r3, #4 199 004a 08D0 beq .L21 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 200 .loc 1 250 5 is_stmt 1 view .LVU58 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 201 .loc 1 250 10 is_stmt 0 view .LVU59 202 004c FFF7FEFF bl HAL_GetTick 203 .LVL18: 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 204 .loc 1 250 24 discriminator 1 view .LVU60 205 0050 001B subs r0, r0, r4 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 206 .loc 1 250 8 discriminator 1 view .LVU61 207 0052 41F28833 movw r3, #5000 208 0056 9842 cmp r0, r3 209 0058 F2D9 bls .L11 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 210 .loc 1 252 14 view .LVU62 211 005a 0324 movs r4, #3 212 .LVL19: 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 213 .loc 1 252 14 view .LVU63 214 005c E4E7 b .L9 215 .LVL20: 216 .L21: 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 217 .loc 1 257 3 is_stmt 1 view .LVU64 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 218 .loc 1 257 19 is_stmt 0 view .LVU65 219 005e 184B ldr r3, .L24+4 220 0060 184A ldr r2, .L24+8 221 0062 1A60 str r2, [r3] 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 222 .loc 1 260 3 is_stmt 1 view .LVU66 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 223 .loc 1 260 7 is_stmt 0 view .LVU67 224 0064 184B ldr r3, .L24+12 225 0066 1868 ldr r0, [r3] 226 0068 FFF7FEFF bl HAL_InitTick 227 .LVL21: 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 228 .loc 1 260 6 discriminator 1 view .LVU68 ARM GAS /tmp/cc6AIysH.s page 30 229 006c 0446 mov r4, r0 230 .LVL22: 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 231 .loc 1 260 6 discriminator 1 view .LVU69 232 006e 08B1 cbz r0, .L22 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 233 .loc 1 262 12 view .LVU70 234 0070 0124 movs r4, #1 235 0072 D9E7 b .L9 236 .L22: 266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 237 .loc 1 266 3 is_stmt 1 view .LVU71 266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 238 .loc 1 266 11 is_stmt 0 view .LVU72 239 0074 114B ldr r3, .L24 240 0076 4FF48072 mov r2, #256 241 007a 1A60 str r2, [r3] 269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 242 .loc 1 269 3 is_stmt 1 view .LVU73 269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 243 .loc 1 269 11 is_stmt 0 view .LVU74 244 007c 1A60 str r2, [r3] 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 245 .loc 1 272 3 is_stmt 1 view .LVU75 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 246 .loc 1 272 15 is_stmt 0 view .LVU76 247 007e FFF7FEFF bl HAL_GetTick 248 .LVL23: 249 0082 0546 mov r5, r0 250 .LVL24: 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 251 .loc 1 275 3 is_stmt 1 view .LVU77 252 .L13: 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 253 .loc 1 275 43 view .LVU78 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 254 .loc 1 275 10 is_stmt 0 view .LVU79 255 0084 0D4B ldr r3, .L24 256 0086 1B68 ldr r3, [r3] 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 257 .loc 1 275 43 view .LVU80 258 0088 13F0007F tst r3, #33554432 259 008c 06D0 beq .L23 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 260 .loc 1 277 5 is_stmt 1 view .LVU81 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 261 .loc 1 277 10 is_stmt 0 view .LVU82 262 008e FFF7FEFF bl HAL_GetTick 263 .LVL25: 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 264 .loc 1 277 24 discriminator 1 view .LVU83 265 0092 401B subs r0, r0, r5 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 266 .loc 1 277 8 discriminator 1 view .LVU84 267 0094 0228 cmp r0, #2 268 0096 F5D9 bls .L13 279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } ARM GAS /tmp/cc6AIysH.s page 31 269 .loc 1 279 14 view .LVU85 270 0098 0324 movs r4, #3 271 009a C5E7 b .L9 272 .L23: 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 273 .loc 1 284 3 is_stmt 1 view .LVU86 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 274 .loc 1 284 16 is_stmt 0 view .LVU87 275 009c 074B ldr r3, .L24 276 009e 4FF48052 mov r2, #4096 277 00a2 DA60 str r2, [r3, #12] 287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 278 .loc 1 287 3 is_stmt 1 view .LVU88 279 00a4 0022 movs r2, #0 280 00a6 9A61 str r2, [r3, #24] 290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 281 .loc 1 290 3 view .LVU89 282 00a8 4FF0FF32 mov r2, #-1 283 00ac 1A62 str r2, [r3, #32] 293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 284 .loc 1 293 3 view .LVU90 285 00ae D3F89420 ldr r2, [r3, #148] 286 00b2 42F40002 orr r2, r2, #8388608 287 00b6 C3F89420 str r2, [r3, #148] 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 288 .loc 1 295 3 view .LVU91 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 289 .loc 1 295 10 is_stmt 0 view .LVU92 290 00ba B5E7 b .L9 291 .L25: 292 .align 2 293 .L24: 294 00bc 00100240 .word 1073876992 295 00c0 00000000 .word SystemCoreClock 296 00c4 0024F400 .word 16000000 297 00c8 00000000 .word uwTickPrio 298 .cfi_endproc 299 .LFE329: 301 .section .text.HAL_RCC_OscConfig,"ax",%progbits 302 .align 1 303 .global HAL_RCC_OscConfig 304 .syntax unified 305 .thumb 306 .thumb_func 308 HAL_RCC_OscConfig: 309 .LVL26: 310 .LFB330: 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 311 .loc 1 313 1 is_stmt 1 view -0 312 .cfi_startproc 313 @ args = 0, pretend = 0, frame = 8 314 @ frame_needed = 0, uses_anonymous_args = 0 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t temp_sysclksrc; 315 .loc 1 314 3 view .LVU94 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t temp_pllckcfg; 316 .loc 1 315 3 view .LVU95 316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/cc6AIysH.s page 32 317 .loc 1 316 3 view .LVU96 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 318 .loc 1 319 3 view .LVU97 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 319 .loc 1 319 6 is_stmt 0 view .LVU98 320 0000 0028 cmp r0, #0 321 0002 00F04F82 beq .L84 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 322 .loc 1 313 1 view .LVU99 323 0006 70B5 push {r4, r5, r6, lr} 324 .LCFI1: 325 .cfi_def_cfa_offset 16 326 .cfi_offset 4, -16 327 .cfi_offset 5, -12 328 .cfi_offset 6, -8 329 .cfi_offset 14, -4 330 0008 82B0 sub sp, sp, #8 331 .LCFI2: 332 .cfi_def_cfa_offset 24 333 000a 0446 mov r4, r0 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 334 .loc 1 325 3 is_stmt 1 view .LVU100 328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 335 .loc 1 328 3 view .LVU101 328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 336 .loc 1 328 26 is_stmt 0 view .LVU102 337 000c 0368 ldr r3, [r0] 328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 338 .loc 1 328 6 view .LVU103 339 000e 13F0010F tst r3, #1 340 0012 37D0 beq .L28 331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 341 .loc 1 331 5 is_stmt 1 view .LVU104 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = __HAL_RCC_GET_PLL_OSCSOURCE(); 342 .loc 1 333 5 view .LVU105 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = __HAL_RCC_GET_PLL_OSCSOURCE(); 343 .loc 1 333 22 is_stmt 0 view .LVU106 344 0014 A44A ldr r2, .L130 345 0016 9368 ldr r3, [r2, #8] 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = __HAL_RCC_GET_PLL_OSCSOURCE(); 346 .loc 1 333 20 view .LVU107 347 0018 03F00C03 and r3, r3, #12 348 .LVL27: 334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 349 .loc 1 334 5 is_stmt 1 view .LVU108 334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 350 .loc 1 334 21 is_stmt 0 view .LVU109 351 001c D268 ldr r2, [r2, #12] 334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 352 .loc 1 334 19 view .LVU110 353 001e 02F00302 and r2, r2, #3 354 .LVL28: 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 355 .loc 1 337 5 is_stmt 1 view .LVU111 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 356 .loc 1 337 8 is_stmt 0 view .LVU112 357 0022 0C2B cmp r3, #12 ARM GAS /tmp/cc6AIysH.s page 33 358 0024 23D0 beq .L115 359 .L29: 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 360 .loc 1 337 88 discriminator 3 view .LVU113 361 0026 082B cmp r3, #8 362 0028 23D0 beq .L30 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 363 .loc 1 347 7 is_stmt 1 view .LVU114 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 364 .loc 1 347 7 view .LVU115 365 002a 6368 ldr r3, [r4, #4] 366 .LVL29: 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 367 .loc 1 347 7 is_stmt 0 view .LVU116 368 002c B3F5803F cmp r3, #65536 369 0030 4ED0 beq .L116 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 370 .loc 1 347 7 is_stmt 1 discriminator 2 view .LVU117 371 0032 B3F5A02F cmp r3, #327680 372 0036 51D0 beq .L117 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 373 .loc 1 347 7 discriminator 5 view .LVU118 374 0038 9B4B ldr r3, .L130 375 003a 1A68 ldr r2, [r3] 376 .LVL30: 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 377 .loc 1 347 7 is_stmt 0 discriminator 5 view .LVU119 378 003c 22F48032 bic r2, r2, #65536 379 0040 1A60 str r2, [r3] 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 380 .loc 1 347 7 is_stmt 1 discriminator 5 view .LVU120 381 0042 1A68 ldr r2, [r3] 382 0044 22F48022 bic r2, r2, #262144 383 0048 1A60 str r2, [r3] 384 .L33: 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 385 .loc 1 347 7 discriminator 7 view .LVU121 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 386 .loc 1 350 7 view .LVU122 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 387 .loc 1 350 28 is_stmt 0 view .LVU123 388 004a 6368 ldr r3, [r4, #4] 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 389 .loc 1 350 10 view .LVU124 390 004c 002B cmp r3, #0 391 004e 52D0 beq .L35 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 392 .loc 1 353 9 is_stmt 1 view .LVU125 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 393 .loc 1 353 21 is_stmt 0 view .LVU126 394 0050 FFF7FEFF bl HAL_GetTick 395 .LVL31: 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 396 .loc 1 353 21 view .LVU127 397 0054 0546 mov r5, r0 398 .LVL32: 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/cc6AIysH.s page 34 399 .loc 1 356 9 is_stmt 1 view .LVU128 400 .L36: 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 401 .loc 1 356 49 view .LVU129 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 402 .loc 1 356 16 is_stmt 0 view .LVU130 403 0056 944B ldr r3, .L130 404 0058 1B68 ldr r3, [r3] 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 405 .loc 1 356 49 view .LVU131 406 005a 13F4003F tst r3, #131072 407 005e 11D1 bne .L28 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 408 .loc 1 358 11 is_stmt 1 view .LVU132 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 409 .loc 1 358 16 is_stmt 0 view .LVU133 410 0060 FFF7FEFF bl HAL_GetTick 411 .LVL33: 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 412 .loc 1 358 30 discriminator 1 view .LVU134 413 0064 401B subs r0, r0, r5 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 414 .loc 1 358 14 discriminator 1 view .LVU135 415 0066 6428 cmp r0, #100 416 0068 F5D9 bls .L36 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 417 .loc 1 360 20 view .LVU136 418 006a 0320 movs r0, #3 419 006c 23E2 b .L27 420 .LVL34: 421 .L115: 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 422 .loc 1 337 47 discriminator 1 view .LVU137 423 006e 032A cmp r2, #3 424 0070 D9D1 bne .L29 425 .L30: 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 426 .loc 1 339 7 is_stmt 1 view .LVU138 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 427 .loc 1 339 12 is_stmt 0 view .LVU139 428 0072 8D4B ldr r3, .L130 429 .LVL35: 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 430 .loc 1 339 12 view .LVU140 431 0074 1B68 ldr r3, [r3] 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 432 .loc 1 339 10 view .LVU141 433 0076 13F4003F tst r3, #131072 434 007a 03D0 beq .L28 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 435 .loc 1 339 73 discriminator 1 view .LVU142 436 007c 6368 ldr r3, [r4, #4] 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 437 .loc 1 339 52 discriminator 1 view .LVU143 438 007e 002B cmp r3, #0 439 0080 00F01282 beq .L118 440 .LVL36: ARM GAS /tmp/cc6AIysH.s page 35 441 .L28: 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 442 .loc 1 381 3 is_stmt 1 view .LVU144 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 443 .loc 1 381 26 is_stmt 0 view .LVU145 444 0084 2368 ldr r3, [r4] 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 445 .loc 1 381 6 view .LVU146 446 0086 13F0020F tst r3, #2 447 008a 5DD0 beq .L40 384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_HSI_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); 448 .loc 1 384 5 is_stmt 1 view .LVU147 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 449 .loc 1 385 5 view .LVU148 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = __HAL_RCC_GET_PLL_OSCSOURCE(); 450 .loc 1 388 5 view .LVU149 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = __HAL_RCC_GET_PLL_OSCSOURCE(); 451 .loc 1 388 22 is_stmt 0 view .LVU150 452 008c 864A ldr r2, .L130 453 008e 9368 ldr r3, [r2, #8] 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = __HAL_RCC_GET_PLL_OSCSOURCE(); 454 .loc 1 388 20 view .LVU151 455 0090 03F00C03 and r3, r3, #12 456 .LVL37: 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((temp_sysclksrc == RCC_CFGR_SWS_PLL) && (temp_pllckcfg == RCC_PLLSOURCE_HSI)) || (temp_sys 457 .loc 1 389 5 is_stmt 1 view .LVU152 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((temp_sysclksrc == RCC_CFGR_SWS_PLL) && (temp_pllckcfg == RCC_PLLSOURCE_HSI)) || (temp_sys 458 .loc 1 389 21 is_stmt 0 view .LVU153 459 0094 D268 ldr r2, [r2, #12] 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((temp_sysclksrc == RCC_CFGR_SWS_PLL) && (temp_pllckcfg == RCC_PLLSOURCE_HSI)) || (temp_sys 460 .loc 1 389 19 view .LVU154 461 0096 02F00302 and r2, r2, #3 462 .LVL38: 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 463 .loc 1 390 5 is_stmt 1 view .LVU155 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 464 .loc 1 390 8 is_stmt 0 view .LVU156 465 009a 0C2B cmp r3, #12 466 009c 3AD0 beq .L119 467 .L41: 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 468 .loc 1 390 88 discriminator 3 view .LVU157 469 009e 042B cmp r3, #4 470 00a0 3AD0 beq .L42 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 471 .loc 1 413 7 is_stmt 1 view .LVU158 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 472 .loc 1 413 28 is_stmt 0 view .LVU159 473 00a2 E368 ldr r3, [r4, #12] 474 .LVL39: 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 475 .loc 1 413 10 view .LVU160 476 00a4 002B cmp r3, #0 477 00a6 75D0 beq .L45 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 478 .loc 1 416 9 is_stmt 1 view .LVU161 479 00a8 7F4A ldr r2, .L130 ARM GAS /tmp/cc6AIysH.s page 36 480 .LVL40: 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 481 .loc 1 416 9 is_stmt 0 view .LVU162 482 00aa 1368 ldr r3, [r2] 483 00ac 43F48073 orr r3, r3, #256 484 00b0 1360 str r3, [r2] 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 485 .loc 1 419 9 is_stmt 1 view .LVU163 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 486 .loc 1 419 21 is_stmt 0 view .LVU164 487 00b2 FFF7FEFF bl HAL_GetTick 488 .LVL41: 489 00b6 0546 mov r5, r0 490 .LVL42: 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 491 .loc 1 422 9 is_stmt 1 view .LVU165 492 .L46: 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 493 .loc 1 422 49 view .LVU166 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 494 .loc 1 422 16 is_stmt 0 view .LVU167 495 00b8 7B4B ldr r3, .L130 496 00ba 1B68 ldr r3, [r3] 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 497 .loc 1 422 49 view .LVU168 498 00bc 13F4806F tst r3, #1024 499 00c0 5FD1 bne .L120 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 500 .loc 1 424 11 is_stmt 1 view .LVU169 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 501 .loc 1 424 16 is_stmt 0 view .LVU170 502 00c2 FFF7FEFF bl HAL_GetTick 503 .LVL43: 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 504 .loc 1 424 30 discriminator 1 view .LVU171 505 00c6 401B subs r0, r0, r5 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 506 .loc 1 424 14 discriminator 1 view .LVU172 507 00c8 0228 cmp r0, #2 508 00ca F5D9 bls .L46 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 509 .loc 1 426 20 view .LVU173 510 00cc 0320 movs r0, #3 511 00ce F2E1 b .L27 512 .LVL44: 513 .L116: 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 514 .loc 1 347 7 is_stmt 1 discriminator 1 view .LVU174 515 00d0 754A ldr r2, .L130 516 .LVL45: 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 517 .loc 1 347 7 is_stmt 0 discriminator 1 view .LVU175 518 00d2 1368 ldr r3, [r2] 519 00d4 43F48033 orr r3, r3, #65536 520 00d8 1360 str r3, [r2] 521 00da B6E7 b .L33 522 .LVL46: ARM GAS /tmp/cc6AIysH.s page 37 523 .L117: 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 524 .loc 1 347 7 is_stmt 1 discriminator 4 view .LVU176 525 00dc 03F18043 add r3, r3, #1073741824 526 00e0 A3F53C33 sub r3, r3, #192512 527 00e4 1A68 ldr r2, [r3] 528 .LVL47: 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 529 .loc 1 347 7 is_stmt 0 discriminator 4 view .LVU177 530 00e6 42F48022 orr r2, r2, #262144 531 00ea 1A60 str r2, [r3] 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 532 .loc 1 347 7 is_stmt 1 discriminator 4 view .LVU178 533 00ec 1A68 ldr r2, [r3] 534 00ee 42F48032 orr r2, r2, #65536 535 00f2 1A60 str r2, [r3] 536 00f4 A9E7 b .L33 537 .L35: 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 538 .loc 1 367 9 view .LVU179 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 539 .loc 1 367 21 is_stmt 0 view .LVU180 540 00f6 FFF7FEFF bl HAL_GetTick 541 .LVL48: 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 542 .loc 1 367 21 view .LVU181 543 00fa 0546 mov r5, r0 544 .LVL49: 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 545 .loc 1 370 9 is_stmt 1 view .LVU182 546 .L38: 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 547 .loc 1 370 49 view .LVU183 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 548 .loc 1 370 16 is_stmt 0 view .LVU184 549 00fc 6A4B ldr r3, .L130 550 00fe 1B68 ldr r3, [r3] 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 551 .loc 1 370 49 view .LVU185 552 0100 13F4003F tst r3, #131072 553 0104 BED0 beq .L28 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 554 .loc 1 372 11 is_stmt 1 view .LVU186 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 555 .loc 1 372 16 is_stmt 0 view .LVU187 556 0106 FFF7FEFF bl HAL_GetTick 557 .LVL50: 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 558 .loc 1 372 30 discriminator 1 view .LVU188 559 010a 401B subs r0, r0, r5 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 560 .loc 1 372 14 discriminator 1 view .LVU189 561 010c 6428 cmp r0, #100 562 010e F5D9 bls .L38 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 563 .loc 1 374 20 view .LVU190 564 0110 0320 movs r0, #3 ARM GAS /tmp/cc6AIysH.s page 38 565 0112 D0E1 b .L27 566 .LVL51: 567 .L119: 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 568 .loc 1 390 47 discriminator 1 view .LVU191 569 0114 022A cmp r2, #2 570 0116 C2D1 bne .L41 571 .L42: 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 572 .loc 1 393 7 is_stmt 1 view .LVU192 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 573 .loc 1 393 12 is_stmt 0 view .LVU193 574 0118 634B ldr r3, .L130 575 .LVL52: 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 576 .loc 1 393 12 view .LVU194 577 011a 1B68 ldr r3, [r3] 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 578 .loc 1 393 10 view .LVU195 579 011c 13F4806F tst r3, #1024 580 0120 03D0 beq .L44 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 581 .loc 1 393 73 discriminator 1 view .LVU196 582 0122 E368 ldr r3, [r4, #12] 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 583 .loc 1 393 52 discriminator 1 view .LVU197 584 0124 002B cmp r3, #0 585 0126 00F0C181 beq .L88 586 .L44: 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 587 .loc 1 401 9 is_stmt 1 view .LVU198 588 012a 5F4A ldr r2, .L130 589 .LVL53: 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 590 .loc 1 401 9 is_stmt 0 view .LVU199 591 012c 5368 ldr r3, [r2, #4] 592 012e 23F0FE43 bic r3, r3, #2130706432 593 0132 2169 ldr r1, [r4, #16] 594 0134 43EA0163 orr r3, r3, r1, lsl #24 595 0138 5360 str r3, [r2, #4] 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 596 .loc 1 404 9 is_stmt 1 view .LVU200 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 597 .loc 1 404 13 is_stmt 0 view .LVU201 598 013a 5C4B ldr r3, .L130+4 599 013c 1868 ldr r0, [r3] 600 013e FFF7FEFF bl HAL_InitTick 601 .LVL54: 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 602 .loc 1 404 12 discriminator 1 view .LVU202 603 0142 0028 cmp r0, #0 604 0144 40F0B481 bne .L121 605 .LVL55: 606 .L40: 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 607 .loc 1 453 3 is_stmt 1 view .LVU203 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/cc6AIysH.s page 39 608 .loc 1 453 26 is_stmt 0 view .LVU204 609 0148 2368 ldr r3, [r4] 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 610 .loc 1 453 6 view .LVU205 611 014a 13F0080F tst r3, #8 612 014e 4CD0 beq .L50 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 613 .loc 1 456 5 is_stmt 1 view .LVU206 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 614 .loc 1 459 5 view .LVU207 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 615 .loc 1 459 25 is_stmt 0 view .LVU208 616 0150 6369 ldr r3, [r4, #20] 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 617 .loc 1 459 7 view .LVU209 618 0152 9BB3 cbz r3, .L51 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 619 .loc 1 462 7 is_stmt 1 view .LVU210 620 0154 544A ldr r2, .L130 621 0156 D2F89430 ldr r3, [r2, #148] 622 015a 43F00103 orr r3, r3, #1 623 015e C2F89430 str r3, [r2, #148] 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 624 .loc 1 465 7 view .LVU211 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 625 .loc 1 465 19 is_stmt 0 view .LVU212 626 0162 FFF7FEFF bl HAL_GetTick 627 .LVL56: 628 0166 0546 mov r5, r0 629 .LVL57: 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 630 .loc 1 468 7 is_stmt 1 view .LVU213 631 .L52: 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 632 .loc 1 468 49 view .LVU214 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 633 .loc 1 468 14 is_stmt 0 view .LVU215 634 0168 4F4B ldr r3, .L130 635 016a D3F89430 ldr r3, [r3, #148] 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 636 .loc 1 468 49 view .LVU216 637 016e 13F0020F tst r3, #2 638 0172 3AD1 bne .L50 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 639 .loc 1 470 9 is_stmt 1 view .LVU217 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 640 .loc 1 470 14 is_stmt 0 view .LVU218 641 0174 FFF7FEFF bl HAL_GetTick 642 .LVL58: 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 643 .loc 1 470 28 discriminator 1 view .LVU219 644 0178 401B subs r0, r0, r5 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 645 .loc 1 470 12 discriminator 1 view .LVU220 646 017a 0228 cmp r0, #2 647 017c F4D9 bls .L52 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } ARM GAS /tmp/cc6AIysH.s page 40 648 .loc 1 472 18 view .LVU221 649 017e 0320 movs r0, #3 650 0180 99E1 b .L27 651 .LVL59: 652 .L120: 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 653 .loc 1 431 9 is_stmt 1 view .LVU222 654 0182 494A ldr r2, .L130 655 0184 5368 ldr r3, [r2, #4] 656 0186 23F0FE43 bic r3, r3, #2130706432 657 018a 2169 ldr r1, [r4, #16] 658 018c 43EA0163 orr r3, r3, r1, lsl #24 659 0190 5360 str r3, [r2, #4] 660 0192 D9E7 b .L40 661 .LVL60: 662 .L45: 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 663 .loc 1 436 9 view .LVU223 664 0194 444A ldr r2, .L130 665 .LVL61: 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 666 .loc 1 436 9 is_stmt 0 view .LVU224 667 0196 1368 ldr r3, [r2] 668 0198 23F48073 bic r3, r3, #256 669 019c 1360 str r3, [r2] 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 670 .loc 1 439 9 is_stmt 1 view .LVU225 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 671 .loc 1 439 21 is_stmt 0 view .LVU226 672 019e FFF7FEFF bl HAL_GetTick 673 .LVL62: 674 01a2 0546 mov r5, r0 675 .LVL63: 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 676 .loc 1 442 9 is_stmt 1 view .LVU227 677 .L48: 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 678 .loc 1 442 49 view .LVU228 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 679 .loc 1 442 16 is_stmt 0 view .LVU229 680 01a4 404B ldr r3, .L130 681 01a6 1B68 ldr r3, [r3] 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 682 .loc 1 442 49 view .LVU230 683 01a8 13F4806F tst r3, #1024 684 01ac CCD0 beq .L40 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 685 .loc 1 444 11 is_stmt 1 view .LVU231 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 686 .loc 1 444 16 is_stmt 0 view .LVU232 687 01ae FFF7FEFF bl HAL_GetTick 688 .LVL64: 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 689 .loc 1 444 30 discriminator 1 view .LVU233 690 01b2 401B subs r0, r0, r5 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 691 .loc 1 444 14 discriminator 1 view .LVU234 ARM GAS /tmp/cc6AIysH.s page 41 692 01b4 0228 cmp r0, #2 693 01b6 F5D9 bls .L48 446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 694 .loc 1 446 20 view .LVU235 695 01b8 0320 movs r0, #3 696 01ba 7CE1 b .L27 697 .LVL65: 698 .L51: 479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 699 .loc 1 479 7 is_stmt 1 view .LVU236 700 01bc 3A4A ldr r2, .L130 701 01be D2F89430 ldr r3, [r2, #148] 702 01c2 23F00103 bic r3, r3, #1 703 01c6 C2F89430 str r3, [r2, #148] 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 704 .loc 1 482 7 view .LVU237 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 705 .loc 1 482 19 is_stmt 0 view .LVU238 706 01ca FFF7FEFF bl HAL_GetTick 707 .LVL66: 708 01ce 0546 mov r5, r0 709 .LVL67: 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 710 .loc 1 485 7 is_stmt 1 view .LVU239 711 .L54: 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 712 .loc 1 485 48 view .LVU240 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 713 .loc 1 485 13 is_stmt 0 view .LVU241 714 01d0 354B ldr r3, .L130 715 01d2 D3F89430 ldr r3, [r3, #148] 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 716 .loc 1 485 48 view .LVU242 717 01d6 13F0020F tst r3, #2 718 01da 06D0 beq .L50 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 719 .loc 1 487 9 is_stmt 1 view .LVU243 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 720 .loc 1 487 13 is_stmt 0 view .LVU244 721 01dc FFF7FEFF bl HAL_GetTick 722 .LVL68: 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 723 .loc 1 487 27 discriminator 1 view .LVU245 724 01e0 401B subs r0, r0, r5 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 725 .loc 1 487 11 discriminator 1 view .LVU246 726 01e2 0228 cmp r0, #2 727 01e4 F4D9 bls .L54 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 728 .loc 1 489 18 view .LVU247 729 01e6 0320 movs r0, #3 730 01e8 65E1 b .L27 731 .LVL69: 732 .L50: 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 733 .loc 1 495 3 is_stmt 1 view .LVU248 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/cc6AIysH.s page 42 734 .loc 1 495 26 is_stmt 0 view .LVU249 735 01ea 2368 ldr r3, [r4] 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 736 .loc 1 495 6 view .LVU250 737 01ec 13F0040F tst r3, #4 738 01f0 00F08180 beq .L56 739 .LBB2: 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 740 .loc 1 497 5 is_stmt 1 view .LVU251 741 .LVL70: 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 742 .loc 1 500 5 view .LVU252 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 743 .loc 1 504 5 view .LVU253 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 744 .loc 1 504 9 is_stmt 0 view .LVU254 745 01f4 2C4B ldr r3, .L130 746 01f6 9B6D ldr r3, [r3, #88] 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 747 .loc 1 504 41 view .LVU255 748 01f8 13F0805F tst r3, #268435456 749 01fc 36D1 bne .L94 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pwrclkchanged = SET; 750 .loc 1 506 7 is_stmt 1 view .LVU256 751 .LBB3: 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pwrclkchanged = SET; 752 .loc 1 506 7 view .LVU257 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pwrclkchanged = SET; 753 .loc 1 506 7 view .LVU258 754 01fe 2A4B ldr r3, .L130 755 0200 9A6D ldr r2, [r3, #88] 756 0202 42F08052 orr r2, r2, #268435456 757 0206 9A65 str r2, [r3, #88] 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pwrclkchanged = SET; 758 .loc 1 506 7 view .LVU259 759 0208 9B6D ldr r3, [r3, #88] 760 020a 03F08053 and r3, r3, #268435456 761 020e 0193 str r3, [sp, #4] 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pwrclkchanged = SET; 762 .loc 1 506 7 view .LVU260 763 0210 019B ldr r3, [sp, #4] 764 .LBE3: 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pwrclkchanged = SET; 765 .loc 1 506 7 view .LVU261 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 766 .loc 1 507 7 view .LVU262 767 .LVL71: 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 768 .loc 1 507 21 is_stmt 0 view .LVU263 769 0212 0125 movs r5, #1 770 .LVL72: 771 .L57: 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 772 .loc 1 510 5 is_stmt 1 view .LVU264 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 773 .loc 1 510 9 is_stmt 0 view .LVU265 774 0214 264B ldr r3, .L130+8 ARM GAS /tmp/cc6AIysH.s page 43 775 0216 1B68 ldr r3, [r3] 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 776 .loc 1 510 8 view .LVU266 777 0218 13F4807F tst r3, #256 778 021c 28D0 beq .L122 779 .L58: 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 780 .loc 1 528 5 is_stmt 1 view .LVU267 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 781 .loc 1 528 5 view .LVU268 782 021e A368 ldr r3, [r4, #8] 783 0220 012B cmp r3, #1 784 0222 39D0 beq .L123 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 785 .loc 1 528 5 discriminator 2 view .LVU269 786 0224 052B cmp r3, #5 787 0226 45D0 beq .L124 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 788 .loc 1 528 5 discriminator 5 view .LVU270 789 0228 1F4B ldr r3, .L130 790 022a D3F89020 ldr r2, [r3, #144] 791 022e 22F00102 bic r2, r2, #1 792 0232 C3F89020 str r2, [r3, #144] 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 793 .loc 1 528 5 discriminator 5 view .LVU271 794 0236 D3F89020 ldr r2, [r3, #144] 795 023a 22F00402 bic r2, r2, #4 796 023e C3F89020 str r2, [r3, #144] 797 .L62: 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 798 .loc 1 528 5 discriminator 7 view .LVU272 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 799 .loc 1 531 5 view .LVU273 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 800 .loc 1 531 26 is_stmt 0 view .LVU274 801 0242 A368 ldr r3, [r4, #8] 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 802 .loc 1 531 8 view .LVU275 803 0244 002B cmp r3, #0 804 0246 43D0 beq .L64 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 805 .loc 1 534 7 is_stmt 1 view .LVU276 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 806 .loc 1 534 19 is_stmt 0 view .LVU277 807 0248 FFF7FEFF bl HAL_GetTick 808 .LVL73: 809 024c 0646 mov r6, r0 810 .LVL74: 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 811 .loc 1 537 7 is_stmt 1 view .LVU278 812 .L65: 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 813 .loc 1 537 51 view .LVU279 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 814 .loc 1 537 14 is_stmt 0 view .LVU280 815 024e 164B ldr r3, .L130 816 0250 D3F89030 ldr r3, [r3, #144] ARM GAS /tmp/cc6AIysH.s page 44 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 817 .loc 1 537 51 view .LVU281 818 0254 13F0020F tst r3, #2 819 0258 4CD1 bne .L67 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 820 .loc 1 539 9 is_stmt 1 view .LVU282 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 821 .loc 1 539 13 is_stmt 0 view .LVU283 822 025a FFF7FEFF bl HAL_GetTick 823 .LVL75: 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 824 .loc 1 539 27 discriminator 1 view .LVU284 825 025e 801B subs r0, r0, r6 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 826 .loc 1 539 11 discriminator 1 view .LVU285 827 0260 41F28833 movw r3, #5000 828 0264 9842 cmp r0, r3 829 0266 F2D9 bls .L65 541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 830 .loc 1 541 18 view .LVU286 831 0268 0320 movs r0, #3 832 026a 24E1 b .L27 833 .LVL76: 834 .L94: 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 835 .loc 1 497 22 view .LVU287 836 026c 0025 movs r5, #0 837 026e D1E7 b .L57 838 .LVL77: 839 .L122: 513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 840 .loc 1 513 7 is_stmt 1 view .LVU288 841 0270 0F4A ldr r2, .L130+8 842 0272 1368 ldr r3, [r2] 843 0274 43F48073 orr r3, r3, #256 844 0278 1360 str r3, [r2] 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 845 .loc 1 516 7 view .LVU289 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 846 .loc 1 516 19 is_stmt 0 view .LVU290 847 027a FFF7FEFF bl HAL_GetTick 848 .LVL78: 849 027e 0646 mov r6, r0 850 .LVL79: 518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 851 .loc 1 518 7 is_stmt 1 view .LVU291 852 .L59: 518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 853 .loc 1 518 14 view .LVU292 854 0280 0B4B ldr r3, .L130+8 855 0282 1B68 ldr r3, [r3] 856 0284 13F4807F tst r3, #256 857 0288 C9D1 bne .L58 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 858 .loc 1 520 9 view .LVU293 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 859 .loc 1 520 14 is_stmt 0 view .LVU294 ARM GAS /tmp/cc6AIysH.s page 45 860 028a FFF7FEFF bl HAL_GetTick 861 .LVL80: 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 862 .loc 1 520 28 discriminator 1 view .LVU295 863 028e 801B subs r0, r0, r6 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 864 .loc 1 520 12 discriminator 1 view .LVU296 865 0290 0228 cmp r0, #2 866 0292 F5D9 bls .L59 522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 867 .loc 1 522 18 view .LVU297 868 0294 0320 movs r0, #3 869 0296 0EE1 b .L27 870 .LVL81: 871 .L123: 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 872 .loc 1 528 5 is_stmt 1 discriminator 1 view .LVU298 873 0298 034A ldr r2, .L130 874 029a D2F89030 ldr r3, [r2, #144] 875 029e 43F00103 orr r3, r3, #1 876 02a2 C2F89030 str r3, [r2, #144] 877 02a6 CCE7 b .L62 878 .L131: 879 .align 2 880 .L130: 881 02a8 00100240 .word 1073876992 882 02ac 00000000 .word uwTickPrio 883 02b0 00700040 .word 1073770496 884 .L124: 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 885 .loc 1 528 5 discriminator 4 view .LVU299 886 02b4 884B ldr r3, .L132 887 02b6 D3F89020 ldr r2, [r3, #144] 888 02ba 42F00402 orr r2, r2, #4 889 02be C3F89020 str r2, [r3, #144] 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 890 .loc 1 528 5 discriminator 4 view .LVU300 891 02c2 D3F89020 ldr r2, [r3, #144] 892 02c6 42F00102 orr r2, r2, #1 893 02ca C3F89020 str r2, [r3, #144] 894 02ce B8E7 b .L62 895 .L64: 548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 896 .loc 1 548 7 view .LVU301 548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 897 .loc 1 548 19 is_stmt 0 view .LVU302 898 02d0 FFF7FEFF bl HAL_GetTick 899 .LVL82: 900 02d4 0646 mov r6, r0 901 .LVL83: 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 902 .loc 1 551 7 is_stmt 1 view .LVU303 903 .L68: 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 904 .loc 1 551 51 view .LVU304 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 905 .loc 1 551 14 is_stmt 0 view .LVU305 ARM GAS /tmp/cc6AIysH.s page 46 906 02d6 804B ldr r3, .L132 907 02d8 D3F89030 ldr r3, [r3, #144] 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 908 .loc 1 551 51 view .LVU306 909 02dc 13F0020F tst r3, #2 910 02e0 08D0 beq .L67 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 911 .loc 1 553 9 is_stmt 1 view .LVU307 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 912 .loc 1 553 13 is_stmt 0 view .LVU308 913 02e2 FFF7FEFF bl HAL_GetTick 914 .LVL84: 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 915 .loc 1 553 27 discriminator 1 view .LVU309 916 02e6 801B subs r0, r0, r6 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 917 .loc 1 553 11 discriminator 1 view .LVU310 918 02e8 41F28833 movw r3, #5000 919 02ec 9842 cmp r0, r3 920 02ee F2D9 bls .L68 555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 921 .loc 1 555 18 view .LVU311 922 02f0 0320 movs r0, #3 923 02f2 E0E0 b .L27 924 .L67: 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 925 .loc 1 561 5 is_stmt 1 view .LVU312 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 926 .loc 1 561 8 is_stmt 0 view .LVU313 927 02f4 E5B9 cbnz r5, .L125 928 .LVL85: 929 .L56: 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 930 .loc 1 561 8 view .LVU314 931 .LBE2: 568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 932 .loc 1 568 3 is_stmt 1 view .LVU315 568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 933 .loc 1 568 25 is_stmt 0 view .LVU316 934 02f6 2368 ldr r3, [r4] 568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 935 .loc 1 568 5 view .LVU317 936 02f8 13F0200F tst r3, #32 937 02fc 35D0 beq .L70 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 938 .loc 1 571 5 is_stmt 1 view .LVU318 574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 939 .loc 1 574 5 view .LVU319 574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 940 .loc 1 574 25 is_stmt 0 view .LVU320 941 02fe A369 ldr r3, [r4, #24] 574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 942 .loc 1 574 7 view .LVU321 943 0300 E3B1 cbz r3, .L71 577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 944 .loc 1 577 7 is_stmt 1 view .LVU322 945 0302 754A ldr r2, .L132 ARM GAS /tmp/cc6AIysH.s page 47 946 0304 D2F89830 ldr r3, [r2, #152] 947 0308 43F00103 orr r3, r3, #1 948 030c C2F89830 str r3, [r2, #152] 580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 949 .loc 1 580 7 view .LVU323 580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 950 .loc 1 580 19 is_stmt 0 view .LVU324 951 0310 FFF7FEFF bl HAL_GetTick 952 .LVL86: 953 0314 0546 mov r5, r0 954 .LVL87: 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 955 .loc 1 583 7 is_stmt 1 view .LVU325 956 .L72: 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 957 .loc 1 583 54 view .LVU326 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 958 .loc 1 583 13 is_stmt 0 view .LVU327 959 0316 704B ldr r3, .L132 960 0318 D3F89830 ldr r3, [r3, #152] 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 961 .loc 1 583 54 view .LVU328 962 031c 13F0020F tst r3, #2 963 0320 23D1 bne .L70 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 964 .loc 1 585 9 is_stmt 1 view .LVU329 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 965 .loc 1 585 13 is_stmt 0 view .LVU330 966 0322 FFF7FEFF bl HAL_GetTick 967 .LVL88: 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 968 .loc 1 585 27 discriminator 1 view .LVU331 969 0326 401B subs r0, r0, r5 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 970 .loc 1 585 11 discriminator 1 view .LVU332 971 0328 0228 cmp r0, #2 972 032a F4D9 bls .L72 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 973 .loc 1 587 18 view .LVU333 974 032c 0320 movs r0, #3 975 032e C2E0 b .L27 976 .LVL89: 977 .L125: 978 .LBB4: 563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 979 .loc 1 563 7 is_stmt 1 view .LVU334 980 0330 694A ldr r2, .L132 981 0332 936D ldr r3, [r2, #88] 982 0334 23F08053 bic r3, r3, #268435456 983 0338 9365 str r3, [r2, #88] 984 033a DCE7 b .L56 985 .LVL90: 986 .L71: 563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 987 .loc 1 563 7 is_stmt 0 view .LVU335 988 .LBE4: 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/cc6AIysH.s page 48 989 .loc 1 594 7 is_stmt 1 view .LVU336 990 033c 664A ldr r2, .L132 991 033e D2F89830 ldr r3, [r2, #152] 992 0342 23F00103 bic r3, r3, #1 993 0346 C2F89830 str r3, [r2, #152] 597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 994 .loc 1 597 7 view .LVU337 597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 995 .loc 1 597 19 is_stmt 0 view .LVU338 996 034a FFF7FEFF bl HAL_GetTick 997 .LVL91: 998 034e 0546 mov r5, r0 999 .LVL92: 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1000 .loc 1 600 7 is_stmt 1 view .LVU339 1001 .L74: 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1002 .loc 1 600 54 view .LVU340 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1003 .loc 1 600 13 is_stmt 0 view .LVU341 1004 0350 614B ldr r3, .L132 1005 0352 D3F89830 ldr r3, [r3, #152] 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1006 .loc 1 600 54 view .LVU342 1007 0356 13F0020F tst r3, #2 1008 035a 06D0 beq .L70 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1009 .loc 1 602 9 is_stmt 1 view .LVU343 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1010 .loc 1 602 13 is_stmt 0 view .LVU344 1011 035c FFF7FEFF bl HAL_GetTick 1012 .LVL93: 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1013 .loc 1 602 27 discriminator 1 view .LVU345 1014 0360 401B subs r0, r0, r5 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1015 .loc 1 602 11 discriminator 1 view .LVU346 1016 0362 0228 cmp r0, #2 1017 0364 F4D9 bls .L74 604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1018 .loc 1 604 18 view .LVU347 1019 0366 0320 movs r0, #3 1020 0368 A5E0 b .L27 1021 .LVL94: 1022 .L70: 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1023 .loc 1 612 3 is_stmt 1 view .LVU348 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1024 .loc 1 614 3 view .LVU349 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1025 .loc 1 614 29 is_stmt 0 view .LVU350 1026 036a E369 ldr r3, [r4, #28] 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1027 .loc 1 614 6 view .LVU351 1028 036c 002B cmp r3, #0 1029 036e 00F0A180 beq .L100 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/cc6AIysH.s page 49 1030 .loc 1 617 5 is_stmt 1 view .LVU352 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1031 .loc 1 617 9 is_stmt 0 view .LVU353 1032 0372 594A ldr r2, .L132 1033 0374 9268 ldr r2, [r2, #8] 1034 0376 02F00C02 and r2, r2, #12 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1035 .loc 1 617 8 view .LVU354 1036 037a 0C2A cmp r2, #12 1037 037c 64D0 beq .L76 619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1038 .loc 1 619 7 is_stmt 1 view .LVU355 619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1039 .loc 1 619 10 is_stmt 0 view .LVU356 1040 037e 022B cmp r3, #2 1041 0380 13D0 beq .L126 673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1042 .loc 1 673 9 is_stmt 1 view .LVU357 1043 0382 554A ldr r2, .L132 1044 0384 1368 ldr r3, [r2] 1045 0386 23F08073 bic r3, r3, #16777216 1046 038a 1360 str r3, [r2] 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1047 .loc 1 676 9 view .LVU358 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1048 .loc 1 676 21 is_stmt 0 view .LVU359 1049 038c FFF7FEFF bl HAL_GetTick 1050 .LVL95: 1051 0390 0446 mov r4, r0 1052 .LVL96: 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1053 .loc 1 679 9 is_stmt 1 view .LVU360 1054 .L82: 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1055 .loc 1 679 49 view .LVU361 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1056 .loc 1 679 16 is_stmt 0 view .LVU362 1057 0392 514B ldr r3, .L132 1058 0394 1B68 ldr r3, [r3] 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1059 .loc 1 679 49 view .LVU363 1060 0396 13F0007F tst r3, #33554432 1061 039a 4ED0 beq .L127 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1062 .loc 1 681 11 is_stmt 1 view .LVU364 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1063 .loc 1 681 16 is_stmt 0 view .LVU365 1064 039c FFF7FEFF bl HAL_GetTick 1065 .LVL97: 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1066 .loc 1 681 30 discriminator 1 view .LVU366 1067 03a0 001B subs r0, r0, r4 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1068 .loc 1 681 14 discriminator 1 view .LVU367 1069 03a2 0228 cmp r0, #2 1070 03a4 F5D9 bls .L82 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } ARM GAS /tmp/cc6AIysH.s page 50 1071 .loc 1 683 20 view .LVU368 1072 03a6 0320 movs r0, #3 1073 03a8 85E0 b .L27 1074 .LVL98: 1075 .L126: 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLM_VALUE(RCC_OscInitStruct->PLL.PLLM)); 1076 .loc 1 622 9 is_stmt 1 view .LVU369 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLN_VALUE(RCC_OscInitStruct->PLL.PLLN)); 1077 .loc 1 623 9 view .LVU370 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLP_VALUE(RCC_OscInitStruct->PLL.PLLP)); 1078 .loc 1 624 9 view .LVU371 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLQ_VALUE(RCC_OscInitStruct->PLL.PLLQ)); 1079 .loc 1 625 9 view .LVU372 626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR)); 1080 .loc 1 626 9 view .LVU373 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1081 .loc 1 627 9 view .LVU374 630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1082 .loc 1 630 9 view .LVU375 1083 03aa 4B4A ldr r2, .L132 1084 03ac 1368 ldr r3, [r2] 1085 03ae 23F08073 bic r3, r3, #16777216 1086 03b2 1360 str r3, [r2] 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1087 .loc 1 633 9 view .LVU376 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1088 .loc 1 633 21 is_stmt 0 view .LVU377 1089 03b4 FFF7FEFF bl HAL_GetTick 1090 .LVL99: 1091 03b8 0546 mov r5, r0 1092 .LVL100: 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1093 .loc 1 636 9 is_stmt 1 view .LVU378 1094 .L78: 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1095 .loc 1 636 49 view .LVU379 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1096 .loc 1 636 16 is_stmt 0 view .LVU380 1097 03ba 474B ldr r3, .L132 1098 03bc 1B68 ldr r3, [r3] 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1099 .loc 1 636 49 view .LVU381 1100 03be 13F0007F tst r3, #33554432 1101 03c2 06D0 beq .L128 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1102 .loc 1 638 11 is_stmt 1 view .LVU382 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1103 .loc 1 638 16 is_stmt 0 view .LVU383 1104 03c4 FFF7FEFF bl HAL_GetTick 1105 .LVL101: 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1106 .loc 1 638 30 discriminator 1 view .LVU384 1107 03c8 401B subs r0, r0, r5 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1108 .loc 1 638 14 discriminator 1 view .LVU385 1109 03ca 0228 cmp r0, #2 1110 03cc F5D9 bls .L78 ARM GAS /tmp/cc6AIysH.s page 51 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1111 .loc 1 640 20 view .LVU386 1112 03ce 0320 movs r0, #3 1113 03d0 71E0 b .L27 1114 .L128: 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLM, 1115 .loc 1 645 9 is_stmt 1 view .LVU387 1116 03d2 414A ldr r2, .L132 1117 03d4 D368 ldr r3, [r2, #12] 1118 03d6 4149 ldr r1, .L132+4 1119 03d8 1940 ands r1, r1, r3 1120 03da 236A ldr r3, [r4, #32] 1121 03dc 606A ldr r0, [r4, #36] 1122 03de 0138 subs r0, r0, #1 1123 03e0 43EA0013 orr r3, r3, r0, lsl #4 1124 03e4 A06A ldr r0, [r4, #40] 1125 03e6 43EA0023 orr r3, r3, r0, lsl #8 1126 03ea 206B ldr r0, [r4, #48] 1127 03ec 4008 lsrs r0, r0, #1 1128 03ee 0138 subs r0, r0, #1 1129 03f0 43EA4053 orr r3, r3, r0, lsl #21 1130 03f4 606B ldr r0, [r4, #52] 1131 03f6 4008 lsrs r0, r0, #1 1132 03f8 0138 subs r0, r0, #1 1133 03fa 43EA4063 orr r3, r3, r0, lsl #25 1134 03fe E06A ldr r0, [r4, #44] 1135 0400 43EAC063 orr r3, r3, r0, lsl #27 1136 0404 1943 orrs r1, r1, r3 1137 0406 D160 str r1, [r2, #12] 653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1138 .loc 1 653 9 view .LVU388 1139 0408 1368 ldr r3, [r2] 1140 040a 43F08073 orr r3, r3, #16777216 1141 040e 1360 str r3, [r2] 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1142 .loc 1 656 10 view .LVU389 1143 0410 D368 ldr r3, [r2, #12] 1144 0412 43F08073 orr r3, r3, #16777216 1145 0416 D360 str r3, [r2, #12] 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1146 .loc 1 659 9 view .LVU390 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1147 .loc 1 659 21 is_stmt 0 view .LVU391 1148 0418 FFF7FEFF bl HAL_GetTick 1149 .LVL102: 1150 041c 0446 mov r4, r0 1151 .LVL103: 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1152 .loc 1 662 9 is_stmt 1 view .LVU392 1153 .L80: 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1154 .loc 1 662 49 view .LVU393 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1155 .loc 1 662 16 is_stmt 0 view .LVU394 1156 041e 2E4B ldr r3, .L132 1157 0420 1B68 ldr r3, [r3] 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/cc6AIysH.s page 52 1158 .loc 1 662 49 view .LVU395 1159 0422 13F0007F tst r3, #33554432 1160 0426 06D1 bne .L129 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1161 .loc 1 664 11 is_stmt 1 view .LVU396 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1162 .loc 1 664 16 is_stmt 0 view .LVU397 1163 0428 FFF7FEFF bl HAL_GetTick 1164 .LVL104: 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1165 .loc 1 664 30 discriminator 1 view .LVU398 1166 042c 001B subs r0, r0, r4 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1167 .loc 1 664 14 discriminator 1 view .LVU399 1168 042e 0228 cmp r0, #2 1169 0430 F5D9 bls .L80 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1170 .loc 1 666 20 view .LVU400 1171 0432 0320 movs r0, #3 1172 0434 3FE0 b .L27 1173 .L129: 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1174 .loc 1 715 10 view .LVU401 1175 0436 0020 movs r0, #0 1176 0438 3DE0 b .L27 1177 .L127: 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1178 .loc 1 688 9 is_stmt 1 view .LVU402 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1179 .loc 1 688 12 is_stmt 0 view .LVU403 1180 043a 274A ldr r2, .L132 1181 043c D168 ldr r1, [r2, #12] 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1182 .loc 1 688 22 view .LVU404 1183 043e 284B ldr r3, .L132+8 1184 0440 0B40 ands r3, r3, r1 1185 0442 D360 str r3, [r2, #12] 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1186 .loc 1 715 10 view .LVU405 1187 0444 0020 movs r0, #0 1188 0446 36E0 b .L27 1189 .LVL105: 1190 .L76: 694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1191 .loc 1 694 7 is_stmt 1 view .LVU406 694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1192 .loc 1 694 9 is_stmt 0 view .LVU407 1193 0448 012B cmp r3, #1 1194 044a 36D0 beq .L104 701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 1195 .loc 1 701 7 is_stmt 1 view .LVU408 701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 1196 .loc 1 701 21 is_stmt 0 view .LVU409 1197 044c 224B ldr r3, .L132 1198 044e DB68 ldr r3, [r3, #12] 1199 .LVL106: 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC ARM GAS /tmp/cc6AIysH.s page 53 1200 .loc 1 702 7 is_stmt 1 view .LVU410 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 1201 .loc 1 702 11 is_stmt 0 view .LVU411 1202 0450 03F00301 and r1, r3, #3 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 1203 .loc 1 702 80 view .LVU412 1204 0454 226A ldr r2, [r4, #32] 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 1205 .loc 1 702 9 view .LVU413 1206 0456 9142 cmp r1, r2 1207 0458 31D1 bne .L105 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 1208 .loc 1 703 11 view .LVU414 1209 045a 03F0F002 and r2, r3, #240 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 1210 .loc 1 703 81 view .LVU415 1211 045e 616A ldr r1, [r4, #36] 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 1212 .loc 1 703 88 view .LVU416 1213 0460 0139 subs r1, r1, #1 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 1214 .loc 1 702 92 discriminator 1 view .LVU417 1215 0462 B2EB011F cmp r2, r1, lsl #4 1216 0466 2CD1 bne .L106 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLPDIV) != ((RCC_OscInitStruct->PLL.PLLP) << RCC_PLL 1217 .loc 1 704 11 view .LVU418 1218 0468 03F4FE42 and r2, r3, #32512 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLPDIV) != ((RCC_OscInitStruct->PLL.PLLP) << RCC_PLL 1219 .loc 1 704 80 view .LVU419 1220 046c A16A ldr r1, [r4, #40] 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 1221 .loc 1 703 120 view .LVU420 1222 046e B2EB012F cmp r2, r1, lsl #8 1223 0472 28D1 bne .L107 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLQ) != ((((RCC_OscInitStruct->PLL.PLLQ) >> 1U) - 1U 1224 .loc 1 705 11 view .LVU421 1225 0474 03F07842 and r2, r3, #-134217728 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLQ) != ((((RCC_OscInitStruct->PLL.PLLQ) >> 1U) - 1U 1226 .loc 1 705 83 view .LVU422 1227 0478 E16A ldr r1, [r4, #44] 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLPDIV) != ((RCC_OscInitStruct->PLL.PLLP) << RCC_PLL 1228 .loc 1 704 113 view .LVU423 1229 047a B2EBC16F cmp r2, r1, lsl #27 1230 047e 24D1 bne .L108 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1231 .loc 1 706 11 view .LVU424 1232 0480 03F4C001 and r1, r3, #6291456 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1233 .loc 1 706 82 view .LVU425 1234 0484 226B ldr r2, [r4, #48] 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1235 .loc 1 706 89 view .LVU426 1236 0486 5208 lsrs r2, r2, #1 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1237 .loc 1 706 96 view .LVU427 1238 0488 013A subs r2, r2, #1 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLQ) != ((((RCC_OscInitStruct->PLL.PLLQ) >> 1U) - 1U ARM GAS /tmp/cc6AIysH.s page 54 1239 .loc 1 705 119 view .LVU428 1240 048a B1EB425F cmp r1, r2, lsl #21 1241 048e 1ED1 bne .L109 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1242 .loc 1 707 11 view .LVU429 1243 0490 03F0C063 and r3, r3, #100663296 1244 .LVL107: 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1245 .loc 1 707 82 view .LVU430 1246 0494 626B ldr r2, [r4, #52] 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1247 .loc 1 707 89 view .LVU431 1248 0496 5208 lsrs r2, r2, #1 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1249 .loc 1 707 96 view .LVU432 1250 0498 013A subs r2, r2, #1 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1251 .loc 1 706 128 view .LVU433 1252 049a B3EB426F cmp r3, r2, lsl #25 1253 049e 18D1 bne .L110 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1254 .loc 1 715 10 view .LVU434 1255 04a0 0020 movs r0, #0 1256 04a2 08E0 b .L27 1257 .LVL108: 1258 .L84: 1259 .LCFI3: 1260 .cfi_def_cfa_offset 0 1261 .cfi_restore 4 1262 .cfi_restore 5 1263 .cfi_restore 6 1264 .cfi_restore 14 321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1265 .loc 1 321 12 view .LVU435 1266 04a4 0120 movs r0, #1 1267 .LVL109: 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1268 .loc 1 716 1 view .LVU436 1269 04a6 7047 bx lr 1270 .LVL110: 1271 .L118: 1272 .LCFI4: 1273 .cfi_def_cfa_offset 24 1274 .cfi_offset 4, -16 1275 .cfi_offset 5, -12 1276 .cfi_offset 6, -8 1277 .cfi_offset 14, -4 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1278 .loc 1 341 16 view .LVU437 1279 04a8 0120 movs r0, #1 1280 .LVL111: 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1281 .loc 1 341 16 view .LVU438 1282 04aa 04E0 b .L27 1283 .L88: 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1284 .loc 1 395 16 view .LVU439 ARM GAS /tmp/cc6AIysH.s page 55 1285 04ac 0120 movs r0, #1 1286 04ae 02E0 b .L27 1287 .LVL112: 1288 .L121: 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1289 .loc 1 406 18 view .LVU440 1290 04b0 0120 movs r0, #1 1291 04b2 00E0 b .L27 1292 .LVL113: 1293 .L100: 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1294 .loc 1 715 10 view .LVU441 1295 04b4 0020 movs r0, #0 1296 .LVL114: 1297 .L27: 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1298 .loc 1 716 1 view .LVU442 1299 04b6 02B0 add sp, sp, #8 1300 .LCFI5: 1301 .cfi_remember_state 1302 .cfi_def_cfa_offset 16 1303 @ sp needed 1304 04b8 70BD pop {r4, r5, r6, pc} 1305 .LVL115: 1306 .L104: 1307 .LCFI6: 1308 .cfi_restore_state 696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1309 .loc 1 696 16 view .LVU443 1310 04ba 0120 movs r0, #1 1311 04bc FBE7 b .L27 1312 .LVL116: 1313 .L105: 709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1314 .loc 1 709 16 view .LVU444 1315 04be 0120 movs r0, #1 1316 04c0 F9E7 b .L27 1317 .L106: 1318 04c2 0120 movs r0, #1 1319 04c4 F7E7 b .L27 1320 .L107: 1321 04c6 0120 movs r0, #1 1322 04c8 F5E7 b .L27 1323 .L108: 1324 04ca 0120 movs r0, #1 1325 04cc F3E7 b .L27 1326 .L109: 1327 04ce 0120 movs r0, #1 1328 04d0 F1E7 b .L27 1329 .LVL117: 1330 .L110: 709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1331 .loc 1 709 16 view .LVU445 1332 04d2 0120 movs r0, #1 1333 04d4 EFE7 b .L27 1334 .L133: 1335 04d6 00BF .align 2 ARM GAS /tmp/cc6AIysH.s page 56 1336 .L132: 1337 04d8 00100240 .word 1073876992 1338 04dc 0C809F01 .word 27230220 1339 04e0 FCFFEEFE .word -17891332 1340 .cfi_endproc 1341 .LFE330: 1343 .section .text.HAL_RCC_MCOConfig,"ax",%progbits 1344 .align 1 1345 .global HAL_RCC_MCOConfig 1346 .syntax unified 1347 .thumb 1348 .thumb_func 1350 HAL_RCC_MCOConfig: 1351 .LVL118: 1352 .LFB332: 995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_InitTypeDef gpio_initstruct; 1353 .loc 1 995 1 is_stmt 1 view -0 1354 .cfi_startproc 1355 @ args = 0, pretend = 0, frame = 24 1356 @ frame_needed = 0, uses_anonymous_args = 0 995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_InitTypeDef gpio_initstruct; 1357 .loc 1 995 1 is_stmt 0 view .LVU447 1358 0000 70B5 push {r4, r5, r6, lr} 1359 .LCFI7: 1360 .cfi_def_cfa_offset 16 1361 .cfi_offset 4, -16 1362 .cfi_offset 5, -12 1363 .cfi_offset 6, -8 1364 .cfi_offset 14, -4 1365 0002 86B0 sub sp, sp, #24 1366 .LCFI8: 1367 .cfi_def_cfa_offset 40 1368 0004 0C46 mov r4, r1 1369 0006 1546 mov r5, r2 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t mcoindex; 1370 .loc 1 996 3 is_stmt 1 view .LVU448 997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t mco_gpio_index; 1371 .loc 1 997 3 view .LVU449 998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_TypeDef * mco_gpio_port; 1372 .loc 1 998 3 view .LVU450 999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1373 .loc 1 999 3 view .LVU451 1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1374 .loc 1 1002 3 view .LVU452 1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 1375 .loc 1 1005 3 view .LVU453 1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 1376 .loc 1 1005 29 is_stmt 0 view .LVU454 1377 0008 0223 movs r3, #2 1378 000a 0293 str r3, [sp, #8] 1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Pull = GPIO_NOPULL; 1379 .loc 1 1006 3 is_stmt 1 view .LVU455 1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Pull = GPIO_NOPULL; 1380 .loc 1 1006 29 is_stmt 0 view .LVU456 1381 000c 0323 movs r3, #3 1382 000e 0493 str r3, [sp, #16] 1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/cc6AIysH.s page 57 1383 .loc 1 1007 3 is_stmt 1 view .LVU457 1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1384 .loc 1 1007 29 is_stmt 0 view .LVU458 1385 0010 0023 movs r3, #0 1386 0012 0393 str r3, [sp, #12] 1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1387 .loc 1 1010 3 is_stmt 1 view .LVU459 1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1388 .loc 1 1010 12 is_stmt 0 view .LVU460 1389 0014 00F08056 and r6, r0, #268435456 1390 .LVL119: 1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1391 .loc 1 1013 3 is_stmt 1 view .LVU461 1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1392 .loc 1 1013 36 is_stmt 0 view .LVU462 1393 0018 C0F3034C ubfx ip, r0, #16, #4 1394 001c 0CF5901E add lr, ip, #1179648 1395 .LVL120: 1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->AHB2ENR, (1UL << mco_gpio_index )); 1396 .loc 1 1016 3 is_stmt 1 view .LVU463 1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1397 .loc 1 1017 3 view .LVU464 1398 0020 0D4A ldr r2, .L137 1399 .LVL121: 1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1400 .loc 1 1017 3 is_stmt 0 view .LVU465 1401 0022 D36C ldr r3, [r2, #76] 1402 0024 0121 movs r1, #1 1403 .LVL122: 1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1404 .loc 1 1017 3 view .LVU466 1405 0026 01FA0CF1 lsl r1, r1, ip 1406 002a 0B43 orrs r3, r3, r1 1407 002c D364 str r3, [r2, #76] 1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Alternate = RCC_GET_MCO_GPIO_AF(RCC_MCOx); 1408 .loc 1 1020 3 is_stmt 1 view .LVU467 1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Alternate = RCC_GET_MCO_GPIO_AF(RCC_MCOx); 1409 .loc 1 1020 25 is_stmt 0 view .LVU468 1410 002e 83B2 uxth r3, r0 1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Alternate = RCC_GET_MCO_GPIO_AF(RCC_MCOx); 1411 .loc 1 1020 23 view .LVU469 1412 0030 0193 str r3, [sp, #4] 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_GPIO_Init(mco_gpio_port, &gpio_initstruct); 1413 .loc 1 1021 3 is_stmt 1 view .LVU470 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_GPIO_Init(mco_gpio_port, &gpio_initstruct); 1414 .loc 1 1021 31 is_stmt 0 view .LVU471 1415 0032 C0F30750 ubfx r0, r0, #20, #8 1416 .LVL123: 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_GPIO_Init(mco_gpio_port, &gpio_initstruct); 1417 .loc 1 1021 29 view .LVU472 1418 0036 0590 str r0, [sp, #20] 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1419 .loc 1 1022 3 is_stmt 1 view .LVU473 1420 0038 01A9 add r1, sp, #4 1421 003a 4FEA8E20 lsl r0, lr, #10 1422 .LVL124: 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/cc6AIysH.s page 58 1423 .loc 1 1022 3 is_stmt 0 view .LVU474 1424 003e FFF7FEFF bl HAL_GPIO_Init 1425 .LVL125: 1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1426 .loc 1 1024 4 is_stmt 1 view .LVU475 1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1427 .loc 1 1024 7 is_stmt 0 view .LVU476 1428 0042 36B9 cbnz r6, .L134 1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); 1429 .loc 1 1026 5 is_stmt 1 view .LVU477 1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Mask MCOSEL[] and MCOPRE[] bits then set MCO clock source and prescaler */ 1430 .loc 1 1027 5 view .LVU478 1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1431 .loc 1 1029 5 view .LVU479 1432 0044 044A ldr r2, .L137 1433 0046 9368 ldr r3, [r2, #8] 1434 0048 23F0FE43 bic r3, r3, #2130706432 1435 004c 2C43 orrs r4, r4, r5 1436 .LVL126: 1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1437 .loc 1 1029 5 is_stmt 0 view .LVU480 1438 004e 1C43 orrs r4, r4, r3 1439 0050 9460 str r4, [r2, #8] 1440 .L134: 1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1441 .loc 1 1031 1 view .LVU481 1442 0052 06B0 add sp, sp, #24 1443 .LCFI9: 1444 .cfi_def_cfa_offset 16 1445 @ sp needed 1446 0054 70BD pop {r4, r5, r6, pc} 1447 .LVL127: 1448 .L138: 1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1449 .loc 1 1031 1 view .LVU482 1450 0056 00BF .align 2 1451 .L137: 1452 0058 00100240 .word 1073876992 1453 .cfi_endproc 1454 .LFE332: 1456 .section .text.HAL_RCC_GetSysClockFreq,"ax",%progbits 1457 .align 1 1458 .global HAL_RCC_GetSysClockFreq 1459 .syntax unified 1460 .thumb 1461 .thumb_func 1463 HAL_RCC_GetSysClockFreq: 1464 .LFB333: 1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllvco, pllsource, pllr, pllm; 1465 .loc 1 1064 1 is_stmt 1 view -0 1466 .cfi_startproc 1467 @ args = 0, pretend = 0, frame = 0 1468 @ frame_needed = 0, uses_anonymous_args = 0 1469 @ link register save eliminated. 1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t sysclockfreq; 1470 .loc 1 1065 3 view .LVU484 1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/cc6AIysH.s page 59 1471 .loc 1 1066 3 view .LVU485 1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1472 .loc 1 1068 3 view .LVU486 1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1473 .loc 1 1068 7 is_stmt 0 view .LVU487 1474 0000 1E4B ldr r3, .L148 1475 0002 9B68 ldr r3, [r3, #8] 1476 0004 03F00C03 and r3, r3, #12 1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1477 .loc 1 1068 6 view .LVU488 1478 0008 042B cmp r3, #4 1479 000a 33D0 beq .L143 1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1480 .loc 1 1073 8 is_stmt 1 view .LVU489 1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1481 .loc 1 1073 12 is_stmt 0 view .LVU490 1482 000c 1B4B ldr r3, .L148 1483 000e 9B68 ldr r3, [r3, #8] 1484 0010 03F00C03 and r3, r3, #12 1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1485 .loc 1 1073 11 view .LVU491 1486 0014 082B cmp r3, #8 1487 0016 2FD0 beq .L144 1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1488 .loc 1 1078 8 is_stmt 1 view .LVU492 1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1489 .loc 1 1078 12 is_stmt 0 view .LVU493 1490 0018 184B ldr r3, .L148 1491 001a 9B68 ldr r3, [r3, #8] 1492 001c 03F00C03 and r3, r3, #12 1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1493 .loc 1 1078 11 view .LVU494 1494 0020 0C2B cmp r3, #12 1495 0022 01D0 beq .L146 1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1496 .loc 1 1104 18 view .LVU495 1497 0024 0020 movs r0, #0 1498 .LVL128: 1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1499 .loc 1 1107 3 is_stmt 1 view .LVU496 1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1500 .loc 1 1108 1 is_stmt 0 view .LVU497 1501 0026 7047 bx lr 1502 .LVL129: 1503 .L146: 1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllm = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1U ; 1504 .loc 1 1085 5 is_stmt 1 view .LVU498 1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllm = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1U ; 1505 .loc 1 1085 17 is_stmt 0 view .LVU499 1506 0028 144B ldr r3, .L148 1507 002a DA68 ldr r2, [r3, #12] 1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllm = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1U ; 1508 .loc 1 1085 15 view .LVU500 1509 002c 02F00302 and r2, r2, #3 1510 .LVL130: 1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1511 .loc 1 1086 5 is_stmt 1 view .LVU501 ARM GAS /tmp/cc6AIysH.s page 60 1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1512 .loc 1 1086 13 is_stmt 0 view .LVU502 1513 0030 DB68 ldr r3, [r3, #12] 1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1514 .loc 1 1086 54 view .LVU503 1515 0032 C3F30313 ubfx r3, r3, #4, #4 1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1516 .loc 1 1086 10 view .LVU504 1517 0036 0133 adds r3, r3, #1 1518 .LVL131: 1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1519 .loc 1 1088 5 is_stmt 1 view .LVU505 1520 0038 032A cmp r2, #3 1521 003a 11D0 beq .L147 1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1522 .loc 1 1096 7 view .LVU506 1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1523 .loc 1 1096 27 is_stmt 0 view .LVU507 1524 003c 1048 ldr r0, .L148+4 1525 003e B0FBF3F0 udiv r0, r0, r3 1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1526 .loc 1 1096 38 view .LVU508 1527 0042 0E4B ldr r3, .L148 1528 .LVL132: 1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1529 .loc 1 1096 38 view .LVU509 1530 0044 DB68 ldr r3, [r3, #12] 1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1531 .loc 1 1096 79 view .LVU510 1532 0046 C3F30623 ubfx r3, r3, #8, #7 1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1533 .loc 1 1096 14 view .LVU511 1534 004a 03FB00F0 mul r0, r3, r0 1535 .LVL133: 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1536 .loc 1 1097 7 is_stmt 1 view .LVU512 1537 .L142: 1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1538 .loc 1 1099 5 view .LVU513 1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1539 .loc 1 1099 14 is_stmt 0 view .LVU514 1540 004e 0B4B ldr r3, .L148 1541 0050 DB68 ldr r3, [r3, #12] 1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1542 .loc 1 1099 55 view .LVU515 1543 0052 C3F34163 ubfx r3, r3, #25, #2 1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1544 .loc 1 1099 80 view .LVU516 1545 0056 0133 adds r3, r3, #1 1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1546 .loc 1 1099 10 view .LVU517 1547 0058 5B00 lsls r3, r3, #1 1548 .LVL134: 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1549 .loc 1 1100 5 is_stmt 1 view .LVU518 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1550 .loc 1 1100 18 is_stmt 0 view .LVU519 ARM GAS /tmp/cc6AIysH.s page 61 1551 005a B0FBF3F0 udiv r0, r0, r3 1552 .LVL135: 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1553 .loc 1 1100 18 view .LVU520 1554 005e 7047 bx lr 1555 .LVL136: 1556 .L147: 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1557 .loc 1 1091 7 is_stmt 1 view .LVU521 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1558 .loc 1 1091 27 is_stmt 0 view .LVU522 1559 0060 0848 ldr r0, .L148+8 1560 0062 B0FBF3F0 udiv r0, r0, r3 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1561 .loc 1 1091 38 view .LVU523 1562 0066 054B ldr r3, .L148 1563 .LVL137: 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1564 .loc 1 1091 38 view .LVU524 1565 0068 DB68 ldr r3, [r3, #12] 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1566 .loc 1 1091 79 view .LVU525 1567 006a C3F30623 ubfx r3, r3, #8, #7 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1568 .loc 1 1091 14 view .LVU526 1569 006e 03FB00F0 mul r0, r3, r0 1570 .LVL138: 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1571 .loc 1 1092 7 is_stmt 1 view .LVU527 1572 0072 ECE7 b .L142 1573 .LVL139: 1574 .L143: 1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1575 .loc 1 1071 18 is_stmt 0 view .LVU528 1576 0074 0248 ldr r0, .L148+4 1577 0076 7047 bx lr 1578 .L144: 1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1579 .loc 1 1076 18 view .LVU529 1580 0078 0248 ldr r0, .L148+8 1581 007a 7047 bx lr 1582 .L149: 1583 .align 2 1584 .L148: 1585 007c 00100240 .word 1073876992 1586 0080 0024F400 .word 16000000 1587 0084 0080BB00 .word 12288000 1588 .cfi_endproc 1589 .LFE333: 1591 .section .text.HAL_RCC_ClockConfig,"ax",%progbits 1592 .align 1 1593 .global HAL_RCC_ClockConfig 1594 .syntax unified 1595 .thumb 1596 .thumb_func 1598 HAL_RCC_ClockConfig: 1599 .LVL140: ARM GAS /tmp/cc6AIysH.s page 62 1600 .LFB331: 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 1601 .loc 1 767 1 is_stmt 1 view -0 1602 .cfi_startproc 1603 @ args = 0, pretend = 0, frame = 0 1604 @ frame_needed = 0, uses_anonymous_args = 0 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllfreq; 1605 .loc 1 768 3 view .LVU531 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t hpre = RCC_SYSCLK_DIV1; 1606 .loc 1 769 3 view .LVU532 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1607 .loc 1 770 3 view .LVU533 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1608 .loc 1 773 3 view .LVU534 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1609 .loc 1 773 6 is_stmt 0 view .LVU535 1610 0000 0028 cmp r0, #0 1611 0002 00F0E680 beq .L170 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 1612 .loc 1 767 1 view .LVU536 1613 0006 F8B5 push {r3, r4, r5, r6, r7, lr} 1614 .LCFI10: 1615 .cfi_def_cfa_offset 24 1616 .cfi_offset 3, -24 1617 .cfi_offset 4, -20 1618 .cfi_offset 5, -16 1619 .cfi_offset 6, -12 1620 .cfi_offset 7, -8 1621 .cfi_offset 14, -4 1622 0008 0C46 mov r4, r1 1623 000a 0546 mov r5, r0 779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency)); 1624 .loc 1 779 3 is_stmt 1 view .LVU537 780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1625 .loc 1 780 3 view .LVU538 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1626 .loc 1 787 3 view .LVU539 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1627 .loc 1 787 18 is_stmt 0 view .LVU540 1628 000c 744B ldr r3, .L188 1629 000e 1B68 ldr r3, [r3] 1630 0010 03F00F03 and r3, r3, #15 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1631 .loc 1 787 6 view .LVU541 1632 0014 8B42 cmp r3, r1 1633 0016 0BD2 bcs .L152 790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1634 .loc 1 790 5 is_stmt 1 view .LVU542 1635 0018 714A ldr r2, .L188 1636 001a 1368 ldr r3, [r2] 1637 001c 23F00F03 bic r3, r3, #15 1638 0020 0B43 orrs r3, r3, r1 1639 0022 1360 str r3, [r2] 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1640 .loc 1 794 5 view .LVU543 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1641 .loc 1 794 9 is_stmt 0 view .LVU544 ARM GAS /tmp/cc6AIysH.s page 63 1642 0024 1368 ldr r3, [r2] 1643 0026 03F00F03 and r3, r3, #15 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1644 .loc 1 794 8 view .LVU545 1645 002a 8B42 cmp r3, r1 1646 002c 40F0D380 bne .L171 1647 .L152: 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1648 .loc 1 801 3 is_stmt 1 view .LVU546 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1649 .loc 1 801 25 is_stmt 0 view .LVU547 1650 0030 2E68 ldr r6, [r5] 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1651 .loc 1 801 5 view .LVU548 1652 0032 16F00106 ands r6, r6, #1 1653 0036 5FD0 beq .L153 803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1654 .loc 1 803 5 is_stmt 1 view .LVU549 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1655 .loc 1 806 5 view .LVU550 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1656 .loc 1 806 26 is_stmt 0 view .LVU551 1657 0038 6B68 ldr r3, [r5, #4] 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1658 .loc 1 806 8 view .LVU552 1659 003a 032B cmp r3, #3 1660 003c 2FD0 beq .L184 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1661 .loc 1 832 7 is_stmt 1 view .LVU553 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1662 .loc 1 832 10 is_stmt 0 view .LVU554 1663 003e 022B cmp r3, #2 1664 0040 4DD0 beq .L185 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1665 .loc 1 844 9 is_stmt 1 view .LVU555 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1666 .loc 1 844 12 is_stmt 0 view .LVU556 1667 0042 684B ldr r3, .L188+4 1668 0044 1B68 ldr r3, [r3] 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1669 .loc 1 844 11 view .LVU557 1670 0046 13F4806F tst r3, #1024 1671 004a 00F0C680 beq .L176 1672 .L158: 850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1673 .loc 1 850 7 is_stmt 1 view .LVU558 850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1674 .loc 1 850 17 is_stmt 0 view .LVU559 1675 004e FFF7FEFF bl HAL_RCC_GetSysClockFreq 1676 .LVL141: 853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1677 .loc 1 853 7 is_stmt 1 view .LVU560 853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1678 .loc 1 853 9 is_stmt 0 view .LVU561 1679 0052 654B ldr r3, .L188+8 1680 0054 9842 cmp r0, r3 1681 0056 4DD9 bls .L177 ARM GAS /tmp/cc6AIysH.s page 64 855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** hpre = RCC_SYSCLK_DIV2; 1682 .loc 1 855 9 is_stmt 1 view .LVU562 1683 0058 624A ldr r2, .L188+4 1684 005a 9368 ldr r3, [r2, #8] 1685 005c 23F0F003 bic r3, r3, #240 1686 0060 43F08003 orr r3, r3, #128 1687 0064 9360 str r3, [r2, #8] 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1688 .loc 1 856 9 view .LVU563 1689 .LVL142: 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1690 .loc 1 856 14 is_stmt 0 view .LVU564 1691 0066 8026 movs r6, #128 1692 .LVL143: 1693 .L155: 861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1694 .loc 1 861 5 is_stmt 1 view .LVU565 1695 0068 5E4A ldr r2, .L188+4 1696 006a 9368 ldr r3, [r2, #8] 1697 006c 23F00303 bic r3, r3, #3 1698 0070 6968 ldr r1, [r5, #4] 1699 0072 0B43 orrs r3, r3, r1 1700 0074 9360 str r3, [r2, #8] 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1701 .loc 1 864 5 view .LVU566 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1702 .loc 1 864 17 is_stmt 0 view .LVU567 1703 0076 FFF7FEFF bl HAL_GetTick 1704 .LVL144: 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1705 .loc 1 864 17 view .LVU568 1706 007a 0746 mov r7, r0 1707 .LVL145: 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1708 .loc 1 866 5 is_stmt 1 view .LVU569 1709 .L159: 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1710 .loc 1 866 42 view .LVU570 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1711 .loc 1 866 12 is_stmt 0 view .LVU571 1712 007c 594B ldr r3, .L188+4 1713 007e 9B68 ldr r3, [r3, #8] 1714 0080 03F00C03 and r3, r3, #12 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1715 .loc 1 866 63 view .LVU572 1716 0084 6A68 ldr r2, [r5, #4] 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1717 .loc 1 866 42 view .LVU573 1718 0086 B3EB820F cmp r3, r2, lsl #2 1719 008a 35D0 beq .L153 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1720 .loc 1 868 7 is_stmt 1 view .LVU574 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1721 .loc 1 868 12 is_stmt 0 view .LVU575 1722 008c FFF7FEFF bl HAL_GetTick 1723 .LVL146: 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/cc6AIysH.s page 65 1724 .loc 1 868 26 discriminator 1 view .LVU576 1725 0090 C01B subs r0, r0, r7 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1726 .loc 1 868 10 discriminator 1 view .LVU577 1727 0092 41F28833 movw r3, #5000 1728 0096 9842 cmp r0, r3 1729 0098 F0D9 bls .L159 870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1730 .loc 1 870 16 view .LVU578 1731 009a 0320 movs r0, #3 1732 009c 78E0 b .L151 1733 .LVL147: 1734 .L184: 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1735 .loc 1 809 7 is_stmt 1 view .LVU579 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1736 .loc 1 809 11 is_stmt 0 view .LVU580 1737 009e 514B ldr r3, .L188+4 1738 00a0 1B68 ldr r3, [r3] 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1739 .loc 1 809 10 view .LVU581 1740 00a2 13F0007F tst r3, #33554432 1741 00a6 01D1 bne .L186 811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1742 .loc 1 811 16 view .LVU582 1743 00a8 0120 movs r0, #1 1744 .LVL148: 811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1745 .loc 1 811 16 view .LVU583 1746 00aa 71E0 b .L151 1747 .LVL149: 1748 .L186: 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1749 .loc 1 815 7 is_stmt 1 view .LVU584 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1750 .loc 1 815 17 is_stmt 0 view .LVU585 1751 00ac FFF7FEFF bl RCC_GetSysClockFreqFromPLLSource 1752 .LVL150: 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1753 .loc 1 818 7 is_stmt 1 view .LVU586 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1754 .loc 1 818 9 is_stmt 0 view .LVU587 1755 00b0 4D4B ldr r3, .L188+8 1756 00b2 9842 cmp r0, r3 1757 00b4 1AD9 bls .L173 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 1758 .loc 1 820 9 is_stmt 1 view .LVU588 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 1759 .loc 1 820 15 is_stmt 0 view .LVU589 1760 00b6 4B4B ldr r3, .L188+4 1761 00b8 9B68 ldr r3, [r3, #8] 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 1762 .loc 1 820 12 view .LVU590 1763 00ba 13F0F00F tst r3, #240 1764 00be 05D0 beq .L156 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (RCC_ClkInitStruct->AHBCLKDivider == RCC_SYSCLK_DIV1)))) 1765 .loc 1 821 35 view .LVU591 ARM GAS /tmp/cc6AIysH.s page 66 1766 00c0 2E68 ldr r6, [r5] 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 1767 .loc 1 820 71 discriminator 1 view .LVU592 1768 00c2 16F00206 ands r6, r6, #2 1769 00c6 CFD0 beq .L155 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1770 .loc 1 822 33 view .LVU593 1771 00c8 AB68 ldr r3, [r5, #8] 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (RCC_ClkInitStruct->AHBCLKDivider == RCC_SYSCLK_DIV1)))) 1772 .loc 1 821 93 view .LVU594 1773 00ca 8BB9 cbnz r3, .L174 1774 .L156: 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** hpre = RCC_SYSCLK_DIV2; 1775 .loc 1 824 11 is_stmt 1 view .LVU595 1776 00cc 454A ldr r2, .L188+4 1777 00ce 9368 ldr r3, [r2, #8] 1778 00d0 23F0F003 bic r3, r3, #240 1779 00d4 43F08003 orr r3, r3, #128 1780 00d8 9360 str r3, [r2, #8] 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1781 .loc 1 825 11 view .LVU596 1782 .LVL151: 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1783 .loc 1 825 16 is_stmt 0 view .LVU597 1784 00da 8026 movs r6, #128 1785 00dc C4E7 b .L155 1786 .LVL152: 1787 .L185: 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1788 .loc 1 835 9 is_stmt 1 view .LVU598 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1789 .loc 1 835 12 is_stmt 0 view .LVU599 1790 00de 414B ldr r3, .L188+4 1791 00e0 1B68 ldr r3, [r3] 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1792 .loc 1 835 11 view .LVU600 1793 00e2 13F4003F tst r3, #131072 1794 00e6 B2D1 bne .L158 837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1795 .loc 1 837 18 view .LVU601 1796 00e8 0120 movs r0, #1 1797 .LVL153: 837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1798 .loc 1 837 18 view .LVU602 1799 00ea 51E0 b .L151 1800 .LVL154: 1801 .L173: 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1802 .loc 1 770 12 view .LVU603 1803 00ec 0026 movs r6, #0 1804 00ee BBE7 b .L155 1805 .L174: 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1806 .loc 1 770 12 view .LVU604 1807 00f0 0026 movs r6, #0 1808 00f2 B9E7 b .L155 1809 .L177: ARM GAS /tmp/cc6AIysH.s page 67 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1810 .loc 1 770 12 view .LVU605 1811 00f4 0026 movs r6, #0 1812 00f6 B7E7 b .L155 1813 .LVL155: 1814 .L153: 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1815 .loc 1 876 3 is_stmt 1 view .LVU606 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1816 .loc 1 876 26 is_stmt 0 view .LVU607 1817 00f8 2B68 ldr r3, [r5] 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1818 .loc 1 876 6 view .LVU608 1819 00fa 13F0020F tst r3, #2 1820 00fe 48D0 beq .L161 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1821 .loc 1 880 5 is_stmt 1 view .LVU609 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1822 .loc 1 880 8 is_stmt 0 view .LVU610 1823 0100 13F0040F tst r3, #4 1824 0104 04D0 beq .L162 882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1825 .loc 1 882 7 is_stmt 1 view .LVU611 1826 0106 374A ldr r2, .L188+4 1827 0108 9368 ldr r3, [r2, #8] 1828 010a 43F4E063 orr r3, r3, #1792 1829 010e 9360 str r3, [r2, #8] 1830 .L162: 884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1831 .loc 1 884 5 view .LVU612 884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1832 .loc 1 884 28 is_stmt 0 view .LVU613 1833 0110 2B68 ldr r3, [r5] 884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1834 .loc 1 884 8 view .LVU614 1835 0112 13F0080F tst r3, #8 1836 0116 06D0 beq .L163 886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1837 .loc 1 886 7 is_stmt 1 view .LVU615 1838 0118 324A ldr r2, .L188+4 1839 011a 9368 ldr r3, [r2, #8] 1840 011c 23F47C53 bic r3, r3, #16128 1841 0120 43F4E063 orr r3, r3, #1792 1842 0124 9360 str r3, [r2, #8] 1843 .L163: 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); 1844 .loc 1 890 5 view .LVU616 891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1845 .loc 1 891 5 view .LVU617 1846 0126 2F4A ldr r2, .L188+4 1847 0128 9368 ldr r3, [r2, #8] 1848 012a 23F0F003 bic r3, r3, #240 1849 012e A968 ldr r1, [r5, #8] 1850 0130 0B43 orrs r3, r3, r1 1851 0132 9360 str r3, [r2, #8] 1852 .L164: 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/cc6AIysH.s page 68 1853 .loc 1 903 3 view .LVU618 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1854 .loc 1 903 18 is_stmt 0 view .LVU619 1855 0134 2A4B ldr r3, .L188 1856 0136 1B68 ldr r3, [r3] 1857 0138 03F00F03 and r3, r3, #15 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1858 .loc 1 903 6 view .LVU620 1859 013c A342 cmp r3, r4 1860 013e 30D8 bhi .L187 1861 .LVL156: 1862 .L165: 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1863 .loc 1 922 3 is_stmt 1 view .LVU621 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1864 .loc 1 922 26 is_stmt 0 view .LVU622 1865 0140 2B68 ldr r3, [r5] 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1866 .loc 1 922 6 view .LVU623 1867 0142 13F0040F tst r3, #4 1868 0146 06D0 beq .L168 924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 1869 .loc 1 924 5 is_stmt 1 view .LVU624 925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1870 .loc 1 925 5 view .LVU625 1871 0148 264A ldr r2, .L188+4 1872 014a 9368 ldr r3, [r2, #8] 1873 014c 23F4E063 bic r3, r3, #1792 1874 0150 E968 ldr r1, [r5, #12] 1875 0152 0B43 orrs r3, r3, r1 1876 0154 9360 str r3, [r2, #8] 1877 .L168: 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1878 .loc 1 929 3 view .LVU626 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1879 .loc 1 929 25 is_stmt 0 view .LVU627 1880 0156 2B68 ldr r3, [r5] 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1881 .loc 1 929 5 view .LVU628 1882 0158 13F0080F tst r3, #8 1883 015c 07D0 beq .L169 931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3U)); 1884 .loc 1 931 5 is_stmt 1 view .LVU629 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1885 .loc 1 932 5 view .LVU630 1886 015e 214A ldr r2, .L188+4 1887 0160 9368 ldr r3, [r2, #8] 1888 0162 23F46053 bic r3, r3, #14336 1889 0166 2969 ldr r1, [r5, #16] 1890 0168 43EAC103 orr r3, r3, r1, lsl #3 1891 016c 9360 str r3, [r2, #8] 1892 .L169: 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1893 .loc 1 936 3 view .LVU631 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1894 .loc 1 936 21 is_stmt 0 view .LVU632 1895 016e FFF7FEFF bl HAL_RCC_GetSysClockFreq ARM GAS /tmp/cc6AIysH.s page 69 1896 .LVL157: 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1897 .loc 1 936 65 discriminator 1 view .LVU633 1898 0172 1C4B ldr r3, .L188+4 1899 0174 9B68 ldr r3, [r3, #8] 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1900 .loc 1 936 100 discriminator 1 view .LVU634 1901 0176 C3F30313 ubfx r3, r3, #4, #4 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1902 .loc 1 936 64 discriminator 1 view .LVU635 1903 017a 1C4A ldr r2, .L188+12 1904 017c D35C ldrb r3, [r2, r3] @ zero_extendqisi2 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1905 .loc 1 936 122 discriminator 1 view .LVU636 1906 017e 03F01F03 and r3, r3, #31 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1907 .loc 1 936 47 discriminator 1 view .LVU637 1908 0182 D840 lsrs r0, r0, r3 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1909 .loc 1 936 19 discriminator 1 view .LVU638 1910 0184 1A4B ldr r3, .L188+16 1911 0186 1860 str r0, [r3] 939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1912 .loc 1 939 3 is_stmt 1 view .LVU639 939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1913 .loc 1 939 10 is_stmt 0 view .LVU640 1914 0188 1A4B ldr r3, .L188+20 1915 018a 1868 ldr r0, [r3] 1916 018c FFF7FEFF bl HAL_InitTick 1917 .LVL158: 1918 .L151: 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1919 .loc 1 940 1 view .LVU641 1920 0190 F8BD pop {r3, r4, r5, r6, r7, pc} 1921 .LVL159: 1922 .L161: 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1923 .loc 1 896 5 is_stmt 1 view .LVU642 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1924 .loc 1 896 7 is_stmt 0 view .LVU643 1925 0192 802E cmp r6, #128 1926 0194 CED1 bne .L164 898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1927 .loc 1 898 7 is_stmt 1 view .LVU644 1928 0196 134A ldr r2, .L188+4 1929 0198 9368 ldr r3, [r2, #8] 1930 019a 23F0F003 bic r3, r3, #240 1931 019e 9360 str r3, [r2, #8] 1932 01a0 C8E7 b .L164 1933 .L187: 906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1934 .loc 1 906 5 view .LVU645 1935 01a2 0F4A ldr r2, .L188 1936 01a4 1368 ldr r3, [r2] 1937 01a6 23F00F03 bic r3, r3, #15 1938 01aa 2343 orrs r3, r3, r4 1939 01ac 1360 str r3, [r2] ARM GAS /tmp/cc6AIysH.s page 70 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1940 .loc 1 910 5 view .LVU646 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1941 .loc 1 910 17 is_stmt 0 view .LVU647 1942 01ae FFF7FEFF bl HAL_GetTick 1943 .LVL160: 1944 01b2 0646 mov r6, r0 1945 .LVL161: 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1946 .loc 1 912 5 is_stmt 1 view .LVU648 1947 .L166: 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1948 .loc 1 912 38 view .LVU649 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1949 .loc 1 912 12 is_stmt 0 view .LVU650 1950 01b4 0A4B ldr r3, .L188 1951 01b6 1B68 ldr r3, [r3] 1952 01b8 03F00F03 and r3, r3, #15 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1953 .loc 1 912 38 view .LVU651 1954 01bc A342 cmp r3, r4 1955 01be BFD0 beq .L165 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1956 .loc 1 914 7 is_stmt 1 view .LVU652 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1957 .loc 1 914 12 is_stmt 0 view .LVU653 1958 01c0 FFF7FEFF bl HAL_GetTick 1959 .LVL162: 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1960 .loc 1 914 26 discriminator 1 view .LVU654 1961 01c4 801B subs r0, r0, r6 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1962 .loc 1 914 10 discriminator 1 view .LVU655 1963 01c6 41F28833 movw r3, #5000 1964 01ca 9842 cmp r0, r3 1965 01cc F2D9 bls .L166 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1966 .loc 1 916 16 view .LVU656 1967 01ce 0320 movs r0, #3 1968 01d0 DEE7 b .L151 1969 .LVL163: 1970 .L170: 1971 .LCFI11: 1972 .cfi_def_cfa_offset 0 1973 .cfi_restore 3 1974 .cfi_restore 4 1975 .cfi_restore 5 1976 .cfi_restore 6 1977 .cfi_restore 7 1978 .cfi_restore 14 775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1979 .loc 1 775 12 view .LVU657 1980 01d2 0120 movs r0, #1 1981 .LVL164: 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1982 .loc 1 940 1 view .LVU658 1983 01d4 7047 bx lr ARM GAS /tmp/cc6AIysH.s page 71 1984 .LVL165: 1985 .L171: 1986 .LCFI12: 1987 .cfi_def_cfa_offset 24 1988 .cfi_offset 3, -24 1989 .cfi_offset 4, -20 1990 .cfi_offset 5, -16 1991 .cfi_offset 6, -12 1992 .cfi_offset 7, -8 1993 .cfi_offset 14, -4 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1994 .loc 1 796 14 view .LVU659 1995 01d6 0120 movs r0, #1 1996 .LVL166: 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1997 .loc 1 796 14 view .LVU660 1998 01d8 DAE7 b .L151 1999 .LVL167: 2000 .L176: 846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2001 .loc 1 846 18 view .LVU661 2002 01da 0120 movs r0, #1 2003 .LVL168: 846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2004 .loc 1 846 18 view .LVU662 2005 01dc D8E7 b .L151 2006 .L189: 2007 01de 00BF .align 2 2008 .L188: 2009 01e0 00200240 .word 1073881088 2010 01e4 00100240 .word 1073876992 2011 01e8 00B4C404 .word 80000000 2012 01ec 00000000 .word AHBPrescTable 2013 01f0 00000000 .word SystemCoreClock 2014 01f4 00000000 .word uwTickPrio 2015 .cfi_endproc 2016 .LFE331: 2018 .section .text.HAL_RCC_GetHCLKFreq,"ax",%progbits 2019 .align 1 2020 .global HAL_RCC_GetHCLKFreq 2021 .syntax unified 2022 .thumb 2023 .thumb_func 2025 HAL_RCC_GetHCLKFreq: 2026 .LFB334: 1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return SystemCoreClock; 2027 .loc 1 1119 1 is_stmt 1 view -0 2028 .cfi_startproc 2029 @ args = 0, pretend = 0, frame = 0 2030 @ frame_needed = 0, uses_anonymous_args = 0 2031 @ link register save eliminated. 1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2032 .loc 1 1120 3 view .LVU664 1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2033 .loc 1 1121 1 is_stmt 0 view .LVU665 2034 0000 014B ldr r3, .L191 2035 0002 1868 ldr r0, [r3] ARM GAS /tmp/cc6AIysH.s page 72 2036 0004 7047 bx lr 2037 .L192: 2038 0006 00BF .align 2 2039 .L191: 2040 0008 00000000 .word SystemCoreClock 2041 .cfi_endproc 2042 .LFE334: 2044 .section .text.HAL_RCC_GetPCLK1Freq,"ax",%progbits 2045 .align 1 2046 .global HAL_RCC_GetPCLK1Freq 2047 .syntax unified 2048 .thumb 2049 .thumb_func 2051 HAL_RCC_GetPCLK1Freq: 2052 .LFB335: 1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ 2053 .loc 1 1130 1 is_stmt 1 view -0 2054 .cfi_startproc 2055 @ args = 0, pretend = 0, frame = 0 2056 @ frame_needed = 0, uses_anonymous_args = 0 2057 0000 08B5 push {r3, lr} 2058 .LCFI13: 2059 .cfi_def_cfa_offset 8 2060 .cfi_offset 3, -8 2061 .cfi_offset 14, -4 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2062 .loc 1 1132 3 view .LVU667 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2063 .loc 1 1132 11 is_stmt 0 view .LVU668 2064 0002 FFF7FEFF bl HAL_RCC_GetHCLKFreq 2065 .LVL169: 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2066 .loc 1 1132 51 discriminator 1 view .LVU669 2067 0006 054B ldr r3, .L195 2068 0008 9B68 ldr r3, [r3, #8] 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2069 .loc 1 1132 87 discriminator 1 view .LVU670 2070 000a C3F30223 ubfx r3, r3, #8, #3 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2071 .loc 1 1132 50 discriminator 1 view .LVU671 2072 000e 044A ldr r2, .L195+4 2073 0010 D35C ldrb r3, [r2, r3] @ zero_extendqisi2 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2074 .loc 1 1132 110 discriminator 1 view .LVU672 2075 0012 03F01F03 and r3, r3, #31 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2076 .loc 1 1133 1 view .LVU673 2077 0016 D840 lsrs r0, r0, r3 2078 0018 08BD pop {r3, pc} 2079 .L196: 2080 001a 00BF .align 2 2081 .L195: 2082 001c 00100240 .word 1073876992 2083 0020 00000000 .word APBPrescTable 2084 .cfi_endproc 2085 .LFE335: 2087 .section .text.HAL_RCC_GetPCLK2Freq,"ax",%progbits ARM GAS /tmp/cc6AIysH.s page 73 2088 .align 1 2089 .global HAL_RCC_GetPCLK2Freq 2090 .syntax unified 2091 .thumb 2092 .thumb_func 2094 HAL_RCC_GetPCLK2Freq: 2095 .LFB336: 1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ 2096 .loc 1 1142 1 is_stmt 1 view -0 2097 .cfi_startproc 2098 @ args = 0, pretend = 0, frame = 0 2099 @ frame_needed = 0, uses_anonymous_args = 0 2100 0000 08B5 push {r3, lr} 2101 .LCFI14: 2102 .cfi_def_cfa_offset 8 2103 .cfi_offset 3, -8 2104 .cfi_offset 14, -4 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2105 .loc 1 1144 3 view .LVU675 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2106 .loc 1 1144 11 is_stmt 0 view .LVU676 2107 0002 FFF7FEFF bl HAL_RCC_GetHCLKFreq 2108 .LVL170: 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2109 .loc 1 1144 50 discriminator 1 view .LVU677 2110 0006 054B ldr r3, .L199 2111 0008 9B68 ldr r3, [r3, #8] 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2112 .loc 1 1144 86 discriminator 1 view .LVU678 2113 000a C3F3C223 ubfx r3, r3, #11, #3 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2114 .loc 1 1144 49 discriminator 1 view .LVU679 2115 000e 044A ldr r2, .L199+4 2116 0010 D35C ldrb r3, [r2, r3] @ zero_extendqisi2 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2117 .loc 1 1144 109 discriminator 1 view .LVU680 2118 0012 03F01F03 and r3, r3, #31 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2119 .loc 1 1145 1 view .LVU681 2120 0016 D840 lsrs r0, r0, r3 2121 0018 08BD pop {r3, pc} 2122 .L200: 2123 001a 00BF .align 2 2124 .L199: 2125 001c 00100240 .word 1073876992 2126 0020 00000000 .word APBPrescTable 2127 .cfi_endproc 2128 .LFE336: 2130 .section .text.HAL_RCC_GetOscConfig,"ax",%progbits 2131 .align 1 2132 .global HAL_RCC_GetOscConfig 2133 .syntax unified 2134 .thumb 2135 .thumb_func 2137 HAL_RCC_GetOscConfig: 2138 .LVL171: 2139 .LFB337: ARM GAS /tmp/cc6AIysH.s page 74 1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 2140 .loc 1 1155 1 is_stmt 1 view -0 2141 .cfi_startproc 2142 @ args = 0, pretend = 0, frame = 0 2143 @ frame_needed = 0, uses_anonymous_args = 0 2144 @ link register save eliminated. 1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2145 .loc 1 1157 3 view .LVU683 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLA 2146 .loc 1 1160 3 view .LVU684 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLA 2147 .loc 1 1160 37 is_stmt 0 view .LVU685 2148 0000 2F23 movs r3, #47 2149 0002 0360 str r3, [r0] 1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2150 .loc 1 1164 3 is_stmt 1 view .LVU686 1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2151 .loc 1 1164 6 is_stmt 0 view .LVU687 2152 0004 3A4B ldr r3, .L216 2153 0006 1B68 ldr r3, [r3] 1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2154 .loc 1 1164 5 view .LVU688 2155 0008 13F4802F tst r3, #262144 2156 000c 4BD0 beq .L202 1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2157 .loc 1 1166 5 is_stmt 1 view .LVU689 1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2158 .loc 1 1166 33 is_stmt 0 view .LVU690 2159 000e 4FF4A023 mov r3, #327680 2160 0012 4360 str r3, [r0, #4] 2161 .L203: 1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2162 .loc 1 1178 3 is_stmt 1 view .LVU691 1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2163 .loc 1 1178 6 is_stmt 0 view .LVU692 2164 0014 364B ldr r3, .L216 2165 0016 1B68 ldr r3, [r3] 1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2166 .loc 1 1178 5 view .LVU693 2167 0018 13F4807F tst r3, #256 2168 001c 4FD0 beq .L205 1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2169 .loc 1 1180 5 is_stmt 1 view .LVU694 1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2170 .loc 1 1180 33 is_stmt 0 view .LVU695 2171 001e 4FF48073 mov r3, #256 2172 0022 C360 str r3, [r0, #12] 2173 .L206: 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2174 .loc 1 1187 3 is_stmt 1 view .LVU696 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2175 .loc 1 1187 44 is_stmt 0 view .LVU697 2176 0024 324A ldr r2, .L216 2177 0026 5368 ldr r3, [r2, #4] 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2178 .loc 1 1187 84 view .LVU698 2179 0028 C3F30663 ubfx r3, r3, #24, #7 ARM GAS /tmp/cc6AIysH.s page 75 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2180 .loc 1 1187 42 view .LVU699 2181 002c 0361 str r3, [r0, #16] 1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2182 .loc 1 1190 3 is_stmt 1 view .LVU700 1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2183 .loc 1 1190 6 is_stmt 0 view .LVU701 2184 002e D2F89030 ldr r3, [r2, #144] 1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2185 .loc 1 1190 5 view .LVU702 2186 0032 13F0040F tst r3, #4 2187 0036 45D0 beq .L207 1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2188 .loc 1 1192 5 is_stmt 1 view .LVU703 1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2189 .loc 1 1192 33 is_stmt 0 view .LVU704 2190 0038 0523 movs r3, #5 2191 003a 8360 str r3, [r0, #8] 2192 .L208: 1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2193 .loc 1 1204 3 is_stmt 1 view .LVU705 1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2194 .loc 1 1204 6 is_stmt 0 view .LVU706 2195 003c 2C4B ldr r3, .L216 2196 003e D3F89430 ldr r3, [r3, #148] 1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2197 .loc 1 1204 5 view .LVU707 2198 0042 13F0010F tst r3, #1 2199 0046 49D0 beq .L210 1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2200 .loc 1 1206 5 is_stmt 1 view .LVU708 1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2201 .loc 1 1206 33 is_stmt 0 view .LVU709 2202 0048 0123 movs r3, #1 2203 004a 4361 str r3, [r0, #20] 2204 .L211: 1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2205 .loc 1 1214 3 is_stmt 1 view .LVU710 1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2206 .loc 1 1214 6 is_stmt 0 view .LVU711 2207 004c 284B ldr r3, .L216 2208 004e D3F89830 ldr r3, [r3, #152] 1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2209 .loc 1 1214 5 view .LVU712 2210 0052 13F0010F tst r3, #1 2211 0056 44D0 beq .L212 1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2212 .loc 1 1216 5 is_stmt 1 view .LVU713 1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2213 .loc 1 1216 35 is_stmt 0 view .LVU714 2214 0058 0123 movs r3, #1 2215 005a 8361 str r3, [r0, #24] 2216 .L213: 1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2217 .loc 1 1224 3 is_stmt 1 view .LVU715 1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2218 .loc 1 1224 6 is_stmt 0 view .LVU716 ARM GAS /tmp/cc6AIysH.s page 76 2219 005c 244B ldr r3, .L216 2220 005e 1B68 ldr r3, [r3] 1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2221 .loc 1 1224 5 view .LVU717 2222 0060 13F0807F tst r3, #16777216 2223 0064 40D0 beq .L214 1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2224 .loc 1 1226 5 is_stmt 1 view .LVU718 1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2225 .loc 1 1226 37 is_stmt 0 view .LVU719 2226 0066 0223 movs r3, #2 2227 0068 C361 str r3, [r0, #28] 2228 .L215: 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLM = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) 2229 .loc 1 1232 3 is_stmt 1 view .LVU720 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLM = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) 2230 .loc 1 1232 38 is_stmt 0 view .LVU721 2231 006a 214A ldr r2, .L216 2232 006c D368 ldr r3, [r2, #12] 2233 006e 03F00303 and r3, r3, #3 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLM = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) 2234 .loc 1 1232 36 view .LVU722 2235 0072 0362 str r3, [r0, #32] 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLN = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos; 2236 .loc 1 1233 3 is_stmt 1 view .LVU723 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLN = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos; 2237 .loc 1 1233 34 is_stmt 0 view .LVU724 2238 0074 D368 ldr r3, [r2, #12] 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLN = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos; 2239 .loc 1 1233 75 view .LVU725 2240 0076 C3F30313 ubfx r3, r3, #4, #4 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLN = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos; 2241 .loc 1 1233 100 view .LVU726 2242 007a 0133 adds r3, r3, #1 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLN = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos; 2243 .loc 1 1233 31 view .LVU727 2244 007c 4362 str r3, [r0, #36] 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLQ = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLQ) >> RCC_PLLCFGR_PLLQ_Pos 2245 .loc 1 1234 3 is_stmt 1 view .LVU728 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLQ = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLQ) >> RCC_PLLCFGR_PLLQ_Pos 2246 .loc 1 1234 33 is_stmt 0 view .LVU729 2247 007e D368 ldr r3, [r2, #12] 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLQ = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLQ) >> RCC_PLLCFGR_PLLQ_Pos 2248 .loc 1 1234 74 view .LVU730 2249 0080 C3F30623 ubfx r3, r3, #8, #7 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLQ = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLQ) >> RCC_PLLCFGR_PLLQ_Pos 2250 .loc 1 1234 31 view .LVU731 2251 0084 8362 str r3, [r0, #40] 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLR = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos 2252 .loc 1 1235 3 is_stmt 1 view .LVU732 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLR = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos 2253 .loc 1 1235 36 is_stmt 0 view .LVU733 2254 0086 D368 ldr r3, [r2, #12] 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLR = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos 2255 .loc 1 1235 77 view .LVU734 2256 0088 C3F34153 ubfx r3, r3, #21, #2 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLR = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos ARM GAS /tmp/cc6AIysH.s page 77 2257 .loc 1 1235 102 view .LVU735 2258 008c 0133 adds r3, r3, #1 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLR = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos 2259 .loc 1 1235 108 view .LVU736 2260 008e 5B00 lsls r3, r3, #1 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLR = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos 2261 .loc 1 1235 31 view .LVU737 2262 0090 0363 str r3, [r0, #48] 1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLP = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLPDIV) >> RCC_PLLCFGR_PLLPDIV_ 2263 .loc 1 1236 3 is_stmt 1 view .LVU738 1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLP = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLPDIV) >> RCC_PLLCFGR_PLLPDIV_ 2264 .loc 1 1236 36 is_stmt 0 view .LVU739 2265 0092 D368 ldr r3, [r2, #12] 1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLP = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLPDIV) >> RCC_PLLCFGR_PLLPDIV_ 2266 .loc 1 1236 77 view .LVU740 2267 0094 C3F34163 ubfx r3, r3, #25, #2 1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLP = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLPDIV) >> RCC_PLLCFGR_PLLPDIV_ 2268 .loc 1 1236 102 view .LVU741 2269 0098 0133 adds r3, r3, #1 1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLP = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLPDIV) >> RCC_PLLCFGR_PLLPDIV_ 2270 .loc 1 1236 108 view .LVU742 2271 009a 5B00 lsls r3, r3, #1 1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLP = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLPDIV) >> RCC_PLLCFGR_PLLPDIV_ 2272 .loc 1 1236 31 view .LVU743 2273 009c 4363 str r3, [r0, #52] 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2274 .loc 1 1237 3 is_stmt 1 view .LVU744 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2275 .loc 1 1237 33 is_stmt 0 view .LVU745 2276 009e D368 ldr r3, [r2, #12] 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2277 .loc 1 1237 77 view .LVU746 2278 00a0 DB0E lsrs r3, r3, #27 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2279 .loc 1 1237 31 view .LVU747 2280 00a2 C362 str r3, [r0, #44] 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2281 .loc 1 1238 1 view .LVU748 2282 00a4 7047 bx lr 2283 .L202: 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2284 .loc 1 1168 8 is_stmt 1 view .LVU749 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2285 .loc 1 1168 11 is_stmt 0 view .LVU750 2286 00a6 124B ldr r3, .L216 2287 00a8 1B68 ldr r3, [r3] 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2288 .loc 1 1168 10 view .LVU751 2289 00aa 13F4803F tst r3, #65536 2290 00ae 03D0 beq .L204 1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2291 .loc 1 1170 5 is_stmt 1 view .LVU752 1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2292 .loc 1 1170 33 is_stmt 0 view .LVU753 2293 00b0 4FF48033 mov r3, #65536 2294 00b4 4360 str r3, [r0, #4] 2295 00b6 ADE7 b .L203 ARM GAS /tmp/cc6AIysH.s page 78 2296 .L204: 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2297 .loc 1 1174 5 is_stmt 1 view .LVU754 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2298 .loc 1 1174 33 is_stmt 0 view .LVU755 2299 00b8 0023 movs r3, #0 2300 00ba 4360 str r3, [r0, #4] 2301 00bc AAE7 b .L203 2302 .L205: 1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2303 .loc 1 1184 5 is_stmt 1 view .LVU756 1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2304 .loc 1 1184 33 is_stmt 0 view .LVU757 2305 00be 0023 movs r3, #0 2306 00c0 C360 str r3, [r0, #12] 2307 00c2 AFE7 b .L206 2308 .L207: 1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2309 .loc 1 1194 8 is_stmt 1 view .LVU758 1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2310 .loc 1 1194 11 is_stmt 0 view .LVU759 2311 00c4 0A4B ldr r3, .L216 2312 00c6 D3F89030 ldr r3, [r3, #144] 1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2313 .loc 1 1194 10 view .LVU760 2314 00ca 13F0010F tst r3, #1 2315 00ce 02D0 beq .L209 1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2316 .loc 1 1196 5 is_stmt 1 view .LVU761 1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2317 .loc 1 1196 33 is_stmt 0 view .LVU762 2318 00d0 0123 movs r3, #1 2319 00d2 8360 str r3, [r0, #8] 2320 00d4 B2E7 b .L208 2321 .L209: 1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2322 .loc 1 1200 5 is_stmt 1 view .LVU763 1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2323 .loc 1 1200 33 is_stmt 0 view .LVU764 2324 00d6 0023 movs r3, #0 2325 00d8 8360 str r3, [r0, #8] 2326 00da AFE7 b .L208 2327 .L210: 1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2328 .loc 1 1210 5 is_stmt 1 view .LVU765 1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2329 .loc 1 1210 33 is_stmt 0 view .LVU766 2330 00dc 0023 movs r3, #0 2331 00de 4361 str r3, [r0, #20] 2332 00e0 B4E7 b .L211 2333 .L212: 1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2334 .loc 1 1220 5 is_stmt 1 view .LVU767 1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2335 .loc 1 1220 35 is_stmt 0 view .LVU768 2336 00e2 0023 movs r3, #0 2337 00e4 8361 str r3, [r0, #24] ARM GAS /tmp/cc6AIysH.s page 79 2338 00e6 B9E7 b .L213 2339 .L214: 1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2340 .loc 1 1230 5 is_stmt 1 view .LVU769 1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2341 .loc 1 1230 37 is_stmt 0 view .LVU770 2342 00e8 0123 movs r3, #1 2343 00ea C361 str r3, [r0, #28] 2344 00ec BDE7 b .L215 2345 .L217: 2346 00ee 00BF .align 2 2347 .L216: 2348 00f0 00100240 .word 1073876992 2349 .cfi_endproc 2350 .LFE337: 2352 .section .text.HAL_RCC_GetClockConfig,"ax",%progbits 2353 .align 1 2354 .global HAL_RCC_GetClockConfig 2355 .syntax unified 2356 .thumb 2357 .thumb_func 2359 HAL_RCC_GetClockConfig: 2360 .LVL172: 2361 .LFB338: 1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 2362 .loc 1 1249 1 is_stmt 1 view -0 2363 .cfi_startproc 2364 @ args = 0, pretend = 0, frame = 0 2365 @ frame_needed = 0, uses_anonymous_args = 0 2366 @ link register save eliminated. 1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(pFLatency != (void *)NULL); 2367 .loc 1 1251 3 view .LVU772 1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2368 .loc 1 1252 3 view .LVU773 1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2369 .loc 1 1255 3 view .LVU774 1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2370 .loc 1 1255 32 is_stmt 0 view .LVU775 2371 0000 0F23 movs r3, #15 2372 0002 0360 str r3, [r0] 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2373 .loc 1 1258 3 is_stmt 1 view .LVU776 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2374 .loc 1 1258 37 is_stmt 0 view .LVU777 2375 0004 0B4B ldr r3, .L219 2376 0006 9A68 ldr r2, [r3, #8] 2377 0008 02F00302 and r2, r2, #3 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2378 .loc 1 1258 35 view .LVU778 2379 000c 4260 str r2, [r0, #4] 1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2380 .loc 1 1261 3 is_stmt 1 view .LVU779 1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2381 .loc 1 1261 38 is_stmt 0 view .LVU780 2382 000e 9A68 ldr r2, [r3, #8] 2383 0010 02F0F002 and r2, r2, #240 1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/cc6AIysH.s page 80 2384 .loc 1 1261 36 view .LVU781 2385 0014 8260 str r2, [r0, #8] 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2386 .loc 1 1264 3 is_stmt 1 view .LVU782 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2387 .loc 1 1264 39 is_stmt 0 view .LVU783 2388 0016 9A68 ldr r2, [r3, #8] 2389 0018 02F4E062 and r2, r2, #1792 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2390 .loc 1 1264 37 view .LVU784 2391 001c C260 str r2, [r0, #12] 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2392 .loc 1 1267 3 is_stmt 1 view .LVU785 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2393 .loc 1 1267 40 is_stmt 0 view .LVU786 2394 001e 9B68 ldr r3, [r3, #8] 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2395 .loc 1 1267 76 view .LVU787 2396 0020 DB08 lsrs r3, r3, #3 2397 0022 03F4E063 and r3, r3, #1792 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2398 .loc 1 1267 37 view .LVU788 2399 0026 0361 str r3, [r0, #16] 1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2400 .loc 1 1270 3 is_stmt 1 view .LVU789 1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2401 .loc 1 1270 16 is_stmt 0 view .LVU790 2402 0028 034B ldr r3, .L219+4 2403 002a 1B68 ldr r3, [r3] 2404 002c 03F00F03 and r3, r3, #15 1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2405 .loc 1 1270 14 view .LVU791 2406 0030 0B60 str r3, [r1] 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2407 .loc 1 1271 1 view .LVU792 2408 0032 7047 bx lr 2409 .L220: 2410 .align 2 2411 .L219: 2412 0034 00100240 .word 1073876992 2413 0038 00200240 .word 1073881088 2414 .cfi_endproc 2415 .LFE338: 2417 .section .text.HAL_RCC_EnableCSS,"ax",%progbits 2418 .align 1 2419 .global HAL_RCC_EnableCSS 2420 .syntax unified 2421 .thumb 2422 .thumb_func 2424 HAL_RCC_EnableCSS: 2425 .LFB339: 1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_CSSON) ; 2426 .loc 1 1284 1 is_stmt 1 view -0 2427 .cfi_startproc 2428 @ args = 0, pretend = 0, frame = 0 2429 @ frame_needed = 0, uses_anonymous_args = 0 2430 @ link register save eliminated. ARM GAS /tmp/cc6AIysH.s page 81 1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2431 .loc 1 1285 3 view .LVU794 2432 0000 024A ldr r2, .L222 2433 0002 1368 ldr r3, [r2] 2434 0004 43F40023 orr r3, r3, #524288 2435 0008 1360 str r3, [r2] 1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2436 .loc 1 1286 1 is_stmt 0 view .LVU795 2437 000a 7047 bx lr 2438 .L223: 2439 .align 2 2440 .L222: 2441 000c 00100240 .word 1073876992 2442 .cfi_endproc 2443 .LFE339: 2445 .section .text.HAL_RCC_EnableLSECSS,"ax",%progbits 2446 .align 1 2447 .global HAL_RCC_EnableLSECSS 2448 .syntax unified 2449 .thumb 2450 .thumb_func 2452 HAL_RCC_EnableLSECSS: 2453 .LFB340: 1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; 2454 .loc 1 1298 1 is_stmt 1 view -0 2455 .cfi_startproc 2456 @ args = 0, pretend = 0, frame = 0 2457 @ frame_needed = 0, uses_anonymous_args = 0 2458 @ link register save eliminated. 1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2459 .loc 1 1299 3 view .LVU797 2460 0000 034A ldr r2, .L225 2461 0002 D2F89030 ldr r3, [r2, #144] 2462 0006 43F02003 orr r3, r3, #32 2463 000a C2F89030 str r3, [r2, #144] 1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2464 .loc 1 1300 1 is_stmt 0 view .LVU798 2465 000e 7047 bx lr 2466 .L226: 2467 .align 2 2468 .L225: 2469 0010 00100240 .word 1073876992 2470 .cfi_endproc 2471 .LFE340: 2473 .section .text.HAL_RCC_DisableLSECSS,"ax",%progbits 2474 .align 1 2475 .global HAL_RCC_DisableLSECSS 2476 .syntax unified 2477 .thumb 2478 .thumb_func 2480 HAL_RCC_DisableLSECSS: 2481 .LFB341: 1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; 2482 .loc 1 1309 1 is_stmt 1 view -0 2483 .cfi_startproc 2484 @ args = 0, pretend = 0, frame = 0 2485 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cc6AIysH.s page 82 2486 @ link register save eliminated. 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2487 .loc 1 1310 3 view .LVU800 2488 0000 034A ldr r2, .L228 2489 0002 D2F89030 ldr r3, [r2, #144] 2490 0006 23F02003 bic r3, r3, #32 2491 000a C2F89030 str r3, [r2, #144] 1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2492 .loc 1 1311 1 is_stmt 0 view .LVU801 2493 000e 7047 bx lr 2494 .L229: 2495 .align 2 2496 .L228: 2497 0010 00100240 .word 1073876992 2498 .cfi_endproc 2499 .LFE341: 2501 .section .text.HAL_RCC_CSSCallback,"ax",%progbits 2502 .align 1 2503 .weak HAL_RCC_CSSCallback 2504 .syntax unified 2505 .thumb 2506 .thumb_func 2508 HAL_RCC_CSSCallback: 2509 .LFB343: 1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* NOTE : This function should not be modified, when the callback is needed, 2510 .loc 1 1336 1 is_stmt 1 view -0 2511 .cfi_startproc 2512 @ args = 0, pretend = 0, frame = 0 2513 @ frame_needed = 0, uses_anonymous_args = 0 2514 @ link register save eliminated. 1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2515 .loc 1 1340 1 view .LVU803 2516 0000 7047 bx lr 2517 .cfi_endproc 2518 .LFE343: 2520 .section .text.HAL_RCC_NMI_IRQHandler,"ax",%progbits 2521 .align 1 2522 .global HAL_RCC_NMI_IRQHandler 2523 .syntax unified 2524 .thumb 2525 .thumb_func 2527 HAL_RCC_NMI_IRQHandler: 2528 .LFB342: 1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check RCC CSSF interrupt flag */ 2529 .loc 1 1319 1 view -0 2530 .cfi_startproc 2531 @ args = 0, pretend = 0, frame = 0 2532 @ frame_needed = 0, uses_anonymous_args = 0 2533 0000 08B5 push {r3, lr} 2534 .LCFI15: 2535 .cfi_def_cfa_offset 8 2536 .cfi_offset 3, -8 2537 .cfi_offset 14, -4 1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2538 .loc 1 1321 3 view .LVU805 1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2539 .loc 1 1321 6 is_stmt 0 view .LVU806 ARM GAS /tmp/cc6AIysH.s page 83 2540 0002 064B ldr r3, .L235 2541 0004 DB69 ldr r3, [r3, #28] 1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2542 .loc 1 1321 5 view .LVU807 2543 0006 13F4807F tst r3, #256 2544 000a 00D1 bne .L234 2545 .L231: 1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2546 .loc 1 1329 1 view .LVU808 2547 000c 08BD pop {r3, pc} 2548 .L234: 1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2549 .loc 1 1324 5 is_stmt 1 view .LVU809 2550 000e FFF7FEFF bl HAL_RCC_CSSCallback 2551 .LVL173: 1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2552 .loc 1 1327 5 view .LVU810 2553 0012 024B ldr r3, .L235 2554 0014 4FF48072 mov r2, #256 2555 0018 1A62 str r2, [r3, #32] 1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2556 .loc 1 1329 1 is_stmt 0 view .LVU811 2557 001a F7E7 b .L231 2558 .L236: 2559 .align 2 2560 .L235: 2561 001c 00100240 .word 1073876992 2562 .cfi_endproc 2563 .LFE342: 2565 .text 2566 .Letext0: 2567 .file 2 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/mach 2568 .file 3 "/home/fra/bin/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/sys/ 2569 .file 4 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h" 2570 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h" 2571 .file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h" 2572 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h" 2573 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h" 2574 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h" 2575 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h" ARM GAS /tmp/cc6AIysH.s page 84 DEFINED SYMBOLS *ABS*:00000000 stm32g4xx_hal_rcc.c /tmp/cc6AIysH.s:21 .text.RCC_GetSysClockFreqFromPLLSource:00000000 $t /tmp/cc6AIysH.s:26 .text.RCC_GetSysClockFreqFromPLLSource:00000000 RCC_GetSysClockFreqFromPLLSource /tmp/cc6AIysH.s:108 .text.RCC_GetSysClockFreqFromPLLSource:0000004c $d /tmp/cc6AIysH.s:115 .text.HAL_RCC_DeInit:00000000 $t /tmp/cc6AIysH.s:121 .text.HAL_RCC_DeInit:00000000 HAL_RCC_DeInit /tmp/cc6AIysH.s:294 .text.HAL_RCC_DeInit:000000bc $d /tmp/cc6AIysH.s:302 .text.HAL_RCC_OscConfig:00000000 $t /tmp/cc6AIysH.s:308 .text.HAL_RCC_OscConfig:00000000 HAL_RCC_OscConfig /tmp/cc6AIysH.s:881 .text.HAL_RCC_OscConfig:000002a8 $d /tmp/cc6AIysH.s:886 .text.HAL_RCC_OscConfig:000002b4 $t /tmp/cc6AIysH.s:1337 .text.HAL_RCC_OscConfig:000004d8 $d /tmp/cc6AIysH.s:1344 .text.HAL_RCC_MCOConfig:00000000 $t /tmp/cc6AIysH.s:1350 .text.HAL_RCC_MCOConfig:00000000 HAL_RCC_MCOConfig /tmp/cc6AIysH.s:1452 .text.HAL_RCC_MCOConfig:00000058 $d /tmp/cc6AIysH.s:1457 .text.HAL_RCC_GetSysClockFreq:00000000 $t /tmp/cc6AIysH.s:1463 .text.HAL_RCC_GetSysClockFreq:00000000 HAL_RCC_GetSysClockFreq /tmp/cc6AIysH.s:1585 .text.HAL_RCC_GetSysClockFreq:0000007c $d /tmp/cc6AIysH.s:1592 .text.HAL_RCC_ClockConfig:00000000 $t /tmp/cc6AIysH.s:1598 .text.HAL_RCC_ClockConfig:00000000 HAL_RCC_ClockConfig /tmp/cc6AIysH.s:2009 .text.HAL_RCC_ClockConfig:000001e0 $d /tmp/cc6AIysH.s:2019 .text.HAL_RCC_GetHCLKFreq:00000000 $t /tmp/cc6AIysH.s:2025 .text.HAL_RCC_GetHCLKFreq:00000000 HAL_RCC_GetHCLKFreq /tmp/cc6AIysH.s:2040 .text.HAL_RCC_GetHCLKFreq:00000008 $d /tmp/cc6AIysH.s:2045 .text.HAL_RCC_GetPCLK1Freq:00000000 $t /tmp/cc6AIysH.s:2051 .text.HAL_RCC_GetPCLK1Freq:00000000 HAL_RCC_GetPCLK1Freq /tmp/cc6AIysH.s:2082 .text.HAL_RCC_GetPCLK1Freq:0000001c $d /tmp/cc6AIysH.s:2088 .text.HAL_RCC_GetPCLK2Freq:00000000 $t /tmp/cc6AIysH.s:2094 .text.HAL_RCC_GetPCLK2Freq:00000000 HAL_RCC_GetPCLK2Freq /tmp/cc6AIysH.s:2125 .text.HAL_RCC_GetPCLK2Freq:0000001c $d /tmp/cc6AIysH.s:2131 .text.HAL_RCC_GetOscConfig:00000000 $t /tmp/cc6AIysH.s:2137 .text.HAL_RCC_GetOscConfig:00000000 HAL_RCC_GetOscConfig /tmp/cc6AIysH.s:2348 .text.HAL_RCC_GetOscConfig:000000f0 $d /tmp/cc6AIysH.s:2353 .text.HAL_RCC_GetClockConfig:00000000 $t /tmp/cc6AIysH.s:2359 .text.HAL_RCC_GetClockConfig:00000000 HAL_RCC_GetClockConfig /tmp/cc6AIysH.s:2412 .text.HAL_RCC_GetClockConfig:00000034 $d /tmp/cc6AIysH.s:2418 .text.HAL_RCC_EnableCSS:00000000 $t /tmp/cc6AIysH.s:2424 .text.HAL_RCC_EnableCSS:00000000 HAL_RCC_EnableCSS /tmp/cc6AIysH.s:2441 .text.HAL_RCC_EnableCSS:0000000c $d /tmp/cc6AIysH.s:2446 .text.HAL_RCC_EnableLSECSS:00000000 $t /tmp/cc6AIysH.s:2452 .text.HAL_RCC_EnableLSECSS:00000000 HAL_RCC_EnableLSECSS /tmp/cc6AIysH.s:2469 .text.HAL_RCC_EnableLSECSS:00000010 $d /tmp/cc6AIysH.s:2474 .text.HAL_RCC_DisableLSECSS:00000000 $t /tmp/cc6AIysH.s:2480 .text.HAL_RCC_DisableLSECSS:00000000 HAL_RCC_DisableLSECSS /tmp/cc6AIysH.s:2497 .text.HAL_RCC_DisableLSECSS:00000010 $d /tmp/cc6AIysH.s:2502 .text.HAL_RCC_CSSCallback:00000000 $t /tmp/cc6AIysH.s:2508 .text.HAL_RCC_CSSCallback:00000000 HAL_RCC_CSSCallback /tmp/cc6AIysH.s:2521 .text.HAL_RCC_NMI_IRQHandler:00000000 $t /tmp/cc6AIysH.s:2527 .text.HAL_RCC_NMI_IRQHandler:00000000 HAL_RCC_NMI_IRQHandler /tmp/cc6AIysH.s:2561 .text.HAL_RCC_NMI_IRQHandler:0000001c $d UNDEFINED SYMBOLS HAL_GetTick HAL_InitTick SystemCoreClock uwTickPrio ARM GAS /tmp/cc6AIysH.s page 85 HAL_GPIO_Init AHBPrescTable APBPrescTable