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


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


  87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****    (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
  88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   
  89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     (#) During and just after reset, the alternate functions are not
  90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         active and the GPIO pins are configured in input floating mode (except JTAG
  91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         pins).
  92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
  93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose
  94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         (PC14 and PC15U, respectively) when the LSE oscillator is off. The LSE has
  95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         priority over the GPIO function.
  96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
  97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
  98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         general purpose PF0 and PF1, respectively, when the HSE oscillator is off.
  99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         The HSE has priority over the GPIO function.
 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   @endverbatim
 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   ******************************************************************************
 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** #include "stm32f3xx_hal.h"
 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @addtogroup STM32F3xx_HAL_Driver
 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @{
 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO GPIO
 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @brief GPIO HAL module driver
 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @{
 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** MISRA C:2012 deviation rule has been granted for following rules:
 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * Rule-18.1_d - Medium: Array pointer `GPIOx' is accessed with index [..,..]
 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * which may be out of array bounds [..,UNKNOWN] in following APIs:
 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * HAL_GPIO_Init
 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * HAL_GPIO_DeInit
 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private defines -----------------------------------------------------------*/
 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @addtogroup GPIO_Private_Constants
 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @{
 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** #define GPIO_NUMBER           (16U)
 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @}
 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   
 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/
 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/
 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Private_Macros GPIO Private Macros
 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @{
 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @}
 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
ARM GAS  /tmp/ccKSjkrA.s 			page 4


 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions
 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @{
 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization/de-initialization functions 
 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****  *  @brief    Initialization and Configuration functions
 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****  *
 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @verbatim
 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****  ===============================================================================
 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****               ##### Initialization and de-initialization functions #####
 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****  ===============================================================================
 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @endverbatim
 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @{
 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @brief  Initialize the GPIOx peripheral according to the specified parameters in the GPIO_Init.
 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family devices
 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         the configuration information for the specified GPIO peripheral.
 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @retval None
 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init)
 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
  30              		.loc 1 172 1 view -0
  31              		.cfi_startproc
  32              		@ args = 0, pretend = 0, frame = 8
  33              		@ frame_needed = 0, uses_anonymous_args = 0
  34              		.loc 1 172 1 is_stmt 0 view .LVU1
  35 0000 F0B5     		push	{r4, r5, r6, r7, lr}
  36              		.cfi_def_cfa_offset 20
  37              		.cfi_offset 4, -20
  38              		.cfi_offset 5, -16
  39              		.cfi_offset 6, -12
  40              		.cfi_offset 7, -8
  41              		.cfi_offset 14, -4
  42 0002 83B0     		sub	sp, sp, #12
  43              		.cfi_def_cfa_offset 32
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t position = 0x00u;
  44              		.loc 1 173 3 is_stmt 1 view .LVU2
  45              	.LVL1:
 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t iocurrent;
  46              		.loc 1 174 3 view .LVU3
 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t temp;
  47              		.loc 1 175 3 view .LVU4
 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Check the parameters */
 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
  48              		.loc 1 178 3 view .LVU5
 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
  49              		.loc 1 179 3 view .LVU6
 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
ARM GAS  /tmp/ccKSjkrA.s 			page 5


  50              		.loc 1 180 3 view .LVU7
 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Configure the port pins */
 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   while (((GPIO_Init->Pin) >> position) != 0x00u)
  51              		.loc 1 183 3 view .LVU8
 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t iocurrent;
  52              		.loc 1 173 12 is_stmt 0 view .LVU9
  53 0004 0023     		movs	r3, #0
  54              		.loc 1 183 9 view .LVU10
  55 0006 62E0     		b	.L2
  56              	.LVL2:
  57              	.L19:
 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     /* Get current io position */
 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     iocurrent = (GPIO_Init->Pin) & (1uL << position);
 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     if (iocurrent != 0x00u)
 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     {
 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /*--------------------- GPIO Mode Configuration ------------------------*/
 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* In case of Output or Alternate function mode selection */
 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if(((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_A
 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Check the Speed parameter */
 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
  58              		.loc 1 195 9 is_stmt 1 view .LVU11
 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Configure the IO Speed */
 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp = GPIOx->OSPEEDR;
  59              		.loc 1 197 9 view .LVU12
  60              		.loc 1 197 14 is_stmt 0 view .LVU13
  61 0008 8568     		ldr	r5, [r0, #8]
  62              	.LVL3:
 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
  63              		.loc 1 198 9 is_stmt 1 view .LVU14
  64              		.loc 1 198 55 is_stmt 0 view .LVU15
  65 000a 5E00     		lsls	r6, r3, #1
  66              		.loc 1 198 42 view .LVU16
  67 000c 0324     		movs	r4, #3
  68 000e B440     		lsls	r4, r4, r6
  69              		.loc 1 198 14 view .LVU17
  70 0010 25EA0405 		bic	r5, r5, r4
  71              	.LVL4:
 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= (GPIO_Init->Speed << (position * 2u));
  72              		.loc 1 199 9 is_stmt 1 view .LVU18
  73              		.loc 1 199 27 is_stmt 0 view .LVU19
  74 0014 CC68     		ldr	r4, [r1, #12]
  75              		.loc 1 199 35 view .LVU20
  76 0016 B440     		lsls	r4, r4, r6
  77              		.loc 1 199 14 view .LVU21
  78 0018 2C43     		orrs	r4, r4, r5
  79              	.LVL5:
 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         GPIOx->OSPEEDR = temp;
  80              		.loc 1 200 9 is_stmt 1 view .LVU22
  81              		.loc 1 200 24 is_stmt 0 view .LVU23
  82 001a 8460     		str	r4, [r0, #8]
 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Configure the IO Output Type */
 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp = GPIOx->OTYPER;
ARM GAS  /tmp/ccKSjkrA.s 			page 6


  83              		.loc 1 203 9 is_stmt 1 view .LVU24
  84              		.loc 1 203 14 is_stmt 0 view .LVU25
  85 001c 4568     		ldr	r5, [r0, #4]
  86              	.LVL6:
 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(GPIO_OTYPER_OT_0 << position) ;
  87              		.loc 1 204 9 is_stmt 1 view .LVU26
  88              		.loc 1 204 14 is_stmt 0 view .LVU27
  89 001e 25EA0C05 		bic	r5, r5, ip
  90              	.LVL7:
 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position);
  91              		.loc 1 205 9 is_stmt 1 view .LVU28
  92              		.loc 1 205 29 is_stmt 0 view .LVU29
  93 0022 4C68     		ldr	r4, [r1, #4]
  94              		.loc 1 205 51 view .LVU30
  95 0024 C4F30014 		ubfx	r4, r4, #4, #1
  96              		.loc 1 205 71 view .LVU31
  97 0028 9C40     		lsls	r4, r4, r3
  98              		.loc 1 205 14 view .LVU32
  99 002a 2C43     		orrs	r4, r4, r5
 100              	.LVL8:
 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         GPIOx->OTYPER = temp;
 101              		.loc 1 206 9 is_stmt 1 view .LVU33
 102              		.loc 1 206 23 is_stmt 0 view .LVU34
 103 002c 4460     		str	r4, [r0, #4]
 104 002e 5FE0     		b	.L4
 105              	.LVL9:
 106              	.L20:
 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG)
 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Check the Pull parameter */
 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Activate the Pull-up or Pull down resistor for the current IO */
 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp = GPIOx->PUPDR;
 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2u));
 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /*--------------------- GPIO Mode Configuration ------------------------*/
 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* In case of Alternate function mode selection */
 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)
 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Check the Alternate function parameters */
 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         assert_param(IS_GPIO_AF_INSTANCE(GPIOx));
 107              		.loc 1 226 9 is_stmt 1 view .LVU35
 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
 108              		.loc 1 227 9 view .LVU36
 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Configure Alternate function mapped with the current IO */
 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp = GPIOx->AFR[position >> 3u];
 109              		.loc 1 230 9 view .LVU37
 110              		.loc 1 230 36 is_stmt 0 view .LVU38
 111 0030 DD08     		lsrs	r5, r3, #3
 112              		.loc 1 230 14 view .LVU39
ARM GAS  /tmp/ccKSjkrA.s 			page 7


 113 0032 0835     		adds	r5, r5, #8
 114 0034 50F82540 		ldr	r4, [r0, r5, lsl #2]
 115              	.LVL10:
 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(0xFu << ((position & 0x07u) * 4u));
 116              		.loc 1 231 9 is_stmt 1 view .LVU40
 117              		.loc 1 231 38 is_stmt 0 view .LVU41
 118 0038 03F0070C 		and	ip, r3, #7
 119              		.loc 1 231 47 view .LVU42
 120 003c 4FEA8C0C 		lsl	ip, ip, #2
 121              		.loc 1 231 24 view .LVU43
 122 0040 4FF00F0E 		mov	lr, #15
 123 0044 0EFA0CFE 		lsl	lr, lr, ip
 124              		.loc 1 231 14 view .LVU44
 125 0048 24EA0E0E 		bic	lr, r4, lr
 126              	.LVL11:
 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u));
 127              		.loc 1 232 9 is_stmt 1 view .LVU45
 128              		.loc 1 232 28 is_stmt 0 view .LVU46
 129 004c 0C69     		ldr	r4, [r1, #16]
 130              		.loc 1 232 41 view .LVU47
 131 004e 04FA0CF4 		lsl	r4, r4, ip
 132              		.loc 1 232 14 view .LVU48
 133 0052 44EA0E04 		orr	r4, r4, lr
 134              	.LVL12:
 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         GPIOx->AFR[position >> 3u] = temp;
 135              		.loc 1 233 9 is_stmt 1 view .LVU49
 136              		.loc 1 233 36 is_stmt 0 view .LVU50
 137 0056 40F82540 		str	r4, [r0, r5, lsl #2]
 138 005a 60E0     		b	.L6
 139              	.LVL13:
 140              	.L21:
 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       temp = GPIOx->MODER;
 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->MODER = temp;
 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /*--------------------- EXTI Mode Configuration ------------------------*/
 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* Configure the External Interrupt or event for the current IO */
 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if((GPIO_Init->Mode & EXTI_MODE) != 0x00u)
 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Enable SYSCFG Clock */
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         __HAL_RCC_SYSCFG_CLK_ENABLE();
 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp = SYSCFG->EXTICR[position >> 2u];
 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(0x0FuL << (4u * (position & 0x03u)));
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
 141              		.loc 1 251 18 discriminator 7 view .LVU51
 142 005c 0324     		movs	r4, #3
 143 005e 00E0     		b	.L7
 144              	.L13:
 145              		.loc 1 251 18 discriminator 2 view .LVU52
 146 0060 0024     		movs	r4, #0
 147              	.L7:
 148              		.loc 1 251 40 discriminator 16 view .LVU53
ARM GAS  /tmp/ccKSjkrA.s 			page 8


 149 0062 04FA0EF4 		lsl	r4, r4, lr
 150              		.loc 1 251 14 discriminator 16 view .LVU54
 151 0066 2C43     		orrs	r4, r4, r5
 152              	.LVL14:
 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] = temp;
 153              		.loc 1 252 9 is_stmt 1 view .LVU55
 154              		.loc 1 252 40 is_stmt 0 view .LVU56
 155 0068 0CF1020C 		add	ip, ip, #2
 156 006c 4F4D     		ldr	r5, .L22
 157 006e 45F82C40 		str	r4, [r5, ip, lsl #2]
 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Clear Rising Falling edge configuration */
 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp = EXTI->RTSR;
 158              		.loc 1 255 9 is_stmt 1 view .LVU57
 159              		.loc 1 255 14 is_stmt 0 view .LVU58
 160 0072 4F4C     		ldr	r4, .L22+4
 161              	.LVL15:
 162              		.loc 1 255 14 view .LVU59
 163 0074 A568     		ldr	r5, [r4, #8]
 164              	.LVL16:
 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(iocurrent);
 165              		.loc 1 256 9 is_stmt 1 view .LVU60
 166              		.loc 1 256 17 is_stmt 0 view .LVU61
 167 0076 D443     		mvns	r4, r2
 168              		.loc 1 256 14 view .LVU62
 169 0078 25EA0206 		bic	r6, r5, r2
 170              	.LVL17:
 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u)
 171              		.loc 1 257 9 is_stmt 1 view .LVU63
 172              		.loc 1 257 11 is_stmt 0 view .LVU64
 173 007c 4F68     		ldr	r7, [r1, #4]
 174 007e 17F4801F 		tst	r7, #1048576
 175 0082 01D0     		beq	.L8
 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         {
 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****           temp |= iocurrent;
 176              		.loc 1 259 11 is_stmt 1 view .LVU65
 177              		.loc 1 259 16 is_stmt 0 view .LVU66
 178 0084 42EA0506 		orr	r6, r2, r5
 179              	.LVL18:
 180              	.L8:
 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         }
 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->RTSR = temp;
 181              		.loc 1 261 9 is_stmt 1 view .LVU67
 182              		.loc 1 261 20 is_stmt 0 view .LVU68
 183 0088 494D     		ldr	r5, .L22+4
 184 008a AE60     		str	r6, [r5, #8]
 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp = EXTI->FTSR;
 185              		.loc 1 263 9 is_stmt 1 view .LVU69
 186              		.loc 1 263 14 is_stmt 0 view .LVU70
 187 008c ED68     		ldr	r5, [r5, #12]
 188              	.LVL19:
 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(iocurrent);
 189              		.loc 1 264 9 is_stmt 1 view .LVU71
 190              		.loc 1 264 14 is_stmt 0 view .LVU72
 191 008e 04EA0506 		and	r6, r4, r5
 192              	.LVL20:
ARM GAS  /tmp/ccKSjkrA.s 			page 9


 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u)
 193              		.loc 1 265 9 is_stmt 1 view .LVU73
 194              		.loc 1 265 11 is_stmt 0 view .LVU74
 195 0092 4F68     		ldr	r7, [r1, #4]
 196 0094 17F4001F 		tst	r7, #2097152
 197 0098 01D0     		beq	.L9
 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         {
 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****           temp |= iocurrent;
 198              		.loc 1 267 11 is_stmt 1 view .LVU75
 199              		.loc 1 267 16 is_stmt 0 view .LVU76
 200 009a 42EA0506 		orr	r6, r2, r5
 201              	.LVL21:
 202              	.L9:
 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         }
 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->FTSR = temp;
 203              		.loc 1 269 9 is_stmt 1 view .LVU77
 204              		.loc 1 269 20 is_stmt 0 view .LVU78
 205 009e 444D     		ldr	r5, .L22+4
 206 00a0 EE60     		str	r6, [r5, #12]
 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp = EXTI->EMR;
 207              		.loc 1 271 9 is_stmt 1 view .LVU79
 208              		.loc 1 271 14 is_stmt 0 view .LVU80
 209 00a2 6D68     		ldr	r5, [r5, #4]
 210              	.LVL22:
 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(iocurrent);
 211              		.loc 1 272 9 is_stmt 1 view .LVU81
 212              		.loc 1 272 14 is_stmt 0 view .LVU82
 213 00a4 04EA0506 		and	r6, r4, r5
 214              	.LVL23:
 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         if((GPIO_Init->Mode & EXTI_EVT) != 0x00u)
 215              		.loc 1 273 9 is_stmt 1 view .LVU83
 216              		.loc 1 273 11 is_stmt 0 view .LVU84
 217 00a8 4F68     		ldr	r7, [r1, #4]
 218 00aa 17F4003F 		tst	r7, #131072
 219 00ae 01D0     		beq	.L10
 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         {
 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****           temp |= iocurrent;
 220              		.loc 1 275 11 is_stmt 1 view .LVU85
 221              		.loc 1 275 16 is_stmt 0 view .LVU86
 222 00b0 42EA0506 		orr	r6, r2, r5
 223              	.LVL24:
 224              	.L10:
 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         }
 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->EMR = temp;
 225              		.loc 1 277 9 is_stmt 1 view .LVU87
 226              		.loc 1 277 19 is_stmt 0 view .LVU88
 227 00b4 3E4D     		ldr	r5, .L22+4
 228 00b6 6E60     		str	r6, [r5, #4]
 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Clear EXTI line configuration */
 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp = EXTI->IMR;
 229              		.loc 1 280 9 is_stmt 1 view .LVU89
 230              		.loc 1 280 14 is_stmt 0 view .LVU90
 231 00b8 2D68     		ldr	r5, [r5]
 232              	.LVL25:
 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(iocurrent);
ARM GAS  /tmp/ccKSjkrA.s 			page 10


 233              		.loc 1 281 9 is_stmt 1 view .LVU91
 234              		.loc 1 281 14 is_stmt 0 view .LVU92
 235 00ba 2C40     		ands	r4, r4, r5
 236              	.LVL26:
 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         if((GPIO_Init->Mode & EXTI_IT) != 0x00u)
 237              		.loc 1 282 9 is_stmt 1 view .LVU93
 238              		.loc 1 282 22 is_stmt 0 view .LVU94
 239 00bc 4E68     		ldr	r6, [r1, #4]
 240              		.loc 1 282 11 view .LVU95
 241 00be 16F4803F 		tst	r6, #65536
 242 00c2 01D0     		beq	.L11
 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         {
 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****           temp |= iocurrent;
 243              		.loc 1 284 11 is_stmt 1 view .LVU96
 244              		.loc 1 284 16 is_stmt 0 view .LVU97
 245 00c4 42EA0504 		orr	r4, r2, r5
 246              	.LVL27:
 247              	.L11:
 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         }
 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->IMR = temp;
 248              		.loc 1 286 9 is_stmt 1 view .LVU98
 249              		.loc 1 286 19 is_stmt 0 view .LVU99
 250 00c8 394A     		ldr	r2, .L22+4
 251              	.LVL28:
 252              		.loc 1 286 19 view .LVU100
 253 00ca 1460     		str	r4, [r2]
 254              	.LVL29:
 255              	.L3:
 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     }
 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     position++;
 256              		.loc 1 290 5 is_stmt 1 view .LVU101
 257              		.loc 1 290 13 is_stmt 0 view .LVU102
 258 00cc 0133     		adds	r3, r3, #1
 259              	.LVL30:
 260              	.L2:
 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 261              		.loc 1 183 41 is_stmt 1 view .LVU103
 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 262              		.loc 1 183 21 is_stmt 0 view .LVU104
 263 00ce 0A68     		ldr	r2, [r1]
 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 264              		.loc 1 183 41 view .LVU105
 265 00d0 32FA03F4 		lsrs	r4, r2, r3
 266 00d4 68D0     		beq	.L18
 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 267              		.loc 1 186 5 is_stmt 1 view .LVU106
 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 268              		.loc 1 186 41 is_stmt 0 view .LVU107
 269 00d6 4FF0010C 		mov	ip, #1
 270 00da 0CFA03FC 		lsl	ip, ip, r3
 271              	.LVL31:
 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     {
 272              		.loc 1 188 5 is_stmt 1 view .LVU108
 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     {
 273              		.loc 1 188 8 is_stmt 0 view .LVU109
ARM GAS  /tmp/ccKSjkrA.s 			page 11


 274 00de 1CEA0202 		ands	r2, ip, r2
 275              	.LVL32:
 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     {
 276              		.loc 1 188 8 view .LVU110
 277 00e2 F3D0     		beq	.L3
 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 278              		.loc 1 192 7 is_stmt 1 view .LVU111
 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 279              		.loc 1 192 21 is_stmt 0 view .LVU112
 280 00e4 4C68     		ldr	r4, [r1, #4]
 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 281              		.loc 1 192 28 view .LVU113
 282 00e6 04F00304 		and	r4, r4, #3
 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 283              		.loc 1 192 57 view .LVU114
 284 00ea 013C     		subs	r4, r4, #1
 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 285              		.loc 1 192 9 view .LVU115
 286 00ec 012C     		cmp	r4, #1
 287 00ee 8BD9     		bls	.L19
 288              	.L4:
 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 289              		.loc 1 209 7 is_stmt 1 view .LVU116
 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 290              		.loc 1 209 20 is_stmt 0 view .LVU117
 291 00f0 4C68     		ldr	r4, [r1, #4]
 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 292              		.loc 1 209 27 view .LVU118
 293 00f2 04F00304 		and	r4, r4, #3
 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 294              		.loc 1 209 9 view .LVU119
 295 00f6 032C     		cmp	r4, #3
 296 00f8 0CD0     		beq	.L5
 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 297              		.loc 1 212 9 is_stmt 1 view .LVU120
 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
 298              		.loc 1 215 9 view .LVU121
 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
 299              		.loc 1 215 14 is_stmt 0 view .LVU122
 300 00fa C468     		ldr	r4, [r0, #12]
 301              	.LVL33:
 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2u));
 302              		.loc 1 216 9 is_stmt 1 view .LVU123
 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2u));
 303              		.loc 1 216 50 is_stmt 0 view .LVU124
 304 00fc 5D00     		lsls	r5, r3, #1
 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2u));
 305              		.loc 1 216 37 view .LVU125
 306 00fe 4FF0030C 		mov	ip, #3
 307 0102 0CFA05FC 		lsl	ip, ip, r5
 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= ((GPIO_Init->Pull) << (position * 2u));
 308              		.loc 1 216 14 view .LVU126
 309 0106 24EA0C0C 		bic	ip, r4, ip
 310              	.LVL34:
 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
 311              		.loc 1 217 9 is_stmt 1 view .LVU127
 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
ARM GAS  /tmp/ccKSjkrA.s 			page 12


 312              		.loc 1 217 28 is_stmt 0 view .LVU128
 313 010a 8C68     		ldr	r4, [r1, #8]
 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
 314              		.loc 1 217 36 view .LVU129
 315 010c AC40     		lsls	r4, r4, r5
 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         GPIOx->PUPDR = temp;
 316              		.loc 1 217 14 view .LVU130
 317 010e 44EA0C04 		orr	r4, r4, ip
 318              	.LVL35:
 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 319              		.loc 1 218 9 is_stmt 1 view .LVU131
 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 320              		.loc 1 218 22 is_stmt 0 view .LVU132
 321 0112 C460     		str	r4, [r0, #12]
 322              	.LVL36:
 323              	.L5:
 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 324              		.loc 1 223 7 is_stmt 1 view .LVU133
 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 325              		.loc 1 223 20 is_stmt 0 view .LVU134
 326 0114 4C68     		ldr	r4, [r1, #4]
 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 327              		.loc 1 223 27 view .LVU135
 328 0116 04F00304 		and	r4, r4, #3
 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 329              		.loc 1 223 9 view .LVU136
 330 011a 022C     		cmp	r4, #2
 331 011c 88D0     		beq	.L20
 332              	.L6:
 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
 333              		.loc 1 237 7 is_stmt 1 view .LVU137
 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
 334              		.loc 1 237 12 is_stmt 0 view .LVU138
 335 011e 0468     		ldr	r4, [r0]
 336              	.LVL37:
 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
 337              		.loc 1 238 7 is_stmt 1 view .LVU139
 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
 338              		.loc 1 238 48 is_stmt 0 view .LVU140
 339 0120 4FEA430E 		lsl	lr, r3, #1
 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
 340              		.loc 1 238 35 view .LVU141
 341 0124 4FF0030C 		mov	ip, #3
 342 0128 0CFA0EFC 		lsl	ip, ip, lr
 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
 343              		.loc 1 238 12 view .LVU142
 344 012c 24EA0C0C 		bic	ip, r4, ip
 345              	.LVL38:
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->MODER = temp;
 346              		.loc 1 239 7 is_stmt 1 view .LVU143
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->MODER = temp;
 347              		.loc 1 239 26 is_stmt 0 view .LVU144
 348 0130 4C68     		ldr	r4, [r1, #4]
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->MODER = temp;
 349              		.loc 1 239 33 view .LVU145
 350 0132 04F00304 		and	r4, r4, #3
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->MODER = temp;
ARM GAS  /tmp/ccKSjkrA.s 			page 13


 351              		.loc 1 239 46 view .LVU146
 352 0136 04FA0EF4 		lsl	r4, r4, lr
 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->MODER = temp;
 353              		.loc 1 239 12 view .LVU147
 354 013a 44EA0C04 		orr	r4, r4, ip
 355              	.LVL39:
 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 356              		.loc 1 240 7 is_stmt 1 view .LVU148
 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 357              		.loc 1 240 20 is_stmt 0 view .LVU149
 358 013e 0460     		str	r4, [r0]
 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 359              		.loc 1 244 7 is_stmt 1 view .LVU150
 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 360              		.loc 1 244 20 is_stmt 0 view .LVU151
 361 0140 4C68     		ldr	r4, [r1, #4]
 362              	.LVL40:
 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 363              		.loc 1 244 9 view .LVU152
 364 0142 14F4403F 		tst	r4, #196608
 365 0146 C1D0     		beq	.L3
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 366              		.loc 1 247 9 is_stmt 1 view .LVU153
 367              	.LBB2:
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 368              		.loc 1 247 9 view .LVU154
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 369              		.loc 1 247 9 view .LVU155
 370 0148 1A4C     		ldr	r4, .L22+8
 371 014a A569     		ldr	r5, [r4, #24]
 372 014c 45F00105 		orr	r5, r5, #1
 373 0150 A561     		str	r5, [r4, #24]
 374              	.LVL41:
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 375              		.loc 1 247 9 view .LVU156
 376 0152 A469     		ldr	r4, [r4, #24]
 377 0154 04F00104 		and	r4, r4, #1
 378 0158 0194     		str	r4, [sp, #4]
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 379              		.loc 1 247 9 view .LVU157
 380 015a 019C     		ldr	r4, [sp, #4]
 381              	.LBE2:
 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 382              		.loc 1 247 9 view .LVU158
 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(0x0FuL << (4u * (position & 0x03u)));
 383              		.loc 1 249 9 view .LVU159
 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(0x0FuL << (4u * (position & 0x03u)));
 384              		.loc 1 249 40 is_stmt 0 view .LVU160
 385 015c 4FEA930C 		lsr	ip, r3, #2
 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp &= ~(0x0FuL << (4u * (position & 0x03u)));
 386              		.loc 1 249 14 view .LVU161
 387 0160 0CF10205 		add	r5, ip, #2
 388 0164 114C     		ldr	r4, .L22
 389 0166 54F82550 		ldr	r5, [r4, r5, lsl #2]
 390              	.LVL42:
 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
 391              		.loc 1 250 9 is_stmt 1 view .LVU162
ARM GAS  /tmp/ccKSjkrA.s 			page 14


 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
 392              		.loc 1 250 45 is_stmt 0 view .LVU163
 393 016a 03F0030E 		and	lr, r3, #3
 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
 394              		.loc 1 250 33 view .LVU164
 395 016e 4FEA8E0E 		lsl	lr, lr, #2
 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
 396              		.loc 1 250 26 view .LVU165
 397 0172 0F24     		movs	r4, #15
 398 0174 04FA0EF4 		lsl	r4, r4, lr
 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
 399              		.loc 1 250 14 view .LVU166
 400 0178 25EA0405 		bic	r5, r5, r4
 401              	.LVL43:
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] = temp;
 402              		.loc 1 251 9 is_stmt 1 view .LVU167
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] = temp;
 403              		.loc 1 251 18 is_stmt 0 view .LVU168
 404 017c B0F1904F 		cmp	r0, #1207959552
 405 0180 3FF46EAF 		beq	.L13
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] = temp;
 406              		.loc 1 251 18 discriminator 1 view .LVU169
 407 0184 0C4C     		ldr	r4, .L22+12
 408 0186 A042     		cmp	r0, r4
 409 0188 0AD0     		beq	.L14
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] = temp;
 410              		.loc 1 251 18 discriminator 3 view .LVU170
 411 018a 04F58064 		add	r4, r4, #1024
 412 018e A042     		cmp	r0, r4
 413 0190 08D0     		beq	.L15
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] = temp;
 414              		.loc 1 251 18 discriminator 5 view .LVU171
 415 0192 04F58064 		add	r4, r4, #1024
 416 0196 A042     		cmp	r0, r4
 417 0198 3FF460AF 		beq	.L21
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] = temp;
 418              		.loc 1 251 18 discriminator 8 view .LVU172
 419 019c 0524     		movs	r4, #5
 420 019e 60E7     		b	.L7
 421              	.L14:
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] = temp;
 422              		.loc 1 251 18 discriminator 4 view .LVU173
 423 01a0 0124     		movs	r4, #1
 424 01a2 5EE7     		b	.L7
 425              	.L15:
 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] = temp;
 426              		.loc 1 251 18 discriminator 6 view .LVU174
 427 01a4 0224     		movs	r4, #2
 428 01a6 5CE7     		b	.L7
 429              	.LVL44:
 430              	.L18:
 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
 431              		.loc 1 292 1 view .LVU175
 432 01a8 03B0     		add	sp, sp, #12
 433              		.cfi_def_cfa_offset 20
 434              		@ sp needed
ARM GAS  /tmp/ccKSjkrA.s 			page 15


 435 01aa F0BD     		pop	{r4, r5, r6, r7, pc}
 436              	.L23:
 437              		.align	2
 438              	.L22:
 439 01ac 00000140 		.word	1073807360
 440 01b0 00040140 		.word	1073808384
 441 01b4 00100240 		.word	1073876992
 442 01b8 00040048 		.word	1207960576
 443              		.cfi_endproc
 444              	.LFE123:
 446              		.section	.text.HAL_GPIO_DeInit,"ax",%progbits
 447              		.align	1
 448              		.global	HAL_GPIO_DeInit
 449              		.syntax unified
 450              		.thumb
 451              		.thumb_func
 453              	HAL_GPIO_DeInit:
 454              	.LVL45:
 455              	.LFB124:
 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @brief  De-initialize the GPIOx peripheral registers to their default reset values.
 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F30X device or STM32
 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to be written.
 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         This parameter can be one of GPIO_PIN_x where x can be (0..15).
 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @retval None
 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin)
 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
 456              		.loc 1 302 1 is_stmt 1 view -0
 457              		.cfi_startproc
 458              		@ args = 0, pretend = 0, frame = 0
 459              		@ frame_needed = 0, uses_anonymous_args = 0
 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t position = 0x00u;
 460              		.loc 1 303 3 view .LVU177
 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t iocurrent;
 461              		.loc 1 304 3 view .LVU178
 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t tmp;
 462              		.loc 1 305 3 view .LVU179
 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Check the parameters */
 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
 463              		.loc 1 308 3 view .LVU180
 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 464              		.loc 1 309 3 view .LVU181
 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Configure the port pins */
 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   while ((GPIO_Pin >> position) != 0x00u)
 465              		.loc 1 312 3 view .LVU182
 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t iocurrent;
 466              		.loc 1 303 12 is_stmt 0 view .LVU183
 467 0000 0023     		movs	r3, #0
 468              	.LVL46:
 469              		.loc 1 312 33 is_stmt 1 view .LVU184
 470 0002 31FA03F2 		lsrs	r2, r1, r3
 471 0006 74D0     		beq	.L37
 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t position = 0x00u;
ARM GAS  /tmp/ccKSjkrA.s 			page 16


 472              		.loc 1 302 1 is_stmt 0 view .LVU185
 473 0008 F0B5     		push	{r4, r5, r6, r7, lr}
 474              		.cfi_def_cfa_offset 20
 475              		.cfi_offset 4, -20
 476              		.cfi_offset 5, -16
 477              		.cfi_offset 6, -12
 478              		.cfi_offset 7, -8
 479              		.cfi_offset 14, -4
 480 000a 2EE0     		b	.L29
 481              	.LVL47:
 482              	.L40:
 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     /* Get current io position */
 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     iocurrent = (GPIO_Pin) & (1uL << position);
 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     if (iocurrent != 0x00u)
 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     {
 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /*------------------------- EXTI Mode Configuration --------------------*/
 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* Clear the External Interrupt or Event for the current IO */
 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       tmp = SYSCFG->EXTICR[position >> 2u];
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       tmp &= (0x0FuL << (4u * (position & 0x03u)));
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 483              		.loc 1 324 19 discriminator 7 view .LVU186
 484 000c 0325     		movs	r5, #3
 485 000e 00E0     		b	.L27
 486              	.L30:
 487              		.loc 1 324 19 discriminator 2 view .LVU187
 488 0010 0025     		movs	r5, #0
 489              	.L27:
 490              		.loc 1 324 41 discriminator 16 view .LVU188
 491 0012 05FA0CF5 		lsl	r5, r5, ip
 492              		.loc 1 324 10 discriminator 16 view .LVU189
 493 0016 A542     		cmp	r5, r4
 494 0018 4FD0     		beq	.L38
 495              	.LVL48:
 496              	.L28:
 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Clear EXTI line configuration */
 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->IMR &= ~((uint32_t)iocurrent);
 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->EMR &= ~((uint32_t)iocurrent);
 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         
 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Clear Rising Falling edge configuration */
 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->FTSR &= ~((uint32_t)iocurrent);
 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->RTSR &= ~((uint32_t)iocurrent);
 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         /* Configure the External Interrupt or event for the current IO */
 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         tmp = 0x0FuL << (4u * (position & 0x03u));
 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] &= ~tmp;
 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /*------------------------- GPIO Mode Configuration --------------------*/
 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* Configure IO Direction in Input Floating Mode */
 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (position * 2u));
 497              		.loc 1 341 7 is_stmt 1 view .LVU190
 498              		.loc 1 341 12 is_stmt 0 view .LVU191
 499 001a 0468     		ldr	r4, [r0]
ARM GAS  /tmp/ccKSjkrA.s 			page 17


 500              		.loc 1 341 56 view .LVU192
 501 001c 5D00     		lsls	r5, r3, #1
 502              		.loc 1 341 43 view .LVU193
 503 001e 4FF0030C 		mov	ip, #3
 504 0022 0CFA05FC 		lsl	ip, ip, r5
 505              		.loc 1 341 20 view .LVU194
 506 0026 24EA0C04 		bic	r4, r4, ip
 507 002a 0460     		str	r4, [r0]
 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* Configure the default Alternate Function in current IO */
 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->AFR[position >> 3u] &= ~(0xFu << ((uint32_t)(position & 0x07u) * 4u)) ;
 508              		.loc 1 344 7 is_stmt 1 view .LVU195
 509              		.loc 1 344 17 is_stmt 0 view .LVU196
 510 002c 4FEAD30E 		lsr	lr, r3, #3
 511 0030 0EF1080E 		add	lr, lr, #8
 512 0034 50F82E40 		ldr	r4, [r0, lr, lsl #2]
 513              		.loc 1 344 48 view .LVU197
 514 0038 03F00706 		and	r6, r3, #7
 515              		.loc 1 344 77 view .LVU198
 516 003c B600     		lsls	r6, r6, #2
 517              		.loc 1 344 44 view .LVU199
 518 003e 0F25     		movs	r5, #15
 519 0040 B540     		lsls	r5, r5, r6
 520              		.loc 1 344 34 view .LVU200
 521 0042 24EA0504 		bic	r4, r4, r5
 522 0046 40F82E40 		str	r4, [r0, lr, lsl #2]
 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* Deactivate the Pull-up and Pull-down resistor for the current IO */
 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
 523              		.loc 1 347 7 is_stmt 1 view .LVU201
 524              		.loc 1 347 12 is_stmt 0 view .LVU202
 525 004a C468     		ldr	r4, [r0, #12]
 526              		.loc 1 347 20 view .LVU203
 527 004c 24EA0C04 		bic	r4, r4, ip
 528 0050 C460     		str	r4, [r0, #12]
 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* Configure the default value IO Output Type */
 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->OTYPER  &= ~(GPIO_OTYPER_OT_0 << position) ;
 529              		.loc 1 350 7 is_stmt 1 view .LVU204
 530              		.loc 1 350 12 is_stmt 0 view .LVU205
 531 0052 4468     		ldr	r4, [r0, #4]
 532              		.loc 1 350 22 view .LVU206
 533 0054 24EA0202 		bic	r2, r4, r2
 534              	.LVL49:
 535              		.loc 1 350 22 view .LVU207
 536 0058 4260     		str	r2, [r0, #4]
 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       /* Configure the default value for IO Speed */
 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
 537              		.loc 1 353 7 is_stmt 1 view .LVU208
 538              		.loc 1 353 12 is_stmt 0 view .LVU209
 539 005a 8268     		ldr	r2, [r0, #8]
 540              		.loc 1 353 22 view .LVU210
 541 005c 22EA0C02 		bic	r2, r2, ip
 542 0060 8260     		str	r2, [r0, #8]
 543              	.L26:
 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     }
ARM GAS  /tmp/ccKSjkrA.s 			page 18


 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     position++;
 544              		.loc 1 356 5 is_stmt 1 view .LVU211
 545              		.loc 1 356 13 is_stmt 0 view .LVU212
 546 0062 0133     		adds	r3, r3, #1
 547              	.LVL50:
 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 548              		.loc 1 312 33 is_stmt 1 view .LVU213
 549 0064 31FA03F2 		lsrs	r2, r1, r3
 550 0068 42D0     		beq	.L39
 551              	.LVL51:
 552              	.L29:
 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 553              		.loc 1 315 5 view .LVU214
 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 554              		.loc 1 315 35 is_stmt 0 view .LVU215
 555 006a 0122     		movs	r2, #1
 556 006c 9A40     		lsls	r2, r2, r3
 557              	.LVL52:
 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     {
 558              		.loc 1 317 5 is_stmt 1 view .LVU216
 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     {
 559              		.loc 1 317 8 is_stmt 0 view .LVU217
 560 006e 12EA0107 		ands	r7, r2, r1
 561              	.LVL53:
 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     {
 562              		.loc 1 317 8 view .LVU218
 563 0072 F6D0     		beq	.L26
 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       tmp &= (0x0FuL << (4u * (position & 0x03u)));
 564              		.loc 1 322 7 is_stmt 1 view .LVU219
 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       tmp &= (0x0FuL << (4u * (position & 0x03u)));
 565              		.loc 1 322 37 is_stmt 0 view .LVU220
 566 0074 4FEA930E 		lsr	lr, r3, #2
 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       tmp &= (0x0FuL << (4u * (position & 0x03u)));
 567              		.loc 1 322 11 view .LVU221
 568 0078 0EF10205 		add	r5, lr, #2
 569 007c 1D4C     		ldr	r4, .L41
 570 007e 54F82540 		ldr	r4, [r4, r5, lsl #2]
 571              	.LVL54:
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 572              		.loc 1 323 7 is_stmt 1 view .LVU222
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 573              		.loc 1 323 41 is_stmt 0 view .LVU223
 574 0082 03F0030C 		and	ip, r3, #3
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 575              		.loc 1 323 29 view .LVU224
 576 0086 4FEA8C0C 		lsl	ip, ip, #2
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 577              		.loc 1 323 22 view .LVU225
 578 008a 0F25     		movs	r5, #15
 579 008c 05FA0CF6 		lsl	r6, r5, ip
 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 580              		.loc 1 323 11 view .LVU226
 581 0090 3440     		ands	r4, r4, r6
 582              	.LVL55:
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 583              		.loc 1 324 7 is_stmt 1 view .LVU227
ARM GAS  /tmp/ccKSjkrA.s 			page 19


 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 584              		.loc 1 324 19 is_stmt 0 view .LVU228
 585 0092 B0F1904F 		cmp	r0, #1207959552
 586 0096 BBD0     		beq	.L30
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 587              		.loc 1 324 19 discriminator 1 view .LVU229
 588 0098 174D     		ldr	r5, .L41+4
 589 009a A842     		cmp	r0, r5
 590 009c 09D0     		beq	.L31
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 591              		.loc 1 324 19 discriminator 3 view .LVU230
 592 009e 05F58065 		add	r5, r5, #1024
 593 00a2 A842     		cmp	r0, r5
 594 00a4 07D0     		beq	.L32
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 595              		.loc 1 324 19 discriminator 5 view .LVU231
 596 00a6 05F58065 		add	r5, r5, #1024
 597 00aa A842     		cmp	r0, r5
 598 00ac AED0     		beq	.L40
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 599              		.loc 1 324 19 discriminator 8 view .LVU232
 600 00ae 0525     		movs	r5, #5
 601 00b0 AFE7     		b	.L27
 602              	.L31:
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 603              		.loc 1 324 19 discriminator 4 view .LVU233
 604 00b2 0125     		movs	r5, #1
 605 00b4 ADE7     		b	.L27
 606              	.L32:
 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       {
 607              		.loc 1 324 19 discriminator 6 view .LVU234
 608 00b6 0225     		movs	r5, #2
 609 00b8 ABE7     		b	.L27
 610              	.L38:
 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->EMR &= ~((uint32_t)iocurrent);
 611              		.loc 1 327 9 is_stmt 1 view .LVU235
 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->EMR &= ~((uint32_t)iocurrent);
 612              		.loc 1 327 13 is_stmt 0 view .LVU236
 613 00ba 104C     		ldr	r4, .L41+8
 614              	.LVL56:
 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->EMR &= ~((uint32_t)iocurrent);
 615              		.loc 1 327 13 view .LVU237
 616 00bc 2568     		ldr	r5, [r4]
 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->EMR &= ~((uint32_t)iocurrent);
 617              		.loc 1 327 19 view .LVU238
 618 00be 25EA0705 		bic	r5, r5, r7
 619 00c2 2560     		str	r5, [r4]
 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         
 620              		.loc 1 328 9 is_stmt 1 view .LVU239
 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         
 621              		.loc 1 328 13 is_stmt 0 view .LVU240
 622 00c4 6568     		ldr	r5, [r4, #4]
 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         
 623              		.loc 1 328 19 view .LVU241
 624 00c6 25EA0705 		bic	r5, r5, r7
 625 00ca 6560     		str	r5, [r4, #4]
 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->RTSR &= ~((uint32_t)iocurrent);
ARM GAS  /tmp/ccKSjkrA.s 			page 20


 626              		.loc 1 331 9 is_stmt 1 view .LVU242
 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->RTSR &= ~((uint32_t)iocurrent);
 627              		.loc 1 331 13 is_stmt 0 view .LVU243
 628 00cc E568     		ldr	r5, [r4, #12]
 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         EXTI->RTSR &= ~((uint32_t)iocurrent);
 629              		.loc 1 331 20 view .LVU244
 630 00ce 25EA0705 		bic	r5, r5, r7
 631 00d2 E560     		str	r5, [r4, #12]
 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 632              		.loc 1 332 9 is_stmt 1 view .LVU245
 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 633              		.loc 1 332 13 is_stmt 0 view .LVU246
 634 00d4 A568     		ldr	r5, [r4, #8]
 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 635              		.loc 1 332 20 view .LVU247
 636 00d6 25EA0705 		bic	r5, r5, r7
 637 00da A560     		str	r5, [r4, #8]
 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2u] &= ~tmp;
 638              		.loc 1 335 9 is_stmt 1 view .LVU248
 639              	.LVL57:
 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 640              		.loc 1 336 9 view .LVU249
 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 641              		.loc 1 336 23 is_stmt 0 view .LVU250
 642 00dc 054F     		ldr	r7, .L41
 643              	.LVL58:
 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 644              		.loc 1 336 23 view .LVU251
 645 00de 0EF10204 		add	r4, lr, #2
 646 00e2 57F82450 		ldr	r5, [r7, r4, lsl #2]
 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****       }
 647              		.loc 1 336 40 view .LVU252
 648 00e6 25EA0605 		bic	r5, r5, r6
 649 00ea 47F82450 		str	r5, [r7, r4, lsl #2]
 650 00ee 94E7     		b	.L28
 651              	.LVL59:
 652              	.L39:
 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
 653              		.loc 1 358 1 view .LVU253
 654 00f0 F0BD     		pop	{r4, r5, r6, r7, pc}
 655              	.LVL60:
 656              	.L37:
 657              		.cfi_def_cfa_offset 0
 658              		.cfi_restore 4
 659              		.cfi_restore 5
 660              		.cfi_restore 6
 661              		.cfi_restore 7
 662              		.cfi_restore 14
 663              		.loc 1 358 1 view .LVU254
 664 00f2 7047     		bx	lr
 665              	.L42:
 666              		.align	2
 667              	.L41:
 668 00f4 00000140 		.word	1073807360
 669 00f8 00040048 		.word	1207960576
 670 00fc 00040140 		.word	1073808384
ARM GAS  /tmp/ccKSjkrA.s 			page 21


 671              		.cfi_endproc
 672              	.LFE124:
 674              		.section	.text.HAL_GPIO_ReadPin,"ax",%progbits
 675              		.align	1
 676              		.global	HAL_GPIO_ReadPin
 677              		.syntax unified
 678              		.thumb
 679              		.thumb_func
 681              	HAL_GPIO_ReadPin:
 682              	.LVL61:
 683              	.LFB125:
 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @}
 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions 
 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****  *  @brief GPIO Read, Write, Toggle, Lock and EXTI management functions.
 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****  *
 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @verbatim
 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****  ===============================================================================
 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****                        ##### IO operation functions #####
 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****  ===============================================================================
 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @endverbatim
 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @{
 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @brief  Read the specified input port pin.
 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to read.
 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         This parameter can be GPIO_PIN_x where x can be (0..15).
 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @retval The input port pin value.
 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
 684              		.loc 1 384 1 is_stmt 1 view -0
 685              		.cfi_startproc
 686              		@ args = 0, pretend = 0, frame = 0
 687              		@ frame_needed = 0, uses_anonymous_args = 0
 688              		@ link register save eliminated.
 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   GPIO_PinState bitstatus;
 689              		.loc 1 385 3 view .LVU256
 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Check the parameters */
 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 690              		.loc 1 388 3 view .LVU257
 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
 691              		.loc 1 390 3 view .LVU258
 692              		.loc 1 390 12 is_stmt 0 view .LVU259
 693 0000 0369     		ldr	r3, [r0, #16]
 694              		.loc 1 390 5 view .LVU260
 695 0002 1942     		tst	r1, r3
 696 0004 01D0     		beq	.L45
 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
ARM GAS  /tmp/ccKSjkrA.s 			page 22


 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     bitstatus = GPIO_PIN_SET;
 697              		.loc 1 392 15 view .LVU261
 698 0006 0120     		movs	r0, #1
 699              	.LVL62:
 700              		.loc 1 392 15 view .LVU262
 701 0008 7047     		bx	lr
 702              	.LVL63:
 703              	.L45:
 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   else
 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     bitstatus = GPIO_PIN_RESET;
 704              		.loc 1 396 15 view .LVU263
 705 000a 0020     		movs	r0, #0
 706              	.LVL64:
 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   return bitstatus;
 707              		.loc 1 398 3 is_stmt 1 view .LVU264
 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
 708              		.loc 1 399 1 is_stmt 0 view .LVU265
 709 000c 7047     		bx	lr
 710              		.cfi_endproc
 711              	.LFE125:
 713              		.section	.text.HAL_GPIO_WritePin,"ax",%progbits
 714              		.align	1
 715              		.global	HAL_GPIO_WritePin
 716              		.syntax unified
 717              		.thumb
 718              		.thumb_func
 720              	HAL_GPIO_WritePin:
 721              	.LVL65:
 722              	.LFB126:
 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @brief  Set or clear the selected data port bit.
 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *
 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @note   This function uses GPIOx_BSRR and GPIOx_BRR registers to allow atomic read/modify
 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         accesses. In this way, there is no risk of an IRQ occurring between
 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         the read and the modify access.
 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *
 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to be written.
 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         This parameter can be one of GPIO_PIN_x where x can be (0..15).
 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  PinState specifies the value to be written to the selected bit.
 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         This parameter can be one of the GPIO_PinState enum values:
 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *            @arg GPIO_PIN_RESET: to clear the port pin
 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *            @arg GPIO_PIN_SET: to set the port pin
 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @retval None
 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
 723              		.loc 1 418 1 is_stmt 1 view -0
 724              		.cfi_startproc
 725              		@ args = 0, pretend = 0, frame = 0
 726              		@ frame_needed = 0, uses_anonymous_args = 0
 727              		@ link register save eliminated.
 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Check the parameters */
ARM GAS  /tmp/ccKSjkrA.s 			page 23


 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 728              		.loc 1 420 3 view .LVU267
 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN_ACTION(PinState));
 729              		.loc 1 421 3 view .LVU268
 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   if(PinState != GPIO_PIN_RESET)
 730              		.loc 1 423 3 view .LVU269
 731              		.loc 1 423 5 is_stmt 0 view .LVU270
 732 0000 0AB1     		cbz	r2, .L47
 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     GPIOx->BSRR = (uint32_t)GPIO_Pin;
 733              		.loc 1 425 5 is_stmt 1 view .LVU271
 734              		.loc 1 425 17 is_stmt 0 view .LVU272
 735 0002 8161     		str	r1, [r0, #24]
 736 0004 7047     		bx	lr
 737              	.L47:
 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   else
 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     GPIOx->BRR = (uint32_t)GPIO_Pin;
 738              		.loc 1 429 5 is_stmt 1 view .LVU273
 739              		.loc 1 429 16 is_stmt 0 view .LVU274
 740 0006 8162     		str	r1, [r0, #40]
 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
 741              		.loc 1 431 1 view .LVU275
 742 0008 7047     		bx	lr
 743              		.cfi_endproc
 744              	.LFE126:
 746              		.section	.text.HAL_GPIO_TogglePin,"ax",%progbits
 747              		.align	1
 748              		.global	HAL_GPIO_TogglePin
 749              		.syntax unified
 750              		.thumb
 751              		.thumb_func
 753              	HAL_GPIO_TogglePin:
 754              	.LVL66:
 755              	.LFB127:
 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @brief  Toggle the specified GPIO pin.
 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the pin to be toggled.
 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @retval None
 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
 756              		.loc 1 440 1 is_stmt 1 view -0
 757              		.cfi_startproc
 758              		@ args = 0, pretend = 0, frame = 0
 759              		@ frame_needed = 0, uses_anonymous_args = 0
 760              		@ link register save eliminated.
 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   uint32_t odr;
 761              		.loc 1 441 3 view .LVU277
 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Check the parameters */
 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
ARM GAS  /tmp/ccKSjkrA.s 			page 24


 762              		.loc 1 444 3 view .LVU278
 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* get current Output Data Register value */
 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   odr = GPIOx->ODR;
 763              		.loc 1 447 3 view .LVU279
 764              		.loc 1 447 7 is_stmt 0 view .LVU280
 765 0000 4369     		ldr	r3, [r0, #20]
 766              	.LVL67:
 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Set selected pins that were at low level, and reset ones that were high */
 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   GPIOx->BSRR = ((odr & GPIO_Pin) << GPIO_NUMBER) | (~odr & GPIO_Pin);
 767              		.loc 1 450 3 is_stmt 1 view .LVU281
 768              		.loc 1 450 23 is_stmt 0 view .LVU282
 769 0002 01EA0302 		and	r2, r1, r3
 770              		.loc 1 450 59 view .LVU283
 771 0006 21EA0301 		bic	r1, r1, r3
 772              	.LVL68:
 773              		.loc 1 450 51 view .LVU284
 774 000a 41EA0241 		orr	r1, r1, r2, lsl #16
 775              		.loc 1 450 15 view .LVU285
 776 000e 8161     		str	r1, [r0, #24]
 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
 777              		.loc 1 451 1 view .LVU286
 778 0010 7047     		bx	lr
 779              		.cfi_endproc
 780              	.LFE127:
 782              		.section	.text.HAL_GPIO_LockPin,"ax",%progbits
 783              		.align	1
 784              		.global	HAL_GPIO_LockPin
 785              		.syntax unified
 786              		.thumb
 787              		.thumb_func
 789              	HAL_GPIO_LockPin:
 790              	.LVL69:
 791              	.LFB128:
 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief  Lock GPIO Pins configuration registers.
 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @note   The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR,
 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @note   The configuration of the locked GPIO pins can no longer be modified
 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         until the next reset.
 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bits to be locked.
 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   *         This parameter can be any combination of GPIO_PIN_x where x can be (0..15).
 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @retval None
 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
 792              		.loc 1 465 1 is_stmt 1 view -0
 793              		.cfi_startproc
 794              		@ args = 0, pretend = 0, frame = 8
 795              		@ frame_needed = 0, uses_anonymous_args = 0
 796              		@ link register save eliminated.
 797              		.loc 1 465 1 is_stmt 0 view .LVU288
 798 0000 82B0     		sub	sp, sp, #8
 799              		.cfi_def_cfa_offset 8
ARM GAS  /tmp/ccKSjkrA.s 			page 25


 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   __IO uint32_t tmp = GPIO_LCKR_LCKK;
 800              		.loc 1 466 3 is_stmt 1 view .LVU289
 801              		.loc 1 466 17 is_stmt 0 view .LVU290
 802 0002 4FF48033 		mov	r3, #65536
 803 0006 0193     		str	r3, [sp, #4]
 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Check the parameters */
 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_LOCK_INSTANCE(GPIOx));
 804              		.loc 1 469 3 is_stmt 1 view .LVU291
 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 805              		.loc 1 470 3 view .LVU292
 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Apply lock key write sequence */
 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   tmp |= GPIO_Pin;
 806              		.loc 1 473 3 view .LVU293
 807              		.loc 1 473 7 is_stmt 0 view .LVU294
 808 0008 019B     		ldr	r3, [sp, #4]
 809 000a 0B43     		orrs	r3, r3, r1
 810 000c 0193     		str	r3, [sp, #4]
 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15U-0] */
 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
 811              		.loc 1 475 3 is_stmt 1 view .LVU295
 812              		.loc 1 475 15 is_stmt 0 view .LVU296
 813 000e 019B     		ldr	r3, [sp, #4]
 814 0010 C361     		str	r3, [r0, #28]
 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Reset LCKx bit(s): LCKK='0' + LCK[15U-0] */
 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   GPIOx->LCKR = GPIO_Pin;
 815              		.loc 1 477 3 is_stmt 1 view .LVU297
 816              		.loc 1 477 15 is_stmt 0 view .LVU298
 817 0012 C161     		str	r1, [r0, #28]
 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15U-0] */
 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
 818              		.loc 1 479 3 is_stmt 1 view .LVU299
 819              		.loc 1 479 15 is_stmt 0 view .LVU300
 820 0014 019B     		ldr	r3, [sp, #4]
 821 0016 C361     		str	r3, [r0, #28]
 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Read LCKK register. This read is mandatory to complete key lock sequence */
 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   tmp = GPIOx->LCKR;
 822              		.loc 1 481 3 is_stmt 1 view .LVU301
 823              		.loc 1 481 14 is_stmt 0 view .LVU302
 824 0018 C369     		ldr	r3, [r0, #28]
 825              		.loc 1 481 7 view .LVU303
 826 001a 0193     		str	r3, [sp, #4]
 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* read again in order to confirm lock is active */
 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****  if((GPIOx->LCKR & GPIO_LCKR_LCKK) != 0x00u)
 827              		.loc 1 484 2 is_stmt 1 view .LVU304
 828              		.loc 1 484 11 is_stmt 0 view .LVU305
 829 001c C369     		ldr	r3, [r0, #28]
 830              		.loc 1 484 4 view .LVU306
 831 001e 13F4803F 		tst	r3, #65536
 832 0022 02D0     		beq	.L52
 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     return HAL_OK;
 833              		.loc 1 486 12 view .LVU307
 834 0024 0020     		movs	r0, #0
 835              	.LVL70:
ARM GAS  /tmp/ccKSjkrA.s 			page 26


 836              	.L51:
 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   else
 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     return HAL_ERROR;
 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
 837              		.loc 1 492 1 view .LVU308
 838 0026 02B0     		add	sp, sp, #8
 839              		.cfi_remember_state
 840              		.cfi_def_cfa_offset 0
 841              		@ sp needed
 842 0028 7047     		bx	lr
 843              	.LVL71:
 844              	.L52:
 845              		.cfi_restore_state
 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 846              		.loc 1 490 12 view .LVU309
 847 002a 0120     		movs	r0, #1
 848              	.LVL72:
 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 849              		.loc 1 490 12 view .LVU310
 850 002c FBE7     		b	.L51
 851              		.cfi_endproc
 852              	.LFE128:
 854              		.section	.text.HAL_GPIO_EXTI_Callback,"ax",%progbits
 855              		.align	1
 856              		.weak	HAL_GPIO_EXTI_Callback
 857              		.syntax unified
 858              		.thumb
 859              		.thumb_func
 861              	HAL_GPIO_EXTI_Callback:
 862              	.LVL73:
 863              	.LFB130:
 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @brief  Handle EXTI interrupt request.
 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @retval None
 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @brief  EXTI line detection callback.
 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @param  GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   * @retval None
 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   */
 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
ARM GAS  /tmp/ccKSjkrA.s 			page 27


 864              		.loc 1 515 1 is_stmt 1 view -0
 865              		.cfi_startproc
 866              		@ args = 0, pretend = 0, frame = 0
 867              		@ frame_needed = 0, uses_anonymous_args = 0
 868              		@ link register save eliminated.
 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* Prevent unused argument(s) compilation warning */
 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   UNUSED(GPIO_Pin);
 869              		.loc 1 517 3 view .LVU312
 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* NOTE: This function should not be modified, when the callback is needed,
 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****            the HAL_GPIO_EXTI_Callback could be implemented in the user file
 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****    */
 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
 870              		.loc 1 522 1 is_stmt 0 view .LVU313
 871 0000 7047     		bx	lr
 872              		.cfi_endproc
 873              	.LFE130:
 875              		.section	.text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
 876              		.align	1
 877              		.global	HAL_GPIO_EXTI_IRQHandler
 878              		.syntax unified
 879              		.thumb
 880              		.thumb_func
 882              	HAL_GPIO_EXTI_IRQHandler:
 883              	.LVL74:
 884              	.LFB129:
 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 885              		.loc 1 500 1 is_stmt 1 view -0
 886              		.cfi_startproc
 887              		@ args = 0, pretend = 0, frame = 0
 888              		@ frame_needed = 0, uses_anonymous_args = 0
 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 889              		.loc 1 500 1 is_stmt 0 view .LVU315
 890 0000 08B5     		push	{r3, lr}
 891              		.cfi_def_cfa_offset 8
 892              		.cfi_offset 3, -8
 893              		.cfi_offset 14, -4
 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 894              		.loc 1 502 3 is_stmt 1 view .LVU316
 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 895              		.loc 1 502 6 is_stmt 0 view .LVU317
 896 0002 054B     		ldr	r3, .L59
 897 0004 5B69     		ldr	r3, [r3, #20]
 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   {
 898              		.loc 1 502 5 view .LVU318
 899 0006 0342     		tst	r3, r0
 900 0008 00D1     		bne	.L58
 901              	.LVL75:
 902              	.L55:
 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 903              		.loc 1 507 1 view .LVU319
 904 000a 08BD     		pop	{r3, pc}
 905              	.LVL76:
 906              	.L58:
 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
 907              		.loc 1 504 5 is_stmt 1 view .LVU320
 908 000c 024B     		ldr	r3, .L59
ARM GAS  /tmp/ccKSjkrA.s 			page 28


 909 000e 5861     		str	r0, [r3, #20]
 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****   }
 910              		.loc 1 505 5 view .LVU321
 911 0010 FFF7FEFF 		bl	HAL_GPIO_EXTI_Callback
 912              	.LVL77:
 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 
 913              		.loc 1 507 1 is_stmt 0 view .LVU322
 914 0014 F9E7     		b	.L55
 915              	.L60:
 916 0016 00BF     		.align	2
 917              	.L59:
 918 0018 00040140 		.word	1073808384
 919              		.cfi_endproc
 920              	.LFE129:
 922              		.text
 923              	.Letext0:
 924              		.file 2 "/home/chiangni/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-
 925              		.file 3 "/home/chiangni/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-
 926              		.file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302x8.h"
 927              		.file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
 928              		.file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h"
ARM GAS  /tmp/ccKSjkrA.s 			page 29


DEFINED SYMBOLS
                            *ABS*:00000000 stm32f3xx_hal_gpio.c
     /tmp/ccKSjkrA.s:21     .text.HAL_GPIO_Init:00000000 $t
     /tmp/ccKSjkrA.s:27     .text.HAL_GPIO_Init:00000000 HAL_GPIO_Init
     /tmp/ccKSjkrA.s:439    .text.HAL_GPIO_Init:000001ac $d
     /tmp/ccKSjkrA.s:447    .text.HAL_GPIO_DeInit:00000000 $t
     /tmp/ccKSjkrA.s:453    .text.HAL_GPIO_DeInit:00000000 HAL_GPIO_DeInit
     /tmp/ccKSjkrA.s:668    .text.HAL_GPIO_DeInit:000000f4 $d
     /tmp/ccKSjkrA.s:675    .text.HAL_GPIO_ReadPin:00000000 $t
     /tmp/ccKSjkrA.s:681    .text.HAL_GPIO_ReadPin:00000000 HAL_GPIO_ReadPin
     /tmp/ccKSjkrA.s:714    .text.HAL_GPIO_WritePin:00000000 $t
     /tmp/ccKSjkrA.s:720    .text.HAL_GPIO_WritePin:00000000 HAL_GPIO_WritePin
     /tmp/ccKSjkrA.s:747    .text.HAL_GPIO_TogglePin:00000000 $t
     /tmp/ccKSjkrA.s:753    .text.HAL_GPIO_TogglePin:00000000 HAL_GPIO_TogglePin
     /tmp/ccKSjkrA.s:783    .text.HAL_GPIO_LockPin:00000000 $t
     /tmp/ccKSjkrA.s:789    .text.HAL_GPIO_LockPin:00000000 HAL_GPIO_LockPin
     /tmp/ccKSjkrA.s:855    .text.HAL_GPIO_EXTI_Callback:00000000 $t
     /tmp/ccKSjkrA.s:861    .text.HAL_GPIO_EXTI_Callback:00000000 HAL_GPIO_EXTI_Callback
     /tmp/ccKSjkrA.s:876    .text.HAL_GPIO_EXTI_IRQHandler:00000000 $t
     /tmp/ccKSjkrA.s:882    .text.HAL_GPIO_EXTI_IRQHandler:00000000 HAL_GPIO_EXTI_IRQHandler
     /tmp/ccKSjkrA.s:918    .text.HAL_GPIO_EXTI_IRQHandler:00000018 $d

NO UNDEFINED SYMBOLS
