Subversion Repositories dashGPS

Rev

Rev 18 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

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