mv-bms/Software/build/stm32f3xx_hal_gpio.lst

1843 lines
97 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

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

ARM GAS /tmp/cc63nak4.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, 6
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f3xx_hal_gpio.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c"
20 .section .text.HAL_GPIO_Init,"ax",%progbits
21 .align 1
22 .global HAL_GPIO_Init
23 .syntax unified
24 .thumb
25 .thumb_func
27 HAL_GPIO_Init:
28 .LFB130:
1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ******************************************************************************
3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @file stm32f3xx_hal_gpio.c
4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @author MCD Application Team
5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief GPIO HAL module driver.
6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * functionalities of the General Purpose Input/Output (GPIO) peripheral:
8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * + IO operation functions
10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ******************************************************************************
12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @attention
13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * Copyright (c) 2016 STMicroelectronics.
15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * All rights reserved.
16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This software is licensed under terms that can be found in the LICENSE file
18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * in the root directory of this software component.
19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ******************************************************************************
22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @verbatim
23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ==============================================================================
24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ##### GPIO Peripheral features #####
25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ==============================================================================
26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** [..]
27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) Each port bit of the general-purpose I/O (GPIO) ports can be individually
28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** configured by software in several modes:
29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Input mode
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Analog mode
ARM GAS /tmp/cc63nak4.s page 2
31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Output mode
32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Alternate function mode
33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) External interrupt/event lines
34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) During and just after reset, the alternate functions and external interrupt
36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** lines are not active and the I/O ports are configured in input floating mode.
37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) All GPIO pins have weak internal pull-up and pull-down resistors, which can be
39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** activated or not.
40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) In Output or Alternate mode, each IO can be configured on open-drain or push-pull
42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** type and the IO speed can be selected depending on the VDD value.
43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) The microcontroller IO pins are connected to onboard peripherals/modules through a
45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** multiplexer that allows only one peripheral alternate function (AF) connected
46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** to an IO pin at a time. In this way, there can be no conflict between peripherals
47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** sharing the same IO pin.
48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) All ports have external interrupt/event capability. To use external interrupt
50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** lines, the port must be configured in input mode. All available GPIO pins are
51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** connected to the 16 external interrupt/event lines from EXTI0 to EXTI15.
52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) The external interrupt/event controller consists of up to 23 edge detectors
54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (16 lines are connected to GPIO) for generating event/interrupt requests (each
55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** input line can be independently configured to select the type (interrupt or event)
56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** and the corresponding trigger event (rising or falling or both). Each line can
57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** also be masked independently.
58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ##### How to use this driver #####
60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ==============================================================================
61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** [..]
62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) Enable the GPIO AHB clock using the following function: __HAL_RCC_GPIOx_CLK_ENABLE().
63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) Configure the GPIO pin(s) using HAL_GPIO_Init().
65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure
66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef
67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** structure.
68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) In case of Output or alternate function mode selection: the speed is
69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** configured through "Speed" member from GPIO_InitTypeDef structure.
70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) In alternate mode is selection, the alternate function connected to the IO
71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** is configured through "Alternate" member from GPIO_InitTypeDef structure.
72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Analog mode is required when a pin is to be used as ADC channel
73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** or DAC output.
74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) In case of external interrupt/event selection the "Mode" member from
75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_InitTypeDef structure select the type (interrupt or event) and
76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** the corresponding trigger event (rising or falling or both).
77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority
79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using
80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_NVIC_EnableIRQ().
81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin().
83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To set/reset the level of a pin configured in output mode use
85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_WritePin()/HAL_GPIO_TogglePin().
86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
ARM GAS /tmp/cc63nak4.s page 3
88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) During and just after reset, the alternate functions are not
90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** active and the GPIO pins are configured in input floating mode (except JTAG
91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** pins).
92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose
94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (PC14 and PC15U, respectively) when the LSE oscillator is off. The LSE has
95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** priority over the GPIO function.
96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** general purpose PF0 and PF1, respectively, when the HSE oscillator is off.
99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** The HSE has priority over the GPIO function.
100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @endverbatim
102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ******************************************************************************
103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** #include "stm32f3xx_hal.h"
107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @addtogroup STM32F3xx_HAL_Driver
109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO GPIO
113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief GPIO HAL module driver
114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** MISRA C:2012 deviation rule has been granted for following rules:
118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * Rule-18.1_d - Medium: Array pointer `GPIOx' is accessed with index [..,..]
119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * which may be out of array bounds [..,UNKNOWN] in following APIs:
120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * HAL_GPIO_Init
121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * HAL_GPIO_DeInit
122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private defines -----------------------------------------------------------*/
128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @addtogroup GPIO_Private_Constants
129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** #define GPIO_NUMBER (16U)
132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @}
134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/
137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/
138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Private_Macros GPIO Private Macros
139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @}
143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
ARM GAS /tmp/cc63nak4.s page 4
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization/de-initialization functions
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Initialization and Configuration functions
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @verbatim
156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ===============================================================================
157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ##### Initialization and de-initialization functions #####
158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ===============================================================================
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @endverbatim
161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Initialize the GPIOx peripheral according to the specified parameters in the GPIO_Init.
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family devices
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * the configuration information for the specified GPIO peripheral.
169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
29 .loc 1 172 1
30 .cfi_startproc
31 @ args = 0, pretend = 0, frame = 24
32 @ frame_needed = 1, uses_anonymous_args = 0
33 @ link register save eliminated.
34 0000 80B4 push {r7}
35 .cfi_def_cfa_offset 4
36 .cfi_offset 7, -4
37 0002 87B0 sub sp, sp, #28
38 .cfi_def_cfa_offset 32
39 0004 00AF add r7, sp, #0
40 .cfi_def_cfa_register 7
41 0006 7860 str r0, [r7, #4]
42 0008 3960 str r1, [r7]
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u;
43 .loc 1 173 12
44 000a 0023 movs r3, #0
45 000c 7B61 str r3, [r7, #20]
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t temp;
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the port pins */
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** while (((GPIO_Init->Pin) >> position) != 0x00u)
46 .loc 1 183 9
ARM GAS /tmp/cc63nak4.s page 5
47 000e 54E1 b .L2
48 .L22:
184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Get current io position */
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** iocurrent = (GPIO_Init->Pin) & (1uL << position);
49 .loc 1 186 27
50 0010 3B68 ldr r3, [r7]
51 0012 1A68 ldr r2, [r3]
52 .loc 1 186 41
53 0014 0121 movs r1, #1
54 0016 7B69 ldr r3, [r7, #20]
55 0018 01FA03F3 lsl r3, r1, r3
56 .loc 1 186 15
57 001c 1340 ands r3, r3, r2
58 001e FB60 str r3, [r7, #12]
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (iocurrent != 0x00u)
59 .loc 1 188 8
60 0020 FB68 ldr r3, [r7, #12]
61 0022 002B cmp r3, #0
62 0024 00F04681 beq .L3
189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*--------------------- GPIO Mode Configuration ------------------------*/
191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* In case of Output or Alternate function mode selection */
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if(((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_A
63 .loc 1 192 21
64 0028 3B68 ldr r3, [r7]
65 002a 5B68 ldr r3, [r3, #4]
66 .loc 1 192 28
67 002c 03F00303 and r3, r3, #3
68 .loc 1 192 9
69 0030 012B cmp r3, #1
70 0032 05D0 beq .L4
71 .loc 1 192 71 discriminator 1
72 0034 3B68 ldr r3, [r7]
73 0036 5B68 ldr r3, [r3, #4]
74 .loc 1 192 78 discriminator 1
75 0038 03F00303 and r3, r3, #3
76 .loc 1 192 57 discriminator 1
77 003c 022B cmp r3, #2
78 003e 30D1 bne .L5
79 .L4:
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the Speed parameter */
195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the IO Speed */
197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->OSPEEDR;
80 .loc 1 197 14
81 0040 7B68 ldr r3, [r7, #4]
82 0042 9B68 ldr r3, [r3, #8]
83 0044 3B61 str r3, [r7, #16]
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
84 .loc 1 198 55
85 0046 7B69 ldr r3, [r7, #20]
86 0048 5B00 lsls r3, r3, #1
87 .loc 1 198 42
88 004a 0322 movs r2, #3
ARM GAS /tmp/cc63nak4.s page 6
89 004c 02FA03F3 lsl r3, r2, r3
90 .loc 1 198 17
91 0050 DB43 mvns r3, r3
92 .loc 1 198 14
93 0052 3A69 ldr r2, [r7, #16]
94 0054 1340 ands r3, r3, r2
95 0056 3B61 str r3, [r7, #16]
199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u));
96 .loc 1 199 27
97 0058 3B68 ldr r3, [r7]
98 005a DA68 ldr r2, [r3, #12]
99 .loc 1 199 48
100 005c 7B69 ldr r3, [r7, #20]
101 005e 5B00 lsls r3, r3, #1
102 .loc 1 199 35
103 0060 02FA03F3 lsl r3, r2, r3
104 .loc 1 199 14
105 0064 3A69 ldr r2, [r7, #16]
106 0066 1343 orrs r3, r3, r2
107 0068 3B61 str r3, [r7, #16]
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
108 .loc 1 200 24
109 006a 7B68 ldr r3, [r7, #4]
110 006c 3A69 ldr r2, [r7, #16]
111 006e 9A60 str r2, [r3, #8]
201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the IO Output Type */
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->OTYPER;
112 .loc 1 203 14
113 0070 7B68 ldr r3, [r7, #4]
114 0072 5B68 ldr r3, [r3, #4]
115 0074 3B61 str r3, [r7, #16]
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
116 .loc 1 204 36
117 0076 0122 movs r2, #1
118 0078 7B69 ldr r3, [r7, #20]
119 007a 02FA03F3 lsl r3, r2, r3
120 .loc 1 204 17
121 007e DB43 mvns r3, r3
122 .loc 1 204 14
123 0080 3A69 ldr r2, [r7, #16]
124 0082 1340 ands r3, r3, r2
125 0084 3B61 str r3, [r7, #16]
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position);
126 .loc 1 205 29
127 0086 3B68 ldr r3, [r7]
128 0088 5B68 ldr r3, [r3, #4]
129 .loc 1 205 51
130 008a 1B09 lsrs r3, r3, #4
131 008c 03F00102 and r2, r3, #1
132 .loc 1 205 71
133 0090 7B69 ldr r3, [r7, #20]
134 0092 02FA03F3 lsl r3, r2, r3
135 .loc 1 205 14
136 0096 3A69 ldr r2, [r7, #16]
137 0098 1343 orrs r3, r3, r2
138 009a 3B61 str r3, [r7, #16]
ARM GAS /tmp/cc63nak4.s page 7
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER = temp;
139 .loc 1 206 23
140 009c 7B68 ldr r3, [r7, #4]
141 009e 3A69 ldr r2, [r7, #16]
142 00a0 5A60 str r2, [r3, #4]
143 .L5:
207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG)
144 .loc 1 209 20
145 00a2 3B68 ldr r3, [r7]
146 00a4 5B68 ldr r3, [r3, #4]
147 .loc 1 209 27
148 00a6 03F00303 and r3, r3, #3
149 .loc 1 209 9
150 00aa 032B cmp r3, #3
151 00ac 17D0 beq .L6
210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the Pull parameter */
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Activate the Pull-up or Pull down resistor for the current IO */
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->PUPDR;
152 .loc 1 215 14
153 00ae 7B68 ldr r3, [r7, #4]
154 00b0 DB68 ldr r3, [r3, #12]
155 00b2 3B61 str r3, [r7, #16]
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
156 .loc 1 216 50
157 00b4 7B69 ldr r3, [r7, #20]
158 00b6 5B00 lsls r3, r3, #1
159 .loc 1 216 37
160 00b8 0322 movs r2, #3
161 00ba 02FA03F3 lsl r3, r2, r3
162 .loc 1 216 17
163 00be DB43 mvns r3, r3
164 .loc 1 216 14
165 00c0 3A69 ldr r2, [r7, #16]
166 00c2 1340 ands r3, r3, r2
167 00c4 3B61 str r3, [r7, #16]
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
168 .loc 1 217 28
169 00c6 3B68 ldr r3, [r7]
170 00c8 9A68 ldr r2, [r3, #8]
171 .loc 1 217 49
172 00ca 7B69 ldr r3, [r7, #20]
173 00cc 5B00 lsls r3, r3, #1
174 .loc 1 217 36
175 00ce 02FA03F3 lsl r3, r2, r3
176 .loc 1 217 14
177 00d2 3A69 ldr r2, [r7, #16]
178 00d4 1343 orrs r3, r3, r2
179 00d6 3B61 str r3, [r7, #16]
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
180 .loc 1 218 22
181 00d8 7B68 ldr r3, [r7, #4]
182 00da 3A69 ldr r2, [r7, #16]
ARM GAS /tmp/cc63nak4.s page 8
183 00dc DA60 str r2, [r3, #12]
184 .L6:
219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*--------------------- GPIO Mode Configuration ------------------------*/
222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* In case of Alternate function mode selection */
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)
185 .loc 1 223 20
186 00de 3B68 ldr r3, [r7]
187 00e0 5B68 ldr r3, [r3, #4]
188 .loc 1 223 27
189 00e2 03F00303 and r3, r3, #3
190 .loc 1 223 9
191 00e6 022B cmp r3, #2
192 00e8 23D1 bne .L7
224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the Alternate function parameters */
226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF_INSTANCE(GPIOx));
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure Alternate function mapped with the current IO */
230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->AFR[position >> 3u];
193 .loc 1 230 36
194 00ea 7B69 ldr r3, [r7, #20]
195 00ec DA08 lsrs r2, r3, #3
196 .loc 1 230 14
197 00ee 7B68 ldr r3, [r7, #4]
198 00f0 0832 adds r2, r2, #8
199 00f2 53F82230 ldr r3, [r3, r2, lsl #2]
200 00f6 3B61 str r3, [r7, #16]
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u));
201 .loc 1 231 38
202 00f8 7B69 ldr r3, [r7, #20]
203 00fa 03F00703 and r3, r3, #7
204 .loc 1 231 47
205 00fe 9B00 lsls r3, r3, #2
206 .loc 1 231 24
207 0100 0F22 movs r2, #15
208 0102 02FA03F3 lsl r3, r2, r3
209 .loc 1 231 17
210 0106 DB43 mvns r3, r3
211 .loc 1 231 14
212 0108 3A69 ldr r2, [r7, #16]
213 010a 1340 ands r3, r3, r2
214 010c 3B61 str r3, [r7, #16]
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u));
215 .loc 1 232 28
216 010e 3B68 ldr r3, [r7]
217 0110 1A69 ldr r2, [r3, #16]
218 .loc 1 232 55
219 0112 7B69 ldr r3, [r7, #20]
220 0114 03F00703 and r3, r3, #7
221 .loc 1 232 64
222 0118 9B00 lsls r3, r3, #2
223 .loc 1 232 41
224 011a 02FA03F3 lsl r3, r2, r3
225 .loc 1 232 14
ARM GAS /tmp/cc63nak4.s page 9
226 011e 3A69 ldr r2, [r7, #16]
227 0120 1343 orrs r3, r3, r2
228 0122 3B61 str r3, [r7, #16]
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp;
229 .loc 1 233 29
230 0124 7B69 ldr r3, [r7, #20]
231 0126 DA08 lsrs r2, r3, #3
232 .loc 1 233 36
233 0128 7B68 ldr r3, [r7, #4]
234 012a 0832 adds r2, r2, #8
235 012c 3969 ldr r1, [r7, #16]
236 012e 43F82210 str r1, [r3, r2, lsl #2]
237 .L7:
234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->MODER;
238 .loc 1 237 12
239 0132 7B68 ldr r3, [r7, #4]
240 0134 1B68 ldr r3, [r3]
241 0136 3B61 str r3, [r7, #16]
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
242 .loc 1 238 48
243 0138 7B69 ldr r3, [r7, #20]
244 013a 5B00 lsls r3, r3, #1
245 .loc 1 238 35
246 013c 0322 movs r2, #3
247 013e 02FA03F3 lsl r3, r2, r3
248 .loc 1 238 15
249 0142 DB43 mvns r3, r3
250 .loc 1 238 12
251 0144 3A69 ldr r2, [r7, #16]
252 0146 1340 ands r3, r3, r2
253 0148 3B61 str r3, [r7, #16]
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
254 .loc 1 239 26
255 014a 3B68 ldr r3, [r7]
256 014c 5B68 ldr r3, [r3, #4]
257 .loc 1 239 33
258 014e 03F00302 and r2, r3, #3
259 .loc 1 239 59
260 0152 7B69 ldr r3, [r7, #20]
261 0154 5B00 lsls r3, r3, #1
262 .loc 1 239 46
263 0156 02FA03F3 lsl r3, r2, r3
264 .loc 1 239 12
265 015a 3A69 ldr r2, [r7, #16]
266 015c 1343 orrs r3, r3, r2
267 015e 3B61 str r3, [r7, #16]
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
268 .loc 1 240 20
269 0160 7B68 ldr r3, [r7, #4]
270 0162 3A69 ldr r2, [r7, #16]
271 0164 1A60 str r2, [r3]
241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*--------------------- EXTI Mode Configuration ------------------------*/
243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
ARM GAS /tmp/cc63nak4.s page 10
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_MODE) != 0x00u)
272 .loc 1 244 20
273 0166 3B68 ldr r3, [r7]
274 0168 5B68 ldr r3, [r3, #4]
275 .loc 1 244 27
276 016a 03F44033 and r3, r3, #196608
277 .loc 1 244 9
278 016e 002B cmp r3, #0
279 0170 00F0A080 beq .L3
280 .LBB2:
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Enable SYSCFG Clock */
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
281 .loc 1 247 9
282 0174 584B ldr r3, .L23
283 0176 9B69 ldr r3, [r3, #24]
284 0178 574A ldr r2, .L23
285 017a 43F00103 orr r3, r3, #1
286 017e 9361 str r3, [r2, #24]
287 0180 554B ldr r3, .L23
288 0182 9B69 ldr r3, [r3, #24]
289 0184 03F00103 and r3, r3, #1
290 0188 BB60 str r3, [r7, #8]
291 018a BB68 ldr r3, [r7, #8]
292 .LBE2:
248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = SYSCFG->EXTICR[position >> 2u];
293 .loc 1 249 22
294 018c 534A ldr r2, .L23+4
295 .loc 1 249 40
296 018e 7B69 ldr r3, [r7, #20]
297 0190 9B08 lsrs r3, r3, #2
298 .loc 1 249 14
299 0192 0233 adds r3, r3, #2
300 0194 52F82330 ldr r3, [r2, r3, lsl #2]
301 0198 3B61 str r3, [r7, #16]
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
302 .loc 1 250 45
303 019a 7B69 ldr r3, [r7, #20]
304 019c 03F00303 and r3, r3, #3
305 .loc 1 250 33
306 01a0 9B00 lsls r3, r3, #2
307 .loc 1 250 26
308 01a2 0F22 movs r2, #15
309 01a4 02FA03F3 lsl r3, r2, r3
310 .loc 1 250 17
311 01a8 DB43 mvns r3, r3
312 .loc 1 250 14
313 01aa 3A69 ldr r2, [r7, #16]
314 01ac 1340 ands r3, r3, r2
315 01ae 3B61 str r3, [r7, #16]
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
316 .loc 1 251 18
317 01b0 7B68 ldr r3, [r7, #4]
318 01b2 B3F1904F cmp r3, #1207959552
319 01b6 19D0 beq .L8
320 .loc 1 251 18 is_stmt 0 discriminator 1
ARM GAS /tmp/cc63nak4.s page 11
321 01b8 7B68 ldr r3, [r7, #4]
322 01ba 494A ldr r2, .L23+8
323 01bc 9342 cmp r3, r2
324 01be 13D0 beq .L9
325 .loc 1 251 18 discriminator 3
326 01c0 7B68 ldr r3, [r7, #4]
327 01c2 484A ldr r2, .L23+12
328 01c4 9342 cmp r3, r2
329 01c6 0DD0 beq .L10
330 .loc 1 251 18 discriminator 5
331 01c8 7B68 ldr r3, [r7, #4]
332 01ca 474A ldr r2, .L23+16
333 01cc 9342 cmp r3, r2
334 01ce 07D0 beq .L11
335 .loc 1 251 18 discriminator 7
336 01d0 7B68 ldr r3, [r7, #4]
337 01d2 464A ldr r2, .L23+20
338 01d4 9342 cmp r3, r2
339 01d6 01D1 bne .L12
340 .loc 1 251 18 discriminator 9
341 01d8 0423 movs r3, #4
342 01da 08E0 b .L17
343 .L12:
344 .loc 1 251 18 discriminator 10
345 01dc 0523 movs r3, #5
346 01de 06E0 b .L17
347 .L11:
348 .loc 1 251 18 discriminator 8
349 01e0 0323 movs r3, #3
350 01e2 04E0 b .L17
351 .L10:
352 .loc 1 251 18 discriminator 6
353 01e4 0223 movs r3, #2
354 01e6 02E0 b .L17
355 .L9:
356 .loc 1 251 18 discriminator 4
357 01e8 0123 movs r3, #1
358 01ea 00E0 b .L17
359 .L8:
360 .loc 1 251 18 discriminator 2
361 01ec 0023 movs r3, #0
362 .L17:
363 .loc 1 251 59 is_stmt 1 discriminator 20
364 01ee 7A69 ldr r2, [r7, #20]
365 01f0 02F00302 and r2, r2, #3
366 .loc 1 251 47 discriminator 20
367 01f4 9200 lsls r2, r2, #2
368 .loc 1 251 40 discriminator 20
369 01f6 9340 lsls r3, r3, r2
370 .loc 1 251 14 discriminator 20
371 01f8 3A69 ldr r2, [r7, #16]
372 01fa 1343 orrs r3, r3, r2
373 01fc 3B61 str r3, [r7, #16]
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
374 .loc 1 252 15
375 01fe 3749 ldr r1, .L23+4
376 .loc 1 252 33
ARM GAS /tmp/cc63nak4.s page 12
377 0200 7B69 ldr r3, [r7, #20]
378 0202 9B08 lsrs r3, r3, #2
379 .loc 1 252 40
380 0204 0233 adds r3, r3, #2
381 0206 3A69 ldr r2, [r7, #16]
382 0208 41F82320 str r2, [r1, r3, lsl #2]
253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->RTSR;
383 .loc 1 255 20
384 020c 384B ldr r3, .L23+24
385 .loc 1 255 14
386 020e 9B68 ldr r3, [r3, #8]
387 0210 3B61 str r3, [r7, #16]
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
388 .loc 1 256 17
389 0212 FB68 ldr r3, [r7, #12]
390 0214 DB43 mvns r3, r3
391 .loc 1 256 14
392 0216 3A69 ldr r2, [r7, #16]
393 0218 1340 ands r3, r3, r2
394 021a 3B61 str r3, [r7, #16]
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u)
395 .loc 1 257 22
396 021c 3B68 ldr r3, [r7]
397 021e 5B68 ldr r3, [r3, #4]
398 .loc 1 257 29
399 0220 03F48013 and r3, r3, #1048576
400 .loc 1 257 11
401 0224 002B cmp r3, #0
402 0226 03D0 beq .L18
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
403 .loc 1 259 16
404 0228 3A69 ldr r2, [r7, #16]
405 022a FB68 ldr r3, [r7, #12]
406 022c 1343 orrs r3, r3, r2
407 022e 3B61 str r3, [r7, #16]
408 .L18:
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR = temp;
409 .loc 1 261 13
410 0230 2F4A ldr r2, .L23+24
411 .loc 1 261 20
412 0232 3B69 ldr r3, [r7, #16]
413 0234 9360 str r3, [r2, #8]
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->FTSR;
414 .loc 1 263 20
415 0236 2E4B ldr r3, .L23+24
416 .loc 1 263 14
417 0238 DB68 ldr r3, [r3, #12]
418 023a 3B61 str r3, [r7, #16]
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
419 .loc 1 264 17
420 023c FB68 ldr r3, [r7, #12]
421 023e DB43 mvns r3, r3
ARM GAS /tmp/cc63nak4.s page 13
422 .loc 1 264 14
423 0240 3A69 ldr r2, [r7, #16]
424 0242 1340 ands r3, r3, r2
425 0244 3B61 str r3, [r7, #16]
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u)
426 .loc 1 265 22
427 0246 3B68 ldr r3, [r7]
428 0248 5B68 ldr r3, [r3, #4]
429 .loc 1 265 29
430 024a 03F40013 and r3, r3, #2097152
431 .loc 1 265 11
432 024e 002B cmp r3, #0
433 0250 03D0 beq .L19
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
434 .loc 1 267 16
435 0252 3A69 ldr r2, [r7, #16]
436 0254 FB68 ldr r3, [r7, #12]
437 0256 1343 orrs r3, r3, r2
438 0258 3B61 str r3, [r7, #16]
439 .L19:
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->FTSR = temp;
440 .loc 1 269 13
441 025a 254A ldr r2, .L23+24
442 .loc 1 269 20
443 025c 3B69 ldr r3, [r7, #16]
444 025e D360 str r3, [r2, #12]
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->EMR;
445 .loc 1 271 20
446 0260 234B ldr r3, .L23+24
447 .loc 1 271 14
448 0262 5B68 ldr r3, [r3, #4]
449 0264 3B61 str r3, [r7, #16]
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
450 .loc 1 272 17
451 0266 FB68 ldr r3, [r7, #12]
452 0268 DB43 mvns r3, r3
453 .loc 1 272 14
454 026a 3A69 ldr r2, [r7, #16]
455 026c 1340 ands r3, r3, r2
456 026e 3B61 str r3, [r7, #16]
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_EVT) != 0x00u)
457 .loc 1 273 22
458 0270 3B68 ldr r3, [r7]
459 0272 5B68 ldr r3, [r3, #4]
460 .loc 1 273 29
461 0274 03F40033 and r3, r3, #131072
462 .loc 1 273 11
463 0278 002B cmp r3, #0
464 027a 03D0 beq .L20
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
465 .loc 1 275 16
466 027c 3A69 ldr r2, [r7, #16]
467 027e FB68 ldr r3, [r7, #12]
ARM GAS /tmp/cc63nak4.s page 14
468 0280 1343 orrs r3, r3, r2
469 0282 3B61 str r3, [r7, #16]
470 .L20:
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR = temp;
471 .loc 1 277 13
472 0284 1A4A ldr r2, .L23+24
473 .loc 1 277 19
474 0286 3B69 ldr r3, [r7, #16]
475 0288 5360 str r3, [r2, #4]
278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear EXTI line configuration */
280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->IMR;
476 .loc 1 280 20
477 028a 194B ldr r3, .L23+24
478 .loc 1 280 14
479 028c 1B68 ldr r3, [r3]
480 028e 3B61 str r3, [r7, #16]
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
481 .loc 1 281 17
482 0290 FB68 ldr r3, [r7, #12]
483 0292 DB43 mvns r3, r3
484 .loc 1 281 14
485 0294 3A69 ldr r2, [r7, #16]
486 0296 1340 ands r3, r3, r2
487 0298 3B61 str r3, [r7, #16]
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_IT) != 0x00u)
488 .loc 1 282 22
489 029a 3B68 ldr r3, [r7]
490 029c 5B68 ldr r3, [r3, #4]
491 .loc 1 282 29
492 029e 03F48033 and r3, r3, #65536
493 .loc 1 282 11
494 02a2 002B cmp r3, #0
495 02a4 03D0 beq .L21
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
496 .loc 1 284 16
497 02a6 3A69 ldr r2, [r7, #16]
498 02a8 FB68 ldr r3, [r7, #12]
499 02aa 1343 orrs r3, r3, r2
500 02ac 3B61 str r3, [r7, #16]
501 .L21:
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->IMR = temp;
502 .loc 1 286 13
503 02ae 104A ldr r2, .L23+24
504 .loc 1 286 19
505 02b0 3B69 ldr r3, [r7, #16]
506 02b2 1360 str r3, [r2]
507 .L3:
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** position++;
508 .loc 1 290 13
509 02b4 7B69 ldr r3, [r7, #20]
ARM GAS /tmp/cc63nak4.s page 15
510 02b6 0133 adds r3, r3, #1
511 02b8 7B61 str r3, [r7, #20]
512 .L2:
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
513 .loc 1 183 21
514 02ba 3B68 ldr r3, [r7]
515 02bc 1A68 ldr r2, [r3]
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
516 .loc 1 183 28
517 02be 7B69 ldr r3, [r7, #20]
518 02c0 22FA03F3 lsr r3, r2, r3
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
519 .loc 1 183 41
520 02c4 002B cmp r3, #0
521 02c6 7FF4A3AE bne .L22
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
522 .loc 1 292 1
523 02ca 00BF nop
524 02cc 00BF nop
525 02ce 1C37 adds r7, r7, #28
526 .cfi_def_cfa_offset 4
527 02d0 BD46 mov sp, r7
528 .cfi_def_cfa_register 13
529 @ sp needed
530 02d2 5DF8047B ldr r7, [sp], #4
531 .cfi_restore 7
532 .cfi_def_cfa_offset 0
533 02d6 7047 bx lr
534 .L24:
535 .align 2
536 .L23:
537 02d8 00100240 .word 1073876992
538 02dc 00000140 .word 1073807360
539 02e0 00040048 .word 1207960576
540 02e4 00080048 .word 1207961600
541 02e8 000C0048 .word 1207962624
542 02ec 00100048 .word 1207963648
543 02f0 00040140 .word 1073808384
544 .cfi_endproc
545 .LFE130:
547 .section .text.HAL_GPIO_DeInit,"ax",%progbits
548 .align 1
549 .global HAL_GPIO_DeInit
550 .syntax unified
551 .thumb
552 .thumb_func
554 HAL_GPIO_DeInit:
555 .LFB131:
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief De-initialize the GPIOx peripheral registers to their default reset values.
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F30X device or STM32
297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
ARM GAS /tmp/cc63nak4.s page 16
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
556 .loc 1 302 1
557 .cfi_startproc
558 @ args = 0, pretend = 0, frame = 24
559 @ frame_needed = 1, uses_anonymous_args = 0
560 @ link register save eliminated.
561 0000 80B4 push {r7}
562 .cfi_def_cfa_offset 4
563 .cfi_offset 7, -4
564 0002 87B0 sub sp, sp, #28
565 .cfi_def_cfa_offset 32
566 0004 00AF add r7, sp, #0
567 .cfi_def_cfa_register 7
568 0006 7860 str r0, [r7, #4]
569 0008 3960 str r1, [r7]
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u;
570 .loc 1 303 12
571 000a 0023 movs r3, #0
572 000c 7B61 str r3, [r7, #20]
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t tmp;
306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the port pins */
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** while ((GPIO_Pin >> position) != 0x00u)
573 .loc 1 312 9
574 000e B8E0 b .L26
575 .L39:
313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Get current io position */
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** iocurrent = (GPIO_Pin) & (1uL << position);
576 .loc 1 315 35
577 0010 0122 movs r2, #1
578 0012 7B69 ldr r3, [r7, #20]
579 0014 02FA03F3 lsl r3, r2, r3
580 .loc 1 315 15
581 0018 3A68 ldr r2, [r7]
582 001a 1340 ands r3, r3, r2
583 001c 3B61 str r3, [r7, #16]
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (iocurrent != 0x00u)
584 .loc 1 317 8
585 001e 3B69 ldr r3, [r7, #16]
586 0020 002B cmp r3, #0
587 0022 00F0AB80 beq .L27
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*------------------------- EXTI Mode Configuration --------------------*/
320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear the External Interrupt or Event for the current IO */
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp = SYSCFG->EXTICR[position >> 2u];
588 .loc 1 322 19
589 0026 5E4A ldr r2, .L40
590 .loc 1 322 37
ARM GAS /tmp/cc63nak4.s page 17
591 0028 7B69 ldr r3, [r7, #20]
592 002a 9B08 lsrs r3, r3, #2
593 .loc 1 322 11
594 002c 0233 adds r3, r3, #2
595 002e 52F82330 ldr r3, [r2, r3, lsl #2]
596 0032 FB60 str r3, [r7, #12]
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
597 .loc 1 323 41
598 0034 7B69 ldr r3, [r7, #20]
599 0036 03F00303 and r3, r3, #3
600 .loc 1 323 29
601 003a 9B00 lsls r3, r3, #2
602 .loc 1 323 22
603 003c 0F22 movs r2, #15
604 003e 02FA03F3 lsl r3, r2, r3
605 .loc 1 323 11
606 0042 FA68 ldr r2, [r7, #12]
607 0044 1340 ands r3, r3, r2
608 0046 FB60 str r3, [r7, #12]
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
609 .loc 1 324 19
610 0048 7B68 ldr r3, [r7, #4]
611 004a B3F1904F cmp r3, #1207959552
612 004e 19D0 beq .L28
613 .loc 1 324 19 is_stmt 0 discriminator 1
614 0050 7B68 ldr r3, [r7, #4]
615 0052 544A ldr r2, .L40+4
616 0054 9342 cmp r3, r2
617 0056 13D0 beq .L29
618 .loc 1 324 19 discriminator 3
619 0058 7B68 ldr r3, [r7, #4]
620 005a 534A ldr r2, .L40+8
621 005c 9342 cmp r3, r2
622 005e 0DD0 beq .L30
623 .loc 1 324 19 discriminator 5
624 0060 7B68 ldr r3, [r7, #4]
625 0062 524A ldr r2, .L40+12
626 0064 9342 cmp r3, r2
627 0066 07D0 beq .L31
628 .loc 1 324 19 discriminator 7
629 0068 7B68 ldr r3, [r7, #4]
630 006a 514A ldr r2, .L40+16
631 006c 9342 cmp r3, r2
632 006e 01D1 bne .L32
633 .loc 1 324 19 discriminator 9
634 0070 0423 movs r3, #4
635 0072 08E0 b .L37
636 .L32:
637 .loc 1 324 19 discriminator 10
638 0074 0523 movs r3, #5
639 0076 06E0 b .L37
640 .L31:
641 .loc 1 324 19 discriminator 8
642 0078 0323 movs r3, #3
643 007a 04E0 b .L37
644 .L30:
645 .loc 1 324 19 discriminator 6
ARM GAS /tmp/cc63nak4.s page 18
646 007c 0223 movs r3, #2
647 007e 02E0 b .L37
648 .L29:
649 .loc 1 324 19 discriminator 4
650 0080 0123 movs r3, #1
651 0082 00E0 b .L37
652 .L28:
653 .loc 1 324 19 discriminator 2
654 0084 0023 movs r3, #0
655 .L37:
656 .loc 1 324 60 is_stmt 1 discriminator 20
657 0086 7A69 ldr r2, [r7, #20]
658 0088 02F00302 and r2, r2, #3
659 .loc 1 324 48 discriminator 20
660 008c 9200 lsls r2, r2, #2
661 .loc 1 324 41 discriminator 20
662 008e 9340 lsls r3, r3, r2
663 .loc 1 324 10 discriminator 20
664 0090 FA68 ldr r2, [r7, #12]
665 0092 9A42 cmp r2, r3
666 0094 32D1 bne .L38
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear EXTI line configuration */
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->IMR &= ~((uint32_t)iocurrent);
667 .loc 1 327 13
668 0096 474B ldr r3, .L40+20
669 0098 1A68 ldr r2, [r3]
670 .loc 1 327 22
671 009a 3B69 ldr r3, [r7, #16]
672 009c DB43 mvns r3, r3
673 .loc 1 327 13
674 009e 4549 ldr r1, .L40+20
675 .loc 1 327 19
676 00a0 1340 ands r3, r3, r2
677 00a2 0B60 str r3, [r1]
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
678 .loc 1 328 13
679 00a4 434B ldr r3, .L40+20
680 00a6 5A68 ldr r2, [r3, #4]
681 .loc 1 328 22
682 00a8 3B69 ldr r3, [r7, #16]
683 00aa DB43 mvns r3, r3
684 .loc 1 328 13
685 00ac 4149 ldr r1, .L40+20
686 .loc 1 328 19
687 00ae 1340 ands r3, r3, r2
688 00b0 4B60 str r3, [r1, #4]
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
689 .loc 1 331 13
690 00b2 404B ldr r3, .L40+20
691 00b4 DA68 ldr r2, [r3, #12]
692 .loc 1 331 23
693 00b6 3B69 ldr r3, [r7, #16]
694 00b8 DB43 mvns r3, r3
695 .loc 1 331 13
ARM GAS /tmp/cc63nak4.s page 19
696 00ba 3E49 ldr r1, .L40+20
697 .loc 1 331 20
698 00bc 1340 ands r3, r3, r2
699 00be CB60 str r3, [r1, #12]
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
700 .loc 1 332 13
701 00c0 3C4B ldr r3, .L40+20
702 00c2 9A68 ldr r2, [r3, #8]
703 .loc 1 332 23
704 00c4 3B69 ldr r3, [r7, #16]
705 00c6 DB43 mvns r3, r3
706 .loc 1 332 13
707 00c8 3A49 ldr r1, .L40+20
708 .loc 1 332 20
709 00ca 1340 ands r3, r3, r2
710 00cc 8B60 str r3, [r1, #8]
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp = 0x0FuL << (4u * (position & 0x03u));
711 .loc 1 335 41
712 00ce 7B69 ldr r3, [r7, #20]
713 00d0 03F00303 and r3, r3, #3
714 .loc 1 335 29
715 00d4 9B00 lsls r3, r3, #2
716 .loc 1 335 13
717 00d6 0F22 movs r2, #15
718 00d8 02FA03F3 lsl r3, r2, r3
719 00dc FB60 str r3, [r7, #12]
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] &= ~tmp;
720 .loc 1 336 15
721 00de 304A ldr r2, .L40
722 .loc 1 336 23
723 00e0 7B69 ldr r3, [r7, #20]
724 00e2 9B08 lsrs r3, r3, #2
725 00e4 0233 adds r3, r3, #2
726 00e6 52F82310 ldr r1, [r2, r3, lsl #2]
727 .loc 1 336 43
728 00ea FB68 ldr r3, [r7, #12]
729 00ec DA43 mvns r2, r3
730 .loc 1 336 15
731 00ee 2C48 ldr r0, .L40
732 .loc 1 336 23
733 00f0 7B69 ldr r3, [r7, #20]
734 00f2 9B08 lsrs r3, r3, #2
735 .loc 1 336 40
736 00f4 0A40 ands r2, r2, r1
737 00f6 0233 adds r3, r3, #2
738 00f8 40F82320 str r2, [r0, r3, lsl #2]
739 .L38:
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /*------------------------- GPIO Mode Configuration --------------------*/
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure IO Direction in Input Floating Mode */
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (position * 2u));
740 .loc 1 341 12
741 00fc 7B68 ldr r3, [r7, #4]
742 00fe 1A68 ldr r2, [r3]
ARM GAS /tmp/cc63nak4.s page 20
743 .loc 1 341 56
744 0100 7B69 ldr r3, [r7, #20]
745 0102 5B00 lsls r3, r3, #1
746 .loc 1 341 43
747 0104 0321 movs r1, #3
748 0106 01FA03F3 lsl r3, r1, r3
749 .loc 1 341 23
750 010a DB43 mvns r3, r3
751 .loc 1 341 20
752 010c 1A40 ands r2, r2, r3
753 010e 7B68 ldr r3, [r7, #4]
754 0110 1A60 str r2, [r3]
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the default Alternate Function in current IO */
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] &= ~(0xFu << ((uint32_t)(position & 0x07u) * 4u)) ;
755 .loc 1 344 17
756 0112 7B69 ldr r3, [r7, #20]
757 0114 DA08 lsrs r2, r3, #3
758 0116 7B68 ldr r3, [r7, #4]
759 0118 0832 adds r2, r2, #8
760 011a 53F82210 ldr r1, [r3, r2, lsl #2]
761 .loc 1 344 48
762 011e 7B69 ldr r3, [r7, #20]
763 0120 03F00703 and r3, r3, #7
764 .loc 1 344 77
765 0124 9B00 lsls r3, r3, #2
766 .loc 1 344 44
767 0126 0F22 movs r2, #15
768 0128 02FA03F3 lsl r3, r2, r3
769 .loc 1 344 37
770 012c DB43 mvns r3, r3
771 .loc 1 344 17
772 012e 7A69 ldr r2, [r7, #20]
773 0130 D208 lsrs r2, r2, #3
774 .loc 1 344 34
775 0132 1940 ands r1, r1, r3
776 0134 7B68 ldr r3, [r7, #4]
777 0136 0832 adds r2, r2, #8
778 0138 43F82210 str r1, [r3, r2, lsl #2]
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Deactivate the Pull-up and Pull-down resistor for the current IO */
347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
779 .loc 1 347 12
780 013c 7B68 ldr r3, [r7, #4]
781 013e DA68 ldr r2, [r3, #12]
782 .loc 1 347 56
783 0140 7B69 ldr r3, [r7, #20]
784 0142 5B00 lsls r3, r3, #1
785 .loc 1 347 43
786 0144 0321 movs r1, #3
787 0146 01FA03F3 lsl r3, r1, r3
788 .loc 1 347 23
789 014a DB43 mvns r3, r3
790 .loc 1 347 20
791 014c 1A40 ands r2, r2, r3
792 014e 7B68 ldr r3, [r7, #4]
793 0150 DA60 str r2, [r3, #12]
ARM GAS /tmp/cc63nak4.s page 21
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the default value IO Output Type */
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ;
794 .loc 1 350 12
795 0152 7B68 ldr r3, [r7, #4]
796 0154 5A68 ldr r2, [r3, #4]
797 .loc 1 350 44
798 0156 0121 movs r1, #1
799 0158 7B69 ldr r3, [r7, #20]
800 015a 01FA03F3 lsl r3, r1, r3
801 .loc 1 350 25
802 015e DB43 mvns r3, r3
803 .loc 1 350 22
804 0160 1A40 ands r2, r2, r3
805 0162 7B68 ldr r3, [r7, #4]
806 0164 5A60 str r2, [r3, #4]
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the default value for IO Speed */
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
807 .loc 1 353 12
808 0166 7B68 ldr r3, [r7, #4]
809 0168 9A68 ldr r2, [r3, #8]
810 .loc 1 353 63
811 016a 7B69 ldr r3, [r7, #20]
812 016c 5B00 lsls r3, r3, #1
813 .loc 1 353 50
814 016e 0321 movs r1, #3
815 0170 01FA03F3 lsl r3, r1, r3
816 .loc 1 353 25
817 0174 DB43 mvns r3, r3
818 .loc 1 353 22
819 0176 1A40 ands r2, r2, r3
820 0178 7B68 ldr r3, [r7, #4]
821 017a 9A60 str r2, [r3, #8]
822 .L27:
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** position++;
823 .loc 1 356 13
824 017c 7B69 ldr r3, [r7, #20]
825 017e 0133 adds r3, r3, #1
826 0180 7B61 str r3, [r7, #20]
827 .L26:
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
828 .loc 1 312 20
829 0182 3A68 ldr r2, [r7]
830 0184 7B69 ldr r3, [r7, #20]
831 0186 22FA03F3 lsr r3, r2, r3
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
832 .loc 1 312 33
833 018a 002B cmp r3, #0
834 018c 7FF440AF bne .L39
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
835 .loc 1 358 1
836 0190 00BF nop
837 0192 00BF nop
ARM GAS /tmp/cc63nak4.s page 22
838 0194 1C37 adds r7, r7, #28
839 .cfi_def_cfa_offset 4
840 0196 BD46 mov sp, r7
841 .cfi_def_cfa_register 13
842 @ sp needed
843 0198 5DF8047B ldr r7, [sp], #4
844 .cfi_restore 7
845 .cfi_def_cfa_offset 0
846 019c 7047 bx lr
847 .L41:
848 019e 00BF .align 2
849 .L40:
850 01a0 00000140 .word 1073807360
851 01a4 00040048 .word 1207960576
852 01a8 00080048 .word 1207961600
853 01ac 000C0048 .word 1207962624
854 01b0 00100048 .word 1207963648
855 01b4 00040140 .word 1073808384
856 .cfi_endproc
857 .LFE131:
859 .section .text.HAL_GPIO_ReadPin,"ax",%progbits
860 .align 1
861 .global HAL_GPIO_ReadPin
862 .syntax unified
863 .thumb
864 .thumb_func
866 HAL_GPIO_ReadPin:
867 .LFB132:
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @}
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief GPIO Read, Write, Toggle, Lock and EXTI management functions.
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @verbatim
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ===============================================================================
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ##### IO operation functions #####
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ===============================================================================
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @endverbatim
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{
374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Read the specified input port pin.
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to read.
380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be GPIO_PIN_x where x can be (0..15).
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval The input port pin value.
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
868 .loc 1 384 1
869 .cfi_startproc
870 @ args = 0, pretend = 0, frame = 16
ARM GAS /tmp/cc63nak4.s page 23
871 @ frame_needed = 1, uses_anonymous_args = 0
872 @ link register save eliminated.
873 0000 80B4 push {r7}
874 .cfi_def_cfa_offset 4
875 .cfi_offset 7, -4
876 0002 85B0 sub sp, sp, #20
877 .cfi_def_cfa_offset 24
878 0004 00AF add r7, sp, #0
879 .cfi_def_cfa_register 7
880 0006 7860 str r0, [r7, #4]
881 0008 0B46 mov r3, r1
882 000a 7B80 strh r3, [r7, #2] @ movhi
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_PinState bitstatus;
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
883 .loc 1 390 12
884 000c 7B68 ldr r3, [r7, #4]
885 000e 1A69 ldr r2, [r3, #16]
886 .loc 1 390 18
887 0010 7B88 ldrh r3, [r7, #2]
888 0012 1340 ands r3, r3, r2
889 .loc 1 390 5
890 0014 002B cmp r3, #0
891 0016 02D0 beq .L43
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** bitstatus = GPIO_PIN_SET;
892 .loc 1 392 15
893 0018 0123 movs r3, #1
894 001a FB73 strb r3, [r7, #15]
895 001c 01E0 b .L44
896 .L43:
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** else
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** bitstatus = GPIO_PIN_RESET;
897 .loc 1 396 15
898 001e 0023 movs r3, #0
899 0020 FB73 strb r3, [r7, #15]
900 .L44:
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return bitstatus;
901 .loc 1 398 10
902 0022 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
903 .loc 1 399 1
904 0024 1846 mov r0, r3
905 0026 1437 adds r7, r7, #20
906 .cfi_def_cfa_offset 4
907 0028 BD46 mov sp, r7
908 .cfi_def_cfa_register 13
909 @ sp needed
910 002a 5DF8047B ldr r7, [sp], #4
911 .cfi_restore 7
912 .cfi_def_cfa_offset 0
ARM GAS /tmp/cc63nak4.s page 24
913 002e 7047 bx lr
914 .cfi_endproc
915 .LFE132:
917 .section .text.HAL_GPIO_WritePin,"ax",%progbits
918 .align 1
919 .global HAL_GPIO_WritePin
920 .syntax unified
921 .thumb
922 .thumb_func
924 HAL_GPIO_WritePin:
925 .LFB133:
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Set or clear the selected data port bit.
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @note This function uses GPIOx_BSRR and GPIOx_BRR registers to allow atomic read/modify
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * accesses. In this way, there is no risk of an IRQ occurring between
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * the read and the modify access.
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** *
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param PinState specifies the value to be written to the selected bit.
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be one of the GPIO_PinState enum values:
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @arg GPIO_PIN_RESET: to clear the port pin
414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @arg GPIO_PIN_SET: to set the port pin
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
926 .loc 1 418 1
927 .cfi_startproc
928 @ args = 0, pretend = 0, frame = 8
929 @ frame_needed = 1, uses_anonymous_args = 0
930 @ link register save eliminated.
931 0000 80B4 push {r7}
932 .cfi_def_cfa_offset 4
933 .cfi_offset 7, -4
934 0002 83B0 sub sp, sp, #12
935 .cfi_def_cfa_offset 16
936 0004 00AF add r7, sp, #0
937 .cfi_def_cfa_register 7
938 0006 7860 str r0, [r7, #4]
939 0008 0B46 mov r3, r1
940 000a 7B80 strh r3, [r7, #2] @ movhi
941 000c 1346 mov r3, r2
942 000e 7B70 strb r3, [r7, #1]
419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState));
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if(PinState != GPIO_PIN_RESET)
943 .loc 1 423 5
944 0010 7B78 ldrb r3, [r7, #1] @ zero_extendqisi2
945 0012 002B cmp r3, #0
946 0014 03D0 beq .L47
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
ARM GAS /tmp/cc63nak4.s page 25
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin;
947 .loc 1 425 19
948 0016 7A88 ldrh r2, [r7, #2]
949 .loc 1 425 17
950 0018 7B68 ldr r3, [r7, #4]
951 001a 9A61 str r2, [r3, #24]
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** else
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->BRR = (uint32_t)GPIO_Pin;
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
952 .loc 1 431 1
953 001c 02E0 b .L49
954 .L47:
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
955 .loc 1 429 18
956 001e 7A88 ldrh r2, [r7, #2]
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
957 .loc 1 429 16
958 0020 7B68 ldr r3, [r7, #4]
959 0022 9A62 str r2, [r3, #40]
960 .L49:
961 .loc 1 431 1
962 0024 00BF nop
963 0026 0C37 adds r7, r7, #12
964 .cfi_def_cfa_offset 4
965 0028 BD46 mov sp, r7
966 .cfi_def_cfa_register 13
967 @ sp needed
968 002a 5DF8047B ldr r7, [sp], #4
969 .cfi_restore 7
970 .cfi_def_cfa_offset 0
971 002e 7047 bx lr
972 .cfi_endproc
973 .LFE133:
975 .section .text.HAL_GPIO_TogglePin,"ax",%progbits
976 .align 1
977 .global HAL_GPIO_TogglePin
978 .syntax unified
979 .thumb
980 .thumb_func
982 HAL_GPIO_TogglePin:
983 .LFB134:
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Toggle the specified GPIO pin.
435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the pin to be toggled.
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
984 .loc 1 440 1
985 .cfi_startproc
986 @ args = 0, pretend = 0, frame = 16
987 @ frame_needed = 1, uses_anonymous_args = 0
ARM GAS /tmp/cc63nak4.s page 26
988 @ link register save eliminated.
989 0000 80B4 push {r7}
990 .cfi_def_cfa_offset 4
991 .cfi_offset 7, -4
992 0002 85B0 sub sp, sp, #20
993 .cfi_def_cfa_offset 24
994 0004 00AF add r7, sp, #0
995 .cfi_def_cfa_register 7
996 0006 7860 str r0, [r7, #4]
997 0008 0B46 mov r3, r1
998 000a 7B80 strh r3, [r7, #2] @ movhi
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t odr;
442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* get current Output Data Register value */
447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** odr = GPIOx->ODR;
999 .loc 1 447 7
1000 000c 7B68 ldr r3, [r7, #4]
1001 000e 5B69 ldr r3, [r3, #20]
1002 0010 FB60 str r3, [r7, #12]
448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Set selected pins that were at low level, and reset ones that were high */
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->BSRR = ((odr & GPIO_Pin) << GPIO_NUMBER) | (~odr & GPIO_Pin);
1003 .loc 1 450 23
1004 0012 7A88 ldrh r2, [r7, #2]
1005 0014 FB68 ldr r3, [r7, #12]
1006 0016 1340 ands r3, r3, r2
1007 .loc 1 450 35
1008 0018 1A04 lsls r2, r3, #16
1009 .loc 1 450 54
1010 001a FB68 ldr r3, [r7, #12]
1011 001c D943 mvns r1, r3
1012 .loc 1 450 59
1013 001e 7B88 ldrh r3, [r7, #2]
1014 0020 0B40 ands r3, r3, r1
1015 .loc 1 450 51
1016 0022 1A43 orrs r2, r2, r3
1017 .loc 1 450 15
1018 0024 7B68 ldr r3, [r7, #4]
1019 0026 9A61 str r2, [r3, #24]
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
1020 .loc 1 451 1
1021 0028 00BF nop
1022 002a 1437 adds r7, r7, #20
1023 .cfi_def_cfa_offset 4
1024 002c BD46 mov sp, r7
1025 .cfi_def_cfa_register 13
1026 @ sp needed
1027 002e 5DF8047B ldr r7, [sp], #4
1028 .cfi_restore 7
1029 .cfi_def_cfa_offset 0
1030 0032 7047 bx lr
1031 .cfi_endproc
1032 .LFE134:
1034 .section .text.HAL_GPIO_LockPin,"ax",%progbits
ARM GAS /tmp/cc63nak4.s page 27
1035 .align 1
1036 .global HAL_GPIO_LockPin
1037 .syntax unified
1038 .thumb
1039 .thumb_func
1041 HAL_GPIO_LockPin:
1042 .LFB135:
452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Lock GPIO Pins configuration registers.
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @note The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR,
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @note The configuration of the locked GPIO pins can no longer be modified
458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * until the next reset.
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F3 family
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bits to be locked.
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
1043 .loc 1 465 1
1044 .cfi_startproc
1045 @ args = 0, pretend = 0, frame = 16
1046 @ frame_needed = 1, uses_anonymous_args = 0
1047 @ link register save eliminated.
1048 0000 80B4 push {r7}
1049 .cfi_def_cfa_offset 4
1050 .cfi_offset 7, -4
1051 0002 85B0 sub sp, sp, #20
1052 .cfi_def_cfa_offset 24
1053 0004 00AF add r7, sp, #0
1054 .cfi_def_cfa_register 7
1055 0006 7860 str r0, [r7, #4]
1056 0008 0B46 mov r3, r1
1057 000a 7B80 strh r3, [r7, #2] @ movhi
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK;
1058 .loc 1 466 17
1059 000c 4FF48033 mov r3, #65536
1060 0010 FB60 str r3, [r7, #12]
467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */
469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_LOCK_INSTANCE(GPIOx));
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Apply lock key write sequence */
473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp |= GPIO_Pin;
1061 .loc 1 473 7
1062 0012 7A88 ldrh r2, [r7, #2]
1063 0014 FB68 ldr r3, [r7, #12]
1064 0016 1343 orrs r3, r3, r2
1065 0018 FB60 str r3, [r7, #12]
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15U-0] */
475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->LCKR = tmp;
1066 .loc 1 475 15
1067 001a FA68 ldr r2, [r7, #12]
1068 001c 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/cc63nak4.s page 28
1069 001e DA61 str r2, [r3, #28]
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Reset LCKx bit(s): LCKK='0' + LCK[15U-0] */
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->LCKR = GPIO_Pin;
1070 .loc 1 477 15
1071 0020 7A88 ldrh r2, [r7, #2]
1072 0022 7B68 ldr r3, [r7, #4]
1073 0024 DA61 str r2, [r3, #28]
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15U-0] */
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->LCKR = tmp;
1074 .loc 1 479 15
1075 0026 FA68 ldr r2, [r7, #12]
1076 0028 7B68 ldr r3, [r7, #4]
1077 002a DA61 str r2, [r3, #28]
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Read LCKK register. This read is mandatory to complete key lock sequence */
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp = GPIOx->LCKR;
1078 .loc 1 481 14
1079 002c 7B68 ldr r3, [r7, #4]
1080 002e DB69 ldr r3, [r3, #28]
1081 .loc 1 481 7
1082 0030 FB60 str r3, [r7, #12]
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* read again in order to confirm lock is active */
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIOx->LCKR & GPIO_LCKR_LCKK) != 0x00u)
1083 .loc 1 484 11
1084 0032 7B68 ldr r3, [r7, #4]
1085 0034 DB69 ldr r3, [r3, #28]
1086 .loc 1 484 18
1087 0036 03F48033 and r3, r3, #65536
1088 .loc 1 484 4
1089 003a 002B cmp r3, #0
1090 003c 01D0 beq .L52
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return HAL_OK;
1091 .loc 1 486 12
1092 003e 0023 movs r3, #0
1093 0040 00E0 b .L53
1094 .L52:
487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** else
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return HAL_ERROR;
1095 .loc 1 490 12
1096 0042 0123 movs r3, #1
1097 .L53:
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
1098 .loc 1 492 1
1099 0044 1846 mov r0, r3
1100 0046 1437 adds r7, r7, #20
1101 .cfi_def_cfa_offset 4
1102 0048 BD46 mov sp, r7
1103 .cfi_def_cfa_register 13
1104 @ sp needed
1105 004a 5DF8047B ldr r7, [sp], #4
1106 .cfi_restore 7
1107 .cfi_def_cfa_offset 0
1108 004e 7047 bx lr
ARM GAS /tmp/cc63nak4.s page 29
1109 .cfi_endproc
1110 .LFE135:
1112 .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
1113 .align 1
1114 .global HAL_GPIO_EXTI_IRQHandler
1115 .syntax unified
1116 .thumb
1117 .thumb_func
1119 HAL_GPIO_EXTI_IRQHandler:
1120 .LFB136:
493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief Handle EXTI interrupt request.
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
1121 .loc 1 500 1
1122 .cfi_startproc
1123 @ args = 0, pretend = 0, frame = 8
1124 @ frame_needed = 1, uses_anonymous_args = 0
1125 0000 80B5 push {r7, lr}
1126 .cfi_def_cfa_offset 8
1127 .cfi_offset 7, -8
1128 .cfi_offset 14, -4
1129 0002 82B0 sub sp, sp, #8
1130 .cfi_def_cfa_offset 16
1131 0004 00AF add r7, sp, #0
1132 .cfi_def_cfa_register 7
1133 0006 0346 mov r3, r0
1134 0008 FB80 strh r3, [r7, #6] @ movhi
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* EXTI line interrupt detected */
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
1135 .loc 1 502 6
1136 000a 084B ldr r3, .L57
1137 000c 5A69 ldr r2, [r3, #20]
1138 000e FB88 ldrh r3, [r7, #6]
1139 0010 1340 ands r3, r3, r2
1140 .loc 1 502 5
1141 0012 002B cmp r3, #0
1142 0014 06D0 beq .L56
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
1143 .loc 1 504 5
1144 0016 054A ldr r2, .L57
1145 0018 FB88 ldrh r3, [r7, #6]
1146 001a 5361 str r3, [r2, #20]
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
1147 .loc 1 505 5
1148 001c FB88 ldrh r3, [r7, #6]
1149 001e 1846 mov r0, r3
1150 0020 FFF7FEFF bl HAL_GPIO_EXTI_Callback
1151 .L56:
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
1152 .loc 1 507 1
ARM GAS /tmp/cc63nak4.s page 30
1153 0024 00BF nop
1154 0026 0837 adds r7, r7, #8
1155 .cfi_def_cfa_offset 8
1156 0028 BD46 mov sp, r7
1157 .cfi_def_cfa_register 13
1158 @ sp needed
1159 002a 80BD pop {r7, pc}
1160 .L58:
1161 .align 2
1162 .L57:
1163 002c 00040140 .word 1073808384
1164 .cfi_endproc
1165 .LFE136:
1167 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits
1168 .align 1
1169 .weak HAL_GPIO_EXTI_Callback
1170 .syntax unified
1171 .thumb
1172 .thumb_func
1174 HAL_GPIO_EXTI_Callback:
1175 .LFB137:
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @brief EXTI line detection callback.
511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @retval None
513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
1176 .loc 1 515 1
1177 .cfi_startproc
1178 @ args = 0, pretend = 0, frame = 8
1179 @ frame_needed = 1, uses_anonymous_args = 0
1180 @ link register save eliminated.
1181 0000 80B4 push {r7}
1182 .cfi_def_cfa_offset 4
1183 .cfi_offset 7, -4
1184 0002 83B0 sub sp, sp, #12
1185 .cfi_def_cfa_offset 16
1186 0004 00AF add r7, sp, #0
1187 .cfi_def_cfa_register 7
1188 0006 0346 mov r3, r0
1189 0008 FB80 strh r3, [r7, #6] @ movhi
516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Prevent unused argument(s) compilation warning */
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** UNUSED(GPIO_Pin);
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* NOTE: This function should not be modified, when the callback is needed,
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** the HAL_GPIO_EXTI_Callback could be implemented in the user file
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
1190 .loc 1 522 1
1191 000a 00BF nop
1192 000c 0C37 adds r7, r7, #12
1193 .cfi_def_cfa_offset 4
1194 000e BD46 mov sp, r7
1195 .cfi_def_cfa_register 13
1196 @ sp needed
ARM GAS /tmp/cc63nak4.s page 31
1197 0010 5DF8047B ldr r7, [sp], #4
1198 .cfi_restore 7
1199 .cfi_def_cfa_offset 0
1200 0014 7047 bx lr
1201 .cfi_endproc
1202 .LFE137:
1204 .text
1205 .Letext0:
1206 .file 2 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
1207 .file 3 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
1208 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
1209 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
1210 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h"
ARM GAS /tmp/cc63nak4.s page 32
DEFINED SYMBOLS
*ABS*:00000000 stm32f3xx_hal_gpio.c
/tmp/cc63nak4.s:21 .text.HAL_GPIO_Init:00000000 $t
/tmp/cc63nak4.s:27 .text.HAL_GPIO_Init:00000000 HAL_GPIO_Init
/tmp/cc63nak4.s:537 .text.HAL_GPIO_Init:000002d8 $d
/tmp/cc63nak4.s:548 .text.HAL_GPIO_DeInit:00000000 $t
/tmp/cc63nak4.s:554 .text.HAL_GPIO_DeInit:00000000 HAL_GPIO_DeInit
/tmp/cc63nak4.s:850 .text.HAL_GPIO_DeInit:000001a0 $d
/tmp/cc63nak4.s:860 .text.HAL_GPIO_ReadPin:00000000 $t
/tmp/cc63nak4.s:866 .text.HAL_GPIO_ReadPin:00000000 HAL_GPIO_ReadPin
/tmp/cc63nak4.s:918 .text.HAL_GPIO_WritePin:00000000 $t
/tmp/cc63nak4.s:924 .text.HAL_GPIO_WritePin:00000000 HAL_GPIO_WritePin
/tmp/cc63nak4.s:976 .text.HAL_GPIO_TogglePin:00000000 $t
/tmp/cc63nak4.s:982 .text.HAL_GPIO_TogglePin:00000000 HAL_GPIO_TogglePin
/tmp/cc63nak4.s:1035 .text.HAL_GPIO_LockPin:00000000 $t
/tmp/cc63nak4.s:1041 .text.HAL_GPIO_LockPin:00000000 HAL_GPIO_LockPin
/tmp/cc63nak4.s:1113 .text.HAL_GPIO_EXTI_IRQHandler:00000000 $t
/tmp/cc63nak4.s:1119 .text.HAL_GPIO_EXTI_IRQHandler:00000000 HAL_GPIO_EXTI_IRQHandler
/tmp/cc63nak4.s:1174 .text.HAL_GPIO_EXTI_Callback:00000000 HAL_GPIO_EXTI_Callback
/tmp/cc63nak4.s:1163 .text.HAL_GPIO_EXTI_IRQHandler:0000002c $d
/tmp/cc63nak4.s:1168 .text.HAL_GPIO_EXTI_Callback:00000000 $t
NO UNDEFINED SYMBOLS