ARM GAS  /tmp/ccOa6coP.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	"stm32f4xx_hal_gpio.c"
  16              		.text
  17              	.Ltext0:
  18              		.cfi_sections	.debug_frame
  19              		.section	.text.HAL_GPIO_Init,"ax",%progbits
  20              		.align	1
  21              		.global	HAL_GPIO_Init
  22              		.syntax unified
  23              		.thumb
  24              		.thumb_func
  26              	HAL_GPIO_Init:
  27              	.LVL0:
  28              	.LFB130:
  29              		.file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c"
   1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
   2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   ******************************************************************************
   3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @file    stm32f4xx_hal_gpio.c
   4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @author  MCD Application Team
   5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief   GPIO HAL module driver.
   6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *          This file provides firmware functions to manage the following 
   7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *          functionalities of the General Purpose Input/Output (GPIO) peripheral:
   8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *           + IO operation functions
  10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *
  11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   @verbatim
  12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   ==============================================================================
  13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****                     ##### GPIO Peripheral features #####
  14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   ==============================================================================
  15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   [..] 
  16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   Subject to the specific hardware characteristics of each I/O port listed in the datasheet, each
  17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   port bit of the General Purpose IO (GPIO) Ports, can be individually configured by software
  18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   in several modes:
  19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   (+) Input mode 
  20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   (+) Analog mode
  21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   (+) Output mode
  22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   (+) Alternate function mode
  23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   (+) External interrupt/event lines
  24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
  25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   [..]  
  26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   During and just after reset, the alternate functions and external interrupt  
  27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   lines are not active and the I/O ports are configured in input floating mode.
  28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   
  29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   [..]   
