adbmsFunctionTest/build/stm32f3xx_hal_gpio.lst
2024-10-12 22:13:04 +02:00

1671 lines
101 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS /tmp/ccglcla0.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f3xx_hal_gpio.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c"
20 .section .text.HAL_GPIO_Init,"ax",%progbits
21 .align 1
22 .global HAL_GPIO_Init
23 .syntax unified
24 .thumb
25 .thumb_func
27 HAL_GPIO_Init:
28 .LVL0:
29 .LFB123:
1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ******************************************************************************
3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @file stm32f3xx_hal_gpio.c
4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @author MCD Application Team
5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief GPIO HAL module driver.
6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * functionalities of the General Purpose Input/Output (GPIO) peripheral:
8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * + IO operation functions
10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ******************************************************************************
12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @attention
13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * Copyright (c) 2016 STMicroelectronics.
15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * All rights reserved.
16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This software is licensed under terms that can be found in the LICENSE file
18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * in the root directory of this software component.
19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ******************************************************************************
22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @verbatim
23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ==============================================================================
24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ##### GPIO Peripheral features #####
25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ==============================================================================
26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** [..]
27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) Each port bit of the general-purpose I/O (GPIO) ports can be individually
28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** configured by software in several modes:
29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Input mode
ARM GAS /tmp/ccglcla0.s page 2
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Analog mode
31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Output mode
32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Alternate function mode
33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) External interrupt/event lines
34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) During and just after reset, the alternate functions and external interrupt
36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** lines are not active and the I/O ports are configured in input floating mode.
37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) All GPIO pins have weak internal pull-up and pull-down resistors, which can be
39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** activated or not.
40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) In Output or Alternate mode, each IO can be configured on open-drain or push-pull
42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** type and the IO speed can be selected depending on the VDD value.
43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) The microcontroller IO pins are connected to onboard peripherals/modules through a
45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** multiplexer that allows only one peripheral alternate function (AF) connected
46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** to an IO pin at a time. In this way, there can be no conflict between peripherals
47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** sharing the same IO pin.
48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) All ports have external interrupt/event capability. To use external interrupt
50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** lines, the port must be configured in input mode. All available GPIO pins are
51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** connected to the 16 external interrupt/event lines from EXTI0 to EXTI15.
52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) The external interrupt/event controller consists of up to 23 edge detectors
54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (16 lines are connected to GPIO) for generating event/interrupt requests (each
55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** input line can be independently configured to select the type (interrupt or event)
56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** and the corresponding trigger event (rising or falling or both). Each line can
57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** also be masked independently.
58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ##### How to use this driver #####
60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ==============================================================================
61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** [..]
62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) Enable the GPIO AHB clock using the following function: __HAL_RCC_GPIOx_CLK_ENABLE().
63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) Configure the GPIO pin(s) using HAL_GPIO_Init().
65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure
66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef
67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** structure.
68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) In case of Output or alternate function mode selection: the speed is
69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** configured through "Speed" member from GPIO_InitTypeDef structure.
70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) In alternate mode is selection, the alternate function connected to the IO
71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** is configured through "Alternate" member from GPIO_InitTypeDef structure.
72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Analog mode is required when a pin is to be used as ADC channel
73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** or DAC output.
74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) In case of external interrupt/event selection the "Mode" member from
75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_InitTypeDef structure select the type (interrupt or event) and
76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** the corresponding trigger event (rising or falling or both).
77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority
79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using
80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_NVIC_EnableIRQ().
81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin().
83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To set/reset the level of a pin configured in output mode use
85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_WritePin()/HAL_GPIO_TogglePin().
86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
ARM GAS /tmp/ccglcla0.s page 3
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) During and just after reset, the alternate functions are not
90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** active and the GPIO pins are configured in input floating mode (except JTAG
91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** pins).
92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose
94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (PC14 and PC15U, respectively) when the LSE oscillator is off. The LSE has
95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** priority over the GPIO function.
96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** general purpose PF0 and PF1, respectively, when the HSE oscillator is off.
99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** The HSE has priority over the GPIO function.
100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @endverbatim
102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ******************************************************************************
103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** #include "stm32f3xx_hal.h"
107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @addtogroup STM32F3xx_HAL_Driver
109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO GPIO
113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief GPIO HAL module driver
114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** MISRA C:2012 deviation rule has been granted for following rules:
118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * Rule-18.1_d - Medium: Array pointer `GPIOx' is accessed with index [..,..]
119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * which may be out of array bounds [..,UNKNOWN] in following APIs:
120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * HAL_GPIO_Init
121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * HAL_GPIO_DeInit
122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private defines -----------------------------------------------------------*/
128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @addtogroup GPIO_Private_Constants
129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** #define GPIO_NUMBER (16U)
132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @}
134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/
137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/
138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Private_Macros GPIO Private Macros
139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @}
143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
ARM GAS /tmp/ccglcla0.s page 4
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization/de-initialization functions
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Initialization and Configuration functions
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @verbatim
156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ===============================================================================
157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ##### Initialization and de-initialization functions #####
158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ===============================================================================
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @endverbatim
161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Initialize the GPIOx peripheral according to the specified parameters in the GPIO_Init.
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family devices
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * the configuration information for the specified GPIO peripheral.
169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
30 .loc 1 172 1 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 8
33 @ frame_needed = 0, uses_anonymous_args = 0
34 .loc 1 172 1 is_stmt 0 view .LVU1
35 0000 F0B5 push {r4, r5, r6, r7, lr}
36 .cfi_def_cfa_offset 20
37 .cfi_offset 4, -20
38 .cfi_offset 5, -16
39 .cfi_offset 6, -12
40 .cfi_offset 7, -8
41 .cfi_offset 14, -4
42 0002 83B0 sub sp, sp, #12
43 .cfi_def_cfa_offset 32
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u;
44 .loc 1 173 3 is_stmt 1 view .LVU2
45 .LVL1:
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
46 .loc 1 174 3 view .LVU3
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t temp;
47 .loc 1 175 3 view .LVU4
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
48 .loc 1 178 3 view .LVU5
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
49 .loc 1 179 3 view .LVU6
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
ARM GAS /tmp/ccglcla0.s page 5
50 .loc 1 180 3 view .LVU7
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the port pins */
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** while (((GPIO_Init->Pin) >> position) != 0x00u)
51 .loc 1 183 3 view .LVU8
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
52 .loc 1 173 12 is_stmt 0 view .LVU9
53 0004 0023 movs r3, #0
54 .loc 1 183 9 view .LVU10
55 0006 62E0 b .L2
56 .LVL2:
57 .L19:
184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Get current io position */
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** iocurrent = (GPIO_Init->Pin) & (1uL << position);
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (iocurrent != 0x00u)
189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*--------------------- GPIO Mode Configuration ------------------------*/
191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* In case of Output or Alternate function mode selection */
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if(((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_A
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the Speed parameter */
195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
58 .loc 1 195 9 is_stmt 1 view .LVU11
196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the IO Speed */
197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->OSPEEDR;
59 .loc 1 197 9 view .LVU12
60 .loc 1 197 14 is_stmt 0 view .LVU13
61 0008 8568 ldr r5, [r0, #8]
62 .LVL3:
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
63 .loc 1 198 9 is_stmt 1 view .LVU14
64 .loc 1 198 55 is_stmt 0 view .LVU15
65 000a 5E00 lsls r6, r3, #1
66 .loc 1 198 42 view .LVU16
67 000c 0324 movs r4, #3
68 000e B440 lsls r4, r4, r6
69 .loc 1 198 14 view .LVU17
70 0010 25EA0405 bic r5, r5, r4
71 .LVL4:
199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u));
72 .loc 1 199 9 is_stmt 1 view .LVU18
73 .loc 1 199 27 is_stmt 0 view .LVU19
74 0014 CC68 ldr r4, [r1, #12]
75 .loc 1 199 35 view .LVU20
76 0016 B440 lsls r4, r4, r6
77 .loc 1 199 14 view .LVU21
78 0018 2C43 orrs r4, r4, r5
79 .LVL5:
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
80 .loc 1 200 9 is_stmt 1 view .LVU22
81 .loc 1 200 24 is_stmt 0 view .LVU23
82 001a 8460 str r4, [r0, #8]
201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the IO Output Type */
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->OTYPER;
ARM GAS /tmp/ccglcla0.s page 6
83 .loc 1 203 9 is_stmt 1 view .LVU24
84 .loc 1 203 14 is_stmt 0 view .LVU25
85 001c 4568 ldr r5, [r0, #4]
86 .LVL6:
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
87 .loc 1 204 9 is_stmt 1 view .LVU26
88 .loc 1 204 14 is_stmt 0 view .LVU27
89 001e 25EA0C05 bic r5, r5, ip
90 .LVL7:
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position);
91 .loc 1 205 9 is_stmt 1 view .LVU28
92 .loc 1 205 29 is_stmt 0 view .LVU29
93 0022 4C68 ldr r4, [r1, #4]
94 .loc 1 205 51 view .LVU30
95 0024 C4F30014 ubfx r4, r4, #4, #1
96 .loc 1 205 71 view .LVU31
97 0028 9C40 lsls r4, r4, r3
98 .loc 1 205 14 view .LVU32
99 002a 2C43 orrs r4, r4, r5
100 .LVL8:
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER = temp;
101 .loc 1 206 9 is_stmt 1 view .LVU33
102 .loc 1 206 23 is_stmt 0 view .LVU34
103 002c 4460 str r4, [r0, #4]
104 002e 5FE0 b .L4
105 .LVL9:
106 .L20:
207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG)
210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the Pull parameter */
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Activate the Pull-up or Pull down resistor for the current IO */
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->PUPDR;
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*--------------------- GPIO Mode Configuration ------------------------*/
222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* In case of Alternate function mode selection */
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)
224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the Alternate function parameters */
226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF_INSTANCE(GPIOx));
107 .loc 1 226 9 is_stmt 1 view .LVU35
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
108 .loc 1 227 9 view .LVU36
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure Alternate function mapped with the current IO */
230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->AFR[position >> 3u];
109 .loc 1 230 9 view .LVU37
110 .loc 1 230 36 is_stmt 0 view .LVU38
111 0030 DD08 lsrs r5, r3, #3
112 .loc 1 230 14 view .LVU39
ARM GAS /tmp/ccglcla0.s page 7
113 0032 0835 adds r5, r5, #8
114 0034 50F82540 ldr r4, [r0, r5, lsl #2]
115 .LVL10:
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u));
116 .loc 1 231 9 is_stmt 1 view .LVU40
117 .loc 1 231 38 is_stmt 0 view .LVU41
118 0038 03F0070C and ip, r3, #7
119 .loc 1 231 47 view .LVU42
120 003c 4FEA8C0C lsl ip, ip, #2
121 .loc 1 231 24 view .LVU43
122 0040 4FF00F0E mov lr, #15
123 0044 0EFA0CFE lsl lr, lr, ip
124 .loc 1 231 14 view .LVU44
125 0048 24EA0E0E bic lr, r4, lr
126 .LVL11:
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u));
127 .loc 1 232 9 is_stmt 1 view .LVU45
128 .loc 1 232 28 is_stmt 0 view .LVU46
129 004c 0C69 ldr r4, [r1, #16]
130 .loc 1 232 41 view .LVU47
131 004e 04FA0CF4 lsl r4, r4, ip
132 .loc 1 232 14 view .LVU48
133 0052 44EA0E04 orr r4, r4, lr
134 .LVL12:
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp;
135 .loc 1 233 9 is_stmt 1 view .LVU49
136 .loc 1 233 36 is_stmt 0 view .LVU50
137 0056 40F82540 str r4, [r0, r5, lsl #2]
138 005a 60E0 b .L6
139 .LVL13:
140 .L21:
234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->MODER;
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*--------------------- EXTI Mode Configuration ------------------------*/
243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_MODE) != 0x00u)
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Enable SYSCFG Clock */
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = SYSCFG->EXTICR[position >> 2u];
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
141 .loc 1 251 18 discriminator 7 view .LVU51
142 005c 0324 movs r4, #3
143 005e 00E0 b .L7
144 .L13:
145 .loc 1 251 18 discriminator 2 view .LVU52
146 0060 0024 movs r4, #0
147 .L7:
148 .loc 1 251 40 discriminator 16 view .LVU53
ARM GAS /tmp/ccglcla0.s page 8
149 0062 04FA0EF4 lsl r4, r4, lr
150 .loc 1 251 14 discriminator 16 view .LVU54
151 0066 2C43 orrs r4, r4, r5
152 .LVL14:
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
153 .loc 1 252 9 is_stmt 1 view .LVU55
154 .loc 1 252 40 is_stmt 0 view .LVU56
155 0068 0CF1020C add ip, ip, #2
156 006c 4F4D ldr r5, .L22
157 006e 45F82C40 str r4, [r5, ip, lsl #2]
253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->RTSR;
158 .loc 1 255 9 is_stmt 1 view .LVU57
159 .loc 1 255 14 is_stmt 0 view .LVU58
160 0072 4F4C ldr r4, .L22+4
161 .LVL15:
162 .loc 1 255 14 view .LVU59
163 0074 A568 ldr r5, [r4, #8]
164 .LVL16:
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
165 .loc 1 256 9 is_stmt 1 view .LVU60
166 .loc 1 256 17 is_stmt 0 view .LVU61
167 0076 D443 mvns r4, r2
168 .loc 1 256 14 view .LVU62
169 0078 25EA0206 bic r6, r5, r2
170 .LVL17:
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u)
171 .loc 1 257 9 is_stmt 1 view .LVU63
172 .loc 1 257 11 is_stmt 0 view .LVU64
173 007c 4F68 ldr r7, [r1, #4]
174 007e 17F4801F tst r7, #1048576
175 0082 01D0 beq .L8
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
176 .loc 1 259 11 is_stmt 1 view .LVU65
177 .loc 1 259 16 is_stmt 0 view .LVU66
178 0084 42EA0506 orr r6, r2, r5
179 .LVL18:
180 .L8:
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR = temp;
181 .loc 1 261 9 is_stmt 1 view .LVU67
182 .loc 1 261 20 is_stmt 0 view .LVU68
183 0088 494D ldr r5, .L22+4
184 008a AE60 str r6, [r5, #8]
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->FTSR;
185 .loc 1 263 9 is_stmt 1 view .LVU69
186 .loc 1 263 14 is_stmt 0 view .LVU70
187 008c ED68 ldr r5, [r5, #12]
188 .LVL19:
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
189 .loc 1 264 9 is_stmt 1 view .LVU71
190 .loc 1 264 14 is_stmt 0 view .LVU72
191 008e 04EA0506 and r6, r4, r5
192 .LVL20:
ARM GAS /tmp/ccglcla0.s page 9
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u)
193 .loc 1 265 9 is_stmt 1 view .LVU73
194 .loc 1 265 11 is_stmt 0 view .LVU74
195 0092 4F68 ldr r7, [r1, #4]
196 0094 17F4001F tst r7, #2097152
197 0098 01D0 beq .L9
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
198 .loc 1 267 11 is_stmt 1 view .LVU75
199 .loc 1 267 16 is_stmt 0 view .LVU76
200 009a 42EA0506 orr r6, r2, r5
201 .LVL21:
202 .L9:
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->FTSR = temp;
203 .loc 1 269 9 is_stmt 1 view .LVU77
204 .loc 1 269 20 is_stmt 0 view .LVU78
205 009e 444D ldr r5, .L22+4
206 00a0 EE60 str r6, [r5, #12]
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->EMR;
207 .loc 1 271 9 is_stmt 1 view .LVU79
208 .loc 1 271 14 is_stmt 0 view .LVU80
209 00a2 6D68 ldr r5, [r5, #4]
210 .LVL22:
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
211 .loc 1 272 9 is_stmt 1 view .LVU81
212 .loc 1 272 14 is_stmt 0 view .LVU82
213 00a4 04EA0506 and r6, r4, r5
214 .LVL23:
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_EVT) != 0x00u)
215 .loc 1 273 9 is_stmt 1 view .LVU83
216 .loc 1 273 11 is_stmt 0 view .LVU84
217 00a8 4F68 ldr r7, [r1, #4]
218 00aa 17F4003F tst r7, #131072
219 00ae 01D0 beq .L10
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
220 .loc 1 275 11 is_stmt 1 view .LVU85
221 .loc 1 275 16 is_stmt 0 view .LVU86
222 00b0 42EA0506 orr r6, r2, r5
223 .LVL24:
224 .L10:
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR = temp;
225 .loc 1 277 9 is_stmt 1 view .LVU87
226 .loc 1 277 19 is_stmt 0 view .LVU88
227 00b4 3E4D ldr r5, .L22+4
228 00b6 6E60 str r6, [r5, #4]
278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear EXTI line configuration */
280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->IMR;
229 .loc 1 280 9 is_stmt 1 view .LVU89
230 .loc 1 280 14 is_stmt 0 view .LVU90
231 00b8 2D68 ldr r5, [r5]
232 .LVL25:
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
ARM GAS /tmp/ccglcla0.s page 10
233 .loc 1 281 9 is_stmt 1 view .LVU91
234 .loc 1 281 14 is_stmt 0 view .LVU92
235 00ba 2C40 ands r4, r4, r5
236 .LVL26:
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_IT) != 0x00u)
237 .loc 1 282 9 is_stmt 1 view .LVU93
238 .loc 1 282 22 is_stmt 0 view .LVU94
239 00bc 4E68 ldr r6, [r1, #4]
240 .loc 1 282 11 view .LVU95
241 00be 16F4803F tst r6, #65536
242 00c2 01D0 beq .L11
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
243 .loc 1 284 11 is_stmt 1 view .LVU96
244 .loc 1 284 16 is_stmt 0 view .LVU97
245 00c4 42EA0504 orr r4, r2, r5
246 .LVL27:
247 .L11:
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->IMR = temp;
248 .loc 1 286 9 is_stmt 1 view .LVU98
249 .loc 1 286 19 is_stmt 0 view .LVU99
250 00c8 394A ldr r2, .L22+4
251 .LVL28:
252 .loc 1 286 19 view .LVU100
253 00ca 1460 str r4, [r2]
254 .LVL29:
255 .L3:
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** position++;
256 .loc 1 290 5 is_stmt 1 view .LVU101
257 .loc 1 290 13 is_stmt 0 view .LVU102
258 00cc 0133 adds r3, r3, #1
259 .LVL30:
260 .L2:
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
261 .loc 1 183 41 is_stmt 1 view .LVU103
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
262 .loc 1 183 21 is_stmt 0 view .LVU104
263 00ce 0A68 ldr r2, [r1]
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
264 .loc 1 183 41 view .LVU105
265 00d0 32FA03F4 lsrs r4, r2, r3
266 00d4 68D0 beq .L18
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
267 .loc 1 186 5 is_stmt 1 view .LVU106
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
268 .loc 1 186 41 is_stmt 0 view .LVU107
269 00d6 4FF0010C mov ip, #1
270 00da 0CFA03FC lsl ip, ip, r3
271 .LVL31:
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
272 .loc 1 188 5 is_stmt 1 view .LVU108
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
273 .loc 1 188 8 is_stmt 0 view .LVU109
ARM GAS /tmp/ccglcla0.s page 11
274 00de 1CEA0202 ands r2, ip, r2
275 .LVL32:
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
276 .loc 1 188 8 view .LVU110
277 00e2 F3D0 beq .L3
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
278 .loc 1 192 7 is_stmt 1 view .LVU111
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
279 .loc 1 192 21 is_stmt 0 view .LVU112
280 00e4 4C68 ldr r4, [r1, #4]
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
281 .loc 1 192 28 view .LVU113
282 00e6 04F00304 and r4, r4, #3
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
283 .loc 1 192 57 view .LVU114
284 00ea 013C subs r4, r4, #1
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
285 .loc 1 192 9 view .LVU115
286 00ec 012C cmp r4, #1
287 00ee 8BD9 bls .L19
288 .L4:
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
289 .loc 1 209 7 is_stmt 1 view .LVU116
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
290 .loc 1 209 20 is_stmt 0 view .LVU117
291 00f0 4C68 ldr r4, [r1, #4]
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
292 .loc 1 209 27 view .LVU118
293 00f2 04F00304 and r4, r4, #3
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
294 .loc 1 209 9 view .LVU119
295 00f6 032C cmp r4, #3
296 00f8 0CD0 beq .L5
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
297 .loc 1 212 9 is_stmt 1 view .LVU120
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
298 .loc 1 215 9 view .LVU121
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
299 .loc 1 215 14 is_stmt 0 view .LVU122
300 00fa C468 ldr r4, [r0, #12]
301 .LVL33:
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
302 .loc 1 216 9 is_stmt 1 view .LVU123
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
303 .loc 1 216 50 is_stmt 0 view .LVU124
304 00fc 5D00 lsls r5, r3, #1
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
305 .loc 1 216 37 view .LVU125
306 00fe 4FF0030C mov ip, #3
307 0102 0CFA05FC lsl ip, ip, r5
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
308 .loc 1 216 14 view .LVU126
309 0106 24EA0C0C bic ip, r4, ip
310 .LVL34:
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
311 .loc 1 217 9 is_stmt 1 view .LVU127
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
ARM GAS /tmp/ccglcla0.s page 12
312 .loc 1 217 28 is_stmt 0 view .LVU128
313 010a 8C68 ldr r4, [r1, #8]
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
314 .loc 1 217 36 view .LVU129
315 010c AC40 lsls r4, r4, r5
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
316 .loc 1 217 14 view .LVU130
317 010e 44EA0C04 orr r4, r4, ip
318 .LVL35:
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
319 .loc 1 218 9 is_stmt 1 view .LVU131
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
320 .loc 1 218 22 is_stmt 0 view .LVU132
321 0112 C460 str r4, [r0, #12]
322 .LVL36:
323 .L5:
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
324 .loc 1 223 7 is_stmt 1 view .LVU133
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
325 .loc 1 223 20 is_stmt 0 view .LVU134
326 0114 4C68 ldr r4, [r1, #4]
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
327 .loc 1 223 27 view .LVU135
328 0116 04F00304 and r4, r4, #3
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
329 .loc 1 223 9 view .LVU136
330 011a 022C cmp r4, #2
331 011c 88D0 beq .L20
332 .L6:
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
333 .loc 1 237 7 is_stmt 1 view .LVU137
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
334 .loc 1 237 12 is_stmt 0 view .LVU138
335 011e 0468 ldr r4, [r0]
336 .LVL37:
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
337 .loc 1 238 7 is_stmt 1 view .LVU139
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
338 .loc 1 238 48 is_stmt 0 view .LVU140
339 0120 4FEA430E lsl lr, r3, #1
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
340 .loc 1 238 35 view .LVU141
341 0124 4FF0030C mov ip, #3
342 0128 0CFA0EFC lsl ip, ip, lr
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
343 .loc 1 238 12 view .LVU142
344 012c 24EA0C0C bic ip, r4, ip
345 .LVL38:
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
346 .loc 1 239 7 is_stmt 1 view .LVU143
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
347 .loc 1 239 26 is_stmt 0 view .LVU144
348 0130 4C68 ldr r4, [r1, #4]
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
349 .loc 1 239 33 view .LVU145
350 0132 04F00304 and r4, r4, #3
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
ARM GAS /tmp/ccglcla0.s page 13
351 .loc 1 239 46 view .LVU146
352 0136 04FA0EF4 lsl r4, r4, lr
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
353 .loc 1 239 12 view .LVU147
354 013a 44EA0C04 orr r4, r4, ip
355 .LVL39:
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
356 .loc 1 240 7 is_stmt 1 view .LVU148
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
357 .loc 1 240 20 is_stmt 0 view .LVU149
358 013e 0460 str r4, [r0]
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
359 .loc 1 244 7 is_stmt 1 view .LVU150
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
360 .loc 1 244 20 is_stmt 0 view .LVU151
361 0140 4C68 ldr r4, [r1, #4]
362 .LVL40:
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
363 .loc 1 244 9 view .LVU152
364 0142 14F4403F tst r4, #196608
365 0146 C1D0 beq .L3
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
366 .loc 1 247 9 is_stmt 1 view .LVU153
367 .LBB2:
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
368 .loc 1 247 9 view .LVU154
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
369 .loc 1 247 9 view .LVU155
370 0148 1A4C ldr r4, .L22+8
371 014a A569 ldr r5, [r4, #24]
372 014c 45F00105 orr r5, r5, #1
373 0150 A561 str r5, [r4, #24]
374 .LVL41:
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
375 .loc 1 247 9 view .LVU156
376 0152 A469 ldr r4, [r4, #24]
377 0154 04F00104 and r4, r4, #1
378 0158 0194 str r4, [sp, #4]
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
379 .loc 1 247 9 view .LVU157
380 015a 019C ldr r4, [sp, #4]
381 .LBE2:
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
382 .loc 1 247 9 view .LVU158
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
383 .loc 1 249 9 view .LVU159
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
384 .loc 1 249 40 is_stmt 0 view .LVU160
385 015c 4FEA930C lsr ip, r3, #2
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
386 .loc 1 249 14 view .LVU161
387 0160 0CF10205 add r5, ip, #2
388 0164 114C ldr r4, .L22
389 0166 54F82550 ldr r5, [r4, r5, lsl #2]
390 .LVL42:
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
391 .loc 1 250 9 is_stmt 1 view .LVU162
ARM GAS /tmp/ccglcla0.s page 14
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
392 .loc 1 250 45 is_stmt 0 view .LVU163
393 016a 03F0030E and lr, r3, #3
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
394 .loc 1 250 33 view .LVU164
395 016e 4FEA8E0E lsl lr, lr, #2
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
396 .loc 1 250 26 view .LVU165
397 0172 0F24 movs r4, #15
398 0174 04FA0EF4 lsl r4, r4, lr
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
399 .loc 1 250 14 view .LVU166
400 0178 25EA0405 bic r5, r5, r4
401 .LVL43:
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
402 .loc 1 251 9 is_stmt 1 view .LVU167
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
403 .loc 1 251 18 is_stmt 0 view .LVU168
404 017c B0F1904F cmp r0, #1207959552
405 0180 3FF46EAF beq .L13
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
406 .loc 1 251 18 discriminator 1 view .LVU169
407 0184 0C4C ldr r4, .L22+12
408 0186 A042 cmp r0, r4
409 0188 0AD0 beq .L14
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
410 .loc 1 251 18 discriminator 3 view .LVU170
411 018a 04F58064 add r4, r4, #1024
412 018e A042 cmp r0, r4
413 0190 08D0 beq .L15
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
414 .loc 1 251 18 discriminator 5 view .LVU171
415 0192 04F58064 add r4, r4, #1024
416 0196 A042 cmp r0, r4
417 0198 3FF460AF beq .L21
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
418 .loc 1 251 18 discriminator 8 view .LVU172
419 019c 0524 movs r4, #5
420 019e 60E7 b .L7
421 .L14:
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
422 .loc 1 251 18 discriminator 4 view .LVU173
423 01a0 0124 movs r4, #1
424 01a2 5EE7 b .L7
425 .L15:
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
426 .loc 1 251 18 discriminator 6 view .LVU174
427 01a4 0224 movs r4, #2
428 01a6 5CE7 b .L7
429 .LVL44:
430 .L18:
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
431 .loc 1 292 1 view .LVU175
432 01a8 03B0 add sp, sp, #12
433 .cfi_def_cfa_offset 20
434 @ sp needed
ARM GAS /tmp/ccglcla0.s page 15
435 01aa F0BD pop {r4, r5, r6, r7, pc}
436 .L23:
437 .align 2
438 .L22:
439 01ac 00000140 .word 1073807360
440 01b0 00040140 .word 1073808384
441 01b4 00100240 .word 1073876992
442 01b8 00040048 .word 1207960576
443 .cfi_endproc
444 .LFE123:
446 .section .text.HAL_GPIO_DeInit,"ax",%progbits
447 .align 1
448 .global HAL_GPIO_DeInit
449 .syntax unified
450 .thumb
451 .thumb_func
453 HAL_GPIO_DeInit:
454 .LVL45:
455 .LFB124:
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief De-initialize the GPIOx peripheral registers to their default reset values.
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F30X device or STM32
297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
456 .loc 1 302 1 is_stmt 1 view -0
457 .cfi_startproc
458 @ args = 0, pretend = 0, frame = 0
459 @ frame_needed = 0, uses_anonymous_args = 0
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u;
460 .loc 1 303 3 view .LVU177
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
461 .loc 1 304 3 view .LVU178
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t tmp;
462 .loc 1 305 3 view .LVU179
306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
463 .loc 1 308 3 view .LVU180
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
464 .loc 1 309 3 view .LVU181
310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the port pins */
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** while ((GPIO_Pin >> position) != 0x00u)
465 .loc 1 312 3 view .LVU182
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
466 .loc 1 303 12 is_stmt 0 view .LVU183
467 0000 0023 movs r3, #0
468 .LVL46:
469 .loc 1 312 33 is_stmt 1 view .LVU184
470 0002 31FA03F2 lsrs r2, r1, r3
471 0006 74D0 beq .L37
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u;
ARM GAS /tmp/ccglcla0.s page 16
472 .loc 1 302 1 is_stmt 0 view .LVU185
473 0008 F0B5 push {r4, r5, r6, r7, lr}
474 .cfi_def_cfa_offset 20
475 .cfi_offset 4, -20
476 .cfi_offset 5, -16
477 .cfi_offset 6, -12
478 .cfi_offset 7, -8
479 .cfi_offset 14, -4
480 000a 2EE0 b .L29
481 .LVL47:
482 .L40:
313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Get current io position */
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** iocurrent = (GPIO_Pin) & (1uL << position);
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (iocurrent != 0x00u)
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*------------------------- EXTI Mode Configuration --------------------*/
320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear the External Interrupt or Event for the current IO */
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp = SYSCFG->EXTICR[position >> 2u];
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
483 .loc 1 324 19 discriminator 7 view .LVU186
484 000c 0325 movs r5, #3
485 000e 00E0 b .L27
486 .L30:
487 .loc 1 324 19 discriminator 2 view .LVU187
488 0010 0025 movs r5, #0
489 .L27:
490 .loc 1 324 41 discriminator 16 view .LVU188
491 0012 05FA0CF5 lsl r5, r5, ip
492 .loc 1 324 10 discriminator 16 view .LVU189
493 0016 A542 cmp r5, r4
494 0018 4FD0 beq .L38
495 .LVL48:
496 .L28:
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear EXTI line configuration */
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->IMR &= ~((uint32_t)iocurrent);
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp = 0x0FuL << (4u * (position & 0x03u));
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] &= ~tmp;
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*------------------------- GPIO Mode Configuration --------------------*/
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure IO Direction in Input Floating Mode */
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (position * 2u));
497 .loc 1 341 7 is_stmt 1 view .LVU190
498 .loc 1 341 12 is_stmt 0 view .LVU191
499 001a 0468 ldr r4, [r0]
ARM GAS /tmp/ccglcla0.s page 17
500 .loc 1 341 56 view .LVU192
501 001c 5D00 lsls r5, r3, #1
502 .loc 1 341 43 view .LVU193
503 001e 4FF0030C mov ip, #3
504 0022 0CFA05FC lsl ip, ip, r5
505 .loc 1 341 20 view .LVU194
506 0026 24EA0C04 bic r4, r4, ip
507 002a 0460 str r4, [r0]
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the default Alternate Function in current IO */
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] &= ~(0xFu << ((uint32_t)(position & 0x07u) * 4u)) ;
508 .loc 1 344 7 is_stmt 1 view .LVU195
509 .loc 1 344 17 is_stmt 0 view .LVU196
510 002c 4FEAD30E lsr lr, r3, #3
511 0030 0EF1080E add lr, lr, #8
512 0034 50F82E40 ldr r4, [r0, lr, lsl #2]
513 .loc 1 344 48 view .LVU197
514 0038 03F00706 and r6, r3, #7
515 .loc 1 344 77 view .LVU198
516 003c B600 lsls r6, r6, #2
517 .loc 1 344 44 view .LVU199
518 003e 0F25 movs r5, #15
519 0040 B540 lsls r5, r5, r6
520 .loc 1 344 34 view .LVU200
521 0042 24EA0504 bic r4, r4, r5
522 0046 40F82E40 str r4, [r0, lr, lsl #2]
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Deactivate the Pull-up and Pull-down resistor for the current IO */
347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
523 .loc 1 347 7 is_stmt 1 view .LVU201
524 .loc 1 347 12 is_stmt 0 view .LVU202
525 004a C468 ldr r4, [r0, #12]
526 .loc 1 347 20 view .LVU203
527 004c 24EA0C04 bic r4, r4, ip
528 0050 C460 str r4, [r0, #12]
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the default value IO Output Type */
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ;
529 .loc 1 350 7 is_stmt 1 view .LVU204
530 .loc 1 350 12 is_stmt 0 view .LVU205
531 0052 4468 ldr r4, [r0, #4]
532 .loc 1 350 22 view .LVU206
533 0054 24EA0202 bic r2, r4, r2
534 .LVL49:
535 .loc 1 350 22 view .LVU207
536 0058 4260 str r2, [r0, #4]
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the default value for IO Speed */
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
537 .loc 1 353 7 is_stmt 1 view .LVU208
538 .loc 1 353 12 is_stmt 0 view .LVU209
539 005a 8268 ldr r2, [r0, #8]
540 .loc 1 353 22 view .LVU210
541 005c 22EA0C02 bic r2, r2, ip
542 0060 8260 str r2, [r0, #8]
543 .L26:
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
ARM GAS /tmp/ccglcla0.s page 18
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** position++;
544 .loc 1 356 5 is_stmt 1 view .LVU211
545 .loc 1 356 13 is_stmt 0 view .LVU212
546 0062 0133 adds r3, r3, #1
547 .LVL50:
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
548 .loc 1 312 33 is_stmt 1 view .LVU213
549 0064 31FA03F2 lsrs r2, r1, r3
550 0068 42D0 beq .L39
551 .LVL51:
552 .L29:
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
553 .loc 1 315 5 view .LVU214
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
554 .loc 1 315 35 is_stmt 0 view .LVU215
555 006a 0122 movs r2, #1
556 006c 9A40 lsls r2, r2, r3
557 .LVL52:
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
558 .loc 1 317 5 is_stmt 1 view .LVU216
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
559 .loc 1 317 8 is_stmt 0 view .LVU217
560 006e 12EA0107 ands r7, r2, r1
561 .LVL53:
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
562 .loc 1 317 8 view .LVU218
563 0072 F6D0 beq .L26
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
564 .loc 1 322 7 is_stmt 1 view .LVU219
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
565 .loc 1 322 37 is_stmt 0 view .LVU220
566 0074 4FEA930E lsr lr, r3, #2
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
567 .loc 1 322 11 view .LVU221
568 0078 0EF10205 add r5, lr, #2
569 007c 1D4C ldr r4, .L41
570 007e 54F82540 ldr r4, [r4, r5, lsl #2]
571 .LVL54:
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
572 .loc 1 323 7 is_stmt 1 view .LVU222
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
573 .loc 1 323 41 is_stmt 0 view .LVU223
574 0082 03F0030C and ip, r3, #3
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
575 .loc 1 323 29 view .LVU224
576 0086 4FEA8C0C lsl ip, ip, #2
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
577 .loc 1 323 22 view .LVU225
578 008a 0F25 movs r5, #15
579 008c 05FA0CF6 lsl r6, r5, ip
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
580 .loc 1 323 11 view .LVU226
581 0090 3440 ands r4, r4, r6
582 .LVL55:
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
583 .loc 1 324 7 is_stmt 1 view .LVU227
ARM GAS /tmp/ccglcla0.s page 19
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
584 .loc 1 324 19 is_stmt 0 view .LVU228
585 0092 B0F1904F cmp r0, #1207959552
586 0096 BBD0 beq .L30
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
587 .loc 1 324 19 discriminator 1 view .LVU229
588 0098 174D ldr r5, .L41+4
589 009a A842 cmp r0, r5
590 009c 09D0 beq .L31
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
591 .loc 1 324 19 discriminator 3 view .LVU230
592 009e 05F58065 add r5, r5, #1024
593 00a2 A842 cmp r0, r5
594 00a4 07D0 beq .L32
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
595 .loc 1 324 19 discriminator 5 view .LVU231
596 00a6 05F58065 add r5, r5, #1024
597 00aa A842 cmp r0, r5
598 00ac AED0 beq .L40
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
599 .loc 1 324 19 discriminator 8 view .LVU232
600 00ae 0525 movs r5, #5
601 00b0 AFE7 b .L27
602 .L31:
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
603 .loc 1 324 19 discriminator 4 view .LVU233
604 00b2 0125 movs r5, #1
605 00b4 ADE7 b .L27
606 .L32:
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
607 .loc 1 324 19 discriminator 6 view .LVU234
608 00b6 0225 movs r5, #2
609 00b8 ABE7 b .L27
610 .L38:
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
611 .loc 1 327 9 is_stmt 1 view .LVU235
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
612 .loc 1 327 13 is_stmt 0 view .LVU236
613 00ba 104C ldr r4, .L41+8
614 .LVL56:
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
615 .loc 1 327 13 view .LVU237
616 00bc 2568 ldr r5, [r4]
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
617 .loc 1 327 19 view .LVU238
618 00be 25EA0705 bic r5, r5, r7
619 00c2 2560 str r5, [r4]
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
620 .loc 1 328 9 is_stmt 1 view .LVU239
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
621 .loc 1 328 13 is_stmt 0 view .LVU240
622 00c4 6568 ldr r5, [r4, #4]
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
623 .loc 1 328 19 view .LVU241
624 00c6 25EA0705 bic r5, r5, r7
625 00ca 6560 str r5, [r4, #4]
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
ARM GAS /tmp/ccglcla0.s page 20
626 .loc 1 331 9 is_stmt 1 view .LVU242
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
627 .loc 1 331 13 is_stmt 0 view .LVU243
628 00cc E568 ldr r5, [r4, #12]
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
629 .loc 1 331 20 view .LVU244
630 00ce 25EA0705 bic r5, r5, r7
631 00d2 E560 str r5, [r4, #12]
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
632 .loc 1 332 9 is_stmt 1 view .LVU245
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
633 .loc 1 332 13 is_stmt 0 view .LVU246
634 00d4 A568 ldr r5, [r4, #8]
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
635 .loc 1 332 20 view .LVU247
636 00d6 25EA0705 bic r5, r5, r7
637 00da A560 str r5, [r4, #8]
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] &= ~tmp;
638 .loc 1 335 9 is_stmt 1 view .LVU248
639 .LVL57:
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
640 .loc 1 336 9 view .LVU249
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
641 .loc 1 336 23 is_stmt 0 view .LVU250
642 00dc 054F ldr r7, .L41
643 .LVL58:
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
644 .loc 1 336 23 view .LVU251
645 00de 0EF10204 add r4, lr, #2
646 00e2 57F82450 ldr r5, [r7, r4, lsl #2]
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
647 .loc 1 336 40 view .LVU252
648 00e6 25EA0605 bic r5, r5, r6
649 00ea 47F82450 str r5, [r7, r4, lsl #2]
650 00ee 94E7 b .L28
651 .LVL59:
652 .L39:
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
653 .loc 1 358 1 view .LVU253
654 00f0 F0BD pop {r4, r5, r6, r7, pc}
655 .LVL60:
656 .L37:
657 .cfi_def_cfa_offset 0
658 .cfi_restore 4
659 .cfi_restore 5
660 .cfi_restore 6
661 .cfi_restore 7
662 .cfi_restore 14
663 .loc 1 358 1 view .LVU254
664 00f2 7047 bx lr
665 .L42:
666 .align 2
667 .L41:
668 00f4 00000140 .word 1073807360
669 00f8 00040048 .word 1207960576
670 00fc 00040140 .word 1073808384
ARM GAS /tmp/ccglcla0.s page 21
671 .cfi_endproc
672 .LFE124:
674 .section .text.HAL_GPIO_ReadPin,"ax",%progbits
675 .align 1
676 .global HAL_GPIO_ReadPin
677 .syntax unified
678 .thumb
679 .thumb_func
681 HAL_GPIO_ReadPin:
682 .LVL61:
683 .LFB125:
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @}
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief GPIO Read, Write, Toggle, Lock and EXTI management functions.
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @verbatim
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ===============================================================================
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ##### IO operation functions #####
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ===============================================================================
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @endverbatim
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Read the specified input port pin.
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to read.
380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be GPIO_PIN_x where x can be (0..15).
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval The input port pin value.
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
684 .loc 1 384 1 is_stmt 1 view -0
685 .cfi_startproc
686 @ args = 0, pretend = 0, frame = 0
687 @ frame_needed = 0, uses_anonymous_args = 0
688 @ link register save eliminated.
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_PinState bitstatus;
689 .loc 1 385 3 view .LVU256
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
690 .loc 1 388 3 view .LVU257
389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
691 .loc 1 390 3 view .LVU258
692 .loc 1 390 12 is_stmt 0 view .LVU259
693 0000 0369 ldr r3, [r0, #16]
694 .loc 1 390 5 view .LVU260
695 0002 1942 tst r1, r3
696 0004 01D0 beq .L45
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
ARM GAS /tmp/ccglcla0.s page 22
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** bitstatus = GPIO_PIN_SET;
697 .loc 1 392 15 view .LVU261
698 0006 0120 movs r0, #1
699 .LVL62:
700 .loc 1 392 15 view .LVU262
701 0008 7047 bx lr
702 .LVL63:
703 .L45:
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** else
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** bitstatus = GPIO_PIN_RESET;
704 .loc 1 396 15 view .LVU263
705 000a 0020 movs r0, #0
706 .LVL64:
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return bitstatus;
707 .loc 1 398 3 is_stmt 1 view .LVU264
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
708 .loc 1 399 1 is_stmt 0 view .LVU265
709 000c 7047 bx lr
710 .cfi_endproc
711 .LFE125:
713 .section .text.HAL_GPIO_WritePin,"ax",%progbits
714 .align 1
715 .global HAL_GPIO_WritePin
716 .syntax unified
717 .thumb
718 .thumb_func
720 HAL_GPIO_WritePin:
721 .LVL65:
722 .LFB126:
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Set or clear the selected data port bit.
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @note This function uses GPIOx_BSRR and GPIOx_BRR registers to allow atomic read/modify
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * accesses. In this way, there is no risk of an IRQ occurring between
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * the read and the modify access.
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param PinState specifies the value to be written to the selected bit.
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be one of the GPIO_PinState enum values:
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @arg GPIO_PIN_RESET: to clear the port pin
414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @arg GPIO_PIN_SET: to set the port pin
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
723 .loc 1 418 1 is_stmt 1 view -0
724 .cfi_startproc
725 @ args = 0, pretend = 0, frame = 0
726 @ frame_needed = 0, uses_anonymous_args = 0
727 @ link register save eliminated.
419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
ARM GAS /tmp/ccglcla0.s page 23
420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
728 .loc 1 420 3 view .LVU267
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState));
729 .loc 1 421 3 view .LVU268
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if(PinState != GPIO_PIN_RESET)
730 .loc 1 423 3 view .LVU269
731 .loc 1 423 5 is_stmt 0 view .LVU270
732 0000 0AB1 cbz r2, .L47
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin;
733 .loc 1 425 5 is_stmt 1 view .LVU271
734 .loc 1 425 17 is_stmt 0 view .LVU272
735 0002 8161 str r1, [r0, #24]
736 0004 7047 bx lr
737 .L47:
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** else
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->BRR = (uint32_t)GPIO_Pin;
738 .loc 1 429 5 is_stmt 1 view .LVU273
739 .loc 1 429 16 is_stmt 0 view .LVU274
740 0006 8162 str r1, [r0, #40]
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
741 .loc 1 431 1 view .LVU275
742 0008 7047 bx lr
743 .cfi_endproc
744 .LFE126:
746 .section .text.HAL_GPIO_TogglePin,"ax",%progbits
747 .align 1
748 .global HAL_GPIO_TogglePin
749 .syntax unified
750 .thumb
751 .thumb_func
753 HAL_GPIO_TogglePin:
754 .LVL66:
755 .LFB127:
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Toggle the specified GPIO pin.
435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the pin to be toggled.
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
756 .loc 1 440 1 is_stmt 1 view -0
757 .cfi_startproc
758 @ args = 0, pretend = 0, frame = 0
759 @ frame_needed = 0, uses_anonymous_args = 0
760 @ link register save eliminated.
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t odr;
761 .loc 1 441 3 view .LVU277
442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
ARM GAS /tmp/ccglcla0.s page 24
762 .loc 1 444 3 view .LVU278
445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* get current Output Data Register value */
447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** odr = GPIOx->ODR;
763 .loc 1 447 3 view .LVU279
764 .loc 1 447 7 is_stmt 0 view .LVU280
765 0000 4369 ldr r3, [r0, #20]
766 .LVL67:
448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Set selected pins that were at low level, and reset ones that were high */
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->BSRR = ((odr & GPIO_Pin) << GPIO_NUMBER) | (~odr & GPIO_Pin);
767 .loc 1 450 3 is_stmt 1 view .LVU281
768 .loc 1 450 23 is_stmt 0 view .LVU282
769 0002 01EA0302 and r2, r1, r3
770 .loc 1 450 59 view .LVU283
771 0006 21EA0301 bic r1, r1, r3
772 .LVL68:
773 .loc 1 450 51 view .LVU284
774 000a 41EA0241 orr r1, r1, r2, lsl #16
775 .loc 1 450 15 view .LVU285
776 000e 8161 str r1, [r0, #24]
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
777 .loc 1 451 1 view .LVU286
778 0010 7047 bx lr
779 .cfi_endproc
780 .LFE127:
782 .section .text.HAL_GPIO_LockPin,"ax",%progbits
783 .align 1
784 .global HAL_GPIO_LockPin
785 .syntax unified
786 .thumb
787 .thumb_func
789 HAL_GPIO_LockPin:
790 .LVL69:
791 .LFB128:
452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Lock GPIO Pins configuration registers.
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @note The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR,
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @note The configuration of the locked GPIO pins can no longer be modified
458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * until the next reset.
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bits to be locked.
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be any combination of GPIO_PIN_x where x can be (0..15).
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
792 .loc 1 465 1 is_stmt 1 view -0
793 .cfi_startproc
794 @ args = 0, pretend = 0, frame = 8
795 @ frame_needed = 0, uses_anonymous_args = 0
796 @ link register save eliminated.
797 .loc 1 465 1 is_stmt 0 view .LVU288
798 0000 82B0 sub sp, sp, #8
799 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccglcla0.s page 25
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK;
800 .loc 1 466 3 is_stmt 1 view .LVU289
801 .loc 1 466 17 is_stmt 0 view .LVU290
802 0002 4FF48033 mov r3, #65536
803 0006 0193 str r3, [sp, #4]
467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_LOCK_INSTANCE(GPIOx));
804 .loc 1 469 3 is_stmt 1 view .LVU291
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
805 .loc 1 470 3 view .LVU292
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Apply lock key write sequence */
473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp |= GPIO_Pin;
806 .loc 1 473 3 view .LVU293
807 .loc 1 473 7 is_stmt 0 view .LVU294
808 0008 019B ldr r3, [sp, #4]
809 000a 0B43 orrs r3, r3, r1
810 000c 0193 str r3, [sp, #4]
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15U-0] */
475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->LCKR = tmp;
811 .loc 1 475 3 is_stmt 1 view .LVU295
812 .loc 1 475 15 is_stmt 0 view .LVU296
813 000e 019B ldr r3, [sp, #4]
814 0010 C361 str r3, [r0, #28]
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Reset LCKx bit(s): LCKK='0' + LCK[15U-0] */
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->LCKR = GPIO_Pin;
815 .loc 1 477 3 is_stmt 1 view .LVU297
816 .loc 1 477 15 is_stmt 0 view .LVU298
817 0012 C161 str r1, [r0, #28]
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15U-0] */
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->LCKR = tmp;
818 .loc 1 479 3 is_stmt 1 view .LVU299
819 .loc 1 479 15 is_stmt 0 view .LVU300
820 0014 019B ldr r3, [sp, #4]
821 0016 C361 str r3, [r0, #28]
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Read LCKK register. This read is mandatory to complete key lock sequence */
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp = GPIOx->LCKR;
822 .loc 1 481 3 is_stmt 1 view .LVU301
823 .loc 1 481 14 is_stmt 0 view .LVU302
824 0018 C369 ldr r3, [r0, #28]
825 .loc 1 481 7 view .LVU303
826 001a 0193 str r3, [sp, #4]
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* read again in order to confirm lock is active */
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIOx->LCKR & GPIO_LCKR_LCKK) != 0x00u)
827 .loc 1 484 2 is_stmt 1 view .LVU304
828 .loc 1 484 11 is_stmt 0 view .LVU305
829 001c C369 ldr r3, [r0, #28]
830 .loc 1 484 4 view .LVU306
831 001e 13F4803F tst r3, #65536
832 0022 02D0 beq .L52
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return HAL_OK;
833 .loc 1 486 12 view .LVU307
834 0024 0020 movs r0, #0
835 .LVL70:
ARM GAS /tmp/ccglcla0.s page 26
836 .L51:
487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** else
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return HAL_ERROR;
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
837 .loc 1 492 1 view .LVU308
838 0026 02B0 add sp, sp, #8
839 .cfi_remember_state
840 .cfi_def_cfa_offset 0
841 @ sp needed
842 0028 7047 bx lr
843 .LVL71:
844 .L52:
845 .cfi_restore_state
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
846 .loc 1 490 12 view .LVU309
847 002a 0120 movs r0, #1
848 .LVL72:
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
849 .loc 1 490 12 view .LVU310
850 002c FBE7 b .L51
851 .cfi_endproc
852 .LFE128:
854 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits
855 .align 1
856 .weak HAL_GPIO_EXTI_Callback
857 .syntax unified
858 .thumb
859 .thumb_func
861 HAL_GPIO_EXTI_Callback:
862 .LVL73:
863 .LFB130:
493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Handle EXTI interrupt request.
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* EXTI line interrupt detected */
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief EXTI line detection callback.
511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
ARM GAS /tmp/ccglcla0.s page 27
864 .loc 1 515 1 is_stmt 1 view -0
865 .cfi_startproc
866 @ args = 0, pretend = 0, frame = 0
867 @ frame_needed = 0, uses_anonymous_args = 0
868 @ link register save eliminated.
516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Prevent unused argument(s) compilation warning */
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** UNUSED(GPIO_Pin);
869 .loc 1 517 3 view .LVU312
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* NOTE: This function should not be modified, when the callback is needed,
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** the HAL_GPIO_EXTI_Callback could be implemented in the user file
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
870 .loc 1 522 1 is_stmt 0 view .LVU313
871 0000 7047 bx lr
872 .cfi_endproc
873 .LFE130:
875 .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
876 .align 1
877 .global HAL_GPIO_EXTI_IRQHandler
878 .syntax unified
879 .thumb
880 .thumb_func
882 HAL_GPIO_EXTI_IRQHandler:
883 .LVL74:
884 .LFB129:
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* EXTI line interrupt detected */
885 .loc 1 500 1 is_stmt 1 view -0
886 .cfi_startproc
887 @ args = 0, pretend = 0, frame = 0
888 @ frame_needed = 0, uses_anonymous_args = 0
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* EXTI line interrupt detected */
889 .loc 1 500 1 is_stmt 0 view .LVU315
890 0000 08B5 push {r3, lr}
891 .cfi_def_cfa_offset 8
892 .cfi_offset 3, -8
893 .cfi_offset 14, -4
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
894 .loc 1 502 3 is_stmt 1 view .LVU316
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
895 .loc 1 502 6 is_stmt 0 view .LVU317
896 0002 054B ldr r3, .L59
897 0004 5B69 ldr r3, [r3, #20]
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
898 .loc 1 502 5 view .LVU318
899 0006 0342 tst r3, r0
900 0008 00D1 bne .L58
901 .LVL75:
902 .L55:
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
903 .loc 1 507 1 view .LVU319
904 000a 08BD pop {r3, pc}
905 .LVL76:
906 .L58:
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
907 .loc 1 504 5 is_stmt 1 view .LVU320
908 000c 024B ldr r3, .L59
ARM GAS /tmp/ccglcla0.s page 28
909 000e 5861 str r0, [r3, #20]
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
910 .loc 1 505 5 view .LVU321
911 0010 FFF7FEFF bl HAL_GPIO_EXTI_Callback
912 .LVL77:
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
913 .loc 1 507 1 is_stmt 0 view .LVU322
914 0014 F9E7 b .L55
915 .L60:
916 0016 00BF .align 2
917 .L59:
918 0018 00040140 .word 1073808384
919 .cfi_endproc
920 .LFE129:
922 .text
923 .Letext0:
924 .file 2 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/
925 .file 3 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/
926 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302x8.h"
927 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
928 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h"
ARM GAS /tmp/ccglcla0.s page 29
DEFINED SYMBOLS
*ABS*:00000000 stm32f3xx_hal_gpio.c
/tmp/ccglcla0.s:21 .text.HAL_GPIO_Init:00000000 $t
/tmp/ccglcla0.s:27 .text.HAL_GPIO_Init:00000000 HAL_GPIO_Init
/tmp/ccglcla0.s:439 .text.HAL_GPIO_Init:000001ac $d
/tmp/ccglcla0.s:447 .text.HAL_GPIO_DeInit:00000000 $t
/tmp/ccglcla0.s:453 .text.HAL_GPIO_DeInit:00000000 HAL_GPIO_DeInit
/tmp/ccglcla0.s:668 .text.HAL_GPIO_DeInit:000000f4 $d
/tmp/ccglcla0.s:675 .text.HAL_GPIO_ReadPin:00000000 $t
/tmp/ccglcla0.s:681 .text.HAL_GPIO_ReadPin:00000000 HAL_GPIO_ReadPin
/tmp/ccglcla0.s:714 .text.HAL_GPIO_WritePin:00000000 $t
/tmp/ccglcla0.s:720 .text.HAL_GPIO_WritePin:00000000 HAL_GPIO_WritePin
/tmp/ccglcla0.s:747 .text.HAL_GPIO_TogglePin:00000000 $t
/tmp/ccglcla0.s:753 .text.HAL_GPIO_TogglePin:00000000 HAL_GPIO_TogglePin
/tmp/ccglcla0.s:783 .text.HAL_GPIO_LockPin:00000000 $t
/tmp/ccglcla0.s:789 .text.HAL_GPIO_LockPin:00000000 HAL_GPIO_LockPin
/tmp/ccglcla0.s:855 .text.HAL_GPIO_EXTI_Callback:00000000 $t
/tmp/ccglcla0.s:861 .text.HAL_GPIO_EXTI_Callback:00000000 HAL_GPIO_EXTI_Callback
/tmp/ccglcla0.s:876 .text.HAL_GPIO_EXTI_IRQHandler:00000000 $t
/tmp/ccglcla0.s:882 .text.HAL_GPIO_EXTI_IRQHandler:00000000 HAL_GPIO_EXTI_IRQHandler
/tmp/ccglcla0.s:918 .text.HAL_GPIO_EXTI_IRQHandler:00000018 $d
NO UNDEFINED SYMBOLS