PDU_Code/build/stm32f3xx_hal_gpio.lst

1677 lines
103 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

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

ARM GAS 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