Files
RadioPhotonic_PCB_software/build/stm32f7xx_hal_gpio.lst
2025-03-03 16:03:02 +03:00

1792 lines
106 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/ccw7msug.s page 1
1 .cpu cortex-m7
2 .eabi_attribute 28, 1
3 .eabi_attribute 20, 1
4 .eabi_attribute 21, 1
5 .eabi_attribute 23, 3
6 .eabi_attribute 24, 1
7 .eabi_attribute 25, 1
8 .eabi_attribute 26, 1
9 .eabi_attribute 30, 1
10 .eabi_attribute 34, 1
11 .eabi_attribute 18, 4
12 .file "stm32f7xx_hal_gpio.c"
13 .text
14 .Ltext0:
15 .cfi_sections .debug_frame
16 .section .text.HAL_GPIO_Init,"ax",%progbits
17 .align 1
18 .global HAL_GPIO_Init
19 .arch armv7e-m
20 .syntax unified
21 .thumb
22 .thumb_func
23 .fpu fpv5-d16
25 HAL_GPIO_Init:
26 .LVL0:
27 .LFB141:
28 .file 1 "Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c"
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/ccw7msug.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/ccw7msug.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/ccw7msug.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 22 is_stmt 1 view .LVU10
45 .loc 1 175 3 is_stmt 0 view .LVU11
46 0002 0F2B cmp r3, #15
47 0004 00F2EF80 bhi .L26
163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** uint32_t position = 0x00;
48 .loc 1 163 1 view .LVU12
49 0008 70B5 push {r4, r5, r6, lr}
50 .LCFI0:
51 .cfi_def_cfa_offset 16
52 .cfi_offset 4, -16
53 .cfi_offset 5, -12
ARM GAS /tmp/ccw7msug.s page 5
54 .cfi_offset 6, -8
55 .cfi_offset 14, -4
56 000a 82B0 sub sp, sp, #8
57 .LCFI1:
58 .cfi_def_cfa_offset 24
59 000c 61E0 b .L12
60 .LVL2:
61 .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));
62 .loc 1 189 9 is_stmt 1 view .LVU13
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;
63 .loc 1 191 9 view .LVU14
64 .loc 1 191 14 is_stmt 0 view .LVU15
65 000e 8568 ldr r5, [r0, #8]
66 .LVL3:
192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2));
67 .loc 1 192 9 is_stmt 1 view .LVU16
68 .loc 1 192 55 is_stmt 0 view .LVU17
69 0010 5E00 lsls r6, r3, #1
70 .loc 1 192 42 view .LVU18
71 0012 0324 movs r4, #3
72 0014 B440 lsls r4, r4, r6
73 .loc 1 192 14 view .LVU19
74 0016 25EA0405 bic r5, r5, r4
75 .LVL4:
193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2));
76 .loc 1 193 9 is_stmt 1 view .LVU20
77 .loc 1 193 27 is_stmt 0 view .LVU21
78 001a CC68 ldr r4, [r1, #12]
79 .loc 1 193 35 view .LVU22
80 001c B440 lsls r4, r4, r6
81 .loc 1 193 14 view .LVU23
82 001e 2C43 orrs r4, r4, r5
83 .LVL5:
194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
84 .loc 1 194 9 is_stmt 1 view .LVU24
85 .loc 1 194 24 is_stmt 0 view .LVU25
86 0020 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;
87 .loc 1 197 9 is_stmt 1 view .LVU26
88 .loc 1 197 14 is_stmt 0 view .LVU27
ARM GAS /tmp/ccw7msug.s page 6
89 0022 4568 ldr r5, [r0, #4]
90 .LVL6:
198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
91 .loc 1 198 9 is_stmt 1 view .LVU28
92 .loc 1 198 14 is_stmt 0 view .LVU29
93 0024 25EA0205 bic r5, r5, r2
94 .LVL7:
199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position);
95 .loc 1 199 9 is_stmt 1 view .LVU30
96 .loc 1 199 29 is_stmt 0 view .LVU31
97 0028 4C68 ldr r4, [r1, #4]
98 .loc 1 199 51 view .LVU32
99 002a C4F30012 ubfx r2, r4, #4, #1
100 .LVL8:
101 .loc 1 199 71 view .LVU33
102 002e 9A40 lsls r2, r2, r3
103 .loc 1 199 14 view .LVU34
104 0030 2A43 orrs r2, r2, r5
105 .LVL9:
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->OTYPER = temp;
106 .loc 1 200 9 is_stmt 1 view .LVU35
107 .loc 1 200 23 is_stmt 0 view .LVU36
108 0032 4260 str r2, [r0, #4]
109 0034 5BE0 b .L4
110 .LVL10:
111 .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));
112 .loc 1 219 9 is_stmt 1 view .LVU37
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];
113 .loc 1 222 9 view .LVU38
114 .loc 1 222 36 is_stmt 0 view .LVU39
115 0036 DC08 lsrs r4, r3, #3
116 .loc 1 222 14 view .LVU40
117 0038 0834 adds r4, r4, #8
118 003a 50F82460 ldr r6, [r0, r4, lsl #2]
119 .LVL11:
223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ;
ARM GAS /tmp/ccw7msug.s page 7
120 .loc 1 223 9 is_stmt 1 view .LVU41
121 .loc 1 223 37 is_stmt 0 view .LVU42
122 003e 03F00702 and r2, r3, #7
123 .loc 1 223 75 view .LVU43
124 0042 9500 lsls r5, r2, #2
125 .loc 1 223 33 view .LVU44
126 0044 0F22 movs r2, #15
127 0046 AA40 lsls r2, r2, r5
128 .loc 1 223 14 view .LVU45
129 0048 26EA020E bic lr, r6, r2
130 .LVL12:
224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4));
131 .loc 1 224 9 is_stmt 1 view .LVU46
132 .loc 1 224 38 is_stmt 0 view .LVU47
133 004c 0A69 ldr r2, [r1, #16]
134 .loc 1 224 51 view .LVU48
135 004e AA40 lsls r2, r2, r5
136 .loc 1 224 14 view .LVU49
137 0050 42EA0E02 orr r2, r2, lr
138 .LVL13:
225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->AFR[position >> 3] = temp;
139 .loc 1 225 9 is_stmt 1 view .LVU50
140 .loc 1 225 35 is_stmt 0 view .LVU51
141 0054 40F82420 str r2, [r0, r4, lsl #2]
142 0058 5DE0 b .L6
143 .LVL14:
144 .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)));
145 .loc 1 243 29 view .LVU52
146 005a 0922 movs r2, #9
147 005c 00E0 b .L7
148 .L13:
149 .loc 1 243 18 view .LVU53
150 005e 0022 movs r2, #0
151 .L7:
152 .loc 1 243 52 discriminator 40 view .LVU54
153 0060 02FA0EF2 lsl r2, r2, lr
154 .loc 1 243 14 discriminator 40 view .LVU55
155 0064 2A43 orrs r2, r2, r5
156 .LVL15:
ARM GAS /tmp/ccw7msug.s page 8
244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
157 .loc 1 244 9 is_stmt 1 discriminator 40 view .LVU56
158 .loc 1 244 39 is_stmt 0 discriminator 40 view .LVU57
159 0066 0234 adds r4, r4, #2
160 0068 5F4D ldr r5, .L31
161 006a 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;
162 .loc 1 247 9 is_stmt 1 discriminator 40 view .LVU58
163 .loc 1 247 14 is_stmt 0 discriminator 40 view .LVU59
164 006e 5F4A ldr r2, .L31+4
165 .LVL16:
166 .loc 1 247 14 discriminator 40 view .LVU60
167 0070 9468 ldr r4, [r2, #8]
168 .LVL17:
248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
169 .loc 1 248 9 is_stmt 1 discriminator 40 view .LVU61
170 .loc 1 248 17 is_stmt 0 discriminator 40 view .LVU62
171 0072 6FEA0C02 mvn r2, ip
172 .loc 1 248 14 discriminator 40 view .LVU63
173 0076 24EA0C05 bic r5, r4, ip
174 .LVL18:
249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** if ((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u)
175 .loc 1 249 9 is_stmt 1 discriminator 40 view .LVU64
176 .loc 1 249 23 is_stmt 0 discriminator 40 view .LVU65
177 007a 4E68 ldr r6, [r1, #4]
178 .loc 1 249 12 discriminator 40 view .LVU66
179 007c 16F4801F tst r6, #1048576
180 0080 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;
181 .loc 1 251 11 is_stmt 1 view .LVU67
182 .loc 1 251 16 is_stmt 0 view .LVU68
183 0082 4CEA0405 orr r5, ip, r4
184 .LVL19:
185 .L8:
252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** EXTI->RTSR = temp;
186 .loc 1 253 9 is_stmt 1 view .LVU69
187 .loc 1 253 20 is_stmt 0 view .LVU70
188 0086 594C ldr r4, .L31+4
189 0088 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;
190 .loc 1 255 9 is_stmt 1 view .LVU71
191 .loc 1 255 14 is_stmt 0 view .LVU72
192 008a E468 ldr r4, [r4, #12]
193 .LVL20:
256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
194 .loc 1 256 9 is_stmt 1 view .LVU73
195 .loc 1 256 14 is_stmt 0 view .LVU74
196 008c 02EA0405 and r5, r2, r4
197 .LVL21:
257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** if ((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u)
198 .loc 1 257 9 is_stmt 1 view .LVU75
199 .loc 1 257 23 is_stmt 0 view .LVU76
ARM GAS /tmp/ccw7msug.s page 9
200 0090 4E68 ldr r6, [r1, #4]
201 .loc 1 257 12 view .LVU77
202 0092 16F4001F tst r6, #2097152
203 0096 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;
204 .loc 1 259 11 is_stmt 1 view .LVU78
205 .loc 1 259 16 is_stmt 0 view .LVU79
206 0098 4CEA0405 orr r5, ip, r4
207 .LVL22:
208 .L9:
260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** EXTI->FTSR = temp;
209 .loc 1 261 9 is_stmt 1 view .LVU80
210 .loc 1 261 20 is_stmt 0 view .LVU81
211 009c 534C ldr r4, .L31+4
212 009e 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;
213 .loc 1 263 9 is_stmt 1 view .LVU82
214 .loc 1 263 14 is_stmt 0 view .LVU83
215 00a0 6468 ldr r4, [r4, #4]
216 .LVL23:
264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
217 .loc 1 264 9 is_stmt 1 view .LVU84
218 .loc 1 264 14 is_stmt 0 view .LVU85
219 00a2 02EA0405 and r5, r2, r4
220 .LVL24:
265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** if ((GPIO_Init->Mode & EXTI_EVT) != 0x00u)
221 .loc 1 265 9 is_stmt 1 view .LVU86
222 .loc 1 265 23 is_stmt 0 view .LVU87
223 00a6 4E68 ldr r6, [r1, #4]
224 .loc 1 265 12 view .LVU88
225 00a8 16F4003F tst r6, #131072
226 00ac 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;
227 .loc 1 267 11 is_stmt 1 view .LVU89
228 .loc 1 267 16 is_stmt 0 view .LVU90
229 00ae 4CEA0405 orr r5, ip, r4
230 .LVL25:
231 .L10:
268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** EXTI->EMR = temp;
232 .loc 1 269 9 is_stmt 1 view .LVU91
233 .loc 1 269 19 is_stmt 0 view .LVU92
234 00b2 4E4C ldr r4, .L31+4
235 00b4 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;
236 .loc 1 272 9 is_stmt 1 view .LVU93
237 .loc 1 272 14 is_stmt 0 view .LVU94
238 00b6 2468 ldr r4, [r4]
239 .LVL26:
273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
240 .loc 1 273 9 is_stmt 1 view .LVU95
ARM GAS /tmp/ccw7msug.s page 10
241 .loc 1 273 14 is_stmt 0 view .LVU96
242 00b8 2240 ands r2, r2, r4
243 .LVL27:
274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** if ((GPIO_Init->Mode & EXTI_IT) != 0x00u)
244 .loc 1 274 9 is_stmt 1 view .LVU97
245 .loc 1 274 23 is_stmt 0 view .LVU98
246 00ba 4D68 ldr r5, [r1, #4]
247 .loc 1 274 12 view .LVU99
248 00bc 15F4803F tst r5, #65536
249 00c0 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;
250 .loc 1 276 11 is_stmt 1 view .LVU100
251 .loc 1 276 16 is_stmt 0 view .LVU101
252 00c2 4CEA0402 orr r2, ip, r4
253 .LVL28:
254 .L11:
277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** EXTI->IMR = temp;
255 .loc 1 278 9 is_stmt 1 view .LVU102
256 .loc 1 278 19 is_stmt 0 view .LVU103
257 00c6 494C ldr r4, .L31+4
258 00c8 2260 str r2, [r4]
259 .LVL29:
260 .L3:
175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
261 .loc 1 175 46 is_stmt 1 discriminator 2 view .LVU104
175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
262 .loc 1 175 54 is_stmt 0 discriminator 2 view .LVU105
263 00ca 0133 adds r3, r3, #1
264 .LVL30:
175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
265 .loc 1 175 22 is_stmt 1 discriminator 2 view .LVU106
175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
266 .loc 1 175 3 is_stmt 0 discriminator 2 view .LVU107
267 00cc 0F2B cmp r3, #15
268 00ce 00F28880 bhi .L27
269 .LVL31:
270 .L12:
178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** /* Get the current IO position */
271 .loc 1 178 5 is_stmt 1 view .LVU108
178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** /* Get the current IO position */
272 .loc 1 178 16 is_stmt 0 view .LVU109
273 00d2 0122 movs r2, #1
274 00d4 9A40 lsls r2, r2, r3
275 .LVL32:
180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
276 .loc 1 180 5 is_stmt 1 view .LVU110
180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
277 .loc 1 180 37 is_stmt 0 view .LVU111
278 00d6 0C68 ldr r4, [r1]
180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
279 .loc 1 180 15 view .LVU112
280 00d8 04EA020C and ip, r4, r2
281 .LVL33:
182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
282 .loc 1 182 5 is_stmt 1 view .LVU113
ARM GAS /tmp/ccw7msug.s page 11
182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
283 .loc 1 182 8 is_stmt 0 view .LVU114
284 00dc 32EA0404 bics r4, r2, r4
285 00e0 F3D1 bne .L3
186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
286 .loc 1 186 7 is_stmt 1 view .LVU115
186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
287 .loc 1 186 22 is_stmt 0 view .LVU116
288 00e2 4C68 ldr r4, [r1, #4]
186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
289 .loc 1 186 29 view .LVU117
290 00e4 04F00304 and r4, r4, #3
186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
291 .loc 1 186 58 view .LVU118
292 00e8 013C subs r4, r4, #1
186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
293 .loc 1 186 10 view .LVU119
294 00ea 012C cmp r4, #1
295 00ec 8FD9 bls .L28
296 .LVL34:
297 .L4:
203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
298 .loc 1 203 7 is_stmt 1 view .LVU120
203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
299 .loc 1 203 21 is_stmt 0 view .LVU121
300 00ee 4A68 ldr r2, [r1, #4]
203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
301 .loc 1 203 28 view .LVU122
302 00f0 02F00302 and r2, r2, #3
203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
303 .loc 1 203 10 view .LVU123
304 00f4 032A cmp r2, #3
305 00f6 09D0 beq .L5
206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
306 .loc 1 206 9 is_stmt 1 view .LVU124
209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2));
307 .loc 1 209 9 view .LVU125
209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2));
308 .loc 1 209 14 is_stmt 0 view .LVU126
309 00f8 C468 ldr r4, [r0, #12]
310 .LVL35:
210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2));
311 .loc 1 210 9 is_stmt 1 view .LVU127
210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2));
312 .loc 1 210 50 is_stmt 0 view .LVU128
313 00fa 5D00 lsls r5, r3, #1
210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2));
314 .loc 1 210 37 view .LVU129
315 00fc 0322 movs r2, #3
316 00fe AA40 lsls r2, r2, r5
210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2));
317 .loc 1 210 14 view .LVU130
318 0100 24EA0204 bic r4, r4, r2
319 .LVL36:
211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->PUPDR = temp;
320 .loc 1 211 9 is_stmt 1 view .LVU131
211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->PUPDR = temp;
ARM GAS /tmp/ccw7msug.s page 12
321 .loc 1 211 28 is_stmt 0 view .LVU132
322 0104 8A68 ldr r2, [r1, #8]
211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->PUPDR = temp;
323 .loc 1 211 36 view .LVU133
324 0106 AA40 lsls r2, r2, r5
211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->PUPDR = temp;
325 .loc 1 211 14 view .LVU134
326 0108 2243 orrs r2, r2, r4
327 .LVL37:
212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
328 .loc 1 212 9 is_stmt 1 view .LVU135
212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
329 .loc 1 212 22 is_stmt 0 view .LVU136
330 010a C260 str r2, [r0, #12]
331 .LVL38:
332 .L5:
216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
333 .loc 1 216 7 is_stmt 1 view .LVU137
216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
334 .loc 1 216 21 is_stmt 0 view .LVU138
335 010c 4A68 ldr r2, [r1, #4]
216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
336 .loc 1 216 28 view .LVU139
337 010e 02F00302 and r2, r2, #3
216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
338 .loc 1 216 10 view .LVU140
339 0112 022A cmp r2, #2
340 0114 8FD0 beq .L29
341 .L6:
229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2));
342 .loc 1 229 7 is_stmt 1 view .LVU141
229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2));
343 .loc 1 229 12 is_stmt 0 view .LVU142
344 0116 0468 ldr r4, [r0]
345 .LVL39:
230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2));
346 .loc 1 230 7 is_stmt 1 view .LVU143
230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2));
347 .loc 1 230 48 is_stmt 0 view .LVU144
348 0118 4FEA430E lsl lr, r3, #1
230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2));
349 .loc 1 230 35 view .LVU145
350 011c 0322 movs r2, #3
351 011e 02FA0EF2 lsl r2, r2, lr
230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2));
352 .loc 1 230 12 view .LVU146
353 0122 24EA0204 bic r4, r4, r2
354 .LVL40:
231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->MODER = temp;
355 .loc 1 231 7 is_stmt 1 view .LVU147
231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->MODER = temp;
356 .loc 1 231 26 is_stmt 0 view .LVU148
357 0126 4A68 ldr r2, [r1, #4]
231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->MODER = temp;
358 .loc 1 231 33 view .LVU149
359 0128 02F00302 and r2, r2, #3
231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->MODER = temp;
ARM GAS /tmp/ccw7msug.s page 13
360 .loc 1 231 46 view .LVU150
361 012c 02FA0EF2 lsl r2, r2, lr
231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->MODER = temp;
362 .loc 1 231 12 view .LVU151
363 0130 2243 orrs r2, r2, r4
364 .LVL41:
232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
365 .loc 1 232 7 is_stmt 1 view .LVU152
232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
366 .loc 1 232 20 is_stmt 0 view .LVU153
367 0132 0260 str r2, [r0]
236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
368 .loc 1 236 7 is_stmt 1 view .LVU154
236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
369 .loc 1 236 21 is_stmt 0 view .LVU155
370 0134 4A68 ldr r2, [r1, #4]
371 .LVL42:
236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
372 .loc 1 236 10 view .LVU156
373 0136 12F4403F tst r2, #196608
374 013a C6D0 beq .L3
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
375 .loc 1 239 9 is_stmt 1 view .LVU157
376 .LBB2:
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
377 .loc 1 239 9 view .LVU158
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
378 .loc 1 239 9 view .LVU159
379 013c 2C4A ldr r2, .L31+8
380 013e 546C ldr r4, [r2, #68]
381 0140 44F48044 orr r4, r4, #16384
382 0144 5464 str r4, [r2, #68]
383 .LVL43:
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
384 .loc 1 239 9 view .LVU160
385 0146 526C ldr r2, [r2, #68]
386 0148 02F48042 and r2, r2, #16384
387 014c 0192 str r2, [sp, #4]
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
388 .loc 1 239 9 view .LVU161
389 014e 019A ldr r2, [sp, #4]
390 .LBE2:
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
391 .loc 1 239 9 view .LVU162
241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03)));
392 .loc 1 241 9 view .LVU163
241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03)));
393 .loc 1 241 40 is_stmt 0 view .LVU164
394 0150 9C08 lsrs r4, r3, #2
241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03)));
395 .loc 1 241 14 view .LVU165
396 0152 A51C adds r5, r4, #2
397 0154 244A ldr r2, .L31
398 0156 52F82550 ldr r5, [r2, r5, lsl #2]
399 .LVL44:
242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)));
400 .loc 1 242 9 is_stmt 1 view .LVU166
ARM GAS /tmp/ccw7msug.s page 14
242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)));
401 .loc 1 242 54 is_stmt 0 view .LVU167
402 015a 03F00302 and r2, r3, #3
242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)));
403 .loc 1 242 42 view .LVU168
404 015e 4FEA820E lsl lr, r2, #2
242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)));
405 .loc 1 242 36 view .LVU169
406 0162 0F22 movs r2, #15
407 0164 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)));
408 .loc 1 242 14 view .LVU170
409 0168 25EA0205 bic r5, r5, r2
410 .LVL45:
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
411 .loc 1 243 9 is_stmt 1 view .LVU171
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
412 .loc 1 243 18 is_stmt 0 view .LVU172
413 016c 214A ldr r2, .L31+12
414 016e 9042 cmp r0, r2
415 0170 3FF475AF beq .L13
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
416 .loc 1 243 29 discriminator 1 view .LVU173
417 0174 02F58062 add r2, r2, #1024
418 0178 9042 cmp r0, r2
419 017a 22D0 beq .L14
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
420 .loc 1 243 29 discriminator 3 view .LVU174
421 017c 02F58062 add r2, r2, #1024
422 0180 9042 cmp r0, r2
423 0182 20D0 beq .L15
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
424 .loc 1 243 29 discriminator 5 view .LVU175
425 0184 02F58062 add r2, r2, #1024
426 0188 9042 cmp r0, r2
427 018a 1ED0 beq .L16
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
428 .loc 1 243 29 discriminator 7 view .LVU176
429 018c 02F58062 add r2, r2, #1024
430 0190 9042 cmp r0, r2
431 0192 1CD0 beq .L17
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
432 .loc 1 243 29 discriminator 9 view .LVU177
433 0194 02F58062 add r2, r2, #1024
434 0198 9042 cmp r0, r2
435 019a 1AD0 beq .L18
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
436 .loc 1 243 29 discriminator 11 view .LVU178
437 019c 02F58062 add r2, r2, #1024
438 01a0 9042 cmp r0, r2
439 01a2 18D0 beq .L19
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
440 .loc 1 243 29 discriminator 13 view .LVU179
441 01a4 02F58062 add r2, r2, #1024
442 01a8 9042 cmp r0, r2
443 01aa 16D0 beq .L20
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
ARM GAS /tmp/ccw7msug.s page 15
444 .loc 1 243 29 discriminator 15 view .LVU180
445 01ac 02F58062 add r2, r2, #1024
446 01b0 9042 cmp r0, r2
447 01b2 14D0 beq .L21
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
448 .loc 1 243 29 discriminator 17 view .LVU181
449 01b4 02F58062 add r2, r2, #1024
450 01b8 9042 cmp r0, r2
451 01ba 3FF44EAF beq .L30
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
452 .loc 1 243 29 view .LVU182
453 01be 0A22 movs r2, #10
454 01c0 4EE7 b .L7
455 .L14:
456 01c2 0122 movs r2, #1
457 .LVL46:
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
458 .loc 1 243 29 view .LVU183
459 01c4 4CE7 b .L7
460 .LVL47:
461 .L15:
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] = temp;
462 .loc 1 243 29 view .LVU184
463 01c6 0222 movs r2, #2
464 01c8 4AE7 b .L7
465 .L16:
466 01ca 0322 movs r2, #3
467 01cc 48E7 b .L7
468 .L17:
469 01ce 0422 movs r2, #4
470 01d0 46E7 b .L7
471 .L18:
472 01d2 0522 movs r2, #5
473 01d4 44E7 b .L7
474 .L19:
475 01d6 0622 movs r2, #6
476 01d8 42E7 b .L7
477 .L20:
478 01da 0722 movs r2, #7
479 01dc 40E7 b .L7
480 .L21:
481 01de 0822 movs r2, #8
482 01e0 3EE7 b .L7
483 .LVL48:
484 .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 **** }
485 .loc 1 282 1 view .LVU185
486 01e2 02B0 add sp, sp, #8
487 .LCFI2:
488 .cfi_def_cfa_offset 16
489 @ sp needed
490 01e4 70BD pop {r4, r5, r6, pc}
491 .LVL49:
492 .L26:
ARM GAS /tmp/ccw7msug.s page 16
493 .LCFI3:
494 .cfi_def_cfa_offset 0
495 .cfi_restore 4
496 .cfi_restore 5
497 .cfi_restore 6
498 .cfi_restore 14
499 .loc 1 282 1 view .LVU186
500 01e6 7047 bx lr
501 .L32:
502 .align 2
503 .L31:
504 01e8 00380140 .word 1073821696
505 01ec 003C0140 .word 1073822720
506 01f0 00380240 .word 1073887232
507 01f4 00000240 .word 1073872896
508 .cfi_endproc
509 .LFE141:
511 .section .text.HAL_GPIO_DeInit,"ax",%progbits
512 .align 1
513 .global HAL_GPIO_DeInit
514 .syntax unified
515 .thumb
516 .thumb_func
517 .fpu fpv5-d16
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 .LVU188
294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** uint32_t ioposition = 0x00;
527 .loc 1 294 3 view .LVU189
295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** uint32_t iocurrent = 0x00;
528 .loc 1 295 3 view .LVU190
296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** uint32_t tmp = 0x00;
529 .loc 1 296 3 view .LVU191
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));
530 .loc 1 299 3 view .LVU192
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 .LVU193
ARM GAS /tmp/ccw7msug.s page 17
532 .loc 1 302 17 is_stmt 0 view .LVU194
533 0000 0023 movs r3, #0
534 .LVL51:
535 .loc 1 302 22 is_stmt 1 view .LVU195
536 .loc 1 302 3 is_stmt 0 view .LVU196
537 0002 0F2B cmp r3, #15
538 0004 00F29B80 bhi .L52
292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** uint32_t position;
539 .loc 1 292 1 view .LVU197
540 0008 F0B5 push {r4, r5, r6, r7, lr}
541 .LCFI4:
542 .cfi_def_cfa_offset 20
543 .cfi_offset 4, -20
544 .cfi_offset 5, -16
545 .cfi_offset 6, -12
546 .cfi_offset 7, -8
547 .cfi_offset 14, -4
548 000a 2DE0 b .L38
549 .LVL52:
550 .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))))
551 .loc 1 314 30 view .LVU198
552 000c 0925 movs r5, #9
553 000e 00E0 b .L36
554 .L39:
555 .loc 1 314 19 view .LVU199
556 0010 0025 movs r5, #0
557 .L36:
558 .loc 1 314 53 discriminator 40 view .LVU200
559 0012 05FA0CFC lsl ip, r5, ip
560 .loc 1 314 10 discriminator 40 view .LVU201
561 0016 A445 cmp ip, r4
562 0018 75D0 beq .L53
563 .LVL53:
564 .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);
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));
ARM GAS /tmp/ccw7msug.s page 18
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));
565 .loc 1 330 7 is_stmt 1 view .LVU202
566 .loc 1 330 20 is_stmt 0 view .LVU203
567 001a 0468 ldr r4, [r0]
568 .loc 1 330 56 view .LVU204
569 001c 5D00 lsls r5, r3, #1
570 .loc 1 330 43 view .LVU205
571 001e 4FF0030C mov ip, #3
572 0022 0CFA05FC lsl ip, ip, r5
573 .loc 1 330 20 view .LVU206
574 0026 24EA0C04 bic r4, r4, ip
575 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))
576 .loc 1 333 7 is_stmt 1 view .LVU207
577 .loc 1 333 33 is_stmt 0 view .LVU208
578 002c 4FEAD30E lsr lr, r3, #3
579 0030 0EF1080E add lr, lr, #8
580 0034 50F82E40 ldr r4, [r0, lr, lsl #2]
581 .loc 1 333 56 view .LVU209
582 0038 03F00705 and r5, r3, #7
583 .loc 1 333 94 view .LVU210
584 003c AE00 lsls r6, r5, #2
585 .loc 1 333 52 view .LVU211
586 003e 0F25 movs r5, #15
587 0040 B540 lsls r5, r5, r6
588 .loc 1 333 33 view .LVU212
589 0042 24EA0504 bic r4, r4, r5
590 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));
591 .loc 1 336 7 is_stmt 1 view .LVU213
592 .loc 1 336 20 is_stmt 0 view .LVU214
593 004a C468 ldr r4, [r0, #12]
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 .LVU215
597 .loc 1 339 22 is_stmt 0 view .LVU216
598 0052 4468 ldr r4, [r0, #4]
599 0054 24EA0202 bic r2, r4, r2
600 .LVL54:
601 .loc 1 339 22 view .LVU217
602 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));
603 .loc 1 342 7 is_stmt 1 view .LVU218
604 .loc 1 342 22 is_stmt 0 view .LVU219
ARM GAS /tmp/ccw7msug.s page 19
605 005a 8268 ldr r2, [r0, #8]
606 005c 22EA0C02 bic r2, r2, ip
607 0060 8260 str r2, [r0, #8]
608 .L35:
302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
609 .loc 1 302 46 is_stmt 1 discriminator 2 view .LVU220
302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
610 .loc 1 302 54 is_stmt 0 discriminator 2 view .LVU221
611 0062 0133 adds r3, r3, #1
612 .LVL55:
302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
613 .loc 1 302 22 is_stmt 1 discriminator 2 view .LVU222
302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
614 .loc 1 302 3 is_stmt 0 discriminator 2 view .LVU223
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 is_stmt 1 view .LVU224
305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** /* Get the current IO position */
620 .loc 1 305 16 is_stmt 0 view .LVU225
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 .LVU226
307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
625 .loc 1 307 15 is_stmt 0 view .LVU227
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 .LVU228
309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
629 .loc 1 309 8 is_stmt 0 view .LVU229
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 .LVU230
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 .LVU231
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 .LVU232
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 .LVU233
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 .LVU234
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))))
643 .loc 1 313 38 view .LVU235
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))))
ARM GAS /tmp/ccw7msug.s page 20
645 .loc 1 313 32 view .LVU236
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 .LVU237
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 .LVU238
314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
652 .loc 1 314 19 is_stmt 0 view .LVU239
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 .LVU240
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 .LVU241
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 .LVU242
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 .LVU243
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 .LVU244
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 .LVU245
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 .LVU246
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 .LVU247
685 00d2 05F58065 add r5, r5, #1024
686 00d6 A842 cmp r0, r5
687 00d8 13D0 beq .L47
314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
688 .loc 1 314 30 discriminator 17 view .LVU248
689 00da 05F58065 add r5, r5, #1024
ARM GAS /tmp/ccw7msug.s page 21
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 view .LVU249
693 00e2 0A25 movs r5, #10
694 00e4 95E7 b .L36
695 .L40:
696 00e6 0125 movs r5, #1
697 00e8 93E7 b .L36
698 .L41:
699 00ea 0225 movs r5, #2
700 00ec 91E7 b .L36
701 .L42:
702 00ee 0325 movs r5, #3
703 00f0 8FE7 b .L36
704 .L43:
705 00f2 0425 movs r5, #4
706 00f4 8DE7 b .L36
707 .L44:
708 00f6 0525 movs r5, #5
709 00f8 8BE7 b .L36
710 .L45:
711 00fa 0625 movs r5, #6
712 00fc 89E7 b .L36
713 .L46:
714 00fe 0725 movs r5, #7
715 0100 87E7 b .L36
716 .L47:
717 0102 0825 movs r5, #8
718 0104 85E7 b .L36
719 .L53:
317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
720 .loc 1 317 9 is_stmt 1 view .LVU250
317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
721 .loc 1 317 19 is_stmt 0 view .LVU251
722 0106 104C ldr r4, .L56+8
723 .LVL61:
317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
724 .loc 1 317 19 view .LVU252
725 0108 2568 ldr r5, [r4]
726 010a 25EA0605 bic r5, r5, r6
727 010e 2560 str r5, [r4]
318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
728 .loc 1 318 9 is_stmt 1 view .LVU253
318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
729 .loc 1 318 19 is_stmt 0 view .LVU254
730 0110 6568 ldr r5, [r4, #4]
731 0112 25EA0605 bic r5, r5, r6
732 0116 6560 str r5, [r4, #4]
321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
733 .loc 1 321 9 is_stmt 1 view .LVU255
321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
734 .loc 1 321 20 is_stmt 0 view .LVU256
735 0118 E568 ldr r5, [r4, #12]
736 011a 25EA0605 bic r5, r5, r6
737 011e E560 str r5, [r4, #12]
322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
ARM GAS /tmp/ccw7msug.s page 22
738 .loc 1 322 9 is_stmt 1 view .LVU257
322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
739 .loc 1 322 20 is_stmt 0 view .LVU258
740 0120 A568 ldr r5, [r4, #8]
741 0122 25EA0606 bic r6, r5, r6
742 .LVL62:
322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
743 .loc 1 322 20 view .LVU259
744 0126 A660 str r6, [r4, #8]
325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2] &= ~tmp;
745 .loc 1 325 9 is_stmt 1 view .LVU260
746 .LVL63:
326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
747 .loc 1 326 9 view .LVU261
326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
748 .loc 1 326 39 is_stmt 0 view .LVU262
749 0128 054E ldr r6, .L56
750 012a 0EF10204 add r4, lr, #2
751 012e 56F82450 ldr r5, [r6, r4, lsl #2]
752 0132 25EA0705 bic r5, r5, r7
753 0136 46F82450 str r5, [r6, r4, lsl #2]
754 013a 6EE7 b .L37
755 .LVL64:
756 .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 **** }
757 .loc 1 345 1 view .LVU263
758 013c F0BD pop {r4, r5, r6, r7, pc}
759 .LVL65:
760 .L52:
761 .LCFI5:
762 .cfi_def_cfa_offset 0
763 .cfi_restore 4
764 .cfi_restore 5
765 .cfi_restore 6
766 .cfi_restore 7
767 .cfi_restore 14
768 .loc 1 345 1 view .LVU264
769 013e 7047 bx lr
770 .L57:
771 .align 2
772 .L56:
773 0140 00380140 .word 1073821696
774 0144 00000240 .word 1073872896
775 0148 003C0140 .word 1073822720
776 .cfi_endproc
777 .LFE142:
779 .section .text.HAL_GPIO_ReadPin,"ax",%progbits
780 .align 1
781 .global HAL_GPIO_ReadPin
782 .syntax unified
783 .thumb
784 .thumb_func
785 .fpu fpv5-d16
787 HAL_GPIO_ReadPin:
788 .LVL66:
ARM GAS /tmp/ccw7msug.s page 23
789 .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 **** {
790 .loc 1 371 1 is_stmt 1 view -0
791 .cfi_startproc
792 @ args = 0, pretend = 0, frame = 0
793 @ frame_needed = 0, uses_anonymous_args = 0
794 @ link register save eliminated.
372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIO_PinState bitstatus;
795 .loc 1 372 3 view .LVU266
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));
796 .loc 1 375 3 view .LVU267
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)
797 .loc 1 377 3 view .LVU268
798 .loc 1 377 13 is_stmt 0 view .LVU269
799 0000 0369 ldr r3, [r0, #16]
800 .loc 1 377 6 view .LVU270
801 0002 1942 tst r1, r3
802 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;
803 .loc 1 379 15 view .LVU271
804 0006 0120 movs r0, #1
805 .LVL67:
806 .loc 1 379 15 view .LVU272
807 0008 7047 bx lr
808 .LVL68:
809 .L60:
380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** else
ARM GAS /tmp/ccw7msug.s page 24
382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** bitstatus = GPIO_PIN_RESET;
810 .loc 1 383 15 view .LVU273
811 000a 0020 movs r0, #0
812 .LVL69:
384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** return bitstatus;
813 .loc 1 385 3 is_stmt 1 view .LVU274
386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
814 .loc 1 386 1 is_stmt 0 view .LVU275
815 000c 7047 bx lr
816 .cfi_endproc
817 .LFE143:
819 .section .text.HAL_GPIO_WritePin,"ax",%progbits
820 .align 1
821 .global HAL_GPIO_WritePin
822 .syntax unified
823 .thumb
824 .thumb_func
825 .fpu fpv5-d16
827 HAL_GPIO_WritePin:
828 .LVL70:
829 .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.
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 **** {
830 .loc 1 405 1 is_stmt 1 view -0
831 .cfi_startproc
832 @ args = 0, pretend = 0, frame = 0
833 @ frame_needed = 0, uses_anonymous_args = 0
834 @ 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));
835 .loc 1 407 3 view .LVU277
408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState));
836 .loc 1 408 3 view .LVU278
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)
837 .loc 1 410 3 view .LVU279
838 .loc 1 410 6 is_stmt 0 view .LVU280
839 0000 0AB1 cbz r2, .L62
ARM GAS /tmp/ccw7msug.s page 25
411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** GPIOx->BSRR = GPIO_Pin;
840 .loc 1 412 5 is_stmt 1 view .LVU281
841 .loc 1 412 17 is_stmt 0 view .LVU282
842 0002 8161 str r1, [r0, #24]
843 0004 7047 bx lr
844 .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;
845 .loc 1 416 5 is_stmt 1 view .LVU283
846 .loc 1 416 38 is_stmt 0 view .LVU284
847 0006 0904 lsls r1, r1, #16
848 .LVL71:
849 .loc 1 416 17 view .LVU285
850 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 **** }
851 .loc 1 418 1 view .LVU286
852 000a 7047 bx lr
853 .cfi_endproc
854 .LFE144:
856 .section .text.HAL_GPIO_TogglePin,"ax",%progbits
857 .align 1
858 .global HAL_GPIO_TogglePin
859 .syntax unified
860 .thumb
861 .thumb_func
862 .fpu fpv5-d16
864 HAL_GPIO_TogglePin:
865 .LVL72:
866 .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 **** {
867 .loc 1 428 1 is_stmt 1 view -0
868 .cfi_startproc
869 @ args = 0, pretend = 0, frame = 0
870 @ frame_needed = 0, uses_anonymous_args = 0
871 @ link register save eliminated.
429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** uint32_t odr;
872 .loc 1 429 3 view .LVU288
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));
873 .loc 1 432 3 view .LVU289
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;
ARM GAS /tmp/ccw7msug.s page 26
874 .loc 1 435 3 view .LVU290
875 .loc 1 435 7 is_stmt 0 view .LVU291
876 0000 4369 ldr r3, [r0, #20]
877 .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);
878 .loc 1 438 3 is_stmt 1 view .LVU292
879 .loc 1 438 23 is_stmt 0 view .LVU293
880 0002 01EA0302 and r2, r1, r3
881 .loc 1 438 59 view .LVU294
882 0006 21EA0301 bic r1, r1, r3
883 .LVL74:
884 .loc 1 438 51 view .LVU295
885 000a 41EA0241 orr r1, r1, r2, lsl #16
886 .loc 1 438 15 view .LVU296
887 000e 8161 str r1, [r0, #24]
439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
888 .loc 1 439 1 view .LVU297
889 0010 7047 bx lr
890 .cfi_endproc
891 .LFE145:
893 .section .text.HAL_GPIO_LockPin,"ax",%progbits
894 .align 1
895 .global HAL_GPIO_LockPin
896 .syntax unified
897 .thumb
898 .thumb_func
899 .fpu fpv5-d16
901 HAL_GPIO_LockPin:
902 .LVL75:
903 .LFB146:
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 **** {
904 .loc 1 453 1 is_stmt 1 view -0
905 .cfi_startproc
906 @ args = 0, pretend = 0, frame = 8
907 @ frame_needed = 0, uses_anonymous_args = 0
908 @ link register save eliminated.
909 .loc 1 453 1 is_stmt 0 view .LVU299
910 0000 82B0 sub sp, sp, #8
911 .LCFI6:
912 .cfi_def_cfa_offset 8
454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK;
913 .loc 1 454 3 is_stmt 1 view .LVU300
ARM GAS /tmp/ccw7msug.s page 27
914 .loc 1 454 17 is_stmt 0 view .LVU301
915 0002 4FF48033 mov r3, #65536
916 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));
917 .loc 1 457 3 is_stmt 1 view .LVU302
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;
918 .loc 1 460 3 view .LVU303
919 .loc 1 460 7 is_stmt 0 view .LVU304
920 0008 019B ldr r3, [sp, #4]
921 000a 0B43 orrs r3, r3, r1
922 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;
923 .loc 1 462 3 is_stmt 1 view .LVU305
924 .loc 1 462 15 is_stmt 0 view .LVU306
925 000e 019B ldr r3, [sp, #4]
926 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;
927 .loc 1 464 3 is_stmt 1 view .LVU307
928 .loc 1 464 15 is_stmt 0 view .LVU308
929 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;
930 .loc 1 466 3 is_stmt 1 view .LVU309
931 .loc 1 466 15 is_stmt 0 view .LVU310
932 0014 019B ldr r3, [sp, #4]
933 0016 C361 str r3, [r0, #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;
934 .loc 1 468 3 is_stmt 1 view .LVU311
935 .loc 1 468 14 is_stmt 0 view .LVU312
936 0018 C369 ldr r3, [r0, #28]
937 .loc 1 468 7 view .LVU313
938 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)
939 .loc 1 471 3 is_stmt 1 view .LVU314
940 .loc 1 471 13 is_stmt 0 view .LVU315
941 001c C369 ldr r3, [r0, #28]
942 .loc 1 471 6 view .LVU316
943 001e 13F4803F tst r3, #65536
944 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;
945 .loc 1 473 12 view .LVU317
946 0024 0020 movs r0, #0
947 .LVL76:
948 .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 **** {
ARM GAS /tmp/ccw7msug.s page 28
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 **** }
949 .loc 1 479 1 view .LVU318
950 0026 02B0 add sp, sp, #8
951 .LCFI7:
952 .cfi_remember_state
953 .cfi_def_cfa_offset 0
954 @ sp needed
955 0028 7047 bx lr
956 .LVL77:
957 .L67:
958 .LCFI8:
959 .cfi_restore_state
477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
960 .loc 1 477 12 view .LVU319
961 002a 0120 movs r0, #1
962 .LVL78:
477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
963 .loc 1 477 12 view .LVU320
964 002c FBE7 b .L66
965 .cfi_endproc
966 .LFE146:
968 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits
969 .align 1
970 .weak HAL_GPIO_EXTI_Callback
971 .syntax unified
972 .thumb
973 .thumb_func
974 .fpu fpv5-d16
976 HAL_GPIO_EXTI_Callback:
977 .LVL79:
978 .LFB148:
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 **** {
979 .loc 1 502 1 is_stmt 1 view -0
ARM GAS /tmp/ccw7msug.s page 29
980 .cfi_startproc
981 @ args = 0, pretend = 0, frame = 0
982 @ frame_needed = 0, uses_anonymous_args = 0
983 @ 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);
984 .loc 1 504 3 view .LVU322
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 **** }
985 .loc 1 509 1 is_stmt 0 view .LVU323
986 0000 7047 bx lr
987 .cfi_endproc
988 .LFE148:
990 .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
991 .align 1
992 .global HAL_GPIO_EXTI_IRQHandler
993 .syntax unified
994 .thumb
995 .thumb_func
996 .fpu fpv5-d16
998 HAL_GPIO_EXTI_IRQHandler:
999 .LVL80:
1000 .LFB147:
487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** /* EXTI line interrupt detected */
1001 .loc 1 487 1 is_stmt 1 view -0
1002 .cfi_startproc
1003 @ args = 0, pretend = 0, frame = 0
1004 @ frame_needed = 0, uses_anonymous_args = 0
487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** /* EXTI line interrupt detected */
1005 .loc 1 487 1 is_stmt 0 view .LVU325
1006 0000 08B5 push {r3, lr}
1007 .LCFI9:
1008 .cfi_def_cfa_offset 8
1009 .cfi_offset 3, -8
1010 .cfi_offset 14, -4
489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
1011 .loc 1 489 3 is_stmt 1 view .LVU326
489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
1012 .loc 1 489 7 is_stmt 0 view .LVU327
1013 0002 054B ldr r3, .L74
1014 0004 5B69 ldr r3, [r3, #20]
489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** {
1015 .loc 1 489 6 view .LVU328
1016 0006 0342 tst r3, r0
1017 0008 00D1 bne .L73
1018 .LVL81:
1019 .L70:
494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
1020 .loc 1 494 1 view .LVU329
1021 000a 08BD pop {r3, pc}
1022 .LVL82:
1023 .L73:
491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
1024 .loc 1 491 5 is_stmt 1 view .LVU330
ARM GAS /tmp/ccw7msug.s page 30
1025 000c 024B ldr r3, .L74
1026 000e 5861 str r0, [r3, #20]
492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c **** }
1027 .loc 1 492 5 view .LVU331
1028 0010 FFF7FEFF bl HAL_GPIO_EXTI_Callback
1029 .LVL83:
494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c ****
1030 .loc 1 494 1 is_stmt 0 view .LVU332
1031 0014 F9E7 b .L70
1032 .L75:
1033 0016 00BF .align 2
1034 .L74:
1035 0018 003C0140 .word 1073822720
1036 .cfi_endproc
1037 .LFE147:
1039 .text
1040 .Letext0:
1041 .file 2 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h"
1042 .file 3 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h"
1043 .file 4 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f7xx.h"
1044 .file 5 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h"
1045 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_gpio.h"
ARM GAS /tmp/ccw7msug.s page 31
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f7xx_hal_gpio.c
/tmp/ccw7msug.s:17 .text.HAL_GPIO_Init:0000000000000000 $t
/tmp/ccw7msug.s:25 .text.HAL_GPIO_Init:0000000000000000 HAL_GPIO_Init
/tmp/ccw7msug.s:504 .text.HAL_GPIO_Init:00000000000001e8 $d
/tmp/ccw7msug.s:512 .text.HAL_GPIO_DeInit:0000000000000000 $t
/tmp/ccw7msug.s:519 .text.HAL_GPIO_DeInit:0000000000000000 HAL_GPIO_DeInit
/tmp/ccw7msug.s:773 .text.HAL_GPIO_DeInit:0000000000000140 $d
/tmp/ccw7msug.s:780 .text.HAL_GPIO_ReadPin:0000000000000000 $t
/tmp/ccw7msug.s:787 .text.HAL_GPIO_ReadPin:0000000000000000 HAL_GPIO_ReadPin
/tmp/ccw7msug.s:820 .text.HAL_GPIO_WritePin:0000000000000000 $t
/tmp/ccw7msug.s:827 .text.HAL_GPIO_WritePin:0000000000000000 HAL_GPIO_WritePin
/tmp/ccw7msug.s:857 .text.HAL_GPIO_TogglePin:0000000000000000 $t
/tmp/ccw7msug.s:864 .text.HAL_GPIO_TogglePin:0000000000000000 HAL_GPIO_TogglePin
/tmp/ccw7msug.s:894 .text.HAL_GPIO_LockPin:0000000000000000 $t
/tmp/ccw7msug.s:901 .text.HAL_GPIO_LockPin:0000000000000000 HAL_GPIO_LockPin
/tmp/ccw7msug.s:969 .text.HAL_GPIO_EXTI_Callback:0000000000000000 $t
/tmp/ccw7msug.s:976 .text.HAL_GPIO_EXTI_Callback:0000000000000000 HAL_GPIO_EXTI_Callback
/tmp/ccw7msug.s:991 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 $t
/tmp/ccw7msug.s:998 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 HAL_GPIO_EXTI_IRQHandler
/tmp/ccw7msug.s:1035 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000018 $d
NO UNDEFINED SYMBOLS