Files
RadioPhotonic_PCB_software/build/stm32f7xx_hal_gpio.lst

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