Subversion Repositories dashGPS

Rev

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

Rev Author Line No. Line
19 mjames 1
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 1
16 mjames 2
 
3
 
4
   1              		.cpu cortex-m3
5
   2              		.eabi_attribute 20, 1
6
   3              		.eabi_attribute 21, 1
7
   4              		.eabi_attribute 23, 3
8
   5              		.eabi_attribute 24, 1
9
   6              		.eabi_attribute 25, 1
10
   7              		.eabi_attribute 26, 1
11
   8              		.eabi_attribute 30, 1
12
   9              		.eabi_attribute 34, 1
13
  10              		.eabi_attribute 18, 4
14
  11              		.file	"stm32f1xx_hal_gpio.c"
15
  12              		.text
16
  13              	.Ltext0:
17
  14              		.cfi_sections	.debug_frame
18
  15              		.section	.text.HAL_GPIO_Init,"ax",%progbits
19
  16              		.align	1
20
  17              		.global	HAL_GPIO_Init
21
  18              		.arch armv7-m
22
  19              		.syntax unified
23
  20              		.thumb
24
  21              		.thumb_func
25
  22              		.fpu softvfp
26
  24              	HAL_GPIO_Init:
27
  25              	.LVL0:
28
  26              	.LFB65:
29
  27              		.file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c"
30
   1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
31
   2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ******************************************************************************
32
   3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @file    stm32f1xx_hal_gpio.c
33
   4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @author  MCD Application Team
34
   5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief   GPIO HAL module driver.
35
   6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *          This file provides firmware functions to manage the following
36
   7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *          functionalities of the General Purpose Input/Output (GPIO) peripheral:
37
   8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *           + Initialization and de-initialization functions
38
   9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *           + IO operation functions
39
  10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
40
  11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   @verbatim
41
  12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ==============================================================================
42
  13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****                     ##### GPIO Peripheral features #####
43
  14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ==============================================================================
44
  15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
45
  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
46
  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
47
  18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   in several modes:
48
  19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) Input mode
49
  20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) Analog mode
50
  21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) Output mode
51
  22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) Alternate function mode
52
  23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   (+) External interrupt/event lines
53
  24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
54
  25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
55
  26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   During and just after reset, the alternate functions and external interrupt
56
  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.
57
  28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
58
  29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
59
  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
60
  31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   activated or not.
19 mjames 61
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 2
16 mjames 62
 
63
 
64
  32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
65
  33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
66
  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
67
  35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   type and the IO speed can be selected depending on the VDD value.
68
  36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
69
  37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
70
  38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   All ports have external interrupt/event capability. To use external interrupt
71
  39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   lines, the port must be configured in input mode. All available GPIO pins are
72
  40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   connected to the 16 external interrupt/event lines from EXTI0 to EXTI15.
73
  41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
74
  42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
75
  43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   The external interrupt/event controller consists of up to 20 edge detectors in connectivity
76
  44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   line devices, or 19 edge detectors in other devices for generating event/interrupt requests.
77
  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
78
  46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   the corresponding trigger event (rising or falling or both). Each line can also masked
79
  47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   independently. A pending register maintains the status line of the interrupt requests
80
  48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
81
  49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****                      ##### How to use this driver #####
82
  50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ==============================================================================
83
  51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  [..]
84
  52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) Enable the GPIO APB2 clock using the following function : __HAL_RCC_GPIOx_CLK_ENABLE().
85
  53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
86
  54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) Configure the GPIO pin(s) using HAL_GPIO_Init().
87
  55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure
88
  56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef
89
  57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             structure.
90
  58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) In case of Output or alternate function mode selection: the speed is
91
  59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             configured through "Speed" member from GPIO_InitTypeDef structure
92
  60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) Analog mode is required when a pin is to be used as ADC channel
93
  61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             or DAC output.
94
  62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (++) In case of external interrupt/event selection the "Mode" member from
95
  63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             GPIO_InitTypeDef structure select the type (interrupt or event) and
96
  64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             the corresponding trigger event (rising or falling or both).
97
  65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
98
  66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority
99
  67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using
100
  68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        HAL_NVIC_EnableIRQ().
101
  69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
102
  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().
103
  71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
104
  72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) To set/reset the level of a pin configured in output mode use
105
  73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        HAL_GPIO_WritePin()/HAL_GPIO_TogglePin().
106
  74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
107
  75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
108
  76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
109
  77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) During and just after reset, the alternate functions are not
110
  78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        active and the GPIO pins are configured in input floating mode (except JTAG
111
  79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        pins).
112
  80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
113
  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
114
  82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        (PC14 and PC15, respectively) when the LSE oscillator is off. The LSE has
115
  83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        priority over the GPIO function.
116
  84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
117
  85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
118
  86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        general purpose PD0 and PD1, respectively, when the HSE oscillator is off.
119
  87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        The HSE has priority over the GPIO function.
120
  88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
19 mjames 121
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 3
16 mjames 122
 
123
 
124
  89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   @endverbatim
125
  90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ******************************************************************************
126
  91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @attention
127
  92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
128
  93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
129
  94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * All rights reserved.</center></h2>
130
  95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
131
  96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * This software component is licensed by ST under BSD 3-Clause license,
132
  97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * the "License"; You may not use this file except in compliance with the
133
  98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * License. You may obtain a copy of the License at:
134
  99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *                        opensource.org/licenses/BSD-3-Clause
135
 100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
136
 101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   ******************************************************************************
137
 102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
138
 103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
139
 104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
140
 105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #include "stm32f1xx_hal.h"
141
 106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
142
 107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @addtogroup STM32F1xx_HAL_Driver
143
 108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
144
 109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
145
 110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
146
 111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @defgroup GPIO GPIO
147
 112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief GPIO HAL module driver
148
 113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
149
 114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
150
 115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
151
 116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
152
 117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
153
 118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
154
 119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private define ------------------------------------------------------------*/
155
 120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @addtogroup GPIO_Private_Constants GPIO Private Constants
156
 121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
157
 122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
158
 123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_MODE             0x00000003u
159
 124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define EXTI_MODE             0x10000000u
160
 125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_MODE_IT          0x00010000u
161
 126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_MODE_EVT         0x00020000u
162
 127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define RISING_EDGE           0x00100000u
163
 128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define FALLING_EDGE          0x00200000u
164
 129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_OUTPUT_TYPE      0x00000010u
165
 130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
166
 131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define GPIO_NUMBER           16u
167
 132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
168
 133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Definitions for bit manipulation of CRL and CRH register */
169
 134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_MODE_INPUT         0x00000000u /*!< 00: Input mode (reset state)  */
170
 135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_ANALOG         0x00000000u /*!< 00: Analog mode  */
171
 136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_INPUT_FLOATING 0x00000004u /*!< 01: Floating input (reset state)  */
172
 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  */
173
 138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_GP_OUTPUT_PP   0x00000000u /*!< 00: General purpose output push-pull  */
174
 139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_GP_OUTPUT_OD   0x00000004u /*!< 01: General purpose output Open-drain  */
175
 140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_AF_OUTPUT_PP   0x00000008u /*!< 10: Alternate function output Push-pull  */
176
 141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** #define  GPIO_CR_CNF_AF_OUTPUT_OD   0x0000000Cu /*!< 11: Alternate function output Open-drain  */
177
 142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
178
 143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
179
 144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @}
180
 145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
19 mjames 181
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 4
16 mjames 182
 
183
 
184
 146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private macro -------------------------------------------------------------*/
185
 147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
186
 148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
187
 149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Private functions ---------------------------------------------------------*/
188
 150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
189
 151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions
190
 152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
191
 153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
192
 154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
193
 155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization and de-initialization functions
194
 156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  *  @brief    Initialization and Configuration functions
195
 157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  *
196
 158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** @verbatim
197
 159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  ===============================================================================
198
 160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****               ##### Initialization and de-initialization functions #####
199
 161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  ===============================================================================
200
 162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
201
 163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     This section provides functions allowing to initialize and de-initialize the GPIOs
202
 164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     to be ready for use.
203
 165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
204
 166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** @endverbatim
205
 167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
206
 168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
207
 169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
208
 170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
209
 171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
210
 172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  Initializes the GPIOx peripheral according to the specified parameters in the GPIO_Init
211
 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
212
 174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Init: pointer to a GPIO_InitTypeDef structure that contains
213
 175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *         the configuration information for the specified GPIO peripheral.
214
 176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
215
 177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
216
 178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef  *GPIOx, GPIO_InitTypeDef *GPIO_Init)
217
 179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
218
  28              		.loc 1 179 1 view -0
219
  29              		.cfi_startproc
220
  30              		@ args = 0, pretend = 0, frame = 8
221
  31              		@ frame_needed = 0, uses_anonymous_args = 0
222
  32              		@ link register save eliminated.
223
  33              		.loc 1 179 1 is_stmt 0 view .LVU1
224
  34 0000 F0B4     		push	{r4, r5, r6, r7}
225
  35              	.LCFI0:
226
  36              		.cfi_def_cfa_offset 16
227
  37              		.cfi_offset 4, -16
228
  38              		.cfi_offset 5, -12
229
  39              		.cfi_offset 6, -8
230
  40              		.cfi_offset 7, -4
231
  41 0002 82B0     		sub	sp, sp, #8
232
  42              	.LCFI1:
233
  43              		.cfi_def_cfa_offset 24
234
 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t position = 0x00u;
235
  44              		.loc 1 180 3 is_stmt 1 view .LVU2
236
  45              	.LVL1:
237
 181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t ioposition;
238
  46              		.loc 1 181 3 view .LVU3
239
 182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t iocurrent;
240
  47              		.loc 1 182 3 view .LVU4
19 mjames 241
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 5
16 mjames 242
 
243
 
244
 183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t temp;
245
  48              		.loc 1 183 3 view .LVU5
246
 184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t config = 0x00u;
247
  49              		.loc 1 184 3 view .LVU6
248
 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 */
249
  50              		.loc 1 185 3 view .LVU7
