ARM GAS  /tmp/ccY6DPpN.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_gpio.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c"
  20              		.section	.text.HAL_GPIO_Init,"ax",%progbits
  21              		.align	1
  22              		.global	HAL_GPIO_Init
  23              		.syntax unified
  24              		.thumb
  25              		.thumb_func
  27              	HAL_GPIO_Init:
  28              	.LVL0:
  29              	.LFB329:
   1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
   2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   ******************************************************************************
   3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @file    stm32g4xx_hal_gpio.c
   4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @author  MCD Application Team
   5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @brief   GPIO HAL module driver.
   6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *          functionalities of the General Purpose Input/Output (GPIO) peripheral:
   8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *           + IO operation functions
  10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *
  11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   ******************************************************************************
  12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @attention
  13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *
  14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * Copyright (c) 2019 STMicroelectronics.
  15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * All rights reserved.
  16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *
  17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * This software is licensed under terms that can be found in the LICENSE file
  18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * in the root directory of this software component.
  19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * If no LICENSE file comes with this software, it is provided AS-IS.
  20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *
  21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   ******************************************************************************
  22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   @verbatim
  23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   ==============================================================================
  24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****                     ##### GPIO Peripheral features #####
  25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   ==============================================================================
  26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   [..]
  27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (+) Each port bit of the general-purpose I/O (GPIO) ports can be individually
  28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         configured by software in several modes:
  29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) Input mode
