Files
squeow/squeow_sw/build/stm32g4xx_hal_gpio.lst
2023-07-02 17:09:41 +02:00

1692 lines
101 KiB
Plaintext
Raw Blame History

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