|
|
ARM GAS /tmp/ccJYgg6T.s page 1
|
|
|
|
|
|
|
|
|
1 .cpu cortex-m0plus
|
|
|
2 .eabi_attribute 20, 1
|
|
|
3 .eabi_attribute 21, 1
|
|
|
4 .eabi_attribute 23, 3
|
|
|
5 .eabi_attribute 24, 1
|
|
|
6 .eabi_attribute 25, 1
|
|
|
7 .eabi_attribute 26, 1
|
|
|
8 .eabi_attribute 30, 1
|
|
|
9 .eabi_attribute 34, 0
|
|
|
10 .eabi_attribute 18, 4
|
|
|
11 .file "stm32l0xx_hal_gpio.c"
|
|
|
12 .text
|
|
|
13 .Ltext0:
|
|
|
14 .cfi_sections .debug_frame
|
|
|
15 .section .text.HAL_GPIO_Init,"ax",%progbits
|
|
|
16 .align 1
|
|
|
17 .global HAL_GPIO_Init
|
|
|
18 .syntax unified
|
|
|
19 .code 16
|
|
|
20 .thumb_func
|
|
|
21 .fpu softvfp
|
|
|
23 HAL_GPIO_Init:
|
|
|
24 .LFB39:
|
|
|
25 .file 1 "./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c"
|
|
|
1:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
2:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ******************************************************************************
|
|
|
3:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @file stm32l0xx_hal_gpio.c
|
|
|
4:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @author MCD Application Team
|
|
|
5:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief GPIO HAL module driver.
|
|
|
6:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * This file provides firmware functions to manage the following
|
|
|
7:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * functionalities of the General Purpose Input/Output (GPIO) peripheral:
|
|
|
8:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * + Initialization and de-initialization functions
|
|
|
9:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * + IO operation functions
|
|
|
10:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** *
|
|
|
11:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** @verbatim
|
|
|
12:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ==============================================================================
|
|
|
13:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ##### GPIO Peripheral features #####
|
|
|
14:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ==============================================================================
|
|
|
15:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** [..]
|
|
|
16:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (+) Each port bit of the general-purpose I/O (GPIO) ports can be individually
|
|
|
17:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** configured by software in several modes:
|
|
|
18:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) Input mode
|
|
|
19:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) Analog mode
|
|
|
20:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) Output mode
|
|
|
21:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) Alternate function mode
|
|
|
22:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) External interrupt/event lines
|
|
|
23:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
24:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (+) During and just after reset, the alternate functions and external interrupt
|
|
|
25:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** lines are not active and the I/O ports are configured in input floating mode.
|
|
|
26:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
27:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (+) All GPIO pins have weak internal pull-up and pull-down resistors, which can be
|
|
|
28:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** activated or not.
|
|
|
29:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
30:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (+) In Output or Alternate mode, each IO can be configured on open-drain or push-pull
|
|
|
31:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** type and the IO speed can be selected depending on the VDD value.
|
|
|
32:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
33:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (+) The microcontroller IO pins are connected to onboard peripherals/modules through a
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 2
|
|
|
|
|
|
|
|
|
34:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** multiplexer that allows only one peripheral alternate function (AF) connected
|
|
|
35:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** to an IO pin at a time. In this way, there can be no conflict between peripherals
|
|
|
36:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** sharing the same IO pin.
|
|
|
37:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
38:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (+) All ports have external interrupt/event capability. To use external interrupt
|
|
|
39:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** lines, the port must be configured in input mode. All available GPIO pins are
|
|
|
40:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** connected to the 16 external interrupt/event lines from EXTI0 to EXTI15.
|
|
|
41:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
42:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (+) The external interrupt/event controller consists of up to 28 edge detectors
|
|
|
43:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (16 lines are connected to GPIO) for generating event/interrupt requests (each
|
|
|
44:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** input line can be independently configured to select the type (interrupt or event)
|
|
|
45:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** and the corresponding trigger event (rising or falling or both). Each line can
|
|
|
46:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** also be masked independently.
|
|
|
47:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
48:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ##### How to use this driver #####
|
|
|
49:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ==============================================================================
|
|
|
50:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** [..]
|
|
|
51:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) Enable the GPIO IOPORT clock using the following function: __HAL_RCC_GPIOx_CLK_ENABLE().
|
|
|
52:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
53:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) Configure the GPIO pin(s) using HAL_GPIO_Init().
|
|
|
54:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure
|
|
|
55:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef
|
|
|
56:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** structure.
|
|
|
57:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) In case of Output or alternate function mode selection: the speed is
|
|
|
58:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** configured through "Speed" member from GPIO_InitTypeDef structure.
|
|
|
59:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) In alternate mode is selection, the alternate function connected to the IO
|
|
|
60:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** is configured through "Alternate" member from GPIO_InitTypeDef structure.
|
|
|
61:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) Analog mode is required when a pin is to be used as ADC channel
|
|
|
62:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** or DAC output.
|
|
|
63:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (++) In case of external interrupt/event selection the "Mode" member from
|
|
|
64:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIO_InitTypeDef structure select the type (interrupt or event) and
|
|
|
65:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** the corresponding trigger event (rising or falling or both).
|
|
|
66:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
67:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority
|
|
|
68:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using
|
|
|
69:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** HAL_NVIC_EnableIRQ().
|
|
|
70:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
71:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) HAL_GPIO_DeInit allows to set register values to their reset value. This function
|
|
|
72:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** is also to be used when unconfiguring pin which was used as an external interrupt
|
|
|
73:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** or in event mode. That is the only way to reset the corresponding bit in
|
|
|
74:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI & SYSCFG registers.
|
|
|
75:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
76:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin().
|
|
|
77:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
78:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) To set/reset the level of a pin configured in output mode use
|
|
|
79:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** HAL_GPIO_WritePin()/HAL_GPIO_TogglePin().
|
|
|
80:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
81:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
|
|
|
82:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
83:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) During and just after reset, the alternate functions are not
|
|
|
84:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** active and the GPIO pins are configured in input floating mode (except JTAG
|
|
|
85:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** pins).
|
|
|
86:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
87:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose
|
|
|
88:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (PC14 and PC15, respectively) when the LSE oscillator is off. The LSE has
|
|
|
89:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** priority over the GPIO function.
|
|
|
90:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 3
|
|
|
|
|
|
|
|
|
91:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
|
|
|
92:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** general purpose PH0 and PH1, respectively, when the HSE oscillator is off.
|
|
|
93:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** The HSE has priority over the GPIO function.
|
|
|
94:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
95:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** @endverbatim
|
|
|
96:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ******************************************************************************
|
|
|
97:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @attention
|
|
|
98:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** *
|
|
|
99:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
|
|
|
100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** *
|
|
|
101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * Redistribution and use in source and binary forms, with or without modification,
|
|
|
102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * are permitted provided that the following conditions are met:
|
|
|
103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * 1. Redistributions of source code must retain the above copyright notice,
|
|
|
104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * this list of conditions and the following disclaimer.
|
|
|
105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
|
106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * this list of conditions and the following disclaimer in the documentation
|
|
|
107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * and/or other materials provided with the distribution.
|
|
|
108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
|
109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * may be used to endorse or promote products derived from this software
|
|
|
110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * without specific prior written permission.
|
|
|
111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** *
|
|
|
112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
|
113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
|
116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
|
118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
|
119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
|
120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
|
121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** *
|
|
|
123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ******************************************************************************
|
|
|
124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
|
|
|
127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #include "stm32l0xx_hal.h"
|
|
|
128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /** @addtogroup STM32L0xx_HAL_Driver
|
|
|
130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @{
|
|
|
131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
|
|
|
134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /** @addtogroup GPIO
|
|
|
136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief GPIO HAL module driver
|
|
|
137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @{
|
|
|
138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /** @addtogroup GPIO_Private
|
|
|
141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @{
|
|
|
142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Private define ------------------------------------------------------------*/
|
|
|
144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #define GPIO_MODE ((uint32_t)0x00000003U)
|
|
|
147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #define EXTI_MODE ((uint32_t)0x10000000U)
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 4
|
|
|
|
|
|
|
|
|
148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #define GPIO_MODE_IT ((uint32_t)0x00010000U)
|
|
|
149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #define GPIO_MODE_EVT ((uint32_t)0x00020000U)
|
|
|
150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #define RISING_EDGE ((uint32_t)0x00100000U)
|
|
|
151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #define FALLING_EDGE ((uint32_t)0x00200000U)
|
|
|
152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #define GPIO_OUTPUT_TYPE ((uint32_t)0x00000010U)
|
|
|
153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** #define GPIO_NUMBER ((uint32_t)16U)
|
|
|
155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @}
|
|
|
158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /** @addtogroup GPIO_Exported_Functions
|
|
|
160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @{
|
|
|
161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /** @addtogroup GPIO_Exported_Functions_Group1
|
|
|
164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief Initialization and de-initialization functions
|
|
|
165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** *
|
|
|
166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** @verbatim
|
|
|
167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ===============================================================================
|
|
|
168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ##### Initialization and de-initialization functions #####
|
|
|
169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ===============================================================================
|
|
|
170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** @endverbatim
|
|
|
172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @{
|
|
|
173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief Initializes the GPIOx peripheral according to the specified parameters in the GPIO_Init
|
|
|
177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIOx: where x can be (A..E and H) to select the GPIO peripheral for STM32L0XX family d
|
|
|
178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * Note that GPIOE is not available on all devices.
|
|
|
179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIO_Init: pointer to a GPIO_InitTypeDef structure that contains
|
|
|
180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * the configuration information for the specified GPIO peripheral.
|
|
|
181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @retval None
|
|
|
182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
|
|
|
184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
26 .loc 1 184 0
|
|
|
27 .cfi_startproc
|
|
|
28 @ args = 0, pretend = 0, frame = 0
|
|
|
29 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
30 .LVL0:
|
|
|
31 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
32 .LCFI0:
|
|
|
33 .cfi_def_cfa_offset 20
|
|
|
34 .cfi_offset 4, -20
|
|
|
35 .cfi_offset 5, -16
|
|
|
36 .cfi_offset 6, -12
|
|
|
37 .cfi_offset 7, -8
|
|
|
38 .cfi_offset 14, -4
|
|
|
39 0002 C646 mov lr, r8
|
|
|
40 0004 00B5 push {lr}
|
|
|
41 .LCFI1:
|
|
|
42 .cfi_def_cfa_offset 24
|
|
|
43 .cfi_offset 8, -24
|
|
|
44 .LVL1:
|
|
|
185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** uint32_t position = 0x00U;
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 5
|
|
|
|
|
|
|
|
|
45 .loc 1 185 0
|
|
|
46 0006 0023 movs r3, #0
|
|
|
186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** uint32_t iocurrent = 0x00U;
|
|
|
187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** uint32_t temp = 0x00U;
|
|
|
188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Check the parameters */
|
|
|
190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
|
|
|
191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
|
|
|
192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_AVAILABLE(GPIOx,(GPIO_Init->Pin)));
|
|
|
193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure the port pins */
|
|
|
195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** while (((GPIO_Init->Pin) >> position) != 0)
|
|
|
47 .loc 1 195 0
|
|
|
48 0008 38E0 b .L2
|
|
|
49 .LVL2:
|
|
|
50 .L21:
|
|
|
196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Get the IO position */
|
|
|
198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** iocurrent = (GPIO_Init->Pin) & (1U << position);
|
|
|
199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if(iocurrent)
|
|
|
201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /*--------------------- GPIO Mode Configuration ------------------------*/
|
|
|
203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* In case of Alternate function mode selection */
|
|
|
204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
|
|
|
205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Check if the Alternate function is compliant with the GPIO in use */
|
|
|
207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_AF_AVAILABLE(GPIOx,(GPIO_Init->Alternate)));
|
|
|
208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure Alternate function mapped with the current IO */
|
|
|
209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp = GPIOx->AFR[position >> 3U];
|
|
|
210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~((uint32_t)0xFU << ((uint32_t)(position & (uint32_t)0x07U) * 4U)) ;
|
|
|
211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07U) * 4U))
|
|
|
212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] = temp;
|
|
|
213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* In case of Output or Alternate function mode selection */
|
|
|
216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
|
|
|
217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
|
|
|
218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Check the Speed parameter */
|
|
|
220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
|
|
|
221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure the IO Speed */
|
|
|
222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp = GPIOx->OSPEEDR;
|
|
|
223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEED0 << (position * 2U));
|
|
|
224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2U));
|
|
|
225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
|
|
|
226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure the IO Output Type */
|
|
|
228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp= GPIOx->OTYPER;
|
|
|
229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
|
|
|
230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4U) << position);
|
|
|
231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->OTYPER = temp;
|
|
|
232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
|
|
|
235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp = GPIOx->MODER;
|
|
|
236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODE0 << (position * 2U));
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 6
|
|
|
|
|
|
|
|
|
237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
|
|
|
238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->MODER = temp;
|
|
|
239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Activate the Pull-up or Pull down resistor for the current IO */
|
|
|
241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp = GPIOx->PUPDR;
|
|
|
242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPD0 << (position * 2U));
|
|
|
243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2U));
|
|
|
244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->PUPDR = temp;
|
|
|
245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /*--------------------- EXTI Mode Configuration ------------------------*/
|
|
|
247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
|
|
|
248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE)
|
|
|
249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Enable SYSCFG Clock */
|
|
|
251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
|
|
|
252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp = SYSCFG->EXTICR[position >> 2U];
|
|
|
254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** CLEAR_BIT(temp, ((uint32_t)0x0FU) << (4U * (position & 0x03U)));
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SET_BIT(temp, (GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03U)));
|
|
|
51 .loc 1 255 0
|
|
|
52 000a 0526 movs r6, #5
|
|
|
53 000c 00E0 b .L8
|
|
|
54 .L14:
|
|
|
55 000e 0026 movs r6, #0
|
|
|
56 .L8:
|
|
|
57 .loc 1 255 0 is_stmt 0 discriminator 24
|
|
|
58 0010 AE40 lsls r6, r6, r5
|
|
|
59 0012 3500 movs r5, r6
|
|
|
60 0014 3D43 orrs r5, r7
|
|
|
61 .LVL3:
|
|
|
256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
|
|
|
62 .loc 1 256 0 is_stmt 1 discriminator 24
|
|
|
63 0016 0234 adds r4, r4, #2
|
|
|
64 0018 A400 lsls r4, r4, #2
|
|
|
65 001a 584E ldr r6, .L22
|
|
|
66 001c A551 str r5, [r4, r6]
|
|
|
257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Clear EXTI line configuration */
|
|
|
259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp = EXTI->IMR;
|
|
|
67 .loc 1 259 0 discriminator 24
|
|
|
68 001e 584C ldr r4, .L22+4
|
|
|
69 0020 2568 ldr r5, [r4]
|
|
|
70 .LVL4:
|
|
|
260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
|
|
|
71 .loc 1 260 0 discriminator 24
|
|
|
72 0022 4246 mov r2, r8
|
|
|
73 0024 D443 mvns r4, r2
|
|
|
74 0026 2E00 movs r6, r5
|
|
|
75 0028 2640 ands r6, r4
|
|
|
76 .LVL5:
|
|
|
261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT)
|
|
|
77 .loc 1 261 0 discriminator 24
|
|
|
78 002a 4A68 ldr r2, [r1, #4]
|
|
|
79 002c D203 lsls r2, r2, #15
|
|
|
80 002e 02D5 bpl .L9
|
|
|
262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= iocurrent;
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 7
|
|
|
|
|
|
|
|
|
81 .loc 1 263 0
|
|
|
82 0030 4246 mov r2, r8
|
|
|
83 0032 1543 orrs r5, r2
|
|
|
84 0034 2E00 movs r6, r5
|
|
|
85 .LVL6:
|
|
|
86 .L9:
|
|
|
264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->IMR = temp;
|
|
|
87 .loc 1 265 0
|
|
|
88 0036 524D ldr r5, .L22+4
|
|
|
89 0038 2E60 str r6, [r5]
|
|
|
266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp = EXTI->EMR;
|
|
|
90 .loc 1 267 0
|
|
|
91 003a 6D68 ldr r5, [r5, #4]
|
|
|
92 .LVL7:
|
|
|
268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
|
|
|
93 .loc 1 268 0
|
|
|
94 003c 2E00 movs r6, r5
|
|
|
95 003e 2640 ands r6, r4
|
|
|
96 .LVL8:
|
|
|
269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT)
|
|
|
97 .loc 1 269 0
|
|
|
98 0040 4A68 ldr r2, [r1, #4]
|
|
|
99 0042 9203 lsls r2, r2, #14
|
|
|
100 0044 02D5 bpl .L10
|
|
|
270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= iocurrent;
|
|
|
101 .loc 1 271 0
|
|
|
102 0046 4246 mov r2, r8
|
|
|
103 0048 1543 orrs r5, r2
|
|
|
104 004a 2E00 movs r6, r5
|
|
|
105 .LVL9:
|
|
|
106 .L10:
|
|
|
272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->EMR = temp;
|
|
|
107 .loc 1 273 0
|
|
|
108 004c 4C4D ldr r5, .L22+4
|
|
|
109 004e 6E60 str r6, [r5, #4]
|
|
|
274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
|
|
|
276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp = EXTI->RTSR;
|
|
|
110 .loc 1 276 0
|
|
|
111 0050 AD68 ldr r5, [r5, #8]
|
|
|
112 .LVL10:
|
|
|
277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
|
|
|
113 .loc 1 277 0
|
|
|
114 0052 2E00 movs r6, r5
|
|
|
115 0054 2640 ands r6, r4
|
|
|
116 .LVL11:
|
|
|
278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE)
|
|
|
117 .loc 1 278 0
|
|
|
118 0056 4A68 ldr r2, [r1, #4]
|
|
|
119 0058 D202 lsls r2, r2, #11
|
|
|
120 005a 02D5 bpl .L11
|
|
|
279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= iocurrent;
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 8
|
|
|
|
|
|
|
|
|
121 .loc 1 280 0
|
|
|
122 005c 4246 mov r2, r8
|
|
|
123 005e 1543 orrs r5, r2
|
|
|
124 0060 2E00 movs r6, r5
|
|
|
125 .LVL12:
|
|
|
126 .L11:
|
|
|
281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->RTSR = temp;
|
|
|
127 .loc 1 282 0
|
|
|
128 0062 474D ldr r5, .L22+4
|
|
|
129 0064 AE60 str r6, [r5, #8]
|
|
|
283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp = EXTI->FTSR;
|
|
|
130 .loc 1 284 0
|
|
|
131 0066 ED68 ldr r5, [r5, #12]
|
|
|
132 .LVL13:
|
|
|
285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~((uint32_t)iocurrent);
|
|
|
133 .loc 1 285 0
|
|
|
134 0068 2C40 ands r4, r5
|
|
|
135 .LVL14:
|
|
|
286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE)
|
|
|
136 .loc 1 286 0
|
|
|
137 006a 4A68 ldr r2, [r1, #4]
|
|
|
138 006c 9202 lsls r2, r2, #10
|
|
|
139 006e 02D5 bpl .L12
|
|
|
287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= iocurrent;
|
|
|
140 .loc 1 288 0
|
|
|
141 0070 4246 mov r2, r8
|
|
|
142 0072 2A43 orrs r2, r5
|
|
|
143 0074 1400 movs r4, r2
|
|
|
144 .LVL15:
|
|
|
145 .L12:
|
|
|
289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->FTSR = temp;
|
|
|
146 .loc 1 290 0
|
|
|
147 0076 424A ldr r2, .L22+4
|
|
|
148 0078 D460 str r4, [r2, #12]
|
|
|
149 .LVL16:
|
|
|
150 .L3:
|
|
|
291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** position++;
|
|
|
151 .loc 1 293 0
|
|
|
152 007a 0133 adds r3, r3, #1
|
|
|
153 .LVL17:
|
|
|
154 .L2:
|
|
|
195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
155 .loc 1 195 0
|
|
|
156 007c 0A68 ldr r2, [r1]
|
|
|
157 007e 1400 movs r4, r2
|
|
|
158 0080 DC40 lsrs r4, r4, r3
|
|
|
159 0082 77D0 beq .L20
|
|
|
198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
160 .loc 1 198 0
|
|
|
161 0084 0124 movs r4, #1
|
|
|
162 0086 9C40 lsls r4, r4, r3
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 9
|
|
|
|
|
|
|
|
|
163 0088 2240 ands r2, r4
|
|
|
164 008a 9046 mov r8, r2
|
|
|
165 .LVL18:
|
|
|
200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
166 .loc 1 200 0
|
|
|
167 008c F5D0 beq .L3
|
|
|
204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
168 .loc 1 204 0
|
|
|
169 008e 4D68 ldr r5, [r1, #4]
|
|
|
170 0090 022D cmp r5, #2
|
|
|
171 0092 01D0 beq .L4
|
|
|
204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
172 .loc 1 204 0 is_stmt 0 discriminator 1
|
|
|
173 0094 122D cmp r5, #18
|
|
|
174 0096 0ED1 bne .L5
|
|
|
175 .L4:
|
|
|
209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~((uint32_t)0xFU << ((uint32_t)(position & (uint32_t)0x07U) * 4U)) ;
|
|
|
176 .loc 1 209 0 is_stmt 1
|
|
|
177 0098 DD08 lsrs r5, r3, #3
|
|
|
178 009a 0835 adds r5, r5, #8
|
|
|
179 009c AD00 lsls r5, r5, #2
|
|
|
180 009e 2F58 ldr r7, [r5, r0]
|
|
|
181 .LVL19:
|
|
|
210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07U) * 4U))
|
|
|
182 .loc 1 210 0
|
|
|
183 00a0 0726 movs r6, #7
|
|
|
184 00a2 1E40 ands r6, r3
|
|
|
185 00a4 B600 lsls r6, r6, #2
|
|
|
186 00a6 0F22 movs r2, #15
|
|
|
187 .LVL20:
|
|
|
188 00a8 B240 lsls r2, r2, r6
|
|
|
189 00aa 9743 bics r7, r2
|
|
|
190 .LVL21:
|
|
|
211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] = temp;
|
|
|
191 .loc 1 211 0
|
|
|
192 00ac 0A69 ldr r2, [r1, #16]
|
|
|
193 00ae B240 lsls r2, r2, r6
|
|
|
194 00b0 1600 movs r6, r2
|
|
|
195 00b2 3E43 orrs r6, r7
|
|
|
196 .LVL22:
|
|
|
212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
197 .loc 1 212 0
|
|
|
198 00b4 2E50 str r6, [r5, r0]
|
|
|
199 .LVL23:
|
|
|
200 .L5:
|
|
|
216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
|
|
|
201 .loc 1 216 0
|
|
|
202 00b6 4D68 ldr r5, [r1, #4]
|
|
|
203 00b8 6E1E subs r6, r5, #1
|
|
|
204 00ba 012E cmp r6, #1
|
|
|
205 00bc 03D9 bls .L6
|
|
|
216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
|
|
|
206 .loc 1 216 0 is_stmt 0 discriminator 1
|
|
|
207 00be 112D cmp r5, #17
|
|
|
208 00c0 01D0 beq .L6
|
|
|
217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
209 .loc 1 217 0 is_stmt 1
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 10
|
|
|
|
|
|
|
|
|
210 00c2 122D cmp r5, #18
|
|
|
211 00c4 12D1 bne .L7
|
|
|
212 .L6:
|
|
|
222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEED0 << (position * 2U));
|
|
|
213 .loc 1 222 0
|
|
|
214 00c6 8568 ldr r5, [r0, #8]
|
|
|
215 .LVL24:
|
|
|
223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2U));
|
|
|
216 .loc 1 223 0
|
|
|
217 00c8 5F00 lsls r7, r3, #1
|
|
|
218 00ca 0326 movs r6, #3
|
|
|
219 00cc BE40 lsls r6, r6, r7
|
|
|
220 00ce B543 bics r5, r6
|
|
|
221 .LVL25:
|
|
|
222 00d0 2E00 movs r6, r5
|
|
|
223 .LVL26:
|
|
|
224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
|
|
|
224 .loc 1 224 0
|
|
|
225 00d2 CD68 ldr r5, [r1, #12]
|
|
|
226 .LVL27:
|
|
|
227 00d4 BD40 lsls r5, r5, r7
|
|
|
228 00d6 3543 orrs r5, r6
|
|
|
229 .LVL28:
|
|
|
225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
230 .loc 1 225 0
|
|
|
231 00d8 8560 str r5, [r0, #8]
|
|
|
228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
|
|
|
232 .loc 1 228 0
|
|
|
233 00da 4568 ldr r5, [r0, #4]
|
|
|
234 .LVL29:
|
|
|
229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4U) << position);
|
|
|
235 .loc 1 229 0
|
|
|
236 00dc A543 bics r5, r4
|
|
|
237 .LVL30:
|
|
|
230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->OTYPER = temp;
|
|
|
238 .loc 1 230 0
|
|
|
239 00de 4A68 ldr r2, [r1, #4]
|
|
|
240 00e0 1609 lsrs r6, r2, #4
|
|
|
241 00e2 0124 movs r4, #1
|
|
|
242 00e4 3440 ands r4, r6
|
|
|
243 00e6 9C40 lsls r4, r4, r3
|
|
|
244 00e8 2C43 orrs r4, r5
|
|
|
245 .LVL31:
|
|
|
231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
246 .loc 1 231 0
|
|
|
247 00ea 4460 str r4, [r0, #4]
|
|
|
248 .LVL32:
|
|
|
249 .L7:
|
|
|
235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODE0 << (position * 2U));
|
|
|
250 .loc 1 235 0
|
|
|
251 00ec 0768 ldr r7, [r0]
|
|
|
252 .LVL33:
|
|
|
236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2U));
|
|
|
253 .loc 1 236 0
|
|
|
254 00ee 5E00 lsls r6, r3, #1
|
|
|
255 00f0 0324 movs r4, #3
|
|
|
256 00f2 2500 movs r5, r4
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 11
|
|
|
|
|
|
|
|
|
257 00f4 B540 lsls r5, r5, r6
|
|
|
258 00f6 ED43 mvns r5, r5
|
|
|
259 00f8 2F40 ands r7, r5
|
|
|
260 .LVL34:
|
|
|
237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->MODER = temp;
|
|
|
261 .loc 1 237 0
|
|
|
262 00fa 4A68 ldr r2, [r1, #4]
|
|
|
263 00fc 1440 ands r4, r2
|
|
|
264 00fe B440 lsls r4, r4, r6
|
|
|
265 0100 3C43 orrs r4, r7
|
|
|
266 .LVL35:
|
|
|
238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
267 .loc 1 238 0
|
|
|
268 0102 0460 str r4, [r0]
|
|
|
241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPD0 << (position * 2U));
|
|
|
269 .loc 1 241 0
|
|
|
270 0104 C468 ldr r4, [r0, #12]
|
|
|
271 .LVL36:
|
|
|
242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2U));
|
|
|
272 .loc 1 242 0
|
|
|
273 0106 2540 ands r5, r4
|
|
|
274 .LVL37:
|
|
|
243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->PUPDR = temp;
|
|
|
275 .loc 1 243 0
|
|
|
276 0108 8C68 ldr r4, [r1, #8]
|
|
|
277 010a B440 lsls r4, r4, r6
|
|
|
278 010c 2C43 orrs r4, r5
|
|
|
279 .LVL38:
|
|
|
244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
280 .loc 1 244 0
|
|
|
281 010e C460 str r4, [r0, #12]
|
|
|
248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
282 .loc 1 248 0
|
|
|
283 0110 4A68 ldr r2, [r1, #4]
|
|
|
284 0112 D200 lsls r2, r2, #3
|
|
|
285 0114 B1D5 bpl .L3
|
|
|
251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
286 .loc 1 251 0
|
|
|
287 0116 1B4D ldr r5, .L22+8
|
|
|
288 0118 6C6B ldr r4, [r5, #52]
|
|
|
289 .LVL39:
|
|
|
290 011a 0126 movs r6, #1
|
|
|
291 011c 3443 orrs r4, r6
|
|
|
292 011e 6C63 str r4, [r5, #52]
|
|
|
293 .LVL40:
|
|
|
253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** CLEAR_BIT(temp, ((uint32_t)0x0FU) << (4U * (position & 0x03U)));
|
|
|
294 .loc 1 253 0
|
|
|
295 0120 9C08 lsrs r4, r3, #2
|
|
|
296 0122 A51C adds r5, r4, #2
|
|
|
297 0124 AD00 lsls r5, r5, #2
|
|
|
298 0126 154E ldr r6, .L22
|
|
|
299 0128 AF59 ldr r7, [r5, r6]
|
|
|
300 .LVL41:
|
|
|
254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SET_BIT(temp, (GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03U)));
|
|
|
301 .loc 1 254 0
|
|
|
302 012a 0326 movs r6, #3
|
|
|
303 012c 1E40 ands r6, r3
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 12
|
|
|
|
|
|
|
|
|
304 012e B500 lsls r5, r6, #2
|
|
|
305 0130 0F26 movs r6, #15
|
|
|
306 0132 AE40 lsls r6, r6, r5
|
|
|
307 0134 B743 bics r7, r6
|
|
|
308 .LVL42:
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
|
|
|
309 .loc 1 255 0
|
|
|
310 0136 A026 movs r6, #160
|
|
|
311 0138 F605 lsls r6, r6, #23
|
|
|
312 013a B042 cmp r0, r6
|
|
|
313 013c 00D1 bne .LCB317
|
|
|
314 013e 66E7 b .L14 @long jump
|
|
|
315 .LCB317:
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
|
|
|
316 .loc 1 255 0 is_stmt 0 discriminator 1
|
|
|
317 0140 114E ldr r6, .L22+12
|
|
|
318 0142 B042 cmp r0, r6
|
|
|
319 0144 0ED0 beq .L15
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
|
|
|
320 .loc 1 255 0 discriminator 3
|
|
|
321 0146 114E ldr r6, .L22+16
|
|
|
322 0148 B042 cmp r0, r6
|
|
|
323 014a 0DD0 beq .L16
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
|
|
|
324 .loc 1 255 0 discriminator 5
|
|
|
325 014c 104E ldr r6, .L22+20
|
|
|
326 014e B042 cmp r0, r6
|
|
|
327 0150 0CD0 beq .L17
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
|
|
|
328 .loc 1 255 0 discriminator 7
|
|
|
329 0152 104E ldr r6, .L22+24
|
|
|
330 0154 B042 cmp r0, r6
|
|
|
331 0156 0BD0 beq .L18
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
|
|
|
332 .loc 1 255 0 discriminator 9
|
|
|
333 0158 0F4E ldr r6, .L22+28
|
|
|
334 015a B042 cmp r0, r6
|
|
|
335 015c 00D1 bne .LCB332
|
|
|
336 015e 54E7 b .L21 @long jump
|
|
|
337 .LCB332:
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] = temp;
|
|
|
338 .loc 1 255 0
|
|
|
339 0160 0626 movs r6, #6
|
|
|
340 0162 55E7 b .L8
|
|
|
341 .L15:
|
|
|
342 0164 0126 movs r6, #1
|
|
|
343 0166 53E7 b .L8
|
|
|
344 .L16:
|
|
|
345 0168 0226 movs r6, #2
|
|
|
346 016a 51E7 b .L8
|
|
|
347 .L17:
|
|
|
348 016c 0326 movs r6, #3
|
|
|
349 016e 4FE7 b .L8
|
|
|
350 .L18:
|
|
|
351 0170 0426 movs r6, #4
|
|
|
352 0172 4DE7 b .L8
|
|
|
353 .LVL43:
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 13
|
|
|
|
|
|
|
|
|
354 .L20:
|
|
|
294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
355 .loc 1 295 0 is_stmt 1
|
|
|
356 @ sp needed
|
|
|
357 0174 04BC pop {r2}
|
|
|
358 0176 9046 mov r8, r2
|
|
|
359 0178 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
360 .L23:
|
|
|
361 017a C046 .align 2
|
|
|
362 .L22:
|
|
|
363 017c 00000140 .word 1073807360
|
|
|
364 0180 00040140 .word 1073808384
|
|
|
365 0184 00100240 .word 1073876992
|
|
|
366 0188 00040050 .word 1342178304
|
|
|
367 018c 00080050 .word 1342179328
|
|
|
368 0190 000C0050 .word 1342180352
|
|
|
369 0194 00100050 .word 1342181376
|
|
|
370 0198 001C0050 .word 1342184448
|
|
|
371 .cfi_endproc
|
|
|
372 .LFE39:
|
|
|
374 .section .text.HAL_GPIO_DeInit,"ax",%progbits
|
|
|
375 .align 1
|
|
|
376 .global HAL_GPIO_DeInit
|
|
|
377 .syntax unified
|
|
|
378 .code 16
|
|
|
379 .thumb_func
|
|
|
380 .fpu softvfp
|
|
|
382 HAL_GPIO_DeInit:
|
|
|
383 .LFB40:
|
|
|
296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief De-initializes the GPIOx peripheral registers to their default reset values.
|
|
|
299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIOx: where x can be (A..E and H) to select the GPIO peripheral for STM32L0XX family d
|
|
|
300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * Note that GPIOE is not available on all devices.
|
|
|
301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIO_Pin: specifies the port bit to be written.
|
|
|
302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
|
|
|
303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * All port bits are not necessarily available on all GPIOs.
|
|
|
304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @retval None
|
|
|
305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
|
|
|
307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
384 .loc 1 307 0
|
|
|
385 .cfi_startproc
|
|
|
386 @ args = 0, pretend = 0, frame = 0
|
|
|
387 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
388 .LVL44:
|
|
|
389 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
390 .LCFI2:
|
|
|
391 .cfi_def_cfa_offset 20
|
|
|
392 .cfi_offset 4, -20
|
|
|
393 .cfi_offset 5, -16
|
|
|
394 .cfi_offset 6, -12
|
|
|
395 .cfi_offset 7, -8
|
|
|
396 .cfi_offset 14, -4
|
|
|
397 0002 D646 mov lr, r10
|
|
|
398 0004 4F46 mov r7, r9
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 14
|
|
|
|
|
|
|
|
|
399 0006 4646 mov r6, r8
|
|
|
400 0008 C0B5 push {r6, r7, lr}
|
|
|
401 .LCFI3:
|
|
|
402 .cfi_def_cfa_offset 32
|
|
|
403 .cfi_offset 8, -32
|
|
|
404 .cfi_offset 9, -28
|
|
|
405 .cfi_offset 10, -24
|
|
|
406 .LVL45:
|
|
|
308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** uint32_t position = 0x00U;
|
|
|
407 .loc 1 308 0
|
|
|
408 000a 0023 movs r3, #0
|
|
|
309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** uint32_t iocurrent = 0x00U;
|
|
|
310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** uint32_t tmp = 0x00U;
|
|
|
311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Check the parameters */
|
|
|
313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_AVAILABLE(GPIOx,GPIO_Pin));
|
|
|
314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure the port pins */
|
|
|
316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** while ((GPIO_Pin >> position) != 0)
|
|
|
409 .loc 1 316 0
|
|
|
410 000c 06E0 b .L25
|
|
|
411 .LVL46:
|
|
|
412 .L37:
|
|
|
317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Get the IO position */
|
|
|
319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** iocurrent = (GPIO_Pin) & (1U << position);
|
|
|
320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if(iocurrent)
|
|
|
322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /*------------------------- GPIO Mode Configuration --------------------*/
|
|
|
324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure IO Direction in Input Floting Mode */
|
|
|
325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->MODER |= (GPIO_MODER_MODE0 << (position * 2U));
|
|
|
326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure the default Alternate Function in current IO */
|
|
|
328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->AFR[position >> 3U] &= ~((uint32_t)0xFU << ((uint32_t)(position & (uint32_t)0x07U) * 4
|
|
|
329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure the default value for IO Speed */
|
|
|
331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEED0 << (position * 2U));
|
|
|
332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Configure the default value IO Output Type */
|
|
|
334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ;
|
|
|
335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Deactivate the Pull-up oand Pull-down resistor for the current IO */
|
|
|
337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPD0 << (position * 2U));
|
|
|
338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /*------------------------- EXTI Mode Configuration --------------------*/
|
|
|
340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Clear the External Interrupt or Event for the current IO */
|
|
|
341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** tmp = SYSCFG->EXTICR[position >> 2U];
|
|
|
343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** tmp &= (((uint32_t)0x0FU) << (4U * (position & 0x03U)));
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if(tmp == (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U))))
|
|
|
413 .loc 1 344 0
|
|
|
414 000e 0525 movs r5, #5
|
|
|
415 0010 00E0 b .L27
|
|
|
416 .L29:
|
|
|
417 0012 0025 movs r5, #0
|
|
|
418 .L27:
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 15
|
|
|
|
|
|
|
|
|
419 .loc 1 344 0 is_stmt 0 discriminator 24
|
|
|
420 0014 9540 lsls r5, r5, r2
|
|
|
421 0016 A542 cmp r5, r4
|
|
|
422 0018 54D0 beq .L35
|
|
|
423 .LVL47:
|
|
|
424 .L26:
|
|
|
345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** tmp = ((uint32_t)0x0FU) << (4U * (position & 0x03U));
|
|
|
347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2U] &= ~tmp;
|
|
|
348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Clear EXTI line configuration */
|
|
|
350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->IMR &= ~((uint32_t)iocurrent);
|
|
|
351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
|
|
|
352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
|
|
|
354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
|
|
|
355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
|
|
|
356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** position++;
|
|
|
425 .loc 1 358 0 is_stmt 1
|
|
|
426 001a 0133 adds r3, r3, #1
|
|
|
427 .LVL48:
|
|
|
428 .L25:
|
|
|
316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
429 .loc 1 316 0
|
|
|
430 001c 0A00 movs r2, r1
|
|
|
431 001e DA40 lsrs r2, r2, r3
|
|
|
432 0020 66D0 beq .L36
|
|
|
319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
433 .loc 1 319 0
|
|
|
434 0022 0122 movs r2, #1
|
|
|
435 0024 9A40 lsls r2, r2, r3
|
|
|
436 0026 0C00 movs r4, r1
|
|
|
437 0028 1440 ands r4, r2
|
|
|
438 002a A446 mov ip, r4
|
|
|
439 .LVL49:
|
|
|
321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
440 .loc 1 321 0
|
|
|
441 002c F5D0 beq .L26
|
|
|
325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
442 .loc 1 325 0
|
|
|
443 002e 0668 ldr r6, [r0]
|
|
|
444 0030 5D00 lsls r5, r3, #1
|
|
|
445 0032 0324 movs r4, #3
|
|
|
446 .LVL50:
|
|
|
447 0034 A246 mov r10, r4
|
|
|
448 0036 2700 movs r7, r4
|
|
|
449 0038 AF40 lsls r7, r7, r5
|
|
|
450 003a 3D00 movs r5, r7
|
|
|
451 003c 3E43 orrs r6, r7
|
|
|
452 003e 0660 str r6, [r0]
|
|
|
328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
453 .loc 1 328 0
|
|
|
454 0040 DF08 lsrs r7, r3, #3
|
|
|
455 0042 0837 adds r7, r7, #8
|
|
|
456 0044 BF00 lsls r7, r7, #2
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 16
|
|
|
|
|
|
|
|
|
457 0046 3C58 ldr r4, [r7, r0]
|
|
|
458 0048 A146 mov r9, r4
|
|
|
459 004a 0726 movs r6, #7
|
|
|
460 004c 1E40 ands r6, r3
|
|
|
461 004e B600 lsls r6, r6, #2
|
|
|
462 0050 0F24 movs r4, #15
|
|
|
463 0052 A046 mov r8, r4
|
|
|
464 0054 B440 lsls r4, r4, r6
|
|
|
465 0056 2600 movs r6, r4
|
|
|
466 0058 4C46 mov r4, r9
|
|
|
467 005a B443 bics r4, r6
|
|
|
468 005c 3C50 str r4, [r7, r0]
|
|
|
331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
469 .loc 1 331 0
|
|
|
470 005e 8668 ldr r6, [r0, #8]
|
|
|
471 0060 ED43 mvns r5, r5
|
|
|
472 0062 2E40 ands r6, r5
|
|
|
473 0064 8660 str r6, [r0, #8]
|
|
|
334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
474 .loc 1 334 0
|
|
|
475 0066 4668 ldr r6, [r0, #4]
|
|
|
476 0068 9643 bics r6, r2
|
|
|
477 006a 4660 str r6, [r0, #4]
|
|
|
337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
478 .loc 1 337 0
|
|
|
479 006c C268 ldr r2, [r0, #12]
|
|
|
480 006e 1540 ands r5, r2
|
|
|
481 0070 C560 str r5, [r0, #12]
|
|
|
342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** tmp &= (((uint32_t)0x0FU) << (4U * (position & 0x03U)));
|
|
|
482 .loc 1 342 0
|
|
|
483 0072 9E08 lsrs r6, r3, #2
|
|
|
484 0074 B51C adds r5, r6, #2
|
|
|
485 0076 AD00 lsls r5, r5, #2
|
|
|
486 0078 204A ldr r2, .L38
|
|
|
487 007a AD58 ldr r5, [r5, r2]
|
|
|
488 .LVL51:
|
|
|
343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if(tmp == (GPIO_GET_INDEX(GPIOx) << (4U * (position & 0x03U))))
|
|
|
489 .loc 1 343 0
|
|
|
490 007c 5246 mov r2, r10
|
|
|
491 007e 1A40 ands r2, r3
|
|
|
492 0080 9200 lsls r2, r2, #2
|
|
|
493 0082 4746 mov r7, r8
|
|
|
494 0084 9740 lsls r7, r7, r2
|
|
|
495 0086 2C00 movs r4, r5
|
|
|
496 0088 3C40 ands r4, r7
|
|
|
497 .LVL52:
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
498 .loc 1 344 0
|
|
|
499 008a A025 movs r5, #160
|
|
|
500 008c ED05 lsls r5, r5, #23
|
|
|
501 008e A842 cmp r0, r5
|
|
|
502 0090 BFD0 beq .L29
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
503 .loc 1 344 0 is_stmt 0 discriminator 1
|
|
|
504 0092 1B4D ldr r5, .L38+4
|
|
|
505 0094 A842 cmp r0, r5
|
|
|
506 0096 0DD0 beq .L30
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 17
|
|
|
|
|
|
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
507 .loc 1 344 0 discriminator 3
|
|
|
508 0098 1A4D ldr r5, .L38+8
|
|
|
509 009a A842 cmp r0, r5
|
|
|
510 009c 0CD0 beq .L31
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
511 .loc 1 344 0 discriminator 5
|
|
|
512 009e 1A4D ldr r5, .L38+12
|
|
|
513 00a0 A842 cmp r0, r5
|
|
|
514 00a2 0BD0 beq .L32
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
515 .loc 1 344 0 discriminator 7
|
|
|
516 00a4 194D ldr r5, .L38+16
|
|
|
517 00a6 A842 cmp r0, r5
|
|
|
518 00a8 0AD0 beq .L33
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
519 .loc 1 344 0 discriminator 9
|
|
|
520 00aa 194D ldr r5, .L38+20
|
|
|
521 00ac A842 cmp r0, r5
|
|
|
522 00ae AED0 beq .L37
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
523 .loc 1 344 0
|
|
|
524 00b0 0625 movs r5, #6
|
|
|
525 00b2 AFE7 b .L27
|
|
|
526 .L30:
|
|
|
527 00b4 0125 movs r5, #1
|
|
|
528 00b6 ADE7 b .L27
|
|
|
529 .L31:
|
|
|
530 00b8 0225 movs r5, #2
|
|
|
531 00ba ABE7 b .L27
|
|
|
532 .L32:
|
|
|
533 00bc 0325 movs r5, #3
|
|
|
534 00be A9E7 b .L27
|
|
|
535 .L33:
|
|
|
536 00c0 0425 movs r5, #4
|
|
|
537 00c2 A7E7 b .L27
|
|
|
538 .L35:
|
|
|
539 .LVL53:
|
|
|
347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
540 .loc 1 347 0 is_stmt 1
|
|
|
541 00c4 0D4D ldr r5, .L38
|
|
|
542 00c6 B21C adds r2, r6, #2
|
|
|
543 00c8 9200 lsls r2, r2, #2
|
|
|
544 00ca 5459 ldr r4, [r2, r5]
|
|
|
545 00cc BC43 bics r4, r7
|
|
|
546 00ce 5451 str r4, [r2, r5]
|
|
|
350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
|
|
|
547 .loc 1 350 0
|
|
|
548 00d0 104C ldr r4, .L38+24
|
|
|
549 00d2 2568 ldr r5, [r4]
|
|
|
550 00d4 6246 mov r2, ip
|
|
|
551 00d6 D243 mvns r2, r2
|
|
|
552 00d8 1540 ands r5, r2
|
|
|
553 00da 2560 str r5, [r4]
|
|
|
351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
554 .loc 1 351 0
|
|
|
555 00dc 6568 ldr r5, [r4, #4]
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 18
|
|
|
|
|
|
|
|
|
556 00de 1540 ands r5, r2
|
|
|
557 00e0 6560 str r5, [r4, #4]
|
|
|
354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
|
|
|
558 .loc 1 354 0
|
|
|
559 00e2 A568 ldr r5, [r4, #8]
|
|
|
560 00e4 1540 ands r5, r2
|
|
|
561 00e6 A560 str r5, [r4, #8]
|
|
|
355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
562 .loc 1 355 0
|
|
|
563 00e8 E568 ldr r5, [r4, #12]
|
|
|
564 00ea 2A40 ands r2, r5
|
|
|
565 00ec E260 str r2, [r4, #12]
|
|
|
566 00ee 94E7 b .L26
|
|
|
567 .LVL54:
|
|
|
568 .L36:
|
|
|
359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
569 .loc 1 360 0
|
|
|
570 @ sp needed
|
|
|
571 00f0 1CBC pop {r2, r3, r4}
|
|
|
572 00f2 9046 mov r8, r2
|
|
|
573 00f4 9946 mov r9, r3
|
|
|
574 00f6 A246 mov r10, r4
|
|
|
575 00f8 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
576 .L39:
|
|
|
577 00fa C046 .align 2
|
|
|
578 .L38:
|
|
|
579 00fc 00000140 .word 1073807360
|
|
|
580 0100 00040050 .word 1342178304
|
|
|
581 0104 00080050 .word 1342179328
|
|
|
582 0108 000C0050 .word 1342180352
|
|
|
583 010c 00100050 .word 1342181376
|
|
|
584 0110 001C0050 .word 1342184448
|
|
|
585 0114 00040140 .word 1073808384
|
|
|
586 .cfi_endproc
|
|
|
587 .LFE40:
|
|
|
589 .section .text.HAL_GPIO_ReadPin,"ax",%progbits
|
|
|
590 .align 1
|
|
|
591 .global HAL_GPIO_ReadPin
|
|
|
592 .syntax unified
|
|
|
593 .code 16
|
|
|
594 .thumb_func
|
|
|
595 .fpu softvfp
|
|
|
597 HAL_GPIO_ReadPin:
|
|
|
598 .LFB41:
|
|
|
361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @}
|
|
|
364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /** @addtogroup GPIO_Exported_Functions_Group2
|
|
|
367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief GPIO Read and Write
|
|
|
368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** *
|
|
|
369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** @verbatim
|
|
|
370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ===============================================================================
|
|
|
371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ##### IO operation functions #####
|
|
|
372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** ===============================================================================
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 19
|
|
|
|
|
|
|
|
|
373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** @endverbatim
|
|
|
375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @{
|
|
|
376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief Reads the specified input port pin.
|
|
|
380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIOx: where x can be (A..E and H) to select the GPIO peripheral for STM32L0xx family d
|
|
|
381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * Note that GPIOE is not available on all devices.
|
|
|
382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIO_Pin: specifies the port bit to read.
|
|
|
383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * This parameter can be GPIO_PIN_x where x can be (0..15).
|
|
|
384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * All port bits are not necessarily available on all GPIOs.
|
|
|
385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @retval The input port pin value.
|
|
|
386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
|
|
|
388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
599 .loc 1 388 0
|
|
|
600 .cfi_startproc
|
|
|
601 @ args = 0, pretend = 0, frame = 0
|
|
|
602 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
603 @ link register save eliminated.
|
|
|
604 .LVL55:
|
|
|
389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIO_PinState bitstatus;
|
|
|
390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Check the parameters */
|
|
|
392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_AVAILABLE(GPIOx,GPIO_Pin));
|
|
|
393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
|
|
|
605 .loc 1 394 0
|
|
|
606 0000 0369 ldr r3, [r0, #16]
|
|
|
607 0002 0B42 tst r3, r1
|
|
|
608 0004 01D1 bne .L43
|
|
|
395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** bitstatus = GPIO_PIN_SET;
|
|
|
397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** else
|
|
|
399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** bitstatus = GPIO_PIN_RESET;
|
|
|
609 .loc 1 400 0
|
|
|
610 0006 0020 movs r0, #0
|
|
|
611 .LVL56:
|
|
|
612 .L41:
|
|
|
401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** return bitstatus;
|
|
|
403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
613 .loc 1 403 0
|
|
|
614 @ sp needed
|
|
|
615 0008 7047 bx lr
|
|
|
616 .LVL57:
|
|
|
617 .L43:
|
|
|
396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
618 .loc 1 396 0
|
|
|
619 000a 0120 movs r0, #1
|
|
|
620 .LVL58:
|
|
|
621 000c FCE7 b .L41
|
|
|
622 .cfi_endproc
|
|
|
623 .LFE41:
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 20
|
|
|
|
|
|
|
|
|
625 .section .text.HAL_GPIO_WritePin,"ax",%progbits
|
|
|
626 .align 1
|
|
|
627 .global HAL_GPIO_WritePin
|
|
|
628 .syntax unified
|
|
|
629 .code 16
|
|
|
630 .thumb_func
|
|
|
631 .fpu softvfp
|
|
|
633 HAL_GPIO_WritePin:
|
|
|
634 .LFB42:
|
|
|
404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief Sets or clears the selected data port bit.
|
|
|
407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** *
|
|
|
408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @note This function uses GPIOx_BSRR register to allow atomic read/modify
|
|
|
409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * accesses. In this way, there is no risk of an IRQ occurring between
|
|
|
410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * the read and the modify access.
|
|
|
411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** *
|
|
|
412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIOx: where x can be (A..E and H) to select the GPIO peripheral for STM32L0xx family d
|
|
|
413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * Note that GPIOE is not available on all devices.
|
|
|
414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIO_Pin: specifies the port bit to be written.
|
|
|
415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
|
|
|
416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * All port bits are not necessarily available on all GPIOs.
|
|
|
417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param PinState: specifies the value to be written to the selected bit.
|
|
|
418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * This parameter can be one of the GPIO_PinState enum values:
|
|
|
419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * GPIO_PIN_RESET: to clear the port pin
|
|
|
420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * GPIO_PIN_SET: to set the port pin
|
|
|
421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @retval None
|
|
|
422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
|
|
|
424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
635 .loc 1 424 0
|
|
|
636 .cfi_startproc
|
|
|
637 @ args = 0, pretend = 0, frame = 0
|
|
|
638 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
639 @ link register save eliminated.
|
|
|
640 .LVL59:
|
|
|
425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Check the parameters */
|
|
|
426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_AVAILABLE(GPIOx,GPIO_Pin));
|
|
|
427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState));
|
|
|
428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if(PinState != GPIO_PIN_RESET)
|
|
|
641 .loc 1 429 0
|
|
|
642 0000 002A cmp r2, #0
|
|
|
643 0002 01D1 bne .L47
|
|
|
430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->BSRR = GPIO_Pin;
|
|
|
432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** else
|
|
|
434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->BRR = GPIO_Pin ;
|
|
|
644 .loc 1 435 0
|
|
|
645 0004 8162 str r1, [r0, #40]
|
|
|
646 .L44:
|
|
|
436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
647 .loc 1 437 0
|
|
|
648 @ sp needed
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 21
|
|
|
|
|
|
|
|
|
649 0006 7047 bx lr
|
|
|
650 .L47:
|
|
|
431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
651 .loc 1 431 0
|
|
|
652 0008 8161 str r1, [r0, #24]
|
|
|
653 000a FCE7 b .L44
|
|
|
654 .cfi_endproc
|
|
|
655 .LFE42:
|
|
|
657 .section .text.HAL_GPIO_TogglePin,"ax",%progbits
|
|
|
658 .align 1
|
|
|
659 .global HAL_GPIO_TogglePin
|
|
|
660 .syntax unified
|
|
|
661 .code 16
|
|
|
662 .thumb_func
|
|
|
663 .fpu softvfp
|
|
|
665 HAL_GPIO_TogglePin:
|
|
|
666 .LFB43:
|
|
|
438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief Toggles the specified GPIO pins.
|
|
|
441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIOx: Where x can be (A..E and H) to select the GPIO peripheral for STM32L0xx family d
|
|
|
442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * Note that GPIOE is not available on all devices.
|
|
|
443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * All port bits are not necessarily available on all GPIOs.
|
|
|
444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIO_Pin: Specifies the pins to be toggled.
|
|
|
445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @retval None
|
|
|
446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
|
|
|
448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
667 .loc 1 448 0
|
|
|
668 .cfi_startproc
|
|
|
669 @ args = 0, pretend = 0, frame = 0
|
|
|
670 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
671 @ link register save eliminated.
|
|
|
672 .LVL60:
|
|
|
449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Check the parameters */
|
|
|
450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_AVAILABLE(GPIOx,GPIO_Pin));
|
|
|
451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->ODR ^= GPIO_Pin;
|
|
|
673 .loc 1 452 0
|
|
|
674 0000 4369 ldr r3, [r0, #20]
|
|
|
675 0002 5940 eors r1, r3
|
|
|
676 .LVL61:
|
|
|
677 0004 4161 str r1, [r0, #20]
|
|
|
453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
678 .loc 1 453 0
|
|
|
679 @ sp needed
|
|
|
680 0006 7047 bx lr
|
|
|
681 .cfi_endproc
|
|
|
682 .LFE43:
|
|
|
684 .section .text.HAL_GPIO_LockPin,"ax",%progbits
|
|
|
685 .align 1
|
|
|
686 .global HAL_GPIO_LockPin
|
|
|
687 .syntax unified
|
|
|
688 .code 16
|
|
|
689 .thumb_func
|
|
|
690 .fpu softvfp
|
|
|
692 HAL_GPIO_LockPin:
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 22
|
|
|
|
|
|
|
|
|
693 .LFB44:
|
|
|
454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief Locks GPIO Pins configuration registers.
|
|
|
457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @note The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR,
|
|
|
458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
|
|
|
459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @note The configuration of the locked GPIO pins can no longer be modified
|
|
|
460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * until the next reset.
|
|
|
461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIOx: where x can be (A..E and H) to select the GPIO peripheral for STM32L0xx family.
|
|
|
462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * Note that GPIOE is not available on all devices.
|
|
|
463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIO_Pin: specifies the port bit to be locked.
|
|
|
464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
|
|
|
465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * All port bits are not necessarily available on all GPIOs.
|
|
|
466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @retval None
|
|
|
467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
|
|
|
469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
694 .loc 1 469 0
|
|
|
695 .cfi_startproc
|
|
|
696 @ args = 0, pretend = 0, frame = 8
|
|
|
697 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
698 @ link register save eliminated.
|
|
|
699 .LVL62:
|
|
|
700 0000 82B0 sub sp, sp, #8
|
|
|
701 .LCFI4:
|
|
|
702 .cfi_def_cfa_offset 8
|
|
|
470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK;
|
|
|
703 .loc 1 470 0
|
|
|
704 0002 8022 movs r2, #128
|
|
|
705 0004 5202 lsls r2, r2, #9
|
|
|
706 0006 0192 str r2, [sp, #4]
|
|
|
471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Check the parameters */
|
|
|
473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_AVAILABLE(GPIOx,GPIO_Pin));
|
|
|
474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Apply lock key write sequence */
|
|
|
476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** tmp |= GPIO_Pin;
|
|
|
707 .loc 1 476 0
|
|
|
708 0008 019B ldr r3, [sp, #4]
|
|
|
709 000a 0B43 orrs r3, r1
|
|
|
710 000c 0193 str r3, [sp, #4]
|
|
|
477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
|
|
|
478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->LCKR = tmp;
|
|
|
711 .loc 1 478 0
|
|
|
712 000e 019B ldr r3, [sp, #4]
|
|
|
713 0010 C361 str r3, [r0, #28]
|
|
|
479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */
|
|
|
480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->LCKR = GPIO_Pin;
|
|
|
714 .loc 1 480 0
|
|
|
715 0012 C161 str r1, [r0, #28]
|
|
|
481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
|
|
|
482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** GPIOx->LCKR = tmp;
|
|
|
716 .loc 1 482 0
|
|
|
717 0014 019B ldr r3, [sp, #4]
|
|
|
718 0016 C361 str r3, [r0, #28]
|
|
|
483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Read LCKK bit*/
|
|
|
484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** tmp = GPIOx->LCKR;
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 23
|
|
|
|
|
|
|
|
|
719 .loc 1 484 0
|
|
|
720 0018 C369 ldr r3, [r0, #28]
|
|
|
721 001a 0193 str r3, [sp, #4]
|
|
|
485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if((GPIOx->LCKR & GPIO_LCKR_LCKK) != RESET)
|
|
|
722 .loc 1 486 0
|
|
|
723 001c C369 ldr r3, [r0, #28]
|
|
|
724 001e 1342 tst r3, r2
|
|
|
725 0020 02D1 bne .L52
|
|
|
487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** return HAL_OK;
|
|
|
489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** else
|
|
|
491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** return HAL_ERROR;
|
|
|
726 .loc 1 492 0
|
|
|
727 0022 0120 movs r0, #1
|
|
|
728 .LVL63:
|
|
|
729 .L50:
|
|
|
493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
730 .loc 1 494 0
|
|
|
731 0024 02B0 add sp, sp, #8
|
|
|
732 @ sp needed
|
|
|
733 0026 7047 bx lr
|
|
|
734 .LVL64:
|
|
|
735 .L52:
|
|
|
488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
736 .loc 1 488 0
|
|
|
737 0028 0020 movs r0, #0
|
|
|
738 .LVL65:
|
|
|
739 002a FBE7 b .L50
|
|
|
740 .cfi_endproc
|
|
|
741 .LFE44:
|
|
|
743 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits
|
|
|
744 .align 1
|
|
|
745 .weak HAL_GPIO_EXTI_Callback
|
|
|
746 .syntax unified
|
|
|
747 .code 16
|
|
|
748 .thumb_func
|
|
|
749 .fpu softvfp
|
|
|
751 HAL_GPIO_EXTI_Callback:
|
|
|
752 .LFB46:
|
|
|
495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief This function handles EXTI interrupt request.
|
|
|
497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIO_Pin: Specifies the pins connected to the EXTI line.
|
|
|
498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @retval None
|
|
|
499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
|
|
|
501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* EXTI line interrupt detected */
|
|
|
503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET)
|
|
|
504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
|
|
|
506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
|
|
|
507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 24
|
|
|
|
|
|
|
|
|
509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /**
|
|
|
511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @brief EXTI line detection callbacks.
|
|
|
512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @param GPIO_Pin: Specifies the pins connected to the EXTI line.
|
|
|
513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** * @retval None
|
|
|
514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|
|
516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
753 .loc 1 516 0
|
|
|
754 .cfi_startproc
|
|
|
755 @ args = 0, pretend = 0, frame = 0
|
|
|
756 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
757 @ link register save eliminated.
|
|
|
758 .LVL66:
|
|
|
517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** UNUSED(GPIO_Pin);
|
|
|
519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* NOTE: This function Should not be modified, when the callback is needed,
|
|
|
521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** the HAL_GPIO_EXTI_Callback could be implemented in the user file
|
|
|
522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** */
|
|
|
523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
759 .loc 1 523 0
|
|
|
760 @ sp needed
|
|
|
761 0000 7047 bx lr
|
|
|
762 .cfi_endproc
|
|
|
763 .LFE46:
|
|
|
765 .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
|
|
|
766 .align 1
|
|
|
767 .global HAL_GPIO_EXTI_IRQHandler
|
|
|
768 .syntax unified
|
|
|
769 .code 16
|
|
|
770 .thumb_func
|
|
|
771 .fpu softvfp
|
|
|
773 HAL_GPIO_EXTI_IRQHandler:
|
|
|
774 .LFB45:
|
|
|
501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** /* EXTI line interrupt detected */
|
|
|
775 .loc 1 501 0
|
|
|
776 .cfi_startproc
|
|
|
777 @ args = 0, pretend = 0, frame = 0
|
|
|
778 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
779 .LVL67:
|
|
|
780 0000 10B5 push {r4, lr}
|
|
|
781 .LCFI5:
|
|
|
782 .cfi_def_cfa_offset 8
|
|
|
783 .cfi_offset 4, -8
|
|
|
784 .cfi_offset 14, -4
|
|
|
503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** {
|
|
|
785 .loc 1 503 0
|
|
|
786 0002 054B ldr r3, .L57
|
|
|
787 0004 5B69 ldr r3, [r3, #20]
|
|
|
788 0006 1842 tst r0, r3
|
|
|
789 0008 00D1 bne .L56
|
|
|
790 .LVL68:
|
|
|
791 .L54:
|
|
|
508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
792 .loc 1 508 0
|
|
|
793 @ sp needed
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 25
|
|
|
|
|
|
|
|
|
794 000a 10BD pop {r4, pc}
|
|
|
795 .LVL69:
|
|
|
796 .L56:
|
|
|
505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
|
|
|
797 .loc 1 505 0
|
|
|
798 000c 024B ldr r3, .L57
|
|
|
799 000e 5861 str r0, [r3, #20]
|
|
|
506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c **** }
|
|
|
800 .loc 1 506 0
|
|
|
801 0010 FFF7FEFF bl HAL_GPIO_EXTI_Callback
|
|
|
802 .LVL70:
|
|
|
508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_gpio.c ****
|
|
|
803 .loc 1 508 0
|
|
|
804 0014 F9E7 b .L54
|
|
|
805 .L58:
|
|
|
806 0016 C046 .align 2
|
|
|
807 .L57:
|
|
|
808 0018 00040140 .word 1073808384
|
|
|
809 .cfi_endproc
|
|
|
810 .LFE45:
|
|
|
812 .text
|
|
|
813 .Letext0:
|
|
|
814 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h"
|
|
|
815 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h"
|
|
|
816 .file 4 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h"
|
|
|
817 .file 5 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l073xx.h"
|
|
|
818 .file 6 "/usr/arm-none-eabi/include/sys/lock.h"
|
|
|
819 .file 7 "/usr/arm-none-eabi/include/sys/_types.h"
|
|
|
820 .file 8 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h"
|
|
|
821 .file 9 "/usr/arm-none-eabi/include/sys/reent.h"
|
|
|
822 .file 10 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h"
|
|
|
823 .file 11 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h"
|
|
|
824 .file 12 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_gpio.h"
|
|
|
ARM GAS /tmp/ccJYgg6T.s page 26
|
|
|
|
|
|
|
|
|
DEFINED SYMBOLS
|
|
|
*ABS*:0000000000000000 stm32l0xx_hal_gpio.c
|
|
|
/tmp/ccJYgg6T.s:16 .text.HAL_GPIO_Init:0000000000000000 $t
|
|
|
/tmp/ccJYgg6T.s:23 .text.HAL_GPIO_Init:0000000000000000 HAL_GPIO_Init
|
|
|
/tmp/ccJYgg6T.s:363 .text.HAL_GPIO_Init:000000000000017c $d
|
|
|
/tmp/ccJYgg6T.s:375 .text.HAL_GPIO_DeInit:0000000000000000 $t
|
|
|
/tmp/ccJYgg6T.s:382 .text.HAL_GPIO_DeInit:0000000000000000 HAL_GPIO_DeInit
|
|
|
/tmp/ccJYgg6T.s:579 .text.HAL_GPIO_DeInit:00000000000000fc $d
|
|
|
/tmp/ccJYgg6T.s:590 .text.HAL_GPIO_ReadPin:0000000000000000 $t
|
|
|
/tmp/ccJYgg6T.s:597 .text.HAL_GPIO_ReadPin:0000000000000000 HAL_GPIO_ReadPin
|
|
|
/tmp/ccJYgg6T.s:626 .text.HAL_GPIO_WritePin:0000000000000000 $t
|
|
|
/tmp/ccJYgg6T.s:633 .text.HAL_GPIO_WritePin:0000000000000000 HAL_GPIO_WritePin
|
|
|
/tmp/ccJYgg6T.s:658 .text.HAL_GPIO_TogglePin:0000000000000000 $t
|
|
|
/tmp/ccJYgg6T.s:665 .text.HAL_GPIO_TogglePin:0000000000000000 HAL_GPIO_TogglePin
|
|
|
/tmp/ccJYgg6T.s:685 .text.HAL_GPIO_LockPin:0000000000000000 $t
|
|
|
/tmp/ccJYgg6T.s:692 .text.HAL_GPIO_LockPin:0000000000000000 HAL_GPIO_LockPin
|
|
|
/tmp/ccJYgg6T.s:744 .text.HAL_GPIO_EXTI_Callback:0000000000000000 $t
|
|
|
/tmp/ccJYgg6T.s:751 .text.HAL_GPIO_EXTI_Callback:0000000000000000 HAL_GPIO_EXTI_Callback
|
|
|
/tmp/ccJYgg6T.s:766 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 $t
|
|
|
/tmp/ccJYgg6T.s:773 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 HAL_GPIO_EXTI_IRQHandler
|
|
|
/tmp/ccJYgg6T.s:808 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000018 $d
|
|
|
.debug_frame:0000000000000010 $d
|
|
|
|
|
|
NO UNDEFINED SYMBOLS
|
|
|
|