Files
EEPROM_programmer/build/stm32f4xx_hal_gpio.lst
2025-09-05 10:30:26 +02:00

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