1843 lines
97 KiB
Plaintext
1843 lines
97 KiB
Plaintext
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
|