ARM GAS  /tmp/ccY6DPpN.s 			page 2


  30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) Analog mode
  31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) Output mode
  32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) Alternate function mode
  33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) External interrupt/event lines
  34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (+) During and just after reset, the alternate functions and external interrupt
  36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         lines are not active and the I/O ports are configured in input floating mode.
  37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (+) All GPIO pins have weak internal pull-up and pull-down resistors, which can be
  39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         activated or not.
  40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (+) In Output or Alternate mode, each IO can be configured on open-drain or push-pull
  42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         type and the IO speed can be selected depending on the VDD value.
  43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (+) The microcontroller IO pins are connected to onboard peripherals/modules through a
  45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         multiplexer that allows only one peripheral alternate function (AF) connected
  46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****        to an IO pin at a time. In this way, there can be no conflict between peripherals
  47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****        sharing the same IO pin.
  48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (+) All ports have external interrupt/event capability. To use external interrupt
  50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         lines, the port must be configured in input mode. All available GPIO pins are
  51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         connected to the 16 external interrupt/event lines from EXTI0 to EXTI15.
  52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (+) The external interrupt/event controller consists of up to 44 edge detectors
  54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (16 lines are connected to GPIO) for generating event/interrupt requests (each
  55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         input line can be independently configured to select the type (interrupt or event)
  56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         and the corresponding trigger event (rising or falling or both). Each line can
  57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         also be masked independently.
  58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****                      ##### How to use this driver #####
  60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   ==============================================================================
  61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   [..]
  62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (#) Enable the GPIO AHB clock using the following function: __HAL_RCC_GPIOx_CLK_ENABLE().
  63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (#) Configure the GPIO pin(s) using HAL_GPIO_Init().
  65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure
  66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef
  67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****              structure.
  68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) In case of Output or alternate function mode selection: the speed is
  69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****              configured through "Speed" member from GPIO_InitTypeDef structure.
  70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) In alternate mode is selection, the alternate function connected to the IO
  71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****              is configured through "Alternate" member from GPIO_InitTypeDef structure.
  72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) Analog mode is required when a pin is to be used as ADC channel
  73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****              or DAC output.
  74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (++) In case of external interrupt/event selection the "Mode" member from
  75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****              GPIO_InitTypeDef structure select the type (interrupt or event) and
  76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****              the corresponding trigger event (rising or falling or both).
  77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority
  79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using
  80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         HAL_NVIC_EnableIRQ().
  81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin().
  83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (#) To set/reset the level of a pin configured in output mode use
  85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         HAL_GPIO_WritePin()/HAL_GPIO_TogglePin().
  86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
ARM GAS  /tmp/ccY6DPpN.s 			page 3


  87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****    (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
  88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (#) During and just after reset, the alternate functions are not
  90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         active and the GPIO pins are configured in input floating mode (except JTAG
  91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         pins).
  92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose
  94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         (PC14 and PC15, respectively) when the LSE oscillator is off. The LSE has
  95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         priority over the GPIO function.
  96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
  97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
  98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         general purpose PF0 and PF1, respectively, when the HSE oscillator is off.
  99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         The HSE has priority over the GPIO function.
 100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   @endverbatim
 102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   ******************************************************************************
 103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
 106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** #include "stm32g4xx_hal.h"
 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /** @addtogroup STM32G4xx_HAL_Driver
 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @{
 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /** @addtogroup GPIO
 113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @{
 114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /** MISRA C:2012 deviation rule has been granted for following rules:
 116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * Rule-12.2 - Medium: RHS argument is in interval [0,INF] which is out of
 117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * range of the shift operator in following API :
 118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * HAL_GPIO_Init
 119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * HAL_GPIO_DeInit
 120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
 123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
 125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /* Private defines -----------------------------------------------------------*/
 126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /** @addtogroup GPIO_Private_Constants GPIO Private Constants
 127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @{
 128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** #define GPIO_NUMBER           (16U)
 130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @}
 132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/
 135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
 136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
 137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
 138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /** @addtogroup GPIO_Exported_Functions
 140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @{
 141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization/de-initialization functions
ARM GAS  /tmp/ccY6DPpN.s 			page 4


 144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *  @brief    Initialization and Configuration functions
 145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *
 146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** @verbatim
 147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****  ===============================================================================
 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****               ##### Initialization and de-initialization functions #####
 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****  ===============================================================================
 150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** @endverbatim
 152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @{
 153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
 156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @brief  Initialize the GPIOx peripheral according to the specified parameters in the GPIO_Init.
 157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..G) to select the GPIO peripheral for STM32G4xx family
 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
 159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         the configuration information for the specified GPIO peripheral.
 160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @retval None
 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init)
 163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** {
  30              		.loc 1 163 1 view -0
  31              		.cfi_startproc
  32              		@ args = 0, pretend = 0, frame = 8
  33              		@ frame_needed = 0, uses_anonymous_args = 0
  34              		.loc 1 163 1 is_stmt 0 view .LVU1
  35 0000 F0B5     		push	{r4, r5, r6, r7, lr}
  36              	.LCFI0:
  37              		.cfi_def_cfa_offset 20
  38              		.cfi_offset 4, -20
  39              		.cfi_offset 5, -16
  40              		.cfi_offset 6, -12
  41              		.cfi_offset 7, -8
  42              		.cfi_offset 14, -4
  43 0002 83B0     		sub	sp, sp, #12
  44              	.LCFI1:
  45              		.cfi_def_cfa_offset 32
 164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t position = 0x00U;
  46              		.loc 1 164 3 is_stmt 1 view .LVU2
  47              	.LVL1:
 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t iocurrent;
  48              		.loc 1 165 3 view .LVU3
 166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t temp;
  49              		.loc 1 166 3 view .LVU4
 167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Check the parameters */
 169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
  50              		.loc 1 169 3 view .LVU5
 170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
  51              		.loc 1 170 3 view .LVU6
 171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
  52              		.loc 1 171 3 view .LVU7
 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Configure the port pins */
 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   while (((GPIO_Init->Pin) >> position) != 0U)
  53              		.loc 1 174 3 view .LVU8
 164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t iocurrent;
  54              		.loc 1 164 12 is_stmt 0 view .LVU9
ARM GAS  /tmp/ccY6DPpN.s 			page 5


  55 0004 0023     		movs	r3, #0
  56              		.loc 1 174 9 view .LVU10
  57 0006 62E0     		b	.L2
  58              	.LVL2:
  59              	.L21:
 175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     /* Get current io position */
 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     iocurrent = (GPIO_Init->Pin) & (1UL << position);
 178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     if (iocurrent != 0x00u)
 180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     {
 181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /*--------------------- GPIO Mode Configuration ------------------------*/
 182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* In case of Output or Alternate function mode selection */
 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if(((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) ||
 184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****          ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF))
 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Check the Speed parameter */
 187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
  60              		.loc 1 187 9 is_stmt 1 view .LVU11
 188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Configure the IO Speed */
 189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp = GPIOx->OSPEEDR;
  61              		.loc 1 189 9 view .LVU12
  62              		.loc 1 189 14 is_stmt 0 view .LVU13
  63 0008 8568     		ldr	r5, [r0, #8]
  64              	.LVL3:
 190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(GPIO_OSPEEDR_OSPEED0 << (position * 2U));
  65              		.loc 1 190 9 is_stmt 1 view .LVU14
  66              		.loc 1 190 53 is_stmt 0 view .LVU15
  67 000a 5E00     		lsls	r6, r3, #1
  68              		.loc 1 190 40 view .LVU16
  69 000c 0324     		movs	r4, #3
  70 000e B440     		lsls	r4, r4, r6
  71              		.loc 1 190 14 view .LVU17
  72 0010 25EA0405 		bic	r5, r5, r4
  73              	.LVL4:
 191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= (GPIO_Init->Speed << (position * 2U));
  74              		.loc 1 191 9 is_stmt 1 view .LVU18
  75              		.loc 1 191 27 is_stmt 0 view .LVU19
  76 0014 CC68     		ldr	r4, [r1, #12]
  77              		.loc 1 191 35 view .LVU20
  78 0016 B440     		lsls	r4, r4, r6
  79              		.loc 1 191 14 view .LVU21
  80 0018 2C43     		orrs	r4, r4, r5
  81              	.LVL5:
 192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         GPIOx->OSPEEDR = temp;
  82              		.loc 1 192 9 is_stmt 1 view .LVU22
  83              		.loc 1 192 24 is_stmt 0 view .LVU23
  84 001a 8460     		str	r4, [r0, #8]
 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Configure the IO Output Type */
 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp = GPIOx->OTYPER;
  85              		.loc 1 195 9 is_stmt 1 view .LVU24
  86              		.loc 1 195 14 is_stmt 0 view .LVU25
  87 001c 4568     		ldr	r5, [r0, #4]
  88              	.LVL6:
 196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(GPIO_OTYPER_OT0 << position) ;
  89              		.loc 1 196 9 is_stmt 1 view .LVU26
ARM GAS  /tmp/ccY6DPpN.s 			page 6


  90              		.loc 1 196 14 is_stmt 0 view .LVU27
  91 001e 25EA0C05 		bic	r5, r5, ip
  92              	.LVL7:
 197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position);
  93              		.loc 1 197 9 is_stmt 1 view .LVU28
  94              		.loc 1 197 29 is_stmt 0 view .LVU29
  95 0022 4C68     		ldr	r4, [r1, #4]
  96              		.loc 1 197 51 view .LVU30
  97 0024 C4F30014 		ubfx	r4, r4, #4, #1
  98              		.loc 1 197 71 view .LVU31
  99 0028 9C40     		lsls	r4, r4, r3
 100              		.loc 1 197 14 view .LVU32
 101 002a 2C43     		orrs	r4, r4, r5
 102              	.LVL8:
 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         GPIOx->OTYPER = temp;
 103              		.loc 1 198 9 is_stmt 1 view .LVU33
 104              		.loc 1 198 23 is_stmt 0 view .LVU34
 105 002c 4460     		str	r4, [r0, #4]
 106 002e 5FE0     		b	.L4
 107              	.LVL9:
 108              	.L22:
 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if ((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG)
 202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Check the Pull parameter */
 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Activate the Pull-up or Pull down resistor for the current IO */
 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp = GPIOx->PUPDR;
 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(GPIO_PUPDR_PUPD0 << (position * 2U));
 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2U));
 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* In case of Alternate function mode selection */
 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)
 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Check the Alternate function parameters */
 217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         assert_param(IS_GPIO_AF_INSTANCE(GPIOx));
 109              		.loc 1 217 9 is_stmt 1 view .LVU35
 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
 110              		.loc 1 218 9 view .LVU36
 219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Configure Alternate function mapped with the current IO */
 221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp = GPIOx->AFR[position >> 3U];
 111              		.loc 1 221 9 view .LVU37
 112              		.loc 1 221 36 is_stmt 0 view .LVU38
 113 0030 DD08     		lsrs	r5, r3, #3
 114              		.loc 1 221 14 view .LVU39
 115 0032 0835     		adds	r5, r5, #8
 116 0034 50F82540 		ldr	r4, [r0, r5, lsl #2]
 117              	.LVL10:
 222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(0xFU << ((position & 0x07U) * 4U));
 118              		.loc 1 222 9 is_stmt 1 view .LVU40
 119              		.loc 1 222 38 is_stmt 0 view .LVU41
 120 0038 03F0070C 		and	ip, r3, #7
ARM GAS  /tmp/ccY6DPpN.s 			page 7


 121              		.loc 1 222 47 view .LVU42
 122 003c 4FEA8C0C 		lsl	ip, ip, #2
 123              		.loc 1 222 24 view .LVU43
 124 0040 4FF00F0E 		mov	lr, #15
 125 0044 0EFA0CFE 		lsl	lr, lr, ip
 126              		.loc 1 222 14 view .LVU44
 127 0048 24EA0E0E 		bic	lr, r4, lr
 128              	.LVL11:
 223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= ((GPIO_Init->Alternate) << ((position & 0x07U) * 4U));
 129              		.loc 1 223 9 is_stmt 1 view .LVU45
 130              		.loc 1 223 28 is_stmt 0 view .LVU46
 131 004c 0C69     		ldr	r4, [r1, #16]
 132              		.loc 1 223 41 view .LVU47
 133 004e 04FA0CF4 		lsl	r4, r4, ip
 134              		.loc 1 223 14 view .LVU48
 135 0052 44EA0E04 		orr	r4, r4, lr
 136              	.LVL12:
 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         GPIOx->AFR[position >> 3U] = temp;
 137              		.loc 1 224 9 is_stmt 1 view .LVU49
 138              		.loc 1 224 36 is_stmt 0 view .LVU50
 139 0056 40F82540 		str	r4, [r0, r5, lsl #2]
 140 005a 60E0     		b	.L6
 141              	.LVL13:
 142              	.L23:
 225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       temp = GPIOx->MODER;
 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       temp &= ~(GPIO_MODER_MODE0 << (position * 2U));
 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /*--------------------- EXTI Mode Configuration ------------------------*/
 234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* Configure the External Interrupt or event for the current IO */
 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if ((GPIO_Init->Mode & EXTI_MODE) != 0x00u)
 236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Enable SYSCFG Clock */
 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         __HAL_RCC_SYSCFG_CLK_ENABLE();
 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp = SYSCFG->EXTICR[position >> 2U];
 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(0x0FUL << (4U * (position & 0x03U)));
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U)));
 143              		.loc 1 242 18 view .LVU51
 144 005c 0524     		movs	r4, #5
 145 005e 00E0     		b	.L7
 146              	.L13:
 147 0060 0024     		movs	r4, #0
 148              	.L7:
 149              		.loc 1 242 40 discriminator 24 view .LVU52
 150 0062 04FA0EF4 		lsl	r4, r4, lr
 151              		.loc 1 242 14 discriminator 24 view .LVU53
 152 0066 2C43     		orrs	r4, r4, r5
 153              	.LVL14:
 243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 154              		.loc 1 243 9 is_stmt 1 discriminator 24 view .LVU54
 155              		.loc 1 243 40 is_stmt 0 discriminator 24 view .LVU55
 156 0068 0CF1020C 		add	ip, ip, #2
ARM GAS  /tmp/ccY6DPpN.s 			page 8


 157 006c 554D     		ldr	r5, .L24
 158 006e 45F82C40 		str	r4, [r5, ip, lsl #2]
 244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Clear Rising Falling edge configuration */
 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp = EXTI->RTSR1;
 159              		.loc 1 246 9 is_stmt 1 discriminator 24 view .LVU56
 160              		.loc 1 246 14 is_stmt 0 discriminator 24 view .LVU57
 161 0072 554C     		ldr	r4, .L24+4
 162              	.LVL15:
 163              		.loc 1 246 14 discriminator 24 view .LVU58
 164 0074 A568     		ldr	r5, [r4, #8]
 165              	.LVL16:
 247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(iocurrent);
 166              		.loc 1 247 9 is_stmt 1 discriminator 24 view .LVU59
 167              		.loc 1 247 17 is_stmt 0 discriminator 24 view .LVU60
 168 0076 D443     		mvns	r4, r2
 169              		.loc 1 247 14 discriminator 24 view .LVU61
 170 0078 25EA0206 		bic	r6, r5, r2
 171              	.LVL17:
 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         if ((GPIO_Init->Mode & TRIGGER_RISING) != 0x00U)
 172              		.loc 1 248 9 is_stmt 1 discriminator 24 view .LVU62
 173              		.loc 1 248 12 is_stmt 0 discriminator 24 view .LVU63
 174 007c 4F68     		ldr	r7, [r1, #4]
 175 007e 17F4801F 		tst	r7, #1048576
 176 0082 01D0     		beq	.L8
 249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         {
 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****           temp |= iocurrent;
 177              		.loc 1 250 11 is_stmt 1 view .LVU64
 178              		.loc 1 250 16 is_stmt 0 view .LVU65
 179 0084 42EA0506 		orr	r6, r2, r5
 180              	.LVL18:
 181              	.L8:
 251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         }
 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->RTSR1 = temp;
 182              		.loc 1 252 9 is_stmt 1 view .LVU66
 183              		.loc 1 252 21 is_stmt 0 view .LVU67
 184 0088 4F4D     		ldr	r5, .L24+4
 185 008a AE60     		str	r6, [r5, #8]
 253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp = EXTI->FTSR1;
 186              		.loc 1 254 9 is_stmt 1 view .LVU68
 187              		.loc 1 254 14 is_stmt 0 view .LVU69
 188 008c ED68     		ldr	r5, [r5, #12]
 189              	.LVL19:
 255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(iocurrent);
 190              		.loc 1 255 9 is_stmt 1 view .LVU70
 191              		.loc 1 255 14 is_stmt 0 view .LVU71
 192 008e 04EA0506 		and	r6, r4, r5
 193              	.LVL20:
 256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         if ((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00U)
 194              		.loc 1 256 9 is_stmt 1 view .LVU72
 195              		.loc 1 256 12 is_stmt 0 view .LVU73
 196 0092 4F68     		ldr	r7, [r1, #4]
 197 0094 17F4001F 		tst	r7, #2097152
 198 0098 01D0     		beq	.L9
 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         {
 258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****           temp |= iocurrent;
ARM GAS  /tmp/ccY6DPpN.s 			page 9


 199              		.loc 1 258 11 is_stmt 1 view .LVU74
 200              		.loc 1 258 16 is_stmt 0 view .LVU75
 201 009a 42EA0506 		orr	r6, r2, r5
 202              	.LVL21:
 203              	.L9:
 259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         }
 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->FTSR1 = temp;
 204              		.loc 1 260 9 is_stmt 1 view .LVU76
 205              		.loc 1 260 21 is_stmt 0 view .LVU77
 206 009e 4A4D     		ldr	r5, .L24+4
 207 00a0 EE60     		str	r6, [r5, #12]
 261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp = EXTI->EMR1;
 208              		.loc 1 262 9 is_stmt 1 view .LVU78
 209              		.loc 1 262 14 is_stmt 0 view .LVU79
 210 00a2 6D68     		ldr	r5, [r5, #4]
 211              	.LVL22:
 263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(iocurrent);
 212              		.loc 1 263 9 is_stmt 1 view .LVU80
 213              		.loc 1 263 14 is_stmt 0 view .LVU81
 214 00a4 04EA0506 		and	r6, r4, r5
 215              	.LVL23:
 264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         if ((GPIO_Init->Mode & EXTI_EVT) != 0x00U)
 216              		.loc 1 264 9 is_stmt 1 view .LVU82
 217              		.loc 1 264 12 is_stmt 0 view .LVU83
 218 00a8 4F68     		ldr	r7, [r1, #4]
 219 00aa 17F4003F 		tst	r7, #131072
 220 00ae 01D0     		beq	.L10
 265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         {
 266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****           temp |= iocurrent;
 221              		.loc 1 266 11 is_stmt 1 view .LVU84
 222              		.loc 1 266 16 is_stmt 0 view .LVU85
 223 00b0 42EA0506 		orr	r6, r2, r5
 224              	.LVL24:
 225              	.L10:
 267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         }
 268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->EMR1 = temp;
 226              		.loc 1 268 9 is_stmt 1 view .LVU86
 227              		.loc 1 268 20 is_stmt 0 view .LVU87
 228 00b4 444D     		ldr	r5, .L24+4
 229 00b6 6E60     		str	r6, [r5, #4]
 269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Clear EXTI line configuration */
 271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp = EXTI->IMR1;
 230              		.loc 1 271 9 is_stmt 1 view .LVU88
 231              		.loc 1 271 14 is_stmt 0 view .LVU89
 232 00b8 2D68     		ldr	r5, [r5]
 233              	.LVL25:
 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(iocurrent);
 234              		.loc 1 272 9 is_stmt 1 view .LVU90
 235              		.loc 1 272 14 is_stmt 0 view .LVU91
 236 00ba 2C40     		ands	r4, r4, r5
 237              	.LVL26:
 273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         if ((GPIO_Init->Mode & EXTI_IT) != 0x00U)
 238              		.loc 1 273 9 is_stmt 1 view .LVU92
 239              		.loc 1 273 23 is_stmt 0 view .LVU93
 240 00bc 4E68     		ldr	r6, [r1, #4]
ARM GAS  /tmp/ccY6DPpN.s 			page 10


 241              		.loc 1 273 12 view .LVU94
 242 00be 16F4803F 		tst	r6, #65536
 243 00c2 01D0     		beq	.L11
 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         {
 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****           temp |= iocurrent;
 244              		.loc 1 275 11 is_stmt 1 view .LVU95
 245              		.loc 1 275 16 is_stmt 0 view .LVU96
 246 00c4 42EA0504 		orr	r4, r2, r5
 247              	.LVL27:
 248              	.L11:
 276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         }
 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->IMR1 = temp;
 249              		.loc 1 277 9 is_stmt 1 view .LVU97
 250              		.loc 1 277 20 is_stmt 0 view .LVU98
 251 00c8 3F4A     		ldr	r2, .L24+4
 252              	.LVL28:
 253              		.loc 1 277 20 view .LVU99
 254 00ca 1460     		str	r4, [r2]
 255              	.LVL29:
 256              	.L3:
 278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     }
 280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     position++;
 257              		.loc 1 281 5 is_stmt 1 view .LVU100
 258              		.loc 1 281 13 is_stmt 0 view .LVU101
 259 00cc 0133     		adds	r3, r3, #1
 260              	.LVL30:
 261              	.L2:
 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 262              		.loc 1 174 41 is_stmt 1 view .LVU102
 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 263              		.loc 1 174 21 is_stmt 0 view .LVU103
 264 00ce 0A68     		ldr	r2, [r1]
 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 265              		.loc 1 174 41 view .LVU104
 266 00d0 32FA03F4 		lsrs	r4, r2, r3
 267 00d4 74D0     		beq	.L20
 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 268              		.loc 1 177 5 is_stmt 1 view .LVU105
 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 269              		.loc 1 177 41 is_stmt 0 view .LVU106
 270 00d6 4FF0010C 		mov	ip, #1
 271 00da 0CFA03FC 		lsl	ip, ip, r3
 272              	.LVL31:
 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     {
 273              		.loc 1 179 5 is_stmt 1 view .LVU107
 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     {
 274              		.loc 1 179 8 is_stmt 0 view .LVU108
 275 00de 1CEA0202 		ands	r2, ip, r2
 276              	.LVL32:
 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     {
 277              		.loc 1 179 8 view .LVU109
 278 00e2 F3D0     		beq	.L3
 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****          ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF))
 279              		.loc 1 183 7 is_stmt 1 view .LVU110
 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****          ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF))
ARM GAS  /tmp/ccY6DPpN.s 			page 11


 280              		.loc 1 183 21 is_stmt 0 view .LVU111
 281 00e4 4C68     		ldr	r4, [r1, #4]
 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****          ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF))
 282              		.loc 1 183 28 view .LVU112
 283 00e6 04F00304 		and	r4, r4, #3
 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****          ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF))
 284              		.loc 1 183 57 view .LVU113
 285 00ea 013C     		subs	r4, r4, #1
 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****          ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF))
 286              		.loc 1 183 9 view .LVU114
 287 00ec 012C     		cmp	r4, #1
 288 00ee 8BD9     		bls	.L21
 289              	.L4:
 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 290              		.loc 1 201 7 is_stmt 1 view .LVU115
 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 291              		.loc 1 201 21 is_stmt 0 view .LVU116
 292 00f0 4C68     		ldr	r4, [r1, #4]
 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 293              		.loc 1 201 28 view .LVU117
 294 00f2 04F00304 		and	r4, r4, #3
 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 295              		.loc 1 201 10 view .LVU118
 296 00f6 032C     		cmp	r4, #3
 297 00f8 0CD0     		beq	.L5
 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 298              		.loc 1 204 9 is_stmt 1 view .LVU119
 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(GPIO_PUPDR_PUPD0 << (position * 2U));
 299              		.loc 1 207 9 view .LVU120
 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(GPIO_PUPDR_PUPD0 << (position * 2U));
 300              		.loc 1 207 14 is_stmt 0 view .LVU121
 301 00fa C468     		ldr	r4, [r0, #12]
 302              	.LVL33:
 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2U));
 303              		.loc 1 208 9 is_stmt 1 view .LVU122
 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2U));
 304              		.loc 1 208 49 is_stmt 0 view .LVU123
 305 00fc 5D00     		lsls	r5, r3, #1
 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2U));
 306              		.loc 1 208 36 view .LVU124
 307 00fe 4FF0030C 		mov	ip, #3
 308 0102 0CFA05FC 		lsl	ip, ip, r5
 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2U));
 309              		.loc 1 208 14 view .LVU125
 310 0106 24EA0C0C 		bic	ip, r4, ip
 311              	.LVL34:
 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
 312              		.loc 1 209 9 is_stmt 1 view .LVU126
 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
 313              		.loc 1 209 28 is_stmt 0 view .LVU127
 314 010a 8C68     		ldr	r4, [r1, #8]
 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
 315              		.loc 1 209 36 view .LVU128
 316 010c AC40     		lsls	r4, r4, r5
 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
 317              		.loc 1 209 14 view .LVU129
 318 010e 44EA0C04 		orr	r4, r4, ip
ARM GAS  /tmp/ccY6DPpN.s 			page 12


 319              	.LVL35:
 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 320              		.loc 1 210 9 is_stmt 1 view .LVU130
 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 321              		.loc 1 210 22 is_stmt 0 view .LVU131
 322 0112 C460     		str	r4, [r0, #12]
 323              	.LVL36:
 324              	.L5:
 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 325              		.loc 1 214 7 is_stmt 1 view .LVU132
 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 326              		.loc 1 214 21 is_stmt 0 view .LVU133
 327 0114 4C68     		ldr	r4, [r1, #4]
 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 328              		.loc 1 214 28 view .LVU134
 329 0116 04F00304 		and	r4, r4, #3
 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 330              		.loc 1 214 10 view .LVU135
 331 011a 022C     		cmp	r4, #2
 332 011c 88D0     		beq	.L22
 333              	.L6:
 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       temp &= ~(GPIO_MODER_MODE0 << (position * 2U));
 334              		.loc 1 228 7 is_stmt 1 view .LVU136
 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       temp &= ~(GPIO_MODER_MODE0 << (position * 2U));
 335              		.loc 1 228 12 is_stmt 0 view .LVU137
 336 011e 0468     		ldr	r4, [r0]
 337              	.LVL37:
 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 338              		.loc 1 229 7 is_stmt 1 view .LVU138
 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 339              		.loc 1 229 47 is_stmt 0 view .LVU139
 340 0120 4FEA430E 		lsl	lr, r3, #1
 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 341              		.loc 1 229 34 view .LVU140
 342 0124 4FF0030C 		mov	ip, #3
 343 0128 0CFA0EFC 		lsl	ip, ip, lr
 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 344              		.loc 1 229 12 view .LVU141
 345 012c 24EA0C0C 		bic	ip, r4, ip
 346              	.LVL38:
 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 347              		.loc 1 230 7 is_stmt 1 view .LVU142
 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 348              		.loc 1 230 26 is_stmt 0 view .LVU143
 349 0130 4C68     		ldr	r4, [r1, #4]
 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 350              		.loc 1 230 33 view .LVU144
 351 0132 04F00304 		and	r4, r4, #3
 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 352              		.loc 1 230 46 view .LVU145
 353 0136 04FA0EF4 		lsl	r4, r4, lr
 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 354              		.loc 1 230 12 view .LVU146
 355 013a 44EA0C04 		orr	r4, r4, ip
 356              	.LVL39:
 231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 357              		.loc 1 231 7 is_stmt 1 view .LVU147
ARM GAS  /tmp/ccY6DPpN.s 			page 13


 231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 358              		.loc 1 231 20 is_stmt 0 view .LVU148
 359 013e 0460     		str	r4, [r0]
 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 360              		.loc 1 235 7 is_stmt 1 view .LVU149
 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 361              		.loc 1 235 21 is_stmt 0 view .LVU150
 362 0140 4C68     		ldr	r4, [r1, #4]
 363              	.LVL40:
 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 364              		.loc 1 235 10 view .LVU151
 365 0142 14F4403F 		tst	r4, #196608
 366 0146 C1D0     		beq	.L3
 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 367              		.loc 1 238 9 is_stmt 1 view .LVU152
 368              	.LBB2:
 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 369              		.loc 1 238 9 view .LVU153
 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 370              		.loc 1 238 9 view .LVU154
 371 0148 204C     		ldr	r4, .L24+8
 372 014a 256E     		ldr	r5, [r4, #96]
 373 014c 45F00105 		orr	r5, r5, #1
 374 0150 2566     		str	r5, [r4, #96]
 375              	.LVL41:
 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 376              		.loc 1 238 9 view .LVU155
 377 0152 246E     		ldr	r4, [r4, #96]
 378 0154 04F00104 		and	r4, r4, #1
 379 0158 0194     		str	r4, [sp, #4]
 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 380              		.loc 1 238 9 view .LVU156
 381 015a 019C     		ldr	r4, [sp, #4]
 382              	.LBE2:
 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 383              		.loc 1 238 9 view .LVU157
 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(0x0FUL << (4U * (position & 0x03U)));
 384              		.loc 1 240 9 view .LVU158
 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(0x0FUL << (4U * (position & 0x03U)));
 385              		.loc 1 240 40 is_stmt 0 view .LVU159
 386 015c 4FEA930C 		lsr	ip, r3, #2
 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp &= ~(0x0FUL << (4U * (position & 0x03U)));
 387              		.loc 1 240 14 view .LVU160
 388 0160 0CF10205 		add	r5, ip, #2
 389 0164 174C     		ldr	r4, .L24
 390 0166 54F82550 		ldr	r5, [r4, r5, lsl #2]
 391              	.LVL42:
 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U)));
 392              		.loc 1 241 9 is_stmt 1 view .LVU161
 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U)));
 393              		.loc 1 241 45 is_stmt 0 view .LVU162
 394 016a 03F0030E 		and	lr, r3, #3
 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U)));
 395              		.loc 1 241 33 view .LVU163
 396 016e 4FEA8E0E 		lsl	lr, lr, #2
 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U)));
 397              		.loc 1 241 26 view .LVU164
ARM GAS  /tmp/ccY6DPpN.s 			page 14


 398 0172 0F24     		movs	r4, #15
 399 0174 04FA0EF4 		lsl	r4, r4, lr
 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U)));
 400              		.loc 1 241 14 view .LVU165
 401 0178 25EA0405 		bic	r5, r5, r4
 402              	.LVL43:
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 403              		.loc 1 242 9 is_stmt 1 view .LVU166
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 404              		.loc 1 242 18 is_stmt 0 view .LVU167
 405 017c B0F1904F 		cmp	r0, #1207959552
 406 0180 3FF46EAF 		beq	.L13
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 407              		.loc 1 242 18 discriminator 1 view .LVU168
 408 0184 124C     		ldr	r4, .L24+12
 409 0186 A042     		cmp	r0, r4
 410 0188 12D0     		beq	.L14
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 411              		.loc 1 242 18 discriminator 3 view .LVU169
 412 018a 04F58064 		add	r4, r4, #1024
 413 018e A042     		cmp	r0, r4
 414 0190 10D0     		beq	.L15
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 415              		.loc 1 242 18 discriminator 5 view .LVU170
 416 0192 04F58064 		add	r4, r4, #1024
 417 0196 A042     		cmp	r0, r4
 418 0198 0ED0     		beq	.L16
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 419              		.loc 1 242 18 discriminator 7 view .LVU171
 420 019a 04F58064 		add	r4, r4, #1024
 421 019e A042     		cmp	r0, r4
 422 01a0 0CD0     		beq	.L17
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 423              		.loc 1 242 18 discriminator 9 view .LVU172
 424 01a2 04F58064 		add	r4, r4, #1024
 425 01a6 A042     		cmp	r0, r4
 426 01a8 3FF458AF 		beq	.L23
 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 427              		.loc 1 242 18 view .LVU173
 428 01ac 0624     		movs	r4, #6
 429 01ae 58E7     		b	.L7
 430              	.L14:
 431 01b0 0124     		movs	r4, #1
 432 01b2 56E7     		b	.L7
 433              	.L15:
 434 01b4 0224     		movs	r4, #2
 435 01b6 54E7     		b	.L7
 436              	.L16:
 437 01b8 0324     		movs	r4, #3
 438 01ba 52E7     		b	.L7
 439              	.L17:
 440 01bc 0424     		movs	r4, #4
 441 01be 50E7     		b	.L7
 442              	.LVL44:
 443              	.L20:
 282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** }
ARM GAS  /tmp/ccY6DPpN.s 			page 15


 444              		.loc 1 283 1 view .LVU174
 445 01c0 03B0     		add	sp, sp, #12
 446              	.LCFI2:
 447              		.cfi_def_cfa_offset 20
 448              		@ sp needed
 449 01c2 F0BD     		pop	{r4, r5, r6, r7, pc}
 450              	.L25:
 451              		.align	2
 452              	.L24:
 453 01c4 00000140 		.word	1073807360
 454 01c8 00040140 		.word	1073808384
 455 01cc 00100240 		.word	1073876992
 456 01d0 00040048 		.word	1207960576
 457              		.cfi_endproc
 458              	.LFE329:
 460              		.section	.text.HAL_GPIO_DeInit,"ax",%progbits
 461              		.align	1
 462              		.global	HAL_GPIO_DeInit
 463              		.syntax unified
 464              		.thumb
 465              		.thumb_func
 467              	HAL_GPIO_DeInit:
 468              	.LVL45:
 469              	.LFB330:
 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @brief  De-initialize the GPIOx peripheral registers to their default reset values.
 287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..G) to select the GPIO peripheral for STM32G4xx family
 288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to be written.
 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         This parameter can be any combination of GPIO_PIN_x where x can be (0..15).
 290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @retval None
 291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin)
 293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** {
 470              		.loc 1 293 1 is_stmt 1 view -0
 471              		.cfi_startproc
 472              		@ args = 0, pretend = 0, frame = 0
 473              		@ frame_needed = 0, uses_anonymous_args = 0
 294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t position = 0x00U;
 474              		.loc 1 294 3 view .LVU176
 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t iocurrent;
 475              		.loc 1 295 3 view .LVU177
 296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t tmp;
 476              		.loc 1 296 3 view .LVU178
 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Check the parameters */
 299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
 477              		.loc 1 299 3 view .LVU179
 300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 478              		.loc 1 300 3 view .LVU180
 301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Configure the port pins */
 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   while ((GPIO_Pin >> position) != 0U)
 479              		.loc 1 303 3 view .LVU181
 294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t iocurrent;
 480              		.loc 1 294 12 is_stmt 0 view .LVU182
 481 0000 0023     		movs	r3, #0
ARM GAS  /tmp/ccY6DPpN.s 			page 16


 482              	.LVL46:
 483              		.loc 1 303 33 is_stmt 1 view .LVU183
 484 0002 31FA03F2 		lsrs	r2, r1, r3
 485 0006 00F08180 		beq	.L41
 293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t position = 0x00U;
 486              		.loc 1 293 1 is_stmt 0 view .LVU184
 487 000a F0B5     		push	{r4, r5, r6, r7, lr}
 488              	.LCFI3:
 489              		.cfi_def_cfa_offset 20
 490              		.cfi_offset 4, -20
 491              		.cfi_offset 5, -16
 492              		.cfi_offset 6, -12
 493              		.cfi_offset 7, -8
 494              		.cfi_offset 14, -4
 495 000c 2EE0     		b	.L31
 496              	.LVL47:
 497              	.L44:
 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     /* Get current io position */
 306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     iocurrent = (GPIO_Pin) & (1UL << position);
 307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     if (iocurrent != 0x00u)
 309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     {
 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /*------------------------- EXTI Mode Configuration --------------------*/
 311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* Clear the External Interrupt or Event for the current IO */
 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       tmp = SYSCFG->EXTICR[position >> 2U];
 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       tmp &= (0x0FUL << (4U * (position & 0x03U)));
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U))))
 498              		.loc 1 315 19 view .LVU185
 499 000e 0525     		movs	r5, #5
 500 0010 00E0     		b	.L29
 501              	.L32:
 502 0012 0025     		movs	r5, #0
 503              	.L29:
 504              		.loc 1 315 41 discriminator 24 view .LVU186
 505 0014 05FA0CF5 		lsl	r5, r5, ip
 506              		.loc 1 315 10 discriminator 24 view .LVU187
 507 0018 A542     		cmp	r5, r4
 508 001a 5BD0     		beq	.L42
 509              	.LVL48:
 510              	.L30:
 316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Clear EXTI line configuration */
 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->IMR1 &= ~(iocurrent);
 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->EMR1 &= ~(iocurrent);
 320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         /* Clear Rising Falling edge configuration */
 322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->FTSR1 &= ~(iocurrent);
 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->RTSR1 &= ~(iocurrent);
 324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         tmp = 0x0FUL << (4U * (position & 0x03U));
 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] &= ~tmp;
 327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /*------------------------- GPIO Mode Configuration --------------------*/
 330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* Configure IO in Analog Mode */
