ARM GAS /tmp/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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/ccu53ZgF.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 ready */ 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/ccu53ZgF.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 **** /* Disable all PLL outputs to save power if no PLLs on */ 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC, RCC_PLLSOURCE_NONE); 677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_PLLCLKOUT_DISABLE(RCC_PLL_SYSCLK | RCC_PLL_48M1CLK | RCC_PLL_ADCCLK); 678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Wait till PLL is disabled */ 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_PLLRDY) != 0U) 684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 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 **** } 692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check if there is a request to disable the PLL used as System clock source */ 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) 696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Do not return HAL_ERROR if request repeats the current configuration */ 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** temp_pllckcfg = RCC->PLLCFGR; 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLPDIV) != ((RCC_OscInitStruct->PLL.PLLP) << RCC_PLL 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLQ) != ((((RCC_OscInitStruct->PLL.PLLQ) >> 1U) - 1U 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 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 **** ARM GAS /tmp/ccu53ZgF.s page 14 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_OK; 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 **** /** 720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Initialize the CPU, AHB and APB buses clocks according to the specified 721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * parameters in the RCC_ClkInitStruct. 722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_OscInitTypeDef structure that 723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * contains the configuration information for the RCC peripheral. 724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param FLatency FLASH Latency 725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * This parameter can be one of the following values: 726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_0 FLASH 0 Latency cycle 727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_1 FLASH 1 Latency cycle 728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_2 FLASH 2 Latency cycles 729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_3 FLASH 3 Latency cycles 730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_4 FLASH 4 Latency cycles 731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_5 FLASH 5 Latency cycles 732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_6 FLASH 6 Latency cycles 733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_7 FLASH 7 Latency cycles 734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_8 FLASH 8 Latency cycles 735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_9 FLASH 9 Latency cycles 736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_10 FLASH 10 Latency cycles 737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_11 FLASH 11 Latency cycles 738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_12 FLASH 12 Latency cycles 739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_13 FLASH 13 Latency cycles 740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_14 FLASH 14 Latency cycles 741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg FLASH_LATENCY_15 FLASH 15 Latency cycles 742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency 744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * and updated by HAL_RCC_GetHCLKFreq() function called within this function 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The HSI is used by default as system clock source after 747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * startup from Reset, wake-up from STANDBY mode. After restart from Reset, 748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * the HSI frequency is set to its default value 16 MHz. 749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The HSI can be selected as system clock source after 751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * from STOP modes or in case of failure of the HSE used directly or indirectly 752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * as system clock (if the Clock Security System CSS is enabled). 753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note A switch from one clock source to another occurs only if the target 755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * clock source is ready (clock stable after startup delay or PLL locked). 756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * If a clock source which is not yet ready is selected, the switch will 757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * occur when the clock source is ready. 758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note You can use HAL_RCC_GetClockConfig() function to know which clock is 760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * currently used as system clock source. 761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Depending on the device voltage range, the software has to set correctly 763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency 764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * (for more details refer to section above "Initialization/de-initialization functions") 765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllfreq; 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t hpre = RCC_SYSCLK_DIV1; 772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/ccu53ZgF.s page 15 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check Null pointer */ 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_ClkInitStruct == NULL) 775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_CLOCKTYPE(RCC_ClkInitStruct->ClockType)); 781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency)); 782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* To correctly read data from FLASH memory, the number of wait states (LATENCY) 784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** must be correctly programmed according to the frequency of the CPU clock 785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (HCLK) and the supply voltage of the device. */ 786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Increasing the number of wait states because of higher CPU frequency */ 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (FLatency > __HAL_FLASH_GET_LATENCY()) 789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 790: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 */ 791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 793: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 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** memory by reading the FLASH_ACR register */ 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (__HAL_FLASH_GET_LATENCY() != FLatency) 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 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 **** 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*------------------------- SYSCLK Configuration ---------------------------*/ 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) 803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); 805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* PLL is selected as System Clock Source */ 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) 808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the PLL ready flag */ 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (READ_BIT(RCC->CR, RCC_CR_PLLRDY) == 0U) 811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Undershoot management when selection PLL as SYSCLK source and frequency above 80Mhz */ 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Compute target PLL output frequency */ 816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllfreq = RCC_GetSysClockFreqFromPLLSource(); 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Intermediate step with HCLK prescaler 2 necessary before to go over 80Mhz */ 819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(pllfreq > 80000000U) 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((READ_BIT(RCC->CFGR, RCC_CFGR_HPRE) == RCC_SYSCLK_DIV1)) || 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (RCC_ClkInitStruct->AHBCLKDivider == RCC_SYSCLK_DIV1)))) 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_SYSCLK_DIV2); 826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** hpre = RCC_SYSCLK_DIV2; 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 **** } ARM GAS /tmp/ccu53ZgF.s page 16 830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* HSE is selected as System Clock Source */ 833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the HSE ready flag */ 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_HSERDY) == 0U) 837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* HSI is selected as System Clock Source */ 842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the HSI ready flag */ 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_HSIRDY) == 0U) 846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_ERROR; 848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Overshoot management when going down from PLL as SYSCLK source and frequency above 80Mhz * 851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllfreq = HAL_RCC_GetSysClockFreq(); 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Intermediate step with HCLK prescaler 2 necessary before to go under 80Mhz */ 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(pllfreq > 80000000U) 855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_SYSCLK_DIV2); 857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** hpre = RCC_SYSCLK_DIV2; 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 **** 862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_SW, RCC_ClkInitStruct->SYSCLKSource); 863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get Start Tick*/ 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 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 **** 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*-------------------------- HCLK Configuration --------------------------*/ 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) 878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set the highest APB divider in order to ensure that we do not go through 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** a non-spec phase whatever we decrease or increase HCLK. */ 881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); 884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/ccu53ZgF.s page 17 887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, RCC_HCLK_DIV16); 888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set the new HCLK clock divider */ 891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); 893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Is intermediate HCLK prescaler 2 applied internally, complete with HCLK prescaler 1 */ 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(hpre == RCC_SYSCLK_DIV2) 898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_SYSCLK_DIV1); 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 **** 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Decreasing the number of wait states because of lower CPU frequency */ 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (FLatency < __HAL_FLASH_GET_LATENCY()) 905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 906: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 */ 907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency); 908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 909: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 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** memory by polling the FLASH_ACR register */ 911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** tickstart = HAL_GetTick(); 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** while (__HAL_FLASH_GET_LATENCY() != FLatency) 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_TIMEOUT; 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 **** 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*-------------------------- PCLK1 Configuration ---------------------------*/ 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); 926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /*-------------------------- PCLK2 Configuration ---------------------------*/ 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); 933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3U)); 934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */ 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SystemCoreClock = HAL_RCC_GetSysClockFreq() >> (AHBPrescTable[READ_BIT(RCC->CFGR, RCC_CFGR_HPRE) 938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Configure the source of time base considering new system clocks settings*/ 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return HAL_InitTick(uwTickPrio); 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/ccu53ZgF.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 **** 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group2 Peripheral Control functions 948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief RCC clocks control functions 949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** @verbatim 951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** =============================================================================== 952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ##### Peripheral Control functions ##### 953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** =============================================================================== 954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** [..] 955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** This subsection provides a set of functions allowing to: 956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Output clock to MCO pin. 958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Retrieve current clock frequencies. 959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (+) Enable the Clock Security System. 960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** @endverbatim 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 **** /** 966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Select the clock source to output on MCO pin(PA8/PG10). 967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note PA8/PG10 should be configured in alternate function mode. 968: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) 969: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 970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * as an MCO pin. 971: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. 972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_MCOx specifies the output direction for the clock source. 973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * For STM32G4xx family this parameter can have only one value: 974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO_PA8 Clock source to output on MCO1 pin(PA8). 975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO_PG10 Clock source to output on MCO1 pin(PG10). 976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_MCOSource specifies the clock source to output. 977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * This parameter can be one of the following values: 978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_NOCLOCK MCO output disabled, no clock on MCO 979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_SYSCLK system clock selected as MCO source 980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI HSI clock selected as MCO source 981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSE HSE clock selected as MCO sourcee 982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK main PLL clock selected as MCO source 983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSI LSI clock selected as MCO source 984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSE LSE clock selected as MCO source 985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 clock selected as MCO source for devices with 986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_MCODiv specifies the MCO prescaler. 987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * This parameter can be one of the following values: 988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_1 no division applied to MCO clock 989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_2 division by 2 applied to MCO clock 990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_4 division by 4 applied to MCO clock 991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_8 division by 8 applied to MCO clock 992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_16 division by 16 applied to MCO clock 993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 995: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) 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_InitTypeDef gpio_initstruct; 998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t mcoindex; 999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t mco_gpio_index; 1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_TypeDef * mco_gpio_port; ARM GAS /tmp/ccu53ZgF.s page 19 1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_MCO(RCC_MCOx)); 1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Common GPIO init parameters */ 1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Mode = GPIO_MODE_AF_PP; 1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Pull = GPIO_NOPULL; 1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get MCOx selection */ 1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** mcoindex = RCC_MCOx & RCC_MCO_INDEX_MASK; 1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get MCOx GPIO Port */ 1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** mco_gpio_port = (GPIO_TypeDef *) RCC_GET_MCO_GPIO_PORT(RCC_MCOx); 1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* MCOx Clock Enable */ 1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** mco_gpio_index = RCC_GET_MCO_GPIO_INDEX(RCC_MCOx); 1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->AHB2ENR, (1UL << mco_gpio_index )); 1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Configure the MCOx pin in alternate function mode */ 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Pin = RCC_GET_MCO_GPIO_PIN(RCC_MCOx); 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Alternate = RCC_GET_MCO_GPIO_AF(RCC_MCOx); 1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_GPIO_Init(mco_gpio_port, &gpio_initstruct); 1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (mcoindex == RCC_MCO1_INDEX) 1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_MCODIV(RCC_MCODiv)); 1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); 1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Mask MCOSEL[] and MCOPRE[] bits then set MCO clock source and prescaler */ 1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, (RCC_CFGR_MCOSEL | RCC_CFGR_MCOPRE), (RCC_MCOSource | RCC_MCODiv)); 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 **** /** 1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Return the SYSCLK frequency. 1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The system frequency computed by this function is not the real 1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * frequency in the chip. It is calculated based on the predefined 1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * constant and the selected clock source: 1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If SYSCLK source is HSI, function returns values based on HSI_VALUE(*) 1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If SYSCLK source is HSE, function returns values based on HSE_VALUE(**) 1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If SYSCLK source is PLL, function returns values based on HSE_VALUE(**), 1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * HSI_VALUE(*) Value multiplied/divided by the PLL factors. 1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note (*) HSI_VALUE is a constant defined in stm32g4xx_hal_conf.h file (default value 1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 16 MHz) but the real value may vary depending on the variations 1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * in voltage and temperature. 1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note (**) HSE_VALUE is a constant defined in stm32g4xx_hal_conf.h file (default value 1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 8 MHz), user has to ensure that HSE_VALUE is same as the real 1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * frequency of the crystal used. Otherwise, this function may 1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * have wrong result. 1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The result of this function could be not correct when using fractional 1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * value for HSE crystal. 1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note This function can be used by the user application to compute the 1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * baudrate for the communication peripherals or configure other parameters. 1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * ARM GAS /tmp/ccu53ZgF.s page 20 1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Each time SYSCLK changes, this function must be called to update the 1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * right SYSCLK value. Otherwise, any configuration based on this function will be incorre 1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval SYSCLK frequency 1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t HAL_RCC_GetSysClockFreq(void) 1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllvco, pllsource, pllr, pllm; 1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t sysclockfreq; 1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if (__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSI) 1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* HSI used as system clock source */ 1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = HSI_VALUE; 1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else if (__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_HSE) 1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* HSE used as system clock source */ 1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = HSE_VALUE; 1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else if (__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_CFGR_SWS_PLL) 1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* PLL used as system clock source */ 1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* PLL_VCO = ((HSE_VALUE or HSI_VALUE)/ PLLM) * PLLN 1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SYSCLK = PLL_VCO / PLLR 1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllsource = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC); 1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllm = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1U ; 1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** switch (pllsource) 1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** case RCC_PLLSOURCE_HSE: /* HSE used as PLL clock source */ 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllvco = (HSE_VALUE / pllm) * (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_P 1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** case RCC_PLLSOURCE_HSI: /* HSI used as PLL clock source */ 1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** default: 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllvco = (HSI_VALUE / pllm) * (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_P 1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllr = ((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos) + 1U ) * 2U; 1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = 0U; 1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return sysclockfreq; 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 **** /** 1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Return the HCLK frequency. 1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Each time HCLK changes, this function must be called to update the 1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * right HCLK value. Otherwise, any configuration based on this function will be incorrect ARM GAS /tmp/ccu53ZgF.s page 21 1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * 1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency. 1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval HCLK frequency in Hz 1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t HAL_RCC_GetHCLKFreq(void) 1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return SystemCoreClock; 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 **** /** 1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Return the PCLK1 frequency. 1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Each time PCLK1 changes, this function must be called to update the 1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * right PCLK1 value. Otherwise, any configuration based on this function will be incorrec 1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval PCLK1 frequency in Hz 1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK1Freq(void) 1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq() >> (APBPrescTable[READ_BIT(RCC->CFGR, RCC_CFGR_PPRE1) >> RCC_CFGR_P 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 **** /** 1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Return the PCLK2 frequency. 1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note Each time PCLK2 changes, this function must be called to update the 1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * right PCLK2 value. Otherwise, any configuration based on this function will be incorrec 1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval PCLK2 frequency in Hz 1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK2Freq(void) 1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq()>> (APBPrescTable[READ_BIT(RCC->CFGR, RCC_CFGR_PPRE2) >> RCC_CFGR_PP 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 **** /** 1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Configure the RCC_OscInitStruct according to the internal 1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * RCC configuration registers. 1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that 1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * will be configured. 1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) 1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(RCC_OscInitStruct != (void *)NULL); 1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set all possible values for the Oscillator type parameter ---------------*/ 1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI | \ 1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLA 1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the HSE configuration -----------------------------------------------*/ 1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_HSEBYP) == RCC_CR_HSEBYP) 1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS; 1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else if(READ_BIT(RCC->CR, RCC_CR_HSEON) == RCC_CR_HSEON) 1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_ON; ARM GAS /tmp/ccu53ZgF.s page 22 1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_OFF; 1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the HSI configuration -----------------------------------------------*/ 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_HSION) == RCC_CR_HSION) 1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_ON; 1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_OFF; 1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSICalibrationValue = READ_BIT(RCC->ICSCR, RCC_ICSCR_HSITRIM) >> RCC_ICSCR_HSI 1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the LSE configuration -----------------------------------------------*/ 1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->BDCR, RCC_BDCR_LSEBYP) == RCC_BDCR_LSEBYP) 1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS; 1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else if(READ_BIT(RCC->BDCR, RCC_BDCR_LSEON) == RCC_BDCR_LSEON) 1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_ON; 1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_OFF; 1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the LSI configuration -----------------------------------------------*/ 1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CSR, RCC_CSR_LSION) == RCC_CSR_LSION) 1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_ON; 1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_OFF; 1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the HSI48 configuration ---------------------------------------------*/ 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CRRCR, RCC_CRRCR_HSI48ON) == RCC_CRRCR_HSI48ON) 1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSI48State = RCC_HSI48_ON; 1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->HSI48State = RCC_HSI48_OFF; 1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the PLL configuration -----------------------------------------------*/ 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(READ_BIT(RCC->CR, RCC_CR_PLLON) == RCC_CR_PLLON) 1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_ON; 1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } ARM GAS /tmp/ccu53ZgF.s page 23 1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** else 1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_OFF; 1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLSource = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC); 1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLM = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) 1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLN = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos; 1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLQ = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLQ) >> RCC_PLLCFGR_PLLQ_Pos 1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLR = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLP = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLPDIV) >> RCC_PLLCFGR_PLLPDIV_ 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 **** /** 1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Configure the RCC_ClkInitStruct according to the internal 1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * RCC configuration registers. 1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_ClkInitTypeDef structure that 1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * will be configured. 1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @param pFLatency Pointer on the Flash Latency. 1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency) 1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(RCC_ClkInitStruct != (void *)NULL); 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(pFLatency != (void *)NULL); 1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Set all possible values for the Clock type parameter --------------------*/ 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | 1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the SYSCLK configuration --------------------------------------------*/ 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->SYSCLKSource = READ_BIT(RCC->CFGR, RCC_CFGR_SW); 1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the HCLK configuration ----------------------------------------------*/ 1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->AHBCLKDivider = READ_BIT(RCC->CFGR, RCC_CFGR_HPRE); 1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the APB1 configuration ----------------------------------------------*/ 1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->APB1CLKDivider = READ_BIT(RCC->CFGR, RCC_CFGR_PPRE1); 1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the APB2 configuration ----------------------------------------------*/ 1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_ClkInitStruct->APB2CLKDivider = (READ_BIT(RCC->CFGR, RCC_CFGR_PPRE2) >> 3U); 1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get the Flash Wait State (Latency) configuration ------------------------*/ 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** *pFLatency = __HAL_FLASH_GET_LATENCY(); 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 **** /** 1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Enable the Clock Security System. 1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If a failure is detected on the HSE oscillator clock, this oscillator 1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * is automatically disabled and an interrupt is generated to inform the 1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * software about the failure (Clock Security System Interrupt, CSSI), 1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * allowing the MCU to perform rescue operations. The CSSI is linked to 1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * the Cortex-M4 NMI (Non-Maskable Interrupt) exception vector. 1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The Clock Security System can only be cleared by reset. 1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_EnableCSS(void) 1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/ccu53ZgF.s page 24 1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_CSSON) ; 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 **** /** 1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Enable the LSE Clock Security System. 1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note If a failure is detected on the external 32 kHz oscillator, 1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * the LSE clock is no longer supplied to the RTC but no hardware action 1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * is made to the registers. If enabled, an interrupt will be generated 1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * and handle through @ref RCCEx_EXTI_LINE_LSECSS 1295: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 1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_EnableLSECSS(void) 1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; 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 **** /** 1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Disable the LSE Clock Security System. 1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note After LSE failure detection, the software must disable LSECSSON 1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note The Clock Security System can only be cleared by reset otherwise. 1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_DisableLSECSS(void) 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; 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 **** /** 1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Handle the RCC Clock Security System interrupt request. 1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @note This API should be called under the NMI_Handler(). 1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval None 1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** void HAL_RCC_NMI_IRQHandler(void) 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check RCC CSSF interrupt flag */ 1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if(__HAL_RCC_GET_IT(RCC_IT_CSS)) 1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* RCC Clock Security System interrupt user callback */ 1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_RCC_CSSCallback(); 1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Clear RCC CSS pending bit */ 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_CLEAR_IT(RCC_IT_CSS); 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 **** /** 1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief RCC Clock Security System interrupt callback. 1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval none 1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __weak void HAL_RCC_CSSCallback(void) 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* NOTE : This function should not be modified, when the callback is needed, 1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** the HAL_RCC_CSSCallback should be implemented in the user file 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/ccu53ZgF.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 **** 1351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Private function prototypes -----------------------------------------------*/ 1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /** @addtogroup RCC_Private_Functions 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 **** /** 1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @brief Compute SYSCLK frequency based on PLL SYSCLK source. 1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** * @retval SYSCLK frequency 1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** static uint32_t RCC_GetSysClockFreqFromPLLSource(void) 1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 28 .loc 1 1361 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. 1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllvco, pllsource, pllr, pllm; 33 .loc 1 1362 3 view .LVU1 1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t sysclockfreq; 34 .loc 1 1363 3 view .LVU2 1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* PLL_VCO = (HSE_VALUE or HSI_VALUE/ PLLM) * PLLN 1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SYSCLK = PLL_VCO / PLLR 1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** */ 1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllsource = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC); 35 .loc 1 1368 3 view .LVU3 36 .loc 1 1368 15 is_stmt 0 view .LVU4 37 0000 124B ldr r3, .L5 38 0002 DA68 ldr r2, [r3, #12] 39 .loc 1 1368 13 view .LVU5 40 0004 02F00302 and r2, r2, #3 41 .LVL0: 1369: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 1369 3 is_stmt 1 view .LVU6 43 .loc 1 1369 11 is_stmt 0 view .LVU7 44 0008 DB68 ldr r3, [r3, #12] 45 .loc 1 1369 52 view .LVU8 46 000a C3F30313 ubfx r3, r3, #4, #4 47 .loc 1 1369 8 view .LVU9 48 000e 0133 adds r3, r3, #1 49 .LVL1: 1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** switch (pllsource) 50 .loc 1 1371 3 is_stmt 1 view .LVU10 51 0010 032A cmp r2, #3 52 0012 11D0 beq .L4 1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** case RCC_PLLSOURCE_HSE: /* HSE used as PLL clock source */ 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** pllvco = (HSE_VALUE / pllm) * (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos ARM GAS /tmp/ccu53ZgF.s page 26 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** case RCC_PLLSOURCE_HSI: /* HSI used as PLL clock source */ 1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** default: 1379: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 1379 5 view .LVU11 54 .loc 1 1379 25 is_stmt 0 view .LVU12 55 0014 0E48 ldr r0, .L5+4 56 0016 B0FBF3F0 udiv r0, r0, r3 57 .loc 1 1379 36 view .LVU13 58 001a 0C4B ldr r3, .L5 59 .LVL2: 60 .loc 1 1379 36 view .LVU14 61 001c DB68 ldr r3, [r3, #12] 62 .loc 1 1379 77 view .LVU15 63 001e C3F30623 ubfx r3, r3, #8, #7 64 .loc 1 1379 12 view .LVU16 65 0022 03FB00F0 mul r0, r3, r0 66 .LVL3: 1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 67 .loc 1 1380 5 is_stmt 1 view .LVU17 68 .L3: 1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1383: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 1383 3 view .LVU18 70 .loc 1 1383 12 is_stmt 0 view .LVU19 71 0026 094B ldr r3, .L5 72 0028 DB68 ldr r3, [r3, #12] 73 .loc 1 1383 53 view .LVU20 74 002a C3F34163 ubfx r3, r3, #25, #2 75 .loc 1 1383 78 view .LVU21 76 002e 0133 adds r3, r3, #1 77 .loc 1 1383 8 view .LVU22 78 0030 5B00 lsls r3, r3, #1 79 .LVL4: 1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 80 .loc 1 1384 3 is_stmt 1 view .LVU23 1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return sysclockfreq; 81 .loc 1 1386 3 view .LVU24 1387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 82 .loc 1 1387 1 is_stmt 0 view .LVU25 83 0032 B0FBF3F0 udiv r0, r0, r3 84 .LVL5: 85 .loc 1 1387 1 view .LVU26 86 0036 7047 bx lr 87 .LVL6: 88 .L4: 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 89 .loc 1 1374 5 is_stmt 1 view .LVU27 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 90 .loc 1 1374 25 is_stmt 0 view .LVU28 91 0038 0648 ldr r0, .L5+8 92 003a B0FBF3F0 udiv r0, r0, r3 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 93 .loc 1 1374 36 view .LVU29 ARM GAS /tmp/ccu53ZgF.s page 27 94 003e 034B ldr r3, .L5 95 .LVL7: 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 96 .loc 1 1374 36 view .LVU30 97 0040 DB68 ldr r3, [r3, #12] 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 98 .loc 1 1374 77 view .LVU31 99 0042 C3F30623 ubfx r3, r3, #8, #7 1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 100 .loc 1 1374 12 view .LVU32 101 0046 03FB00F0 mul r0, r3, r0 102 .LVL8: 1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 103 .loc 1 1375 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] ARM GAS /tmp/ccu53ZgF.s page 28 144 000c 43F48073 orr r3, r3, #256 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 view .LVU45 161 0020 001B subs r0, r0, r4 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 162 .loc 1 232 8 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 **** ARM GAS /tmp/ccu53ZgF.s page 29 186 .loc 1 245 13 is_stmt 0 view .LVU53 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 view .LVU60 205 0050 001B subs r0, r0, r4 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 206 .loc 1 250 8 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 **** { ARM GAS /tmp/ccu53ZgF.s page 30 228 .loc 1 260 6 view .LVU68 229 006c 0446 mov r4, r0 230 .LVL22: 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 231 .loc 1 260 6 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 view .LVU83 265 0092 401B subs r0, r0, r5 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 266 .loc 1 277 8 view .LVU84 267 0094 0228 cmp r0, #2 268 0096 F5D9 bls .L13 ARM GAS /tmp/ccu53ZgF.s page 31 279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 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 ARM GAS /tmp/ccu53ZgF.s page 32 316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 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 00F05482 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 ARM GAS /tmp/ccu53ZgF.s page 33 357 0022 0C2B cmp r3, #12 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 discriminator 7 view .LVU122 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 387 .loc 1 350 28 is_stmt 0 discriminator 7 view .LVU123 388 004a 6368 ldr r3, [r4, #4] 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 389 .loc 1 350 10 discriminator 7 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: ARM GAS /tmp/ccu53ZgF.s page 34 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 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 view .LVU134 413 0064 401B subs r0, r0, r5 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 414 .loc 1 358 14 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 28E2 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 00F01782 beq .L118 ARM GAS /tmp/ccu53ZgF.s page 35 440 .LVL36: 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 ARM GAS /tmp/ccu53ZgF.s page 36 479 00a8 7F4A ldr r2, .L130 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 view .LVU171 505 00c6 401B subs r0, r0, r5 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 506 .loc 1 424 14 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 F7E1 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 ARM GAS /tmp/ccu53ZgF.s page 37 522 .LVL46: 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 view .LVU188 559 010a 401B subs r0, r0, r5 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 560 .loc 1 372 14 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 ARM GAS /tmp/ccu53ZgF.s page 38 564 0110 0320 movs r0, #3 565 0112 D5E1 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 00F0C681 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 view .LVU202 603 0142 0028 cmp r0, #0 604 0144 40F0B981 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 ARM GAS /tmp/ccu53ZgF.s page 39 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 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 view .LVU219 644 0178 401B subs r0, r0, r5 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 645 .loc 1 470 12 view .LVU220 646 017a 0228 cmp r0, #2 647 017c F4D9 bls .L52 ARM GAS /tmp/ccu53ZgF.s page 40 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 648 .loc 1 472 18 view .LVU221 649 017e 0320 movs r0, #3 650 0180 9EE1 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 view .LVU233 690 01b2 401B subs r0, r0, r5 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/ccu53ZgF.s page 41 691 .loc 1 444 14 view .LVU234 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 81E1 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 view .LVU245 724 01e0 401B subs r0, r0, r5 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 725 .loc 1 487 11 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 6AE1 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 ARM GAS /tmp/ccu53ZgF.s page 42 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 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 ARM GAS /tmp/ccu53ZgF.s page 43 774 0214 264B ldr r3, .L130+8 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 discriminator 7 view .LVU273 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 800 .loc 1 531 26 is_stmt 0 discriminator 7 view .LVU274 801 0242 A368 ldr r3, [r4, #8] 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 802 .loc 1 531 8 discriminator 7 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 ARM GAS /tmp/ccu53ZgF.s page 44 816 0250 D3F89030 ldr r3, [r3, #144] 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 view .LVU284 825 025e 801B subs r0, r0, r6 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 826 .loc 1 539 11 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 29E1 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 **** { ARM GAS /tmp/ccu53ZgF.s page 45 859 .loc 1 520 14 is_stmt 0 view .LVU294 860 028a FFF7FEFF bl HAL_GetTick 861 .LVL80: 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 862 .loc 1 520 28 view .LVU295 863 028e 801B subs r0, r0, r6 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 864 .loc 1 520 12 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 13E1 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 8A4B 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 **** { ARM GAS /tmp/ccu53ZgF.s page 46 905 .loc 1 551 14 is_stmt 0 view .LVU305 906 02d6 824B 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 view .LVU309 916 02e6 801B subs r0, r0, r6 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 917 .loc 1 553 11 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 E5E0 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 ARM GAS /tmp/ccu53ZgF.s page 47 945 0302 774A ldr r2, .L132 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 724B 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 view .LVU331 969 0326 401B subs r0, r0, r5 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 970 .loc 1 585 11 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 C7E0 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 6B4A 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: ARM GAS /tmp/ccu53ZgF.s page 48 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 989 .loc 1 594 7 is_stmt 1 view .LVU336 990 033c 684A 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 634B 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 view .LVU345 1014 0360 401B subs r0, r0, r5 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1015 .loc 1 602 11 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 AAE0 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 00F0A680 beq .L100 ARM GAS /tmp/ccu53ZgF.s page 49 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 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 5B4A 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 69D0 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 1DD0 beq .L126 673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1042 .loc 1 673 9 is_stmt 1 view .LVU357 1043 0382 574B ldr r3, .L132 1044 0384 1A68 ldr r2, [r3] 1045 0386 22F08072 bic r2, r2, #16777216 1046 038a 1A60 str r2, [r3] 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** __HAL_RCC_PLLCLKOUT_DISABLE(RCC_PLL_SYSCLK | RCC_PLL_48M1CLK | RCC_PLL_ADCCLK); 1047 .loc 1 676 11 view .LVU358 1048 038c DA68 ldr r2, [r3, #12] 1049 038e 22F00302 bic r2, r2, #3 1050 0392 DA60 str r2, [r3, #12] 677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1051 .loc 1 677 9 view .LVU359 1052 0394 DA68 ldr r2, [r3, #12] 1053 0396 22F08872 bic r2, r2, #17825792 1054 039a 22F48032 bic r2, r2, #65536 1055 039e DA60 str r2, [r3, #12] 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1056 .loc 1 680 9 view .LVU360 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1057 .loc 1 680 21 is_stmt 0 view .LVU361 1058 03a0 FFF7FEFF bl HAL_GetTick 1059 .LVL95: 1060 03a4 0446 mov r4, r0 1061 .LVL96: 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1062 .loc 1 683 9 is_stmt 1 view .LVU362 1063 .L82: 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1064 .loc 1 683 49 view .LVU363 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1065 .loc 1 683 16 is_stmt 0 view .LVU364 1066 03a6 4E4B ldr r3, .L132 1067 03a8 1B68 ldr r3, [r3] 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1068 .loc 1 683 49 view .LVU365 1069 03aa 13F0007F tst r3, #33554432 1070 03ae 4ED0 beq .L127 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1071 .loc 1 685 11 is_stmt 1 view .LVU366 ARM GAS /tmp/ccu53ZgF.s page 50 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1072 .loc 1 685 16 is_stmt 0 view .LVU367 1073 03b0 FFF7FEFF bl HAL_GetTick 1074 .LVL97: 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1075 .loc 1 685 30 view .LVU368 1076 03b4 001B subs r0, r0, r4 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1077 .loc 1 685 14 view .LVU369 1078 03b6 0228 cmp r0, #2 1079 03b8 F5D9 bls .L82 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1080 .loc 1 687 20 view .LVU370 1081 03ba 0320 movs r0, #3 1082 03bc 80E0 b .L27 1083 .LVL98: 1084 .L126: 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLM_VALUE(RCC_OscInitStruct->PLL.PLLM)); 1085 .loc 1 622 9 is_stmt 1 view .LVU371 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLN_VALUE(RCC_OscInitStruct->PLL.PLLN)); 1086 .loc 1 623 9 view .LVU372 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLP_VALUE(RCC_OscInitStruct->PLL.PLLP)); 1087 .loc 1 624 9 view .LVU373 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLQ_VALUE(RCC_OscInitStruct->PLL.PLLQ)); 1088 .loc 1 625 9 view .LVU374 626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR)); 1089 .loc 1 626 9 view .LVU375 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1090 .loc 1 627 9 view .LVU376 630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1091 .loc 1 630 9 view .LVU377 1092 03be 484A ldr r2, .L132 1093 03c0 1368 ldr r3, [r2] 1094 03c2 23F08073 bic r3, r3, #16777216 1095 03c6 1360 str r3, [r2] 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1096 .loc 1 633 9 view .LVU378 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1097 .loc 1 633 21 is_stmt 0 view .LVU379 1098 03c8 FFF7FEFF bl HAL_GetTick 1099 .LVL99: 1100 03cc 0546 mov r5, r0 1101 .LVL100: 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1102 .loc 1 636 9 is_stmt 1 view .LVU380 1103 .L78: 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1104 .loc 1 636 49 view .LVU381 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1105 .loc 1 636 16 is_stmt 0 view .LVU382 1106 03ce 444B ldr r3, .L132 1107 03d0 1B68 ldr r3, [r3] 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1108 .loc 1 636 49 view .LVU383 1109 03d2 13F0007F tst r3, #33554432 1110 03d6 06D0 beq .L128 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/ccu53ZgF.s page 51 1111 .loc 1 638 11 is_stmt 1 view .LVU384 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1112 .loc 1 638 16 is_stmt 0 view .LVU385 1113 03d8 FFF7FEFF bl HAL_GetTick 1114 .LVL101: 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1115 .loc 1 638 30 view .LVU386 1116 03dc 401B subs r0, r0, r5 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1117 .loc 1 638 14 view .LVU387 1118 03de 0228 cmp r0, #2 1119 03e0 F5D9 bls .L78 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1120 .loc 1 640 20 view .LVU388 1121 03e2 0320 movs r0, #3 1122 03e4 6CE0 b .L27 1123 .L128: 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLM, 1124 .loc 1 645 9 is_stmt 1 view .LVU389 1125 03e6 3E4A ldr r2, .L132 1126 03e8 D368 ldr r3, [r2, #12] 1127 03ea 3E49 ldr r1, .L132+4 1128 03ec 1940 ands r1, r1, r3 1129 03ee 236A ldr r3, [r4, #32] 1130 03f0 606A ldr r0, [r4, #36] 1131 03f2 0138 subs r0, r0, #1 1132 03f4 43EA0013 orr r3, r3, r0, lsl #4 1133 03f8 A06A ldr r0, [r4, #40] 1134 03fa 43EA0023 orr r3, r3, r0, lsl #8 1135 03fe 206B ldr r0, [r4, #48] 1136 0400 4008 lsrs r0, r0, #1 1137 0402 0138 subs r0, r0, #1 1138 0404 43EA4053 orr r3, r3, r0, lsl #21 1139 0408 606B ldr r0, [r4, #52] 1140 040a 4008 lsrs r0, r0, #1 1141 040c 0138 subs r0, r0, #1 1142 040e 43EA4063 orr r3, r3, r0, lsl #25 1143 0412 E06A ldr r0, [r4, #44] 1144 0414 43EAC063 orr r3, r3, r0, lsl #27 1145 0418 1943 orrs r1, r1, r3 1146 041a D160 str r1, [r2, #12] 653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1147 .loc 1 653 9 view .LVU390 1148 041c 1368 ldr r3, [r2] 1149 041e 43F08073 orr r3, r3, #16777216 1150 0422 1360 str r3, [r2] 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1151 .loc 1 656 10 view .LVU391 1152 0424 D368 ldr r3, [r2, #12] 1153 0426 43F08073 orr r3, r3, #16777216 1154 042a D360 str r3, [r2, #12] 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1155 .loc 1 659 9 view .LVU392 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1156 .loc 1 659 21 is_stmt 0 view .LVU393 1157 042c FFF7FEFF bl HAL_GetTick 1158 .LVL102: ARM GAS /tmp/ccu53ZgF.s page 52 1159 0430 0446 mov r4, r0 1160 .LVL103: 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1161 .loc 1 662 9 is_stmt 1 view .LVU394 1162 .L80: 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1163 .loc 1 662 49 view .LVU395 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1164 .loc 1 662 16 is_stmt 0 view .LVU396 1165 0432 2B4B ldr r3, .L132 1166 0434 1B68 ldr r3, [r3] 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1167 .loc 1 662 49 view .LVU397 1168 0436 13F0007F tst r3, #33554432 1169 043a 06D1 bne .L129 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1170 .loc 1 664 11 is_stmt 1 view .LVU398 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1171 .loc 1 664 16 is_stmt 0 view .LVU399 1172 043c FFF7FEFF bl HAL_GetTick 1173 .LVL104: 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1174 .loc 1 664 30 view .LVU400 1175 0440 001B subs r0, r0, r4 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1176 .loc 1 664 14 view .LVU401 1177 0442 0228 cmp r0, #2 1178 0444 F5D9 bls .L80 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1179 .loc 1 666 20 view .LVU402 1180 0446 0320 movs r0, #3 1181 0448 3AE0 b .L27 1182 .L129: 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1183 .loc 1 716 10 view .LVU403 1184 044a 0020 movs r0, #0 1185 044c 38E0 b .L27 1186 .L127: 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1187 .loc 1 716 10 view .LVU404 1188 044e 0020 movs r0, #0 1189 0450 36E0 b .L27 1190 .LVL105: 1191 .L76: 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1192 .loc 1 695 7 is_stmt 1 view .LVU405 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1193 .loc 1 695 9 is_stmt 0 view .LVU406 1194 0452 012B cmp r3, #1 1195 0454 36D0 beq .L104 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 1196 .loc 1 702 7 is_stmt 1 view .LVU407 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** if((READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 1197 .loc 1 702 21 is_stmt 0 view .LVU408 1198 0456 224B ldr r3, .L132 1199 0458 DB68 ldr r3, [r3, #12] 1200 .LVL106: ARM GAS /tmp/ccu53ZgF.s page 53 703: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 703 7 is_stmt 1 view .LVU409 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 1202 .loc 1 703 11 is_stmt 0 view .LVU410 1203 045a 03F00301 and r1, r3, #3 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 1204 .loc 1 703 80 view .LVU411 1205 045e 226A ldr r2, [r4, #32] 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 1206 .loc 1 703 9 view .LVU412 1207 0460 9142 cmp r1, r2 1208 0462 31D1 bne .L105 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 1209 .loc 1 704 11 discriminator 1 view .LVU413 1210 0464 03F0F002 and r2, r3, #240 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 1211 .loc 1 704 81 discriminator 1 view .LVU414 1212 0468 616A ldr r1, [r4, #36] 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 1213 .loc 1 704 88 discriminator 1 view .LVU415 1214 046a 0139 subs r1, r1, #1 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLM) != (((RCC_OscInitStruct->PLL.PLLM) - 1U) << RCC 1215 .loc 1 703 92 discriminator 1 view .LVU416 1216 046c B2EB011F cmp r2, r1, lsl #4 1217 0470 2CD1 bne .L106 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLPDIV) != ((RCC_OscInitStruct->PLL.PLLP) << RCC_PLL 1218 .loc 1 705 11 view .LVU417 1219 0472 03F4FE42 and r2, r3, #32512 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLPDIV) != ((RCC_OscInitStruct->PLL.PLLP) << RCC_PLL 1220 .loc 1 705 80 view .LVU418 1221 0476 A16A ldr r1, [r4, #40] 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLN) != ((RCC_OscInitStruct->PLL.PLLN) << RCC_PLLCFG 1222 .loc 1 704 120 view .LVU419 1223 0478 B2EB012F cmp r2, r1, lsl #8 1224 047c 28D1 bne .L107 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLQ) != ((((RCC_OscInitStruct->PLL.PLLQ) >> 1U) - 1U 1225 .loc 1 706 11 view .LVU420 1226 047e 03F07842 and r2, r3, #-134217728 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLQ) != ((((RCC_OscInitStruct->PLL.PLLQ) >> 1U) - 1U 1227 .loc 1 706 83 view .LVU421 1228 0482 E16A ldr r1, [r4, #44] 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLPDIV) != ((RCC_OscInitStruct->PLL.PLLP) << RCC_PLL 1229 .loc 1 705 113 view .LVU422 1230 0484 B2EBC16F cmp r2, r1, lsl #27 1231 0488 24D1 bne .L108 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1232 .loc 1 707 11 view .LVU423 1233 048a 03F4C001 and r1, r3, #6291456 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1234 .loc 1 707 82 view .LVU424 1235 048e 226B ldr r2, [r4, #48] 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1236 .loc 1 707 89 view .LVU425 1237 0490 5208 lsrs r2, r2, #1 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1238 .loc 1 707 96 view .LVU426 1239 0492 013A subs r2, r2, #1 ARM GAS /tmp/ccu53ZgF.s page 54 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLQ) != ((((RCC_OscInitStruct->PLL.PLLQ) >> 1U) - 1U 1240 .loc 1 706 119 view .LVU427 1241 0494 B1EB425F cmp r1, r2, lsl #21 1242 0498 1ED1 bne .L109 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1243 .loc 1 708 11 view .LVU428 1244 049a 03F0C063 and r3, r3, #100663296 1245 .LVL107: 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1246 .loc 1 708 82 view .LVU429 1247 049e 626B ldr r2, [r4, #52] 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1248 .loc 1 708 89 view .LVU430 1249 04a0 5208 lsrs r2, r2, #1 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1250 .loc 1 708 96 view .LVU431 1251 04a2 013A subs r2, r2, #1 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (READ_BIT(temp_pllckcfg, RCC_PLLCFGR_PLLR) != ((((RCC_OscInitStruct->PLL.PLLR) >> 1U) - 1U 1252 .loc 1 707 128 view .LVU432 1253 04a4 B3EB426F cmp r3, r2, lsl #25 1254 04a8 18D1 bne .L110 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1255 .loc 1 716 10 view .LVU433 1256 04aa 0020 movs r0, #0 1257 04ac 08E0 b .L27 1258 .LVL108: 1259 .L84: 1260 .LCFI3: 1261 .cfi_def_cfa_offset 0 1262 .cfi_restore 4 1263 .cfi_restore 5 1264 .cfi_restore 6 1265 .cfi_restore 14 321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1266 .loc 1 321 12 view .LVU434 1267 04ae 0120 movs r0, #1 1268 .LVL109: 717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1269 .loc 1 717 1 view .LVU435 1270 04b0 7047 bx lr 1271 .LVL110: 1272 .L118: 1273 .LCFI4: 1274 .cfi_def_cfa_offset 24 1275 .cfi_offset 4, -16 1276 .cfi_offset 5, -12 1277 .cfi_offset 6, -8 1278 .cfi_offset 14, -4 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1279 .loc 1 341 16 view .LVU436 1280 04b2 0120 movs r0, #1 1281 .LVL111: 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1282 .loc 1 341 16 view .LVU437 1283 04b4 04E0 b .L27 1284 .L88: 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } ARM GAS /tmp/ccu53ZgF.s page 55 1285 .loc 1 395 16 view .LVU438 1286 04b6 0120 movs r0, #1 1287 04b8 02E0 b .L27 1288 .LVL112: 1289 .L121: 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1290 .loc 1 406 18 view .LVU439 1291 04ba 0120 movs r0, #1 1292 04bc 00E0 b .L27 1293 .LVL113: 1294 .L100: 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1295 .loc 1 716 10 view .LVU440 1296 04be 0020 movs r0, #0 1297 .LVL114: 1298 .L27: 717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1299 .loc 1 717 1 view .LVU441 1300 04c0 02B0 add sp, sp, #8 1301 .LCFI5: 1302 .cfi_remember_state 1303 .cfi_def_cfa_offset 16 1304 @ sp needed 1305 04c2 70BD pop {r4, r5, r6, pc} 1306 .LVL115: 1307 .L104: 1308 .LCFI6: 1309 .cfi_restore_state 697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1310 .loc 1 697 16 view .LVU442 1311 04c4 0120 movs r0, #1 1312 04c6 FBE7 b .L27 1313 .LVL116: 1314 .L105: 710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1315 .loc 1 710 16 view .LVU443 1316 04c8 0120 movs r0, #1 1317 04ca F9E7 b .L27 1318 .L106: 1319 04cc 0120 movs r0, #1 1320 04ce F7E7 b .L27 1321 .L107: 1322 04d0 0120 movs r0, #1 1323 04d2 F5E7 b .L27 1324 .L108: 1325 04d4 0120 movs r0, #1 1326 04d6 F3E7 b .L27 1327 .L109: 1328 04d8 0120 movs r0, #1 1329 04da F1E7 b .L27 1330 .LVL117: 1331 .L110: 710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1332 .loc 1 710 16 view .LVU444 1333 04dc 0120 movs r0, #1 1334 04de EFE7 b .L27 1335 .L133: ARM GAS /tmp/ccu53ZgF.s page 56 1336 .align 2 1337 .L132: 1338 04e0 00100240 .word 1073876992 1339 04e4 0C809F01 .word 27230220 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: 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_InitTypeDef gpio_initstruct; 1353 .loc 1 996 1 is_stmt 1 view -0 1354 .cfi_startproc 1355 @ args = 0, pretend = 0, frame = 24 1356 @ frame_needed = 0, uses_anonymous_args = 0 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_InitTypeDef gpio_initstruct; 1357 .loc 1 996 1 is_stmt 0 view .LVU446 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 997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t mcoindex; 1370 .loc 1 997 3 is_stmt 1 view .LVU447 998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t mco_gpio_index; 1371 .loc 1 998 3 view .LVU448 999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** GPIO_TypeDef * mco_gpio_port; 1372 .loc 1 999 3 view .LVU449 1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1373 .loc 1 1000 3 view .LVU450 1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1374 .loc 1 1003 3 view .LVU451 1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 1375 .loc 1 1006 3 view .LVU452 1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 1376 .loc 1 1006 29 is_stmt 0 view .LVU453 1377 0008 0223 movs r3, #2 1378 000a 0293 str r3, [sp, #8] 1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Pull = GPIO_NOPULL; 1379 .loc 1 1007 3 is_stmt 1 view .LVU454 1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Pull = GPIO_NOPULL; 1380 .loc 1 1007 29 is_stmt 0 view .LVU455 1381 000c 0323 movs r3, #3 1382 000e 0493 str r3, [sp, #16] 1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/ccu53ZgF.s page 57 1383 .loc 1 1008 3 is_stmt 1 view .LVU456 1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1384 .loc 1 1008 29 is_stmt 0 view .LVU457 1385 0010 0023 movs r3, #0 1386 0012 0393 str r3, [sp, #12] 1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1387 .loc 1 1011 3 is_stmt 1 view .LVU458 1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1388 .loc 1 1011 12 is_stmt 0 view .LVU459 1389 0014 00F08056 and r6, r0, #268435456 1390 .LVL119: 1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1391 .loc 1 1014 3 is_stmt 1 view .LVU460 1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1392 .loc 1 1014 36 is_stmt 0 view .LVU461 1393 0018 C0F3034C ubfx ip, r0, #16, #4 1394 001c 0CF5901E add lr, ip, #1179648 1395 .LVL120: 1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->AHB2ENR, (1UL << mco_gpio_index )); 1396 .loc 1 1017 3 is_stmt 1 view .LVU462 1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1397 .loc 1 1018 3 view .LVU463 1398 0020 0D4A ldr r2, .L137 1399 .LVL121: 1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1400 .loc 1 1018 3 is_stmt 0 view .LVU464 1401 0022 D36C ldr r3, [r2, #76] 1402 0024 0121 movs r1, #1 1403 .LVL122: 1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1404 .loc 1 1018 3 view .LVU465 1405 0026 01FA0CF1 lsl r1, r1, ip 1406 002a 0B43 orrs r3, r3, r1 1407 002c D364 str r3, [r2, #76] 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Alternate = RCC_GET_MCO_GPIO_AF(RCC_MCOx); 1408 .loc 1 1021 3 is_stmt 1 view .LVU466 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Alternate = RCC_GET_MCO_GPIO_AF(RCC_MCOx); 1409 .loc 1 1021 25 is_stmt 0 view .LVU467 1410 002e 83B2 uxth r3, r0 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** gpio_initstruct.Alternate = RCC_GET_MCO_GPIO_AF(RCC_MCOx); 1411 .loc 1 1021 23 view .LVU468 1412 0030 0193 str r3, [sp, #4] 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_GPIO_Init(mco_gpio_port, &gpio_initstruct); 1413 .loc 1 1022 3 is_stmt 1 view .LVU469 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_GPIO_Init(mco_gpio_port, &gpio_initstruct); 1414 .loc 1 1022 31 is_stmt 0 view .LVU470 1415 0032 C0F30750 ubfx r0, r0, #20, #8 1416 .LVL123: 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** HAL_GPIO_Init(mco_gpio_port, &gpio_initstruct); 1417 .loc 1 1022 29 view .LVU471 1418 0036 0590 str r0, [sp, #20] 1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1419 .loc 1 1023 3 is_stmt 1 view .LVU472 1420 0038 01A9 add r1, sp, #4 1421 003a 4FEA8E20 lsl r0, lr, #10 1422 .LVL124: 1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/ccu53ZgF.s page 58 1423 .loc 1 1023 3 is_stmt 0 view .LVU473 1424 003e FFF7FEFF bl HAL_GPIO_Init 1425 .LVL125: 1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1426 .loc 1 1025 4 is_stmt 1 view .LVU474 1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1427 .loc 1 1025 7 is_stmt 0 view .LVU475 1428 0042 36B9 cbnz r6, .L134 1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource)); 1429 .loc 1 1027 5 is_stmt 1 view .LVU476 1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Mask MCOSEL[] and MCOPRE[] bits then set MCO clock source and prescaler */ 1430 .loc 1 1028 5 view .LVU477 1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1431 .loc 1 1030 5 view .LVU478 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: 1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1437 .loc 1 1030 5 is_stmt 0 view .LVU479 1438 004e 1C43 orrs r4, r4, r3 1439 0050 9460 str r4, [r2, #8] 1440 .L134: 1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1441 .loc 1 1032 1 view .LVU480 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: 1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1449 .loc 1 1032 1 view .LVU481 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: 1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllvco, pllsource, pllr, pllm; 1465 .loc 1 1065 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. 1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t sysclockfreq; 1470 .loc 1 1066 3 view .LVU483 1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/ccu53ZgF.s page 59 1471 .loc 1 1067 3 view .LVU484 1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1472 .loc 1 1069 3 view .LVU485 1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1473 .loc 1 1069 7 is_stmt 0 view .LVU486 1474 0000 1E4B ldr r3, .L148 1475 0002 9B68 ldr r3, [r3, #8] 1476 0004 03F00C03 and r3, r3, #12 1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1477 .loc 1 1069 6 view .LVU487 1478 0008 042B cmp r3, #4 1479 000a 33D0 beq .L143 1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1480 .loc 1 1074 8 is_stmt 1 view .LVU488 1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1481 .loc 1 1074 12 is_stmt 0 view .LVU489 1482 000c 1B4B ldr r3, .L148 1483 000e 9B68 ldr r3, [r3, #8] 1484 0010 03F00C03 and r3, r3, #12 1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1485 .loc 1 1074 11 view .LVU490 1486 0014 082B cmp r3, #8 1487 0016 2FD0 beq .L144 1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1488 .loc 1 1079 8 is_stmt 1 view .LVU491 1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1489 .loc 1 1079 12 is_stmt 0 view .LVU492 1490 0018 184B ldr r3, .L148 1491 001a 9B68 ldr r3, [r3, #8] 1492 001c 03F00C03 and r3, r3, #12 1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1493 .loc 1 1079 11 view .LVU493 1494 0020 0C2B cmp r3, #12 1495 0022 01D0 beq .L146 1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1496 .loc 1 1105 18 view .LVU494 1497 0024 0020 movs r0, #0 1498 .LVL128: 1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1499 .loc 1 1108 3 is_stmt 1 view .LVU495 1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1500 .loc 1 1109 1 is_stmt 0 view .LVU496 1501 0026 7047 bx lr 1502 .LVL129: 1503 .L146: 1086: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 1086 5 is_stmt 1 view .LVU497 1086: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 1086 17 is_stmt 0 view .LVU498 1506 0028 144B ldr r3, .L148 1507 002a DA68 ldr r2, [r3, #12] 1086: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 1086 15 view .LVU499 1509 002c 02F00302 and r2, r2, #3 1510 .LVL130: 1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1511 .loc 1 1087 5 is_stmt 1 view .LVU500 ARM GAS /tmp/ccu53ZgF.s page 60 1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1512 .loc 1 1087 13 is_stmt 0 view .LVU501 1513 0030 DB68 ldr r3, [r3, #12] 1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1514 .loc 1 1087 54 view .LVU502 1515 0032 C3F30313 ubfx r3, r3, #4, #4 1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1516 .loc 1 1087 10 view .LVU503 1517 0036 0133 adds r3, r3, #1 1518 .LVL131: 1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1519 .loc 1 1089 5 is_stmt 1 view .LVU504 1520 0038 032A cmp r2, #3 1521 003a 11D0 beq .L147 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1522 .loc 1 1097 7 view .LVU505 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1523 .loc 1 1097 27 is_stmt 0 view .LVU506 1524 003c 1048 ldr r0, .L148+4 1525 003e B0FBF3F0 udiv r0, r0, r3 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1526 .loc 1 1097 38 view .LVU507 1527 0042 0E4B ldr r3, .L148 1528 .LVL132: 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1529 .loc 1 1097 38 view .LVU508 1530 0044 DB68 ldr r3, [r3, #12] 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1531 .loc 1 1097 79 view .LVU509 1532 0046 C3F30623 ubfx r3, r3, #8, #7 1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1533 .loc 1 1097 14 view .LVU510 1534 004a 03FB00F0 mul r0, r3, r0 1535 .LVL133: 1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1536 .loc 1 1098 7 is_stmt 1 view .LVU511 1537 .L142: 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1538 .loc 1 1100 5 view .LVU512 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1539 .loc 1 1100 14 is_stmt 0 view .LVU513 1540 004e 0B4B ldr r3, .L148 1541 0050 DB68 ldr r3, [r3, #12] 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1542 .loc 1 1100 55 view .LVU514 1543 0052 C3F34163 ubfx r3, r3, #25, #2 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1544 .loc 1 1100 80 view .LVU515 1545 0056 0133 adds r3, r3, #1 1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** sysclockfreq = pllvco/pllr; 1546 .loc 1 1100 10 view .LVU516 1547 0058 5B00 lsls r3, r3, #1 1548 .LVL134: 1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1549 .loc 1 1101 5 is_stmt 1 view .LVU517 1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1550 .loc 1 1101 18 is_stmt 0 view .LVU518 ARM GAS /tmp/ccu53ZgF.s page 61 1551 005a B0FBF3F0 udiv r0, r0, r3 1552 .LVL135: 1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1553 .loc 1 1101 18 view .LVU519 1554 005e 7047 bx lr 1555 .LVL136: 1556 .L147: 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1557 .loc 1 1092 7 is_stmt 1 view .LVU520 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1558 .loc 1 1092 27 is_stmt 0 view .LVU521 1559 0060 0848 ldr r0, .L148+8 1560 0062 B0FBF3F0 udiv r0, r0, r3 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1561 .loc 1 1092 38 view .LVU522 1562 0066 054B ldr r3, .L148 1563 .LVL137: 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1564 .loc 1 1092 38 view .LVU523 1565 0068 DB68 ldr r3, [r3, #12] 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1566 .loc 1 1092 79 view .LVU524 1567 006a C3F30623 ubfx r3, r3, #8, #7 1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** break; 1568 .loc 1 1092 14 view .LVU525 1569 006e 03FB00F0 mul r0, r3, r0 1570 .LVL138: 1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1571 .loc 1 1093 7 is_stmt 1 view .LVU526 1572 0072 ECE7 b .L142 1573 .LVL139: 1574 .L143: 1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1575 .loc 1 1072 18 is_stmt 0 view .LVU527 1576 0074 0248 ldr r0, .L148+4 1577 0076 7047 bx lr 1578 .L144: 1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1579 .loc 1 1077 18 view .LVU528 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/ccu53ZgF.s page 62 1600 .LFB331: 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 1601 .loc 1 768 1 is_stmt 1 view -0 1602 .cfi_startproc 1603 @ args = 0, pretend = 0, frame = 0 1604 @ frame_needed = 0, uses_anonymous_args = 0 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t pllfreq; 1605 .loc 1 769 3 view .LVU530 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t hpre = RCC_SYSCLK_DIV1; 1606 .loc 1 770 3 view .LVU531 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1607 .loc 1 771 3 view .LVU532 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1608 .loc 1 774 3 view .LVU533 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1609 .loc 1 774 6 is_stmt 0 view .LVU534 1610 0000 0028 cmp r0, #0 1611 0002 00F0E680 beq .L170 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** uint32_t tickstart; 1612 .loc 1 768 1 view .LVU535 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 780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency)); 1624 .loc 1 780 3 is_stmt 1 view .LVU536 781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1625 .loc 1 781 3 view .LVU537 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1626 .loc 1 788 3 view .LVU538 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1627 .loc 1 788 18 is_stmt 0 view .LVU539 1628 000c 744B ldr r3, .L188 1629 000e 1B68 ldr r3, [r3] 1630 0010 03F00F03 and r3, r3, #15 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1631 .loc 1 788 6 view .LVU540 1632 0014 8B42 cmp r3, r1 1633 0016 0BD2 bcs .L152 791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1634 .loc 1 791 5 is_stmt 1 view .LVU541 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] 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1640 .loc 1 795 5 view .LVU542 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1641 .loc 1 795 9 is_stmt 0 view .LVU543 ARM GAS /tmp/ccu53ZgF.s page 63 1642 0024 1368 ldr r3, [r2] 1643 0026 03F00F03 and r3, r3, #15 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1644 .loc 1 795 8 view .LVU544 1645 002a 8B42 cmp r3, r1 1646 002c 40F0D380 bne .L171 1647 .L152: 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1648 .loc 1 802 3 is_stmt 1 view .LVU545 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1649 .loc 1 802 25 is_stmt 0 view .LVU546 1650 0030 2E68 ldr r6, [r5] 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1651 .loc 1 802 5 view .LVU547 1652 0032 16F00106 ands r6, r6, #1 1653 0036 5FD0 beq .L153 804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1654 .loc 1 804 5 is_stmt 1 view .LVU548 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1655 .loc 1 807 5 view .LVU549 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1656 .loc 1 807 26 is_stmt 0 view .LVU550 1657 0038 6B68 ldr r3, [r5, #4] 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1658 .loc 1 807 8 view .LVU551 1659 003a 032B cmp r3, #3 1660 003c 2FD0 beq .L184 833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1661 .loc 1 833 7 is_stmt 1 view .LVU552 833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1662 .loc 1 833 10 is_stmt 0 view .LVU553 1663 003e 022B cmp r3, #2 1664 0040 4DD0 beq .L185 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1665 .loc 1 845 9 is_stmt 1 view .LVU554 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1666 .loc 1 845 12 is_stmt 0 view .LVU555 1667 0042 684B ldr r3, .L188+4 1668 0044 1B68 ldr r3, [r3] 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1669 .loc 1 845 11 view .LVU556 1670 0046 13F4806F tst r3, #1024 1671 004a 00F0C680 beq .L176 1672 .L158: 851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1673 .loc 1 851 7 is_stmt 1 view .LVU557 851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1674 .loc 1 851 17 is_stmt 0 view .LVU558 1675 004e FFF7FEFF bl HAL_RCC_GetSysClockFreq 1676 .LVL141: 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1677 .loc 1 854 7 is_stmt 1 view .LVU559 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1678 .loc 1 854 9 is_stmt 0 view .LVU560 1679 0052 654B ldr r3, .L188+8 1680 0054 9842 cmp r0, r3 1681 0056 4DD9 bls .L177 ARM GAS /tmp/ccu53ZgF.s page 64 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** hpre = RCC_SYSCLK_DIV2; 1682 .loc 1 856 9 is_stmt 1 view .LVU561 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] 857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1688 .loc 1 857 9 view .LVU562 1689 .LVL142: 857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1690 .loc 1 857 14 is_stmt 0 view .LVU563 1691 0066 8026 movs r6, #128 1692 .LVL143: 1693 .L155: 862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1694 .loc 1 862 5 is_stmt 1 view .LVU564 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] 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1701 .loc 1 865 5 view .LVU565 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1702 .loc 1 865 17 is_stmt 0 view .LVU566 1703 0076 FFF7FEFF bl HAL_GetTick 1704 .LVL144: 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1705 .loc 1 865 17 view .LVU567 1706 007a 0746 mov r7, r0 1707 .LVL145: 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1708 .loc 1 867 5 is_stmt 1 view .LVU568 1709 .L159: 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1710 .loc 1 867 42 view .LVU569 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1711 .loc 1 867 12 is_stmt 0 view .LVU570 1712 007c 594B ldr r3, .L188+4 1713 007e 9B68 ldr r3, [r3, #8] 1714 0080 03F00C03 and r3, r3, #12 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1715 .loc 1 867 63 view .LVU571 1716 0084 6A68 ldr r2, [r5, #4] 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1717 .loc 1 867 42 view .LVU572 1718 0086 B3EB820F cmp r3, r2, lsl #2 1719 008a 35D0 beq .L153 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1720 .loc 1 869 7 is_stmt 1 view .LVU573 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1721 .loc 1 869 12 is_stmt 0 view .LVU574 1722 008c FFF7FEFF bl HAL_GetTick 1723 .LVL146: 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/ccu53ZgF.s page 65 1724 .loc 1 869 26 view .LVU575 1725 0090 C01B subs r0, r0, r7 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1726 .loc 1 869 10 view .LVU576 1727 0092 41F28833 movw r3, #5000 1728 0096 9842 cmp r0, r3 1729 0098 F0D9 bls .L159 871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1730 .loc 1 871 16 view .LVU577 1731 009a 0320 movs r0, #3 1732 009c 78E0 b .L151 1733 .LVL147: 1734 .L184: 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1735 .loc 1 810 7 is_stmt 1 view .LVU578 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1736 .loc 1 810 11 is_stmt 0 view .LVU579 1737 009e 514B ldr r3, .L188+4 1738 00a0 1B68 ldr r3, [r3] 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1739 .loc 1 810 10 view .LVU580 1740 00a2 13F0007F tst r3, #33554432 1741 00a6 01D1 bne .L186 812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1742 .loc 1 812 16 view .LVU581 1743 00a8 0120 movs r0, #1 1744 .LVL148: 812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1745 .loc 1 812 16 view .LVU582 1746 00aa 71E0 b .L151 1747 .LVL149: 1748 .L186: 816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1749 .loc 1 816 7 is_stmt 1 view .LVU583 816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1750 .loc 1 816 17 is_stmt 0 view .LVU584 1751 00ac FFF7FEFF bl RCC_GetSysClockFreqFromPLLSource 1752 .LVL150: 819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1753 .loc 1 819 7 is_stmt 1 view .LVU585 819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1754 .loc 1 819 9 is_stmt 0 view .LVU586 1755 00b0 4D4B ldr r3, .L188+8 1756 00b2 9842 cmp r0, r3 1757 00b4 1AD9 bls .L173 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 1758 .loc 1 821 9 is_stmt 1 view .LVU587 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 1759 .loc 1 821 15 is_stmt 0 view .LVU588 1760 00b6 4B4B ldr r3, .L188+4 1761 00b8 9B68 ldr r3, [r3, #8] 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 1762 .loc 1 821 12 view .LVU589 1763 00ba 13F0F00F tst r3, #240 1764 00be 05D0 beq .L156 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (RCC_ClkInitStruct->AHBCLKDivider == RCC_SYSCLK_DIV1)))) 1765 .loc 1 822 35 discriminator 1 view .LVU590 ARM GAS /tmp/ccu53ZgF.s page 66 1766 00c0 2E68 ldr r6, [r5] 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (((((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) && 1767 .loc 1 821 71 discriminator 1 view .LVU591 1768 00c2 16F00206 ands r6, r6, #2 1769 00c6 CFD0 beq .L155 823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1770 .loc 1 823 33 view .LVU592 1771 00c8 AB68 ldr r3, [r5, #8] 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** (RCC_ClkInitStruct->AHBCLKDivider == RCC_SYSCLK_DIV1)))) 1772 .loc 1 822 93 view .LVU593 1773 00ca 8BB9 cbnz r3, .L174 1774 .L156: 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** hpre = RCC_SYSCLK_DIV2; 1775 .loc 1 825 11 is_stmt 1 view .LVU594 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] 826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1781 .loc 1 826 11 view .LVU595 1782 .LVL151: 826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1783 .loc 1 826 16 is_stmt 0 view .LVU596 1784 00da 8026 movs r6, #128 1785 00dc C4E7 b .L155 1786 .LVL152: 1787 .L185: 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1788 .loc 1 836 9 is_stmt 1 view .LVU597 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1789 .loc 1 836 12 is_stmt 0 view .LVU598 1790 00de 414B ldr r3, .L188+4 1791 00e0 1B68 ldr r3, [r3] 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1792 .loc 1 836 11 view .LVU599 1793 00e2 13F4003F tst r3, #131072 1794 00e6 B2D1 bne .L158 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1795 .loc 1 838 18 view .LVU600 1796 00e8 0120 movs r0, #1 1797 .LVL153: 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1798 .loc 1 838 18 view .LVU601 1799 00ea 51E0 b .L151 1800 .LVL154: 1801 .L173: 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1802 .loc 1 771 12 view .LVU602 1803 00ec 0026 movs r6, #0 1804 00ee BBE7 b .L155 1805 .L174: 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1806 .loc 1 771 12 view .LVU603 1807 00f0 0026 movs r6, #0 1808 00f2 B9E7 b .L155 1809 .L177: ARM GAS /tmp/ccu53ZgF.s page 67 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1810 .loc 1 771 12 view .LVU604 1811 00f4 0026 movs r6, #0 1812 00f6 B7E7 b .L155 1813 .LVL155: 1814 .L153: 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1815 .loc 1 877 3 is_stmt 1 view .LVU605 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1816 .loc 1 877 26 is_stmt 0 view .LVU606 1817 00f8 2B68 ldr r3, [r5] 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1818 .loc 1 877 6 view .LVU607 1819 00fa 13F0020F tst r3, #2 1820 00fe 48D0 beq .L161 881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1821 .loc 1 881 5 is_stmt 1 view .LVU608 881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1822 .loc 1 881 8 is_stmt 0 view .LVU609 1823 0100 13F0040F tst r3, #4 1824 0104 04D0 beq .L162 883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1825 .loc 1 883 7 is_stmt 1 view .LVU610 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: 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1831 .loc 1 885 5 view .LVU611 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1832 .loc 1 885 28 is_stmt 0 view .LVU612 1833 0110 2B68 ldr r3, [r5] 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1834 .loc 1 885 8 view .LVU613 1835 0112 13F0080F tst r3, #8 1836 0116 06D0 beq .L163 887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1837 .loc 1 887 7 is_stmt 1 view .LVU614 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: 891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); 1844 .loc 1 891 5 view .LVU615 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1845 .loc 1 892 5 view .LVU616 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: 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { ARM GAS /tmp/ccu53ZgF.s page 68 1853 .loc 1 904 3 view .LVU617 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1854 .loc 1 904 18 is_stmt 0 view .LVU618 1855 0134 2A4B ldr r3, .L188 1856 0136 1B68 ldr r3, [r3] 1857 0138 03F00F03 and r3, r3, #15 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1858 .loc 1 904 6 view .LVU619 1859 013c A342 cmp r3, r4 1860 013e 30D8 bhi .L187 1861 .LVL156: 1862 .L165: 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1863 .loc 1 923 3 is_stmt 1 view .LVU620 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1864 .loc 1 923 26 is_stmt 0 view .LVU621 1865 0140 2B68 ldr r3, [r5] 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1866 .loc 1 923 6 view .LVU622 1867 0142 13F0040F tst r3, #4 1868 0146 06D0 beq .L168 925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 1869 .loc 1 925 5 is_stmt 1 view .LVU623 926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1870 .loc 1 926 5 view .LVU624 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: 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1878 .loc 1 930 3 view .LVU625 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1879 .loc 1 930 25 is_stmt 0 view .LVU626 1880 0156 2B68 ldr r3, [r5] 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1881 .loc 1 930 5 view .LVU627 1882 0158 13F0080F tst r3, #8 1883 015c 07D0 beq .L169 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3U)); 1884 .loc 1 932 5 is_stmt 1 view .LVU628 933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1885 .loc 1 933 5 view .LVU629 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: 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1893 .loc 1 937 3 view .LVU630 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1894 .loc 1 937 21 is_stmt 0 view .LVU631 1895 016e FFF7FEFF bl HAL_RCC_GetSysClockFreq ARM GAS /tmp/ccu53ZgF.s page 69 1896 .LVL157: 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1897 .loc 1 937 65 view .LVU632 1898 0172 1C4B ldr r3, .L188+4 1899 0174 9B68 ldr r3, [r3, #8] 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1900 .loc 1 937 100 view .LVU633 1901 0176 C3F30313 ubfx r3, r3, #4, #4 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1902 .loc 1 937 64 view .LVU634 1903 017a 1C4A ldr r2, .L188+12 1904 017c D35C ldrb r3, [r2, r3] @ zero_extendqisi2 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1905 .loc 1 937 122 view .LVU635 1906 017e 03F01F03 and r3, r3, #31 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1907 .loc 1 937 47 view .LVU636 1908 0182 D840 lsrs r0, r0, r3 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1909 .loc 1 937 19 view .LVU637 1910 0184 1A4B ldr r3, .L188+16 1911 0186 1860 str r0, [r3] 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1912 .loc 1 940 3 is_stmt 1 view .LVU638 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1913 .loc 1 940 10 is_stmt 0 view .LVU639 1914 0188 1A4B ldr r3, .L188+20 1915 018a 1868 ldr r0, [r3] 1916 018c FFF7FEFF bl HAL_InitTick 1917 .LVL158: 1918 .L151: 941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1919 .loc 1 941 1 view .LVU640 1920 0190 F8BD pop {r3, r4, r5, r6, r7, pc} 1921 .LVL159: 1922 .L161: 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1923 .loc 1 897 5 is_stmt 1 view .LVU641 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1924 .loc 1 897 7 is_stmt 0 view .LVU642 1925 0192 802E cmp r6, #128 1926 0194 CED1 bne .L164 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1927 .loc 1 899 7 is_stmt 1 view .LVU643 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: 907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1934 .loc 1 907 5 view .LVU644 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/ccu53ZgF.s page 70 911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1940 .loc 1 911 5 view .LVU645 911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1941 .loc 1 911 17 is_stmt 0 view .LVU646 1942 01ae FFF7FEFF bl HAL_GetTick 1943 .LVL160: 1944 01b2 0646 mov r6, r0 1945 .LVL161: 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1946 .loc 1 913 5 is_stmt 1 view .LVU647 1947 .L166: 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1948 .loc 1 913 38 view .LVU648 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1949 .loc 1 913 12 is_stmt 0 view .LVU649 1950 01b4 0A4B ldr r3, .L188 1951 01b6 1B68 ldr r3, [r3] 1952 01b8 03F00F03 and r3, r3, #15 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1953 .loc 1 913 38 view .LVU650 1954 01bc A342 cmp r3, r4 1955 01be BFD0 beq .L165 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1956 .loc 1 915 7 is_stmt 1 view .LVU651 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1957 .loc 1 915 12 is_stmt 0 view .LVU652 1958 01c0 FFF7FEFF bl HAL_GetTick 1959 .LVL162: 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1960 .loc 1 915 26 view .LVU653 1961 01c4 801B subs r0, r0, r6 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 1962 .loc 1 915 10 view .LVU654 1963 01c6 41F28833 movw r3, #5000 1964 01ca 9842 cmp r0, r3 1965 01cc F2D9 bls .L166 917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1966 .loc 1 917 16 view .LVU655 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 776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1979 .loc 1 776 12 view .LVU656 1980 01d2 0120 movs r0, #1 1981 .LVL164: 941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 1982 .loc 1 941 1 view .LVU657 1983 01d4 7047 bx lr ARM GAS /tmp/ccu53ZgF.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 797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1994 .loc 1 797 14 view .LVU658 1995 01d6 0120 movs r0, #1 1996 .LVL166: 797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 1997 .loc 1 797 14 view .LVU659 1998 01d8 DAE7 b .L151 1999 .LVL167: 2000 .L176: 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2001 .loc 1 847 18 view .LVU660 2002 01da 0120 movs r0, #1 2003 .LVL168: 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2004 .loc 1 847 18 view .LVU661 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: 1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** return SystemCoreClock; 2027 .loc 1 1120 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. 1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2032 .loc 1 1121 3 view .LVU663 1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2033 .loc 1 1122 1 is_stmt 0 view .LVU664 2034 0000 014B ldr r3, .L191 2035 0002 1868 ldr r0, [r3] ARM GAS /tmp/ccu53ZgF.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: 1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/ 2053 .loc 1 1131 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 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2062 .loc 1 1133 3 view .LVU666 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2063 .loc 1 1133 11 is_stmt 0 view .LVU667 2064 0002 FFF7FEFF bl HAL_RCC_GetHCLKFreq 2065 .LVL169: 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2066 .loc 1 1133 51 view .LVU668 2067 0006 054B ldr r3, .L195 2068 0008 9B68 ldr r3, [r3, #8] 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2069 .loc 1 1133 87 view .LVU669 2070 000a C3F30223 ubfx r3, r3, #8, #3 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2071 .loc 1 1133 50 view .LVU670 2072 000e 044A ldr r2, .L195+4 2073 0010 D35C ldrb r3, [r2, r3] @ zero_extendqisi2 1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2074 .loc 1 1133 110 view .LVU671 2075 0012 03F01F03 and r3, r3, #31 1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2076 .loc 1 1134 1 view .LVU672 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/ccu53ZgF.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: 1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK2 frequency ---------------------------*/ 2096 .loc 1 1143 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 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2105 .loc 1 1145 3 view .LVU674 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2106 .loc 1 1145 11 is_stmt 0 view .LVU675 2107 0002 FFF7FEFF bl HAL_RCC_GetHCLKFreq 2108 .LVL170: 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2109 .loc 1 1145 50 view .LVU676 2110 0006 054B ldr r3, .L199 2111 0008 9B68 ldr r3, [r3, #8] 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2112 .loc 1 1145 86 view .LVU677 2113 000a C3F3C223 ubfx r3, r3, #11, #3 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2114 .loc 1 1145 49 view .LVU678 2115 000e 044A ldr r2, .L199+4 2116 0010 D35C ldrb r3, [r2, r3] @ zero_extendqisi2 1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2117 .loc 1 1145 109 view .LVU679 2118 0012 03F01F03 and r3, r3, #31 1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2119 .loc 1 1146 1 view .LVU680 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/ccu53ZgF.s page 74 1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 2140 .loc 1 1156 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. 1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2145 .loc 1 1158 3 view .LVU682 1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLA 2146 .loc 1 1161 3 view .LVU683 1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLA 2147 .loc 1 1161 37 is_stmt 0 view .LVU684 2148 0000 2F23 movs r3, #47 2149 0002 0360 str r3, [r0] 1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2150 .loc 1 1165 3 is_stmt 1 view .LVU685 1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2151 .loc 1 1165 6 is_stmt 0 view .LVU686 2152 0004 3A4B ldr r3, .L216 2153 0006 1B68 ldr r3, [r3] 1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2154 .loc 1 1165 5 view .LVU687 2155 0008 13F4802F tst r3, #262144 2156 000c 4BD0 beq .L202 1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2157 .loc 1 1167 5 is_stmt 1 view .LVU688 1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2158 .loc 1 1167 33 is_stmt 0 view .LVU689 2159 000e 4FF4A023 mov r3, #327680 2160 0012 4360 str r3, [r0, #4] 2161 .L203: 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2162 .loc 1 1179 3 is_stmt 1 view .LVU690 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2163 .loc 1 1179 6 is_stmt 0 view .LVU691 2164 0014 364B ldr r3, .L216 2165 0016 1B68 ldr r3, [r3] 1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2166 .loc 1 1179 5 view .LVU692 2167 0018 13F4807F tst r3, #256 2168 001c 4FD0 beq .L205 1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2169 .loc 1 1181 5 is_stmt 1 view .LVU693 1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2170 .loc 1 1181 33 is_stmt 0 view .LVU694 2171 001e 4FF48073 mov r3, #256 2172 0022 C360 str r3, [r0, #12] 2173 .L206: 1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2174 .loc 1 1188 3 is_stmt 1 view .LVU695 1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2175 .loc 1 1188 44 is_stmt 0 view .LVU696 2176 0024 324A ldr r2, .L216 2177 0026 5368 ldr r3, [r2, #4] 1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2178 .loc 1 1188 84 view .LVU697 2179 0028 C3F30663 ubfx r3, r3, #24, #7 ARM GAS /tmp/ccu53ZgF.s page 75 1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2180 .loc 1 1188 42 view .LVU698 2181 002c 0361 str r3, [r0, #16] 1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2182 .loc 1 1191 3 is_stmt 1 view .LVU699 1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2183 .loc 1 1191 6 is_stmt 0 view .LVU700 2184 002e D2F89030 ldr r3, [r2, #144] 1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2185 .loc 1 1191 5 view .LVU701 2186 0032 13F0040F tst r3, #4 2187 0036 45D0 beq .L207 1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2188 .loc 1 1193 5 is_stmt 1 view .LVU702 1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2189 .loc 1 1193 33 is_stmt 0 view .LVU703 2190 0038 0523 movs r3, #5 2191 003a 8360 str r3, [r0, #8] 2192 .L208: 1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2193 .loc 1 1205 3 is_stmt 1 view .LVU704 1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2194 .loc 1 1205 6 is_stmt 0 view .LVU705 2195 003c 2C4B ldr r3, .L216 2196 003e D3F89430 ldr r3, [r3, #148] 1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2197 .loc 1 1205 5 view .LVU706 2198 0042 13F0010F tst r3, #1 2199 0046 49D0 beq .L210 1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2200 .loc 1 1207 5 is_stmt 1 view .LVU707 1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2201 .loc 1 1207 33 is_stmt 0 view .LVU708 2202 0048 0123 movs r3, #1 2203 004a 4361 str r3, [r0, #20] 2204 .L211: 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2205 .loc 1 1215 3 is_stmt 1 view .LVU709 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2206 .loc 1 1215 6 is_stmt 0 view .LVU710 2207 004c 284B ldr r3, .L216 2208 004e D3F89830 ldr r3, [r3, #152] 1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2209 .loc 1 1215 5 view .LVU711 2210 0052 13F0010F tst r3, #1 2211 0056 44D0 beq .L212 1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2212 .loc 1 1217 5 is_stmt 1 view .LVU712 1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2213 .loc 1 1217 35 is_stmt 0 view .LVU713 2214 0058 0123 movs r3, #1 2215 005a 8361 str r3, [r0, #24] 2216 .L213: 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2217 .loc 1 1225 3 is_stmt 1 view .LVU714 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2218 .loc 1 1225 6 is_stmt 0 view .LVU715 ARM GAS /tmp/ccu53ZgF.s page 76 2219 005c 244B ldr r3, .L216 2220 005e 1B68 ldr r3, [r3] 1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2221 .loc 1 1225 5 view .LVU716 2222 0060 13F0807F tst r3, #16777216 2223 0064 40D0 beq .L214 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2224 .loc 1 1227 5 is_stmt 1 view .LVU717 1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2225 .loc 1 1227 37 is_stmt 0 view .LVU718 2226 0066 0223 movs r3, #2 2227 0068 C361 str r3, [r0, #28] 2228 .L215: 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) 2229 .loc 1 1233 3 is_stmt 1 view .LVU719 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) 2230 .loc 1 1233 38 is_stmt 0 view .LVU720 2231 006a 214A ldr r2, .L216 2232 006c D368 ldr r3, [r2, #12] 2233 006e 03F00303 and r3, r3, #3 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) 2234 .loc 1 1233 36 view .LVU721 2235 0072 0362 str r3, [r0, #32] 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; 2236 .loc 1 1234 3 is_stmt 1 view .LVU722 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; 2237 .loc 1 1234 34 is_stmt 0 view .LVU723 2238 0074 D368 ldr r3, [r2, #12] 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; 2239 .loc 1 1234 75 view .LVU724 2240 0076 C3F30313 ubfx r3, r3, #4, #4 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; 2241 .loc 1 1234 100 view .LVU725 2242 007a 0133 adds r3, r3, #1 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; 2243 .loc 1 1234 31 view .LVU726 2244 007c 4362 str r3, [r0, #36] 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 2245 .loc 1 1235 3 is_stmt 1 view .LVU727 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 2246 .loc 1 1235 33 is_stmt 0 view .LVU728 2247 007e D368 ldr r3, [r2, #12] 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 2248 .loc 1 1235 74 view .LVU729 2249 0080 C3F30623 ubfx r3, r3, #8, #7 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 2250 .loc 1 1235 31 view .LVU730 2251 0084 8362 str r3, [r0, #40] 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 2252 .loc 1 1236 3 is_stmt 1 view .LVU731 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 2253 .loc 1 1236 36 is_stmt 0 view .LVU732 2254 0086 D368 ldr r3, [r2, #12] 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 2255 .loc 1 1236 77 view .LVU733 2256 0088 C3F34153 ubfx r3, r3, #21, #2 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 ARM GAS /tmp/ccu53ZgF.s page 77 2257 .loc 1 1236 102 view .LVU734 2258 008c 0133 adds r3, r3, #1 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 2259 .loc 1 1236 108 view .LVU735 2260 008e 5B00 lsls r3, r3, #1 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 2261 .loc 1 1236 31 view .LVU736 2262 0090 0363 str r3, [r0, #48] 1237: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 1237 3 is_stmt 1 view .LVU737 1237: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 1237 36 is_stmt 0 view .LVU738 2265 0092 D368 ldr r3, [r2, #12] 1237: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 1237 77 view .LVU739 2267 0094 C3F34163 ubfx r3, r3, #25, #2 1237: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 1237 102 view .LVU740 2269 0098 0133 adds r3, r3, #1 1237: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 1237 108 view .LVU741 2271 009a 5B00 lsls r3, r3, #1 1237: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 1237 31 view .LVU742 2273 009c 4363 str r3, [r0, #52] 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2274 .loc 1 1238 3 is_stmt 1 view .LVU743 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2275 .loc 1 1238 33 is_stmt 0 view .LVU744 2276 009e D368 ldr r3, [r2, #12] 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2277 .loc 1 1238 77 view .LVU745 2278 00a0 DB0E lsrs r3, r3, #27 1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2279 .loc 1 1238 31 view .LVU746 2280 00a2 C362 str r3, [r0, #44] 1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2281 .loc 1 1239 1 view .LVU747 2282 00a4 7047 bx lr 2283 .L202: 1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2284 .loc 1 1169 8 is_stmt 1 view .LVU748 1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2285 .loc 1 1169 11 is_stmt 0 view .LVU749 2286 00a6 124B ldr r3, .L216 2287 00a8 1B68 ldr r3, [r3] 1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2288 .loc 1 1169 10 view .LVU750 2289 00aa 13F4803F tst r3, #65536 2290 00ae 03D0 beq .L204 1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2291 .loc 1 1171 5 is_stmt 1 view .LVU751 1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2292 .loc 1 1171 33 is_stmt 0 view .LVU752 2293 00b0 4FF48033 mov r3, #65536 2294 00b4 4360 str r3, [r0, #4] 2295 00b6 ADE7 b .L203 ARM GAS /tmp/ccu53ZgF.s page 78 2296 .L204: 1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2297 .loc 1 1175 5 is_stmt 1 view .LVU753 1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2298 .loc 1 1175 33 is_stmt 0 view .LVU754 2299 00b8 0023 movs r3, #0 2300 00ba 4360 str r3, [r0, #4] 2301 00bc AAE7 b .L203 2302 .L205: 1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2303 .loc 1 1185 5 is_stmt 1 view .LVU755 1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2304 .loc 1 1185 33 is_stmt 0 view .LVU756 2305 00be 0023 movs r3, #0 2306 00c0 C360 str r3, [r0, #12] 2307 00c2 AFE7 b .L206 2308 .L207: 1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2309 .loc 1 1195 8 is_stmt 1 view .LVU757 1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2310 .loc 1 1195 11 is_stmt 0 view .LVU758 2311 00c4 0A4B ldr r3, .L216 2312 00c6 D3F89030 ldr r3, [r3, #144] 1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2313 .loc 1 1195 10 view .LVU759 2314 00ca 13F0010F tst r3, #1 2315 00ce 02D0 beq .L209 1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2316 .loc 1 1197 5 is_stmt 1 view .LVU760 1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2317 .loc 1 1197 33 is_stmt 0 view .LVU761 2318 00d0 0123 movs r3, #1 2319 00d2 8360 str r3, [r0, #8] 2320 00d4 B2E7 b .L208 2321 .L209: 1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2322 .loc 1 1201 5 is_stmt 1 view .LVU762 1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2323 .loc 1 1201 33 is_stmt 0 view .LVU763 2324 00d6 0023 movs r3, #0 2325 00d8 8360 str r3, [r0, #8] 2326 00da AFE7 b .L208 2327 .L210: 1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2328 .loc 1 1211 5 is_stmt 1 view .LVU764 1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2329 .loc 1 1211 33 is_stmt 0 view .LVU765 2330 00dc 0023 movs r3, #0 2331 00de 4361 str r3, [r0, #20] 2332 00e0 B4E7 b .L211 2333 .L212: 1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2334 .loc 1 1221 5 is_stmt 1 view .LVU766 1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2335 .loc 1 1221 35 is_stmt 0 view .LVU767 2336 00e2 0023 movs r3, #0 2337 00e4 8361 str r3, [r0, #24] ARM GAS /tmp/ccu53ZgF.s page 79 2338 00e6 B9E7 b .L213 2339 .L214: 1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2340 .loc 1 1231 5 is_stmt 1 view .LVU768 1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2341 .loc 1 1231 37 is_stmt 0 view .LVU769 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: 1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check the parameters */ 2362 .loc 1 1250 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. 1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** assert_param(pFLatency != (void *)NULL); 2367 .loc 1 1252 3 view .LVU771 1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2368 .loc 1 1253 3 view .LVU772 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2369 .loc 1 1256 3 view .LVU773 1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2370 .loc 1 1256 32 is_stmt 0 view .LVU774 2371 0000 0F23 movs r3, #15 2372 0002 0360 str r3, [r0] 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2373 .loc 1 1259 3 is_stmt 1 view .LVU775 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2374 .loc 1 1259 37 is_stmt 0 view .LVU776 2375 0004 0B4B ldr r3, .L219 2376 0006 9A68 ldr r2, [r3, #8] 2377 0008 02F00302 and r2, r2, #3 1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2378 .loc 1 1259 35 view .LVU777 2379 000c 4260 str r2, [r0, #4] 1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2380 .loc 1 1262 3 is_stmt 1 view .LVU778 1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2381 .loc 1 1262 38 is_stmt 0 view .LVU779 2382 000e 9A68 ldr r2, [r3, #8] 2383 0010 02F0F002 and r2, r2, #240 1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** ARM GAS /tmp/ccu53ZgF.s page 80 2384 .loc 1 1262 36 view .LVU780 2385 0014 8260 str r2, [r0, #8] 1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2386 .loc 1 1265 3 is_stmt 1 view .LVU781 1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2387 .loc 1 1265 39 is_stmt 0 view .LVU782 2388 0016 9A68 ldr r2, [r3, #8] 2389 0018 02F4E062 and r2, r2, #1792 1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2390 .loc 1 1265 37 view .LVU783 2391 001c C260 str r2, [r0, #12] 1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2392 .loc 1 1268 3 is_stmt 1 view .LVU784 1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2393 .loc 1 1268 40 is_stmt 0 view .LVU785 2394 001e 9B68 ldr r3, [r3, #8] 1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2395 .loc 1 1268 76 view .LVU786 2396 0020 DB08 lsrs r3, r3, #3 2397 0022 03F4E063 and r3, r3, #1792 1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2398 .loc 1 1268 37 view .LVU787 2399 0026 0361 str r3, [r0, #16] 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2400 .loc 1 1271 3 is_stmt 1 view .LVU788 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2401 .loc 1 1271 16 is_stmt 0 view .LVU789 2402 0028 034B ldr r3, .L219+4 2403 002a 1B68 ldr r3, [r3] 2404 002c 03F00F03 and r3, r3, #15 1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2405 .loc 1 1271 14 view .LVU790 2406 0030 0B60 str r3, [r1] 1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2407 .loc 1 1272 1 view .LVU791 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: 1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_CSSON) ; 2426 .loc 1 1285 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/ccu53ZgF.s page 81 1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2431 .loc 1 1286 3 view .LVU793 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] 1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2436 .loc 1 1287 1 is_stmt 0 view .LVU794 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: 1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** SET_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; 2454 .loc 1 1299 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. 1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2459 .loc 1 1300 3 view .LVU796 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] 1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2464 .loc 1 1301 1 is_stmt 0 view .LVU797 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: 1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** CLEAR_BIT(RCC->BDCR, RCC_BDCR_LSECSSON) ; 2482 .loc 1 1310 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/ccu53ZgF.s page 82 2486 @ link register save eliminated. 1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2487 .loc 1 1311 3 view .LVU799 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] 1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2492 .loc 1 1312 1 is_stmt 0 view .LVU800 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: 1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* NOTE : This function should not be modified, when the callback is needed, 2510 .loc 1 1337 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. 1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2515 .loc 1 1341 1 view .LVU802 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: 1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** /* Check RCC CSSF interrupt flag */ 2529 .loc 1 1320 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 1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2538 .loc 1 1322 3 view .LVU804 1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2539 .loc 1 1322 6 is_stmt 0 view .LVU805 ARM GAS /tmp/ccu53ZgF.s page 83 2540 0002 064B ldr r3, .L235 2541 0004 DB69 ldr r3, [r3, #28] 1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** { 2542 .loc 1 1322 5 view .LVU806 2543 0006 13F4807F tst r3, #256 2544 000a 00D1 bne .L234 2545 .L231: 1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2546 .loc 1 1330 1 view .LVU807 2547 000c 08BD pop {r3, pc} 2548 .L234: 1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2549 .loc 1 1325 5 is_stmt 1 view .LVU808 2550 000e FFF7FEFF bl HAL_RCC_CSSCallback 2551 .LVL173: 1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** } 2552 .loc 1 1328 5 view .LVU809 2553 0012 024B ldr r3, .L235 2554 0014 4FF48072 mov r2, #256 2555 0018 1A62 str r2, [r3, #32] 1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_rcc.c **** 2556 .loc 1 1330 1 is_stmt 0 view .LVU810 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 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stdint.h" 2568 .file 3 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h" 2569 .file 4 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h" 2570 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h" 2571 .file 6 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h" 2572 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h" 2573 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h" 2574 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h" ARM GAS /tmp/ccu53ZgF.s page 84 DEFINED SYMBOLS *ABS*:00000000 stm32g4xx_hal_rcc.c /tmp/ccu53ZgF.s:21 .text.RCC_GetSysClockFreqFromPLLSource:00000000 $t /tmp/ccu53ZgF.s:26 .text.RCC_GetSysClockFreqFromPLLSource:00000000 RCC_GetSysClockFreqFromPLLSource /tmp/ccu53ZgF.s:108 .text.RCC_GetSysClockFreqFromPLLSource:0000004c $d /tmp/ccu53ZgF.s:115 .text.HAL_RCC_DeInit:00000000 $t /tmp/ccu53ZgF.s:121 .text.HAL_RCC_DeInit:00000000 HAL_RCC_DeInit /tmp/ccu53ZgF.s:294 .text.HAL_RCC_DeInit:000000bc $d /tmp/ccu53ZgF.s:302 .text.HAL_RCC_OscConfig:00000000 $t /tmp/ccu53ZgF.s:308 .text.HAL_RCC_OscConfig:00000000 HAL_RCC_OscConfig /tmp/ccu53ZgF.s:881 .text.HAL_RCC_OscConfig:000002a8 $d /tmp/ccu53ZgF.s:886 .text.HAL_RCC_OscConfig:000002b4 $t /tmp/ccu53ZgF.s:1338 .text.HAL_RCC_OscConfig:000004e0 $d /tmp/ccu53ZgF.s:1344 .text.HAL_RCC_MCOConfig:00000000 $t /tmp/ccu53ZgF.s:1350 .text.HAL_RCC_MCOConfig:00000000 HAL_RCC_MCOConfig /tmp/ccu53ZgF.s:1452 .text.HAL_RCC_MCOConfig:00000058 $d /tmp/ccu53ZgF.s:1457 .text.HAL_RCC_GetSysClockFreq:00000000 $t /tmp/ccu53ZgF.s:1463 .text.HAL_RCC_GetSysClockFreq:00000000 HAL_RCC_GetSysClockFreq /tmp/ccu53ZgF.s:1585 .text.HAL_RCC_GetSysClockFreq:0000007c $d /tmp/ccu53ZgF.s:1592 .text.HAL_RCC_ClockConfig:00000000 $t /tmp/ccu53ZgF.s:1598 .text.HAL_RCC_ClockConfig:00000000 HAL_RCC_ClockConfig /tmp/ccu53ZgF.s:2009 .text.HAL_RCC_ClockConfig:000001e0 $d /tmp/ccu53ZgF.s:2019 .text.HAL_RCC_GetHCLKFreq:00000000 $t /tmp/ccu53ZgF.s:2025 .text.HAL_RCC_GetHCLKFreq:00000000 HAL_RCC_GetHCLKFreq /tmp/ccu53ZgF.s:2040 .text.HAL_RCC_GetHCLKFreq:00000008 $d /tmp/ccu53ZgF.s:2045 .text.HAL_RCC_GetPCLK1Freq:00000000 $t /tmp/ccu53ZgF.s:2051 .text.HAL_RCC_GetPCLK1Freq:00000000 HAL_RCC_GetPCLK1Freq /tmp/ccu53ZgF.s:2082 .text.HAL_RCC_GetPCLK1Freq:0000001c $d /tmp/ccu53ZgF.s:2088 .text.HAL_RCC_GetPCLK2Freq:00000000 $t /tmp/ccu53ZgF.s:2094 .text.HAL_RCC_GetPCLK2Freq:00000000 HAL_RCC_GetPCLK2Freq /tmp/ccu53ZgF.s:2125 .text.HAL_RCC_GetPCLK2Freq:0000001c $d /tmp/ccu53ZgF.s:2131 .text.HAL_RCC_GetOscConfig:00000000 $t /tmp/ccu53ZgF.s:2137 .text.HAL_RCC_GetOscConfig:00000000 HAL_RCC_GetOscConfig /tmp/ccu53ZgF.s:2348 .text.HAL_RCC_GetOscConfig:000000f0 $d /tmp/ccu53ZgF.s:2353 .text.HAL_RCC_GetClockConfig:00000000 $t /tmp/ccu53ZgF.s:2359 .text.HAL_RCC_GetClockConfig:00000000 HAL_RCC_GetClockConfig /tmp/ccu53ZgF.s:2412 .text.HAL_RCC_GetClockConfig:00000034 $d /tmp/ccu53ZgF.s:2418 .text.HAL_RCC_EnableCSS:00000000 $t /tmp/ccu53ZgF.s:2424 .text.HAL_RCC_EnableCSS:00000000 HAL_RCC_EnableCSS /tmp/ccu53ZgF.s:2441 .text.HAL_RCC_EnableCSS:0000000c $d /tmp/ccu53ZgF.s:2446 .text.HAL_RCC_EnableLSECSS:00000000 $t /tmp/ccu53ZgF.s:2452 .text.HAL_RCC_EnableLSECSS:00000000 HAL_RCC_EnableLSECSS /tmp/ccu53ZgF.s:2469 .text.HAL_RCC_EnableLSECSS:00000010 $d /tmp/ccu53ZgF.s:2474 .text.HAL_RCC_DisableLSECSS:00000000 $t /tmp/ccu53ZgF.s:2480 .text.HAL_RCC_DisableLSECSS:00000000 HAL_RCC_DisableLSECSS /tmp/ccu53ZgF.s:2497 .text.HAL_RCC_DisableLSECSS:00000010 $d /tmp/ccu53ZgF.s:2502 .text.HAL_RCC_CSSCallback:00000000 $t /tmp/ccu53ZgF.s:2508 .text.HAL_RCC_CSSCallback:00000000 HAL_RCC_CSSCallback /tmp/ccu53ZgF.s:2521 .text.HAL_RCC_NMI_IRQHandler:00000000 $t /tmp/ccu53ZgF.s:2527 .text.HAL_RCC_NMI_IRQHandler:00000000 HAL_RCC_NMI_IRQHandler /tmp/ccu53ZgF.s:2561 .text.HAL_RCC_NMI_IRQHandler:0000001c $d UNDEFINED SYMBOLS HAL_GetTick HAL_InitTick SystemCoreClock uwTickPrio ARM GAS /tmp/ccu53ZgF.s page 85 HAL_GPIO_Init AHBPrescTable APBPrescTable