PDU_Code/build/stm32f3xx_hal_gpio.lst

1677 lines
103 KiB
Plaintext
Raw Normal View History

2024-05-12 14:08:58 +02:00
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "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 .LVL0:
29 .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
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 2
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Analog mode
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 ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 3
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
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 **** */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 4
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
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 **** {
30 .loc 1 172 1 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 8
33 @ frame_needed = 0, uses_anonymous_args = 0
34 .loc 1 172 1 is_stmt 0 view .LVU1
35 0000 F0B5 push {r4, r5, r6, r7, lr}
36 .cfi_def_cfa_offset 20
37 .cfi_offset 4, -20
38 .cfi_offset 5, -16
39 .cfi_offset 6, -12
40 .cfi_offset 7, -8
41 .cfi_offset 14, -4
42 0002 83B0 sub sp, sp, #12
43 .cfi_def_cfa_offset 32
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u;
44 .loc 1 173 3 is_stmt 1 view .LVU2
45 .LVL1:
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
46 .loc 1 174 3 view .LVU3
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t temp;
47 .loc 1 175 3 view .LVU4
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));
48 .loc 1 178 3 view .LVU5
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
49 .loc 1 179 3 view .LVU6
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 5
50 .loc 1 180 3 view .LVU7
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)
51 .loc 1 183 3 view .LVU8
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
52 .loc 1 173 12 is_stmt 0 view .LVU9
53 0004 0023 movs r3, #0
54 .loc 1 183 9 view .LVU10
55 0006 62E0 b .L2
56 .LVL2:
57 .L20:
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);
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (iocurrent != 0x00u)
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
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));
58 .loc 1 195 9 is_stmt 1 view .LVU11
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;
59 .loc 1 197 9 view .LVU12
60 .loc 1 197 14 is_stmt 0 view .LVU13
61 0008 8568 ldr r5, [r0, #8]
62 .LVL3:
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
63 .loc 1 198 9 is_stmt 1 view .LVU14
64 .loc 1 198 55 is_stmt 0 view .LVU15
65 000a 5E00 lsls r6, r3, #1
66 .loc 1 198 42 view .LVU16
67 000c 0324 movs r4, #3
68 000e B440 lsls r4, r4, r6
69 .loc 1 198 14 view .LVU17
70 0010 25EA0405 bic r5, r5, r4
71 .LVL4:
199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u));
72 .loc 1 199 9 is_stmt 1 view .LVU18
73 .loc 1 199 27 is_stmt 0 view .LVU19
74 0014 CC68 ldr r4, [r1, #12]
75 .loc 1 199 35 view .LVU20
76 0016 B440 lsls r4, r4, r6
77 .loc 1 199 14 view .LVU21
78 0018 2C43 orrs r4, r4, r5
79 .LVL5:
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
80 .loc 1 200 9 is_stmt 1 view .LVU22
81 .loc 1 200 24 is_stmt 0 view .LVU23
82 001a 8460 str r4, [r0, #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;
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 6
83 .loc 1 203 9 is_stmt 1 view .LVU24
84 .loc 1 203 14 is_stmt 0 view .LVU25
85 001c 4568 ldr r5, [r0, #4]
86 .LVL6:
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
87 .loc 1 204 9 is_stmt 1 view .LVU26
88 .loc 1 204 14 is_stmt 0 view .LVU27
89 001e 25EA0C05 bic r5, r5, ip
90 .LVL7:
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position);
91 .loc 1 205 9 is_stmt 1 view .LVU28
92 .loc 1 205 29 is_stmt 0 view .LVU29
93 0022 4C68 ldr r4, [r1, #4]
94 .loc 1 205 51 view .LVU30
95 0024 C4F30014 ubfx r4, r4, #4, #1
96 .loc 1 205 71 view .LVU31
97 0028 9C40 lsls r4, r4, r3
98 .loc 1 205 14 view .LVU32
99 002a 2C43 orrs r4, r4, r5
100 .LVL8:
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER = temp;
101 .loc 1 206 9 is_stmt 1 view .LVU33
102 .loc 1 206 23 is_stmt 0 view .LVU34
103 002c 4460 str r4, [r0, #4]
104 002e 5FE0 b .L4
105 .LVL9:
106 .L21:
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)
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;
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
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)
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));
107 .loc 1 226 9 is_stmt 1 view .LVU35
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
108 .loc 1 227 9 view .LVU36
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];
109 .loc 1 230 9 view .LVU37
110 .loc 1 230 36 is_stmt 0 view .LVU38
111 0030 DD08 lsrs r5, r3, #3
112 .loc 1 230 14 view .LVU39
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 7
113 0032 0835 adds r5, r5, #8
114 0034 50F82540 ldr r4, [r0, r5, lsl #2]
115 .LVL10:
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u));
116 .loc 1 231 9 is_stmt 1 view .LVU40
117 .loc 1 231 38 is_stmt 0 view .LVU41
118 0038 03F0070C and ip, r3, #7
119 .loc 1 231 47 view .LVU42
120 003c 4FEA8C0C lsl ip, ip, #2
121 .loc 1 231 24 view .LVU43
122 0040 4FF00F0E mov lr, #15
123 0044 0EFA0CFE lsl lr, lr, ip
124 .loc 1 231 14 view .LVU44
125 0048 24EA0E0E bic lr, r4, lr
126 .LVL11:
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u));
127 .loc 1 232 9 is_stmt 1 view .LVU45
128 .loc 1 232 28 is_stmt 0 view .LVU46
129 004c 0C69 ldr r4, [r1, #16]
130 .loc 1 232 41 view .LVU47
131 004e 04FA0CF4 lsl r4, r4, ip
132 .loc 1 232 14 view .LVU48
133 0052 44EA0E04 orr r4, r4, lr
134 .LVL12:
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp;
135 .loc 1 233 9 is_stmt 1 view .LVU49
136 .loc 1 233 36 is_stmt 0 view .LVU50
137 0056 40F82540 str r4, [r0, r5, lsl #2]
138 005a 60E0 b .L6
139 .LVL13:
140 .L22:
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:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
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 */
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_MODE) != 0x00u)
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();
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];
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
141 .loc 1 251 18 view .LVU51
142 005c 0424 movs r4, #4
143 005e 00E0 b .L7
144 .L13:
145 0060 0024 movs r4, #0
146 .L7:
147 .loc 1 251 40 discriminator 20 view .LVU52
148 0062 04FA0EF4 lsl r4, r4, lr
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 8
149 .loc 1 251 14 discriminator 20 view .LVU53
150 0066 2C43 orrs r4, r4, r5
151 .LVL14:
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
152 .loc 1 252 9 is_stmt 1 discriminator 20 view .LVU54
153 .loc 1 252 40 is_stmt 0 discriminator 20 view .LVU55
154 0068 0CF1020C add ip, ip, #2
155 006c 524D ldr r5, .L23
156 006e 45F82C40 str r4, [r5, ip, 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;
157 .loc 1 255 9 is_stmt 1 discriminator 20 view .LVU56
158 .loc 1 255 14 is_stmt 0 discriminator 20 view .LVU57
159 0072 524C ldr r4, .L23+4
160 .LVL15:
161 .loc 1 255 14 discriminator 20 view .LVU58
162 0074 A568 ldr r5, [r4, #8]
163 .LVL16:
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
164 .loc 1 256 9 is_stmt 1 discriminator 20 view .LVU59
165 .loc 1 256 17 is_stmt 0 discriminator 20 view .LVU60
166 0076 D443 mvns r4, r2
167 .loc 1 256 14 discriminator 20 view .LVU61
168 0078 25EA0206 bic r6, r5, r2
169 .LVL17:
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u)
170 .loc 1 257 9 is_stmt 1 discriminator 20 view .LVU62
171 .loc 1 257 11 is_stmt 0 discriminator 20 view .LVU63
172 007c 4F68 ldr r7, [r1, #4]
173 007e 17F4801F tst r7, #1048576
174 0082 01D0 beq .L8
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
175 .loc 1 259 11 is_stmt 1 view .LVU64
176 .loc 1 259 16 is_stmt 0 view .LVU65
177 0084 42EA0506 orr r6, r2, r5
178 .LVL18:
179 .L8:
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR = temp;
180 .loc 1 261 9 is_stmt 1 view .LVU66
181 .loc 1 261 20 is_stmt 0 view .LVU67
182 0088 4C4D ldr r5, .L23+4
183 008a AE60 str r6, [r5, #8]
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->FTSR;
184 .loc 1 263 9 is_stmt 1 view .LVU68
185 .loc 1 263 14 is_stmt 0 view .LVU69
186 008c ED68 ldr r5, [r5, #12]
187 .LVL19:
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
188 .loc 1 264 9 is_stmt 1 view .LVU70
189 .loc 1 264 14 is_stmt 0 view .LVU71
190 008e 04EA0506 and r6, r4, r5
191 .LVL20:
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u)
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 9
192 .loc 1 265 9 is_stmt 1 view .LVU72
193 .loc 1 265 11 is_stmt 0 view .LVU73
194 0092 4F68 ldr r7, [r1, #4]
195 0094 17F4001F tst r7, #2097152
196 0098 01D0 beq .L9
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
197 .loc 1 267 11 is_stmt 1 view .LVU74
198 .loc 1 267 16 is_stmt 0 view .LVU75
199 009a 42EA0506 orr r6, r2, r5
200 .LVL21:
201 .L9:
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->FTSR = temp;
202 .loc 1 269 9 is_stmt 1 view .LVU76
203 .loc 1 269 20 is_stmt 0 view .LVU77
204 009e 474D ldr r5, .L23+4
205 00a0 EE60 str r6, [r5, #12]
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->EMR;
206 .loc 1 271 9 is_stmt 1 view .LVU78
207 .loc 1 271 14 is_stmt 0 view .LVU79
208 00a2 6D68 ldr r5, [r5, #4]
209 .LVL22:
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
210 .loc 1 272 9 is_stmt 1 view .LVU80
211 .loc 1 272 14 is_stmt 0 view .LVU81
212 00a4 04EA0506 and r6, r4, r5
213 .LVL23:
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_EVT) != 0x00u)
214 .loc 1 273 9 is_stmt 1 view .LVU82
215 .loc 1 273 11 is_stmt 0 view .LVU83
216 00a8 4F68 ldr r7, [r1, #4]
217 00aa 17F4003F tst r7, #131072
218 00ae 01D0 beq .L10
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
219 .loc 1 275 11 is_stmt 1 view .LVU84
220 .loc 1 275 16 is_stmt 0 view .LVU85
221 00b0 42EA0506 orr r6, r2, r5
222 .LVL24:
223 .L10:
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR = temp;
224 .loc 1 277 9 is_stmt 1 view .LVU86
225 .loc 1 277 19 is_stmt 0 view .LVU87
226 00b4 414D ldr r5, .L23+4
227 00b6 6E60 str r6, [r5, #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;
228 .loc 1 280 9 is_stmt 1 view .LVU88
229 .loc 1 280 14 is_stmt 0 view .LVU89
230 00b8 2D68 ldr r5, [r5]
231 .LVL25:
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent);
232 .loc 1 281 9 is_stmt 1 view .LVU90
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 10
233 .loc 1 281 14 is_stmt 0 view .LVU91
234 00ba 2C40 ands r4, r4, r5
235 .LVL26:
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_IT) != 0x00u)
236 .loc 1 282 9 is_stmt 1 view .LVU92
237 .loc 1 282 22 is_stmt 0 view .LVU93
238 00bc 4E68 ldr r6, [r1, #4]
239 .loc 1 282 11 view .LVU94
240 00be 16F4803F tst r6, #65536
241 00c2 01D0 beq .L11
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent;
242 .loc 1 284 11 is_stmt 1 view .LVU95
243 .loc 1 284 16 is_stmt 0 view .LVU96
244 00c4 42EA0504 orr r4, r2, r5
245 .LVL27:
246 .L11:
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->IMR = temp;
247 .loc 1 286 9 is_stmt 1 view .LVU97
248 .loc 1 286 19 is_stmt 0 view .LVU98
249 00c8 3C4A ldr r2, .L23+4
250 .LVL28:
251 .loc 1 286 19 view .LVU99
252 00ca 1460 str r4, [r2]
253 .LVL29:
254 .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++;
255 .loc 1 290 5 is_stmt 1 view .LVU100
256 .loc 1 290 13 is_stmt 0 view .LVU101
257 00cc 0133 adds r3, r3, #1
258 .LVL30:
259 .L2:
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
260 .loc 1 183 41 is_stmt 1 view .LVU102
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
261 .loc 1 183 21 is_stmt 0 view .LVU103
262 00ce 0A68 ldr r2, [r1]
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
263 .loc 1 183 41 view .LVU104
264 00d0 32FA03F4 lsrs r4, r2, r3
265 00d4 6ED0 beq .L19
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
266 .loc 1 186 5 is_stmt 1 view .LVU105
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
267 .loc 1 186 41 is_stmt 0 view .LVU106
268 00d6 4FF0010C mov ip, #1
269 00da 0CFA03FC lsl ip, ip, r3
270 .LVL31:
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
271 .loc 1 188 5 is_stmt 1 view .LVU107
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
272 .loc 1 188 8 is_stmt 0 view .LVU108
273 00de 1CEA0202 ands r2, ip, r2
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 11
274 .LVL32:
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
275 .loc 1 188 8 view .LVU109
276 00e2 F3D0 beq .L3
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
277 .loc 1 192 7 is_stmt 1 view .LVU110
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
278 .loc 1 192 21 is_stmt 0 view .LVU111
279 00e4 4C68 ldr r4, [r1, #4]
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
280 .loc 1 192 28 view .LVU112
281 00e6 04F00304 and r4, r4, #3
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
282 .loc 1 192 57 view .LVU113
283 00ea 013C subs r4, r4, #1
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
284 .loc 1 192 9 view .LVU114
285 00ec 012C cmp r4, #1
286 00ee 8BD9 bls .L20
287 .L4:
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
288 .loc 1 209 7 is_stmt 1 view .LVU115
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
289 .loc 1 209 20 is_stmt 0 view .LVU116
290 00f0 4C68 ldr r4, [r1, #4]
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
291 .loc 1 209 27 view .LVU117
292 00f2 04F00304 and r4, r4, #3
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
293 .loc 1 209 9 view .LVU118
294 00f6 032C cmp r4, #3
295 00f8 0CD0 beq .L5
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
296 .loc 1 212 9 is_stmt 1 view .LVU119
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
297 .loc 1 215 9 view .LVU120
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
298 .loc 1 215 14 is_stmt 0 view .LVU121
299 00fa C468 ldr r4, [r0, #12]
300 .LVL33:
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
301 .loc 1 216 9 is_stmt 1 view .LVU122
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
302 .loc 1 216 50 is_stmt 0 view .LVU123
303 00fc 5D00 lsls r5, r3, #1
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
304 .loc 1 216 37 view .LVU124
305 00fe 4FF0030C mov ip, #3
306 0102 0CFA05FC lsl ip, ip, r5
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
307 .loc 1 216 14 view .LVU125
308 0106 24EA0C0C bic ip, r4, ip
309 .LVL34:
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
310 .loc 1 217 9 is_stmt 1 view .LVU126
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
311 .loc 1 217 28 is_stmt 0 view .LVU127
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 12
312 010a 8C68 ldr r4, [r1, #8]
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
313 .loc 1 217 36 view .LVU128
314 010c AC40 lsls r4, r4, r5
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp;
315 .loc 1 217 14 view .LVU129
316 010e 44EA0C04 orr r4, r4, ip
317 .LVL35:
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
318 .loc 1 218 9 is_stmt 1 view .LVU130
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
319 .loc 1 218 22 is_stmt 0 view .LVU131
320 0112 C460 str r4, [r0, #12]
321 .LVL36:
322 .L5:
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
323 .loc 1 223 7 is_stmt 1 view .LVU132
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
324 .loc 1 223 20 is_stmt 0 view .LVU133
325 0114 4C68 ldr r4, [r1, #4]
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
326 .loc 1 223 27 view .LVU134
327 0116 04F00304 and r4, r4, #3
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
328 .loc 1 223 9 view .LVU135
329 011a 022C cmp r4, #2
330 011c 88D0 beq .L21
331 .L6:
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
332 .loc 1 237 7 is_stmt 1 view .LVU136
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
333 .loc 1 237 12 is_stmt 0 view .LVU137
334 011e 0468 ldr r4, [r0]
335 .LVL37:
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
336 .loc 1 238 7 is_stmt 1 view .LVU138
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
337 .loc 1 238 48 is_stmt 0 view .LVU139
338 0120 4FEA430E lsl lr, r3, #1
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
339 .loc 1 238 35 view .LVU140
340 0124 4FF0030C mov ip, #3
341 0128 0CFA0EFC lsl ip, ip, lr
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
342 .loc 1 238 12 view .LVU141
343 012c 24EA0C0C bic ip, r4, ip
344 .LVL38:
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
345 .loc 1 239 7 is_stmt 1 view .LVU142
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
346 .loc 1 239 26 is_stmt 0 view .LVU143
347 0130 4C68 ldr r4, [r1, #4]
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
348 .loc 1 239 33 view .LVU144
349 0132 04F00304 and r4, r4, #3
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
350 .loc 1 239 46 view .LVU145
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 13
351 0136 04FA0EF4 lsl r4, r4, lr
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp;
352 .loc 1 239 12 view .LVU146
353 013a 44EA0C04 orr r4, r4, ip
354 .LVL39:
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
355 .loc 1 240 7 is_stmt 1 view .LVU147
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
356 .loc 1 240 20 is_stmt 0 view .LVU148
357 013e 0460 str r4, [r0]
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
358 .loc 1 244 7 is_stmt 1 view .LVU149
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
359 .loc 1 244 20 is_stmt 0 view .LVU150
360 0140 4C68 ldr r4, [r1, #4]
361 .LVL40:
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
362 .loc 1 244 9 view .LVU151
363 0142 14F4403F tst r4, #196608
364 0146 C1D0 beq .L3
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
365 .loc 1 247 9 is_stmt 1 view .LVU152
366 .LBB2:
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
367 .loc 1 247 9 view .LVU153
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
368 .loc 1 247 9 view .LVU154
369 0148 1D4C ldr r4, .L23+8
370 014a A569 ldr r5, [r4, #24]
371 014c 45F00105 orr r5, r5, #1
372 0150 A561 str r5, [r4, #24]
373 .LVL41:
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
374 .loc 1 247 9 view .LVU155
375 0152 A469 ldr r4, [r4, #24]
376 0154 04F00104 and r4, r4, #1
377 0158 0194 str r4, [sp, #4]
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
378 .loc 1 247 9 view .LVU156
379 015a 019C ldr r4, [sp, #4]
380 .LBE2:
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
381 .loc 1 247 9 view .LVU157
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
382 .loc 1 249 9 view .LVU158
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
383 .loc 1 249 40 is_stmt 0 view .LVU159
384 015c 4FEA930C lsr ip, r3, #2
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
385 .loc 1 249 14 view .LVU160
386 0160 0CF10205 add r5, ip, #2
387 0164 144C ldr r4, .L23
388 0166 54F82550 ldr r5, [r4, r5, lsl #2]
389 .LVL42:
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
390 .loc 1 250 9 is_stmt 1 view .LVU161
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 14
391 .loc 1 250 45 is_stmt 0 view .LVU162
392 016a 03F0030E and lr, r3, #3
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
393 .loc 1 250 33 view .LVU163
394 016e 4FEA8E0E lsl lr, lr, #2
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
395 .loc 1 250 26 view .LVU164
396 0172 0F24 movs r4, #15
397 0174 04FA0EF4 lsl r4, r4, lr
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
398 .loc 1 250 14 view .LVU165
399 0178 25EA0405 bic r5, r5, r4
400 .LVL43:
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
401 .loc 1 251 9 is_stmt 1 view .LVU166
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
402 .loc 1 251 18 is_stmt 0 view .LVU167
403 017c B0F1904F cmp r0, #1207959552
404 0180 3FF46EAF beq .L13
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
405 .loc 1 251 18 discriminator 1 view .LVU168
406 0184 0F4C ldr r4, .L23+12
407 0186 A042 cmp r0, r4
408 0188 0ED0 beq .L14
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
409 .loc 1 251 18 discriminator 3 view .LVU169
410 018a 04F58064 add r4, r4, #1024
411 018e A042 cmp r0, r4
412 0190 0CD0 beq .L15
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
413 .loc 1 251 18 discriminator 5 view .LVU170
414 0192 04F58064 add r4, r4, #1024
415 0196 A042 cmp r0, r4
416 0198 0AD0 beq .L16
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
417 .loc 1 251 18 discriminator 7 view .LVU171
418 019a 04F58064 add r4, r4, #1024
419 019e A042 cmp r0, r4
420 01a0 3FF45CAF beq .L22
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
421 .loc 1 251 18 view .LVU172
422 01a4 0524 movs r4, #5
423 01a6 5CE7 b .L7
424 .L14:
425 01a8 0124 movs r4, #1
426 01aa 5AE7 b .L7
427 .L15:
428 01ac 0224 movs r4, #2
429 01ae 58E7 b .L7
430 .L16:
431 01b0 0324 movs r4, #3
432 01b2 56E7 b .L7
433 .LVL44:
434 .L19:
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
435 .loc 1 292 1 view .LVU173
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 15
436 01b4 03B0 add sp, sp, #12
437 .cfi_def_cfa_offset 20
438 @ sp needed
439 01b6 F0BD pop {r4, r5, r6, r7, pc}
440 .L24:
441 .align 2
442 .L23:
443 01b8 00000140 .word 1073807360
444 01bc 00040140 .word 1073808384
445 01c0 00100240 .word 1073876992
446 01c4 00040048 .word 1207960576
447 .cfi_endproc
448 .LFE130:
450 .section .text.HAL_GPIO_DeInit,"ax",%progbits
451 .align 1
452 .global HAL_GPIO_DeInit
453 .syntax unified
454 .thumb
455 .thumb_func
457 HAL_GPIO_DeInit:
458 .LVL45:
459 .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 **** */
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 **** {
460 .loc 1 302 1 is_stmt 1 view -0
461 .cfi_startproc
462 @ args = 0, pretend = 0, frame = 0
463 @ frame_needed = 0, uses_anonymous_args = 0
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u;
464 .loc 1 303 3 view .LVU175
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
465 .loc 1 304 3 view .LVU176
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t tmp;
466 .loc 1 305 3 view .LVU177
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));
467 .loc 1 308 3 view .LVU178
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
468 .loc 1 309 3 view .LVU179
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)
469 .loc 1 312 3 view .LVU180
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent;
470 .loc 1 303 12 is_stmt 0 view .LVU181
471 0000 0023 movs r3, #0
472 .LVL46:
473 .loc 1 312 33 is_stmt 1 view .LVU182
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 16
474 0002 31FA03F2 lsrs r2, r1, r3
475 0006 7AD0 beq .L39
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u;
476 .loc 1 302 1 is_stmt 0 view .LVU183
477 0008 F0B5 push {r4, r5, r6, r7, lr}
478 .cfi_def_cfa_offset 20
479 .cfi_offset 4, -20
480 .cfi_offset 5, -16
481 .cfi_offset 6, -12
482 .cfi_offset 7, -8
483 .cfi_offset 14, -4
484 000a 2EE0 b .L30
485 .LVL47:
486 .L42:
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);
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (iocurrent != 0x00u)
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];
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
487 .loc 1 324 19 view .LVU184
488 000c 0425 movs r5, #4
489 000e 00E0 b .L28
490 .L31:
491 0010 0025 movs r5, #0
492 .L28:
493 .loc 1 324 41 discriminator 20 view .LVU185
494 0012 05FA0CF5 lsl r5, r5, ip
495 .loc 1 324 10 discriminator 20 view .LVU186
496 0016 A542 cmp r5, r4
497 0018 55D0 beq .L40
498 .LVL48:
499 .L29:
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);
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
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);
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
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));
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] &= ~tmp;
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));
500 .loc 1 341 7 is_stmt 1 view .LVU187
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 17
501 .loc 1 341 12 is_stmt 0 view .LVU188
502 001a 0468 ldr r4, [r0]
503 .loc 1 341 56 view .LVU189
504 001c 5D00 lsls r5, r3, #1
505 .loc 1 341 43 view .LVU190
506 001e 4FF0030C mov ip, #3
507 0022 0CFA05FC lsl ip, ip, r5
508 .loc 1 341 20 view .LVU191
509 0026 24EA0C04 bic r4, r4, ip
510 002a 0460 str r4, [r0]
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)) ;
511 .loc 1 344 7 is_stmt 1 view .LVU192
512 .loc 1 344 17 is_stmt 0 view .LVU193
513 002c 4FEAD30E lsr lr, r3, #3
514 0030 0EF1080E add lr, lr, #8
515 0034 50F82E40 ldr r4, [r0, lr, lsl #2]
516 .loc 1 344 48 view .LVU194
517 0038 03F00706 and r6, r3, #7
518 .loc 1 344 77 view .LVU195
519 003c B600 lsls r6, r6, #2
520 .loc 1 344 44 view .LVU196
521 003e 0F25 movs r5, #15
522 0040 B540 lsls r5, r5, r6
523 .loc 1 344 34 view .LVU197
524 0042 24EA0504 bic r4, r4, r5
525 0046 40F82E40 str r4, [r0, lr, 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));
526 .loc 1 347 7 is_stmt 1 view .LVU198
527 .loc 1 347 12 is_stmt 0 view .LVU199
528 004a C468 ldr r4, [r0, #12]
529 .loc 1 347 20 view .LVU200
530 004c 24EA0C04 bic r4, r4, ip
531 0050 C460 str r4, [r0, #12]
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) ;
532 .loc 1 350 7 is_stmt 1 view .LVU201
533 .loc 1 350 12 is_stmt 0 view .LVU202
534 0052 4468 ldr r4, [r0, #4]
535 .loc 1 350 22 view .LVU203
536 0054 24EA0202 bic r2, r4, r2
537 .LVL49:
538 .loc 1 350 22 view .LVU204
539 0058 4260 str r2, [r0, #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));
540 .loc 1 353 7 is_stmt 1 view .LVU205
541 .loc 1 353 12 is_stmt 0 view .LVU206
542 005a 8268 ldr r2, [r0, #8]
543 .loc 1 353 22 view .LVU207
544 005c 22EA0C02 bic r2, r2, ip
545 0060 8260 str r2, [r0, #8]
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 18
546 .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++;
547 .loc 1 356 5 is_stmt 1 view .LVU208
548 .loc 1 356 13 is_stmt 0 view .LVU209
549 0062 0133 adds r3, r3, #1
550 .LVL50:
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
551 .loc 1 312 33 is_stmt 1 view .LVU210
552 0064 31FA03F2 lsrs r2, r1, r3
553 0068 48D0 beq .L41
554 .LVL51:
555 .L30:
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
556 .loc 1 315 5 view .LVU211
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
557 .loc 1 315 35 is_stmt 0 view .LVU212
558 006a 0122 movs r2, #1
559 006c 9A40 lsls r2, r2, r3
560 .LVL52:
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
561 .loc 1 317 5 is_stmt 1 view .LVU213
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
562 .loc 1 317 8 is_stmt 0 view .LVU214
563 006e 12EA0107 ands r7, r2, r1
564 .LVL53:
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
565 .loc 1 317 8 view .LVU215
566 0072 F6D0 beq .L27
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
567 .loc 1 322 7 is_stmt 1 view .LVU216
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
568 .loc 1 322 37 is_stmt 0 view .LVU217
569 0074 4FEA930E lsr lr, r3, #2
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
570 .loc 1 322 11 view .LVU218
571 0078 0EF10205 add r5, lr, #2
572 007c 204C ldr r4, .L43
573 007e 54F82540 ldr r4, [r4, r5, lsl #2]
574 .LVL54:
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
575 .loc 1 323 7 is_stmt 1 view .LVU219
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
576 .loc 1 323 41 is_stmt 0 view .LVU220
577 0082 03F0030C and ip, r3, #3
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
578 .loc 1 323 29 view .LVU221
579 0086 4FEA8C0C lsl ip, ip, #2
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
580 .loc 1 323 22 view .LVU222
581 008a 0F25 movs r5, #15
582 008c 05FA0CF6 lsl r6, r5, ip
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
583 .loc 1 323 11 view .LVU223
584 0090 3440 ands r4, r4, r6
585 .LVL55:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 19
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
586 .loc 1 324 7 is_stmt 1 view .LVU224
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
587 .loc 1 324 19 is_stmt 0 view .LVU225
588 0092 B0F1904F cmp r0, #1207959552
589 0096 BBD0 beq .L31
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
590 .loc 1 324 19 discriminator 1 view .LVU226
591 0098 1A4D ldr r5, .L43+4
592 009a A842 cmp r0, r5
593 009c 0DD0 beq .L32
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
594 .loc 1 324 19 discriminator 3 view .LVU227
595 009e 05F58065 add r5, r5, #1024
596 00a2 A842 cmp r0, r5
597 00a4 0BD0 beq .L33
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
598 .loc 1 324 19 discriminator 5 view .LVU228
599 00a6 05F58065 add r5, r5, #1024
600 00aa A842 cmp r0, r5
601 00ac 09D0 beq .L34
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
602 .loc 1 324 19 discriminator 7 view .LVU229
603 00ae 05F58065 add r5, r5, #1024
604 00b2 A842 cmp r0, r5
605 00b4 AAD0 beq .L42
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
606 .loc 1 324 19 view .LVU230
607 00b6 0525 movs r5, #5
608 00b8 ABE7 b .L28
609 .L32:
610 00ba 0125 movs r5, #1
611 00bc A9E7 b .L28
612 .L33:
613 00be 0225 movs r5, #2
614 00c0 A7E7 b .L28
615 .L34:
616 00c2 0325 movs r5, #3
617 00c4 A5E7 b .L28
618 .L40:
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
619 .loc 1 327 9 is_stmt 1 view .LVU231
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
620 .loc 1 327 13 is_stmt 0 view .LVU232
621 00c6 104C ldr r4, .L43+8
622 .LVL56:
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
623 .loc 1 327 13 view .LVU233
624 00c8 2568 ldr r5, [r4]
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
625 .loc 1 327 19 view .LVU234
626 00ca 25EA0705 bic r5, r5, r7
627 00ce 2560 str r5, [r4]
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
628 .loc 1 328 9 is_stmt 1 view .LVU235
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
629 .loc 1 328 13 is_stmt 0 view .LVU236
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 20
630 00d0 6568 ldr r5, [r4, #4]
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
631 .loc 1 328 19 view .LVU237
632 00d2 25EA0705 bic r5, r5, r7
633 00d6 6560 str r5, [r4, #4]
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
634 .loc 1 331 9 is_stmt 1 view .LVU238
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
635 .loc 1 331 13 is_stmt 0 view .LVU239
636 00d8 E568 ldr r5, [r4, #12]
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
637 .loc 1 331 20 view .LVU240
638 00da 25EA0705 bic r5, r5, r7
639 00de E560 str r5, [r4, #12]
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
640 .loc 1 332 9 is_stmt 1 view .LVU241
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
641 .loc 1 332 13 is_stmt 0 view .LVU242
642 00e0 A568 ldr r5, [r4, #8]
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
643 .loc 1 332 20 view .LVU243
644 00e2 25EA0705 bic r5, r5, r7
645 00e6 A560 str r5, [r4, #8]
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] &= ~tmp;
646 .loc 1 335 9 is_stmt 1 view .LVU244
647 .LVL57:
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
648 .loc 1 336 9 view .LVU245
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
649 .loc 1 336 23 is_stmt 0 view .LVU246
650 00e8 054F ldr r7, .L43
651 .LVL58:
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
652 .loc 1 336 23 view .LVU247
653 00ea 0EF10204 add r4, lr, #2
654 00ee 57F82450 ldr r5, [r7, r4, lsl #2]
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
655 .loc 1 336 40 view .LVU248
656 00f2 25EA0605 bic r5, r5, r6
657 00f6 47F82450 str r5, [r7, r4, lsl #2]
658 00fa 8EE7 b .L29
659 .LVL59:
660 .L41:
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
661 .loc 1 358 1 view .LVU249
662 00fc F0BD pop {r4, r5, r6, r7, pc}
663 .LVL60:
664 .L39:
665 .cfi_def_cfa_offset 0
666 .cfi_restore 4
667 .cfi_restore 5
668 .cfi_restore 6
669 .cfi_restore 7
670 .cfi_restore 14
671 .loc 1 358 1 view .LVU250
672 00fe 7047 bx lr
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 21
673 .L44:
674 .align 2
675 .L43:
676 0100 00000140 .word 1073807360
677 0104 00040048 .word 1207960576
678 0108 00040140 .word 1073808384
679 .cfi_endproc
680 .LFE131:
682 .section .text.HAL_GPIO_ReadPin,"ax",%progbits
683 .align 1
684 .global HAL_GPIO_ReadPin
685 .syntax unified
686 .thumb
687 .thumb_func
689 HAL_GPIO_ReadPin:
690 .LVL61:
691 .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 **** {
692 .loc 1 384 1 is_stmt 1 view -0
693 .cfi_startproc
694 @ args = 0, pretend = 0, frame = 0
695 @ frame_needed = 0, uses_anonymous_args = 0
696 @ link register save eliminated.
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_PinState bitstatus;
697 .loc 1 385 3 view .LVU252
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));
698 .loc 1 388 3 view .LVU253
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)
699 .loc 1 390 3 view .LVU254
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 22
700 .loc 1 390 12 is_stmt 0 view .LVU255
701 0000 0369 ldr r3, [r0, #16]
702 .loc 1 390 5 view .LVU256
703 0002 1942 tst r1, r3
704 0004 01D0 beq .L47
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** bitstatus = GPIO_PIN_SET;
705 .loc 1 392 15 view .LVU257
706 0006 0120 movs r0, #1
707 .LVL62:
708 .loc 1 392 15 view .LVU258
709 0008 7047 bx lr
710 .LVL63:
711 .L47:
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;
712 .loc 1 396 15 view .LVU259
713 000a 0020 movs r0, #0
714 .LVL64:
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return bitstatus;
715 .loc 1 398 3 is_stmt 1 view .LVU260
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
716 .loc 1 399 1 is_stmt 0 view .LVU261
717 000c 7047 bx lr
718 .cfi_endproc
719 .LFE132:
721 .section .text.HAL_GPIO_WritePin,"ax",%progbits
722 .align 1
723 .global HAL_GPIO_WritePin
724 .syntax unified
725 .thumb
726 .thumb_func
728 HAL_GPIO_WritePin:
729 .LVL65:
730 .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 **** {
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 23
731 .loc 1 418 1 is_stmt 1 view -0
732 .cfi_startproc
733 @ args = 0, pretend = 0, frame = 0
734 @ frame_needed = 0, uses_anonymous_args = 0
735 @ link register save eliminated.
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));
736 .loc 1 420 3 view .LVU263
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState));
737 .loc 1 421 3 view .LVU264
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)
738 .loc 1 423 3 view .LVU265
739 .loc 1 423 5 is_stmt 0 view .LVU266
740 0000 0AB1 cbz r2, .L49
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin;
741 .loc 1 425 5 is_stmt 1 view .LVU267
742 .loc 1 425 17 is_stmt 0 view .LVU268
743 0002 8161 str r1, [r0, #24]
744 0004 7047 bx lr
745 .L49:
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;
746 .loc 1 429 5 is_stmt 1 view .LVU269
747 .loc 1 429 16 is_stmt 0 view .LVU270
748 0006 8162 str r1, [r0, #40]
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
749 .loc 1 431 1 view .LVU271
750 0008 7047 bx lr
751 .cfi_endproc
752 .LFE133:
754 .section .text.HAL_GPIO_TogglePin,"ax",%progbits
755 .align 1
756 .global HAL_GPIO_TogglePin
757 .syntax unified
758 .thumb
759 .thumb_func
761 HAL_GPIO_TogglePin:
762 .LVL66:
763 .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 **** {
764 .loc 1 440 1 is_stmt 1 view -0
765 .cfi_startproc
766 @ args = 0, pretend = 0, frame = 0
767 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 24
768 @ link register save eliminated.
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t odr;
769 .loc 1 441 3 view .LVU273
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));
770 .loc 1 444 3 view .LVU274
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;
771 .loc 1 447 3 view .LVU275
772 .loc 1 447 7 is_stmt 0 view .LVU276
773 0000 4369 ldr r3, [r0, #20]
774 .LVL67:
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);
775 .loc 1 450 3 is_stmt 1 view .LVU277
776 .loc 1 450 23 is_stmt 0 view .LVU278
777 0002 01EA0302 and r2, r1, r3
778 .loc 1 450 59 view .LVU279
779 0006 21EA0301 bic r1, r1, r3
780 .LVL68:
781 .loc 1 450 51 view .LVU280
782 000a 41EA0241 orr r1, r1, r2, lsl #16
783 .loc 1 450 15 view .LVU281
784 000e 8161 str r1, [r0, #24]
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
785 .loc 1 451 1 view .LVU282
786 0010 7047 bx lr
787 .cfi_endproc
788 .LFE134:
790 .section .text.HAL_GPIO_LockPin,"ax",%progbits
791 .align 1
792 .global HAL_GPIO_LockPin
793 .syntax unified
794 .thumb
795 .thumb_func
797 HAL_GPIO_LockPin:
798 .LVL69:
799 .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 **** {
800 .loc 1 465 1 is_stmt 1 view -0
801 .cfi_startproc
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 25
802 @ args = 0, pretend = 0, frame = 8
803 @ frame_needed = 0, uses_anonymous_args = 0
804 @ link register save eliminated.
805 .loc 1 465 1 is_stmt 0 view .LVU284
806 0000 82B0 sub sp, sp, #8
807 .cfi_def_cfa_offset 8
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK;
808 .loc 1 466 3 is_stmt 1 view .LVU285
809 .loc 1 466 17 is_stmt 0 view .LVU286
810 0002 4FF48033 mov r3, #65536
811 0006 0193 str r3, [sp, #4]
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));
812 .loc 1 469 3 is_stmt 1 view .LVU287
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
813 .loc 1 470 3 view .LVU288
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;
814 .loc 1 473 3 view .LVU289
815 .loc 1 473 7 is_stmt 0 view .LVU290
816 0008 019B ldr r3, [sp, #4]
817 000a 0B43 orrs r3, r3, r1
818 000c 0193 str r3, [sp, #4]
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;
819 .loc 1 475 3 is_stmt 1 view .LVU291
820 .loc 1 475 15 is_stmt 0 view .LVU292
821 000e 019B ldr r3, [sp, #4]
822 0010 C361 str r3, [r0, #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;
823 .loc 1 477 3 is_stmt 1 view .LVU293
824 .loc 1 477 15 is_stmt 0 view .LVU294
825 0012 C161 str r1, [r0, #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;
826 .loc 1 479 3 is_stmt 1 view .LVU295
827 .loc 1 479 15 is_stmt 0 view .LVU296
828 0014 019B ldr r3, [sp, #4]
829 0016 C361 str r3, [r0, #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;
830 .loc 1 481 3 is_stmt 1 view .LVU297
831 .loc 1 481 14 is_stmt 0 view .LVU298
832 0018 C369 ldr r3, [r0, #28]
833 .loc 1 481 7 view .LVU299
834 001a 0193 str r3, [sp, #4]
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)
835 .loc 1 484 2 is_stmt 1 view .LVU300
836 .loc 1 484 11 is_stmt 0 view .LVU301
837 001c C369 ldr r3, [r0, #28]
838 .loc 1 484 4 view .LVU302
839 001e 13F4803F tst r3, #65536
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 26
840 0022 02D0 beq .L54
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return HAL_OK;
841 .loc 1 486 12 view .LVU303
842 0024 0020 movs r0, #0
843 .LVL70:
844 .L53:
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;
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
845 .loc 1 492 1 view .LVU304
846 0026 02B0 add sp, sp, #8
847 .cfi_remember_state
848 .cfi_def_cfa_offset 0
849 @ sp needed
850 0028 7047 bx lr
851 .LVL71:
852 .L54:
853 .cfi_restore_state
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
854 .loc 1 490 12 view .LVU305
855 002a 0120 movs r0, #1
856 .LVL72:
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
857 .loc 1 490 12 view .LVU306
858 002c FBE7 b .L53
859 .cfi_endproc
860 .LFE135:
862 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits
863 .align 1
864 .weak HAL_GPIO_EXTI_Callback
865 .syntax unified
866 .thumb
867 .thumb_func
869 HAL_GPIO_EXTI_Callback:
870 .LVL73:
871 .LFB137:
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 **** {
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)
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);
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /**
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 27
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 **** {
872 .loc 1 515 1 is_stmt 1 view -0
873 .cfi_startproc
874 @ args = 0, pretend = 0, frame = 0
875 @ frame_needed = 0, uses_anonymous_args = 0
876 @ link register save eliminated.
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);
877 .loc 1 517 3 view .LVU308
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 **** }
878 .loc 1 522 1 is_stmt 0 view .LVU309
879 0000 7047 bx lr
880 .cfi_endproc
881 .LFE137:
883 .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
884 .align 1
885 .global HAL_GPIO_EXTI_IRQHandler
886 .syntax unified
887 .thumb
888 .thumb_func
890 HAL_GPIO_EXTI_IRQHandler:
891 .LVL74:
892 .LFB136:
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* EXTI line interrupt detected */
893 .loc 1 500 1 is_stmt 1 view -0
894 .cfi_startproc
895 @ args = 0, pretend = 0, frame = 0
896 @ frame_needed = 0, uses_anonymous_args = 0
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* EXTI line interrupt detected */
897 .loc 1 500 1 is_stmt 0 view .LVU311
898 0000 08B5 push {r3, lr}
899 .cfi_def_cfa_offset 8
900 .cfi_offset 3, -8
901 .cfi_offset 14, -4
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
902 .loc 1 502 3 is_stmt 1 view .LVU312
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
903 .loc 1 502 6 is_stmt 0 view .LVU313
904 0002 054B ldr r3, .L61
905 0004 5B69 ldr r3, [r3, #20]
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** {
906 .loc 1 502 5 view .LVU314
907 0006 0342 tst r3, r0
908 0008 00D1 bne .L60
909 .LVL75:
910 .L57:
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
911 .loc 1 507 1 view .LVU315
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 28
912 000a 08BD pop {r3, pc}
913 .LVL76:
914 .L60:
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
915 .loc 1 504 5 is_stmt 1 view .LVU316
916 000c 024B ldr r3, .L61
917 000e 5861 str r0, [r3, #20]
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** }
918 .loc 1 505 5 view .LVU317
919 0010 FFF7FEFF bl HAL_GPIO_EXTI_Callback
920 .LVL77:
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c ****
921 .loc 1 507 1 is_stmt 0 view .LVU318
922 0014 F9E7 b .L57
923 .L62:
924 0016 00BF .align 2
925 .L61:
926 0018 00040140 .word 1073808384
927 .cfi_endproc
928 .LFE136:
930 .text
931 .Letext0:
932 .file 2 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
933 .file 3 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
934 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
935 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
936 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h"
ARM GAS C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s page 29
DEFINED SYMBOLS
*ABS*:00000000 stm32f3xx_hal_gpio.c
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:21 .text.HAL_GPIO_Init:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:27 .text.HAL_GPIO_Init:00000000 HAL_GPIO_Init
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:443 .text.HAL_GPIO_Init:000001b8 $d
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:451 .text.HAL_GPIO_DeInit:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:457 .text.HAL_GPIO_DeInit:00000000 HAL_GPIO_DeInit
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:676 .text.HAL_GPIO_DeInit:00000100 $d
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:683 .text.HAL_GPIO_ReadPin:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:689 .text.HAL_GPIO_ReadPin:00000000 HAL_GPIO_ReadPin
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:722 .text.HAL_GPIO_WritePin:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:728 .text.HAL_GPIO_WritePin:00000000 HAL_GPIO_WritePin
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:755 .text.HAL_GPIO_TogglePin:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:761 .text.HAL_GPIO_TogglePin:00000000 HAL_GPIO_TogglePin
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:791 .text.HAL_GPIO_LockPin:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:797 .text.HAL_GPIO_LockPin:00000000 HAL_GPIO_LockPin
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:863 .text.HAL_GPIO_EXTI_Callback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:869 .text.HAL_GPIO_EXTI_Callback:00000000 HAL_GPIO_EXTI_Callback
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:884 .text.HAL_GPIO_EXTI_IRQHandler:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:890 .text.HAL_GPIO_EXTI_IRQHandler:00000000 HAL_GPIO_EXTI_IRQHandler
C:\Users\nived\AppData\Local\Temp\ccnWxPPc.s:926 .text.HAL_GPIO_EXTI_IRQHandler:00000018 $d
NO UNDEFINED SYMBOLS