ARM GAS  /tmp/ccY6DPpN.s 			page 17


 331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->MODER |= (GPIO_MODER_MODE0 << (position * 2u));
 511              		.loc 1 331 7 is_stmt 1 view .LVU188
 512              		.loc 1 331 12 is_stmt 0 view .LVU189
 513 001c 0468     		ldr	r4, [r0]
 514              		.loc 1 331 54 view .LVU190
 515 001e 5D00     		lsls	r5, r3, #1
 516              		.loc 1 331 41 view .LVU191
 517 0020 4FF0030C 		mov	ip, #3
 518 0024 0CFA05FC 		lsl	ip, ip, r5
 519              		.loc 1 331 20 view .LVU192
 520 0028 44EA0C04 		orr	r4, r4, ip
 521 002c 0460     		str	r4, [r0]
 332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* Configure the default Alternate Function in current IO */
 334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->AFR[position >> 3u] &= ~(0xFu << ((position & 0x07u) * 4u));
 522              		.loc 1 334 7 is_stmt 1 view .LVU193
 523              		.loc 1 334 17 is_stmt 0 view .LVU194
 524 002e 4FEAD30E 		lsr	lr, r3, #3
 525 0032 0EF1080E 		add	lr, lr, #8
 526 0036 50F82E40 		ldr	r4, [r0, lr, lsl #2]
 527              		.loc 1 334 58 view .LVU195
 528 003a 03F00706 		and	r6, r3, #7
 529              		.loc 1 334 67 view .LVU196
 530 003e B600     		lsls	r6, r6, #2
 531              		.loc 1 334 44 view .LVU197
 532 0040 0F25     		movs	r5, #15
 533 0042 B540     		lsls	r5, r5, r6
 534              		.loc 1 334 34 view .LVU198
 535 0044 24EA0504 		bic	r4, r4, r5
 536 0048 40F82E40 		str	r4, [r0, lr, lsl #2]
 335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* Deactivate the Pull-up and Pull-down resistor for the current IO */
 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPD0 << (position * 2u));
 537              		.loc 1 337 7 is_stmt 1 view .LVU199
 538              		.loc 1 337 12 is_stmt 0 view .LVU200
 539 004c C468     		ldr	r4, [r0, #12]
 540              		.loc 1 337 20 view .LVU201
 541 004e 24EA0C04 		bic	r4, r4, ip
 542 0052 C460     		str	r4, [r0, #12]
 338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* Configure the default value IO Output Type */
 340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->OTYPER  &= ~(GPIO_OTYPER_OT0 << position);
 543              		.loc 1 340 7 is_stmt 1 view .LVU202
 544              		.loc 1 340 12 is_stmt 0 view .LVU203
 545 0054 4468     		ldr	r4, [r0, #4]
 546              		.loc 1 340 22 view .LVU204
 547 0056 24EA0202 		bic	r2, r4, r2
 548              	.LVL49:
 549              		.loc 1 340 22 view .LVU205
 550 005a 4260     		str	r2, [r0, #4]
 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       /* Configure the default value for IO Speed */
 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       GPIOx->OSPEEDR &= ~(GPIO_OSPEEDR_OSPEED0 << (position * 2u));
 551              		.loc 1 343 7 is_stmt 1 view .LVU206
 552              		.loc 1 343 12 is_stmt 0 view .LVU207
 553 005c 8268     		ldr	r2, [r0, #8]
 554              		.loc 1 343 22 view .LVU208
ARM GAS  /tmp/ccY6DPpN.s 			page 18


 555 005e 22EA0C02 		bic	r2, r2, ip
 556 0062 8260     		str	r2, [r0, #8]
 557              	.L28:
 344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     }
 345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     position++;
 558              		.loc 1 346 5 is_stmt 1 view .LVU209
 559              		.loc 1 346 13 is_stmt 0 view .LVU210
 560 0064 0133     		adds	r3, r3, #1
 561              	.LVL50:
 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 562              		.loc 1 303 33 is_stmt 1 view .LVU211
 563 0066 31FA03F2 		lsrs	r2, r1, r3
 564 006a 4ED0     		beq	.L43
 565              	.LVL51:
 566              	.L31:
 306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 567              		.loc 1 306 5 view .LVU212
 306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 568              		.loc 1 306 35 is_stmt 0 view .LVU213
 569 006c 0122     		movs	r2, #1
 570 006e 9A40     		lsls	r2, r2, r3
 571              	.LVL52:
 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     {
 572              		.loc 1 308 5 is_stmt 1 view .LVU214
 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     {
 573              		.loc 1 308 8 is_stmt 0 view .LVU215
 574 0070 12EA0107 		ands	r7, r2, r1
 575              	.LVL53:
 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     {
 576              		.loc 1 308 8 view .LVU216
 577 0074 F6D0     		beq	.L28
 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       tmp &= (0x0FUL << (4U * (position & 0x03U)));
 578              		.loc 1 313 7 is_stmt 1 view .LVU217
 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       tmp &= (0x0FUL << (4U * (position & 0x03U)));
 579              		.loc 1 313 37 is_stmt 0 view .LVU218
 580 0076 4FEA930E 		lsr	lr, r3, #2
 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       tmp &= (0x0FUL << (4U * (position & 0x03U)));
 581              		.loc 1 313 11 view .LVU219
 582 007a 0EF10205 		add	r5, lr, #2
 583 007e 244C     		ldr	r4, .L45
 584 0080 54F82540 		ldr	r4, [r4, r5, lsl #2]
 585              	.LVL54:
 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U))))
 586              		.loc 1 314 7 is_stmt 1 view .LVU220
 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U))))
 587              		.loc 1 314 41 is_stmt 0 view .LVU221
 588 0084 03F0030C 		and	ip, r3, #3
 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U))))
 589              		.loc 1 314 29 view .LVU222
 590 0088 4FEA8C0C 		lsl	ip, ip, #2
 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U))))
 591              		.loc 1 314 22 view .LVU223
 592 008c 0F25     		movs	r5, #15
 593 008e 05FA0CF6 		lsl	r6, r5, ip
 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U))))
 594              		.loc 1 314 11 view .LVU224