250
 186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t registeroffset;       /* offset used during computation of CNF and MODE bits placement i
251
  51              		.loc 1 186 3 view .LVU8
252
 187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
253
 188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
254
 189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
255
  52              		.loc 1 189 3 view .LVU9
256
 190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
257
  53              		.loc 1 190 3 view .LVU10
258
 191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
259
  54              		.loc 1 191 3 view .LVU11
260
 192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
261
 193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Configure the port pins */
262
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   while (((GPIO_Init->Pin) >> position) != 0x00u)
263
  55              		.loc 1 194 3 view .LVU12
264
 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 */
265
  56              		.loc 1 184 12 is_stmt 0 view .LVU13
266
  57 0004 0026     		movs	r6, #0
267
 180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t ioposition;
268
  58              		.loc 1 180 12 view .LVU14
269
  59 0006 3546     		mov	r5, r6
270
  60              		.loc 1 194 9 view .LVU15
271
  61 0008 A0E0     		b	.L2
272
  62              	.LVL2:
273
  63              	.L38:
274
 195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
275
 196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     /* Get the IO position */
276
 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     ioposition = (0x01uL << position);
277
 198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
278
 199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     /* Get the current IO position */
279
 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition;
280
 201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
281
 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     if (iocurrent == ioposition)
282
 203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
283
 204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Check the Alternate function parameters */
284
 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       assert_param(IS_GPIO_AF_INSTANCE(GPIOx));
285
 206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
286
 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
287
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       switch (GPIO_Init->Mode)
288
  64              		.loc 1 208 7 view .LVU16
289
  65 000a 002A     		cmp	r2, #0
290
  66 000c 58D0     		beq	.L8
291
  67 000e 012A     		cmp	r2, #1
292
  68 0010 10D1     		bne	.L10
293
 209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
294
 210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in OUTPUT push-pull mode */
295
 211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_OUTPUT_PP:
296
 212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO speed parameter */
297
 213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
298
  69              		.loc 1 213 11 is_stmt 1 view .LVU17
299
 214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_GP_OUTPUT_PP;
300
  70              		.loc 1 214 11 view .LVU18
19 mjames 301
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 6
16 mjames 302
 
303
 
304
  71              		.loc 1 214 18 is_stmt 0 view .LVU19
305
  72 0012 CE68     		ldr	r6, [r1, #12]
306
  73              	.LVL3:
307
 215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
308
  74              		.loc 1 215 11 is_stmt 1 view .LVU20
309
  75 0014 0EE0     		b	.L10
310
  76              	.L5:
311
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
312
  77              		.loc 1 208 7 is_stmt 0 view .LVU21
313
  78 0016 6A4F     		ldr	r7, .L39
314
  79 0018 BA42     		cmp	r2, r7
315
  80 001a 51D0     		beq	.L8
316
  81 001c 48D9     		bls	.L34
317
  82 001e 694F     		ldr	r7, .L39+4
318
  83 0020 BA42     		cmp	r2, r7
319
  84 0022 4DD0     		beq	.L8
320
  85 0024 07F58037 		add	r7, r7, #65536
321
  86 0028 BA42     		cmp	r2, r7
322
  87 002a 49D0     		beq	.L8
323
  88 002c A7F58017 		sub	r7, r7, #1048576
324
  89 0030 BA42     		cmp	r2, r7
325
  90 0032 45D0     		beq	.L8
326
  91              	.LVL4:
327
  92              	.L10:
328
 216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
329
 217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in OUTPUT open-drain mode */
330
 218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_OUTPUT_OD:
331
 219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO speed parameter */
332
 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
333
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_GP_OUTPUT_OD;
334
 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
335
 223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
336
 224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in ALTERNATE FUNCTION push-pull mode */
337
 225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_AF_PP:
338
 226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO speed parameter */
339
 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
340
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_AF_OUTPUT_PP;
341
 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
342
 230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
343
 231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in ALTERNATE FUNCTION open-drain mode */
344
 232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_AF_OD:
345
 233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO speed parameter */
346
 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
347
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_AF_OUTPUT_OD;
348
 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
349
 237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
350
 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) */
351
 239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_INPUT:
352
 240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_IT_RISING:
353
 241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_IT_FALLING:
354
 242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_IT_RISING_FALLING:
355
 243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_EVT_RISING:
356
 244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_EVT_FALLING:
357
 245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_EVT_RISING_FALLING:
358
 246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           /* Check the GPIO pull parameter */
359
 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
360
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           if (GPIO_Init->Pull == GPIO_NOPULL)
19 mjames 361
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 7
16 mjames 362
 
363
 
364
 249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
365
 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             config = GPIO_CR_MODE_INPUT + GPIO_CR_CNF_INPUT_FLOATING;
366
 251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
367
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           else if (GPIO_Init->Pull == GPIO_PULLUP)
368
 253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
369
 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             config = GPIO_CR_MODE_INPUT + GPIO_CR_CNF_INPUT_PU_PD;
370
 255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
371
 256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             /* Set the corresponding ODR bit */
372
 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             GPIOx->BSRR = ioposition;
373
 258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
374
 259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           else /* GPIO_PULLDOWN */
375
 260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
376
 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             config = GPIO_CR_MODE_INPUT + GPIO_CR_CNF_INPUT_PU_PD;
377
 262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
378
 263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             /* Reset the corresponding ODR bit */
379
 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****             GPIOx->BRR = ioposition;
380
 265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
381
 266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
382
 267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
383
 268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* If we are configuring the pin in INPUT analog mode */
384
 269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         case GPIO_MODE_ANALOG:
385
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_CR_MODE_INPUT + GPIO_CR_CNF_ANALOG;
386
 271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
387
 272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
388
 273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Parameters are checked with assert_param */
389
 274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         default:
390
 275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
391
 276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       }
392
 277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
393
 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
394
 279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        in order to address CRH or CRL register*/
395
 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       configregister = (iocurrent < GPIO_PIN_8) ? &GPIOx->CRL     : &GPIOx->CRH;
396
  93              		.loc 1 280 7 is_stmt 1 view .LVU22
397
  94              		.loc 1 280 67 is_stmt 0 view .LVU23
398
  95 0034 FF2B     		cmp	r3, #255
399
  96 0036 57D8     		bhi	.L14
400
  97              		.loc 1 280 67 discriminator 1 view .LVU24
401
  98 0038 8446     		mov	ip, r0
402
  99              	.L15:
403
 100              	.LVL5:
404
 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       registeroffset = (iocurrent < GPIO_PIN_8) ? (position << 2u) : ((position - 8u) << 2u);
405
 101              		.loc 1 281 7 is_stmt 1 discriminator 4 view .LVU25
406
 102              		.loc 1 281 68 is_stmt 0 discriminator 4 view .LVU26
407
 103 003a FF2B     		cmp	r3, #255
408
 104 003c 57D8     		bhi	.L16
409
 105              		.loc 1 281 68 discriminator 1 view .LVU27
410
 106 003e AC00     		lsls	r4, r5, #2
411
 107              	.LVL6:
412
 108              	.L17:
413
 282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
414
 283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Apply the new configuration of the pin to the register */
