ARM GAS /tmp/cct060d8.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.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c" 20 .section .text.HAL_MspInit,"ax",%progbits 21 .align 1 22 .weak HAL_MspInit 23 .syntax unified 24 .thumb 25 .thumb_func 27 HAL_MspInit: 28 .LFB331: 1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ****************************************************************************** 3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @file stm32g4xx_hal.c 4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @author MCD Application Team 5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief HAL module driver. 6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * This is the common part of the HAL initialization 7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ****************************************************************************** 8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @attention 9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * Copyright (c) 2019 STMicroelectronics. 11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * All rights reserved. 12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * This software is licensed under terms that can be found in the LICENSE file 14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * in the root directory of this software component. 15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ****************************************************************************** 18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @verbatim 19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ============================================================================== 20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ##### How to use this driver ##### 21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ============================================================================== 22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** [..] 23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** The common HAL driver contains a set of generic and common APIs that can be 24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** used by the PPP peripheral drivers and the user to start using the HAL. 25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** [..] 26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** The HAL contains two APIs' categories: 27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Common HAL APIs 28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Services HAL APIs 29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @endverbatim ARM GAS /tmp/cct060d8.s page 2 31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ****************************************************************************** 32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Includes ------------------------------------------------------------------*/ 35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #include "stm32g4xx_hal.h" 36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** @addtogroup STM32G4xx_HAL_Driver 38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @{ 39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** @defgroup HAL HAL 42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief HAL module driver 43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @{ 44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #ifdef HAL_MODULE_ENABLED 47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Private typedef -----------------------------------------------------------*/ 49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Private define ------------------------------------------------------------*/ 50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief STM32G4xx HAL Driver version number V1.2.5 52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define __STM32G4xx_HAL_VERSION_MAIN (0x01U) /*!< [31:24] main version */ 54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define __STM32G4xx_HAL_VERSION_SUB1 (0x02U) /*!< [23:16] sub1 version */ 55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define __STM32G4xx_HAL_VERSION_SUB2 (0x05U) /*!< [15:8] sub2 version */ 56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define __STM32G4xx_HAL_VERSION_RC (0x00U) /*!< [7:0] release candidate */ 57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define __STM32G4xx_HAL_VERSION ((__STM32G4xx_HAL_VERSION_MAIN << 24U)\ 58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** |(__STM32G4xx_HAL_VERSION_SUB1 << 16U)\ 59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** |(__STM32G4xx_HAL_VERSION_SUB2 << 8U )\ 60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** |(__STM32G4xx_HAL_VERSION_RC)) 61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #if defined(VREFBUF) 63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define VREFBUF_TIMEOUT_VALUE 10U /* 10 ms */ 64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #endif /* VREFBUF */ 65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* ------------ SYSCFG registers bit address in the alias region ------------ */ 67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define SYSCFG_OFFSET (SYSCFG_BASE - PERIPH_BASE) 68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* --- MEMRMP Register ---*/ 69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Alias word address of FB_MODE bit */ 70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define MEMRMP_OFFSET SYSCFG_OFFSET 71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define FB_MODE_BitNumber ((uint8_t)0x8) 72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define FB_MODE_BB (PERIPH_BB_BASE + (MEMRMP_OFFSET * 32) + (FB_MODE_BitNumber * 4)) 73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* --- GPC Register ---*/ 75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Alias word address of CCMER bit */ 76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define SCSR_OFFSET (SYSCFG_OFFSET + 0x18) 77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define CCMER_BitNumber ((uint8_t)0x0) 78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #define SCSR_CCMER_BB (PERIPH_BB_BASE + (SCSR_OFFSET * 32) + (CCMER_BitNumber * 4)) 79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Private macro -------------------------------------------------------------*/ 81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Exported variables ---------------------------------------------------------*/ 82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** @defgroup HAL_Exported_Variables HAL Exported Variables 83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @{ 84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __IO uint32_t uwTick; 86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t uwTickPrio = (1UL << __NVIC_PRIO_BITS); /* Invalid PRIO */ 87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t uwTickFreq = HAL_TICK_FREQ_DEFAULT; /* 1KHz */ ARM GAS /tmp/cct060d8.s page 3 88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @} 90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Private function prototypes -----------------------------------------------*/ 93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Exported functions --------------------------------------------------------*/ 94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** @defgroup HAL_Exported_Functions HAL Exported Functions 96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @{ 97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** @defgroup HAL_Exported_Functions_Group1 Initialization and de-initialization Functions 100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief HAL Initialization and de-initialization functions 101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @verbatim 103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** =============================================================================== 104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ##### Initialization and Configuration functions ##### 105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** =============================================================================== 106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** [..] This section provides functions allowing to: 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Initialize the Flash interface the NVIC allocation and initial time base 108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** clock configuration. 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) De-Initialize common part of the HAL. 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Configure the time base source to have 1ms time base with a dedicated 111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** Tick interrupt priority. 112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (++) SysTick timer is used by default as source of time base, but user 113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** can eventually implement his proper time base source (a general purpose 114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** timer for example or other time source), keeping in mind that Time base 115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and 116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** handled in milliseconds basis. 117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (++) Time base configuration function (HAL_InitTick ()) is called automatically 118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** at the beginning of the program after reset by HAL_Init() or at any time 119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** when clock is configured, by HAL_RCC_ClockConfig(). 120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (++) Source of time base is configured to generate interrupts at regular 121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** time intervals. Care must be taken if HAL_Delay() is called from a 122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** peripheral ISR process, the Tick interrupt line must have higher priority 123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (numerically lower) than the peripheral interrupt. Otherwise the caller 124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ISR process will be blocked. 125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (++) functions affecting time base configurations are declared as __weak 126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** to make override possible in case of other implementations in user file. 127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @endverbatim 128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @{ 129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief This function is used to configure the Flash prefetch, the Instruction and Data caches, 133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * the time base source, NVIC and any required global low level hardware 134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * by calling the HAL_MspInit() callback function to be optionally defined in user file 135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * stm32g4xx_hal_msp.c. 136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note HAL_Init() function is called at the beginning of program after reset and before 138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * the clock configuration. 139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note In the default implementation the System Timer (Systick) is used as source of time base 141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * The Systick configuration is based on HSI clock, as HSI is the clock 142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * used after a system Reset and the NVIC configuration is set to Priority group 4. 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * Once done, time base tick starts incrementing: the tick variable counter is incremented 144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * each 1ms in the SysTick_Handler() interrupt handler. ARM GAS /tmp/cct060d8.s page 4 145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval HAL status 147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_StatusTypeDef HAL_Init(void) 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_StatusTypeDef status = HAL_OK; 151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Configure Flash prefetch, Instruction cache, Data cache */ 152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Default configuration at reset is: */ 153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* - Prefetch disabled */ 154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* - Instruction cache enabled */ 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* - Data cache enabled */ 156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #if (INSTRUCTION_CACHE_ENABLE == 0U) 157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_FLASH_INSTRUCTION_CACHE_DISABLE(); 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #endif /* INSTRUCTION_CACHE_ENABLE */ 159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #if (DATA_CACHE_ENABLE == 0U) 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_FLASH_DATA_CACHE_DISABLE(); 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #endif /* DATA_CACHE_ENABLE */ 163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #if (PREFETCH_ENABLE != 0U) 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); 166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #endif /* PREFETCH_ENABLE */ 167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Set Interrupt Group Priority */ 169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); 170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Use SysTick as time base source and configure 1ms tick (default clock after Reset is HSI) */ 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** if (HAL_InitTick(TICK_INT_PRIORITY) != HAL_OK) 173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** status = HAL_ERROR; 175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** else 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Init the low level hardware */ 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_MspInit(); 180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Return function status */ 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return status; 184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief This function de-initializes common part of the HAL and stops the source of time base. 189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note This function is optional. 190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval HAL status 191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_StatusTypeDef HAL_DeInit(void) 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Reset of all peripherals */ 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_APB1_FORCE_RESET(); 196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_APB1_RELEASE_RESET(); 197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_APB2_FORCE_RESET(); 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_APB2_RELEASE_RESET(); 200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_AHB1_FORCE_RESET(); ARM GAS /tmp/cct060d8.s page 5 202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_AHB1_RELEASE_RESET(); 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_AHB2_FORCE_RESET(); 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_AHB2_RELEASE_RESET(); 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_AHB3_FORCE_RESET(); 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_AHB3_RELEASE_RESET(); 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* De-Init the low level hardware */ 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_MspDeInit(); 212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Return function status */ 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return HAL_OK; 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Initialize the MSP. 219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __weak void HAL_MspInit(void) 222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 29 .loc 1 222 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 33 @ link register save eliminated. 223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* NOTE : This function should not be modified, when the callback is needed, 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** the HAL_MspInit could be implemented in the user file 225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 34 .loc 1 226 1 view .LVU1 35 0000 7047 bx lr 36 .cfi_endproc 37 .LFE331: 39 .section .text.HAL_MspDeInit,"ax",%progbits 40 .align 1 41 .weak HAL_MspDeInit 42 .syntax unified 43 .thumb 44 .thumb_func 46 HAL_MspDeInit: 47 .LFB332: 227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief DeInitializes the MSP. 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __weak void HAL_MspDeInit(void) 233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 48 .loc 1 233 1 view -0 49 .cfi_startproc 50 @ args = 0, pretend = 0, frame = 0 51 @ frame_needed = 0, uses_anonymous_args = 0 52 @ link register save eliminated. 234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* NOTE : This function should not be modified, when the callback is needed, 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** the HAL_MspDeInit could be implemented in the user file 236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ ARM GAS /tmp/cct060d8.s page 6 237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 53 .loc 1 237 1 view .LVU3 54 0000 7047 bx lr 55 .cfi_endproc 56 .LFE332: 58 .section .text.HAL_DeInit,"ax",%progbits 59 .align 1 60 .global HAL_DeInit 61 .syntax unified 62 .thumb 63 .thumb_func 65 HAL_DeInit: 66 .LFB330: 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Reset of all peripherals */ 67 .loc 1 193 1 view -0 68 .cfi_startproc 69 @ args = 0, pretend = 0, frame = 0 70 @ frame_needed = 0, uses_anonymous_args = 0 71 0000 10B5 push {r4, lr} 72 .LCFI0: 73 .cfi_def_cfa_offset 8 74 .cfi_offset 4, -8 75 .cfi_offset 14, -4 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_APB1_RELEASE_RESET(); 76 .loc 1 195 3 view .LVU5 77 0002 094B ldr r3, .L5 78 0004 4FF0FF32 mov r2, #-1 79 0008 9A63 str r2, [r3, #56] 196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 80 .loc 1 196 3 view .LVU6 81 000a 0024 movs r4, #0 82 000c 9C63 str r4, [r3, #56] 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_APB2_RELEASE_RESET(); 83 .loc 1 198 3 view .LVU7 84 000e 1A64 str r2, [r3, #64] 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 85 .loc 1 199 3 view .LVU8 86 0010 1C64 str r4, [r3, #64] 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_AHB1_RELEASE_RESET(); 87 .loc 1 201 3 view .LVU9 88 0012 9A62 str r2, [r3, #40] 202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 89 .loc 1 202 3 view .LVU10 90 0014 9C62 str r4, [r3, #40] 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_AHB2_RELEASE_RESET(); 91 .loc 1 204 3 view .LVU11 92 0016 DA62 str r2, [r3, #44] 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 93 .loc 1 205 3 view .LVU12 94 0018 DC62 str r4, [r3, #44] 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __HAL_RCC_AHB3_RELEASE_RESET(); 95 .loc 1 207 3 view .LVU13 96 001a 1A63 str r2, [r3, #48] 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 97 .loc 1 208 3 view .LVU14 98 001c 1C63 str r4, [r3, #48] 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ARM GAS /tmp/cct060d8.s page 7 99 .loc 1 211 3 view .LVU15 100 001e FFF7FEFF bl HAL_MspDeInit 101 .LVL0: 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 102 .loc 1 214 3 view .LVU16 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 103 .loc 1 215 1 is_stmt 0 view .LVU17 104 0022 2046 mov r0, r4 105 0024 10BD pop {r4, pc} 106 .L6: 107 0026 00BF .align 2 108 .L5: 109 0028 00100240 .word 1073876992 110 .cfi_endproc 111 .LFE330: 113 .section .text.HAL_InitTick,"ax",%progbits 114 .align 1 115 .weak HAL_InitTick 116 .syntax unified 117 .thumb 118 .thumb_func 120 HAL_InitTick: 121 .LVL1: 122 .LFB333: 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief This function configures the source of the time base: 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * The time source is configured to have 1ms time base with a dedicated 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * Tick interrupt priority. 243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note This function is called automatically at the beginning of program after 244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * reset by HAL_Init() or at any time when clock is reconfigured by HAL_RCC_ClockConfig(). 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note In the default implementation, SysTick timer is the source of time base. 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * It is used to generate interrupts at regular time intervals. 247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * Care must be taken if HAL_Delay() is called from a peripheral ISR process, 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * The SysTick interrupt must have higher priority (numerically lower) 249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * than the peripheral interrupt. Otherwise the caller ISR process will be blocked. 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * The function is declared as __weak to be overwritten in case of other 251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * implementation in user file. 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @param TickPriority: Tick interrupt priority. 253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval HAL status 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) 256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 123 .loc 1 256 1 is_stmt 1 view -0 124 .cfi_startproc 125 @ args = 0, pretend = 0, frame = 0 126 @ frame_needed = 0, uses_anonymous_args = 0 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_StatusTypeDef status = HAL_OK; 127 .loc 1 257 3 view .LVU19 258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** if (uwTickFreq != 0U) 128 .loc 1 259 3 view .LVU20 129 .loc 1 259 18 is_stmt 0 view .LVU21 130 0000 104B ldr r3, .L18 131 0002 1B68 ldr r3, [r3] 132 .loc 1 259 6 view .LVU22 133 0004 0BB9 cbnz r3, .L16 ARM GAS /tmp/cct060d8.s page 8 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Configure the SysTick to have interrupt in 1ms time basis*/ 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) == 0U) 263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Configure the SysTick IRQ priority */ 265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** if (TickPriority < (1UL << __NVIC_PRIO_BITS)) 266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); 268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uwTickPrio = TickPriority; 269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** else 271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** status = HAL_ERROR; 273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** else 276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** status = HAL_ERROR; 278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** else 281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** status = HAL_ERROR; 134 .loc 1 282 12 view .LVU23 135 0006 0120 movs r0, #1 136 .LVL2: 283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Return function status */ 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return status; 137 .loc 1 286 3 is_stmt 1 view .LVU24 287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 138 .loc 1 287 1 is_stmt 0 view .LVU25 139 0008 7047 bx lr 140 .LVL3: 141 .L16: 256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_StatusTypeDef status = HAL_OK; 142 .loc 1 256 1 view .LVU26 143 000a 10B5 push {r4, lr} 144 .LCFI1: 145 .cfi_def_cfa_offset 8 146 .cfi_offset 4, -8 147 .cfi_offset 14, -4 148 000c 0446 mov r4, r0 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 149 .loc 1 262 5 is_stmt 1 view .LVU27 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 150 .loc 1 262 53 is_stmt 0 view .LVU28 151 000e 4FF47A70 mov r0, #1000 152 .LVL4: 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 153 .loc 1 262 53 view .LVU29 154 0012 B0FBF3F3 udiv r3, r0, r3 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 155 .loc 1 262 9 view .LVU30 156 0016 0C4A ldr r2, .L18+4 157 0018 1068 ldr r0, [r2] ARM GAS /tmp/cct060d8.s page 9 158 001a B0FBF3F0 udiv r0, r0, r3 159 001e FFF7FEFF bl HAL_SYSTICK_Config 160 .LVL5: 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 161 .loc 1 262 8 discriminator 1 view .LVU31 162 0022 68B9 cbnz r0, .L10 265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 163 .loc 1 265 7 is_stmt 1 view .LVU32 265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 164 .loc 1 265 10 is_stmt 0 view .LVU33 165 0024 0F2C cmp r4, #15 166 0026 01D9 bls .L17 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 167 .loc 1 272 16 view .LVU34 168 0028 0120 movs r0, #1 169 002a 0AE0 b .L8 170 .L17: 267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uwTickPrio = TickPriority; 171 .loc 1 267 9 is_stmt 1 view .LVU35 172 002c 0022 movs r2, #0 173 002e 2146 mov r1, r4 174 0030 4FF0FF30 mov r0, #-1 175 0034 FFF7FEFF bl HAL_NVIC_SetPriority 176 .LVL6: 268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 177 .loc 1 268 9 view .LVU36 268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 178 .loc 1 268 20 is_stmt 0 view .LVU37 179 0038 044B ldr r3, .L18+8 180 003a 1C60 str r4, [r3] 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 181 .loc 1 257 22 view .LVU38 182 003c 0020 movs r0, #0 183 003e 00E0 b .L8 184 .L10: 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 185 .loc 1 277 14 view .LVU39 186 0040 0120 movs r0, #1 187 .L8: 188 .LVL7: 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 189 .loc 1 286 3 is_stmt 1 view .LVU40 190 .loc 1 287 1 is_stmt 0 view .LVU41 191 0042 10BD pop {r4, pc} 192 .LVL8: 193 .L19: 194 .loc 1 287 1 view .LVU42 195 .align 2 196 .L18: 197 0044 00000000 .word uwTickFreq 198 0048 00000000 .word SystemCoreClock 199 004c 00000000 .word uwTickPrio 200 .cfi_endproc 201 .LFE333: 203 .section .text.HAL_Init,"ax",%progbits 204 .align 1 205 .global HAL_Init ARM GAS /tmp/cct060d8.s page 10 206 .syntax unified 207 .thumb 208 .thumb_func 210 HAL_Init: 211 .LFB329: 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_StatusTypeDef status = HAL_OK; 212 .loc 1 149 1 is_stmt 1 view -0 213 .cfi_startproc 214 @ args = 0, pretend = 0, frame = 0 215 @ frame_needed = 0, uses_anonymous_args = 0 216 0000 10B5 push {r4, lr} 217 .LCFI2: 218 .cfi_def_cfa_offset 8 219 .cfi_offset 4, -8 220 .cfi_offset 14, -4 150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Configure Flash prefetch, Instruction cache, Data cache */ 221 .loc 1 150 3 view .LVU44 222 .LVL9: 169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 223 .loc 1 169 3 view .LVU45 224 0002 0320 movs r0, #3 225 0004 FFF7FEFF bl HAL_NVIC_SetPriorityGrouping 226 .LVL10: 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 227 .loc 1 172 3 view .LVU46 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 228 .loc 1 172 7 is_stmt 0 view .LVU47 229 0008 0020 movs r0, #0 230 000a FFF7FEFF bl HAL_InitTick 231 .LVL11: 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 232 .loc 1 172 6 discriminator 1 view .LVU48 233 000e 10B1 cbz r0, .L24 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 234 .loc 1 174 12 view .LVU49 235 0010 0124 movs r4, #1 236 .L21: 237 .LVL12: 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 238 .loc 1 183 3 is_stmt 1 view .LVU50 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 239 .loc 1 185 1 is_stmt 0 view .LVU51 240 0012 2046 mov r0, r4 241 0014 10BD pop {r4, pc} 242 .LVL13: 243 .L24: 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 244 .loc 1 185 1 view .LVU52 245 0016 0446 mov r4, r0 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 246 .loc 1 179 5 is_stmt 1 view .LVU53 247 0018 FFF7FEFF bl HAL_MspInit 248 .LVL14: 249 001c F9E7 b .L21 250 .cfi_endproc 251 .LFE329: 253 .section .text.HAL_IncTick,"ax",%progbits ARM GAS /tmp/cct060d8.s page 11 254 .align 1 255 .weak HAL_IncTick 256 .syntax unified 257 .thumb 258 .thumb_func 260 HAL_IncTick: 261 .LFB334: 288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @} 291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** @defgroup HAL_Exported_Functions_Group2 HAL Control functions 294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief HAL Control functions 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @verbatim 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** =============================================================================== 298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ##### HAL Control functions ##### 299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** =============================================================================== 300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** [..] This section provides functions allowing to: 301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Provide a tick value in millisecond 302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Provide a blocking delay in millisecond 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Suspend the time base source interrupt 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Resume the time base source interrupt 305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Get the HAL API driver version 306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Get the device identifier 307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Get the device revision identifier 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @endverbatim 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @{ 311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief This function is called to increment a global variable "uwTick" 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * used as application time base. 316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note In the default implementation, this variable is incremented each 1ms 317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * in SysTick ISR. 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * implementations in user file. 320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __weak void HAL_IncTick(void) 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 262 .loc 1 323 1 view -0 263 .cfi_startproc 264 @ args = 0, pretend = 0, frame = 0 265 @ frame_needed = 0, uses_anonymous_args = 0 266 @ link register save eliminated. 324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uwTick += uwTickFreq; 267 .loc 1 324 3 view .LVU55 268 .loc 1 324 10 is_stmt 0 view .LVU56 269 0000 034A ldr r2, .L26 270 0002 1368 ldr r3, [r2] 271 0004 0349 ldr r1, .L26+4 272 0006 0968 ldr r1, [r1] 273 0008 0B44 add r3, r3, r1 274 000a 1360 str r3, [r2] ARM GAS /tmp/cct060d8.s page 12 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 275 .loc 1 325 1 view .LVU57 276 000c 7047 bx lr 277 .L27: 278 000e 00BF .align 2 279 .L26: 280 0010 00000000 .word uwTick 281 0014 00000000 .word uwTickFreq 282 .cfi_endproc 283 .LFE334: 285 .section .text.HAL_GetTick,"ax",%progbits 286 .align 1 287 .weak HAL_GetTick 288 .syntax unified 289 .thumb 290 .thumb_func 292 HAL_GetTick: 293 .LFB335: 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Provides a tick value in millisecond. 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other 330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * implementations in user file. 331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval tick value 332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __weak uint32_t HAL_GetTick(void) 334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 294 .loc 1 334 1 is_stmt 1 view -0 295 .cfi_startproc 296 @ args = 0, pretend = 0, frame = 0 297 @ frame_needed = 0, uses_anonymous_args = 0 298 @ link register save eliminated. 335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return uwTick; 299 .loc 1 335 3 view .LVU59 300 .loc 1 335 10 is_stmt 0 view .LVU60 301 0000 014B ldr r3, .L29 302 0002 1868 ldr r0, [r3] 336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 303 .loc 1 336 1 view .LVU61 304 0004 7047 bx lr 305 .L30: 306 0006 00BF .align 2 307 .L29: 308 0008 00000000 .word uwTick 309 .cfi_endproc 310 .LFE335: 312 .section .text.HAL_GetTickPrio,"ax",%progbits 313 .align 1 314 .global HAL_GetTickPrio 315 .syntax unified 316 .thumb 317 .thumb_func 319 HAL_GetTickPrio: 320 .LFB336: 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief This function returns a tick priority. ARM GAS /tmp/cct060d8.s page 13 340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval tick priority 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t HAL_GetTickPrio(void) 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 321 .loc 1 343 1 is_stmt 1 view -0 322 .cfi_startproc 323 @ args = 0, pretend = 0, frame = 0 324 @ frame_needed = 0, uses_anonymous_args = 0 325 @ link register save eliminated. 344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return uwTickPrio; 326 .loc 1 344 3 view .LVU63 345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 327 .loc 1 345 1 is_stmt 0 view .LVU64 328 0000 014B ldr r3, .L32 329 0002 1868 ldr r0, [r3] 330 0004 7047 bx lr 331 .L33: 332 0006 00BF .align 2 333 .L32: 334 0008 00000000 .word uwTickPrio 335 .cfi_endproc 336 .LFE336: 338 .section .text.HAL_SetTickFreq,"ax",%progbits 339 .align 1 340 .global HAL_SetTickFreq 341 .syntax unified 342 .thumb 343 .thumb_func 345 HAL_SetTickFreq: 346 .LVL15: 347 .LFB337: 346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Set new tick Freq. 349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval status 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_StatusTypeDef HAL_SetTickFreq(uint32_t Freq) 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 348 .loc 1 352 1 is_stmt 1 view -0 349 .cfi_startproc 350 @ args = 0, pretend = 0, frame = 0 351 @ frame_needed = 0, uses_anonymous_args = 0 352 .loc 1 352 1 is_stmt 0 view .LVU66 353 0000 10B5 push {r4, lr} 354 .LCFI3: 355 .cfi_def_cfa_offset 8 356 .cfi_offset 4, -8 357 .cfi_offset 14, -4 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_StatusTypeDef status = HAL_OK; 358 .loc 1 353 3 is_stmt 1 view .LVU67 359 .LVL16: 354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t prevTickFreq; 360 .loc 1 354 3 view .LVU68 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** assert_param(IS_TICKFREQ(Freq)); 361 .loc 1 356 3 view .LVU69 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ARM GAS /tmp/cct060d8.s page 14 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** if (uwTickFreq != Freq) 362 .loc 1 358 3 view .LVU70 363 .loc 1 358 18 is_stmt 0 view .LVU71 364 0002 084B ldr r3, .L39 365 0004 1C68 ldr r4, [r3] 366 .loc 1 358 6 view .LVU72 367 0006 8442 cmp r4, r0 368 0008 01D1 bne .L38 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t prevTickFreq; 369 .loc 1 353 21 view .LVU73 370 000a 0020 movs r0, #0 371 .LVL17: 372 .L35: 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Back up uwTickFreq frequency */ 361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** prevTickFreq = uwTickFreq; 362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Update uwTickFreq global variable used by HAL_InitTick() */ 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uwTickFreq = Freq; 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Apply the new tick Freq */ 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** status = HAL_InitTick(uwTickPrio); 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** if (status != HAL_OK) 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Restore previous tick frequency */ 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uwTickFreq = prevTickFreq; 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return status; 373 .loc 1 376 3 is_stmt 1 view .LVU74 377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 374 .loc 1 377 1 is_stmt 0 view .LVU75 375 000c 10BD pop {r4, pc} 376 .LVL18: 377 .L38: 361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 378 .loc 1 361 5 is_stmt 1 view .LVU76 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 379 .loc 1 364 5 view .LVU77 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 380 .loc 1 364 16 is_stmt 0 view .LVU78 381 000e 1860 str r0, [r3] 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 382 .loc 1 367 5 is_stmt 1 view .LVU79 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 383 .loc 1 367 14 is_stmt 0 view .LVU80 384 0010 054B ldr r3, .L39+4 385 0012 1868 ldr r0, [r3] 386 .LVL19: 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 387 .loc 1 367 14 view .LVU81 388 0014 FFF7FEFF bl HAL_InitTick 389 .LVL20: 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 390 .loc 1 369 5 is_stmt 1 view .LVU82 ARM GAS /tmp/cct060d8.s page 15 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 391 .loc 1 369 8 is_stmt 0 view .LVU83 392 0018 0028 cmp r0, #0 393 001a F7D0 beq .L35 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 394 .loc 1 372 7 is_stmt 1 view .LVU84 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 395 .loc 1 372 18 is_stmt 0 view .LVU85 396 001c 014B ldr r3, .L39 397 001e 1C60 str r4, [r3] 398 0020 F4E7 b .L35 399 .L40: 400 0022 00BF .align 2 401 .L39: 402 0024 00000000 .word uwTickFreq 403 0028 00000000 .word uwTickPrio 404 .cfi_endproc 405 .LFE337: 407 .section .text.HAL_GetTickFreq,"ax",%progbits 408 .align 1 409 .global HAL_GetTickFreq 410 .syntax unified 411 .thumb 412 .thumb_func 414 HAL_GetTickFreq: 415 .LFB338: 378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Returns tick frequency. 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval Tick frequency. 382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * Value of @ref HAL_TickFreqTypeDef. 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t HAL_GetTickFreq(void) 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 416 .loc 1 385 1 is_stmt 1 view -0 417 .cfi_startproc 418 @ args = 0, pretend = 0, frame = 0 419 @ frame_needed = 0, uses_anonymous_args = 0 420 @ link register save eliminated. 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return uwTickFreq; 421 .loc 1 386 3 view .LVU87 387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 422 .loc 1 387 1 is_stmt 0 view .LVU88 423 0000 014B ldr r3, .L42 424 0002 1868 ldr r0, [r3] 425 0004 7047 bx lr 426 .L43: 427 0006 00BF .align 2 428 .L42: 429 0008 00000000 .word uwTickFreq 430 .cfi_endproc 431 .LFE338: 433 .section .text.HAL_Delay,"ax",%progbits 434 .align 1 435 .weak HAL_Delay 436 .syntax unified 437 .thumb ARM GAS /tmp/cct060d8.s page 16 438 .thumb_func 440 HAL_Delay: 441 .LVL21: 442 .LFB339: 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief This function provides minimum delay (in milliseconds) based 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * on variable incremented. 392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note In the default implementation , SysTick timer is the source of time base. 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * It is used to generate interrupts at regular time intervals where uwTick 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * is incremented. 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * implementations in user file. 397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @param Delay specifies the delay time length, in milliseconds. 398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __weak void HAL_Delay(uint32_t Delay) 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 443 .loc 1 401 1 is_stmt 1 view -0 444 .cfi_startproc 445 @ args = 0, pretend = 0, frame = 0 446 @ frame_needed = 0, uses_anonymous_args = 0 447 .loc 1 401 1 is_stmt 0 view .LVU90 448 0000 38B5 push {r3, r4, r5, lr} 449 .LCFI4: 450 .cfi_def_cfa_offset 16 451 .cfi_offset 3, -16 452 .cfi_offset 4, -12 453 .cfi_offset 5, -8 454 .cfi_offset 14, -4 455 0002 0446 mov r4, r0 402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t tickstart = HAL_GetTick(); 456 .loc 1 402 3 is_stmt 1 view .LVU91 457 .loc 1 402 24 is_stmt 0 view .LVU92 458 0004 FFF7FEFF bl HAL_GetTick 459 .LVL22: 460 .loc 1 402 24 view .LVU93 461 0008 0546 mov r5, r0 462 .LVL23: 403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t wait = Delay; 463 .loc 1 403 3 is_stmt 1 view .LVU94 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Add a freq to guarantee minimum wait */ 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** if (wait < HAL_MAX_DELAY) 464 .loc 1 406 3 view .LVU95 465 .loc 1 406 6 is_stmt 0 view .LVU96 466 000a B4F1FF3F cmp r4, #-1 467 000e 02D0 beq .L46 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** wait += (uint32_t)(uwTickFreq); 468 .loc 1 408 5 is_stmt 1 view .LVU97 469 .loc 1 408 13 is_stmt 0 view .LVU98 470 0010 044B ldr r3, .L48 471 0012 1B68 ldr r3, [r3] 472 .loc 1 408 10 view .LVU99 473 0014 1C44 add r4, r4, r3 474 .LVL24: ARM GAS /tmp/cct060d8.s page 17 475 .L46: 409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** while ((HAL_GetTick() - tickstart) < wait) 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 476 .loc 1 413 3 is_stmt 1 view .LVU100 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 477 .loc 1 411 38 discriminator 1 view .LVU101 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 478 .loc 1 411 11 is_stmt 0 discriminator 1 view .LVU102 479 0016 FFF7FEFF bl HAL_GetTick 480 .LVL25: 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 481 .loc 1 411 25 discriminator 1 view .LVU103 482 001a 401B subs r0, r0, r5 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 483 .loc 1 411 38 discriminator 1 view .LVU104 484 001c A042 cmp r0, r4 485 001e FAD3 bcc .L46 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 486 .loc 1 414 1 view .LVU105 487 0020 38BD pop {r3, r4, r5, pc} 488 .LVL26: 489 .L49: 490 .loc 1 414 1 view .LVU106 491 0022 00BF .align 2 492 .L48: 493 0024 00000000 .word uwTickFreq 494 .cfi_endproc 495 .LFE339: 497 .section .text.HAL_SuspendTick,"ax",%progbits 498 .align 1 499 .weak HAL_SuspendTick 500 .syntax unified 501 .thumb 502 .thumb_func 504 HAL_SuspendTick: 505 .LFB340: 415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Suspends Tick increment. 418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note In the default implementation , SysTick timer is the source of time base. It is 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * used to generate interrupts at regular time intervals. Once HAL_SuspendTick() 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * is called, the SysTick interrupt will be disabled and so Tick increment 421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * is suspended. 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other 423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * implementations in user file. 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __weak void HAL_SuspendTick(void) 427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 506 .loc 1 427 1 is_stmt 1 view -0 507 .cfi_startproc 508 @ args = 0, pretend = 0, frame = 0 509 @ frame_needed = 0, uses_anonymous_args = 0 510 @ link register save eliminated. ARM GAS /tmp/cct060d8.s page 18 428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Disable SysTick Interrupt */ 429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** CLEAR_BIT(SysTick->CTRL, SysTick_CTRL_TICKINT_Msk); 511 .loc 1 429 3 view .LVU108 512 0000 4FF0E022 mov r2, #-536813568 513 0004 1369 ldr r3, [r2, #16] 514 0006 23F00203 bic r3, r3, #2 515 000a 1361 str r3, [r2, #16] 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 516 .loc 1 430 1 is_stmt 0 view .LVU109 517 000c 7047 bx lr 518 .cfi_endproc 519 .LFE340: 521 .section .text.HAL_ResumeTick,"ax",%progbits 522 .align 1 523 .weak HAL_ResumeTick 524 .syntax unified 525 .thumb 526 .thumb_func 528 HAL_ResumeTick: 529 .LFB341: 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Resume Tick increment. 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note In the default implementation , SysTick timer is the source of time base. It is 435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * used to generate interrupts at regular time intervals. Once HAL_ResumeTick() 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * is called, the SysTick interrupt will be enabled and so Tick increment 437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * is resumed. 438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * implementations in user file. 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** __weak void HAL_ResumeTick(void) 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 530 .loc 1 443 1 is_stmt 1 view -0 531 .cfi_startproc 532 @ args = 0, pretend = 0, frame = 0 533 @ frame_needed = 0, uses_anonymous_args = 0 534 @ link register save eliminated. 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Enable SysTick Interrupt */ 445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(SysTick->CTRL, SysTick_CTRL_TICKINT_Msk); 535 .loc 1 445 3 view .LVU111 536 0000 4FF0E022 mov r2, #-536813568 537 0004 1369 ldr r3, [r2, #16] 538 0006 43F00203 orr r3, r3, #2 539 000a 1361 str r3, [r2, #16] 446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 540 .loc 1 446 1 is_stmt 0 view .LVU112 541 000c 7047 bx lr 542 .cfi_endproc 543 .LFE341: 545 .section .text.HAL_GetHalVersion,"ax",%progbits 546 .align 1 547 .global HAL_GetHalVersion 548 .syntax unified 549 .thumb 550 .thumb_func 552 HAL_GetHalVersion: ARM GAS /tmp/cct060d8.s page 19 553 .LFB342: 447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Returns the HAL revision. 450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval version : 0xXYZR (8bits for each decimal, R for RC) 451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t HAL_GetHalVersion(void) 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 554 .loc 1 453 1 is_stmt 1 view -0 555 .cfi_startproc 556 @ args = 0, pretend = 0, frame = 0 557 @ frame_needed = 0, uses_anonymous_args = 0 558 @ link register save eliminated. 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return __STM32G4xx_HAL_VERSION; 559 .loc 1 454 3 view .LVU114 455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 560 .loc 1 455 1 is_stmt 0 view .LVU115 561 0000 0048 ldr r0, .L53 562 0002 7047 bx lr 563 .L54: 564 .align 2 565 .L53: 566 0004 00050201 .word 16909568 567 .cfi_endproc 568 .LFE342: 570 .section .text.HAL_GetREVID,"ax",%progbits 571 .align 1 572 .global HAL_GetREVID 573 .syntax unified 574 .thumb 575 .thumb_func 577 HAL_GetREVID: 578 .LFB343: 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Returns the device revision identifier. 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval Device revision identifier 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t HAL_GetREVID(void) 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 579 .loc 1 462 1 is_stmt 1 view -0 580 .cfi_startproc 581 @ args = 0, pretend = 0, frame = 0 582 @ frame_needed = 0, uses_anonymous_args = 0 583 @ link register save eliminated. 463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return ((DBGMCU->IDCODE & DBGMCU_IDCODE_REV_ID) >> 16U); 584 .loc 1 463 3 view .LVU117 585 .loc 1 463 18 is_stmt 0 view .LVU118 586 0000 014B ldr r3, .L56 587 0002 1868 ldr r0, [r3] 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 588 .loc 1 464 1 view .LVU119 589 0004 000C lsrs r0, r0, #16 590 0006 7047 bx lr 591 .L57: 592 .align 2 593 .L56: ARM GAS /tmp/cct060d8.s page 20 594 0008 002004E0 .word -536600576 595 .cfi_endproc 596 .LFE343: 598 .section .text.HAL_GetDEVID,"ax",%progbits 599 .align 1 600 .global HAL_GetDEVID 601 .syntax unified 602 .thumb 603 .thumb_func 605 HAL_GetDEVID: 606 .LFB344: 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Returns the device identifier. 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval Device identifier 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t HAL_GetDEVID(void) 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 607 .loc 1 471 1 is_stmt 1 view -0 608 .cfi_startproc 609 @ args = 0, pretend = 0, frame = 0 610 @ frame_needed = 0, uses_anonymous_args = 0 611 @ link register save eliminated. 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return (DBGMCU->IDCODE & DBGMCU_IDCODE_DEV_ID); 612 .loc 1 472 3 view .LVU121 613 .loc 1 472 17 is_stmt 0 view .LVU122 614 0000 024B ldr r3, .L59 615 0002 1868 ldr r0, [r3] 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 616 .loc 1 473 1 view .LVU123 617 0004 C0F30B00 ubfx r0, r0, #0, #12 618 0008 7047 bx lr 619 .L60: 620 000a 00BF .align 2 621 .L59: 622 000c 002004E0 .word -536600576 623 .cfi_endproc 624 .LFE344: 626 .section .text.HAL_GetUIDw0,"ax",%progbits 627 .align 1 628 .global HAL_GetUIDw0 629 .syntax unified 630 .thumb 631 .thumb_func 633 HAL_GetUIDw0: 634 .LFB345: 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Return the first word of the unique device identifier (UID based on 96 bits) 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval Device identifier 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t HAL_GetUIDw0(void) 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 635 .loc 1 480 1 is_stmt 1 view -0 636 .cfi_startproc 637 @ args = 0, pretend = 0, frame = 0 638 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/cct060d8.s page 21 639 @ link register save eliminated. 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return (READ_REG(*((uint32_t *)UID_BASE))); 640 .loc 1 481 3 view .LVU125 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 641 .loc 1 482 1 is_stmt 0 view .LVU126 642 0000 014B ldr r3, .L62 643 0002 D3F89005 ldr r0, [r3, #1424] 644 0006 7047 bx lr 645 .L63: 646 .align 2 647 .L62: 648 0008 0070FF1F .word 536834048 649 .cfi_endproc 650 .LFE345: 652 .section .text.HAL_GetUIDw1,"ax",%progbits 653 .align 1 654 .global HAL_GetUIDw1 655 .syntax unified 656 .thumb 657 .thumb_func 659 HAL_GetUIDw1: 660 .LFB346: 483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Return the second word of the unique device identifier (UID based on 96 bits) 486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval Device identifier 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t HAL_GetUIDw1(void) 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 661 .loc 1 489 1 is_stmt 1 view -0 662 .cfi_startproc 663 @ args = 0, pretend = 0, frame = 0 664 @ frame_needed = 0, uses_anonymous_args = 0 665 @ link register save eliminated. 490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return (READ_REG(*((uint32_t *)(UID_BASE + 4U)))); 666 .loc 1 490 3 view .LVU128 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 667 .loc 1 491 1 is_stmt 0 view .LVU129 668 0000 014B ldr r3, .L65 669 0002 D3F89405 ldr r0, [r3, #1428] 670 0006 7047 bx lr 671 .L66: 672 .align 2 673 .L65: 674 0008 0070FF1F .word 536834048 675 .cfi_endproc 676 .LFE346: 678 .section .text.HAL_GetUIDw2,"ax",%progbits 679 .align 1 680 .global HAL_GetUIDw2 681 .syntax unified 682 .thumb 683 .thumb_func 685 HAL_GetUIDw2: 686 .LFB347: 492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** ARM GAS /tmp/cct060d8.s page 22 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Return the third word of the unique device identifier (UID based on 96 bits) 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval Device identifier 496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t HAL_GetUIDw2(void) 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 687 .loc 1 498 1 is_stmt 1 view -0 688 .cfi_startproc 689 @ args = 0, pretend = 0, frame = 0 690 @ frame_needed = 0, uses_anonymous_args = 0 691 @ link register save eliminated. 499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return (READ_REG(*((uint32_t *)(UID_BASE + 8U)))); 692 .loc 1 499 3 view .LVU131 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 693 .loc 1 500 1 is_stmt 0 view .LVU132 694 0000 014B ldr r3, .L68 695 0002 D3F89805 ldr r0, [r3, #1432] 696 0006 7047 bx lr 697 .L69: 698 .align 2 699 .L68: 700 0008 0070FF1F .word 536834048 701 .cfi_endproc 702 .LFE347: 704 .section .text.HAL_DBGMCU_EnableDBGSleepMode,"ax",%progbits 705 .align 1 706 .global HAL_DBGMCU_EnableDBGSleepMode 707 .syntax unified 708 .thumb 709 .thumb_func 711 HAL_DBGMCU_EnableDBGSleepMode: 712 .LFB348: 501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @} 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** @defgroup HAL_Exported_Functions_Group3 HAL Debug functions 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief HAL Debug functions 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @verbatim 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** =============================================================================== 511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ##### HAL Debug functions ##### 512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** =============================================================================== 513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** [..] This section provides functions allowing to: 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Enable/Disable Debug module during SLEEP mode 515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Enable/Disable Debug module during STOP0/STOP1/STOP2 modes 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Enable/Disable Debug module during STANDBY mode 517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @endverbatim 519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @{ 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Enable the Debug Module during SLEEP mode. 524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_DBGMCU_EnableDBGSleepMode(void) ARM GAS /tmp/cct060d8.s page 23 527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 713 .loc 1 527 1 is_stmt 1 view -0 714 .cfi_startproc 715 @ args = 0, pretend = 0, frame = 0 716 @ frame_needed = 0, uses_anonymous_args = 0 717 @ link register save eliminated. 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_SLEEP); 718 .loc 1 528 3 view .LVU134 719 0000 024A ldr r2, .L71 720 0002 5368 ldr r3, [r2, #4] 721 0004 43F00103 orr r3, r3, #1 722 0008 5360 str r3, [r2, #4] 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 723 .loc 1 529 1 is_stmt 0 view .LVU135 724 000a 7047 bx lr 725 .L72: 726 .align 2 727 .L71: 728 000c 002004E0 .word -536600576 729 .cfi_endproc 730 .LFE348: 732 .section .text.HAL_DBGMCU_DisableDBGSleepMode,"ax",%progbits 733 .align 1 734 .global HAL_DBGMCU_DisableDBGSleepMode 735 .syntax unified 736 .thumb 737 .thumb_func 739 HAL_DBGMCU_DisableDBGSleepMode: 740 .LFB349: 530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Disable the Debug Module during SLEEP mode. 533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_DBGMCU_DisableDBGSleepMode(void) 536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 741 .loc 1 536 1 is_stmt 1 view -0 742 .cfi_startproc 743 @ args = 0, pretend = 0, frame = 0 744 @ frame_needed = 0, uses_anonymous_args = 0 745 @ link register save eliminated. 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_SLEEP); 746 .loc 1 537 3 view .LVU137 747 0000 024A ldr r2, .L74 748 0002 5368 ldr r3, [r2, #4] 749 0004 23F00103 bic r3, r3, #1 750 0008 5360 str r3, [r2, #4] 538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 751 .loc 1 538 1 is_stmt 0 view .LVU138 752 000a 7047 bx lr 753 .L75: 754 .align 2 755 .L74: 756 000c 002004E0 .word -536600576 757 .cfi_endproc 758 .LFE349: 760 .section .text.HAL_DBGMCU_EnableDBGStopMode,"ax",%progbits ARM GAS /tmp/cct060d8.s page 24 761 .align 1 762 .global HAL_DBGMCU_EnableDBGStopMode 763 .syntax unified 764 .thumb 765 .thumb_func 767 HAL_DBGMCU_EnableDBGStopMode: 768 .LFB350: 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Enable the Debug Module during STOP0/STOP1/STOP2 modes. 542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_DBGMCU_EnableDBGStopMode(void) 545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 769 .loc 1 545 1 is_stmt 1 view -0 770 .cfi_startproc 771 @ args = 0, pretend = 0, frame = 0 772 @ frame_needed = 0, uses_anonymous_args = 0 773 @ link register save eliminated. 546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP); 774 .loc 1 546 3 view .LVU140 775 0000 024A ldr r2, .L77 776 0002 5368 ldr r3, [r2, #4] 777 0004 43F00203 orr r3, r3, #2 778 0008 5360 str r3, [r2, #4] 547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 779 .loc 1 547 1 is_stmt 0 view .LVU141 780 000a 7047 bx lr 781 .L78: 782 .align 2 783 .L77: 784 000c 002004E0 .word -536600576 785 .cfi_endproc 786 .LFE350: 788 .section .text.HAL_DBGMCU_DisableDBGStopMode,"ax",%progbits 789 .align 1 790 .global HAL_DBGMCU_DisableDBGStopMode 791 .syntax unified 792 .thumb 793 .thumb_func 795 HAL_DBGMCU_DisableDBGStopMode: 796 .LFB351: 548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Disable the Debug Module during STOP0/STOP1/STOP2 modes. 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_DBGMCU_DisableDBGStopMode(void) 554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 797 .loc 1 554 1 is_stmt 1 view -0 798 .cfi_startproc 799 @ args = 0, pretend = 0, frame = 0 800 @ frame_needed = 0, uses_anonymous_args = 0 801 @ link register save eliminated. 555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP); 802 .loc 1 555 3 view .LVU143 803 0000 024A ldr r2, .L80 ARM GAS /tmp/cct060d8.s page 25 804 0002 5368 ldr r3, [r2, #4] 805 0004 23F00203 bic r3, r3, #2 806 0008 5360 str r3, [r2, #4] 556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 807 .loc 1 556 1 is_stmt 0 view .LVU144 808 000a 7047 bx lr 809 .L81: 810 .align 2 811 .L80: 812 000c 002004E0 .word -536600576 813 .cfi_endproc 814 .LFE351: 816 .section .text.HAL_DBGMCU_EnableDBGStandbyMode,"ax",%progbits 817 .align 1 818 .global HAL_DBGMCU_EnableDBGStandbyMode 819 .syntax unified 820 .thumb 821 .thumb_func 823 HAL_DBGMCU_EnableDBGStandbyMode: 824 .LFB352: 557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Enable the Debug Module during STANDBY mode. 560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_DBGMCU_EnableDBGStandbyMode(void) 563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 825 .loc 1 563 1 is_stmt 1 view -0 826 .cfi_startproc 827 @ args = 0, pretend = 0, frame = 0 828 @ frame_needed = 0, uses_anonymous_args = 0 829 @ link register save eliminated. 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY); 830 .loc 1 564 3 view .LVU146 831 0000 024A ldr r2, .L83 832 0002 5368 ldr r3, [r2, #4] 833 0004 43F00403 orr r3, r3, #4 834 0008 5360 str r3, [r2, #4] 565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 835 .loc 1 565 1 is_stmt 0 view .LVU147 836 000a 7047 bx lr 837 .L84: 838 .align 2 839 .L83: 840 000c 002004E0 .word -536600576 841 .cfi_endproc 842 .LFE352: 844 .section .text.HAL_DBGMCU_DisableDBGStandbyMode,"ax",%progbits 845 .align 1 846 .global HAL_DBGMCU_DisableDBGStandbyMode 847 .syntax unified 848 .thumb 849 .thumb_func 851 HAL_DBGMCU_DisableDBGStandbyMode: 852 .LFB353: 566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** ARM GAS /tmp/cct060d8.s page 26 568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Disable the Debug Module during STANDBY mode. 569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_DBGMCU_DisableDBGStandbyMode(void) 572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 853 .loc 1 572 1 is_stmt 1 view -0 854 .cfi_startproc 855 @ args = 0, pretend = 0, frame = 0 856 @ frame_needed = 0, uses_anonymous_args = 0 857 @ link register save eliminated. 573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY); 858 .loc 1 573 3 view .LVU149 859 0000 024A ldr r2, .L86 860 0002 5368 ldr r3, [r2, #4] 861 0004 23F00403 bic r3, r3, #4 862 0008 5360 str r3, [r2, #4] 574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 863 .loc 1 574 1 is_stmt 0 view .LVU150 864 000a 7047 bx lr 865 .L87: 866 .align 2 867 .L86: 868 000c 002004E0 .word -536600576 869 .cfi_endproc 870 .LFE353: 872 .section .text.HAL_SYSCFG_CCMSRAMErase,"ax",%progbits 873 .align 1 874 .global HAL_SYSCFG_CCMSRAMErase 875 .syntax unified 876 .thumb 877 .thumb_func 879 HAL_SYSCFG_CCMSRAMErase: 880 .LFB354: 575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @} 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** @defgroup HAL_Exported_Functions_Group4 HAL SYSCFG configuration functions 581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief HAL SYSCFG configuration functions 582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @verbatim 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** =============================================================================== 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ##### HAL SYSCFG configuration functions ##### 586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** =============================================================================== 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** [..] This section provides functions allowing to: 588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Start a hardware CCMSRAM erase operation 589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Enable/Disable the Internal FLASH Bank Swapping 590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Configure the Voltage reference buffer 591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Enable/Disable the Voltage reference buffer 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** (+) Enable/Disable the I/O analog switch voltage booster 593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** @endverbatim 595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @{ 596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Start a hardware CCMSRAM erase operation. ARM GAS /tmp/cct060d8.s page 27 599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note As long as CCMSRAM is not erased the CCMER bit will be set. 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * This bit is automatically reset at the end of the CCMSRAM erase operation. 601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_CCMSRAMErase(void) 604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 881 .loc 1 604 1 is_stmt 1 view -0 882 .cfi_startproc 883 @ args = 0, pretend = 0, frame = 0 884 @ frame_needed = 0, uses_anonymous_args = 0 885 @ link register save eliminated. 605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* unlock the write protection of the CCMER bit */ 606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SYSCFG->SKR = 0xCA; 886 .loc 1 606 3 view .LVU152 887 .loc 1 606 15 is_stmt 0 view .LVU153 888 0000 044B ldr r3, .L89 889 0002 CA22 movs r2, #202 890 0004 5A62 str r2, [r3, #36] 607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SYSCFG->SKR = 0x53; 891 .loc 1 607 3 is_stmt 1 view .LVU154 892 .loc 1 607 15 is_stmt 0 view .LVU155 893 0006 5322 movs r2, #83 894 0008 5A62 str r2, [r3, #36] 608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Starts a hardware CCMSRAM erase operation*/ 609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(SYSCFG->SCSR, SYSCFG_SCSR_CCMER); 895 .loc 1 609 3 is_stmt 1 view .LVU156 896 000a 9A69 ldr r2, [r3, #24] 897 000c 42F00102 orr r2, r2, #1 898 0010 9A61 str r2, [r3, #24] 610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 899 .loc 1 610 1 is_stmt 0 view .LVU157 900 0012 7047 bx lr 901 .L90: 902 .align 2 903 .L89: 904 0014 00000140 .word 1073807360 905 .cfi_endproc 906 .LFE354: 908 .section .text.HAL_SYSCFG_EnableMemorySwappingBank,"ax",%progbits 909 .align 1 910 .global HAL_SYSCFG_EnableMemorySwappingBank 911 .syntax unified 912 .thumb 913 .thumb_func 915 HAL_SYSCFG_EnableMemorySwappingBank: 916 .LFB355: 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Enable the Internal FLASH Bank Swapping. 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note This function can be used only for STM32G4xx devices. 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note Flash Bank2 mapped at 0x08000000 (and aliased @0x00000000) 618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * and Flash Bank1 mapped at 0x08040000 (and aliased at 0x00040000) 619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ ARM GAS /tmp/cct060d8.s page 28 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_EnableMemorySwappingBank(void) 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 917 .loc 1 623 1 is_stmt 1 view -0 918 .cfi_startproc 919 @ args = 0, pretend = 0, frame = 0 920 @ frame_needed = 0, uses_anonymous_args = 0 921 @ link register save eliminated. 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(SYSCFG->MEMRMP, SYSCFG_MEMRMP_FB_MODE); 922 .loc 1 624 3 view .LVU159 923 0000 024A ldr r2, .L92 924 0002 1368 ldr r3, [r2] 925 0004 43F48073 orr r3, r3, #256 926 0008 1360 str r3, [r2] 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 927 .loc 1 625 1 is_stmt 0 view .LVU160 928 000a 7047 bx lr 929 .L93: 930 .align 2 931 .L92: 932 000c 00000140 .word 1073807360 933 .cfi_endproc 934 .LFE355: 936 .section .text.HAL_SYSCFG_DisableMemorySwappingBank,"ax",%progbits 937 .align 1 938 .global HAL_SYSCFG_DisableMemorySwappingBank 939 .syntax unified 940 .thumb 941 .thumb_func 943 HAL_SYSCFG_DisableMemorySwappingBank: 944 .LFB356: 626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Disable the Internal FLASH Bank Swapping. 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note This function can be used only for STM32G4xx devices. 631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note The default state : Flash Bank1 mapped at 0x08000000 (and aliased @0x0000 0000) 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * and Flash Bank2 mapped at 0x08040000 (and aliased at 0x00040000) 634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_DisableMemorySwappingBank(void) 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 945 .loc 1 638 1 is_stmt 1 view -0 946 .cfi_startproc 947 @ args = 0, pretend = 0, frame = 0 948 @ frame_needed = 0, uses_anonymous_args = 0 949 @ link register save eliminated. 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** CLEAR_BIT(SYSCFG->MEMRMP, SYSCFG_MEMRMP_FB_MODE); 950 .loc 1 639 3 view .LVU162 951 0000 024A ldr r2, .L95 952 0002 1368 ldr r3, [r2] 953 0004 23F48073 bic r3, r3, #256 954 0008 1360 str r3, [r2] 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 955 .loc 1 640 1 is_stmt 0 view .LVU163 956 000a 7047 bx lr ARM GAS /tmp/cct060d8.s page 29 957 .L96: 958 .align 2 959 .L95: 960 000c 00000140 .word 1073807360 961 .cfi_endproc 962 .LFE356: 964 .section .text.HAL_SYSCFG_VREFBUF_VoltageScalingConfig,"ax",%progbits 965 .align 1 966 .global HAL_SYSCFG_VREFBUF_VoltageScalingConfig 967 .syntax unified 968 .thumb 969 .thumb_func 971 HAL_SYSCFG_VREFBUF_VoltageScalingConfig: 972 .LVL27: 973 .LFB357: 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #if defined(VREFBUF) 643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Configure the internal voltage reference buffer voltage scale. 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @param VoltageScaling: specifies the output voltage to achieve 646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * This parameter can be one of the following values: 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @arg SYSCFG_VREFBUF_VOLTAGE_SCALE0: VREFBUF_OUT around 2.048 V. 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * This requires VDDA equal to or higher than 2.4 V 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @arg SYSCFG_VREFBUF_VOLTAGE_SCALE1: VREFBUF_OUT around 2.5 V. 650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * This requires VDDA equal to or higher than 2.8 V 651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @arg SYSCFG_VREFBUF_VOLTAGE_SCALE2: VREFBUF_OUT around 2.9 V. 652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * This requires VDDA equal to or higher than 3.15 653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_VREFBUF_VoltageScalingConfig(uint32_t VoltageScaling) 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 974 .loc 1 656 1 is_stmt 1 view -0 975 .cfi_startproc 976 @ args = 0, pretend = 0, frame = 0 977 @ frame_needed = 0, uses_anonymous_args = 0 978 @ link register save eliminated. 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Check the parameters */ 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** assert_param(IS_SYSCFG_VREFBUF_VOLTAGE_SCALE(VoltageScaling)); 979 .loc 1 658 3 view .LVU165 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** MODIFY_REG(VREFBUF->CSR, VREFBUF_CSR_VRS, VoltageScaling); 980 .loc 1 660 3 view .LVU166 981 0000 034A ldr r2, .L98 982 0002 136B ldr r3, [r2, #48] 983 0004 23F03003 bic r3, r3, #48 984 0008 0343 orrs r3, r3, r0 985 000a 1363 str r3, [r2, #48] 661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 986 .loc 1 661 1 is_stmt 0 view .LVU167 987 000c 7047 bx lr 988 .L99: 989 000e 00BF .align 2 990 .L98: 991 0010 00000140 .word 1073807360 992 .cfi_endproc 993 .LFE357: 995 .section .text.HAL_SYSCFG_VREFBUF_HighImpedanceConfig,"ax",%progbits ARM GAS /tmp/cct060d8.s page 30 996 .align 1 997 .global HAL_SYSCFG_VREFBUF_HighImpedanceConfig 998 .syntax unified 999 .thumb 1000 .thumb_func 1002 HAL_SYSCFG_VREFBUF_HighImpedanceConfig: 1003 .LVL28: 1004 .LFB358: 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Configure the internal voltage reference buffer high impedance mode. 665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @param Mode: specifies the high impedance mode 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * This parameter can be one of the following values: 667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @arg SYSCFG_VREFBUF_HIGH_IMPEDANCE_DISABLE: VREF+ pin is internally connect to VREFI 668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @arg SYSCFG_VREFBUF_HIGH_IMPEDANCE_ENABLE: VREF+ pin is high impedance. 669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_VREFBUF_HighImpedanceConfig(uint32_t Mode) 672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 1005 .loc 1 672 1 is_stmt 1 view -0 1006 .cfi_startproc 1007 @ args = 0, pretend = 0, frame = 0 1008 @ frame_needed = 0, uses_anonymous_args = 0 1009 @ link register save eliminated. 673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Check the parameters */ 674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** assert_param(IS_SYSCFG_VREFBUF_HIGH_IMPEDANCE(Mode)); 1010 .loc 1 674 3 view .LVU169 675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** MODIFY_REG(VREFBUF->CSR, VREFBUF_CSR_HIZ, Mode); 1011 .loc 1 676 3 view .LVU170 1012 0000 034A ldr r2, .L101 1013 0002 136B ldr r3, [r2, #48] 1014 0004 23F00203 bic r3, r3, #2 1015 0008 0343 orrs r3, r3, r0 1016 000a 1363 str r3, [r2, #48] 677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 1017 .loc 1 677 1 is_stmt 0 view .LVU171 1018 000c 7047 bx lr 1019 .L102: 1020 000e 00BF .align 2 1021 .L101: 1022 0010 00000140 .word 1073807360 1023 .cfi_endproc 1024 .LFE358: 1026 .section .text.HAL_SYSCFG_VREFBUF_TrimmingConfig,"ax",%progbits 1027 .align 1 1028 .global HAL_SYSCFG_VREFBUF_TrimmingConfig 1029 .syntax unified 1030 .thumb 1031 .thumb_func 1033 HAL_SYSCFG_VREFBUF_TrimmingConfig: 1034 .LVL29: 1035 .LFB359: 678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Tune the Internal Voltage Reference buffer (VREFBUF). 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @param TrimmingValue specifies trimming code for VREFBUF calibration ARM GAS /tmp/cct060d8.s page 31 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * This parameter can be a number between Min_Data = 0x00 and Max_Data = 0x3F 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_VREFBUF_TrimmingConfig(uint32_t TrimmingValue) 686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 1036 .loc 1 686 1 is_stmt 1 view -0 1037 .cfi_startproc 1038 @ args = 0, pretend = 0, frame = 0 1039 @ frame_needed = 0, uses_anonymous_args = 0 1040 @ link register save eliminated. 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Check the parameters */ 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** assert_param(IS_SYSCFG_VREFBUF_TRIMMING(TrimmingValue)); 1041 .loc 1 688 3 view .LVU173 689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** MODIFY_REG(VREFBUF->CCR, VREFBUF_CCR_TRIM, TrimmingValue); 1042 .loc 1 690 3 view .LVU174 1043 0000 034A ldr r2, .L104 1044 0002 536B ldr r3, [r2, #52] 1045 0004 23F03F03 bic r3, r3, #63 1046 0008 0343 orrs r3, r3, r0 1047 000a 5363 str r3, [r2, #52] 691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 1048 .loc 1 691 1 is_stmt 0 view .LVU175 1049 000c 7047 bx lr 1050 .L105: 1051 000e 00BF .align 2 1052 .L104: 1053 0010 00000140 .word 1073807360 1054 .cfi_endproc 1055 .LFE359: 1057 .section .text.HAL_SYSCFG_EnableVREFBUF,"ax",%progbits 1058 .align 1 1059 .global HAL_SYSCFG_EnableVREFBUF 1060 .syntax unified 1061 .thumb 1062 .thumb_func 1064 HAL_SYSCFG_EnableVREFBUF: 1065 .LFB360: 692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Enable the Internal Voltage Reference buffer (VREFBUF). 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval HAL_OK/HAL_TIMEOUT 696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** HAL_StatusTypeDef HAL_SYSCFG_EnableVREFBUF(void) 698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 1066 .loc 1 698 1 is_stmt 1 view -0 1067 .cfi_startproc 1068 @ args = 0, pretend = 0, frame = 0 1069 @ frame_needed = 0, uses_anonymous_args = 0 1070 0000 10B5 push {r4, lr} 1071 .LCFI5: 1072 .cfi_def_cfa_offset 8 1073 .cfi_offset 4, -8 1074 .cfi_offset 14, -4 699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** uint32_t tickstart; 1075 .loc 1 699 3 view .LVU177 700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** ARM GAS /tmp/cct060d8.s page 32 701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(VREFBUF->CSR, VREFBUF_CSR_ENVR); 1076 .loc 1 701 3 view .LVU178 1077 0002 0B4A ldr r2, .L113 1078 0004 136B ldr r3, [r2, #48] 1079 0006 43F00103 orr r3, r3, #1 1080 000a 1363 str r3, [r2, #48] 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Get Start Tick*/ 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** tickstart = HAL_GetTick(); 1081 .loc 1 704 3 view .LVU179 1082 .loc 1 704 15 is_stmt 0 view .LVU180 1083 000c FFF7FEFF bl HAL_GetTick 1084 .LVL30: 1085 0010 0446 mov r4, r0 1086 .LVL31: 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /* Wait for VRR bit */ 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** while (READ_BIT(VREFBUF->CSR, VREFBUF_CSR_VRR) == 0x00U) 1087 .loc 1 707 3 is_stmt 1 view .LVU181 1088 .L107: 1089 .loc 1 707 50 view .LVU182 1090 .loc 1 707 10 is_stmt 0 view .LVU183 1091 0012 074B ldr r3, .L113 1092 0014 1B6B ldr r3, [r3, #48] 1093 .loc 1 707 50 view .LVU184 1094 0016 13F0080F tst r3, #8 1095 001a 06D1 bne .L112 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** if ((HAL_GetTick() - tickstart) > VREFBUF_TIMEOUT_VALUE) 1096 .loc 1 709 5 is_stmt 1 view .LVU185 1097 .loc 1 709 10 is_stmt 0 view .LVU186 1098 001c FFF7FEFF bl HAL_GetTick 1099 .LVL32: 1100 .loc 1 709 24 discriminator 1 view .LVU187 1101 0020 001B subs r0, r0, r4 1102 .loc 1 709 8 discriminator 1 view .LVU188 1103 0022 0A28 cmp r0, #10 1104 0024 F5D9 bls .L107 710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return HAL_TIMEOUT; 1105 .loc 1 711 14 view .LVU189 1106 0026 0320 movs r0, #3 1107 0028 00E0 b .L108 1108 .L112: 712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** return HAL_OK; 1109 .loc 1 715 10 view .LVU190 1110 002a 0020 movs r0, #0 1111 .L108: 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 1112 .loc 1 716 1 view .LVU191 1113 002c 10BD pop {r4, pc} 1114 .LVL33: 1115 .L114: 1116 .loc 1 716 1 view .LVU192 ARM GAS /tmp/cct060d8.s page 33 1117 002e 00BF .align 2 1118 .L113: 1119 0030 00000140 .word 1073807360 1120 .cfi_endproc 1121 .LFE360: 1123 .section .text.HAL_SYSCFG_DisableVREFBUF,"ax",%progbits 1124 .align 1 1125 .global HAL_SYSCFG_DisableVREFBUF 1126 .syntax unified 1127 .thumb 1128 .thumb_func 1130 HAL_SYSCFG_DisableVREFBUF: 1131 .LFB361: 717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Disable the Internal Voltage Reference buffer (VREFBUF). 720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_DisableVREFBUF(void) 724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 1132 .loc 1 724 1 is_stmt 1 view -0 1133 .cfi_startproc 1134 @ args = 0, pretend = 0, frame = 0 1135 @ frame_needed = 0, uses_anonymous_args = 0 1136 @ link register save eliminated. 725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** CLEAR_BIT(VREFBUF->CSR, VREFBUF_CSR_ENVR); 1137 .loc 1 725 3 view .LVU194 1138 0000 024A ldr r2, .L116 1139 0002 136B ldr r3, [r2, #48] 1140 0004 23F00103 bic r3, r3, #1 1141 0008 1363 str r3, [r2, #48] 726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 1142 .loc 1 726 1 is_stmt 0 view .LVU195 1143 000a 7047 bx lr 1144 .L117: 1145 .align 2 1146 .L116: 1147 000c 00000140 .word 1073807360 1148 .cfi_endproc 1149 .LFE361: 1151 .section .text.HAL_SYSCFG_EnableIOSwitchBooster,"ax",%progbits 1152 .align 1 1153 .global HAL_SYSCFG_EnableIOSwitchBooster 1154 .syntax unified 1155 .thumb 1156 .thumb_func 1158 HAL_SYSCFG_EnableIOSwitchBooster: 1159 .LFB362: 727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** #endif /* VREFBUF */ 728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Enable the I/O analog switch voltage booster 731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_EnableIOSwitchBooster(void) ARM GAS /tmp/cct060d8.s page 34 735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 1160 .loc 1 735 1 is_stmt 1 view -0 1161 .cfi_startproc 1162 @ args = 0, pretend = 0, frame = 0 1163 @ frame_needed = 0, uses_anonymous_args = 0 1164 @ link register save eliminated. 736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_BOOSTEN); 1165 .loc 1 736 3 view .LVU197 1166 0000 024A ldr r2, .L119 1167 0002 5368 ldr r3, [r2, #4] 1168 0004 43F48073 orr r3, r3, #256 1169 0008 5360 str r3, [r2, #4] 737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 1170 .loc 1 737 1 is_stmt 0 view .LVU198 1171 000a 7047 bx lr 1172 .L120: 1173 .align 2 1174 .L119: 1175 000c 00000140 .word 1073807360 1176 .cfi_endproc 1177 .LFE362: 1179 .section .text.HAL_SYSCFG_DisableIOSwitchBooster,"ax",%progbits 1180 .align 1 1181 .global HAL_SYSCFG_DisableIOSwitchBooster 1182 .syntax unified 1183 .thumb 1184 .thumb_func 1186 HAL_SYSCFG_DisableIOSwitchBooster: 1187 .LFB363: 738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Disable the I/O analog switch voltage booster 741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_DisableIOSwitchBooster(void) 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 1188 .loc 1 745 1 is_stmt 1 view -0 1189 .cfi_startproc 1190 @ args = 0, pretend = 0, frame = 0 1191 @ frame_needed = 0, uses_anonymous_args = 0 1192 @ link register save eliminated. 746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** CLEAR_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_BOOSTEN); 1193 .loc 1 746 3 view .LVU200 1194 0000 024A ldr r2, .L122 1195 0002 5368 ldr r3, [r2, #4] 1196 0004 23F48073 bic r3, r3, #256 1197 0008 5360 str r3, [r2, #4] 747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 1198 .loc 1 747 1 is_stmt 0 view .LVU201 1199 000a 7047 bx lr 1200 .L123: 1201 .align 2 1202 .L122: 1203 000c 00000140 .word 1073807360 1204 .cfi_endproc 1205 .LFE363: ARM GAS /tmp/cct060d8.s page 35 1207 .section .text.HAL_SYSCFG_EnableIOSwitchVDD,"ax",%progbits 1208 .align 1 1209 .global HAL_SYSCFG_EnableIOSwitchVDD 1210 .syntax unified 1211 .thumb 1212 .thumb_func 1214 HAL_SYSCFG_EnableIOSwitchVDD: 1215 .LFB364: 748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Enable the I/O analog switch voltage by VDD 751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_EnableIOSwitchVDD(void) 755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 1216 .loc 1 755 1 is_stmt 1 view -0 1217 .cfi_startproc 1218 @ args = 0, pretend = 0, frame = 0 1219 @ frame_needed = 0, uses_anonymous_args = 0 1220 @ link register save eliminated. 756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_ANASWVDD); 1221 .loc 1 756 3 view .LVU203 1222 0000 024A ldr r2, .L125 1223 0002 5368 ldr r3, [r2, #4] 1224 0004 43F40073 orr r3, r3, #512 1225 0008 5360 str r3, [r2, #4] 757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 1226 .loc 1 757 1 is_stmt 0 view .LVU204 1227 000a 7047 bx lr 1228 .L126: 1229 .align 2 1230 .L125: 1231 000c 00000140 .word 1073807360 1232 .cfi_endproc 1233 .LFE364: 1235 .section .text.HAL_SYSCFG_DisableIOSwitchVDD,"ax",%progbits 1236 .align 1 1237 .global HAL_SYSCFG_DisableIOSwitchVDD 1238 .syntax unified 1239 .thumb 1240 .thumb_func 1242 HAL_SYSCFG_DisableIOSwitchVDD: 1243 .LFB365: 758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** 760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @brief Disable the I/O analog switch voltage by VDD 761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * 762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_DisableIOSwitchVDD(void) 765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 1244 .loc 1 765 1 is_stmt 1 view -0 1245 .cfi_startproc 1246 @ args = 0, pretend = 0, frame = 0 1247 @ frame_needed = 0, uses_anonymous_args = 0 1248 @ link register save eliminated. ARM GAS /tmp/cct060d8.s page 36 766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** CLEAR_BIT(SYSCFG->CFGR1, SYSCFG_CFGR1_ANASWVDD); 1249 .loc 1 766 3 view .LVU206 1250 0000 024A ldr r2, .L128 1251 0002 5368 ldr r3, [r2, #4] 1252 0004 23F40073 bic r3, r3, #512 1253 0008 5360 str r3, [r2, #4] 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 1254 .loc 1 767 1 is_stmt 0 view .LVU207 1255 000a 7047 bx lr 1256 .L129: 1257 .align 2 1258 .L128: 1259 000c 00000140 .word 1073807360 1260 .cfi_endproc 1261 .LFE365: 1263 .section .text.HAL_SYSCFG_CCMSRAM_WriteProtectionEnable,"ax",%progbits 1264 .align 1 1265 .global HAL_SYSCFG_CCMSRAM_WriteProtectionEnable 1266 .syntax unified 1267 .thumb 1268 .thumb_func 1270 HAL_SYSCFG_CCMSRAM_WriteProtectionEnable: 1271 .LVL34: 1272 .LFB366: 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** /** @brief CCMSRAM page write protection enable 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @param Page: This parameter is a long 32bit value and can be a value of @ref SYSCFG_CCMSRAMWRP 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @note write protection can only be disabled by a system reset 772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** * @retval None 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** */ 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** void HAL_SYSCFG_CCMSRAM_WriteProtectionEnable(uint32_t Page) 775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** { 1273 .loc 1 775 1 is_stmt 1 view -0 1274 .cfi_startproc 1275 @ args = 0, pretend = 0, frame = 0 1276 @ frame_needed = 0, uses_anonymous_args = 0 1277 @ link register save eliminated. 776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** assert_param(IS_SYSCFG_CCMSRAMWRP_PAGE(Page)); 1278 .loc 1 776 3 view .LVU209 777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** 778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** SET_BIT(SYSCFG->SWPR, (uint32_t)(Page)); 1279 .loc 1 778 3 view .LVU210 1280 0000 024A ldr r2, .L131 1281 0002 136A ldr r3, [r2, #32] 1282 0004 0343 orrs r3, r3, r0 1283 0006 1362 str r3, [r2, #32] 779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal.c **** } 1284 .loc 1 779 1 is_stmt 0 view .LVU211 1285 0008 7047 bx lr 1286 .L132: 1287 000a 00BF .align 2 1288 .L131: 1289 000c 00000140 .word 1073807360 1290 .cfi_endproc 1291 .LFE366: 1293 .global uwTickFreq 1294 .section .data.uwTickFreq,"aw" ARM GAS /tmp/cct060d8.s page 37 1295 .align 2 1298 uwTickFreq: 1299 0000 01000000 .word 1 1300 .global uwTickPrio 1301 .section .data.uwTickPrio,"aw" 1302 .align 2 1305 uwTickPrio: 1306 0000 10000000 .word 16 1307 .global uwTick 1308 .section .bss.uwTick,"aw",%nobits 1309 .align 2 1312 uwTick: 1313 0000 00000000 .space 4 1314 .text 1315 .Letext0: 1316 .file 2 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h" 1317 .file 3 "/home/fra/bin/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/mach 1318 .file 4 "/home/fra/bin/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-eabi/arm-none-eabi/include/sys/ 1319 .file 5 "Drivers/CMSIS/Include/core_cm4.h" 1320 .file 6 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h" 1321 .file 7 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h" 1322 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h" 1323 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cortex.h" ARM GAS /tmp/cct060d8.s page 38 DEFINED SYMBOLS *ABS*:00000000 stm32g4xx_hal.c /tmp/cct060d8.s:21 .text.HAL_MspInit:00000000 $t /tmp/cct060d8.s:27 .text.HAL_MspInit:00000000 HAL_MspInit /tmp/cct060d8.s:40 .text.HAL_MspDeInit:00000000 $t /tmp/cct060d8.s:46 .text.HAL_MspDeInit:00000000 HAL_MspDeInit /tmp/cct060d8.s:59 .text.HAL_DeInit:00000000 $t /tmp/cct060d8.s:65 .text.HAL_DeInit:00000000 HAL_DeInit /tmp/cct060d8.s:109 .text.HAL_DeInit:00000028 $d /tmp/cct060d8.s:114 .text.HAL_InitTick:00000000 $t /tmp/cct060d8.s:120 .text.HAL_InitTick:00000000 HAL_InitTick /tmp/cct060d8.s:197 .text.HAL_InitTick:00000044 $d /tmp/cct060d8.s:1298 .data.uwTickFreq:00000000 uwTickFreq /tmp/cct060d8.s:1305 .data.uwTickPrio:00000000 uwTickPrio /tmp/cct060d8.s:204 .text.HAL_Init:00000000 $t /tmp/cct060d8.s:210 .text.HAL_Init:00000000 HAL_Init /tmp/cct060d8.s:254 .text.HAL_IncTick:00000000 $t /tmp/cct060d8.s:260 .text.HAL_IncTick:00000000 HAL_IncTick /tmp/cct060d8.s:280 .text.HAL_IncTick:00000010 $d /tmp/cct060d8.s:1312 .bss.uwTick:00000000 uwTick /tmp/cct060d8.s:286 .text.HAL_GetTick:00000000 $t /tmp/cct060d8.s:292 .text.HAL_GetTick:00000000 HAL_GetTick /tmp/cct060d8.s:308 .text.HAL_GetTick:00000008 $d /tmp/cct060d8.s:313 .text.HAL_GetTickPrio:00000000 $t /tmp/cct060d8.s:319 .text.HAL_GetTickPrio:00000000 HAL_GetTickPrio /tmp/cct060d8.s:334 .text.HAL_GetTickPrio:00000008 $d /tmp/cct060d8.s:339 .text.HAL_SetTickFreq:00000000 $t /tmp/cct060d8.s:345 .text.HAL_SetTickFreq:00000000 HAL_SetTickFreq /tmp/cct060d8.s:402 .text.HAL_SetTickFreq:00000024 $d /tmp/cct060d8.s:408 .text.HAL_GetTickFreq:00000000 $t /tmp/cct060d8.s:414 .text.HAL_GetTickFreq:00000000 HAL_GetTickFreq /tmp/cct060d8.s:429 .text.HAL_GetTickFreq:00000008 $d /tmp/cct060d8.s:434 .text.HAL_Delay:00000000 $t /tmp/cct060d8.s:440 .text.HAL_Delay:00000000 HAL_Delay /tmp/cct060d8.s:493 .text.HAL_Delay:00000024 $d /tmp/cct060d8.s:498 .text.HAL_SuspendTick:00000000 $t /tmp/cct060d8.s:504 .text.HAL_SuspendTick:00000000 HAL_SuspendTick /tmp/cct060d8.s:522 .text.HAL_ResumeTick:00000000 $t /tmp/cct060d8.s:528 .text.HAL_ResumeTick:00000000 HAL_ResumeTick /tmp/cct060d8.s:546 .text.HAL_GetHalVersion:00000000 $t /tmp/cct060d8.s:552 .text.HAL_GetHalVersion:00000000 HAL_GetHalVersion /tmp/cct060d8.s:566 .text.HAL_GetHalVersion:00000004 $d /tmp/cct060d8.s:571 .text.HAL_GetREVID:00000000 $t /tmp/cct060d8.s:577 .text.HAL_GetREVID:00000000 HAL_GetREVID /tmp/cct060d8.s:594 .text.HAL_GetREVID:00000008 $d /tmp/cct060d8.s:599 .text.HAL_GetDEVID:00000000 $t /tmp/cct060d8.s:605 .text.HAL_GetDEVID:00000000 HAL_GetDEVID /tmp/cct060d8.s:622 .text.HAL_GetDEVID:0000000c $d /tmp/cct060d8.s:627 .text.HAL_GetUIDw0:00000000 $t /tmp/cct060d8.s:633 .text.HAL_GetUIDw0:00000000 HAL_GetUIDw0 /tmp/cct060d8.s:648 .text.HAL_GetUIDw0:00000008 $d /tmp/cct060d8.s:653 .text.HAL_GetUIDw1:00000000 $t /tmp/cct060d8.s:659 .text.HAL_GetUIDw1:00000000 HAL_GetUIDw1 /tmp/cct060d8.s:674 .text.HAL_GetUIDw1:00000008 $d /tmp/cct060d8.s:679 .text.HAL_GetUIDw2:00000000 $t /tmp/cct060d8.s:685 .text.HAL_GetUIDw2:00000000 HAL_GetUIDw2 /tmp/cct060d8.s:700 .text.HAL_GetUIDw2:00000008 $d ARM GAS /tmp/cct060d8.s page 39 /tmp/cct060d8.s:705 .text.HAL_DBGMCU_EnableDBGSleepMode:00000000 $t /tmp/cct060d8.s:711 .text.HAL_DBGMCU_EnableDBGSleepMode:00000000 HAL_DBGMCU_EnableDBGSleepMode /tmp/cct060d8.s:728 .text.HAL_DBGMCU_EnableDBGSleepMode:0000000c $d /tmp/cct060d8.s:733 .text.HAL_DBGMCU_DisableDBGSleepMode:00000000 $t /tmp/cct060d8.s:739 .text.HAL_DBGMCU_DisableDBGSleepMode:00000000 HAL_DBGMCU_DisableDBGSleepMode /tmp/cct060d8.s:756 .text.HAL_DBGMCU_DisableDBGSleepMode:0000000c $d /tmp/cct060d8.s:761 .text.HAL_DBGMCU_EnableDBGStopMode:00000000 $t /tmp/cct060d8.s:767 .text.HAL_DBGMCU_EnableDBGStopMode:00000000 HAL_DBGMCU_EnableDBGStopMode /tmp/cct060d8.s:784 .text.HAL_DBGMCU_EnableDBGStopMode:0000000c $d /tmp/cct060d8.s:789 .text.HAL_DBGMCU_DisableDBGStopMode:00000000 $t /tmp/cct060d8.s:795 .text.HAL_DBGMCU_DisableDBGStopMode:00000000 HAL_DBGMCU_DisableDBGStopMode /tmp/cct060d8.s:812 .text.HAL_DBGMCU_DisableDBGStopMode:0000000c $d /tmp/cct060d8.s:817 .text.HAL_DBGMCU_EnableDBGStandbyMode:00000000 $t /tmp/cct060d8.s:823 .text.HAL_DBGMCU_EnableDBGStandbyMode:00000000 HAL_DBGMCU_EnableDBGStandbyMode /tmp/cct060d8.s:840 .text.HAL_DBGMCU_EnableDBGStandbyMode:0000000c $d /tmp/cct060d8.s:845 .text.HAL_DBGMCU_DisableDBGStandbyMode:00000000 $t /tmp/cct060d8.s:851 .text.HAL_DBGMCU_DisableDBGStandbyMode:00000000 HAL_DBGMCU_DisableDBGStandbyMode /tmp/cct060d8.s:868 .text.HAL_DBGMCU_DisableDBGStandbyMode:0000000c $d /tmp/cct060d8.s:873 .text.HAL_SYSCFG_CCMSRAMErase:00000000 $t /tmp/cct060d8.s:879 .text.HAL_SYSCFG_CCMSRAMErase:00000000 HAL_SYSCFG_CCMSRAMErase /tmp/cct060d8.s:904 .text.HAL_SYSCFG_CCMSRAMErase:00000014 $d /tmp/cct060d8.s:909 .text.HAL_SYSCFG_EnableMemorySwappingBank:00000000 $t /tmp/cct060d8.s:915 .text.HAL_SYSCFG_EnableMemorySwappingBank:00000000 HAL_SYSCFG_EnableMemorySwappingBank /tmp/cct060d8.s:932 .text.HAL_SYSCFG_EnableMemorySwappingBank:0000000c $d /tmp/cct060d8.s:937 .text.HAL_SYSCFG_DisableMemorySwappingBank:00000000 $t /tmp/cct060d8.s:943 .text.HAL_SYSCFG_DisableMemorySwappingBank:00000000 HAL_SYSCFG_DisableMemorySwappingBank /tmp/cct060d8.s:960 .text.HAL_SYSCFG_DisableMemorySwappingBank:0000000c $d /tmp/cct060d8.s:965 .text.HAL_SYSCFG_VREFBUF_VoltageScalingConfig:00000000 $t /tmp/cct060d8.s:971 .text.HAL_SYSCFG_VREFBUF_VoltageScalingConfig:00000000 HAL_SYSCFG_VREFBUF_VoltageScalingConfig /tmp/cct060d8.s:991 .text.HAL_SYSCFG_VREFBUF_VoltageScalingConfig:00000010 $d /tmp/cct060d8.s:996 .text.HAL_SYSCFG_VREFBUF_HighImpedanceConfig:00000000 $t /tmp/cct060d8.s:1002 .text.HAL_SYSCFG_VREFBUF_HighImpedanceConfig:00000000 HAL_SYSCFG_VREFBUF_HighImpedanceConfig /tmp/cct060d8.s:1022 .text.HAL_SYSCFG_VREFBUF_HighImpedanceConfig:00000010 $d /tmp/cct060d8.s:1027 .text.HAL_SYSCFG_VREFBUF_TrimmingConfig:00000000 $t /tmp/cct060d8.s:1033 .text.HAL_SYSCFG_VREFBUF_TrimmingConfig:00000000 HAL_SYSCFG_VREFBUF_TrimmingConfig /tmp/cct060d8.s:1053 .text.HAL_SYSCFG_VREFBUF_TrimmingConfig:00000010 $d /tmp/cct060d8.s:1058 .text.HAL_SYSCFG_EnableVREFBUF:00000000 $t /tmp/cct060d8.s:1064 .text.HAL_SYSCFG_EnableVREFBUF:00000000 HAL_SYSCFG_EnableVREFBUF /tmp/cct060d8.s:1119 .text.HAL_SYSCFG_EnableVREFBUF:00000030 $d /tmp/cct060d8.s:1124 .text.HAL_SYSCFG_DisableVREFBUF:00000000 $t /tmp/cct060d8.s:1130 .text.HAL_SYSCFG_DisableVREFBUF:00000000 HAL_SYSCFG_DisableVREFBUF /tmp/cct060d8.s:1147 .text.HAL_SYSCFG_DisableVREFBUF:0000000c $d /tmp/cct060d8.s:1152 .text.HAL_SYSCFG_EnableIOSwitchBooster:00000000 $t /tmp/cct060d8.s:1158 .text.HAL_SYSCFG_EnableIOSwitchBooster:00000000 HAL_SYSCFG_EnableIOSwitchBooster /tmp/cct060d8.s:1175 .text.HAL_SYSCFG_EnableIOSwitchBooster:0000000c $d /tmp/cct060d8.s:1180 .text.HAL_SYSCFG_DisableIOSwitchBooster:00000000 $t /tmp/cct060d8.s:1186 .text.HAL_SYSCFG_DisableIOSwitchBooster:00000000 HAL_SYSCFG_DisableIOSwitchBooster /tmp/cct060d8.s:1203 .text.HAL_SYSCFG_DisableIOSwitchBooster:0000000c $d /tmp/cct060d8.s:1208 .text.HAL_SYSCFG_EnableIOSwitchVDD:00000000 $t /tmp/cct060d8.s:1214 .text.HAL_SYSCFG_EnableIOSwitchVDD:00000000 HAL_SYSCFG_EnableIOSwitchVDD /tmp/cct060d8.s:1231 .text.HAL_SYSCFG_EnableIOSwitchVDD:0000000c $d /tmp/cct060d8.s:1236 .text.HAL_SYSCFG_DisableIOSwitchVDD:00000000 $t /tmp/cct060d8.s:1242 .text.HAL_SYSCFG_DisableIOSwitchVDD:00000000 HAL_SYSCFG_DisableIOSwitchVDD /tmp/cct060d8.s:1259 .text.HAL_SYSCFG_DisableIOSwitchVDD:0000000c $d /tmp/cct060d8.s:1264 .text.HAL_SYSCFG_CCMSRAM_WriteProtectionEnable:00000000 $t /tmp/cct060d8.s:1270 .text.HAL_SYSCFG_CCMSRAM_WriteProtectionEnable:00000000 HAL_SYSCFG_CCMSRAM_WriteProtectionEnable /tmp/cct060d8.s:1289 .text.HAL_SYSCFG_CCMSRAM_WriteProtectionEnable:0000000c $d ARM GAS /tmp/cct060d8.s page 40 /tmp/cct060d8.s:1295 .data.uwTickFreq:00000000 $d /tmp/cct060d8.s:1302 .data.uwTickPrio:00000000 $d /tmp/cct060d8.s:1309 .bss.uwTick:00000000 $d UNDEFINED SYMBOLS HAL_SYSTICK_Config HAL_NVIC_SetPriority SystemCoreClock HAL_NVIC_SetPriorityGrouping