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