415
 284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       MODIFY_REG((*configregister), ((GPIO_CRL_MODE0 | GPIO_CRL_CNF0) << registeroffset), (config <
416
 109              		.loc 1 284 7 is_stmt 1 discriminator 4 view .LVU28
417
 110 0040 DCF80020 		ldr	r2, [ip]
418
 111 0044 0F27     		movs	r7, #15
419
 112 0046 A740     		lsls	r7, r7, r4
420
 113 0048 22EA0702 		bic	r2, r2, r7
19 mjames 421
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 8
16 mjames 422
 
423
 
424
 114 004c 06FA04F4 		lsl	r4, r6, r4
425
 115              	.LVL7:
426
 116              		.loc 1 284 7 is_stmt 0 discriminator 4 view .LVU29
427
 117 0050 2243     		orrs	r2, r2, r4
428
 118 0052 CCF80020 		str	r2, [ip]
429
 285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
430
 286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /*--------------------- EXTI Mode Configuration ------------------------*/
431
 287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Configure the External Interrupt or event for the current IO */
432
 288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if ((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE)
433
 119              		.loc 1 288 7 is_stmt 1 discriminator 4 view .LVU30
434
 120              		.loc 1 288 21 is_stmt 0 discriminator 4 view .LVU31
435
 121 0056 4A68     		ldr	r2, [r1, #4]
436
 122              		.loc 1 288 10 discriminator 4 view .LVU32
437
 123 0058 12F0805F 		tst	r2, #268435456
438
 124 005c 75D0     		beq	.L3
439
 289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
440
 290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Enable AFIO Clock */
441
 291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         __HAL_RCC_AFIO_CLK_ENABLE();
442
 125              		.loc 1 291 9 is_stmt 1 view .LVU33
443
 126              	.LBB2:
444
 127              		.loc 1 291 9 view .LVU34
445
 128              		.loc 1 291 9 view .LVU35
446
 129 005e 5A4A     		ldr	r2, .L39+8
447
 130 0060 9469     		ldr	r4, [r2, #24]
448
 131 0062 44F00104 		orr	r4, r4, #1
449
 132 0066 9461     		str	r4, [r2, #24]
450
 133              		.loc 1 291 9 view .LVU36
451
 134 0068 9269     		ldr	r2, [r2, #24]
452
 135 006a 02F00102 		and	r2, r2, #1
453
 136 006e 0192     		str	r2, [sp, #4]
454
 137              		.loc 1 291 9 view .LVU37
455
 138 0070 019A     		ldr	r2, [sp, #4]
456
 139              	.LBE2:
457
 292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         temp = AFIO->EXTICR[position >> 2u];
458
 140              		.loc 1 292 9 view .LVU38
459
 141              		.loc 1 292 38 is_stmt 0 view .LVU39
460
 142 0072 AC08     		lsrs	r4, r5, #2
461
 143              		.loc 1 292 14 view .LVU40
462
 144 0074 A71C     		adds	r7, r4, #2
463
 145 0076 554A     		ldr	r2, .L39+12
464
 146 0078 52F82720 		ldr	r2, [r2, r7, lsl #2]
465
 147              	.LVL8:
466
 293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(temp, (0x0Fu) << (4u * (position & 0x03u)));
467
 148              		.loc 1 293 9 is_stmt 1 view .LVU41
468
 149 007c 05F00307 		and	r7, r5, #3
469
 150 0080 BF00     		lsls	r7, r7, #2
470
 151 0082 4FF00F0C 		mov	ip, #15
471
 152              	.LVL9:
472
 153              		.loc 1 293 9 is_stmt 0 view .LVU42
473
 154 0086 0CFA07FC 		lsl	ip, ip, r7
474
 155 008a 22EA0C0C 		bic	ip, r2, ip
475
 156              	.LVL10:
476
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         SET_BIT(temp, (GPIO_GET_INDEX(GPIOx)) << (4u * (position & 0x03u)));
477
 157              		.loc 1 294 9 is_stmt 1 view .LVU43
478
 158 008e 504A     		ldr	r2, .L39+16
479
 159 0090 9042     		cmp	r0, r2
480
 160 0092 32D0     		beq	.L29
19 mjames 481
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 9
16 mjames 482
 
483
 
484
 161              		.loc 1 294 9 is_stmt 0 discriminator 1 view .LVU44
485
 162 0094 02F58062 		add	r2, r2, #1024
486
 163 0098 9042     		cmp	r0, r2
487
 164 009a 71D0     		beq	.L30
488
 165              		.loc 1 294 9 discriminator 3 view .LVU45
489
 166 009c 02F58062 		add	r2, r2, #1024
490
 167 00a0 9042     		cmp	r0, r2
491
 168 00a2 6FD0     		beq	.L31
492
 169              		.loc 1 294 9 discriminator 5 view .LVU46
493
 170 00a4 02F58062 		add	r2, r2, #1024
494
 171 00a8 9042     		cmp	r0, r2
495
 172 00aa 24D0     		beq	.L35
496
 173              		.loc 1 294 9 view .LVU47
497
 174 00ac 0422     		movs	r2, #4
498
 175 00ae 25E0     		b	.L18
499
 176              	.LVL11:
500
 177              	.L34:
501
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
502
 178              		.loc 1 208 7 view .LVU48
503
 179 00b0 A7F58017 		sub	r7, r7, #1048576
504
 180 00b4 BA42     		cmp	r2, r7
505
 181 00b6 03D0     		beq	.L8
506
 182 00b8 07F58037 		add	r7, r7, #65536
507
 183 00bc BA42     		cmp	r2, r7
508
 184 00be B9D1     		bne	.L10
509
 185              	.L8:
510
 247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           if (GPIO_Init->Pull == GPIO_NOPULL)
511
 186              		.loc 1 247 11 is_stmt 1 view .LVU49
512
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
513
 187              		.loc 1 248 11 view .LVU50
514
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
515
 188              		.loc 1 248 24 is_stmt 0 view .LVU51
516
 189 00c0 8A68     		ldr	r2, [r1, #8]
517
 248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
518
 190              		.loc 1 248 14 view .LVU52
519
 191 00c2 7AB1     		cbz	r2, .L28
520
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
521
 192              		.loc 1 252 16 is_stmt 1 view .LVU53
522
 252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           {
523
 193              		.loc 1 252 19 is_stmt 0 view .LVU54
524
 194 00c4 012A     		cmp	r2, #1
525
 195 00c6 08D0     		beq	.L36
526
 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
527
 196              		.loc 1 261 13 is_stmt 1 view .LVU55
528
 197              	.LVL12:
529
 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
530
 198              		.loc 1 264 13 view .LVU56
531
 264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
532
 199              		.loc 1 264 24 is_stmt 0 view .LVU57
533
 200 00c8 4461     		str	r4, [r0, #20]
534
 261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
535
 201              		.loc 1 261 20 view .LVU58
536
 202 00ca 0826     		movs	r6, #8
537
 203 00cc B2E7     		b	.L10
538
 204              	.LVL13:
539
 205              	.L6:
540
 227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_AF_OUTPUT_PP;
19 mjames 541
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 10
16 mjames 542
 
543
 
544
 206              		.loc 1 227 11 is_stmt 1 view .LVU59
545
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
546
 207              		.loc 1 228 11 view .LVU60
547
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
548
 208              		.loc 1 228 29 is_stmt 0 view .LVU61
549
 209 00ce CE68     		ldr	r6, [r1, #12]
550
 210              	.LVL14:
551
 228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
552
 211              		.loc 1 228 18 view .LVU62
553
 212 00d0 0836     		adds	r6, r6, #8
554
 213              	.LVL15:
555
 229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
556
 214              		.loc 1 229 11 is_stmt 1 view .LVU63
557
 215 00d2 AFE7     		b	.L10
558
 216              	.L4:
559
 234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_AF_OUTPUT_OD;
560
 217              		.loc 1 234 11 view .LVU64
561
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
562
 218              		.loc 1 235 11 view .LVU65
563
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
564
 219              		.loc 1 235 29 is_stmt 0 view .LVU66
565
 220 00d4 CE68     		ldr	r6, [r1, #12]
566
 221              	.LVL16:
567
 235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
568
 222              		.loc 1 235 18 view .LVU67
569
 223 00d6 0C36     		adds	r6, r6, #12
570
 224              	.LVL17:
571
 236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
572
 225              		.loc 1 236 11 is_stmt 1 view .LVU68
573
 226 00d8 ACE7     		b	.L10
574
 227              	.L36:
575
 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
576
 228              		.loc 1 254 13 view .LVU69
577
 229              	.LVL18:
578
 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
579
 230              		.loc 1 257 13 view .LVU70
580
 257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
581
 231              		.loc 1 257 25 is_stmt 0 view .LVU71
582
 232 00da 0461     		str	r4, [r0, #16]
583
 254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
584
 233              		.loc 1 254 20 view .LVU72
585
 234 00dc 0826     		movs	r6, #8
586
 235 00de A9E7     		b	.L10
587
 236              	.LVL19:
588
 237              	.L27:
589
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
590
 238              		.loc 1 270 18 view .LVU73
591
 239 00e0 0026     		movs	r6, #0
592
 240              	.LVL20:
593
 270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
594
 241              		.loc 1 270 18 view .LVU74
595
 242 00e2 A7E7     		b	.L10
596
 243              	.LVL21:
597
 244              	.L28:
598
 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
599
 245              		.loc 1 250 20 view .LVU75
600
 246 00e4 0426     		movs	r6, #4
19 mjames 601
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 11
16 mjames 602
 
603
 
604
 247              	.LVL22:
605
 250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           }
606
 248              		.loc 1 250 20 view .LVU76
607
 249 00e6 A5E7     		b	.L10
608
 250              	.LVL23:
609
 251              	.L14:
610
 280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       registeroffset = (iocurrent < GPIO_PIN_8) ? (position << 2u) : ((position - 8u) << 2u);
611
 252              		.loc 1 280 67 discriminator 2 view .LVU77
612
 253 00e8 00F1040C 		add	ip, r0, #4
613
 254 00ec A5E7     		b	.L15
614
 255              	.LVL24:
615
 256              	.L16:
616
 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
617
 257              		.loc 1 281 81 discriminator 2 view .LVU78
618
 258 00ee A5F10804 		sub	r4, r5, #8
619
 259              	.LVL25:
620
 281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
621
 260              		.loc 1 281 68 discriminator 2 view .LVU79
622
 261 00f2 A400     		lsls	r4, r4, #2
623
 262 00f4 A4E7     		b	.L17
624
 263              	.LVL26:
625
 264              	.L35:
626
 265              		.loc 1 294 9 view .LVU80
627
 266 00f6 0322     		movs	r2, #3
628
 267 00f8 00E0     		b	.L18
629
 268              	.L29:
630
 269 00fa 0022     		movs	r2, #0
631
 270              	.L18:
632
 271              		.loc 1 294 9 discriminator 16 view .LVU81
633
 272 00fc BA40     		lsls	r2, r2, r7
634
 273 00fe 42EA0C02 		orr	r2, r2, ip
635
 274              	.LVL27:
636
 295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         AFIO->EXTICR[position >> 2u] = temp;
637
 275              		.loc 1 295 9 is_stmt 1 discriminator 16 view .LVU82
638
 276              		.loc 1 295 38 is_stmt 0 discriminator 16 view .LVU83
639
 277 0102 0234     		adds	r4, r4, #2
640
 278 0104 314F     		ldr	r7, .L39+12
641
 279 0106 47F82420 		str	r2, [r7, r4, lsl #2]
642
 296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
643
 297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
644
 298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Configure the interrupt mask */
645
 299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         if ((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT)
646
 280              		.loc 1 299 9 is_stmt 1 discriminator 16 view .LVU84
647
 281              		.loc 1 299 23 is_stmt 0 discriminator 16 view .LVU85
648
 282 010a 4A68     		ldr	r2, [r1, #4]
649
 283              	.LVL28:
650
 284              		.loc 1 299 12 discriminator 16 view .LVU86
651
 285 010c 12F4803F 		tst	r2, #65536
652
 286 0110 3AD0     		beq	.L19
653
 300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
654
 301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           SET_BIT(EXTI->IMR, iocurrent);
655
 287              		.loc 1 301 11 is_stmt 1 view .LVU87
656
 288 0112 304C     		ldr	r4, .L39+20
657
 289              	.LVL29:
658
 290              		.loc 1 301 11 is_stmt 0 view .LVU88
659
 291 0114 2268     		ldr	r2, [r4]
660
 292 0116 1A43     		orrs	r2, r2, r3
19 mjames 661
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 12
16 mjames 662
 
663
 
664
 293 0118 2260     		str	r2, [r4]
665
 294              	.LVL30:
666
 295              	.L20:
667
 302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
668
 303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         else
669
 304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
670
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           CLEAR_BIT(EXTI->IMR, iocurrent);
671
 306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
672
 307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
673
 308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Configure the event mask */
674
 309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         if ((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT)
675
 296              		.loc 1 309 9 is_stmt 1 view .LVU89
676
 297              		.loc 1 309 23 is_stmt 0 view .LVU90
677
 298 011a 4A68     		ldr	r2, [r1, #4]
678
 299              		.loc 1 309 12 view .LVU91
679
 300 011c 12F4003F 		tst	r2, #131072
680
 301 0120 38D0     		beq	.L21
681
 310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
682
 311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           SET_BIT(EXTI->EMR, iocurrent);
683
 302              		.loc 1 311 11 is_stmt 1 view .LVU92
684
 303 0122 2C4C     		ldr	r4, .L39+20
685
 304 0124 6268     		ldr	r2, [r4, #4]
686
 305 0126 1A43     		orrs	r2, r2, r3
687
 306 0128 6260     		str	r2, [r4, #4]
688
 307              	.L22:
689
 312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
690
 313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         else
691
 314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
692
 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           CLEAR_BIT(EXTI->EMR, iocurrent);
693
 316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
694
 317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
695
 318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Enable or disable the rising trigger */
696
 319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         if ((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE)
697
 308              		.loc 1 319 9 view .LVU93
698
 309              		.loc 1 319 23 is_stmt 0 view .LVU94
699
 310 012a 4A68     		ldr	r2, [r1, #4]
700
 311              		.loc 1 319 12 view .LVU95
701
 312 012c 12F4801F 		tst	r2, #1048576
702
 313 0130 36D0     		beq	.L23
703
 320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
704
 321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           SET_BIT(EXTI->RTSR, iocurrent);
705
 314              		.loc 1 321 11 is_stmt 1 view .LVU96
706
 315 0132 284C     		ldr	r4, .L39+20
707
 316 0134 A268     		ldr	r2, [r4, #8]
708
 317 0136 1A43     		orrs	r2, r2, r3
709
 318 0138 A260     		str	r2, [r4, #8]
710
 319              	.L24:
711
 322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
712
 323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         else
713
 324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
714
 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           CLEAR_BIT(EXTI->RTSR, iocurrent);
715
 326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
716
 327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
717
 328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Enable or disable the falling trigger */
718
 329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         if ((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE)
719
 320              		.loc 1 329 9 view .LVU97
720
 321              		.loc 1 329 23 is_stmt 0 view .LVU98
19 mjames 721
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 13
16 mjames 722
 
723
 
724
 322 013a 4A68     		ldr	r2, [r1, #4]
725
 323              		.loc 1 329 12 view .LVU99
726
 324 013c 12F4001F 		tst	r2, #2097152
727
 325 0140 34D0     		beq	.L25
728
 330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
729
 331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           SET_BIT(EXTI->FTSR, iocurrent);
730
 326              		.loc 1 331 11 is_stmt 1 view .LVU100
731
 327 0142 244C     		ldr	r4, .L39+20
732
 328 0144 E268     		ldr	r2, [r4, #12]
733
 329 0146 1343     		orrs	r3, r3, r2
734
 330              	.LVL31:
735
 331              		.loc 1 331 11 is_stmt 0 view .LVU101
736
 332 0148 E360     		str	r3, [r4, #12]
737
 333              	.L3:
738
 332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
739
 333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         else
740
 334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         {
741
 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           CLEAR_BIT(EXTI->FTSR, iocurrent);
742
 336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
743
 337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       }
744
 338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     }
745
 339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
746
 340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 	position++;
747
 334              		.loc 1 340 2 is_stmt 1 view .LVU102
748
 335              		.loc 1 340 10 is_stmt 0 view .LVU103
749
 336 014a 0135     		adds	r5, r5, #1
750
 337              	.LVL32:
751
 338              	.L2:
752
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
753
 339              		.loc 1 194 21 view .LVU104
754
 340 014c 0B68     		ldr	r3, [r1]
755
 194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
756
 341              		.loc 1 194 9 view .LVU105
757
 342 014e 33FA05F2 		lsrs	r2, r3, r5
758
 343 0152 31D0     		beq	.L37
759
 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
760
 344              		.loc 1 197 5 is_stmt 1 view .LVU106
761
 197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
762
 345              		.loc 1 197 16 is_stmt 0 view .LVU107
763
 346 0154 0124     		movs	r4, #1
764
 347 0156 AC40     		lsls	r4, r4, r5
765
 348              	.LVL33:
766
 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
767
 349              		.loc 1 200 5 is_stmt 1 view .LVU108
768
 200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
769
 350              		.loc 1 200 15 is_stmt 0 view .LVU109
770
 351 0158 2340     		ands	r3, r3, r4
771
 352              	.LVL34:
772
 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
773
 353              		.loc 1 202 5 is_stmt 1 view .LVU110
774
 202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
775
 354              		.loc 1 202 8 is_stmt 0 view .LVU111
776
 355 015a 9C42     		cmp	r4, r3
777
 356 015c F5D1     		bne	.L3
778
 205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
779
 357              		.loc 1 205 7 is_stmt 1 view .LVU112
780
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
19 mjames 781
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 14
16 mjames 782
 
783
 
784
 358              		.loc 1 208 7 view .LVU113
785
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
786
 359              		.loc 1 208 24 is_stmt 0 view .LVU114
787
 360 015e 4A68     		ldr	r2, [r1, #4]
788
 208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
789
 361              		.loc 1 208 7 view .LVU115
790
 362 0160 122A     		cmp	r2, #18
791
 363 0162 B7D0     		beq	.L4
792
 364 0164 3FF657AF 		bhi	.L5
793
 365 0168 022A     		cmp	r2, #2
794
 366 016a B0D0     		beq	.L6
795
 367 016c 7FF64DAF 		bls	.L38
796
 368 0170 032A     		cmp	r2, #3
797
 369 0172 B5D0     		beq	.L27
798
 370 0174 112A     		cmp	r2, #17
799
 371 0176 7FF45DAF 		bne	.L10
800
 220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           config = GPIO_Init->Speed + GPIO_CR_CNF_GP_OUTPUT_OD;
801
 372              		.loc 1 220 11 is_stmt 1 view .LVU116
802
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
803
 373              		.loc 1 221 11 view .LVU117
804
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
805
 374              		.loc 1 221 29 is_stmt 0 view .LVU118
806
 375 017a CE68     		ldr	r6, [r1, #12]
807
 376              	.LVL35:
808
 221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****           break;
809
 377              		.loc 1 221 18 view .LVU119
810
 378 017c 0436     		adds	r6, r6, #4
811
 379              	.LVL36:
812
 222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
813
 380              		.loc 1 222 11 is_stmt 1 view .LVU120
814
 381 017e 59E7     		b	.L10
815
 382              	.LVL37:
816
 383              	.L30:
817
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         AFIO->EXTICR[position >> 2u] = temp;
818
 384              		.loc 1 294 9 is_stmt 0 view .LVU121
819
 385 0180 0122     		movs	r2, #1
820
 386              	.LVL38:
821
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         AFIO->EXTICR[position >> 2u] = temp;
822
 387              		.loc 1 294 9 view .LVU122
823
 388 0182 BBE7     		b	.L18
824
 389              	.LVL39:
825
 390              	.L31:
826
 294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         AFIO->EXTICR[position >> 2u] = temp;
827
 391              		.loc 1 294 9 view .LVU123
828
 392 0184 0222     		movs	r2, #2
829
 393 0186 B9E7     		b	.L18
830
 394              	.LVL40:
831
 395              	.L19:
832
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
833
 396              		.loc 1 305 11 is_stmt 1 view .LVU124
834
 397 0188 124C     		ldr	r4, .L39+20
835
 398              	.LVL41:
836
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
837
 399              		.loc 1 305 11 is_stmt 0 view .LVU125
838
 400 018a 2268     		ldr	r2, [r4]
839
 401 018c 22EA0302 		bic	r2, r2, r3
840
 402 0190 2260     		str	r2, [r4]
19 mjames 841
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 15
16 mjames 842
 
843
 
844
 403              	.LVL42:
845
 305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
846
 404              		.loc 1 305 11 view .LVU126
847
 405 0192 C2E7     		b	.L20
848
 406              	.L21:
849
 315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
850
 407              		.loc 1 315 11 is_stmt 1 view .LVU127
851
 408 0194 0F4C     		ldr	r4, .L39+20
852
 409 0196 6268     		ldr	r2, [r4, #4]
853
 410 0198 22EA0302 		bic	r2, r2, r3
854
 411 019c 6260     		str	r2, [r4, #4]
855
 412 019e C4E7     		b	.L22
856
 413              	.L23:
857
 325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
858
 414              		.loc 1 325 11 view .LVU128
859
 415 01a0 0C4C     		ldr	r4, .L39+20
860
 416 01a2 A268     		ldr	r2, [r4, #8]
861
 417 01a4 22EA0302 		bic	r2, r2, r3
862
 418 01a8 A260     		str	r2, [r4, #8]
863
 419 01aa C6E7     		b	.L24
864
 420              	.L25:
865
 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
866
 421              		.loc 1 335 11 view .LVU129
867
 422 01ac 094C     		ldr	r4, .L39+20
868
 423 01ae E268     		ldr	r2, [r4, #12]
869
 424 01b0 22EA0303 		bic	r3, r2, r3
870
 425              	.LVL43:
871
 335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         }
872
 426              		.loc 1 335 11 is_stmt 0 view .LVU130
873
 427 01b4 E360     		str	r3, [r4, #12]
874
 428 01b6 C8E7     		b	.L3
875
 429              	.LVL44:
876
 430              	.L37:
877
 341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
878
 342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
879
 431              		.loc 1 342 1 view .LVU131
880
 432 01b8 02B0     		add	sp, sp, #8
881
 433              	.LCFI2:
882
 434              		.cfi_def_cfa_offset 16
883
 435              		@ sp needed
884
 436 01ba F0BC     		pop	{r4, r5, r6, r7}
885
 437              	.LCFI3:
886
 438              		.cfi_restore 7
887
 439              		.cfi_restore 6
888
 440              		.cfi_restore 5
889
 441              		.cfi_restore 4
890
 442              		.cfi_def_cfa_offset 0
891
 443              	.LVL45:
892
 444              		.loc 1 342 1 view .LVU132
893
 445 01bc 7047     		bx	lr
894
 446              	.L40:
895
 447 01be 00BF     		.align	2
896
 448              	.L39:
897
 449 01c0 00002110 		.word	270598144
898
 450 01c4 00003110 		.word	271646720
899
 451 01c8 00100240 		.word	1073876992
900
 452 01cc 00000140 		.word	1073807360
19 mjames 901
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 16
16 mjames 902
 
903
 
904
 453 01d0 00080140 		.word	1073809408
905
 454 01d4 00040140 		.word	1073808384
906
 455              		.cfi_endproc
907
 456              	.LFE65:
908
 458              		.section	.text.HAL_GPIO_DeInit,"ax",%progbits
909
 459              		.align	1
910
 460              		.global	HAL_GPIO_DeInit
911
 461              		.syntax unified
912
 462              		.thumb
913
 463              		.thumb_func
914
 464              		.fpu softvfp
915
 466              	HAL_GPIO_DeInit:
916
 467              	.LVL46:
917
 468              	.LFB66:
918
 343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
919
 344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
920
 345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  De-initializes the GPIOx peripheral registers to their default reset values.
921
 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
922
 347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: specifies the port bit to be written.
923
 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).
924
 349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
925
 350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
926
 351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef  *GPIOx, uint32_t GPIO_Pin)
927
 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
928
 469              		.loc 1 352 1 is_stmt 1 view -0
929
 470              		.cfi_startproc
930
 471              		@ args = 0, pretend = 0, frame = 0
931
 472              		@ frame_needed = 0, uses_anonymous_args = 0
932
 473              		@ link register save eliminated.
933
 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t position = 0x00u;
934
 474              		.loc 1 353 3 view .LVU134
935
 354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t iocurrent;
936
 475              		.loc 1 354 3 view .LVU135
937
 355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t tmp;
938
 476              		.loc 1 355 3 view .LVU136
939
 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 */
940
 477              		.loc 1 356 3 view .LVU137
941
 357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t registeroffset;
942
 478              		.loc 1 357 3 view .LVU138
943
 358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
944
 359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
945
 360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
946
 479              		.loc 1 360 3 view .LVU139
947
 361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
948
 480              		.loc 1 361 3 view .LVU140
949
 362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
950
 363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Configure the port pins */
951
 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   while ((GPIO_Pin >> position) != 0u)
952
 481              		.loc 1 364 3 view .LVU141
953
 353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t iocurrent;
954
 482              		.loc 1 353 12 is_stmt 0 view .LVU142
955
 483 0000 0022     		movs	r2, #0
956
 484              		.loc 1 364 9 view .LVU143
957
 485 0002 68E0     		b	.L56
958
 486              	.LVL47:
959
 487              	.L63:
960
 488              	.LCFI4:
19 mjames 961
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 17
16 mjames 962
 
963
 
964
 489              		.cfi_def_cfa_offset 16
965
 490              		.cfi_offset 4, -16
966
 491              		.cfi_offset 5, -12
967
 492              		.cfi_offset 6, -8
968
 493              		.cfi_offset 7, -4
969
 365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
970
 366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     /* Get current io position */
971
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     iocurrent = (GPIO_Pin) & (1uL << position);
972
 368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
973
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     if (iocurrent)
974
 370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
975
 371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /*------------------------- EXTI Mode Configuration --------------------*/
976
 372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* Clear the External Interrupt or Event for the current IO */
977
 373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
978
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp = AFIO->EXTICR[position >> 2u];
979
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp &= 0x0FuL << (4u * (position & 0x03u));
980
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
981
 494              		.loc 1 376 19 view .LVU144
982
 495 0004 0326     		movs	r6, #3
983
 496 0006 00E0     		b	.L44
984
 497              	.L51:
985
 498 0008 0026     		movs	r6, #0
986
 499              	.L44:
987
 500              		.loc 1 376 41 discriminator 16 view .LVU145
988
 501 000a 06FA04F4 		lsl	r4, r6, r4
989
 502              		.loc 1 376 10 discriminator 16 view .LVU146
990
 503 000e AC42     		cmp	r4, r5
991
 504 0010 3FD0     		beq	.L61
992
 505              	.LVL48:
993
 506              	.L45:
994
 377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
995
 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         tmp = 0x0FuL << (4u * (position & 0x03u));
996
 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(AFIO->EXTICR[position >> 2u], tmp);
997
 380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
998
 381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Clear EXTI line configuration */
999
 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->IMR, (uint32_t)iocurrent);
1000
 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->EMR, (uint32_t)iocurrent);
1001
 384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1002
 385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         /* Clear Rising Falling edge configuration */
1003
 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->RTSR, (uint32_t)iocurrent);
1004
 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->FTSR, (uint32_t)iocurrent);
1005
 388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       }
1006
 389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /*------------------------- GPIO Mode Configuration --------------------*/
1007
 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
1008
 391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****        in order to address CRH or CRL register */
1009
 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       configregister = (iocurrent < GPIO_PIN_8) ? &GPIOx->CRL     : &GPIOx->CRH;
1010
 507              		.loc 1 392 7 is_stmt 1 view .LVU147
1011
 508              		.loc 1 392 67 is_stmt 0 view .LVU148
1012
 509 0012 FF2B     		cmp	r3, #255
1013
 510 0014 55D8     		bhi	.L46
1014
 511              		.loc 1 392 67 discriminator 1 view .LVU149
1015
 512 0016 8446     		mov	ip, r0
1016
 513              	.L47:
1017
 514              	.LVL49:
1018
 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       registeroffset = (iocurrent < GPIO_PIN_8) ? (position << 2u) : ((position - 8u) << 2u);
1019
 515              		.loc 1 393 7 is_stmt 1 discriminator 4 view .LVU150
1020
 516              		.loc 1 393 68 is_stmt 0 discriminator 4 view .LVU151
19 mjames 1021
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 18
16 mjames 1022
 
1023
 
1024
 517 0018 FF2B     		cmp	r3, #255
1025
 518 001a 55D8     		bhi	.L48
1026
 519              		.loc 1 393 68 discriminator 1 view .LVU152
1027
 520 001c 9700     		lsls	r7, r2, #2
1028
 521              	.L49:
1029
 522              	.LVL50:
1030
 394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1031
 395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* CRL/CRH default value is floating input(0x04) shifted to correct position */
1032
 396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       MODIFY_REG(*configregister, ((GPIO_CRL_MODE0 | GPIO_CRL_CNF0) << registeroffset), GPIO_CRL_CN
1033
 523              		.loc 1 396 7 is_stmt 1 discriminator 4 view .LVU153
1034
 524 001e DCF80040 		ldr	r4, [ip]
1035
 525 0022 0F26     		movs	r6, #15
1036
 526 0024 BE40     		lsls	r6, r6, r7
1037
 527 0026 24EA0604 		bic	r4, r4, r6
1038
 528 002a 0425     		movs	r5, #4
1039
 529 002c BD40     		lsls	r5, r5, r7
1040
 530 002e 2C43     		orrs	r4, r4, r5
1041
 531 0030 CCF80040 		str	r4, [ip]
1042
 397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1043
 398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       /* ODR default value is 0 */
1044
 399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       CLEAR_BIT(GPIOx->ODR, iocurrent);
1045
 532              		.loc 1 399 7 discriminator 4 view .LVU154
1046
 533 0034 C468     		ldr	r4, [r0, #12]
1047
 534 0036 24EA0303 		bic	r3, r4, r3
1048
 535              	.LVL51:
1049
 536              		.loc 1 399 7 is_stmt 0 discriminator 4 view .LVU155
1050
 537 003a C360     		str	r3, [r0, #12]
1051
 538              	.L43:
1052
 400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     }
1053
 401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1054
 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     position++;
1055
 539              		.loc 1 402 5 is_stmt 1 view .LVU156
1056
 540              		.loc 1 402 13 is_stmt 0 view .LVU157
1057
 541 003c 0132     		adds	r2, r2, #1
1058
 542              	.LVL52:
1059
 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1060
 543              		.loc 1 364 9 view .LVU158
1061
 544 003e 31FA02F3 		lsrs	r3, r1, r2
1062
 545 0042 45D0     		beq	.L62
1063
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1064
 546              		.loc 1 367 5 is_stmt 1 view .LVU159
1065
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1066
 547              		.loc 1 367 35 is_stmt 0 view .LVU160
1067
 548 0044 0123     		movs	r3, #1
1068
 549 0046 9340     		lsls	r3, r3, r2
1069
 550              	.LVL53:
1070
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
1071
 551              		.loc 1 369 5 is_stmt 1 view .LVU161
1072
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
1073
 552              		.loc 1 369 8 is_stmt 0 view .LVU162
1074
 553 0048 0B40     		ands	r3, r3, r1
1075
 554              	.LVL54:
1076
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
1077
 555              		.loc 1 369 8 view .LVU163
1078
 556 004a F7D0     		beq	.L43
1079
 557              	.LVL55:
1080
 558              	.L57:
19 mjames 1081
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 19
16 mjames 1082
 
1083
 
1084
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp &= 0x0FuL << (4u * (position & 0x03u));
1085
 559              		.loc 1 374 7 is_stmt 1 view .LVU164
1086
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp &= 0x0FuL << (4u * (position & 0x03u));
1087
 560              		.loc 1 374 35 is_stmt 0 view .LVU165
1088
 561 004c 4FEA920C 		lsr	ip, r2, #2
1089
 374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       tmp &= 0x0FuL << (4u * (position & 0x03u));
1090
 562              		.loc 1 374 11 view .LVU166
1091
 563 0050 0CF10205 		add	r5, ip, #2
1092
 564 0054 254C     		ldr	r4, .L66
1093
 565 0056 54F82550 		ldr	r5, [r4, r5, lsl #2]
1094
 566              	.LVL56:
1095
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
1096
 567              		.loc 1 375 7 is_stmt 1 view .LVU167
1097
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
1098
 568              		.loc 1 375 40 is_stmt 0 view .LVU168
1099
 569 005a 02F00304 		and	r4, r2, #3
1100
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
1101
 570              		.loc 1 375 28 view .LVU169
1102
 571 005e A400     		lsls	r4, r4, #2
1103
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
1104
 572              		.loc 1 375 21 view .LVU170
1105
 573 0060 0F26     		movs	r6, #15
1106
 574 0062 06FA04F7 		lsl	r7, r6, r4
1107
 375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
1108
 575              		.loc 1 375 11 view .LVU171
1109
 576 0066 3D40     		ands	r5, r5, r7
1110
 577              	.LVL57:
1111
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
1112
 578              		.loc 1 376 7 is_stmt 1 view .LVU172
1113
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
1114
 579              		.loc 1 376 19 is_stmt 0 view .LVU173
1115
 580 0068 214E     		ldr	r6, .L66+4
1116
 581 006a B042     		cmp	r0, r6
1117
 582 006c CCD0     		beq	.L51
1118
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
1119
 583              		.loc 1 376 19 discriminator 1 view .LVU174
1120
 584 006e 06F58066 		add	r6, r6, #1024
1121
 585 0072 B042     		cmp	r0, r6
1122
 586 0074 09D0     		beq	.L52
1123
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
1124
 587              		.loc 1 376 19 discriminator 3 view .LVU175
1125
 588 0076 06F58066 		add	r6, r6, #1024
1126
 589 007a B042     		cmp	r0, r6
1127
 590 007c 07D0     		beq	.L53
1128
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
1129
 591              		.loc 1 376 19 discriminator 5 view .LVU176
1130
 592 007e 06F58066 		add	r6, r6, #1024
1131
 593 0082 B042     		cmp	r0, r6
1132
 594 0084 BED0     		beq	.L63
1133
 376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       {
1134
 595              		.loc 1 376 19 view .LVU177
1135
 596 0086 0426     		movs	r6, #4
1136
 597 0088 BFE7     		b	.L44
1137
 598              	.L52:
1138
 599 008a 0126     		movs	r6, #1
1139
 600 008c BDE7     		b	.L44
1140
 601              	.L53:
19 mjames 1141
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 20
16 mjames 1142
 
1143
 
1144
 602 008e 0226     		movs	r6, #2
1145
 603 0090 BBE7     		b	.L44
1146
 604              	.L61:
1147
 378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(AFIO->EXTICR[position >> 2u], tmp);
1148
 605              		.loc 1 378 9 is_stmt 1 view .LVU178
1149
 606              	.LVL58:
1150
 379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1151
 607              		.loc 1 379 9 view .LVU179
1152
 608 0092 164D     		ldr	r5, .L66
1153
 609 0094 0CF10204 		add	r4, ip, #2
1154
 610 0098 55F82460 		ldr	r6, [r5, r4, lsl #2]
1155
 611 009c 26EA0706 		bic	r6, r6, r7
1156
 612 00a0 45F82460 		str	r6, [r5, r4, lsl #2]
1157
 382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->EMR, (uint32_t)iocurrent);
1158
 613              		.loc 1 382 9 view .LVU180
1159
 614 00a4 134C     		ldr	r4, .L66+8
1160
 615 00a6 2668     		ldr	r6, [r4]
1161
 616 00a8 DD43     		mvns	r5, r3
1162
 617 00aa 2E40     		ands	r6, r6, r5
1163
 618 00ac 2660     		str	r6, [r4]
1164
 383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1165
 619              		.loc 1 383 9 view .LVU181
1166
 620 00ae 6668     		ldr	r6, [r4, #4]
1167
 621 00b0 2E40     		ands	r6, r6, r5
1168
 622 00b2 6660     		str	r6, [r4, #4]
1169
 386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****         CLEAR_BIT(EXTI->FTSR, (uint32_t)iocurrent);
1170
 623              		.loc 1 386 9 view .LVU182
1171
 624 00b4 A668     		ldr	r6, [r4, #8]
1172
 625 00b6 2E40     		ands	r6, r6, r5
1173
 626 00b8 A660     		str	r6, [r4, #8]
1174
 387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       }
1175
 627              		.loc 1 387 9 view .LVU183
1176
 628 00ba E668     		ldr	r6, [r4, #12]
1177
 629 00bc 3540     		ands	r5, r5, r6
1178
 630 00be E560     		str	r5, [r4, #12]
1179
 631 00c0 A7E7     		b	.L45
1180
 632              	.LVL59:
1181
 633              	.L46:
1182
 392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****       registeroffset = (iocurrent < GPIO_PIN_8) ? (position << 2u) : ((position - 8u) << 2u);
1183
 634              		.loc 1 392 67 is_stmt 0 discriminator 2 view .LVU184
1184
 635 00c2 00F1040C 		add	ip, r0, #4
1185
 636 00c6 A7E7     		b	.L47
1186
 637              	.LVL60:
1187
 638              	.L48:
1188
 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1189
 639              		.loc 1 393 81 discriminator 2 view .LVU185
1190
 640 00c8 A2F10805 		sub	r5, r2, #8
1191
 393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1192
 641              		.loc 1 393 68 discriminator 2 view .LVU186
1193
 642 00cc AF00     		lsls	r7, r5, #2
1194
 643 00ce A6E7     		b	.L49
1195
 644              	.LVL61:
1196
 645              	.L62:
1197
 403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1198
 404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
1199
 646              		.loc 1 404 1 view .LVU187
1200
 647 00d0 F0BC     		pop	{r4, r5, r6, r7}
19 mjames 1201
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 21
16 mjames 1202
 
1203
 
1204
 648              	.LCFI5:
1205
 649              		.cfi_restore 7
1206
 650              		.cfi_restore 6
1207
 651              		.cfi_restore 5
1208
 652              		.cfi_restore 4
1209
 653              		.cfi_def_cfa_offset 0
1210
 654              	.LVL62:
1211
 655              		.loc 1 404 1 view .LVU188
1212
 656 00d2 7047     		bx	lr
1213
 657              	.LVL63:
1214
 658              	.L65:
1215
 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1216
 659              		.loc 1 402 5 is_stmt 1 view .LVU189
1217
 402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1218
 660              		.loc 1 402 13 is_stmt 0 view .LVU190
1219
 661 00d4 0132     		adds	r2, r2, #1
1220
 662              	.LVL64:
1221
 663              	.L56:
1222
 364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1223
 664              		.loc 1 364 9 view .LVU191
1224
 665 00d6 31FA02F3 		lsrs	r3, r1, r2
1225
 666 00da 05D0     		beq	.L64
1226
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1227
 667              		.loc 1 367 5 is_stmt 1 view .LVU192
1228
 367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1229
 668              		.loc 1 367 35 is_stmt 0 view .LVU193
1230
 669 00dc 0123     		movs	r3, #1
1231
 670 00de 9340     		lsls	r3, r3, r2
1232
 671              	.LVL65:
1233
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
1234
 672              		.loc 1 369 5 is_stmt 1 view .LVU194
1235
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
1236
 673              		.loc 1 369 8 is_stmt 0 view .LVU195
1237
 674 00e0 0B40     		ands	r3, r3, r1
1238
 675              	.LVL66:
1239
 369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     {
1240
 676              		.loc 1 369 8 view .LVU196
1241
 677 00e2 F7D0     		beq	.L65
1242
 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t position = 0x00u;
1243
 678              		.loc 1 352 1 view .LVU197
1244
 679 00e4 F0B4     		push	{r4, r5, r6, r7}
1245
 680              	.LCFI6:
1246
 681              		.cfi_def_cfa_offset 16
1247
 682              		.cfi_offset 4, -16
1248
 683              		.cfi_offset 5, -12
1249
 684              		.cfi_offset 6, -8
1250
 685              		.cfi_offset 7, -4
1251
 686 00e6 B1E7     		b	.L57
1252
 687              	.LVL67:
1253
 688              	.L64:
1254
 689              	.LCFI7:
1255
 690              		.cfi_def_cfa_offset 0
1256
 691              		.cfi_restore 4
1257
 692              		.cfi_restore 5
1258
 693              		.cfi_restore 6
1259
 694              		.cfi_restore 7
1260
 352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   uint32_t position = 0x00u;
19 mjames 1261
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 22
16 mjames 1262
 
1263
 
1264
 695              		.loc 1 352 1 view .LVU198
1265
 696 00e8 7047     		bx	lr
1266
 697              	.L67:
1267
 698 00ea 00BF     		.align	2
1268
 699              	.L66:
1269
 700 00ec 00000140 		.word	1073807360
1270
 701 00f0 00080140 		.word	1073809408
1271
 702 00f4 00040140 		.word	1073808384
1272
 703              		.cfi_endproc
1273
 704              	.LFE66:
1274
 706              		.section	.text.HAL_GPIO_ReadPin,"ax",%progbits
1275
 707              		.align	1
1276
 708              		.global	HAL_GPIO_ReadPin
1277
 709              		.syntax unified
1278
 710              		.thumb
1279
 711              		.thumb_func
1280
 712              		.fpu softvfp
1281
 714              	HAL_GPIO_ReadPin:
1282
 715              	.LVL68:
1283
 716              	.LFB67:
1284
 405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1285
 406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
1286
 407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @}
1287
 408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
1288
 409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1289
 410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions
1290
 411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  *  @brief   GPIO Read and Write
1291
 412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  *
1292
 413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** @verbatim
1293
 414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  ===============================================================================
1294
 415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****                        ##### IO operation functions #####
1295
 416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****  ===============================================================================
1296
 417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   [..]
1297
 418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     This subsection provides a set of functions allowing to manage the GPIOs.
1298
 419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1299
 420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** @endverbatim
1300
 421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @{
1301
 422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
1302
 423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1303
 424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
1304
 425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  Reads the specified input port pin.
1305
 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
1306
 427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: specifies the port bit to read.
1307
 428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *         This parameter can be GPIO_PIN_x where x can be (0..15).
1308
 429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval The input port pin value.
1309
 430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
1310
 431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
1311
 432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
1312
 717              		.loc 1 432 1 is_stmt 1 view -0
1313
 718              		.cfi_startproc
1314
 719              		@ args = 0, pretend = 0, frame = 0
1315
 720              		@ frame_needed = 0, uses_anonymous_args = 0
1316
 721              		@ link register save eliminated.
1317
 433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   GPIO_PinState bitstatus;
1318
 722              		.loc 1 433 3 view .LVU200
1319
 434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1320
 435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
19 mjames 1321
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 23
16 mjames 1322
 
1323
 
1324
 436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
1325
 723              		.loc 1 436 3 view .LVU201
1326
 437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1327
 438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
1328
 724              		.loc 1 438 3 view .LVU202
1329
 725              		.loc 1 438 13 is_stmt 0 view .LVU203
1330
 726 0000 8368     		ldr	r3, [r0, #8]
1331
 727              		.loc 1 438 6 view .LVU204
1332
 728 0002 1942     		tst	r1, r3
1333
 729 0004 01D0     		beq	.L70
1334
 439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1335
 440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     bitstatus = GPIO_PIN_SET;
1336
 730              		.loc 1 440 15 view .LVU205
1337
 731 0006 0120     		movs	r0, #1
1338
 732              	.LVL69:
1339
 733              		.loc 1 440 15 view .LVU206
1340
 734 0008 7047     		bx	lr
1341
 735              	.LVL70:
1342
 736              	.L70:
1343
 441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1344
 442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   else
1345
 443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1346
 444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     bitstatus = GPIO_PIN_RESET;
1347
 737              		.loc 1 444 15 view .LVU207
1348
 738 000a 0020     		movs	r0, #0
1349
 739              	.LVL71:
1350
 445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1351
 446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   return bitstatus;
1352
 740              		.loc 1 446 3 is_stmt 1 view .LVU208
1353
 447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
1354
 741              		.loc 1 447 1 is_stmt 0 view .LVU209
1355
 742 000c 7047     		bx	lr
1356
 743              		.cfi_endproc
1357
 744              	.LFE67:
1358
 746              		.section	.text.HAL_GPIO_WritePin,"ax",%progbits
1359
 747              		.align	1
1360
 748              		.global	HAL_GPIO_WritePin
1361
 749              		.syntax unified
1362
 750              		.thumb
1363
 751              		.thumb_func
1364
 752              		.fpu softvfp
1365
 754              	HAL_GPIO_WritePin:
1366
 755              	.LVL72:
1367
 756              	.LFB68:
1368
 448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1369
 449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
1370
 450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  Sets or clears the selected data port bit.
1371
 451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
1372
 452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @note   This function uses GPIOx_BSRR register to allow atomic read/modify
1373
 453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *         accesses. In this way, there is no risk of an IRQ occurring between
1374
 454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *         the read and the modify access.
1375
 455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *
1376
 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
1377
 457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: specifies the port bit to be written.
1378
 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).
1379
 459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  PinState: specifies the value to be written to the selected bit.
1380
 460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *          This parameter can be one of the GPIO_PinState enum values:
19 mjames 1381
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 24
16 mjames 1382
 
1383
 
1384
 461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *            @arg GPIO_PIN_RESET: to clear the port pin
1385
 462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   *            @arg GPIO_PIN_SET: to set the port pin
1386
 463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
1387
 464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
1388
 465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
1389
 466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
1390
 757              		.loc 1 466 1 is_stmt 1 view -0
1391
 758              		.cfi_startproc
1392
 759              		@ args = 0, pretend = 0, frame = 0
1393
 760              		@ frame_needed = 0, uses_anonymous_args = 0
1394
 761              		@ link register save eliminated.
1395
 467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
1396
 468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
1397
 762              		.loc 1 468 3 view .LVU211
1398
 469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN_ACTION(PinState));
1399
 763              		.loc 1 469 3 view .LVU212
1400
 470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1401
 471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if (PinState != GPIO_PIN_RESET)
1402
 764              		.loc 1 471 3 view .LVU213
1403
 765              		.loc 1 471 6 is_stmt 0 view .LVU214
1404
 766 0000 0AB1     		cbz	r2, .L72
1405
 472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1406
 473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     GPIOx->BSRR = GPIO_Pin;
1407
 767              		.loc 1 473 5 is_stmt 1 view .LVU215
1408
 768              		.loc 1 473 17 is_stmt 0 view .LVU216
1409
 769 0002 0161     		str	r1, [r0, #16]
1410
 770 0004 7047     		bx	lr
1411
 771              	.L72:
1412
 474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1413
 475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   else
1414
 476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1415
 477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     GPIOx->BSRR = (uint32_t)GPIO_Pin << 16u;
1416
 772              		.loc 1 477 5 is_stmt 1 view .LVU217
1417
 773              		.loc 1 477 38 is_stmt 0 view .LVU218
1418
 774 0006 0904     		lsls	r1, r1, #16
1419
 775              	.LVL73:
1420
 776              		.loc 1 477 17 view .LVU219
1421
 777 0008 0161     		str	r1, [r0, #16]
1422
 478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1423
 479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
1424
 778              		.loc 1 479 1 view .LVU220
1425
 779 000a 7047     		bx	lr
1426
 780              		.cfi_endproc
1427
 781              	.LFE68:
1428
 783              		.section	.text.HAL_GPIO_TogglePin,"ax",%progbits
1429
 784              		.align	1
1430
 785              		.global	HAL_GPIO_TogglePin
1431
 786              		.syntax unified
1432
 787              		.thumb
1433
 788              		.thumb_func
1434
 789              		.fpu softvfp
1435
 791              	HAL_GPIO_TogglePin:
1436
 792              	.LVL74:
1437
 793              	.LFB69:
1438
 480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1439
 481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
1440
 482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  Toggles the specified GPIO pin
19 mjames 1441
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 25
16 mjames 1442
 
1443
 
1444
 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
1445
 484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: Specifies the pins to be toggled.
1446
 485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
1447
 486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
1448
 487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
1449
 488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
1450
 794              		.loc 1 488 1 is_stmt 1 view -0
1451
 795              		.cfi_startproc
1452
 796              		@ args = 0, pretend = 0, frame = 0
1453
 797              		@ frame_needed = 0, uses_anonymous_args = 0
1454
 798              		@ link register save eliminated.
1455
 489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
1456
 490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
1457
 799              		.loc 1 490 3 view .LVU222
1458
 491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1459
 492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if ((GPIOx->ODR & GPIO_Pin) != 0x00u)
1460
 800              		.loc 1 492 3 view .LVU223
1461
 801              		.loc 1 492 13 is_stmt 0 view .LVU224
1462
 802 0000 C368     		ldr	r3, [r0, #12]
1463
 803              		.loc 1 492 6 view .LVU225
1464
 804 0002 0B42     		tst	r3, r1
1465
 805 0004 01D0     		beq	.L75
1466
 493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1467
 494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     GPIOx->BRR = (uint32_t)GPIO_Pin;
1468
 806              		.loc 1 494 5 is_stmt 1 view .LVU226
1469
 807              		.loc 1 494 16 is_stmt 0 view .LVU227
1470
 808 0006 4161     		str	r1, [r0, #20]
1471
 809 0008 7047     		bx	lr
1472
 810              	.L75:
1473
 495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1474
 496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   else
1475
 497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1476
 498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     GPIOx->BSRR = (uint32_t)GPIO_Pin;
1477
 811              		.loc 1 498 5 is_stmt 1 view .LVU228
1478
 812              		.loc 1 498 17 is_stmt 0 view .LVU229
1479
 813 000a 0161     		str	r1, [r0, #16]
1480
 499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1481
 500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
1482
 814              		.loc 1 500 1 view .LVU230
1483
 815 000c 7047     		bx	lr
1484
 816              		.cfi_endproc
1485
 817              	.LFE69:
1486
 819              		.section	.text.HAL_GPIO_LockPin,"ax",%progbits
1487
 820              		.align	1
1488
 821              		.global	HAL_GPIO_LockPin
1489
 822              		.syntax unified
1490
 823              		.thumb
1491
 824              		.thumb_func
1492
 825              		.fpu softvfp
1493
 827              	HAL_GPIO_LockPin:
1494
 828              	.LVL75:
1495
 829              	.LFB70:
1496
 501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1497
 502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
1498
 503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** * @brief  Locks GPIO Pins configuration registers.
1499
 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
1500
 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 
19 mjames 1501
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 26
16 mjames 1502
 
1503
 
1504
 506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** *         the next reset.
1505
 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
1506
 508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** * @param  GPIO_Pin: specifies the port bit to be locked.
1507
 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).
1508
 510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** * @retval None
1509
 511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** */
1510
 512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
1511
 513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
1512
 830              		.loc 1 513 1 is_stmt 1 view -0
1513
 831              		.cfi_startproc
1514
 832              		@ args = 0, pretend = 0, frame = 8
1515
 833              		@ frame_needed = 0, uses_anonymous_args = 0
1516
 834              		@ link register save eliminated.
1517
 835              		.loc 1 513 1 is_stmt 0 view .LVU232
1518
 836 0000 82B0     		sub	sp, sp, #8
1519
 837              	.LCFI8:
1520
 838              		.cfi_def_cfa_offset 8
1521
 514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   __IO uint32_t tmp = GPIO_LCKR_LCKK;
1522
 839              		.loc 1 514 3 is_stmt 1 view .LVU233
1523
 840              		.loc 1 514 17 is_stmt 0 view .LVU234
1524
 841 0002 4FF48033 		mov	r3, #65536
1525
 842 0006 0193     		str	r3, [sp, #4]
1526
 515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1527
 516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Check the parameters */
1528
 517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_LOCK_INSTANCE(GPIOx));
1529
 843              		.loc 1 517 3 is_stmt 1 view .LVU235
1530
 518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   assert_param(IS_GPIO_PIN(GPIO_Pin));
1531
 844              		.loc 1 518 3 view .LVU236
1532
 519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1533
 520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Apply lock key write sequence */
1534
 521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   SET_BIT(tmp, GPIO_Pin);
1535
 845              		.loc 1 521 3 view .LVU237
1536
 846 0008 019B     		ldr	r3, [sp, #4]
1537
 847 000a 0B43     		orrs	r3, r3, r1
1538
 848 000c 0193     		str	r3, [sp, #4]
1539
 522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
1540
 523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
1541
 849              		.loc 1 523 3 view .LVU238
1542
 850              		.loc 1 523 15 is_stmt 0 view .LVU239
1543
 851 000e 019B     		ldr	r3, [sp, #4]
1544
 852 0010 8361     		str	r3, [r0, #24]
1545
 524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */
1546
 525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   GPIOx->LCKR = GPIO_Pin;
1547
 853              		.loc 1 525 3 is_stmt 1 view .LVU240
1548
 854              		.loc 1 525 15 is_stmt 0 view .LVU241
1549
 855 0012 8161     		str	r1, [r0, #24]
1550
 526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
1551
 527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   GPIOx->LCKR = tmp;
1552
 856              		.loc 1 527 3 is_stmt 1 view .LVU242
1553
 857              		.loc 1 527 15 is_stmt 0 view .LVU243
1554
 858 0014 019B     		ldr	r3, [sp, #4]
1555
 859 0016 8361     		str	r3, [r0, #24]
1556
 528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Read LCKK register. This read is mandatory to complete key lock sequence */
1557
 529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   tmp = GPIOx->LCKR;
1558
 860              		.loc 1 529 3 is_stmt 1 view .LVU244
1559
 861              		.loc 1 529 14 is_stmt 0 view .LVU245
1560
 862 0018 8369     		ldr	r3, [r0, #24]
19 mjames 1561
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 27
16 mjames 1562
 
1563
 
1564
 863              		.loc 1 529 7 view .LVU246
1565
 864 001a 0193     		str	r3, [sp, #4]
1566
 530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1567
 531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* read again in order to confirm lock is active */
1568
 532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if ((uint32_t)(GPIOx->LCKR & GPIO_LCKR_LCKK))
1569
 865              		.loc 1 532 3 is_stmt 1 view .LVU247
1570
 866              		.loc 1 532 23 is_stmt 0 view .LVU248
1571
 867 001c 8369     		ldr	r3, [r0, #24]
1572
 868              		.loc 1 532 6 view .LVU249
1573
 869 001e 13F4803F 		tst	r3, #65536
1574
 870 0022 02D0     		beq	.L79
1575
 533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1576
 534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     return HAL_OK;
1577
 871              		.loc 1 534 12 view .LVU250
1578
 872 0024 0020     		movs	r0, #0
1579
 873              	.LVL76:
1580
 874              	.L78:
1581
 535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1582
 536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   else
1583
 537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1584
 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     return HAL_ERROR;
1585
 539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1586
 540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
1587
 875              		.loc 1 540 1 view .LVU251
1588
 876 0026 02B0     		add	sp, sp, #8
1589
 877              	.LCFI9:
1590
 878              		.cfi_remember_state
1591
 879              		.cfi_def_cfa_offset 0
1592
 880              		@ sp needed
1593
 881 0028 7047     		bx	lr
1594
 882              	.LVL77:
1595
 883              	.L79:
1596
 884              	.LCFI10:
1597
 885              		.cfi_restore_state
1598
 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1599
 886              		.loc 1 538 12 view .LVU252
1600
 887 002a 0120     		movs	r0, #1
1601
 888              	.LVL78:
1602
 538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1603
 889              		.loc 1 538 12 view .LVU253
1604
 890 002c FBE7     		b	.L78
1605
 891              		.cfi_endproc
1606
 892              	.LFE70:
1607
 894              		.section	.text.HAL_GPIO_EXTI_Callback,"ax",%progbits
1608
 895              		.align	1
1609
 896              		.weak	HAL_GPIO_EXTI_Callback
1610
 897              		.syntax unified
1611
 898              		.thumb
1612
 899              		.thumb_func
1613
 900              		.fpu softvfp
1614
 902              	HAL_GPIO_EXTI_Callback:
1615
 903              	.LVL79:
1616
 904              	.LFB72:
1617
 541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1618
 542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
1619
 543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  This function handles EXTI interrupt request.
1620
 544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: Specifies the pins connected EXTI line
19 mjames 1621
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 28
16 mjames 1622
 
1623
 
1624
 545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
1625
 546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
1626
 547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
1627
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
1628
 549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* EXTI line interrupt detected */
1629
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   if (__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
1630
 551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1631
 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
1632
 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
1633
 554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1634
 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
1635
 556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1636
 557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** /**
1637
 558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @brief  EXTI line detection callbacks.
1638
 559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @param  GPIO_Pin: Specifies the pins connected EXTI line
1639
 560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   * @retval None
1640
 561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   */
1641
 562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
1642
 563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** {
1643
 905              		.loc 1 563 1 is_stmt 1 view -0
1644
 906              		.cfi_startproc
1645
 907              		@ args = 0, pretend = 0, frame = 0
1646
 908              		@ frame_needed = 0, uses_anonymous_args = 0
1647
 909              		@ link register save eliminated.
1648
 564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* Prevent unused argument(s) compilation warning */
1649
 565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   UNUSED(GPIO_Pin);
1650
 910              		.loc 1 565 3 view .LVU255
1651
 566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* NOTE: This function Should not be modified, when the callback is needed,
1652
 567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****            the HAL_GPIO_EXTI_Callback could be implemented in the user file
1653
 568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****    */
1654
 569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** }
1655
 911              		.loc 1 569 1 is_stmt 0 view .LVU256
1656
 912 0000 7047     		bx	lr
1657
 913              		.cfi_endproc
1658
 914              	.LFE72:
1659
 916              		.section	.text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
1660
 917              		.align	1
1661
 918              		.global	HAL_GPIO_EXTI_IRQHandler
1662
 919              		.syntax unified
1663
 920              		.thumb
1664
 921              		.thumb_func
1665
 922              		.fpu softvfp
1666
 924              	HAL_GPIO_EXTI_IRQHandler:
1667
 925              	.LVL80:
1668
 926              	.LFB71:
1669
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* EXTI line interrupt detected */
1670
 927              		.loc 1 548 1 is_stmt 1 view -0
1671
 928              		.cfi_startproc
1672
 929              		@ args = 0, pretend = 0, frame = 0
1673
 930              		@ frame_needed = 0, uses_anonymous_args = 0
1674
 548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   /* EXTI line interrupt detected */
1675
 931              		.loc 1 548 1 is_stmt 0 view .LVU258
1676
 932 0000 08B5     		push	{r3, lr}
1677
 933              	.LCFI11:
1678
 934              		.cfi_def_cfa_offset 8
1679
 935              		.cfi_offset 3, -8
1680
 936              		.cfi_offset 14, -4
19 mjames 1681
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 29
16 mjames 1682
 
1683
 
1684
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1685
 937              		.loc 1 550 3 is_stmt 1 view .LVU259
1686
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1687
 938              		.loc 1 550 7 is_stmt 0 view .LVU260
1688
 939 0002 054B     		ldr	r3, .L86
1689
 940 0004 5B69     		ldr	r3, [r3, #20]
1690
 550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   {
1691
 941              		.loc 1 550 6 view .LVU261
1692
 942 0006 0342     		tst	r3, r0
1693
 943 0008 00D1     		bne	.L85
1694
 944              	.LVL81:
1695
 945              	.L82:
1696
 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1697
 946              		.loc 1 555 1 view .LVU262
1698
 947 000a 08BD     		pop	{r3, pc}
1699
 948              	.LVL82:
1700
 949              	.L85:
1701
 552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****     HAL_GPIO_EXTI_Callback(GPIO_Pin);
1702
 950              		.loc 1 552 5 is_stmt 1 view .LVU263
1703
 951 000c 024B     		ldr	r3, .L86
1704
 952 000e 5861     		str	r0, [r3, #20]
1705
 553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c ****   }
1706
 953              		.loc 1 553 5 view .LVU264
1707
 954 0010 FFF7FEFF 		bl	HAL_GPIO_EXTI_Callback
1708
 955              	.LVL83:
1709
 555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c **** 
1710
 956              		.loc 1 555 1 is_stmt 0 view .LVU265
1711
 957 0014 F9E7     		b	.L82
1712
 958              	.L87:
1713
 959 0016 00BF     		.align	2
1714
 960              	.L86:
1715
 961 0018 00040140 		.word	1073808384
1716
 962              		.cfi_endproc
1717
 963              	.LFE71:
1718
 965              		.text
1719
 966              	.Letext0:
1720
 967              		.file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1721
 968              		.file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
1722
 969              		.file 4 "Drivers/CMSIS/Include/core_cm3.h"
1723
 970              		.file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
1724
 971              		.file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
1725
 972              		.file 7 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
1726
 973              		.file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h"
1727
 974              		.file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
19 mjames 1728
ARM GAS  C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s 			page 30
16 mjames 1729
 
1730
 
1731
DEFINED SYMBOLS
1732
                            *ABS*:0000000000000000 stm32f1xx_hal_gpio.c
19 mjames 1733
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:16     .text.HAL_GPIO_Init:0000000000000000 $t
1734
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:24     .text.HAL_GPIO_Init:0000000000000000 HAL_GPIO_Init
1735
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:449    .text.HAL_GPIO_Init:00000000000001c0 $d
1736
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:459    .text.HAL_GPIO_DeInit:0000000000000000 $t
1737
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:466    .text.HAL_GPIO_DeInit:0000000000000000 HAL_GPIO_DeInit
1738
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:700    .text.HAL_GPIO_DeInit:00000000000000ec $d
1739
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:707    .text.HAL_GPIO_ReadPin:0000000000000000 $t
1740
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:714    .text.HAL_GPIO_ReadPin:0000000000000000 HAL_GPIO_ReadPin
1741
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:747    .text.HAL_GPIO_WritePin:0000000000000000 $t
1742
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:754    .text.HAL_GPIO_WritePin:0000000000000000 HAL_GPIO_WritePin
1743
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:784    .text.HAL_GPIO_TogglePin:0000000000000000 $t
1744
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:791    .text.HAL_GPIO_TogglePin:0000000000000000 HAL_GPIO_TogglePin
1745
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:820    .text.HAL_GPIO_LockPin:0000000000000000 $t
1746
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:827    .text.HAL_GPIO_LockPin:0000000000000000 HAL_GPIO_LockPin
1747
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:895    .text.HAL_GPIO_EXTI_Callback:0000000000000000 $t
1748
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:902    .text.HAL_GPIO_EXTI_Callback:0000000000000000 HAL_GPIO_EXTI_Callback
1749
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:917    .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 $t
1750
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:924    .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 HAL_GPIO_EXTI_IRQHandler
1751
C:\Users\mike\AppData\Local\Temp\ccXJ87Ce.s:961    .text.HAL_GPIO_EXTI_IRQHandler:0000000000000018 $d
16 mjames 1752
 
1753
NO UNDEFINED SYMBOLS