ARM GAS  /tmp/ccOa6coP.s 			page 2


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


  87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   
  88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as 
  89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         general purpose PH0 and PH1, respectively, when the HSE oscillator is off. 
  90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         The HSE has priority over the GPIO function.
  91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   
  92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   @endverbatim
  93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   ******************************************************************************
  94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @attention
  95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *
  96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
  97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * All rights reserved.</center></h2>
  98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *
  99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * This software component is licensed by ST under BSD 3-Clause license,
 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * the "License"; You may not use this file except in compliance with the
 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * License. You may obtain a copy of the License at:
 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *                        opensource.org/licenses/BSD-3-Clause
 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *
 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   ******************************************************************************
 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */ 
 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #include "stm32f4xx_hal.h"
 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @addtogroup STM32F4xx_HAL_Driver
 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @{
 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO GPIO
 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief GPIO HAL module driver
 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @{
 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private define ------------------------------------------------------------*/
 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @addtogroup GPIO_Private_Constants GPIO Private Constants
 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @{
 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_MODE             0x00000003U
 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define EXTI_MODE             0x10000000U
 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_MODE_IT          0x00010000U
 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_MODE_EVT         0x00020000U
 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define RISING_EDGE           0x00100000U
 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define FALLING_EDGE          0x00200000U
 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_OUTPUT_TYPE      0x00000010U
 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** #define GPIO_NUMBER           16U
 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @}
 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private macro -------------------------------------------------------------*/
 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Private functions ---------------------------------------------------------*/
 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions
ARM GAS  /tmp/ccOa6coP.s 			page 4


 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @{
 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization and de-initialization functions
 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *  @brief    Initialization and Configuration functions
 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *
 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @verbatim    
 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****  ===============================================================================
 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****               ##### Initialization and de-initialization functions #####
 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****  ===============================================================================
 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   [..]
 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     This section provides functions allowing to initialize and de-initialize the GPIOs
 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     to be ready for use.
 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****  
 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @endverbatim
 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @{
 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief  Initializes the GPIOx peripheral according to the specified parameters in the GPIO_Init
 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *                      x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *         the configuration information for the specified GPIO peripheral.
 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @retval None
 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init)
 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_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
 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t position;
  34              		.loc 1 173 3 view .LVU1
 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t ioposition = 0x00U;
  35              		.loc 1 174 3 view .LVU2
 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t iocurrent = 0x00U;
  36              		.loc 1 175 3 view .LVU3
 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t temp = 0x00U;
  37              		.loc 1 176 3 view .LVU4
 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Check the parameters */
 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
  38              		.loc 1 179 3 view .LVU5
 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
  39              		.loc 1 180 3 view .LVU6
 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
  40              		.loc 1 181 3 view .LVU7
 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
  41              		.loc 1 182 3 view .LVU8
 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Configure the port pins */
 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   for(position = 0U; position < GPIO_NUMBER; position++)
  42              		.loc 1 185 3 view .LVU9
  43              		.loc 1 185 16 is_stmt 0 view .LVU10
  44 0000 0023     		movs	r3, #0
ARM GAS  /tmp/ccOa6coP.s 			page 5


  45              	.LVL1:
  46              		.loc 1 185 22 is_stmt 1 view .LVU11
  47              		.loc 1 185 3 is_stmt 0 view .LVU12
  48 0002 0F2B     		cmp	r3, #15
  49 0004 00F2D880 		bhi	.L25
 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t position;
  50              		.loc 1 172 1 view .LVU13
  51 0008 F0B5     		push	{r4, r5, r6, r7, lr}
  52              	.LCFI0:
  53              		.cfi_def_cfa_offset 20
  54              		.cfi_offset 4, -20
  55              		.cfi_offset 5, -16
  56              		.cfi_offset 6, -12
  57              		.cfi_offset 7, -8
  58              		.cfi_offset 14, -4
  59 000a 83B0     		sub	sp, sp, #12
  60              	.LCFI1:
  61              		.cfi_def_cfa_offset 32
  62 000c 3AE0     		b	.L13
  63              	.LVL2:
  64              	.L27:
 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     /* Get the IO position */
 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     ioposition = 0x01U << position;
 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     /* Get the current IO position */
 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition;
 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     if(iocurrent == ioposition)
 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     {
 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /*--------------------- GPIO Mode Configuration ------------------------*/
 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* In case of Alternate function mode selection */
 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Check the Alternate function parameter */
 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Configure Alternate function mapped with the current IO */
 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp = GPIOx->AFR[position >> 3U];
 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->AFR[position >> 3U] = temp;
 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp = GPIOx->MODER;
 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp &= ~(GPIO_MODER_MODER0 << (position * 2U));
 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* In case of Output or Alternate function mode selection */
 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****          (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Check the Speed parameter */
 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Configure the IO Speed */
 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp = GPIOx->OSPEEDR; 
 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
ARM GAS  /tmp/ccOa6coP.s 			page 6


 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= (GPIO_Init->Speed << (position * 2U));
 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OSPEEDR = temp;
 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Configure the IO Output Type */
 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp = GPIOx->OTYPER;
 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(GPIO_OTYPER_OT_0 << position) ;
 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4U) << position);
 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OTYPER = temp;
 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* Activate the Pull-up or Pull down resistor for the current IO */
 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp = GPIOx->PUPDR;
 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Pull) << (position * 2U));
 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->PUPDR = temp;
 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /*--------------------- EXTI Mode Configuration ------------------------*/
 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* Configure the External Interrupt or event for the current IO */
 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE)
 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Enable SYSCFG Clock */
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         __HAL_RCC_SYSCFG_CLK_ENABLE();
 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp = SYSCFG->EXTICR[position >> 2U];
 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(0x0FU << (4U * (position & 0x03U)));
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
  65              		.loc 1 247 29 view .LVU14
  66 000e 0722     		movs	r2, #7
  67 0010 00E0     		b	.L8
  68              	.L14:
  69              		.loc 1 247 18 view .LVU15
  70 0012 0022     		movs	r2, #0
  71              	.L8:
  72              		.loc 1 247 52 discriminator 32 view .LVU16
  73 0014 AA40     		lsls	r2, r2, r5
  74              		.loc 1 247 14 discriminator 32 view .LVU17
  75 0016 3243     		orrs	r2, r2, r6
  76              	.LVL3:
 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
  77              		.loc 1 248 9 is_stmt 1 discriminator 32 view .LVU18
  78              		.loc 1 248 40 is_stmt 0 discriminator 32 view .LVU19
  79 0018 0234     		adds	r4, r4, #2
  80 001a 684D     		ldr	r5, .L28
  81 001c 45F82420 		str	r2, [r5, r4, lsl #2]
 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Clear EXTI line configuration */
 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp = EXTI->IMR;
  82              		.loc 1 251 9 is_stmt 1 discriminator 32 view .LVU20
  83              		.loc 1 251 14 is_stmt 0 discriminator 32 view .LVU21
  84 0020 674A     		ldr	r2, .L28+4
  85              	.LVL4:
  86              		.loc 1 251 14 discriminator 32 view .LVU22
  87 0022 1468     		ldr	r4, [r2]
  88              	.LVL5:
 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~((uint32_t)iocurrent);
  89              		.loc 1 252 9 is_stmt 1 discriminator 32 view .LVU23
  90              		.loc 1 252 17 is_stmt 0 discriminator 32 view .LVU24
ARM GAS  /tmp/ccOa6coP.s 			page 7


  91 0024 6FEA0C02 		mvn	r2, ip
  92              		.loc 1 252 14 discriminator 32 view .LVU25
  93 0028 24EA0C05 		bic	r5, r4, ip
  94              	.LVL6:
 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT)
  95              		.loc 1 253 9 is_stmt 1 discriminator 32 view .LVU26
  96              		.loc 1 253 22 is_stmt 0 discriminator 32 view .LVU27
  97 002c 4E68     		ldr	r6, [r1, #4]
  98              		.loc 1 253 11 discriminator 32 view .LVU28
  99 002e 16F4803F 		tst	r6, #65536
 100 0032 01D0     		beq	.L9
 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         {
 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****           temp |= iocurrent;
 101              		.loc 1 255 11 is_stmt 1 view .LVU29
 102              		.loc 1 255 16 is_stmt 0 view .LVU30
 103 0034 4CEA0405 		orr	r5, ip, r4
 104              	.LVL7:
 105              	.L9:
 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         }
 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->IMR = temp;
 106              		.loc 1 257 9 is_stmt 1 view .LVU31
 107              		.loc 1 257 19 is_stmt 0 view .LVU32
 108 0038 614C     		ldr	r4, .L28+4
 109 003a 2560     		str	r5, [r4]
 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp = EXTI->EMR;
 110              		.loc 1 259 9 is_stmt 1 view .LVU33
 111              		.loc 1 259 14 is_stmt 0 view .LVU34
 112 003c 6468     		ldr	r4, [r4, #4]
 113              	.LVL8:
 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~((uint32_t)iocurrent);
 114              		.loc 1 260 9 is_stmt 1 view .LVU35
 115              		.loc 1 260 14 is_stmt 0 view .LVU36
 116 003e 02EA0405 		and	r5, r2, r4
 117              	.LVL9:
 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT)
 118              		.loc 1 261 9 is_stmt 1 view .LVU37
 119              		.loc 1 261 22 is_stmt 0 view .LVU38
 120 0042 4E68     		ldr	r6, [r1, #4]
 121              		.loc 1 261 11 view .LVU39
 122 0044 16F4003F 		tst	r6, #131072
 123 0048 01D0     		beq	.L10
 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         {
 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****           temp |= iocurrent;
 124              		.loc 1 263 11 is_stmt 1 view .LVU40
 125              		.loc 1 263 16 is_stmt 0 view .LVU41
 126 004a 4CEA0405 		orr	r5, ip, r4
 127              	.LVL10:
 128              	.L10:
 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         }
 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->EMR = temp;
 129              		.loc 1 265 9 is_stmt 1 view .LVU42
 130              		.loc 1 265 19 is_stmt 0 view .LVU43
 131 004e 5C4C     		ldr	r4, .L28+4
 132 0050 6560     		str	r5, [r4, #4]
 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Clear Rising Falling edge configuration */
ARM GAS  /tmp/ccOa6coP.s 			page 8


 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp = EXTI->RTSR;
 133              		.loc 1 268 9 is_stmt 1 view .LVU44
 134              		.loc 1 268 14 is_stmt 0 view .LVU45
 135 0052 A468     		ldr	r4, [r4, #8]
 136              	.LVL11:
 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~((uint32_t)iocurrent);
 137              		.loc 1 269 9 is_stmt 1 view .LVU46
 138              		.loc 1 269 14 is_stmt 0 view .LVU47
 139 0054 02EA0405 		and	r5, r2, r4
 140              	.LVL12:
 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE)
 141              		.loc 1 270 9 is_stmt 1 view .LVU48
 142              		.loc 1 270 22 is_stmt 0 view .LVU49
 143 0058 4E68     		ldr	r6, [r1, #4]
 144              		.loc 1 270 11 view .LVU50
 145 005a 16F4801F 		tst	r6, #1048576
 146 005e 01D0     		beq	.L11
 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         {
 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****           temp |= iocurrent;
 147              		.loc 1 272 11 is_stmt 1 view .LVU51
 148              		.loc 1 272 16 is_stmt 0 view .LVU52
 149 0060 4CEA0405 		orr	r5, ip, r4
 150              	.LVL13:
 151              	.L11:
 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         }
 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->RTSR = temp;
 152              		.loc 1 274 9 is_stmt 1 view .LVU53
 153              		.loc 1 274 20 is_stmt 0 view .LVU54
 154 0064 564C     		ldr	r4, .L28+4
 155 0066 A560     		str	r5, [r4, #8]
 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp = EXTI->FTSR;
 156              		.loc 1 276 9 is_stmt 1 view .LVU55
 157              		.loc 1 276 14 is_stmt 0 view .LVU56
 158 0068 E468     		ldr	r4, [r4, #12]
 159              	.LVL14:
 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~((uint32_t)iocurrent);
 160              		.loc 1 277 9 is_stmt 1 view .LVU57
 161              		.loc 1 277 14 is_stmt 0 view .LVU58
 162 006a 2240     		ands	r2, r2, r4
 163              	.LVL15:
 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE)
 164              		.loc 1 278 9 is_stmt 1 view .LVU59
 165              		.loc 1 278 22 is_stmt 0 view .LVU60
 166 006c 4D68     		ldr	r5, [r1, #4]
 167              		.loc 1 278 11 view .LVU61
 168 006e 15F4001F 		tst	r5, #2097152
 169 0072 01D0     		beq	.L12
 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         {
 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****           temp |= iocurrent;
 170              		.loc 1 280 11 is_stmt 1 view .LVU62
 171              		.loc 1 280 16 is_stmt 0 view .LVU63
 172 0074 4CEA0402 		orr	r2, ip, r4
 173              	.LVL16:
 174              	.L12:
 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         }
 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->FTSR = temp;
ARM GAS  /tmp/ccOa6coP.s 			page 9


 175              		.loc 1 282 9 is_stmt 1 view .LVU64
 176              		.loc 1 282 20 is_stmt 0 view .LVU65
 177 0078 514C     		ldr	r4, .L28+4
 178 007a E260     		str	r2, [r4, #12]
 179              	.LVL17:
 180              	.L3:
 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 181              		.loc 1 185 46 is_stmt 1 discriminator 2 view .LVU66
 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 182              		.loc 1 185 54 is_stmt 0 discriminator 2 view .LVU67
 183 007c 0133     		adds	r3, r3, #1
 184              	.LVL18:
 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 185              		.loc 1 185 22 is_stmt 1 discriminator 2 view .LVU68
 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 186              		.loc 1 185 3 is_stmt 0 discriminator 2 view .LVU69
 187 007e 0F2B     		cmp	r3, #15
 188 0080 00F29880 		bhi	.L26
 189              	.LVL19:
 190              	.L13:
 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     /* Get the current IO position */
 191              		.loc 1 188 5 is_stmt 1 view .LVU70
 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     /* Get the current IO position */
 192              		.loc 1 188 16 is_stmt 0 view .LVU71
 193 0084 0122     		movs	r2, #1
 194 0086 9A40     		lsls	r2, r2, r3
 195              	.LVL20:
 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 196              		.loc 1 190 5 is_stmt 1 view .LVU72
 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 197              		.loc 1 190 37 is_stmt 0 view .LVU73
 198 0088 0C68     		ldr	r4, [r1]
 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 199              		.loc 1 190 15 view .LVU74
 200 008a 04EA020C 		and	ip, r4, r2
 201              	.LVL21:
 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     {
 202              		.loc 1 192 5 is_stmt 1 view .LVU75
 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     {
 203              		.loc 1 192 7 is_stmt 0 view .LVU76
 204 008e 32EA0404 		bics	r4, r2, r4
 205 0092 F3D1     		bne	.L3
 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 206              		.loc 1 196 7 is_stmt 1 view .LVU77
 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 207              		.loc 1 196 20 is_stmt 0 view .LVU78
 208 0094 4C68     		ldr	r4, [r1, #4]
 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 209              		.loc 1 196 9 view .LVU79
 210 0096 022C     		cmp	r4, #2
 211 0098 01D0     		beq	.L4
 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 212              		.loc 1 196 47 discriminator 1 view .LVU80
 213 009a 122C     		cmp	r4, #18
 214 009c 10D1     		bne	.L5
 215              	.L4:
 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Configure Alternate function mapped with the current IO */
ARM GAS  /tmp/ccOa6coP.s 			page 10


 216              		.loc 1 199 9 is_stmt 1 view .LVU81
 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
 217              		.loc 1 201 9 view .LVU82
 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
 218              		.loc 1 201 36 is_stmt 0 view .LVU83
 219 009e DD08     		lsrs	r5, r3, #3
 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
 220              		.loc 1 201 14 view .LVU84
 221 00a0 0835     		adds	r5, r5, #8
 222 00a2 50F82570 		ldr	r7, [r0, r5, lsl #2]
 223              	.LVL22:
 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
 224              		.loc 1 202 9 is_stmt 1 view .LVU85
 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
 225              		.loc 1 202 28 is_stmt 0 view .LVU86
 226 00a6 03F00704 		and	r4, r3, #7
 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
 227              		.loc 1 202 57 view .LVU87
 228 00aa A600     		lsls	r6, r4, #2
 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
 229              		.loc 1 202 24 view .LVU88
 230 00ac 0F24     		movs	r4, #15
 231 00ae B440     		lsls	r4, r4, r6
 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & 0x07U) * 4U));
 232              		.loc 1 202 14 view .LVU89
 233 00b0 27EA040E 		bic	lr, r7, r4
 234              	.LVL23:
 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->AFR[position >> 3U] = temp;
 235              		.loc 1 203 9 is_stmt 1 view .LVU90
 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->AFR[position >> 3U] = temp;
 236              		.loc 1 203 38 is_stmt 0 view .LVU91
 237 00b4 0C69     		ldr	r4, [r1, #16]
 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->AFR[position >> 3U] = temp;
 238              		.loc 1 203 51 view .LVU92
 239 00b6 B440     		lsls	r4, r4, r6
 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->AFR[position >> 3U] = temp;
 240              		.loc 1 203 14 view .LVU93
 241 00b8 44EA0E04 		orr	r4, r4, lr
 242              	.LVL24:
 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 243              		.loc 1 204 9 is_stmt 1 view .LVU94
 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 244              		.loc 1 204 36 is_stmt 0 view .LVU95
 245 00bc 40F82540 		str	r4, [r0, r5, lsl #2]
 246              	.LVL25:
 247              	.L5:
 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp &= ~(GPIO_MODER_MODER0 << (position * 2U));
 248              		.loc 1 208 7 is_stmt 1 view .LVU96
 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp &= ~(GPIO_MODER_MODER0 << (position * 2U));
 249              		.loc 1 208 12 is_stmt 0 view .LVU97
 250 00c0 0668     		ldr	r6, [r0]
 251              	.LVL26:
 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 252              		.loc 1 209 7 is_stmt 1 view .LVU98
 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 253              		.loc 1 209 48 is_stmt 0 view .LVU99
 254 00c2 4FEA430E 		lsl	lr, r3, #1
ARM GAS  /tmp/ccOa6coP.s 			page 11


 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 255              		.loc 1 209 35 view .LVU100
 256 00c6 0324     		movs	r4, #3
 257 00c8 04FA0EF4 		lsl	r4, r4, lr
 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 258              		.loc 1 209 15 view .LVU101
 259 00cc E543     		mvns	r5, r4
 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
 260              		.loc 1 209 12 view .LVU102
 261 00ce 26EA0406 		bic	r6, r6, r4
 262              	.LVL27:
 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 263              		.loc 1 210 7 is_stmt 1 view .LVU103
 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 264              		.loc 1 210 26 is_stmt 0 view .LVU104
 265 00d2 4C68     		ldr	r4, [r1, #4]
 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 266              		.loc 1 210 33 view .LVU105
 267 00d4 04F00304 		and	r4, r4, #3
 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 268              		.loc 1 210 46 view .LVU106
 269 00d8 04FA0EF4 		lsl	r4, r4, lr
 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->MODER = temp;
 270              		.loc 1 210 12 view .LVU107
 271 00dc 3443     		orrs	r4, r4, r6
 272              	.LVL28:
 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 273              		.loc 1 211 7 is_stmt 1 view .LVU108
 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 274              		.loc 1 211 20 is_stmt 0 view .LVU109
 275 00de 0460     		str	r4, [r0]
 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****          (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
 276              		.loc 1 214 7 is_stmt 1 view .LVU110
 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****          (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
 277              		.loc 1 214 20 is_stmt 0 view .LVU111
 278 00e0 4C68     		ldr	r4, [r1, #4]
 279              	.LVL29:
 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****          (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
 280              		.loc 1 214 51 view .LVU112
 281 00e2 661E     		subs	r6, r4, #1
 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****          (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
 282              		.loc 1 214 9 view .LVU113
 283 00e4 012E     		cmp	r6, #1
 284 00e6 03D9     		bls	.L6
 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****          (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
 285              		.loc 1 214 91 discriminator 1 view .LVU114
 286 00e8 112C     		cmp	r4, #17
 287 00ea 01D0     		beq	.L6
 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 288              		.loc 1 215 51 view .LVU115
 289 00ec 122C     		cmp	r4, #18
 290 00ee 0FD1     		bne	.L7
 291              	.L6:
 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Configure the IO Speed */
 292              		.loc 1 218 9 is_stmt 1 view .LVU116
 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
 293              		.loc 1 220 9 view .LVU117
ARM GAS  /tmp/ccOa6coP.s 			page 12


 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
 294              		.loc 1 220 14 is_stmt 0 view .LVU118
 295 00f0 8668     		ldr	r6, [r0, #8]
 296              	.LVL30:
 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= (GPIO_Init->Speed << (position * 2U));
 297              		.loc 1 221 9 is_stmt 1 view .LVU119
 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= (GPIO_Init->Speed << (position * 2U));
 298              		.loc 1 221 14 is_stmt 0 view .LVU120
 299 00f2 2E40     		ands	r6, r6, r5
 300              	.LVL31:
 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OSPEEDR = temp;
 301              		.loc 1 222 9 is_stmt 1 view .LVU121
 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OSPEEDR = temp;
 302              		.loc 1 222 27 is_stmt 0 view .LVU122
 303 00f4 CC68     		ldr	r4, [r1, #12]
 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OSPEEDR = temp;
 304              		.loc 1 222 35 view .LVU123
 305 00f6 04FA0EF4 		lsl	r4, r4, lr
 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OSPEEDR = temp;
 306              		.loc 1 222 14 view .LVU124
 307 00fa 3443     		orrs	r4, r4, r6
 308              	.LVL32:
 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 309              		.loc 1 223 9 is_stmt 1 view .LVU125
 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 310              		.loc 1 223 24 is_stmt 0 view .LVU126
 311 00fc 8460     		str	r4, [r0, #8]
 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(GPIO_OTYPER_OT_0 << position) ;
 312              		.loc 1 226 9 is_stmt 1 view .LVU127
 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(GPIO_OTYPER_OT_0 << position) ;
 313              		.loc 1 226 14 is_stmt 0 view .LVU128
 314 00fe 4468     		ldr	r4, [r0, #4]
 315              	.LVL33:
 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4U) << position);
 316              		.loc 1 227 9 is_stmt 1 view .LVU129
 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4U) << position);
 317              		.loc 1 227 14 is_stmt 0 view .LVU130
 318 0100 24EA0202 		bic	r2, r4, r2
 319              	.LVL34:
 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OTYPER = temp;
 320              		.loc 1 228 9 is_stmt 1 view .LVU131
 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OTYPER = temp;
 321              		.loc 1 228 29 is_stmt 0 view .LVU132
 322 0104 4C68     		ldr	r4, [r1, #4]
 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OTYPER = temp;
 323              		.loc 1 228 56 view .LVU133
 324 0106 C4F30014 		ubfx	r4, r4, #4, #1
 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OTYPER = temp;
 325              		.loc 1 228 63 view .LVU134
 326 010a 9C40     		lsls	r4, r4, r3
 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         GPIOx->OTYPER = temp;
 327              		.loc 1 228 14 view .LVU135
 328 010c 1443     		orrs	r4, r4, r2
 329              	.LVL35:
 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 330              		.loc 1 229 9 is_stmt 1 view .LVU136
 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
ARM GAS  /tmp/ccOa6coP.s 			page 13


 331              		.loc 1 229 23 is_stmt 0 view .LVU137
 332 010e 4460     		str	r4, [r0, #4]
 333              	.LVL36:
 334              	.L7:
 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
 335              		.loc 1 233 7 is_stmt 1 view .LVU138
 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
 336              		.loc 1 233 12 is_stmt 0 view .LVU139
 337 0110 C268     		ldr	r2, [r0, #12]
 338              	.LVL37:
 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Pull) << (position * 2U));
 339              		.loc 1 234 7 is_stmt 1 view .LVU140
 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       temp |= ((GPIO_Init->Pull) << (position * 2U));
 340              		.loc 1 234 12 is_stmt 0 view .LVU141
 341 0112 1540     		ands	r5, r5, r2
 342              	.LVL38:
 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->PUPDR = temp;
 343              		.loc 1 235 7 is_stmt 1 view .LVU142
 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->PUPDR = temp;
 344              		.loc 1 235 26 is_stmt 0 view .LVU143
 345 0114 8A68     		ldr	r2, [r1, #8]
 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->PUPDR = temp;
 346              		.loc 1 235 34 view .LVU144
 347 0116 02FA0EF2 		lsl	r2, r2, lr
 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->PUPDR = temp;
 348              		.loc 1 235 12 view .LVU145
 349 011a 2A43     		orrs	r2, r2, r5
 350              	.LVL39:
 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 351              		.loc 1 236 7 is_stmt 1 view .LVU146
 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 352              		.loc 1 236 20 is_stmt 0 view .LVU147
 353 011c C260     		str	r2, [r0, #12]
 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 354              		.loc 1 240 7 is_stmt 1 view .LVU148
 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 355              		.loc 1 240 20 is_stmt 0 view .LVU149
 356 011e 4A68     		ldr	r2, [r1, #4]
 357              	.LVL40:
 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 358              		.loc 1 240 9 view .LVU150
 359 0120 12F0805F 		tst	r2, #268435456
 360 0124 AAD0     		beq	.L3
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 361              		.loc 1 243 9 is_stmt 1 view .LVU151
 362              	.LBB2:
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 363              		.loc 1 243 9 view .LVU152
 364 0126 0022     		movs	r2, #0
 365 0128 0192     		str	r2, [sp, #4]
 366              	.LVL41:
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 367              		.loc 1 243 9 view .LVU153
 368 012a 264A     		ldr	r2, .L28+8
 369 012c 546C     		ldr	r4, [r2, #68]
 370 012e 44F48044 		orr	r4, r4, #16384
 371 0132 5464     		str	r4, [r2, #68]
ARM GAS  /tmp/ccOa6coP.s 			page 14


 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 372              		.loc 1 243 9 view .LVU154
 373 0134 526C     		ldr	r2, [r2, #68]
 374 0136 02F48042 		and	r2, r2, #16384
 375 013a 0192     		str	r2, [sp, #4]
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 376              		.loc 1 243 9 view .LVU155
 377 013c 019A     		ldr	r2, [sp, #4]
 378              	.LBE2:
 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 379              		.loc 1 243 9 view .LVU156
 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(0x0FU << (4U * (position & 0x03U)));
 380              		.loc 1 245 9 view .LVU157
 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(0x0FU << (4U * (position & 0x03U)));
 381              		.loc 1 245 40 is_stmt 0 view .LVU158
 382 013e 9C08     		lsrs	r4, r3, #2
 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp &= ~(0x0FU << (4U * (position & 0x03U)));
 383              		.loc 1 245 14 view .LVU159
 384 0140 A51C     		adds	r5, r4, #2
 385 0142 1E4A     		ldr	r2, .L28
 386 0144 52F82560 		ldr	r6, [r2, r5, lsl #2]
 387              	.LVL42:
 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
 388              		.loc 1 246 9 is_stmt 1 view .LVU160
 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
 389              		.loc 1 246 44 is_stmt 0 view .LVU161
 390 0148 03F00302 		and	r2, r3, #3
 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
 391              		.loc 1 246 32 view .LVU162
 392 014c 9500     		lsls	r5, r2, #2
 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
 393              		.loc 1 246 25 view .LVU163
 394 014e 0F22     		movs	r2, #15
 395 0150 AA40     		lsls	r2, r2, r5
 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U)));
 396              		.loc 1 246 14 view .LVU164
 397 0152 26EA0206 		bic	r6, r6, r2
 398              	.LVL43:
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 399              		.loc 1 247 9 is_stmt 1 view .LVU165
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 400              		.loc 1 247 18 is_stmt 0 view .LVU166
 401 0156 1C4A     		ldr	r2, .L28+12
 402 0158 9042     		cmp	r0, r2
 403 015a 3FF45AAF 		beq	.L14
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 404              		.loc 1 247 29 discriminator 1 view .LVU167
 405 015e 02F58062 		add	r2, r2, #1024
 406 0162 9042     		cmp	r0, r2
 407 0164 1AD0     		beq	.L15
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 408              		.loc 1 247 29 discriminator 3 view .LVU168
 409 0166 02F58062 		add	r2, r2, #1024
 410 016a 9042     		cmp	r0, r2
 411 016c 18D0     		beq	.L16
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 412              		.loc 1 247 29 discriminator 5 view .LVU169
ARM GAS  /tmp/ccOa6coP.s 			page 15


 413 016e 02F58062 		add	r2, r2, #1024
 414 0172 9042     		cmp	r0, r2
 415 0174 16D0     		beq	.L17
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 416              		.loc 1 247 29 discriminator 7 view .LVU170
 417 0176 02F58062 		add	r2, r2, #1024
 418 017a 9042     		cmp	r0, r2
 419 017c 14D0     		beq	.L18
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 420              		.loc 1 247 29 discriminator 9 view .LVU171
 421 017e 02F58062 		add	r2, r2, #1024
 422 0182 9042     		cmp	r0, r2
 423 0184 12D0     		beq	.L19
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 424              		.loc 1 247 29 discriminator 11 view .LVU172
 425 0186 02F58062 		add	r2, r2, #1024
 426 018a 9042     		cmp	r0, r2
 427 018c 10D0     		beq	.L20
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 428              		.loc 1 247 29 discriminator 13 view .LVU173
 429 018e 02F58062 		add	r2, r2, #1024
 430 0192 9042     		cmp	r0, r2
 431 0194 3FF43BAF 		beq	.L27
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 432              		.loc 1 247 29 view .LVU174
 433 0198 0822     		movs	r2, #8
 434 019a 3BE7     		b	.L8
 435              	.L15:
 436 019c 0122     		movs	r2, #1
 437              	.LVL44:
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 438              		.loc 1 247 29 view .LVU175
 439 019e 39E7     		b	.L8
 440              	.LVL45:
 441              	.L16:
 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] = temp;
 442              		.loc 1 247 29 view .LVU176
 443 01a0 0222     		movs	r2, #2
 444 01a2 37E7     		b	.L8
 445              	.L17:
 446 01a4 0322     		movs	r2, #3
 447 01a6 35E7     		b	.L8
 448              	.L18:
 449 01a8 0422     		movs	r2, #4
 450 01aa 33E7     		b	.L8
 451              	.L19:
 452 01ac 0522     		movs	r2, #5
 453 01ae 31E7     		b	.L8
 454              	.L20:
 455 01b0 0622     		movs	r2, #6
 456 01b2 2FE7     		b	.L8
 457              	.LVL46:
 458              	.L26:
 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     }
 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
ARM GAS  /tmp/ccOa6coP.s 			page 16


 459              		.loc 1 286 1 view .LVU177
 460 01b4 03B0     		add	sp, sp, #12
 461              	.LCFI2:
 462              		.cfi_def_cfa_offset 20
 463              		@ sp needed
 464 01b6 F0BD     		pop	{r4, r5, r6, r7, pc}
 465              	.LVL47:
 466              	.L25:
 467              	.LCFI3:
 468              		.cfi_def_cfa_offset 0
 469              		.cfi_restore 4
 470              		.cfi_restore 5
 471              		.cfi_restore 6
 472              		.cfi_restore 7
 473              		.cfi_restore 14
 474              		.loc 1 286 1 view .LVU178
 475 01b8 7047     		bx	lr
 476              	.L29:
 477 01ba 00BF     		.align	2
 478              	.L28:
 479 01bc 00380140 		.word	1073821696
 480 01c0 003C0140 		.word	1073822720
 481 01c4 00380240 		.word	1073887232
 482 01c8 00000240 		.word	1073872896
 483              		.cfi_endproc
 484              	.LFE130:
 486              		.section	.text.HAL_GPIO_DeInit,"ax",%progbits
 487              		.align	1
 488              		.global	HAL_GPIO_DeInit
 489              		.syntax unified
 490              		.thumb
 491              		.thumb_func
 493              	HAL_GPIO_DeInit:
 494              	.LVL48:
 495              	.LFB131:
 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief  De-initializes the GPIOx peripheral registers to their default reset values.
 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *                      x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to be written.
 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *          This parameter can be one of GPIO_PIN_x where x can be (0..15).
 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @retval None
 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin)
 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
 496              		.loc 1 297 1 is_stmt 1 view -0
 497              		.cfi_startproc
 498              		@ args = 0, pretend = 0, frame = 0
 499              		@ frame_needed = 0, uses_anonymous_args = 0
 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t position;
 500              		.loc 1 298 3 view .LVU180
 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t ioposition = 0x00U;
 501              		.loc 1 299 3 view .LVU181
 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t iocurrent = 0x00U;
 502              		.loc 1 300 3 view .LVU182
 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t tmp = 0x00U;
ARM GAS  /tmp/ccOa6coP.s 			page 17


 503              		.loc 1 301 3 view .LVU183
 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Check the parameters */
 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
 504              		.loc 1 304 3 view .LVU184
 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   
 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Configure the port pins */
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   for(position = 0U; position < GPIO_NUMBER; position++)
 505              		.loc 1 307 3 view .LVU185
 506              		.loc 1 307 16 is_stmt 0 view .LVU186
 507 0000 0023     		movs	r3, #0
 508              	.LVL49:
 509              		.loc 1 307 22 is_stmt 1 view .LVU187
 510              		.loc 1 307 3 is_stmt 0 view .LVU188
 511 0002 0F2B     		cmp	r3, #15
 512 0004 00F29080 		bhi	.L47
 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   uint32_t position;
 513              		.loc 1 297 1 view .LVU189
 514 0008 F0B5     		push	{r4, r5, r6, r7, lr}
 515              	.LCFI4:
 516              		.cfi_def_cfa_offset 20
 517              		.cfi_offset 4, -20
 518              		.cfi_offset 5, -16
 519              		.cfi_offset 6, -12
 520              		.cfi_offset 7, -8
 521              		.cfi_offset 14, -4
 522 000a 2DE0     		b	.L35
 523              	.LVL50:
 524              	.L50:
 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     /* Get the IO position */
 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     ioposition = 0x01U << position;
 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     /* Get the current IO position */
 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     iocurrent = (GPIO_Pin) & ioposition;
 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     if(iocurrent == ioposition)
 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     {
 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /*------------------------- EXTI Mode Configuration --------------------*/
 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       tmp = SYSCFG->EXTICR[position >> 2U];
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       tmp &= (0x0FU << (4U * (position & 0x03U)));
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
 525              		.loc 1 319 29 view .LVU190
 526 000c 0725     		movs	r5, #7
 527 000e 00E0     		b	.L33
 528              	.L36:
 529              		.loc 1 319 18 view .LVU191
 530 0010 0025     		movs	r5, #0
 531              	.L33:
 532              		.loc 1 319 52 discriminator 32 view .LVU192
 533 0012 05FA0CFC 		lsl	ip, r5, ip
 534              		.loc 1 319 9 discriminator 32 view .LVU193
 535 0016 A445     		cmp	ip, r4
 536 0018 69D0     		beq	.L48
 537              	.LVL51:
 538              	.L34:
 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Configure the External Interrupt or event for the current IO */
ARM GAS  /tmp/ccOa6coP.s 			page 18


 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         tmp = 0x0FU << (4U * (position & 0x03U));
 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] &= ~tmp;
 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Clear EXTI line configuration */
 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->IMR &= ~((uint32_t)iocurrent);
 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->EMR &= ~((uint32_t)iocurrent);
 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         
 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         /* Clear Rising Falling edge configuration */
 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->RTSR &= ~((uint32_t)iocurrent);
 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->FTSR &= ~((uint32_t)iocurrent);
 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /*------------------------- GPIO Mode Configuration --------------------*/
 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* Configure IO Direction in Input Floating Mode */
 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (position * 2U));
 539              		.loc 1 336 7 is_stmt 1 view .LVU194
 540              		.loc 1 336 20 is_stmt 0 view .LVU195
 541 001a 0468     		ldr	r4, [r0]
 542              		.loc 1 336 56 view .LVU196
 543 001c 5D00     		lsls	r5, r3, #1
 544              		.loc 1 336 43 view .LVU197
 545 001e 4FF0030C 		mov	ip, #3
 546 0022 0CFA05FC 		lsl	ip, ip, r5
 547              		.loc 1 336 20 view .LVU198
 548 0026 24EA0C04 		bic	r4, r4, ip
 549 002a 0460     		str	r4, [r0]
 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* Configure the default Alternate Function in current IO */
 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->AFR[position >> 3U] &= ~(0xFU << ((uint32_t)(position & 0x07U) * 4U)) ;
 550              		.loc 1 339 7 is_stmt 1 view .LVU199
 551              		.loc 1 339 34 is_stmt 0 view .LVU200
 552 002c 4FEAD30E 		lsr	lr, r3, #3
 553 0030 0EF1080E 		add	lr, lr, #8
 554 0034 50F82E40 		ldr	r4, [r0, lr, lsl #2]
 555              		.loc 1 339 48 view .LVU201
 556 0038 03F00705 		and	r5, r3, #7
 557              		.loc 1 339 77 view .LVU202
 558 003c AE00     		lsls	r6, r5, #2
 559              		.loc 1 339 44 view .LVU203
 560 003e 0F25     		movs	r5, #15
 561 0040 B540     		lsls	r5, r5, r6
 562              		.loc 1 339 34 view .LVU204
 563 0042 24EA0504 		bic	r4, r4, r5
 564 0046 40F82E40 		str	r4, [r0, lr, lsl #2]
 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* Configure the default value for IO Speed */
 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2U));
 565              		.loc 1 342 7 is_stmt 1 view .LVU205
 566              		.loc 1 342 22 is_stmt 0 view .LVU206
 567 004a 8468     		ldr	r4, [r0, #8]
 568 004c 24EA0C04 		bic	r4, r4, ip
 569 0050 8460     		str	r4, [r0, #8]
 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* Configure the default value IO Output Type */
 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->OTYPER  &= ~(GPIO_OTYPER_OT_0 << position) ;
 570              		.loc 1 345 7 is_stmt 1 view .LVU207
 571              		.loc 1 345 22 is_stmt 0 view .LVU208
ARM GAS  /tmp/ccOa6coP.s 			page 19


 572 0052 4468     		ldr	r4, [r0, #4]
 573 0054 24EA0202 		bic	r2, r4, r2
 574              	.LVL52:
 575              		.loc 1 345 22 view .LVU209
 576 0058 4260     		str	r2, [r0, #4]
 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       /* Deactivate the Pull-up and Pull-down resistor for the current IO */
 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
 577              		.loc 1 348 7 is_stmt 1 view .LVU210
 578              		.loc 1 348 20 is_stmt 0 view .LVU211
 579 005a C268     		ldr	r2, [r0, #12]
 580 005c 22EA0C02 		bic	r2, r2, ip
 581 0060 C260     		str	r2, [r0, #12]
 582              	.L32:
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 583              		.loc 1 307 46 is_stmt 1 discriminator 2 view .LVU212
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 584              		.loc 1 307 54 is_stmt 0 discriminator 2 view .LVU213
 585 0062 0133     		adds	r3, r3, #1
 586              	.LVL53:
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 587              		.loc 1 307 22 is_stmt 1 discriminator 2 view .LVU214
 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 588              		.loc 1 307 3 is_stmt 0 discriminator 2 view .LVU215
 589 0064 0F2B     		cmp	r3, #15
 590 0066 5ED8     		bhi	.L49
 591              	.LVL54:
 592              	.L35:
 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     /* Get the current IO position */
 593              		.loc 1 310 5 is_stmt 1 view .LVU216
 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     /* Get the current IO position */
 594              		.loc 1 310 16 is_stmt 0 view .LVU217
 595 0068 0122     		movs	r2, #1
 596 006a 9A40     		lsls	r2, r2, r3
 597              	.LVL55:
 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 598              		.loc 1 312 5 is_stmt 1 view .LVU218
 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 599              		.loc 1 312 15 is_stmt 0 view .LVU219
 600 006c 02EA0106 		and	r6, r2, r1
 601              	.LVL56:
 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     {
 602              		.loc 1 314 5 is_stmt 1 view .LVU220
 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     {
 603              		.loc 1 314 7 is_stmt 0 view .LVU221
 604 0070 32EA0104 		bics	r4, r2, r1
 605 0074 F5D1     		bne	.L32
 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       tmp &= (0x0FU << (4U * (position & 0x03U)));
 606              		.loc 1 317 7 is_stmt 1 view .LVU222
 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       tmp &= (0x0FU << (4U * (position & 0x03U)));
 607              		.loc 1 317 37 is_stmt 0 view .LVU223
 608 0076 4FEA930E 		lsr	lr, r3, #2
 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       tmp &= (0x0FU << (4U * (position & 0x03U)));
 609              		.loc 1 317 11 view .LVU224
 610 007a 0EF10205 		add	r5, lr, #2
 611 007e 2B4C     		ldr	r4, .L51
 612 0080 54F82540 		ldr	r4, [r4, r5, lsl #2]
ARM GAS  /tmp/ccOa6coP.s 			page 20


 613              	.LVL57:
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
 614              		.loc 1 318 7 is_stmt 1 view .LVU225
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
 615              		.loc 1 318 40 is_stmt 0 view .LVU226
 616 0084 03F0030C 		and	ip, r3, #3
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
 617              		.loc 1 318 28 view .LVU227
 618 0088 4FEA8C0C 		lsl	ip, ip, #2
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
 619              		.loc 1 318 21 view .LVU228
 620 008c 0F25     		movs	r5, #15
 621 008e 05FA0CF7 		lsl	r7, r5, ip
 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4U * (position & 0x03U))))
 622              		.loc 1 318 11 view .LVU229
 623 0092 3C40     		ands	r4, r4, r7
 624              	.LVL58:
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 625              		.loc 1 319 7 is_stmt 1 view .LVU230
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 626              		.loc 1 319 18 is_stmt 0 view .LVU231
 627 0094 264D     		ldr	r5, .L51+4
 628 0096 A842     		cmp	r0, r5
 629 0098 BAD0     		beq	.L36
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 630              		.loc 1 319 29 discriminator 1 view .LVU232
 631 009a 05F58065 		add	r5, r5, #1024
 632 009e A842     		cmp	r0, r5
 633 00a0 19D0     		beq	.L37
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 634              		.loc 1 319 29 discriminator 3 view .LVU233
 635 00a2 05F58065 		add	r5, r5, #1024
 636 00a6 A842     		cmp	r0, r5
 637 00a8 17D0     		beq	.L38
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 638              		.loc 1 319 29 discriminator 5 view .LVU234
 639 00aa 05F58065 		add	r5, r5, #1024
 640 00ae A842     		cmp	r0, r5
 641 00b0 15D0     		beq	.L39
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 642              		.loc 1 319 29 discriminator 7 view .LVU235
 643 00b2 05F58065 		add	r5, r5, #1024
 644 00b6 A842     		cmp	r0, r5
 645 00b8 13D0     		beq	.L40
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 646              		.loc 1 319 29 discriminator 9 view .LVU236
 647 00ba 05F58065 		add	r5, r5, #1024
 648 00be A842     		cmp	r0, r5
 649 00c0 11D0     		beq	.L41
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 650              		.loc 1 319 29 discriminator 11 view .LVU237
 651 00c2 05F58065 		add	r5, r5, #1024
 652 00c6 A842     		cmp	r0, r5
 653 00c8 0FD0     		beq	.L42
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 654              		.loc 1 319 29 discriminator 13 view .LVU238
 655 00ca 05F58065 		add	r5, r5, #1024
ARM GAS  /tmp/ccOa6coP.s 			page 21


 656 00ce A842     		cmp	r0, r5
 657 00d0 9CD0     		beq	.L50
 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       {
 658              		.loc 1 319 29 view .LVU239
 659 00d2 0825     		movs	r5, #8
 660 00d4 9DE7     		b	.L33
 661              	.L37:
 662 00d6 0125     		movs	r5, #1
 663 00d8 9BE7     		b	.L33
 664              	.L38:
 665 00da 0225     		movs	r5, #2
 666 00dc 99E7     		b	.L33
 667              	.L39:
 668 00de 0325     		movs	r5, #3
 669 00e0 97E7     		b	.L33
 670              	.L40:
 671 00e2 0425     		movs	r5, #4
 672 00e4 95E7     		b	.L33
 673              	.L41:
 674 00e6 0525     		movs	r5, #5
 675 00e8 93E7     		b	.L33
 676              	.L42:
 677 00ea 0625     		movs	r5, #6
 678 00ec 91E7     		b	.L33
 679              	.L48:
 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         SYSCFG->EXTICR[position >> 2U] &= ~tmp;
 680              		.loc 1 322 9 is_stmt 1 view .LVU240
 681              	.LVL59:
 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 682              		.loc 1 323 9 view .LVU241
 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 683              		.loc 1 323 40 is_stmt 0 view .LVU242
 684 00ee DFF83CC0 		ldr	ip, .L51
 685 00f2 0EF10204 		add	r4, lr, #2
 686 00f6 5CF82450 		ldr	r5, [ip, r4, lsl #2]
 687 00fa 25EA0705 		bic	r5, r5, r7
 688 00fe 4CF82450 		str	r5, [ip, r4, lsl #2]
 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->EMR &= ~((uint32_t)iocurrent);
 689              		.loc 1 326 9 is_stmt 1 view .LVU243
 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->EMR &= ~((uint32_t)iocurrent);
 690              		.loc 1 326 19 is_stmt 0 view .LVU244
 691 0102 0C4C     		ldr	r4, .L51+8
 692 0104 2568     		ldr	r5, [r4]
 693 0106 25EA0605 		bic	r5, r5, r6
 694 010a 2560     		str	r5, [r4]
 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         
 695              		.loc 1 327 9 is_stmt 1 view .LVU245
 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         
 696              		.loc 1 327 19 is_stmt 0 view .LVU246
 697 010c 6568     		ldr	r5, [r4, #4]
 698 010e 25EA0605 		bic	r5, r5, r6
 699 0112 6560     		str	r5, [r4, #4]
 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->FTSR &= ~((uint32_t)iocurrent);
 700              		.loc 1 330 9 is_stmt 1 view .LVU247
 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****         EXTI->FTSR &= ~((uint32_t)iocurrent);
 701              		.loc 1 330 20 is_stmt 0 view .LVU248
 702 0114 A568     		ldr	r5, [r4, #8]
ARM GAS  /tmp/ccOa6coP.s 			page 22


 703 0116 25EA0605 		bic	r5, r5, r6
 704 011a A560     		str	r5, [r4, #8]
 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 705              		.loc 1 331 9 is_stmt 1 view .LVU249
 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 706              		.loc 1 331 20 is_stmt 0 view .LVU250
 707 011c E568     		ldr	r5, [r4, #12]
 708 011e 25EA0606 		bic	r6, r5, r6
 709              	.LVL60:
 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****       }
 710              		.loc 1 331 20 view .LVU251
 711 0122 E660     		str	r6, [r4, #12]
 712 0124 79E7     		b	.L34
 713              	.LVL61:
 714              	.L49:
 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     }
 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
 715              		.loc 1 351 1 view .LVU252
 716 0126 F0BD     		pop	{r4, r5, r6, r7, pc}
 717              	.LVL62:
 718              	.L47:
 719              	.LCFI5:
 720              		.cfi_def_cfa_offset 0
 721              		.cfi_restore 4
 722              		.cfi_restore 5
 723              		.cfi_restore 6
 724              		.cfi_restore 7
 725              		.cfi_restore 14
 726              		.loc 1 351 1 view .LVU253
 727 0128 7047     		bx	lr
 728              	.L52:
 729 012a 00BF     		.align	2
 730              	.L51:
 731 012c 00380140 		.word	1073821696
 732 0130 00000240 		.word	1073872896
 733 0134 003C0140 		.word	1073822720
 734              		.cfi_endproc
 735              	.LFE131:
 737              		.section	.text.HAL_GPIO_ReadPin,"ax",%progbits
 738              		.align	1
 739              		.global	HAL_GPIO_ReadPin
 740              		.syntax unified
 741              		.thumb
 742              		.thumb_func
 744              	HAL_GPIO_ReadPin:
 745              	.LVL63:
 746              	.LFB132:
 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @}
 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions 
 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *  @brief   GPIO Read and Write
 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *
 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @verbatim
ARM GAS  /tmp/ccOa6coP.s 			page 23


 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****  ===============================================================================
 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****                        ##### IO operation functions #####
 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****  ===============================================================================
 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** @endverbatim
 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @{
 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief  Reads the specified input port pin.
 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *                      x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to read.
 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *         This parameter can be GPIO_PIN_x where x can be (0..15).
 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @retval The input port pin value.
 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
 747              		.loc 1 378 1 is_stmt 1 view -0
 748              		.cfi_startproc
 749              		@ args = 0, pretend = 0, frame = 0
 750              		@ frame_needed = 0, uses_anonymous_args = 0
 751              		@ link register save eliminated.
 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   GPIO_PinState bitstatus;
 752              		.loc 1 379 3 view .LVU255
 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Check the parameters */
 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 753              		.loc 1 382 3 view .LVU256
 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
 754              		.loc 1 384 3 view .LVU257
 755              		.loc 1 384 12 is_stmt 0 view .LVU258
 756 0000 0369     		ldr	r3, [r0, #16]
 757              		.loc 1 384 5 view .LVU259
 758 0002 1942     		tst	r1, r3
 759 0004 01D0     		beq	.L55
 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     bitstatus = GPIO_PIN_SET;
 760              		.loc 1 386 15 view .LVU260
 761 0006 0120     		movs	r0, #1
 762              	.LVL64:
 763              		.loc 1 386 15 view .LVU261
 764 0008 7047     		bx	lr
 765              	.LVL65:
 766              	.L55:
 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   else
 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     bitstatus = GPIO_PIN_RESET;
 767              		.loc 1 390 15 view .LVU262
 768 000a 0020     		movs	r0, #0
 769              	.LVL66:
 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   return bitstatus;
 770              		.loc 1 392 3 is_stmt 1 view .LVU263
 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
ARM GAS  /tmp/ccOa6coP.s 			page 24


 771              		.loc 1 393 1 is_stmt 0 view .LVU264
 772 000c 7047     		bx	lr
 773              		.cfi_endproc
 774              	.LFE132:
 776              		.section	.text.HAL_GPIO_WritePin,"ax",%progbits
 777              		.align	1
 778              		.global	HAL_GPIO_WritePin
 779              		.syntax unified
 780              		.thumb
 781              		.thumb_func
 783              	HAL_GPIO_WritePin:
 784              	.LVL67:
 785              	.LFB133:
 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief  Sets or clears the selected data port bit.
 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *
 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @note   This function uses GPIOx_BSRR register to allow atomic read/modify
 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *         accesses. In this way, there is no risk of an IRQ occurring between
 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *         the read and the modify access.
 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *
 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *                      x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to be written.
 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *          This parameter can be one of GPIO_PIN_x where x can be (0..15).
 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  PinState specifies the value to be written to the selected bit.
 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *          This parameter can be one of the GPIO_PinState enum values:
 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *            @arg GPIO_PIN_RESET: to clear the port pin
 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *            @arg GPIO_PIN_SET: to set the port pin
 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @retval None
 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
 786              		.loc 1 413 1 is_stmt 1 view -0
 787              		.cfi_startproc
 788              		@ args = 0, pretend = 0, frame = 0
 789              		@ frame_needed = 0, uses_anonymous_args = 0
 790              		@ link register save eliminated.
 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Check the parameters */
 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 791              		.loc 1 415 3 view .LVU266
 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN_ACTION(PinState));
 792              		.loc 1 416 3 view .LVU267
 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   if(PinState != GPIO_PIN_RESET)
 793              		.loc 1 418 3 view .LVU268
 794              		.loc 1 418 5 is_stmt 0 view .LVU269
 795 0000 0AB1     		cbz	r2, .L57
 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     GPIOx->BSRR = GPIO_Pin;
 796              		.loc 1 420 5 is_stmt 1 view .LVU270
 797              		.loc 1 420 17 is_stmt 0 view .LVU271
 798 0002 8161     		str	r1, [r0, #24]
 799 0004 7047     		bx	lr
 800              	.L57:
 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   else
ARM GAS  /tmp/ccOa6coP.s 			page 25


 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     GPIOx->BSRR = (uint32_t)GPIO_Pin << 16U;
 801              		.loc 1 424 5 is_stmt 1 view .LVU272
 802              		.loc 1 424 38 is_stmt 0 view .LVU273
 803 0006 0904     		lsls	r1, r1, #16
 804              	.LVL68:
 805              		.loc 1 424 17 view .LVU274
 806 0008 8161     		str	r1, [r0, #24]
 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
 807              		.loc 1 426 1 view .LVU275
 808 000a 7047     		bx	lr
 809              		.cfi_endproc
 810              	.LFE133:
 812              		.section	.text.HAL_GPIO_TogglePin,"ax",%progbits
 813              		.align	1
 814              		.global	HAL_GPIO_TogglePin
 815              		.syntax unified
 816              		.thumb
 817              		.thumb_func
 819              	HAL_GPIO_TogglePin:
 820              	.LVL69:
 821              	.LFB134:
 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief  Toggles the specified GPIO pins.
 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIOx Where x can be (A..K) to select the GPIO peripheral for STM32F429X device or
 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *                      x can be (A..I) to select the GPIO peripheral for STM32F40XX and STM32F427
 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIO_Pin Specifies the pins to be toggled.
 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @retval None
 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
 822              		.loc 1 436 1 is_stmt 1 view -0
 823              		.cfi_startproc
 824              		@ args = 0, pretend = 0, frame = 0
 825              		@ frame_needed = 0, uses_anonymous_args = 0
 826              		@ link register save eliminated.
 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Check the parameters */
 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 827              		.loc 1 438 3 view .LVU277
 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   if ((GPIOx->ODR & GPIO_Pin) == GPIO_Pin)
 828              		.loc 1 440 3 view .LVU278
 829              		.loc 1 440 13 is_stmt 0 view .LVU279
 830 0000 4369     		ldr	r3, [r0, #20]
 831              		.loc 1 440 6 view .LVU280
 832 0002 31EA0303 		bics	r3, r1, r3
 833 0006 01D0     		beq	.L62
 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     GPIOx->BSRR = (uint32_t)GPIO_Pin << GPIO_NUMBER;
 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   else
 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     GPIOx->BSRR = GPIO_Pin;
 834              		.loc 1 446 5 is_stmt 1 view .LVU281
 835              		.loc 1 446 17 is_stmt 0 view .LVU282
ARM GAS  /tmp/ccOa6coP.s 			page 26


 836 0008 8161     		str	r1, [r0, #24]
 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
 837              		.loc 1 448 1 view .LVU283
 838 000a 7047     		bx	lr
 839              	.L62:
 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 840              		.loc 1 442 5 is_stmt 1 view .LVU284
 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 841              		.loc 1 442 38 is_stmt 0 view .LVU285
 842 000c 0904     		lsls	r1, r1, #16
 843              	.LVL70:
 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 844              		.loc 1 442 17 view .LVU286
 845 000e 8161     		str	r1, [r0, #24]
 846 0010 7047     		bx	lr
 847              		.cfi_endproc
 848              	.LFE134:
 850              		.section	.text.HAL_GPIO_LockPin,"ax",%progbits
 851              		.align	1
 852              		.global	HAL_GPIO_LockPin
 853              		.syntax unified
 854              		.thumb
 855              		.thumb_func
 857              	HAL_GPIO_LockPin:
 858              	.LVL71:
 859              	.LFB135:
 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief  Locks GPIO Pins configuration registers.
 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @note   The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR,
 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *         GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @note   The configuration of the locked GPIO pins can no longer be modified
 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *         until the next reset.
 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F4 family
 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIO_Pin specifies the port bit to be locked.
 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   *         This parameter can be any combination of GPIO_PIN_x where x can be (0..15).
 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @retval None
 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
 860              		.loc 1 462 1 is_stmt 1 view -0
 861              		.cfi_startproc
 862              		@ args = 0, pretend = 0, frame = 8
 863              		@ frame_needed = 0, uses_anonymous_args = 0
 864              		@ link register save eliminated.
 865              		.loc 1 462 1 is_stmt 0 view .LVU288
 866 0000 82B0     		sub	sp, sp, #8
 867              	.LCFI6:
 868              		.cfi_def_cfa_offset 8
 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   __IO uint32_t tmp = GPIO_LCKR_LCKK;
 869              		.loc 1 463 3 is_stmt 1 view .LVU289
 870              		.loc 1 463 17 is_stmt 0 view .LVU290
 871 0002 4FF48033 		mov	r3, #65536
 872 0006 0193     		str	r3, [sp, #4]
 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Check the parameters */
ARM GAS  /tmp/ccOa6coP.s 			page 27


 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 873              		.loc 1 466 3 is_stmt 1 view .LVU291
 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Apply lock key write sequence */
 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   tmp |= GPIO_Pin;
 874              		.loc 1 469 3 view .LVU292
 875              		.loc 1 469 7 is_stmt 0 view .LVU293
 876 0008 019B     		ldr	r3, [sp, #4]
 877 000a 0B43     		orrs	r3, r3, r1
 878 000c 0193     		str	r3, [sp, #4]
 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
 879              		.loc 1 471 3 is_stmt 1 view .LVU294
 880              		.loc 1 471 15 is_stmt 0 view .LVU295
 881 000e 019B     		ldr	r3, [sp, #4]
 882 0010 C361     		str	r3, [r0, #28]
 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */
 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   GPIOx->LCKR = GPIO_Pin;
 883              		.loc 1 473 3 is_stmt 1 view .LVU296
 884              		.loc 1 473 15 is_stmt 0 view .LVU297
 885 0012 C161     		str	r1, [r0, #28]
 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
 886              		.loc 1 475 3 is_stmt 1 view .LVU298
 887              		.loc 1 475 15 is_stmt 0 view .LVU299
 888 0014 019B     		ldr	r3, [sp, #4]
 889 0016 C361     		str	r3, [r0, #28]
 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Read LCKK bit*/
 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   tmp = GPIOx->LCKR;
 890              		.loc 1 477 3 is_stmt 1 view .LVU300
 891              		.loc 1 477 14 is_stmt 0 view .LVU301
 892 0018 C369     		ldr	r3, [r0, #28]
 893              		.loc 1 477 7 view .LVU302
 894 001a 0193     		str	r3, [sp, #4]
 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****  if((GPIOx->LCKR & GPIO_LCKR_LCKK) != RESET)
 895              		.loc 1 479 2 is_stmt 1 view .LVU303
 896              		.loc 1 479 11 is_stmt 0 view .LVU304
 897 001c C369     		ldr	r3, [r0, #28]
 898              		.loc 1 479 4 view .LVU305
 899 001e 13F4803F 		tst	r3, #65536
 900 0022 02D0     		beq	.L65
 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     return HAL_OK;
 901              		.loc 1 481 12 view .LVU306
 902 0024 0020     		movs	r0, #0
 903              	.LVL72:
 904              	.L64:
 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   else
 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     return HAL_ERROR;
 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
 905              		.loc 1 487 1 view .LVU307
 906 0026 02B0     		add	sp, sp, #8
 907              	.LCFI7:
ARM GAS  /tmp/ccOa6coP.s 			page 28


 908              		.cfi_remember_state
 909              		.cfi_def_cfa_offset 0
 910              		@ sp needed
 911 0028 7047     		bx	lr
 912              	.LVL73:
 913              	.L65:
 914              	.LCFI8:
 915              		.cfi_restore_state
 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 916              		.loc 1 485 12 view .LVU308
 917 002a 0120     		movs	r0, #1
 918              	.LVL74:
 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 919              		.loc 1 485 12 view .LVU309
 920 002c FBE7     		b	.L64
 921              		.cfi_endproc
 922              	.LFE135:
 924              		.section	.text.HAL_GPIO_EXTI_Callback,"ax",%progbits
 925              		.align	1
 926              		.weak	HAL_GPIO_EXTI_Callback
 927              		.syntax unified
 928              		.thumb
 929              		.thumb_func
 931              	HAL_GPIO_EXTI_Callback:
 932              	.LVL75:
 933              	.LFB137:
 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief  This function handles EXTI interrupt request.
 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIO_Pin Specifies the pins connected EXTI line
 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @retval None
 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET)
 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** /**
 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @brief  EXTI line detection callbacks.
 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @param  GPIO_Pin Specifies the pins connected EXTI line
 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   * @retval None
 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   */
 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** {
 934              		.loc 1 510 1 is_stmt 1 view -0
 935              		.cfi_startproc
 936              		@ args = 0, pretend = 0, frame = 0
 937              		@ frame_needed = 0, uses_anonymous_args = 0
 938              		@ link register save eliminated.
 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* Prevent unused argument(s) compilation warning */
 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   UNUSED(GPIO_Pin);
 939              		.loc 1 512 3 view .LVU311
ARM GAS  /tmp/ccOa6coP.s 			page 29


 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* NOTE: This function Should not be modified, when the callback is needed,
 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****            the HAL_GPIO_EXTI_Callback could be implemented in the user file
 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****    */
 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** }
 940              		.loc 1 516 1 is_stmt 0 view .LVU312
 941 0000 7047     		bx	lr
 942              		.cfi_endproc
 943              	.LFE137:
 945              		.section	.text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
 946              		.align	1
 947              		.global	HAL_GPIO_EXTI_IRQHandler
 948              		.syntax unified
 949              		.thumb
 950              		.thumb_func
 952              	HAL_GPIO_EXTI_IRQHandler:
 953              	.LVL76:
 954              	.LFB136:
 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 955              		.loc 1 495 1 is_stmt 1 view -0
 956              		.cfi_startproc
 957              		@ args = 0, pretend = 0, frame = 0
 958              		@ frame_needed = 0, uses_anonymous_args = 0
 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 959              		.loc 1 495 1 is_stmt 0 view .LVU314
 960 0000 08B5     		push	{r3, lr}
 961              	.LCFI9:
 962              		.cfi_def_cfa_offset 8
 963              		.cfi_offset 3, -8
 964              		.cfi_offset 14, -4
 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 965              		.loc 1 497 3 is_stmt 1 view .LVU315
 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 966              		.loc 1 497 6 is_stmt 0 view .LVU316
 967 0002 054B     		ldr	r3, .L72
 968 0004 5B69     		ldr	r3, [r3, #20]
 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   {
 969              		.loc 1 497 5 view .LVU317
 970 0006 0342     		tst	r3, r0
 971 0008 00D1     		bne	.L71
 972              	.LVL77:
 973              	.L68:
 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 974              		.loc 1 502 1 view .LVU318
 975 000a 08BD     		pop	{r3, pc}
 976              	.LVL78:
 977              	.L71:
 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
 978              		.loc 1 499 5 is_stmt 1 view .LVU319
 979 000c 024B     		ldr	r3, .L72
 980 000e 5861     		str	r0, [r3, #20]
 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c ****   }
 981              		.loc 1 500 5 view .LVU320
 982 0010 FFF7FEFF 		bl	HAL_GPIO_EXTI_Callback
 983              	.LVL79:
 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c **** 
 984              		.loc 1 502 1 is_stmt 0 view .LVU321
 985 0014 F9E7     		b	.L68
ARM GAS  /tmp/ccOa6coP.s 			page 30


 986              	.L73:
 987 0016 00BF     		.align	2
 988              	.L72:
 989 0018 003C0140 		.word	1073822720
 990              		.cfi_endproc
 991              	.LFE136:
 993              		.text
 994              	.Letext0:
 995              		.file 2 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
 996              		.file 3 "/home/gitc/\346\241\214\351\235\242/gcc-arm-none-eabi-10.3-2021.10/arm-none-eabi/include/
 997              		.file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
 998              		.file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
 999              		.file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
 1000              		.file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h"
ARM GAS  /tmp/ccOa6coP.s 			page 31


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32f4xx_hal_gpio.c
     /tmp/ccOa6coP.s:20     .text.HAL_GPIO_Init:0000000000000000 $t
     /tmp/ccOa6coP.s:26     .text.HAL_GPIO_Init:0000000000000000 HAL_GPIO_Init
     /tmp/ccOa6coP.s:479    .text.HAL_GPIO_Init:00000000000001bc $d
     /tmp/ccOa6coP.s:487    .text.HAL_GPIO_DeInit:0000000000000000 $t
     /tmp/ccOa6coP.s:493    .text.HAL_GPIO_DeInit:0000000000000000 HAL_GPIO_DeInit
     /tmp/ccOa6coP.s:731    .text.HAL_GPIO_DeInit:000000000000012c $d
     /tmp/ccOa6coP.s:738    .text.HAL_GPIO_ReadPin:0000000000000000 $t
     /tmp/ccOa6coP.s:744    .text.HAL_GPIO_ReadPin:0000000000000000 HAL_GPIO_ReadPin
     /tmp/ccOa6coP.s:777    .text.HAL_GPIO_WritePin:0000000000000000 $t
     /tmp/ccOa6coP.s:783    .text.HAL_GPIO_WritePin:0000000000000000 HAL_GPIO_WritePin
     /tmp/ccOa6coP.s:813    .text.HAL_GPIO_TogglePin:0000000000000000 $t
     /tmp/ccOa6coP.s:819    .text.HAL_GPIO_TogglePin:0000000000000000 HAL_GPIO_TogglePin
     /tmp/ccOa6coP.s:851    .text.HAL_GPIO_LockPin:0000000000000000 $t
     /tmp/ccOa6coP.s:857    .text.HAL_GPIO_LockPin:0000000000000000 HAL_GPIO_LockPin
     /tmp/ccOa6coP.s:925    .text.HAL_GPIO_EXTI_Callback:0000000000000000 $t
     /tmp/ccOa6coP.s:931    .text.HAL_GPIO_EXTI_Callback:0000000000000000 HAL_GPIO_EXTI_Callback
     /tmp/ccOa6coP.s:946    .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 $t
     /tmp/ccOa6coP.s:952    .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 HAL_GPIO_EXTI_IRQHandler
     /tmp/ccOa6coP.s:989    .text.HAL_GPIO_EXTI_IRQHandler:0000000000000018 $d

NO UNDEFINED SYMBOLS
