
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 1


   1              		.cpu cortex-m3
   2              		.eabi_attribute 20, 1
   3              		.eabi_attribute 21, 1
   4              		.eabi_attribute 23, 3
   5              		.eabi_attribute 24, 1
   6              		.eabi_attribute 25, 1
   7              		.eabi_attribute 26, 1
   8              		.eabi_attribute 30, 1
   9              		.eabi_attribute 34, 1
  10              		.eabi_attribute 18, 4
  11              		.file	"stm32f1xx_hal_gpio.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.section	.text.HAL_GPIO_Init,"ax",%progbits
  16              		.align	1
  17              		.global	HAL_GPIO_Init
  18              		.arch armv7-m
  19              		.syntax unified
  20              		.thumb
  21              		.thumb_func
  22              		.fpu softvfp
  24              	HAL_GPIO_Init:
  25              	.LVL0:
  26              	.LFB65:
  27              		.file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c"
   1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
   2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ******************************************************************************
   3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @file    stm32f1xx_hal_gpio.c
   4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @author  MCD Application Team
   5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief   GPIO HAL module driver.
   6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *          functionalities of the General Purpose Input/Output (GPIO) peripheral:
   8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *           + IO operation functions
  10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
  11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   @verbatim
  12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ==============================================================================
  13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****                     ##### GPIO Peripheral features #####
  14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ==============================================================================
  15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
  16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   Subject to the specific hardware characteristics of each I/O port listed in the datasheet, each
  17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   port bit of the General Purpose IO (GPIO) Ports, can be individually configured by software
  18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   in several modes:
  19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) Input mode
  20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) Analog mode
  21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) Output mode
  22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) Alternate function mode
  23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) External interrupt/event lines
  24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
  26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   During and just after reset, the alternate functions and external interrupt
  27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   lines are not active and the I/O ports are configured in input floating mode.
  28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
  30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   All GPIO pins have weak internal pull-up and pull-down resistors, which can be
  31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   activated or not.
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 2


  32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
  34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   In Output or Alternate mode, each IO can be configured on open-drain or push-pull
  35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   type and the IO speed can be selected depending on the VDD value.
  36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
  38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   All ports have external interrupt/event capability. To use external interrupt
  39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   lines, the port must be configured in input mode. All available GPIO pins are
  40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   connected to the 16 external interrupt/event lines from EXTI0 to EXTI15.
  41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
  43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   The external interrupt/event controller consists of up to 20 edge detectors in connectivity
  44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   line devices, or 19 edge detectors in other devices for generating event/interrupt requests.
  45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   Each input line can be independently configured to select the type (event or interrupt) and
  46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   the corresponding trigger event (rising or falling or both). Each line can also masked
  47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   independently. A pending register maintains the status line of the interrupt requests
  48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****                      ##### How to use this driver #####
  50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ==============================================================================
  51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  [..]
  52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) Enable the GPIO APB2 clock using the following function : __HAL_RCC_GPIOx_CLK_ENABLE().
  53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) Configure the GPIO pin(s) using HAL_GPIO_Init().
  55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure
  56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef
  57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             structure.
  58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) In case of Output or alternate function mode selection: the speed is
  59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             configured through "Speed" member from GPIO_InitTypeDef structure
  60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) Analog mode is required when a pin is to be used as ADC channel
  61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             or DAC output.
  62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) In case of external interrupt/event selection the "Mode" member from
  63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             GPIO_InitTypeDef structure select the type (interrupt or event) and
  64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             the corresponding trigger event (rising or falling or both).
  65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority
  67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using
  68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        HAL_NVIC_EnableIRQ().
  69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin().
  71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) To set/reset the level of a pin configured in output mode use
  73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        HAL_GPIO_WritePin()/HAL_GPIO_TogglePin().
  74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
  76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) During and just after reset, the alternate functions are not
  78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        active and the GPIO pins are configured in input floating mode (except JTAG
  79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        pins).
  80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose
  82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (PC14 and PC15, respectively) when the LSE oscillator is off. The LSE has
  83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        priority over the GPIO function.
  84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
  85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
  86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        general purpose PD0 and PD1, respectively, when the HSE oscillator is off.
  87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        The HSE has priority over the GPIO function.
  88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 3


  89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   @endverbatim
  90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ******************************************************************************
  91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @attention
  92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
  93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
  94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * All rights reserved.</center></h2>
  95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
  96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * This software component is licensed by ST under BSD 3-Clause license,
  97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * the "License"; You may not use this file except in compliance with the
  98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * License. You may obtain a copy of the License at:
  99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *                        opensource.org/licenses/BSD-3-Clause
 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ******************************************************************************
 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #include "stm32f1xx_hal.h"
 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @addtogroup STM32F1xx_HAL_Driver
 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @defgroup GPIO GPIO
 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief GPIO HAL module driver
 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private define ------------------------------------------------------------*/
 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @addtogroup GPIO_Private_Constants GPIO Private Constants
 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_MODE             0x00000003u
 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define EXTI_MODE             0x10000000u
 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_MODE_IT          0x00010000u
 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_MODE_EVT         0x00020000u
 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define RISING_EDGE           0x00100000u
 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define FALLING_EDGE          0x00200000u
 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_OUTPUT_TYPE      0x00000010u
 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_NUMBER           16u
 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Definitions for bit manipulation of CRL and CRH register */
 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_MODE_INPUT         0x00000000u /*!< 00: Input mode (reset state)  */
 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_ANALOG         0x00000000u /*!< 00: Analog mode  */
 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_INPUT_FLOATING 0x00000004u /*!< 01: Floating input (reset state)  */
 137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_INPUT_PU_PD    0x00000008u /*!< 10: Input with pull-up / pull-down  */
 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_GP_OUTPUT_PP   0x00000000u /*!< 00: General purpose output push-pull  */
 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_GP_OUTPUT_OD   0x00000004u /*!< 01: General purpose output Open-drain  */
 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_AF_OUTPUT_PP   0x00000008u /*!< 10: Alternate function output Push-pull  */
 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_AF_OUTPUT_OD   0x0000000Cu /*!< 11: Alternate function output Open-drain  */
 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @}
 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 4


 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private macro -------------------------------------------------------------*/
 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private functions ---------------------------------------------------------*/
 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions
 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization and de-initialization functions
 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  *  @brief    Initialization and Configuration functions
 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  *
 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** @verbatim
 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  ===============================================================================
 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****               ##### Initialization and de-initialization functions #####
 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  ===============================================================================
 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     This section provides functions allowing to initialize and de-initialize the GPIOs
 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     to be ready for use.
 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** @endverbatim
 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  Initializes the GPIOx peripheral according to the specified parameters in the GPIO_Init
 173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIOx: where x can be (A..G depending on device used) to select the GPIO peripheral
 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Init: pointer to a GPIO_InitTypeDef structure that contains
 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *         the configuration information for the specified GPIO peripheral.
 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init)
 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
  28              		.loc 1 179 1 view -0
  29              		.cfi_startproc
  30              		@ args = 0, pretend = 0, frame = 8
  31              		@ frame_needed = 0, uses_anonymous_args = 0
  32              		@ link register save eliminated.
  33              		.loc 1 179 1 is_stmt 0 view .LVU1
  34 0000 F0B4     		push	{r4, r5, r6, r7}
  35              	.LCFI0:
  36              		.cfi_def_cfa_offset 16
  37              		.cfi_offset 4, -16
  38              		.cfi_offset 5, -12
  39              		.cfi_offset 6, -8
  40              		.cfi_offset 7, -4
  41 0002 82B0     		sub	sp, sp, #8
  42              	.LCFI1:
  43              		.cfi_def_cfa_offset 24
 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t position = 0x00u;
  44              		.loc 1 180 3 is_stmt 1 view .LVU2
  45              	.LVL1:
 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t ioposition;
  46              		.loc 1 181 3 view .LVU3
 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t iocurrent;
  47              		.loc 1 182 3 view .LVU4
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 5


 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t temp;
  48              		.loc 1 183 3 view .LVU5
 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t config = 0x00u;
  49              		.loc 1 184 3 view .LVU6
 185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   __IO uint32_t *configregister; /* Store the address of CRL or CRH register based on pin number */
  50              		.loc 1 185 3 view .LVU7
 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t registeroffset;       /* offset used during computation of CNF and MODE bits placement i
  51              		.loc 1 186 3 view .LVU8
 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
  52              		.loc 1 189 3 view .LVU9
 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
  53              		.loc 1 190 3 view .LVU10
 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
  54              		.loc 1 191 3 view .LVU11
 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Configure the port pins */
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   while (((GPIO_Init->Pin) >> position) != 0x00u)
  55              		.loc 1 194 3 view .LVU12
 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   __IO uint32_t *configregister; /* Store the address of CRL or CRH register based on pin number */
  56              		.loc 1 184 12 is_stmt 0 view .LVU13
  57 0004 0026     		movs	r6, #0
 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t ioposition;
  58              		.loc 1 180 12 view .LVU14
  59 0006 3546     		mov	r5, r6
  60              		.loc 1 194 9 view .LVU15
  61 0008 A0E0     		b	.L2
  62              	.LVL2:
  63              	.L38:
 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     /* Get the IO position */
 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     ioposition = (0x01uL << position);
 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     /* Get the current IO position */
 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition;
 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     if (iocurrent == ioposition)
 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Check the Alternate function parameters */
 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       assert_param(IS_GPIO_AF_INSTANCE(GPIOx));
 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Based on the required mode, filling config variable with MODEy[1:0] and CNFy[3:2] correspo
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       switch (GPIO_Init->Mode)
  64              		.loc 1 208 7 view .LVU16
  65 000a 002A     		cmp	r2, #0
  66 000c 58D0     		beq	.L8
  67 000e 012A     		cmp	r2, #1
  68 0010 10D1     		bne	.L10
 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in OUTPUT push-pull mode */
 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_OUTPUT_PP:
 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO speed parameter */
 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
  69              		.loc 1 213 11 is_stmt 1 view .LVU17
 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_GP_OUTPUT_PP;
  70              		.loc 1 214 11 view .LVU18
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 6


  71              		.loc 1 214 18 is_stmt 0 view .LVU19
  72 0012 CE68     		ldr	r6, [r1, #12]
  73              	.LVL3:
 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
  74              		.loc 1 215 11 is_stmt 1 view .LVU20
  75 0014 0EE0     		b	.L10
  76              	.L5:
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
  77              		.loc 1 208 7 is_stmt 0 view .LVU21
  78 0016 6A4F     		ldr	r7, .L39
  79 0018 BA42     		cmp	r2, r7
  80 001a 51D0     		beq	.L8
  81 001c 48D9     		bls	.L34
  82 001e 694F     		ldr	r7, .L39+4
  83 0020 BA42     		cmp	r2, r7
  84 0022 4DD0     		beq	.L8
  85 0024 07F58037 		add	r7, r7, #65536
  86 0028 BA42     		cmp	r2, r7
  87 002a 49D0     		beq	.L8
  88 002c A7F58017 		sub	r7, r7, #1048576
  89 0030 BA42     		cmp	r2, r7
  90 0032 45D0     		beq	.L8
  91              	.LVL4:
  92              	.L10:
 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in OUTPUT open-drain mode */
 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_OUTPUT_OD:
 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO speed parameter */
 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_GP_OUTPUT_OD;
 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in ALTERNATE FUNCTION push-pull mode */
 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_AF_PP:
 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO speed parameter */
 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_AF_OUTPUT_PP;
 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in ALTERNATE FUNCTION open-drain mode */
 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_AF_OD:
 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO speed parameter */
 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_AF_OUTPUT_OD;
 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in INPUT (also applicable to EVENT and IT mode) */
 239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_INPUT:
 240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_IT_RISING:
 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_IT_FALLING:
 242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_IT_RISING_FALLING:
 243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_EVT_RISING:
 244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_EVT_FALLING:
 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_EVT_RISING_FALLING:
 246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO pull parameter */
 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           if (GPIO_Init->Pull == GPIO_NOPULL)
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 7


 249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             config = GPIO_CR_MODE_INPUT + GPIO_CR_CNF_INPUT_FLOATING;
 251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           else if (GPIO_Init->Pull == GPIO_PULLUP)
 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             config = GPIO_CR_MODE_INPUT + GPIO_CR_CNF_INPUT_PU_PD;
 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             /* Set the corresponding ODR bit */
 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             GPIOx->BSRR = ioposition;
 258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
 259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           else /* GPIO_PULLDOWN */
 260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             config = GPIO_CR_MODE_INPUT + GPIO_CR_CNF_INPUT_PU_PD;
 262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             /* Reset the corresponding ODR bit */
 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             GPIOx->BRR = ioposition;
 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in INPUT analog mode */
 269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_ANALOG:
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_CR_MODE_INPUT + GPIO_CR_CNF_ANALOG;
 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Parameters are checked with assert_param */
 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         default:
 275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       }
 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Check if the current bit belongs to first half or last half of the pin count number
 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        in order to address CRH or CRL register*/
 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       configregister = (iocurrent < GPIO_PIN_8) ? &GPIOx->CRL     : &GPIOx->CRH;
  93              		.loc 1 280 7 is_stmt 1 view .LVU22
  94              		.loc 1 280 67 is_stmt 0 view .LVU23
  95 0034 FF2B     		cmp	r3, #255
  96 0036 57D8     		bhi	.L14
  97              		.loc 1 280 67 discriminator 1 view .LVU24
  98 0038 8446     		mov	ip, r0
  99              	.L15:
 100              	.LVL5:
 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       registeroffset = (iocurrent < GPIO_PIN_8) ? (position << 2u) : ((position - 8u) << 2u);
 101              		.loc 1 281 7 is_stmt 1 discriminator 4 view .LVU25
 102              		.loc 1 281 68 is_stmt 0 discriminator 4 view .LVU26
 103 003a FF2B     		cmp	r3, #255
 104 003c 57D8     		bhi	.L16
 105              		.loc 1 281 68 discriminator 1 view .LVU27
 106 003e AC00     		lsls	r4, r5, #2
 107              	.LVL6:
 108              	.L17:
 282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Apply the new configuration of the pin to the register */
 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       MODIFY_REG((*configregister), ((GPIO_CRL_MODE0 | GPIO_CRL_CNF0) << registeroffset), (config <
 109              		.loc 1 284 7 is_stmt 1 discriminator 4 view .LVU28
 110 0040 DCF80020 		ldr	r2, [ip]
 111 0044 0F27     		movs	r7, #15
 112 0046 A740     		lsls	r7, r7, r4
 113 0048 22EA0702 		bic	r2, r2, r7
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 8


 114 004c 06FA04F4 		lsl	r4, r6, r4
 115              	.LVL7:
 116              		.loc 1 284 7 is_stmt 0 discriminator 4 view .LVU29
 117 0050 2243     		orrs	r2, r2, r4
 118 0052 CCF80020 		str	r2, [ip]
 285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /*--------------------- EXTI Mode Configuration ------------------------*/
 287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Configure the External Interrupt or event for the current IO */
 288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if ((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE)
 119              		.loc 1 288 7 is_stmt 1 discriminator 4 view .LVU30
 120              		.loc 1 288 21 is_stmt 0 discriminator 4 view .LVU31
 121 0056 4A68     		ldr	r2, [r1, #4]
 122              		.loc 1 288 10 discriminator 4 view .LVU32
 123 0058 12F0805F 		tst	r2, #268435456
 124 005c 75D0     		beq	.L3
 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Enable AFIO Clock */
 291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         __HAL_RCC_AFIO_CLK_ENABLE();
 125              		.loc 1 291 9 is_stmt 1 view .LVU33
 126              	.LBB2:
 127              		.loc 1 291 9 view .LVU34
 128              		.loc 1 291 9 view .LVU35
 129 005e 5A4A     		ldr	r2, .L39+8
 130 0060 9469     		ldr	r4, [r2, #24]
 131 0062 44F00104 		orr	r4, r4, #1
 132 0066 9461     		str	r4, [r2, #24]
 133              		.loc 1 291 9 view .LVU36
 134 0068 9269     		ldr	r2, [r2, #24]
 135 006a 02F00102 		and	r2, r2, #1
 136 006e 0192     		str	r2, [sp, #4]
 137              		.loc 1 291 9 view .LVU37
 138 0070 019A     		ldr	r2, [sp, #4]
 139              	.LBE2:
 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         temp = AFIO->EXTICR[position >> 2u];
 140              		.loc 1 292 9 view .LVU38
 141              		.loc 1 292 38 is_stmt 0 view .LVU39
 142 0072 AC08     		lsrs	r4, r5, #2
 143              		.loc 1 292 14 view .LVU40
 144 0074 A71C     		adds	r7, r4, #2
 145 0076 554A     		ldr	r2, .L39+12
 146 0078 52F82720 		ldr	r2, [r2, r7, lsl #2]
 147              	.LVL8:
 293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(temp, (0x0Fu) << (4u * (position & 0x03u)));
 148              		.loc 1 293 9 is_stmt 1 view .LVU41
 149 007c 05F00307 		and	r7, r5, #3
 150 0080 BF00     		lsls	r7, r7, #2
 151 0082 4FF00F0C 		mov	ip, #15
 152              	.LVL9:
 153              		.loc 1 293 9 is_stmt 0 view .LVU42
 154 0086 0CFA07FC 		lsl	ip, ip, r7
 155 008a 22EA0C0C 		bic	ip, r2, ip
 156              	.LVL10:
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         SET_BIT(temp, (GPIO_GET_INDEX(GPIOx)) << (4u * (position & 0x03u)));
 157              		.loc 1 294 9 is_stmt 1 view .LVU43
 158 008e 504A     		ldr	r2, .L39+16
 159 0090 9042     		cmp	r0, r2
 160 0092 32D0     		beq	.L29
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 9


 161              		.loc 1 294 9 is_stmt 0 discriminator 1 view .LVU44
 162 0094 02F58062 		add	r2, r2, #1024
 163 0098 9042     		cmp	r0, r2
 164 009a 71D0     		beq	.L30
 165              		.loc 1 294 9 discriminator 3 view .LVU45
 166 009c 02F58062 		add	r2, r2, #1024
 167 00a0 9042     		cmp	r0, r2
 168 00a2 6FD0     		beq	.L31
 169              		.loc 1 294 9 discriminator 5 view .LVU46
 170 00a4 02F58062 		add	r2, r2, #1024
 171 00a8 9042     		cmp	r0, r2
 172 00aa 24D0     		beq	.L35
 173              		.loc 1 294 9 view .LVU47
 174 00ac 0422     		movs	r2, #4
 175 00ae 25E0     		b	.L18
 176              	.LVL11:
 177              	.L34:
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 178              		.loc 1 208 7 view .LVU48
 179 00b0 A7F58017 		sub	r7, r7, #1048576
 180 00b4 BA42     		cmp	r2, r7
 181 00b6 03D0     		beq	.L8
 182 00b8 07F58037 		add	r7, r7, #65536
 183 00bc BA42     		cmp	r2, r7
 184 00be B9D1     		bne	.L10
 185              	.L8:
 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           if (GPIO_Init->Pull == GPIO_NOPULL)
 186              		.loc 1 247 11 is_stmt 1 view .LVU49
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
 187              		.loc 1 248 11 view .LVU50
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
 188              		.loc 1 248 24 is_stmt 0 view .LVU51
 189 00c0 8A68     		ldr	r2, [r1, #8]
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
 190              		.loc 1 248 14 view .LVU52
 191 00c2 7AB1     		cbz	r2, .L28
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
 192              		.loc 1 252 16 is_stmt 1 view .LVU53
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
 193              		.loc 1 252 19 is_stmt 0 view .LVU54
 194 00c4 012A     		cmp	r2, #1
 195 00c6 08D0     		beq	.L36
 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 196              		.loc 1 261 13 is_stmt 1 view .LVU55
 197              	.LVL12:
 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
 198              		.loc 1 264 13 view .LVU56
 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
 199              		.loc 1 264 24 is_stmt 0 view .LVU57
 200 00c8 4461     		str	r4, [r0, #20]
 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 201              		.loc 1 261 20 view .LVU58
 202 00ca 0826     		movs	r6, #8
 203 00cc B2E7     		b	.L10
 204              	.LVL13:
 205              	.L6:
 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_AF_OUTPUT_PP;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 10


 206              		.loc 1 227 11 is_stmt 1 view .LVU59
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 207              		.loc 1 228 11 view .LVU60
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 208              		.loc 1 228 29 is_stmt 0 view .LVU61
 209 00ce CE68     		ldr	r6, [r1, #12]
 210              	.LVL14:
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 211              		.loc 1 228 18 view .LVU62
 212 00d0 0836     		adds	r6, r6, #8
 213              	.LVL15:
 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 214              		.loc 1 229 11 is_stmt 1 view .LVU63
 215 00d2 AFE7     		b	.L10
 216              	.L4:
 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_AF_OUTPUT_OD;
 217              		.loc 1 234 11 view .LVU64
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 218              		.loc 1 235 11 view .LVU65
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 219              		.loc 1 235 29 is_stmt 0 view .LVU66
 220 00d4 CE68     		ldr	r6, [r1, #12]
 221              	.LVL16:
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 222              		.loc 1 235 18 view .LVU67
 223 00d6 0C36     		adds	r6, r6, #12
 224              	.LVL17:
 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 225              		.loc 1 236 11 is_stmt 1 view .LVU68
 226 00d8 ACE7     		b	.L10
 227              	.L36:
 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 228              		.loc 1 254 13 view .LVU69
 229              	.LVL18:
 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
 230              		.loc 1 257 13 view .LVU70
 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
 231              		.loc 1 257 25 is_stmt 0 view .LVU71
 232 00da 0461     		str	r4, [r0, #16]
 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 233              		.loc 1 254 20 view .LVU72
 234 00dc 0826     		movs	r6, #8
 235 00de A9E7     		b	.L10
 236              	.LVL19:
 237              	.L27:
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 238              		.loc 1 270 18 view .LVU73
 239 00e0 0026     		movs	r6, #0
 240              	.LVL20:
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 241              		.loc 1 270 18 view .LVU74
 242 00e2 A7E7     		b	.L10
 243              	.LVL21:
 244              	.L28:
 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
 245              		.loc 1 250 20 view .LVU75
 246 00e4 0426     		movs	r6, #4
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 11


 247              	.LVL22:
 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
 248              		.loc 1 250 20 view .LVU76
 249 00e6 A5E7     		b	.L10
 250              	.LVL23:
 251              	.L14:
 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       registeroffset = (iocurrent < GPIO_PIN_8) ? (position << 2u) : ((position - 8u) << 2u);
 252              		.loc 1 280 67 discriminator 2 view .LVU77
 253 00e8 00F1040C 		add	ip, r0, #4
 254 00ec A5E7     		b	.L15
 255              	.LVL24:
 256              	.L16:
 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 257              		.loc 1 281 81 discriminator 2 view .LVU78
 258 00ee A5F10804 		sub	r4, r5, #8
 259              	.LVL25:
 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 260              		.loc 1 281 68 discriminator 2 view .LVU79
 261 00f2 A400     		lsls	r4, r4, #2
 262 00f4 A4E7     		b	.L17
 263              	.LVL26:
 264              	.L35:
 265              		.loc 1 294 9 view .LVU80
 266 00f6 0322     		movs	r2, #3
 267 00f8 00E0     		b	.L18
 268              	.L29:
 269 00fa 0022     		movs	r2, #0
 270              	.L18:
 271              		.loc 1 294 9 discriminator 16 view .LVU81
 272 00fc BA40     		lsls	r2, r2, r7
 273 00fe 42EA0C02 		orr	r2, r2, ip
 274              	.LVL27:
 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         AFIO->EXTICR[position >> 2u] = temp;
 275              		.loc 1 295 9 is_stmt 1 discriminator 16 view .LVU82
 276              		.loc 1 295 38 is_stmt 0 discriminator 16 view .LVU83
 277 0102 0234     		adds	r4, r4, #2
 278 0104 314F     		ldr	r7, .L39+12
 279 0106 47F82420 		str	r2, [r7, r4, lsl #2]
 296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Configure the interrupt mask */
 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         if ((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT)
 280              		.loc 1 299 9 is_stmt 1 discriminator 16 view .LVU84
 281              		.loc 1 299 23 is_stmt 0 discriminator 16 view .LVU85
 282 010a 4A68     		ldr	r2, [r1, #4]
 283              	.LVL28:
 284              		.loc 1 299 12 discriminator 16 view .LVU86
 285 010c 12F4803F 		tst	r2, #65536
 286 0110 3AD0     		beq	.L19
 300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           SET_BIT(EXTI->IMR, iocurrent);
 287              		.loc 1 301 11 is_stmt 1 view .LVU87
 288 0112 304C     		ldr	r4, .L39+20
 289              	.LVL29:
 290              		.loc 1 301 11 is_stmt 0 view .LVU88
 291 0114 2268     		ldr	r2, [r4]
 292 0116 1A43     		orrs	r2, r2, r3
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 12


 293 0118 2260     		str	r2, [r4]
 294              	.LVL30:
 295              	.L20:
 302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         else
 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           CLEAR_BIT(EXTI->IMR, iocurrent);
 306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Configure the event mask */
 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         if ((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT)
 296              		.loc 1 309 9 is_stmt 1 view .LVU89
 297              		.loc 1 309 23 is_stmt 0 view .LVU90
 298 011a 4A68     		ldr	r2, [r1, #4]
 299              		.loc 1 309 12 view .LVU91
 300 011c 12F4003F 		tst	r2, #131072
 301 0120 38D0     		beq	.L21
 310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           SET_BIT(EXTI->EMR, iocurrent);
 302              		.loc 1 311 11 is_stmt 1 view .LVU92
 303 0122 2C4C     		ldr	r4, .L39+20
 304 0124 6268     		ldr	r2, [r4, #4]
 305 0126 1A43     		orrs	r2, r2, r3
 306 0128 6260     		str	r2, [r4, #4]
 307              	.L22:
 312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         else
 314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           CLEAR_BIT(EXTI->EMR, iocurrent);
 316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Enable or disable the rising trigger */
 319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         if ((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE)
 308              		.loc 1 319 9 view .LVU93
 309              		.loc 1 319 23 is_stmt 0 view .LVU94
 310 012a 4A68     		ldr	r2, [r1, #4]
 311              		.loc 1 319 12 view .LVU95
 312 012c 12F4801F 		tst	r2, #1048576
 313 0130 36D0     		beq	.L23
 320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
 321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           SET_BIT(EXTI->RTSR, iocurrent);
 314              		.loc 1 321 11 is_stmt 1 view .LVU96
 315 0132 284C     		ldr	r4, .L39+20
 316 0134 A268     		ldr	r2, [r4, #8]
 317 0136 1A43     		orrs	r2, r2, r3
 318 0138 A260     		str	r2, [r4, #8]
 319              	.L24:
 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         else
 324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           CLEAR_BIT(EXTI->RTSR, iocurrent);
 326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Enable or disable the falling trigger */
 329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         if ((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE)
 320              		.loc 1 329 9 view .LVU97
 321              		.loc 1 329 23 is_stmt 0 view .LVU98
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 13


 322 013a 4A68     		ldr	r2, [r1, #4]
 323              		.loc 1 329 12 view .LVU99
 324 013c 12F4001F 		tst	r2, #2097152
 325 0140 34D0     		beq	.L25
 330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           SET_BIT(EXTI->FTSR, iocurrent);
 326              		.loc 1 331 11 is_stmt 1 view .LVU100
 327 0142 244C     		ldr	r4, .L39+20
 328 0144 E268     		ldr	r2, [r4, #12]
 329 0146 1343     		orrs	r3, r3, r2
 330              	.LVL31:
 331              		.loc 1 331 11 is_stmt 0 view .LVU101
 332 0148 E360     		str	r3, [r4, #12]
 333              	.L3:
 332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         else
 334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           CLEAR_BIT(EXTI->FTSR, iocurrent);
 336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       }
 338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     }
 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 	position++;
 334              		.loc 1 340 2 is_stmt 1 view .LVU102
 335              		.loc 1 340 10 is_stmt 0 view .LVU103
 336 014a 0135     		adds	r5, r5, #1
 337              	.LVL32:
 338              	.L2:
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 339              		.loc 1 194 21 view .LVU104
 340 014c 0B68     		ldr	r3, [r1]
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 341              		.loc 1 194 9 view .LVU105
 342 014e 33FA05F2 		lsrs	r2, r3, r5
 343 0152 31D0     		beq	.L37
 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 344              		.loc 1 197 5 is_stmt 1 view .LVU106
 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 345              		.loc 1 197 16 is_stmt 0 view .LVU107
 346 0154 0124     		movs	r4, #1
 347 0156 AC40     		lsls	r4, r4, r5
 348              	.LVL33:
 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 349              		.loc 1 200 5 is_stmt 1 view .LVU108
 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 350              		.loc 1 200 15 is_stmt 0 view .LVU109
 351 0158 2340     		ands	r3, r3, r4
 352              	.LVL34:
 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 353              		.loc 1 202 5 is_stmt 1 view .LVU110
 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 354              		.loc 1 202 8 is_stmt 0 view .LVU111
 355 015a 9C42     		cmp	r4, r3
 356 015c F5D1     		bne	.L3
 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 357              		.loc 1 205 7 is_stmt 1 view .LVU112
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 14


 358              		.loc 1 208 7 view .LVU113
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 359              		.loc 1 208 24 is_stmt 0 view .LVU114
 360 015e 4A68     		ldr	r2, [r1, #4]
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 361              		.loc 1 208 7 view .LVU115
 362 0160 122A     		cmp	r2, #18
 363 0162 B7D0     		beq	.L4
 364 0164 3FF657AF 		bhi	.L5
 365 0168 022A     		cmp	r2, #2
 366 016a B0D0     		beq	.L6
 367 016c 7FF64DAF 		bls	.L38
 368 0170 032A     		cmp	r2, #3
 369 0172 B5D0     		beq	.L27
 370 0174 112A     		cmp	r2, #17
 371 0176 7FF45DAF 		bne	.L10
 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_GP_OUTPUT_OD;
 372              		.loc 1 220 11 is_stmt 1 view .LVU116
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 373              		.loc 1 221 11 view .LVU117
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 374              		.loc 1 221 29 is_stmt 0 view .LVU118
 375 017a CE68     		ldr	r6, [r1, #12]
 376              	.LVL35:
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
 377              		.loc 1 221 18 view .LVU119
 378 017c 0436     		adds	r6, r6, #4
 379              	.LVL36:
 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 380              		.loc 1 222 11 is_stmt 1 view .LVU120
 381 017e 59E7     		b	.L10
 382              	.LVL37:
 383              	.L30:
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         AFIO->EXTICR[position >> 2u] = temp;
 384              		.loc 1 294 9 is_stmt 0 view .LVU121
 385 0180 0122     		movs	r2, #1
 386              	.LVL38:
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         AFIO->EXTICR[position >> 2u] = temp;
 387              		.loc 1 294 9 view .LVU122
 388 0182 BBE7     		b	.L18
 389              	.LVL39:
 390              	.L31:
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         AFIO->EXTICR[position >> 2u] = temp;
 391              		.loc 1 294 9 view .LVU123
 392 0184 0222     		movs	r2, #2
 393 0186 B9E7     		b	.L18
 394              	.LVL40:
 395              	.L19:
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 396              		.loc 1 305 11 is_stmt 1 view .LVU124
 397 0188 124C     		ldr	r4, .L39+20
 398              	.LVL41:
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 399              		.loc 1 305 11 is_stmt 0 view .LVU125
 400 018a 2268     		ldr	r2, [r4]
 401 018c 22EA0302 		bic	r2, r2, r3
 402 0190 2260     		str	r2, [r4]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 15


 403              	.LVL42:
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 404              		.loc 1 305 11 view .LVU126
 405 0192 C2E7     		b	.L20
 406              	.L21:
 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 407              		.loc 1 315 11 is_stmt 1 view .LVU127
 408 0194 0F4C     		ldr	r4, .L39+20
 409 0196 6268     		ldr	r2, [r4, #4]
 410 0198 22EA0302 		bic	r2, r2, r3
 411 019c 6260     		str	r2, [r4, #4]
 412 019e C4E7     		b	.L22
 413              	.L23:
 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 414              		.loc 1 325 11 view .LVU128
 415 01a0 0C4C     		ldr	r4, .L39+20
 416 01a2 A268     		ldr	r2, [r4, #8]
 417 01a4 22EA0302 		bic	r2, r2, r3
 418 01a8 A260     		str	r2, [r4, #8]
 419 01aa C6E7     		b	.L24
 420              	.L25:
 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 421              		.loc 1 335 11 view .LVU129
 422 01ac 094C     		ldr	r4, .L39+20
 423 01ae E268     		ldr	r2, [r4, #12]
 424 01b0 22EA0303 		bic	r3, r2, r3
 425              	.LVL43:
 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
 426              		.loc 1 335 11 is_stmt 0 view .LVU130
 427 01b4 E360     		str	r3, [r4, #12]
 428 01b6 C8E7     		b	.L3
 429              	.LVL44:
 430              	.L37:
 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
 431              		.loc 1 342 1 view .LVU131
 432 01b8 02B0     		add	sp, sp, #8
 433              	.LCFI2:
 434              		.cfi_def_cfa_offset 16
 435              		@ sp needed
 436 01ba F0BC     		pop	{r4, r5, r6, r7}
 437              	.LCFI3:
 438              		.cfi_restore 7
 439              		.cfi_restore 6
 440              		.cfi_restore 5
 441              		.cfi_restore 4
 442              		.cfi_def_cfa_offset 0
 443              	.LVL45:
 444              		.loc 1 342 1 view .LVU132
 445 01bc 7047     		bx	lr
 446              	.L40:
 447 01be 00BF     		.align	2
 448              	.L39:
 449 01c0 00002110 		.word	270598144
 450 01c4 00003110 		.word	271646720
 451 01c8 00100240 		.word	1073876992
 452 01cc 00000140 		.word	1073807360
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 16


 453 01d0 00080140 		.word	1073809408
 454 01d4 00040140 		.word	1073808384
 455              		.cfi_endproc
 456              	.LFE65:
 458              		.section	.text.HAL_GPIO_DeInit,"ax",%progbits
 459              		.align	1
 460              		.global	HAL_GPIO_DeInit
 461              		.syntax unified
 462              		.thumb
 463              		.thumb_func
 464              		.fpu softvfp
 466              	HAL_GPIO_DeInit:
 467              	.LVL46:
 468              	.LFB66:
 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  De-initializes the GPIOx peripheral registers to their default reset values.
 346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIOx: where x can be (A..G depending on device used) to select the GPIO peripheral
 347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: specifies the port bit to be written.
 348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *         This parameter can be one of GPIO_PIN_x where x can be (0..15).
 349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
 350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin)
 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
 469              		.loc 1 352 1 is_stmt 1 view -0
 470              		.cfi_startproc
 471              		@ args = 0, pretend = 0, frame = 0
 472              		@ frame_needed = 0, uses_anonymous_args = 0
 473              		@ link register save eliminated.
 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t position = 0x00u;
 474              		.loc 1 353 3 view .LVU134
 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t iocurrent;
 475              		.loc 1 354 3 view .LVU135
 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t tmp;
 476              		.loc 1 355 3 view .LVU136
 356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   __IO uint32_t *configregister; /* Store the address of CRL or CRH register based on pin number */
 477              		.loc 1 356 3 view .LVU137
 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t registeroffset;
 478              		.loc 1 357 3 view .LVU138
 358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
 479              		.loc 1 360 3 view .LVU139
 361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 480              		.loc 1 361 3 view .LVU140
 362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Configure the port pins */
 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   while ((GPIO_Pin >> position) != 0u)
 481              		.loc 1 364 3 view .LVU141
 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t iocurrent;
 482              		.loc 1 353 12 is_stmt 0 view .LVU142
 483 0000 0022     		movs	r2, #0
 484              		.loc 1 364 9 view .LVU143
 485 0002 68E0     		b	.L56
 486              	.LVL47:
 487              	.L63:
 488              	.LCFI4:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 17


 489              		.cfi_def_cfa_offset 16
 490              		.cfi_offset 4, -16
 491              		.cfi_offset 5, -12
 492              		.cfi_offset 6, -8
 493              		.cfi_offset 7, -4
 365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     /* Get current io position */
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     iocurrent = (GPIO_Pin) & (1uL << position);
 368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     if (iocurrent)
 370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /*------------------------- EXTI Mode Configuration --------------------*/
 372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Clear the External Interrupt or Event for the current IO */
 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp = AFIO->EXTICR[position >> 2u];
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp &= 0x0FuL << (4u * (position & 0x03u));
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 494              		.loc 1 376 19 view .LVU144
 495 0004 0326     		movs	r6, #3
 496 0006 00E0     		b	.L44
 497              	.L51:
 498 0008 0026     		movs	r6, #0
 499              	.L44:
 500              		.loc 1 376 41 discriminator 16 view .LVU145
 501 000a 06FA04F4 		lsl	r4, r6, r4
 502              		.loc 1 376 10 discriminator 16 view .LVU146
 503 000e AC42     		cmp	r4, r5
 504 0010 3FD0     		beq	.L61
 505              	.LVL48:
 506              	.L45:
 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         tmp = 0x0FuL << (4u * (position & 0x03u));
 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(AFIO->EXTICR[position >> 2u], tmp);
 380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Clear EXTI line configuration */
 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->IMR, (uint32_t)iocurrent);
 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->EMR, (uint32_t)iocurrent);
 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Clear Rising Falling edge configuration */
 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->RTSR, (uint32_t)iocurrent);
 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->FTSR, (uint32_t)iocurrent);
 388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       }
 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /*------------------------- GPIO Mode Configuration --------------------*/
 390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Check if the current bit belongs to first half or last half of the pin count number
 391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        in order to address CRH or CRL register */
 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       configregister = (iocurrent < GPIO_PIN_8) ? &GPIOx->CRL     : &GPIOx->CRH;
 507              		.loc 1 392 7 is_stmt 1 view .LVU147
 508              		.loc 1 392 67 is_stmt 0 view .LVU148
 509 0012 FF2B     		cmp	r3, #255
 510 0014 55D8     		bhi	.L46
 511              		.loc 1 392 67 discriminator 1 view .LVU149
 512 0016 8446     		mov	ip, r0
 513              	.L47:
 514              	.LVL49:
 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       registeroffset = (iocurrent < GPIO_PIN_8) ? (position << 2u) : ((position - 8u) << 2u);
 515              		.loc 1 393 7 is_stmt 1 discriminator 4 view .LVU150
 516              		.loc 1 393 68 is_stmt 0 discriminator 4 view .LVU151
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 18


 517 0018 FF2B     		cmp	r3, #255
 518 001a 55D8     		bhi	.L48
 519              		.loc 1 393 68 discriminator 1 view .LVU152
 520 001c 9700     		lsls	r7, r2, #2
 521              	.L49:
 522              	.LVL50:
 394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* CRL/CRH default value is floating input(0x04) shifted to correct position */
 396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       MODIFY_REG(*configregister, ((GPIO_CRL_MODE0 | GPIO_CRL_CNF0) << registeroffset), GPIO_CRL_CN
 523              		.loc 1 396 7 is_stmt 1 discriminator 4 view .LVU153
 524 001e DCF80040 		ldr	r4, [ip]
 525 0022 0F26     		movs	r6, #15
 526 0024 BE40     		lsls	r6, r6, r7
 527 0026 24EA0604 		bic	r4, r4, r6
 528 002a 0425     		movs	r5, #4
 529 002c BD40     		lsls	r5, r5, r7
 530 002e 2C43     		orrs	r4, r4, r5
 531 0030 CCF80040 		str	r4, [ip]
 397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* ODR default value is 0 */
 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       CLEAR_BIT(GPIOx->ODR, iocurrent);
 532              		.loc 1 399 7 discriminator 4 view .LVU154
 533 0034 C468     		ldr	r4, [r0, #12]
 534 0036 24EA0303 		bic	r3, r4, r3
 535              	.LVL51:
 536              		.loc 1 399 7 is_stmt 0 discriminator 4 view .LVU155
 537 003a C360     		str	r3, [r0, #12]
 538              	.L43:
 400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     }
 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     position++;
 539              		.loc 1 402 5 is_stmt 1 view .LVU156
 540              		.loc 1 402 13 is_stmt 0 view .LVU157
 541 003c 0132     		adds	r2, r2, #1
 542              	.LVL52:
 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 543              		.loc 1 364 9 view .LVU158
 544 003e 31FA02F3 		lsrs	r3, r1, r2
 545 0042 45D0     		beq	.L62
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 546              		.loc 1 367 5 is_stmt 1 view .LVU159
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 547              		.loc 1 367 35 is_stmt 0 view .LVU160
 548 0044 0123     		movs	r3, #1
 549 0046 9340     		lsls	r3, r3, r2
 550              	.LVL53:
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 551              		.loc 1 369 5 is_stmt 1 view .LVU161
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 552              		.loc 1 369 8 is_stmt 0 view .LVU162
 553 0048 0B40     		ands	r3, r3, r1
 554              	.LVL54:
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 555              		.loc 1 369 8 view .LVU163
 556 004a F7D0     		beq	.L43
 557              	.LVL55:
 558              	.L57:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 19


 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp &= 0x0FuL << (4u * (position & 0x03u));
 559              		.loc 1 374 7 is_stmt 1 view .LVU164
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp &= 0x0FuL << (4u * (position & 0x03u));
 560              		.loc 1 374 35 is_stmt 0 view .LVU165
 561 004c 4FEA920C 		lsr	ip, r2, #2
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp &= 0x0FuL << (4u * (position & 0x03u));
 562              		.loc 1 374 11 view .LVU166
 563 0050 0CF10205 		add	r5, ip, #2
 564 0054 254C     		ldr	r4, .L66
 565 0056 54F82550 		ldr	r5, [r4, r5, lsl #2]
 566              	.LVL56:
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 567              		.loc 1 375 7 is_stmt 1 view .LVU167
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 568              		.loc 1 375 40 is_stmt 0 view .LVU168
 569 005a 02F00304 		and	r4, r2, #3
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 570              		.loc 1 375 28 view .LVU169
 571 005e A400     		lsls	r4, r4, #2
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 572              		.loc 1 375 21 view .LVU170
 573 0060 0F26     		movs	r6, #15
 574 0062 06FA04F7 		lsl	r7, r6, r4
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
 575              		.loc 1 375 11 view .LVU171
 576 0066 3D40     		ands	r5, r5, r7
 577              	.LVL57:
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 578              		.loc 1 376 7 is_stmt 1 view .LVU172
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 579              		.loc 1 376 19 is_stmt 0 view .LVU173
 580 0068 214E     		ldr	r6, .L66+4
 581 006a B042     		cmp	r0, r6
 582 006c CCD0     		beq	.L51
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 583              		.loc 1 376 19 discriminator 1 view .LVU174
 584 006e 06F58066 		add	r6, r6, #1024
 585 0072 B042     		cmp	r0, r6
 586 0074 09D0     		beq	.L52
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 587              		.loc 1 376 19 discriminator 3 view .LVU175
 588 0076 06F58066 		add	r6, r6, #1024
 589 007a B042     		cmp	r0, r6
 590 007c 07D0     		beq	.L53
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 591              		.loc 1 376 19 discriminator 5 view .LVU176
 592 007e 06F58066 		add	r6, r6, #1024
 593 0082 B042     		cmp	r0, r6
 594 0084 BED0     		beq	.L63
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
 595              		.loc 1 376 19 view .LVU177
 596 0086 0426     		movs	r6, #4
 597 0088 BFE7     		b	.L44
 598              	.L52:
 599 008a 0126     		movs	r6, #1
 600 008c BDE7     		b	.L44
 601              	.L53:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 20


 602 008e 0226     		movs	r6, #2
 603 0090 BBE7     		b	.L44
 604              	.L61:
 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(AFIO->EXTICR[position >> 2u], tmp);
 605              		.loc 1 378 9 is_stmt 1 view .LVU178
 606              	.LVL58:
 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 607              		.loc 1 379 9 view .LVU179
 608 0092 164D     		ldr	r5, .L66
 609 0094 0CF10204 		add	r4, ip, #2
 610 0098 55F82460 		ldr	r6, [r5, r4, lsl #2]
 611 009c 26EA0706 		bic	r6, r6, r7
 612 00a0 45F82460 		str	r6, [r5, r4, lsl #2]
 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->EMR, (uint32_t)iocurrent);
 613              		.loc 1 382 9 view .LVU180
 614 00a4 134C     		ldr	r4, .L66+8
 615 00a6 2668     		ldr	r6, [r4]
 616 00a8 DD43     		mvns	r5, r3
 617 00aa 2E40     		ands	r6, r6, r5
 618 00ac 2660     		str	r6, [r4]
 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 619              		.loc 1 383 9 view .LVU181
 620 00ae 6668     		ldr	r6, [r4, #4]
 621 00b0 2E40     		ands	r6, r6, r5
 622 00b2 6660     		str	r6, [r4, #4]
 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->FTSR, (uint32_t)iocurrent);
 623              		.loc 1 386 9 view .LVU182
 624 00b4 A668     		ldr	r6, [r4, #8]
 625 00b6 2E40     		ands	r6, r6, r5
 626 00b8 A660     		str	r6, [r4, #8]
 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       }
 627              		.loc 1 387 9 view .LVU183
 628 00ba E668     		ldr	r6, [r4, #12]
 629 00bc 3540     		ands	r5, r5, r6
 630 00be E560     		str	r5, [r4, #12]
 631 00c0 A7E7     		b	.L45
 632              	.LVL59:
 633              	.L46:
 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       registeroffset = (iocurrent < GPIO_PIN_8) ? (position << 2u) : ((position - 8u) << 2u);
 634              		.loc 1 392 67 is_stmt 0 discriminator 2 view .LVU184
 635 00c2 00F1040C 		add	ip, r0, #4
 636 00c6 A7E7     		b	.L47
 637              	.LVL60:
 638              	.L48:
 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 639              		.loc 1 393 81 discriminator 2 view .LVU185
 640 00c8 A2F10805 		sub	r5, r2, #8
 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 641              		.loc 1 393 68 discriminator 2 view .LVU186
 642 00cc AF00     		lsls	r7, r5, #2
 643 00ce A6E7     		b	.L49
 644              	.LVL61:
 645              	.L62:
 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
 646              		.loc 1 404 1 view .LVU187
 647 00d0 F0BC     		pop	{r4, r5, r6, r7}
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 21


 648              	.LCFI5:
 649              		.cfi_restore 7
 650              		.cfi_restore 6
 651              		.cfi_restore 5
 652              		.cfi_restore 4
 653              		.cfi_def_cfa_offset 0
 654              	.LVL62:
 655              		.loc 1 404 1 view .LVU188
 656 00d2 7047     		bx	lr
 657              	.LVL63:
 658              	.L65:
 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 659              		.loc 1 402 5 is_stmt 1 view .LVU189
 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 660              		.loc 1 402 13 is_stmt 0 view .LVU190
 661 00d4 0132     		adds	r2, r2, #1
 662              	.LVL64:
 663              	.L56:
 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 664              		.loc 1 364 9 view .LVU191
 665 00d6 31FA02F3 		lsrs	r3, r1, r2
 666 00da 05D0     		beq	.L64
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 667              		.loc 1 367 5 is_stmt 1 view .LVU192
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 668              		.loc 1 367 35 is_stmt 0 view .LVU193
 669 00dc 0123     		movs	r3, #1
 670 00de 9340     		lsls	r3, r3, r2
 671              	.LVL65:
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 672              		.loc 1 369 5 is_stmt 1 view .LVU194
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 673              		.loc 1 369 8 is_stmt 0 view .LVU195
 674 00e0 0B40     		ands	r3, r3, r1
 675              	.LVL66:
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
 676              		.loc 1 369 8 view .LVU196
 677 00e2 F7D0     		beq	.L65
 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t position = 0x00u;
 678              		.loc 1 352 1 view .LVU197
 679 00e4 F0B4     		push	{r4, r5, r6, r7}
 680              	.LCFI6:
 681              		.cfi_def_cfa_offset 16
 682              		.cfi_offset 4, -16
 683              		.cfi_offset 5, -12
 684              		.cfi_offset 6, -8
 685              		.cfi_offset 7, -4
 686 00e6 B1E7     		b	.L57
 687              	.LVL67:
 688              	.L64:
 689              	.LCFI7:
 690              		.cfi_def_cfa_offset 0
 691              		.cfi_restore 4
 692              		.cfi_restore 5
 693              		.cfi_restore 6
 694              		.cfi_restore 7
 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t position = 0x00u;
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 22


 695              		.loc 1 352 1 view .LVU198
 696 00e8 7047     		bx	lr
 697              	.L67:
 698 00ea 00BF     		.align	2
 699              	.L66:
 700 00ec 00000140 		.word	1073807360
 701 00f0 00080140 		.word	1073809408
 702 00f4 00040140 		.word	1073808384
 703              		.cfi_endproc
 704              	.LFE66:
 706              		.section	.text.HAL_GPIO_ReadPin,"ax",%progbits
 707              		.align	1
 708              		.global	HAL_GPIO_ReadPin
 709              		.syntax unified
 710              		.thumb
 711              		.thumb_func
 712              		.fpu softvfp
 714              	HAL_GPIO_ReadPin:
 715              	.LVL68:
 716              	.LFB67:
 405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @}
 408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions
 411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  *  @brief   GPIO Read and Write
 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  *
 413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** @verbatim
 414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  ===============================================================================
 415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****                        ##### IO operation functions #####
 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  ===============================================================================
 417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
 418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     This subsection provides a set of functions allowing to manage the GPIOs.
 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** @endverbatim
 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
 422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  Reads the specified input port pin.
 426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIOx: where x can be (A..G depending on device used) to select the GPIO peripheral
 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: specifies the port bit to read.
 428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *         This parameter can be GPIO_PIN_x where x can be (0..15).
 429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval The input port pin value.
 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
 717              		.loc 1 432 1 is_stmt 1 view -0
 718              		.cfi_startproc
 719              		@ args = 0, pretend = 0, frame = 0
 720              		@ frame_needed = 0, uses_anonymous_args = 0
 721              		@ link register save eliminated.
 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   GPIO_PinState bitstatus;
 722              		.loc 1 433 3 view .LVU200
 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 23


 436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 723              		.loc 1 436 3 view .LVU201
 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
 724              		.loc 1 438 3 view .LVU202
 725              		.loc 1 438 13 is_stmt 0 view .LVU203
 726 0000 8368     		ldr	r3, [r0, #8]
 727              		.loc 1 438 6 view .LVU204
 728 0002 1942     		tst	r1, r3
 729 0004 01D0     		beq	.L70
 439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     bitstatus = GPIO_PIN_SET;
 730              		.loc 1 440 15 view .LVU205
 731 0006 0120     		movs	r0, #1
 732              	.LVL69:
 733              		.loc 1 440 15 view .LVU206
 734 0008 7047     		bx	lr
 735              	.LVL70:
 736              	.L70:
 441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   else
 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     bitstatus = GPIO_PIN_RESET;
 737              		.loc 1 444 15 view .LVU207
 738 000a 0020     		movs	r0, #0
 739              	.LVL71:
 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   return bitstatus;
 740              		.loc 1 446 3 is_stmt 1 view .LVU208
 447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
 741              		.loc 1 447 1 is_stmt 0 view .LVU209
 742 000c 7047     		bx	lr
 743              		.cfi_endproc
 744              	.LFE67:
 746              		.section	.text.HAL_GPIO_WritePin,"ax",%progbits
 747              		.align	1
 748              		.global	HAL_GPIO_WritePin
 749              		.syntax unified
 750              		.thumb
 751              		.thumb_func
 752              		.fpu softvfp
 754              	HAL_GPIO_WritePin:
 755              	.LVL72:
 756              	.LFB68:
 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  Sets or clears the selected data port bit.
 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @note   This function uses GPIOx_BSRR register to allow atomic read/modify
 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *         accesses. In this way, there is no risk of an IRQ occurring between
 454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *         the read and the modify access.
 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
 456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIOx: where x can be (A..G depending on device used) to select the GPIO peripheral
 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: specifies the port bit to be written.
 458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *          This parameter can be one of GPIO_PIN_x where x can be (0..15).
 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  PinState: specifies the value to be written to the selected bit.
 460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *          This parameter can be one of the GPIO_PinState enum values:
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 24


 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *            @arg GPIO_PIN_RESET: to clear the port pin
 462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *            @arg GPIO_PIN_SET: to set the port pin
 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
 757              		.loc 1 466 1 is_stmt 1 view -0
 758              		.cfi_startproc
 759              		@ args = 0, pretend = 0, frame = 0
 760              		@ frame_needed = 0, uses_anonymous_args = 0
 761              		@ link register save eliminated.
 467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 762              		.loc 1 468 3 view .LVU211
 469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN_ACTION(PinState));
 763              		.loc 1 469 3 view .LVU212
 470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if (PinState != GPIO_PIN_RESET)
 764              		.loc 1 471 3 view .LVU213
 765              		.loc 1 471 6 is_stmt 0 view .LVU214
 766 0000 0AB1     		cbz	r2, .L72
 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     GPIOx->BSRR = GPIO_Pin;
 767              		.loc 1 473 5 is_stmt 1 view .LVU215
 768              		.loc 1 473 17 is_stmt 0 view .LVU216
 769 0002 0161     		str	r1, [r0, #16]
 770 0004 7047     		bx	lr
 771              	.L72:
 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   else
 476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     GPIOx->BSRR = (uint32_t)GPIO_Pin << 16u;
 772              		.loc 1 477 5 is_stmt 1 view .LVU217
 773              		.loc 1 477 38 is_stmt 0 view .LVU218
 774 0006 0904     		lsls	r1, r1, #16
 775              	.LVL73:
 776              		.loc 1 477 17 view .LVU219
 777 0008 0161     		str	r1, [r0, #16]
 478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
 778              		.loc 1 479 1 view .LVU220
 779 000a 7047     		bx	lr
 780              		.cfi_endproc
 781              	.LFE68:
 783              		.section	.text.HAL_GPIO_TogglePin,"ax",%progbits
 784              		.align	1
 785              		.global	HAL_GPIO_TogglePin
 786              		.syntax unified
 787              		.thumb
 788              		.thumb_func
 789              		.fpu softvfp
 791              	HAL_GPIO_TogglePin:
 792              	.LVL74:
 793              	.LFB69:
 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  Toggles the specified GPIO pin
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 25


 483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIOx: where x can be (A..G depending on device used) to select the GPIO peripheral
 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: Specifies the pins to be toggled.
 485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
 486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
 794              		.loc 1 488 1 is_stmt 1 view -0
 795              		.cfi_startproc
 796              		@ args = 0, pretend = 0, frame = 0
 797              		@ frame_needed = 0, uses_anonymous_args = 0
 798              		@ link register save eliminated.
 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
 490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 799              		.loc 1 490 3 view .LVU222
 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if ((GPIOx->ODR & GPIO_Pin) != 0x00u)
 800              		.loc 1 492 3 view .LVU223
 801              		.loc 1 492 13 is_stmt 0 view .LVU224
 802 0000 C368     		ldr	r3, [r0, #12]
 803              		.loc 1 492 6 view .LVU225
 804 0002 0B42     		tst	r3, r1
 805 0004 01D0     		beq	.L75
 493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     GPIOx->BRR = (uint32_t)GPIO_Pin;
 806              		.loc 1 494 5 is_stmt 1 view .LVU226
 807              		.loc 1 494 16 is_stmt 0 view .LVU227
 808 0006 4161     		str	r1, [r0, #20]
 809 0008 7047     		bx	lr
 810              	.L75:
 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   else
 497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     GPIOx->BSRR = (uint32_t)GPIO_Pin;
 811              		.loc 1 498 5 is_stmt 1 view .LVU228
 812              		.loc 1 498 17 is_stmt 0 view .LVU229
 813 000a 0161     		str	r1, [r0, #16]
 499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
 814              		.loc 1 500 1 view .LVU230
 815 000c 7047     		bx	lr
 816              		.cfi_endproc
 817              	.LFE69:
 819              		.section	.text.HAL_GPIO_LockPin,"ax",%progbits
 820              		.align	1
 821              		.global	HAL_GPIO_LockPin
 822              		.syntax unified
 823              		.thumb
 824              		.thumb_func
 825              		.fpu softvfp
 827              	HAL_GPIO_LockPin:
 828              	.LVL75:
 829              	.LFB70:
 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** * @brief  Locks GPIO Pins configuration registers.
 504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** * @note   The locking mechanism allows the IO configuration to be frozen. When the LOCK sequence
 505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** *         has been applied on a port bit, it is no longer possible to modify the value of the port 
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 26


 506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** *         the next reset.
 507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** * @param  GPIOx: where x can be (A..G depending on device used) to select the GPIO peripheral
 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** * @param  GPIO_Pin: specifies the port bit to be locked.
 509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** *         This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
 510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** * @retval None
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** */
 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
 830              		.loc 1 513 1 is_stmt 1 view -0
 831              		.cfi_startproc
 832              		@ args = 0, pretend = 0, frame = 8
 833              		@ frame_needed = 0, uses_anonymous_args = 0
 834              		@ link register save eliminated.
 835              		.loc 1 513 1 is_stmt 0 view .LVU232
 836 0000 82B0     		sub	sp, sp, #8
 837              	.LCFI8:
 838              		.cfi_def_cfa_offset 8
 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   __IO uint32_t tmp = GPIO_LCKR_LCKK;
 839              		.loc 1 514 3 is_stmt 1 view .LVU233
 840              		.loc 1 514 17 is_stmt 0 view .LVU234
 841 0002 4FF48033 		mov	r3, #65536
 842 0006 0193     		str	r3, [sp, #4]
 515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_LOCK_INSTANCE(GPIOx));
 843              		.loc 1 517 3 is_stmt 1 view .LVU235
 518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
 844              		.loc 1 518 3 view .LVU236
 519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Apply lock key write sequence */
 521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   SET_BIT(tmp, GPIO_Pin);
 845              		.loc 1 521 3 view .LVU237
 846 0008 019B     		ldr	r3, [sp, #4]
 847 000a 0B43     		orrs	r3, r3, r1
 848 000c 0193     		str	r3, [sp, #4]
 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
 523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
 849              		.loc 1 523 3 view .LVU238
 850              		.loc 1 523 15 is_stmt 0 view .LVU239
 851 000e 019B     		ldr	r3, [sp, #4]
 852 0010 8361     		str	r3, [r0, #24]
 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   GPIOx->LCKR = GPIO_Pin;
 853              		.loc 1 525 3 is_stmt 1 view .LVU240
 854              		.loc 1 525 15 is_stmt 0 view .LVU241
 855 0012 8161     		str	r1, [r0, #24]
 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
 856              		.loc 1 527 3 is_stmt 1 view .LVU242
 857              		.loc 1 527 15 is_stmt 0 view .LVU243
 858 0014 019B     		ldr	r3, [sp, #4]
 859 0016 8361     		str	r3, [r0, #24]
 528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Read LCKK register. This read is mandatory to complete key lock sequence */
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   tmp = GPIOx->LCKR;
 860              		.loc 1 529 3 is_stmt 1 view .LVU244
 861              		.loc 1 529 14 is_stmt 0 view .LVU245
 862 0018 8369     		ldr	r3, [r0, #24]
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 27


 863              		.loc 1 529 7 view .LVU246
 864 001a 0193     		str	r3, [sp, #4]
 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* read again in order to confirm lock is active */
 532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if ((uint32_t)(GPIOx->LCKR & GPIO_LCKR_LCKK))
 865              		.loc 1 532 3 is_stmt 1 view .LVU247
 866              		.loc 1 532 23 is_stmt 0 view .LVU248
 867 001c 8369     		ldr	r3, [r0, #24]
 868              		.loc 1 532 6 view .LVU249
 869 001e 13F4803F 		tst	r3, #65536
 870 0022 02D0     		beq	.L79
 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     return HAL_OK;
 871              		.loc 1 534 12 view .LVU250
 872 0024 0020     		movs	r0, #0
 873              	.LVL76:
 874              	.L78:
 535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   else
 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     return HAL_ERROR;
 539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
 875              		.loc 1 540 1 view .LVU251
 876 0026 02B0     		add	sp, sp, #8
 877              	.LCFI9:
 878              		.cfi_remember_state
 879              		.cfi_def_cfa_offset 0
 880              		@ sp needed
 881 0028 7047     		bx	lr
 882              	.LVL77:
 883              	.L79:
 884              	.LCFI10:
 885              		.cfi_restore_state
 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 886              		.loc 1 538 12 view .LVU252
 887 002a 0120     		movs	r0, #1
 888              	.LVL78:
 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 889              		.loc 1 538 12 view .LVU253
 890 002c FBE7     		b	.L78
 891              		.cfi_endproc
 892              	.LFE70:
 894              		.section	.text.HAL_GPIO_EXTI_Callback,"ax",%progbits
 895              		.align	1
 896              		.weak	HAL_GPIO_EXTI_Callback
 897              		.syntax unified
 898              		.thumb
 899              		.thumb_func
 900              		.fpu softvfp
 902              	HAL_GPIO_EXTI_Callback:
 903              	.LVL79:
 904              	.LFB72:
 541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  This function handles EXTI interrupt request.
 544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: Specifies the pins connected EXTI line
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 28


 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
 556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
 558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  EXTI line detection callbacks.
 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: Specifies the pins connected EXTI line
 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
 562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
 905              		.loc 1 563 1 is_stmt 1 view -0
 906              		.cfi_startproc
 907              		@ args = 0, pretend = 0, frame = 0
 908              		@ frame_needed = 0, uses_anonymous_args = 0
 909              		@ link register save eliminated.
 564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Prevent unused argument(s) compilation warning */
 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   UNUSED(GPIO_Pin);
 910              		.loc 1 565 3 view .LVU255
 566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* NOTE: This function Should not be modified, when the callback is needed,
 567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****            the HAL_GPIO_EXTI_Callback could be implemented in the user file
 568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    */
 569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
 911              		.loc 1 569 1 is_stmt 0 view .LVU256
 912 0000 7047     		bx	lr
 913              		.cfi_endproc
 914              	.LFE72:
 916              		.section	.text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
 917              		.align	1
 918              		.global	HAL_GPIO_EXTI_IRQHandler
 919              		.syntax unified
 920              		.thumb
 921              		.thumb_func
 922              		.fpu softvfp
 924              	HAL_GPIO_EXTI_IRQHandler:
 925              	.LVL80:
 926              	.LFB71:
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 927              		.loc 1 548 1 is_stmt 1 view -0
 928              		.cfi_startproc
 929              		@ args = 0, pretend = 0, frame = 0
 930              		@ frame_needed = 0, uses_anonymous_args = 0
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* EXTI line interrupt detected */
 931              		.loc 1 548 1 is_stmt 0 view .LVU258
 932 0000 08B5     		push	{r3, lr}
 933              	.LCFI11:
 934              		.cfi_def_cfa_offset 8
 935              		.cfi_offset 3, -8
 936              		.cfi_offset 14, -4
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 29


 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 937              		.loc 1 550 3 is_stmt 1 view .LVU259
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 938              		.loc 1 550 7 is_stmt 0 view .LVU260
 939 0002 054B     		ldr	r3, .L86
 940 0004 5B69     		ldr	r3, [r3, #20]
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
 941              		.loc 1 550 6 view .LVU261
 942 0006 0342     		tst	r3, r0
 943 0008 00D1     		bne	.L85
 944              	.LVL81:
 945              	.L82:
 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 946              		.loc 1 555 1 view .LVU262
 947 000a 08BD     		pop	{r3, pc}
 948              	.LVL82:
 949              	.L85:
 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
 950              		.loc 1 552 5 is_stmt 1 view .LVU263
 951 000c 024B     		ldr	r3, .L86
 952 000e 5861     		str	r0, [r3, #20]
 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
 953              		.loc 1 553 5 view .LVU264
 954 0010 FFF7FEFF 		bl	HAL_GPIO_EXTI_Callback
 955              	.LVL83:
 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
 956              		.loc 1 555 1 is_stmt 0 view .LVU265
 957 0014 F9E7     		b	.L82
 958              	.L87:
 959 0016 00BF     		.align	2
 960              	.L86:
 961 0018 00040140 		.word	1073808384
 962              		.cfi_endproc
 963              	.LFE71:
 965              		.text
 966              	.Letext0:
 967              		.file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
 968              		.file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
 969              		.file 4 "Drivers/CMSIS/Include/core_cm3.h"
 970              		.file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
 971              		.file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
 972              		.file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
 973              		.file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h"
 974              		.file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 30


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32f1xx_hal_gpio.c
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:16     .text.HAL_GPIO_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:24     .text.HAL_GPIO_Init:0000000000000000 HAL_GPIO_Init
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:449    .text.HAL_GPIO_Init:00000000000001c0 $d
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:459    .text.HAL_GPIO_DeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:466    .text.HAL_GPIO_DeInit:0000000000000000 HAL_GPIO_DeInit
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:700    .text.HAL_GPIO_DeInit:00000000000000ec $d
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:707    .text.HAL_GPIO_ReadPin:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:714    .text.HAL_GPIO_ReadPin:0000000000000000 HAL_GPIO_ReadPin
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:747    .text.HAL_GPIO_WritePin:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:754    .text.HAL_GPIO_WritePin:0000000000000000 HAL_GPIO_WritePin
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:784    .text.HAL_GPIO_TogglePin:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:791    .text.HAL_GPIO_TogglePin:0000000000000000 HAL_GPIO_TogglePin
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:820    .text.HAL_GPIO_LockPin:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:827    .text.HAL_GPIO_LockPin:0000000000000000 HAL_GPIO_LockPin
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:895    .text.HAL_GPIO_EXTI_Callback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:902    .text.HAL_GPIO_EXTI_Callback:0000000000000000 HAL_GPIO_EXTI_Callback
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:917    .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:924    .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 HAL_GPIO_EXTI_IRQHandler
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:961    .text.HAL_GPIO_EXTI_IRQHandler:0000000000000018 $d

NO UNDEFINED SYMBOLS