ARM GAS  /tmp/ccY6DPpN.s 			page 19


 595 0092 3440     		ands	r4, r4, r6
 596              	.LVL55:
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 597              		.loc 1 315 7 is_stmt 1 view .LVU225
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 598              		.loc 1 315 19 is_stmt 0 view .LVU226
 599 0094 B0F1904F 		cmp	r0, #1207959552
 600 0098 BBD0     		beq	.L32
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 601              		.loc 1 315 19 discriminator 1 view .LVU227
 602 009a 1E4D     		ldr	r5, .L45+4
 603 009c A842     		cmp	r0, r5
 604 009e 11D0     		beq	.L33
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 605              		.loc 1 315 19 discriminator 3 view .LVU228
 606 00a0 05F58065 		add	r5, r5, #1024
 607 00a4 A842     		cmp	r0, r5
 608 00a6 0FD0     		beq	.L34
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 609              		.loc 1 315 19 discriminator 5 view .LVU229
 610 00a8 05F58065 		add	r5, r5, #1024
 611 00ac A842     		cmp	r0, r5
 612 00ae 0DD0     		beq	.L35
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 613              		.loc 1 315 19 discriminator 7 view .LVU230
 614 00b0 05F58065 		add	r5, r5, #1024
 615 00b4 A842     		cmp	r0, r5
 616 00b6 0BD0     		beq	.L36
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 617              		.loc 1 315 19 discriminator 9 view .LVU231
 618 00b8 05F58065 		add	r5, r5, #1024
 619 00bc A842     		cmp	r0, r5
 620 00be A6D0     		beq	.L44
 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       {
 621              		.loc 1 315 19 view .LVU232
 622 00c0 0625     		movs	r5, #6
 623 00c2 A7E7     		b	.L29
 624              	.L33:
 625 00c4 0125     		movs	r5, #1
 626 00c6 A5E7     		b	.L29
 627              	.L34:
 628 00c8 0225     		movs	r5, #2
 629 00ca A3E7     		b	.L29
 630              	.L35:
 631 00cc 0325     		movs	r5, #3
 632 00ce A1E7     		b	.L29
 633              	.L36:
 634 00d0 0425     		movs	r5, #4
 635 00d2 9FE7     		b	.L29
 636              	.L42:
 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->EMR1 &= ~(iocurrent);
 637              		.loc 1 318 9 is_stmt 1 view .LVU233
 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->EMR1 &= ~(iocurrent);
 638              		.loc 1 318 13 is_stmt 0 view .LVU234
 639 00d4 104C     		ldr	r4, .L45+8
 640              	.LVL56:
 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->EMR1 &= ~(iocurrent);
ARM GAS  /tmp/ccY6DPpN.s 			page 20


 641              		.loc 1 318 13 view .LVU235
 642 00d6 2568     		ldr	r5, [r4]
 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->EMR1 &= ~(iocurrent);
 643              		.loc 1 318 20 view .LVU236
 644 00d8 25EA0705 		bic	r5, r5, r7
 645 00dc 2560     		str	r5, [r4]
 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 646              		.loc 1 319 9 is_stmt 1 view .LVU237
 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 647              		.loc 1 319 13 is_stmt 0 view .LVU238
 648 00de 6568     		ldr	r5, [r4, #4]
 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 649              		.loc 1 319 20 view .LVU239
 650 00e0 25EA0705 		bic	r5, r5, r7
 651 00e4 6560     		str	r5, [r4, #4]
 322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->RTSR1 &= ~(iocurrent);
 652              		.loc 1 322 9 is_stmt 1 view .LVU240
 322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->RTSR1 &= ~(iocurrent);
 653              		.loc 1 322 13 is_stmt 0 view .LVU241
 654 00e6 E568     		ldr	r5, [r4, #12]
 322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         EXTI->RTSR1 &= ~(iocurrent);
 655              		.loc 1 322 21 view .LVU242
 656 00e8 25EA0705 		bic	r5, r5, r7
 657 00ec E560     		str	r5, [r4, #12]
 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 658              		.loc 1 323 9 is_stmt 1 view .LVU243
 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 659              		.loc 1 323 13 is_stmt 0 view .LVU244
 660 00ee A568     		ldr	r5, [r4, #8]
 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 661              		.loc 1 323 21 view .LVU245
 662 00f0 25EA0705 		bic	r5, r5, r7
 663 00f4 A560     		str	r5, [r4, #8]
 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] &= ~tmp;
 664              		.loc 1 325 9 is_stmt 1 view .LVU246
 665              	.LVL57:
 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 666              		.loc 1 326 9 view .LVU247
 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 667              		.loc 1 326 23 is_stmt 0 view .LVU248
 668 00f6 064F     		ldr	r7, .L45
 669              	.LVL58:
 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 670              		.loc 1 326 23 view .LVU249
 671 00f8 0EF10204 		add	r4, lr, #2
 672 00fc 57F82450 		ldr	r5, [r7, r4, lsl #2]
 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****       }
 673              		.loc 1 326 40 view .LVU250
 674 0100 25EA0605 		bic	r5, r5, r6
 675 0104 47F82450 		str	r5, [r7, r4, lsl #2]
 676 0108 88E7     		b	.L30
 677              	.LVL59:
 678              	.L43:
 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** }
 679              		.loc 1 348 1 view .LVU251
 680 010a F0BD     		pop	{r4, r5, r6, r7, pc}
ARM GAS  /tmp/ccY6DPpN.s 			page 21


 681              	.LVL60:
 682              	.L41:
 683              	.LCFI4:
 684              		.cfi_def_cfa_offset 0
 685              		.cfi_restore 4
 686              		.cfi_restore 5
 687              		.cfi_restore 6
 688              		.cfi_restore 7
 689              		.cfi_restore 14
 690              		.loc 1 348 1 view .LVU252
 691 010c 7047     		bx	lr
 692              	.L46:
 693 010e 00BF     		.align	2
 694              	.L45:
 695 0110 00000140 		.word	1073807360
 696 0114 00040048 		.word	1207960576
 697 0118 00040140 		.word	1073808384
 698              		.cfi_endproc
 699              	.LFE330:
 701              		.section	.text.HAL_GPIO_ReadPin,"ax",%progbits
 702              		.align	1
 703              		.global	HAL_GPIO_ReadPin
 704              		.syntax unified
 705              		.thumb
 706              		.thumb_func
 708              	HAL_GPIO_ReadPin:
 709              	.LVL61:
 710              	.LFB331:
 349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
 351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @}
 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /** @addtogroup GPIO_Exported_Functions_Group2
 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *  @brief GPIO Read, Write, Toggle, Lock and EXTI management functions.
 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *
 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** @verbatim
 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****  ===============================================================================
 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****                        ##### IO operation functions #####
 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****  ===============================================================================
 361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** @endverbatim
 363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @{
 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @brief  Read the specified input port pin.
 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..G) to select the GPIO peripheral for STM32G4xx family
 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to read.
 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         This parameter can be any combination of GPIO_PIN_x where x can be (0..15).
 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @retval The input port pin value.
 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** {
 711              		.loc 1 374 1 is_stmt 1 view -0
 712              		.cfi_startproc
 713              		@ args = 0, pretend = 0, frame = 0
ARM GAS  /tmp/ccY6DPpN.s 			page 22


 714              		@ frame_needed = 0, uses_anonymous_args = 0
 715              		@ link register save eliminated.
 375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   GPIO_PinState bitstatus;
 716              		.loc 1 375 3 view .LVU254
 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Check the parameters */
 378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 717              		.loc 1 378 3 view .LVU255
 379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   if ((GPIOx->IDR & GPIO_Pin) != 0x00U)
 718              		.loc 1 380 3 view .LVU256
 719              		.loc 1 380 13 is_stmt 0 view .LVU257
 720 0000 0369     		ldr	r3, [r0, #16]
 721              		.loc 1 380 6 view .LVU258
 722 0002 1942     		tst	r1, r3
 723 0004 01D0     		beq	.L49
 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     bitstatus = GPIO_PIN_SET;
 724              		.loc 1 382 15 view .LVU259
 725 0006 0120     		movs	r0, #1
 726              	.LVL62:
 727              		.loc 1 382 15 view .LVU260
 728 0008 7047     		bx	lr
 729              	.LVL63:
 730              	.L49:
 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   else
 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     bitstatus = GPIO_PIN_RESET;
 731              		.loc 1 386 15 view .LVU261
 732 000a 0020     		movs	r0, #0
 733              	.LVL64:
 387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   return bitstatus;
 734              		.loc 1 388 3 is_stmt 1 view .LVU262
 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** }
 735              		.loc 1 389 1 is_stmt 0 view .LVU263
 736 000c 7047     		bx	lr
 737              		.cfi_endproc
 738              	.LFE331:
 740              		.section	.text.HAL_GPIO_WritePin,"ax",%progbits
 741              		.align	1
 742              		.global	HAL_GPIO_WritePin
 743              		.syntax unified
 744              		.thumb
 745              		.thumb_func
 747              	HAL_GPIO_WritePin:
 748              	.LVL65:
 749              	.LFB332:
 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
 392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @brief  Set or clear the selected data port bit.
 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *
 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @note   This function uses GPIOx_BSRR and GPIOx_BRR registers to allow atomic read/modify
 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         accesses. In this way, there is no risk of an IRQ occurring between
 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         the read and the modify access.
 397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *
ARM GAS  /tmp/ccY6DPpN.s 			page 23


 398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..G) to select the GPIO peripheral for STM32G4xx family
 399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to be written.
 400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         This parameter can be any combination of GPIO_PIN_x where x can be (0..15).
 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  PinState specifies the value to be written to the selected bit.
 402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         This parameter can be one of the GPIO_PinState enum values:
 403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *            @arg GPIO_PIN_RESET: to clear the port pin
 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *            @arg GPIO_PIN_SET: to set the port pin
 405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @retval None
 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** {
 750              		.loc 1 408 1 is_stmt 1 view -0
 751              		.cfi_startproc
 752              		@ args = 0, pretend = 0, frame = 0
 753              		@ frame_needed = 0, uses_anonymous_args = 0
 754              		@ link register save eliminated.
 409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Check the parameters */
 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 755              		.loc 1 410 3 view .LVU265
 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN_ACTION(PinState));
 756              		.loc 1 411 3 view .LVU266
 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   if (PinState != GPIO_PIN_RESET)
 757              		.loc 1 413 3 view .LVU267
 758              		.loc 1 413 6 is_stmt 0 view .LVU268
 759 0000 0AB1     		cbz	r2, .L51
 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     GPIOx->BSRR = (uint32_t)GPIO_Pin;
 760              		.loc 1 415 5 is_stmt 1 view .LVU269
 761              		.loc 1 415 17 is_stmt 0 view .LVU270
 762 0002 8161     		str	r1, [r0, #24]
 763 0004 7047     		bx	lr
 764              	.L51:
 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   else
 418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     GPIOx->BRR = (uint32_t)GPIO_Pin;
 765              		.loc 1 419 5 is_stmt 1 view .LVU271
 766              		.loc 1 419 16 is_stmt 0 view .LVU272
 767 0006 8162     		str	r1, [r0, #40]
 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** }
 768              		.loc 1 421 1 view .LVU273
 769 0008 7047     		bx	lr
 770              		.cfi_endproc
 771              	.LFE332:
 773              		.section	.text.HAL_GPIO_TogglePin,"ax",%progbits
 774              		.align	1
 775              		.global	HAL_GPIO_TogglePin
 776              		.syntax unified
 777              		.thumb
 778              		.thumb_func
 780              	HAL_GPIO_TogglePin:
 781              	.LVL66:
 782              	.LFB333:
 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
ARM GAS  /tmp/ccY6DPpN.s 			page 24


 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @brief  Toggle the specified GPIO pin.
 425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..G) to select the GPIO peripheral for STM32G4xx family
 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the pin to be toggled.
 427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         This parameter can be any combination of GPIO_PIN_x where x can be (0..15).
 428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @retval None
 429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** {
 783              		.loc 1 431 1 is_stmt 1 view -0
 784              		.cfi_startproc
 785              		@ args = 0, pretend = 0, frame = 0
 786              		@ frame_needed = 0, uses_anonymous_args = 0
 787              		@ link register save eliminated.
 432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   uint32_t odr;
 788              		.loc 1 432 3 view .LVU275
 433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Check the parameters */
 435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 789              		.loc 1 435 3 view .LVU276
 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* get current Output Data Register value */
 438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   odr = GPIOx->ODR;
 790              		.loc 1 438 3 view .LVU277
 791              		.loc 1 438 7 is_stmt 0 view .LVU278
 792 0000 4369     		ldr	r3, [r0, #20]
 793              	.LVL67:
 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Set selected pins that were at low level, and reset ones that were high */
 441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   GPIOx->BSRR = ((odr & GPIO_Pin) << GPIO_NUMBER) | (~odr & GPIO_Pin);
 794              		.loc 1 441 3 is_stmt 1 view .LVU279
 795              		.loc 1 441 23 is_stmt 0 view .LVU280
 796 0002 01EA0302 		and	r2, r1, r3
 797              		.loc 1 441 59 view .LVU281
 798 0006 21EA0301 		bic	r1, r1, r3
 799              	.LVL68:
 800              		.loc 1 441 51 view .LVU282
 801 000a 41EA0241 		orr	r1, r1, r2, lsl #16
 802              		.loc 1 441 15 view .LVU283
 803 000e 8161     		str	r1, [r0, #24]
 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** }
 804              		.loc 1 442 1 view .LVU284
 805 0010 7047     		bx	lr
 806              		.cfi_endproc
 807              	.LFE333:
 809              		.section	.text.HAL_GPIO_LockPin,"ax",%progbits
 810              		.align	1
 811              		.global	HAL_GPIO_LockPin
 812              		.syntax unified
 813              		.thumb
 814              		.thumb_func
 816              	HAL_GPIO_LockPin:
 817              	.LVL69:
 818              	.LFB334:
 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
 445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @brief  Lock GPIO Pins configuration registers.
 446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @note   The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR,
ARM GAS  /tmp/ccY6DPpN.s 			page 25


 447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @note   The configuration of the locked GPIO pins can no longer be modified
 449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         until the next reset.
 450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..G) to select the GPIO peripheral for STM32G4xx family
 451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bits to be locked.
 452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   *         This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @retval None
 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** {
 819              		.loc 1 456 1 is_stmt 1 view -0
 820              		.cfi_startproc
 821              		@ args = 0, pretend = 0, frame = 8
 822              		@ frame_needed = 0, uses_anonymous_args = 0
 823              		@ link register save eliminated.
 824              		.loc 1 456 1 is_stmt 0 view .LVU286
 825 0000 82B0     		sub	sp, sp, #8
 826              	.LCFI5:
 827              		.cfi_def_cfa_offset 8
 457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   __IO uint32_t tmp = GPIO_LCKR_LCKK;
 828              		.loc 1 457 3 is_stmt 1 view .LVU287
 829              		.loc 1 457 17 is_stmt 0 view .LVU288
 830 0002 4FF48033 		mov	r3, #65536
 831 0006 0193     		str	r3, [sp, #4]
 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Check the parameters */
 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_LOCK_INSTANCE(GPIOx));
 832              		.loc 1 460 3 is_stmt 1 view .LVU289
 461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 833              		.loc 1 461 3 view .LVU290
 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Apply lock key write sequence */
 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   tmp |= GPIO_Pin;
 834              		.loc 1 464 3 view .LVU291
 835              		.loc 1 464 7 is_stmt 0 view .LVU292
 836 0008 019B     		ldr	r3, [sp, #4]
 837 000a 0B43     		orrs	r3, r3, r1
 838 000c 0193     		str	r3, [sp, #4]
 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
 466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
 839              		.loc 1 466 3 is_stmt 1 view .LVU293
 840              		.loc 1 466 15 is_stmt 0 view .LVU294
 841 000e 019B     		ldr	r3, [sp, #4]
 842 0010 C361     		str	r3, [r0, #28]
 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */
 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   GPIOx->LCKR = GPIO_Pin;
 843              		.loc 1 468 3 is_stmt 1 view .LVU295
 844              		.loc 1 468 15 is_stmt 0 view .LVU296
 845 0012 C161     		str	r1, [r0, #28]
 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
 846              		.loc 1 470 3 is_stmt 1 view .LVU297
 847              		.loc 1 470 15 is_stmt 0 view .LVU298
 848 0014 019B     		ldr	r3, [sp, #4]
 849 0016 C361     		str	r3, [r0, #28]
 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Read LCKK register. This read is mandatory to complete key lock sequence */
 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   tmp = GPIOx->LCKR;
ARM GAS  /tmp/ccY6DPpN.s 			page 26


 850              		.loc 1 472 3 is_stmt 1 view .LVU299
 851              		.loc 1 472 14 is_stmt 0 view .LVU300
 852 0018 C369     		ldr	r3, [r0, #28]
 853              		.loc 1 472 7 view .LVU301
 854 001a 0193     		str	r3, [sp, #4]
 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* read again in order to confirm lock is active */
 475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   if ((GPIOx->LCKR & GPIO_LCKR_LCKK) != 0x00u)
 855              		.loc 1 475 3 is_stmt 1 view .LVU302
 856              		.loc 1 475 13 is_stmt 0 view .LVU303
 857 001c C369     		ldr	r3, [r0, #28]
 858              		.loc 1 475 6 view .LVU304
 859 001e 13F4803F 		tst	r3, #65536
 860 0022 02D0     		beq	.L56
 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     return HAL_OK;
 861              		.loc 1 477 12 view .LVU305
 862 0024 0020     		movs	r0, #0
 863              	.LVL70:
 864              	.L55:
 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   else
 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     return HAL_ERROR;
 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** }
 865              		.loc 1 483 1 view .LVU306
 866 0026 02B0     		add	sp, sp, #8
 867              	.LCFI6:
 868              		.cfi_remember_state
 869              		.cfi_def_cfa_offset 0
 870              		@ sp needed
 871 0028 7047     		bx	lr
 872              	.LVL71:
 873              	.L56:
 874              	.LCFI7:
 875              		.cfi_restore_state
 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 876              		.loc 1 481 12 view .LVU307
 877 002a 0120     		movs	r0, #1
 878              	.LVL72:
 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 879              		.loc 1 481 12 view .LVU308
 880 002c FBE7     		b	.L55
 881              		.cfi_endproc
 882              	.LFE334:
 884              		.section	.text.HAL_GPIO_EXTI_Callback,"ax",%progbits
 885              		.align	1
 886              		.weak	HAL_GPIO_EXTI_Callback
 887              		.syntax unified
 888              		.thumb
 889              		.thumb_func
 891              	HAL_GPIO_EXTI_Callback:
 892              	.LVL73:
 893              	.LFB336:
 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
ARM GAS  /tmp/ccY6DPpN.s 			page 27


 486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @brief  Handle EXTI interrupt request.
 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
 488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @retval None
 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** {
 492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
 496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** }
 499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** /**
 501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @brief  EXTI line detection callback.
 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @param  GPIO_Pin: Specifies the port pin connected to corresponding EXTI line.
 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   * @retval None
 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   */
 505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** {
 894              		.loc 1 506 1 is_stmt 1 view -0
 895              		.cfi_startproc
 896              		@ args = 0, pretend = 0, frame = 0
 897              		@ frame_needed = 0, uses_anonymous_args = 0
 898              		@ link register save eliminated.
 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* Prevent unused argument(s) compilation warning */
 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   UNUSED(GPIO_Pin);
 899              		.loc 1 508 3 view .LVU310
 509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****            the HAL_GPIO_EXTI_Callback could be implemented in the user file
 512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****    */
 513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** }
 900              		.loc 1 513 1 is_stmt 0 view .LVU311
 901 0000 7047     		bx	lr
 902              		.cfi_endproc
 903              	.LFE336:
 905              		.section	.text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
 906              		.align	1
 907              		.global	HAL_GPIO_EXTI_IRQHandler
 908              		.syntax unified
 909              		.thumb
 910              		.thumb_func
 912              	HAL_GPIO_EXTI_IRQHandler:
 913              	.LVL74:
 914              	.LFB335:
 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 915              		.loc 1 491 1 is_stmt 1 view -0
 916              		.cfi_startproc
 917              		@ args = 0, pretend = 0, frame = 0
 918              		@ frame_needed = 0, uses_anonymous_args = 0
 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 919              		.loc 1 491 1 is_stmt 0 view .LVU313
 920 0000 08B5     		push	{r3, lr}
 921              	.LCFI8:
 922              		.cfi_def_cfa_offset 8
ARM GAS  /tmp/ccY6DPpN.s 			page 28


 923              		.cfi_offset 3, -8
 924              		.cfi_offset 14, -4
 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 925              		.loc 1 493 3 is_stmt 1 view .LVU314
 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 926              		.loc 1 493 7 is_stmt 0 view .LVU315
 927 0002 054B     		ldr	r3, .L63
 928 0004 5B69     		ldr	r3, [r3, #20]
 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   {
 929              		.loc 1 493 6 view .LVU316
 930 0006 0342     		tst	r3, r0
 931 0008 00D1     		bne	.L62
 932              	.LVL75:
 933              	.L59:
 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 934              		.loc 1 498 1 view .LVU317
 935 000a 08BD     		pop	{r3, pc}
 936              	.LVL76:
 937              	.L62:
 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
 938              		.loc 1 495 5 is_stmt 1 view .LVU318
 939 000c 024B     		ldr	r3, .L63
 940 000e 5861     		str	r0, [r3, #20]
 496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c ****   }
 941              		.loc 1 496 5 view .LVU319
 942 0010 FFF7FEFF 		bl	HAL_GPIO_EXTI_Callback
 943              	.LVL77:
 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_gpio.c **** 
 944              		.loc 1 498 1 is_stmt 0 view .LVU320
 945 0014 F9E7     		b	.L59
 946              	.L64:
 947 0016 00BF     		.align	2
 948              	.L63:
 949 0018 00040140 		.word	1073808384
 950              		.cfi_endproc
 951              	.LFE335:
 953              		.text
 954              	.Letext0:
 955              		.file 2 "/usr/lib/gcc/arm-none-eabi/12.2.1/include/stdint.h"
 956              		.file 3 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
 957              		.file 4 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
 958              		.file 5 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h"
ARM GAS  /tmp/ccY6DPpN.s 			page 29


DEFINED SYMBOLS
                            *ABS*:00000000 stm32g4xx_hal_gpio.c
     /tmp/ccY6DPpN.s:21     .text.HAL_GPIO_Init:00000000 $t
     /tmp/ccY6DPpN.s:27     .text.HAL_GPIO_Init:00000000 HAL_GPIO_Init
     /tmp/ccY6DPpN.s:453    .text.HAL_GPIO_Init:000001c4 $d
     /tmp/ccY6DPpN.s:461    .text.HAL_GPIO_DeInit:00000000 $t
     /tmp/ccY6DPpN.s:467    .text.HAL_GPIO_DeInit:00000000 HAL_GPIO_DeInit
     /tmp/ccY6DPpN.s:695    .text.HAL_GPIO_DeInit:00000110 $d
     /tmp/ccY6DPpN.s:702    .text.HAL_GPIO_ReadPin:00000000 $t
     /tmp/ccY6DPpN.s:708    .text.HAL_GPIO_ReadPin:00000000 HAL_GPIO_ReadPin
     /tmp/ccY6DPpN.s:741    .text.HAL_GPIO_WritePin:00000000 $t
     /tmp/ccY6DPpN.s:747    .text.HAL_GPIO_WritePin:00000000 HAL_GPIO_WritePin
     /tmp/ccY6DPpN.s:774    .text.HAL_GPIO_TogglePin:00000000 $t
     /tmp/ccY6DPpN.s:780    .text.HAL_GPIO_TogglePin:00000000 HAL_GPIO_TogglePin
     /tmp/ccY6DPpN.s:810    .text.HAL_GPIO_LockPin:00000000 $t
     /tmp/ccY6DPpN.s:816    .text.HAL_GPIO_LockPin:00000000 HAL_GPIO_LockPin
     /tmp/ccY6DPpN.s:885    .text.HAL_GPIO_EXTI_Callback:00000000 $t
     /tmp/ccY6DPpN.s:891    .text.HAL_GPIO_EXTI_Callback:00000000 HAL_GPIO_EXTI_Callback
     /tmp/ccY6DPpN.s:906    .text.HAL_GPIO_EXTI_IRQHandler:00000000 $t
     /tmp/ccY6DPpN.s:912    .text.HAL_GPIO_EXTI_IRQHandler:00000000 HAL_GPIO_EXTI_IRQHandler
     /tmp/ccY6DPpN.s:949    .text.HAL_GPIO_EXTI_IRQHandler:00000018 $d

NO UNDEFINED SYMBOLS
