ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.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, 2 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 .section .rodata.HAL_GPIO_Init.str1.4,"aMS",%progbits,1 20 .align 2 21 .LC0: 22 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio" 22 6572732F 22 53544D33 22 32463378 22 785F4841 23 0033 2E6300 .ascii ".c\000" 24 .section .text.HAL_GPIO_Init,"ax",%progbits 25 .align 1 26 .p2align 2,,3 27 .global HAL_GPIO_Init 28 .syntax unified 29 .thumb 30 .thumb_func 32 HAL_GPIO_Init: 33 .LVL0: 34 .LFB130: 35 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c" 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. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 2 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ****************************************************************************** 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** @verbatim 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ============================================================================== 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ##### GPIO Peripheral features ##### 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** ============================================================================== 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** [..] 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (+) Each port bit of the general-purpose I/O (GPIO) ports can be individually 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** configured by software in several modes: 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Input mode 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (++) Analog mode 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). ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 3 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_NVIC_EnableIRQ(). 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin(). 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To set/reset the level of a pin configured in output mode use 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_WritePin()/HAL_GPIO_TogglePin(). 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** (#) To lock pin configuration until next reset use HAL_GPIO_LockPin(). 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 **** * @} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 4 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */ 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/ 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/ 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** @defgroup GPIO_Private_Macros GPIO Private Macros 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @{ 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */ 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /** 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** * @} 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** */ 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/ 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 **** { 36 .loc 1 172 1 view -0 37 .cfi_startproc 38 @ args = 0, pretend = 0, frame = 16 39 @ frame_needed = 0, uses_anonymous_args = 0 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u; 40 .loc 1 173 3 view .LVU1 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent; 41 .loc 1 174 3 view .LVU2 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t temp; 42 .loc 1 175 3 view .LVU3 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)); 43 .loc 1 178 3 view .LVU4 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u; 44 .loc 1 172 1 is_stmt 0 view .LVU5 45 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 46 .LCFI0: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 5 47 .cfi_def_cfa_offset 36 48 .cfi_offset 4, -36 49 .cfi_offset 5, -32 50 .cfi_offset 6, -28 51 .cfi_offset 7, -24 52 .cfi_offset 8, -20 53 .cfi_offset 9, -16 54 .cfi_offset 10, -12 55 .cfi_offset 11, -8 56 .cfi_offset 14, -4 57 .loc 1 178 3 view .LVU6 58 0004 B0F1904F cmp r0, #1207959552 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u; 59 .loc 1 172 1 view .LVU7 60 0008 85B0 sub sp, sp, #20 61 .LCFI1: 62 .cfi_def_cfa_offset 56 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u; 63 .loc 1 172 1 view .LVU8 64 000a 0646 mov r6, r0 65 000c 8846 mov r8, r1 66 .loc 1 178 3 view .LVU9 67 000e 16D0 beq .L2 68 .loc 1 178 3 discriminator 1 view .LVU10 69 0010 B54B ldr r3, .L77 70 0012 9842 cmp r0, r3 71 0014 13D0 beq .L2 72 .loc 1 178 3 discriminator 2 view .LVU11 73 0016 03F58063 add r3, r3, #1024 74 001a 9842 cmp r0, r3 75 001c 0FD0 beq .L2 76 .loc 1 178 3 discriminator 3 view .LVU12 77 001e 03F58063 add r3, r3, #1024 78 0022 9842 cmp r0, r3 79 0024 0BD0 beq .L2 80 .loc 1 178 3 discriminator 4 view .LVU13 81 0026 03F58063 add r3, r3, #1024 82 002a 9842 cmp r0, r3 83 002c 07D0 beq .L2 84 .loc 1 178 3 discriminator 5 view .LVU14 85 002e 03F58063 add r3, r3, #1024 86 0032 9842 cmp r0, r3 87 0034 03D0 beq .L2 88 .loc 1 178 3 discriminator 6 view .LVU15 89 0036 AD48 ldr r0, .L77+4 90 .LVL1: 91 .loc 1 178 3 discriminator 6 view .LVU16 92 0038 B221 movs r1, #178 93 .LVL2: 94 .loc 1 178 3 discriminator 6 view .LVU17 95 003a FFF7FEFF bl assert_failed 96 .LVL3: 97 .L2: 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Init->Pin)); 98 .loc 1 179 3 is_stmt 1 view .LVU18 99 003e D8F80010 ldr r1, [r8] 100 0042 8BB2 uxth r3, r1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 6 101 0044 23B1 cbz r3, .L3 102 .loc 1 179 3 is_stmt 0 discriminator 2 view .LVU19 103 0046 0B0C lsrs r3, r1, #16 104 0048 1B04 lsls r3, r3, #16 105 004a 002B cmp r3, #0 106 004c 00F02E81 beq .L4 107 .L3: 108 .loc 1 179 3 discriminator 3 view .LVU20 109 0050 A648 ldr r0, .L77+4 110 0052 B321 movs r1, #179 111 0054 FFF7FEFF bl assert_failed 112 .LVL4: 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_MODE(GPIO_Init->Mode)); 113 .loc 1 180 3 is_stmt 1 discriminator 3 view .LVU21 114 0058 D8F80430 ldr r3, [r8, #4] 115 005c 012B cmp r3, #1 116 005e 18D9 bls .L6 117 .loc 1 180 3 is_stmt 0 discriminator 1 view .LVU22 118 0060 A3F11102 sub r2, r3, #17 119 0064 012A cmp r2, #1 120 0066 14D9 bls .L6 121 .L76: 122 .loc 1 180 3 discriminator 2 view .LVU23 123 0068 9A1E subs r2, r3, #2 124 006a 012A cmp r2, #1 125 006c 11D9 bls .L6 126 .loc 1 180 3 discriminator 4 view .LVU24 127 006e 23F40012 bic r2, r3, #2097152 128 0072 B2F5881F cmp r2, #1114112 129 0076 0CD0 beq .L6 130 .loc 1 180 3 discriminator 5 view .LVU25 131 0078 B3F5041F cmp r3, #2162688 132 007c 09D0 beq .L6 133 .loc 1 180 3 discriminator 7 view .LVU26 134 007e B2F5901F cmp r2, #1179648 135 0082 06D0 beq .L6 136 .loc 1 180 3 discriminator 8 view .LVU27 137 0084 B3F5081F cmp r3, #2228224 138 0088 03D0 beq .L6 139 .loc 1 180 3 discriminator 11 view .LVU28 140 008a 9848 ldr r0, .L77+4 141 008c B421 movs r1, #180 142 008e FFF7FEFF bl assert_failed 143 .LVL5: 144 .L6: 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) 145 .loc 1 183 9 is_stmt 1 view .LVU29 146 .loc 1 183 21 is_stmt 0 view .LVU30 147 0092 D8F80010 ldr r1, [r8] 148 .loc 1 183 9 view .LVU31 149 0096 0029 cmp r1, #0 150 0098 00F0CE80 beq .L1 151 .L8: 152 .LVL6: 153 .LBB2: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 7 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)); 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; 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u)); 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u)); 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR = temp; 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; 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ; 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER = temp; 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)); 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure Alternate function mapped with the current IO */ 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = GPIOx->AFR[position >> 3u]; 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u)); 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp; 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; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 8 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(); 154 .loc 1 247 9 view .LVU32 155 009c DFF85CB2 ldr fp, .L77+20 156 .LBE2: 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = SYSCFG->EXTICR[position >> 2u]; 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))); 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 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 14 view .LVU33 158 00a0 DFF85C92 ldr r9, .L77+24 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u; 159 .loc 1 172 1 view .LVU34 160 00a4 0024 movs r4, #0 161 .L32: 162 .LVL7: 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 163 .loc 1 186 5 is_stmt 1 view .LVU35 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 164 .loc 1 186 41 is_stmt 0 view .LVU36 165 00a6 0125 movs r5, #1 166 00a8 A540 lsls r5, r5, r4 167 .LVL8: 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 168 .loc 1 188 5 is_stmt 1 view .LVU37 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 169 .loc 1 188 8 is_stmt 0 view .LVU38 170 00aa 15EA0103 ands r3, r5, r1 171 .LVL9: 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 172 .loc 1 188 8 view .LVU39 173 00ae 00F0BE80 beq .L10 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 174 .loc 1 192 7 is_stmt 1 view .LVU40 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 175 .loc 1 192 21 is_stmt 0 view .LVU41 176 00b2 D8F80400 ldr r0, [r8, #4] 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 177 .loc 1 192 28 view .LVU42 178 00b6 00F00301 and r1, r0, #3 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 179 .loc 1 192 57 view .LVU43 180 00ba 4F1E subs r7, r1, #1 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 181 .loc 1 192 9 view .LVU44 182 00bc 012F cmp r7, #1 183 00be 40F2BE80 bls .L11 184 00c2 4FEA440A lsl r10, r4, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 9 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u)); 185 .loc 1 198 42 view .LVU45 186 00c6 0327 movs r7, #3 187 00c8 07FA0AF7 lsl r7, r7, r10 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u)); 188 .loc 1 198 17 view .LVU46 189 00cc FF43 mvns r7, r7 190 .LVL10: 191 .L12: 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 192 .loc 1 209 7 is_stmt 1 view .LVU47 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 193 .loc 1 209 9 is_stmt 0 view .LVU48 194 00ce 0329 cmp r1, #3 195 00d0 4DD0 beq .L14 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 196 .loc 1 212 9 is_stmt 1 view .LVU49 197 00d2 D8F80850 ldr r5, [r8, #8] 198 00d6 022D cmp r5, #2 199 00d8 00F2DD80 bhi .L72 200 .L15: 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u)); 201 .loc 1 215 9 view .LVU50 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u)); 202 .loc 1 215 14 is_stmt 0 view .LVU51 203 00dc F268 ldr r2, [r6, #12] 204 .LVL11: 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u)); 205 .loc 1 216 9 is_stmt 1 view .LVU52 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp; 206 .loc 1 217 36 is_stmt 0 view .LVU53 207 00de 05FA0AF5 lsl r5, r5, r10 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u)); 208 .loc 1 216 14 view .LVU54 209 00e2 02EA070C and ip, r2, r7 210 .LVL12: 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp; 211 .loc 1 217 9 is_stmt 1 view .LVU55 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp; 212 .loc 1 217 14 is_stmt 0 view .LVU56 213 00e6 45EA0C05 orr r5, r5, ip 214 .LVL13: 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 215 .loc 1 218 9 is_stmt 1 view .LVU57 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 216 .loc 1 223 9 is_stmt 0 view .LVU58 217 00ea 0229 cmp r1, #2 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 218 .loc 1 218 22 view .LVU59 219 00ec F560 str r5, [r6, #12] 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 220 .loc 1 223 7 is_stmt 1 view .LVU60 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 221 .loc 1 223 9 is_stmt 0 view .LVU61 222 00ee 3ED1 bne .L14 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); 223 .loc 1 226 9 is_stmt 1 view .LVU62 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 10 224 00f0 B6F1904F cmp r6, #1207959552 225 00f4 17D0 beq .L16 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); 226 .loc 1 226 9 is_stmt 0 discriminator 1 view .LVU63 227 00f6 7C4A ldr r2, .L77 228 00f8 9642 cmp r6, r2 229 00fa 14D0 beq .L16 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); 230 .loc 1 226 9 discriminator 2 view .LVU64 231 00fc 7C49 ldr r1, .L77+8 232 00fe 8E42 cmp r6, r1 233 0100 11D0 beq .L16 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); 234 .loc 1 226 9 discriminator 3 view .LVU65 235 0102 01F58061 add r1, r1, #1024 236 0106 8E42 cmp r6, r1 237 0108 0DD0 beq .L16 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); 238 .loc 1 226 9 discriminator 4 view .LVU66 239 010a 01F58061 add r1, r1, #1024 240 010e 8E42 cmp r6, r1 241 0110 09D0 beq .L16 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); 242 .loc 1 226 9 discriminator 5 view .LVU67 243 0112 01F58061 add r1, r1, #1024 244 0116 8E42 cmp r6, r1 245 0118 05D0 beq .L16 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); 246 .loc 1 226 9 discriminator 6 view .LVU68 247 011a 7448 ldr r0, .L77+4 248 011c 0193 str r3, [sp, #4] 249 011e E221 movs r1, #226 250 0120 FFF7FEFF bl assert_failed 251 .LVL14: 252 0124 019B ldr r3, [sp, #4] 253 .L16: 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 254 .loc 1 227 9 is_stmt 1 view .LVU69 255 0126 D8F81000 ldr r0, [r8, #16] 256 012a 0C28 cmp r0, #12 257 012c 0BD9 bls .L17 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 258 .loc 1 227 9 is_stmt 0 discriminator 1 view .LVU70 259 012e A0F10E01 sub r1, r0, #14 260 0132 0129 cmp r1, #1 261 0134 07D9 bls .L17 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 262 .loc 1 227 9 discriminator 3 view .LVU71 263 0136 6D48 ldr r0, .L77+4 264 0138 0193 str r3, [sp, #4] 265 013a E321 movs r1, #227 266 013c FFF7FEFF bl assert_failed 267 .LVL15: 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp; 268 .loc 1 232 28 discriminator 3 view .LVU72 269 0140 D8F81000 ldr r0, [r8, #16] 270 0144 019B ldr r3, [sp, #4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 11 271 .L17: 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u)); 272 .loc 1 230 9 is_stmt 1 view .LVU73 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u)); 273 .loc 1 230 36 is_stmt 0 view .LVU74 274 0146 E508 lsrs r5, r4, #3 275 .LVL16: 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u)); 276 .loc 1 230 36 view .LVU75 277 0148 06EB8505 add r5, r6, r5, lsl #2 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); 278 .loc 1 231 38 view .LVU76 279 014c 04F00701 and r1, r4, #7 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u)); 280 .loc 1 230 14 view .LVU77 281 0150 2A6A ldr r2, [r5, #32] 282 .LVL17: 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); 283 .loc 1 231 9 is_stmt 1 view .LVU78 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); 284 .loc 1 231 47 is_stmt 0 view .LVU79 285 0152 8900 lsls r1, r1, #2 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); 286 .loc 1 231 24 view .LVU80 287 0154 4FF00F0E mov lr, #15 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp; 288 .loc 1 232 41 view .LVU81 289 0158 8840 lsls r0, r0, r1 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); 290 .loc 1 231 24 view .LVU82 291 015a 0EFA01F1 lsl r1, lr, r1 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u)); 292 .loc 1 231 14 view .LVU83 293 015e 22EA0101 bic r1, r2, r1 294 .LVL18: 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp; 295 .loc 1 232 9 is_stmt 1 view .LVU84 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp; 296 .loc 1 232 14 is_stmt 0 view .LVU85 297 0162 0143 orrs r1, r1, r0 298 .LVL19: 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 299 .loc 1 233 9 is_stmt 1 view .LVU86 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp; 300 .loc 1 239 26 is_stmt 0 view .LVU87 301 0164 D8F80400 ldr r0, [r8, #4] 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 302 .loc 1 233 36 view .LVU88 303 0168 2962 str r1, [r5, #32] 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp; 304 .loc 1 239 33 view .LVU89 305 016a 00F00301 and r1, r0, #3 306 .LVL20: 307 .L14: 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u)); 308 .loc 1 237 7 is_stmt 1 view .LVU90 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u)); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 12 309 .loc 1 237 12 is_stmt 0 view .LVU91 310 016e 3568 ldr r5, [r6] 311 .LVL21: 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u)); 312 .loc 1 238 7 is_stmt 1 view .LVU92 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp; 313 .loc 1 239 46 is_stmt 0 view .LVU93 314 0170 01FA0AF1 lsl r1, r1, r10 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u)); 315 .loc 1 238 12 view .LVU94 316 0174 2F40 ands r7, r7, r5 317 .LVL22: 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp; 318 .loc 1 239 7 is_stmt 1 view .LVU95 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->MODER = temp; 319 .loc 1 239 12 is_stmt 0 view .LVU96 320 0176 3943 orrs r1, r1, r7 321 .LVL23: 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 322 .loc 1 240 7 is_stmt 1 view .LVU97 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 323 .loc 1 244 9 is_stmt 0 view .LVU98 324 0178 10F4403F tst r0, #196608 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 325 .loc 1 240 20 view .LVU99 326 017c 3160 str r1, [r6] 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 327 .loc 1 244 7 is_stmt 1 view .LVU100 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 328 .loc 1 244 9 is_stmt 0 view .LVU101 329 017e 54D0 beq .L69 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 330 .loc 1 247 9 is_stmt 1 view .LVU102 331 .LBB3: 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 332 .loc 1 247 9 view .LVU103 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 333 .loc 1 247 9 view .LVU104 334 0180 DBF81850 ldr r5, [fp, #24] 335 0184 45F00105 orr r5, r5, #1 336 0188 CBF81850 str r5, [fp, #24] 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 337 .loc 1 247 9 view .LVU105 338 018c DBF81850 ldr r5, [fp, #24] 339 0190 24F00301 bic r1, r4, #3 340 .LVL24: 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 341 .loc 1 247 9 is_stmt 0 view .LVU106 342 0194 01F18041 add r1, r1, #1073741824 343 0198 05F00105 and r5, r5, #1 344 019c 01F58031 add r1, r1, #65536 345 01a0 0395 str r5, [sp, #12] 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 346 .loc 1 247 9 is_stmt 1 view .LVU107 347 .LBE3: 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))); 348 .loc 1 250 45 is_stmt 0 view .LVU108 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 13 349 01a2 04F0030C and ip, r4, #3 350 .LBB4: 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 351 .loc 1 247 9 view .LVU109 352 01a6 039D ldr r5, [sp, #12] 353 .LBE4: 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 354 .loc 1 247 9 is_stmt 1 view .LVU110 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u))); 355 .loc 1 249 9 view .LVU111 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u))); 356 .loc 1 249 14 is_stmt 0 view .LVU112 357 01a8 8F68 ldr r7, [r1, #8] 358 .LVL25: 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))); 359 .loc 1 250 9 is_stmt 1 view .LVU113 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))); 360 .loc 1 250 33 is_stmt 0 view .LVU114 361 01aa 4FEA8C0C lsl ip, ip, #2 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))); 362 .loc 1 250 26 view .LVU115 363 01ae 0F25 movs r5, #15 364 01b0 05FA0CF5 lsl r5, r5, ip 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 365 .loc 1 251 18 view .LVU116 366 01b4 B6F1904F cmp r6, #1207959552 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))); 367 .loc 1 250 14 view .LVU117 368 01b8 27EA0505 bic r5, r7, r5 369 .LVL26: 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 370 .loc 1 251 9 is_stmt 1 view .LVU118 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 371 .loc 1 251 18 is_stmt 0 view .LVU119 372 01bc 13D0 beq .L19 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 373 .loc 1 251 18 discriminator 1 view .LVU120 374 01be 4A4A ldr r2, .L77 375 01c0 9642 cmp r6, r2 376 01c2 00F08480 beq .L73 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 377 .loc 1 251 18 discriminator 3 view .LVU121 378 01c6 4A4F ldr r7, .L77+8 379 01c8 BE42 cmp r6, r7 380 01ca 00F08680 beq .L74 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 381 .loc 1 251 18 discriminator 5 view .LVU122 382 01ce 494F ldr r7, .L77+12 383 01d0 BE42 cmp r6, r7 384 01d2 76D0 beq .L75 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 385 .loc 1 251 18 discriminator 7 view .LVU123 386 01d4 484F ldr r7, .L77+16 387 01d6 BE42 cmp r6, r7 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 388 .loc 1 251 40 discriminator 7 view .LVU124 389 01d8 0CBF ite eq ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 14 390 01da 0427 moveq r7, #4 391 01dc 0527 movne r7, #5 392 01de 07FA0CFC lsl ip, r7, ip 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 393 .loc 1 251 14 discriminator 7 view .LVU125 394 01e2 45EA0C05 orr r5, r5, ip 395 .LVL27: 396 .L19: 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 397 .loc 1 252 9 is_stmt 1 discriminator 20 view .LVU126 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 398 .loc 1 252 40 is_stmt 0 discriminator 20 view .LVU127 399 01e6 8D60 str r5, [r1, #8] 400 .loc 1 255 9 is_stmt 1 discriminator 20 view .LVU128 401 .loc 1 255 14 is_stmt 0 discriminator 20 view .LVU129 402 01e8 D9F80810 ldr r1, [r9, #8] 403 .LVL28: 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent); 404 .loc 1 256 9 is_stmt 1 discriminator 20 view .LVU130 405 .loc 1 256 17 is_stmt 0 discriminator 20 view .LVU131 406 01ec DD43 mvns r5, r3 407 .LVL29: 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u) 408 .loc 1 257 9 is_stmt 1 discriminator 20 view .LVU132 409 .loc 1 257 11 is_stmt 0 discriminator 20 view .LVU133 410 01ee C702 lsls r7, r0, #11 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent); 411 .loc 1 256 14 discriminator 20 view .LVU134 412 01f0 54BF ite pl 413 01f2 2940 andpl r1, r1, r5 414 .LVL30: 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent; 415 .loc 1 259 11 is_stmt 1 discriminator 20 view .LVU135 416 .loc 1 259 16 is_stmt 0 discriminator 20 view .LVU136 417 01f4 1943 orrmi r1, r1, r3 418 .LVL31: 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR = temp; 419 .loc 1 261 9 is_stmt 1 discriminator 20 view .LVU137 420 .loc 1 261 20 is_stmt 0 discriminator 20 view .LVU138 421 01f6 C9F80810 str r1, [r9, #8] 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->FTSR; 422 .loc 1 263 9 is_stmt 1 discriminator 20 view .LVU139 423 .loc 1 263 14 is_stmt 0 discriminator 20 view .LVU140 424 01fa D9F80C10 ldr r1, [r9, #12] 425 .LVL32: 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent); 426 .loc 1 264 9 is_stmt 1 discriminator 20 view .LVU141 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u) 427 .loc 1 265 9 discriminator 20 view .LVU142 428 .loc 1 265 11 is_stmt 0 discriminator 20 view .LVU143 429 01fe 8202 lsls r2, r0, #10 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent); 430 .loc 1 264 14 discriminator 20 view .LVU144 431 0200 54BF ite pl ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 15 432 0202 2940 andpl r1, r1, r5 433 .LVL33: 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent; 434 .loc 1 267 11 is_stmt 1 discriminator 20 view .LVU145 435 .loc 1 267 16 is_stmt 0 discriminator 20 view .LVU146 436 0204 1943 orrmi r1, r1, r3 437 .LVL34: 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->FTSR = temp; 438 .loc 1 269 9 is_stmt 1 discriminator 20 view .LVU147 439 .loc 1 269 20 is_stmt 0 discriminator 20 view .LVU148 440 0206 C9F80C10 str r1, [r9, #12] 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp = EXTI->EMR; 441 .loc 1 271 9 is_stmt 1 discriminator 20 view .LVU149 442 .loc 1 271 14 is_stmt 0 discriminator 20 view .LVU150 443 020a D9F80410 ldr r1, [r9, #4] 444 .LVL35: 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent); 445 .loc 1 272 9 is_stmt 1 discriminator 20 view .LVU151 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_EVT) != 0x00u) 446 .loc 1 273 9 discriminator 20 view .LVU152 447 .loc 1 273 11 is_stmt 0 discriminator 20 view .LVU153 448 020e 8703 lsls r7, r0, #14 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent); 449 .loc 1 272 14 discriminator 20 view .LVU154 450 0210 54BF ite pl 451 0212 2940 andpl r1, r1, r5 452 .LVL36: 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent; 453 .loc 1 275 11 is_stmt 1 discriminator 20 view .LVU155 454 .loc 1 275 16 is_stmt 0 discriminator 20 view .LVU156 455 0214 1943 orrmi r1, r1, r3 456 .LVL37: 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR = temp; 457 .loc 1 277 9 is_stmt 1 discriminator 20 view .LVU157 458 .loc 1 277 19 is_stmt 0 discriminator 20 view .LVU158 459 0216 C9F80410 str r1, [r9, #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; 460 .loc 1 280 9 is_stmt 1 discriminator 20 view .LVU159 461 .loc 1 280 14 is_stmt 0 discriminator 20 view .LVU160 462 021a D9F80010 ldr r1, [r9] 463 .LVL38: 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent); 464 .loc 1 281 9 is_stmt 1 discriminator 20 view .LVU161 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_IT) != 0x00u) 465 .loc 1 282 9 discriminator 20 view .LVU162 466 .loc 1 282 11 is_stmt 0 discriminator 20 view .LVU163 467 021e C203 lsls r2, r0, #15 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(iocurrent); 468 .loc 1 281 14 discriminator 20 view .LVU164 469 0220 54BF ite pl ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 16 470 0222 2940 andpl r1, r1, r5 471 .LVL39: 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= iocurrent; 472 .loc 1 284 11 is_stmt 1 discriminator 20 view .LVU165 473 .loc 1 284 16 is_stmt 0 discriminator 20 view .LVU166 474 0224 1943 orrmi r1, r1, r3 475 .LVL40: 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->IMR = temp; 476 .loc 1 286 9 is_stmt 1 discriminator 20 view .LVU167 477 .loc 1 286 19 is_stmt 0 discriminator 20 view .LVU168 478 0226 C9F80010 str r1, [r9] 479 .L69: 480 .loc 1 286 19 discriminator 20 view .LVU169 481 022a D8F80010 ldr r1, [r8] 482 .LVL41: 483 .L10: 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++; 484 .loc 1 290 5 is_stmt 1 view .LVU170 485 .loc 1 290 13 is_stmt 0 view .LVU171 486 022e 0134 adds r4, r4, #1 487 .LVL42: 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 488 .loc 1 183 9 is_stmt 1 view .LVU172 489 0230 31FA04F3 lsrs r3, r1, r4 490 0234 7FF437AF bne .L32 491 .LVL43: 492 .L1: 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 493 .loc 1 292 1 is_stmt 0 view .LVU173 494 0238 05B0 add sp, sp, #20 495 .LCFI2: 496 .cfi_remember_state 497 .cfi_def_cfa_offset 36 498 @ sp needed 499 023a BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 500 .LVL44: 501 .L11: 502 .LCFI3: 503 .cfi_restore_state 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the IO Speed */ 504 .loc 1 195 9 is_stmt 1 view .LVU174 505 023e D8F80C20 ldr r2, [r8, #12] 506 0242 012A cmp r2, #1 507 0244 0DD9 bls .L13 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the IO Speed */ 508 .loc 1 195 9 is_stmt 0 discriminator 1 view .LVU175 509 0246 032A cmp r2, #3 510 0248 0BD0 beq .L13 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Configure the IO Speed */ 511 .loc 1 195 9 discriminator 2 view .LVU176 512 024a 2848 ldr r0, .L77+4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 17 513 024c 0193 str r3, [sp, #4] 514 024e C321 movs r1, #195 515 0250 FFF7FEFF bl assert_failed 516 .LVL45: 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER = temp; 517 .loc 1 205 29 discriminator 2 view .LVU177 518 0254 D8F80400 ldr r0, [r8, #4] 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR = temp; 519 .loc 1 199 27 discriminator 2 view .LVU178 520 0258 D8F80C20 ldr r2, [r8, #12] 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 521 .loc 1 209 27 discriminator 2 view .LVU179 522 025c 019B ldr r3, [sp, #4] 523 025e 00F00301 and r1, r0, #3 524 .LVL46: 525 .L13: 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u)); 526 .loc 1 197 9 is_stmt 1 view .LVU180 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u)); 527 .loc 1 197 14 is_stmt 0 view .LVU181 528 0262 B768 ldr r7, [r6, #8] 529 .LVL47: 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u)); 530 .loc 1 198 9 is_stmt 1 view .LVU182 531 0264 4FEA440A lsl r10, r4, #1 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u)); 532 .loc 1 198 42 is_stmt 0 view .LVU183 533 0268 4FF0030E mov lr, #3 534 026c 0EFA0AFE lsl lr, lr, r10 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR = temp; 535 .loc 1 199 35 view .LVU184 536 0270 02FA0AFC lsl ip, r2, r10 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u)); 537 .loc 1 198 14 view .LVU185 538 0274 27EA0E07 bic r7, r7, lr 539 .LVL48: 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR = temp; 540 .loc 1 199 9 is_stmt 1 view .LVU186 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OSPEEDR = temp; 541 .loc 1 199 14 is_stmt 0 view .LVU187 542 0278 4CEA0707 orr r7, ip, r7 543 .LVL49: 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 544 .loc 1 200 9 is_stmt 1 view .LVU188 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 545 .loc 1 200 24 is_stmt 0 view .LVU189 546 027c B760 str r7, [r6, #8] 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ; 547 .loc 1 203 9 is_stmt 1 view .LVU190 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ; 548 .loc 1 203 14 is_stmt 0 view .LVU191 549 027e 7268 ldr r2, [r6, #4] 550 .LVL50: 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); 551 .loc 1 204 9 is_stmt 1 view .LVU192 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); 552 .loc 1 204 14 is_stmt 0 view .LVU193 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 18 553 0280 22EA050C bic ip, r2, r5 554 .LVL51: 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER = temp; 555 .loc 1 205 9 is_stmt 1 view .LVU194 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER = temp; 556 .loc 1 205 51 is_stmt 0 view .LVU195 557 0284 C0F30015 ubfx r5, r0, #4, #1 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER = temp; 558 .loc 1 205 71 view .LVU196 559 0288 A540 lsls r5, r5, r4 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->OTYPER = temp; 560 .loc 1 205 14 view .LVU197 561 028a 45EA0C05 orr r5, r5, ip 562 .LVL52: 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 563 .loc 1 206 9 is_stmt 1 view .LVU198 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u)); 564 .loc 1 198 17 is_stmt 0 view .LVU199 565 028e 6FEA0E07 mvn r7, lr 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 566 .loc 1 206 23 view .LVU200 567 0292 7560 str r5, [r6, #4] 568 0294 1BE7 b .L12 569 .LVL53: 570 .L72: 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 571 .loc 1 212 9 discriminator 1 view .LVU201 572 0296 1548 ldr r0, .L77+4 573 0298 0193 str r3, [sp, #4] 574 029a D421 movs r1, #212 575 029c FFF7FEFF bl assert_failed 576 .LVL54: 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIOx->PUPDR = temp; 577 .loc 1 217 28 discriminator 1 view .LVU202 578 02a0 D8E90105 ldrd r0, r5, [r8, #4] 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 579 .loc 1 223 27 discriminator 1 view .LVU203 580 02a4 019B ldr r3, [sp, #4] 581 02a6 00F00301 and r1, r0, #3 582 02aa 17E7 b .L15 583 .LVL55: 584 .L4: 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 585 .loc 1 180 3 is_stmt 1 view .LVU204 586 02ac D8F80430 ldr r3, [r8, #4] 587 02b0 012B cmp r3, #1 588 02b2 7FF6F3AE bls .L8 589 02b6 A3F11102 sub r2, r3, #17 590 02ba 012A cmp r2, #1 591 02bc 3FF6D4AE bhi .L76 592 02c0 E7E6 b .L6 593 .LVL56: 594 .L75: 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 595 .loc 1 251 40 is_stmt 0 view .LVU205 596 02c2 0327 movs r7, #3 597 02c4 07FA0CFC lsl ip, r7, ip ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 19 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 598 .loc 1 251 14 view .LVU206 599 02c8 45EA0C05 orr r5, r5, ip 600 .LVL57: 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 601 .loc 1 251 14 view .LVU207 602 02cc 8BE7 b .L19 603 .LVL58: 604 .L73: 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 605 .loc 1 251 40 view .LVU208 606 02ce 0127 movs r7, #1 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 607 .loc 1 251 40 view .LVU209 608 02d0 07FA0CFC lsl ip, r7, ip 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 609 .loc 1 251 14 view .LVU210 610 02d4 45EA0C05 orr r5, r5, ip 611 .LVL59: 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 612 .loc 1 251 14 view .LVU211 613 02d8 85E7 b .L19 614 .LVL60: 615 .L74: 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 616 .loc 1 251 40 view .LVU212 617 02da 0227 movs r7, #2 618 02dc 07FA0CFC lsl ip, r7, ip 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 619 .loc 1 251 14 view .LVU213 620 02e0 45EA0C05 orr r5, r5, ip 621 .LVL61: 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp; 622 .loc 1 251 14 view .LVU214 623 02e4 7FE7 b .L19 624 .L78: 625 02e6 00BF .align 2 626 .L77: 627 02e8 00040048 .word 1207960576 628 02ec 00000000 .word .LC0 629 02f0 00080048 .word 1207961600 630 02f4 000C0048 .word 1207962624 631 02f8 00100048 .word 1207963648 632 02fc 00100240 .word 1073876992 633 0300 00040140 .word 1073808384 634 .cfi_endproc 635 .LFE130: 637 .section .text.HAL_GPIO_DeInit,"ax",%progbits 638 .align 1 639 .p2align 2,,3 640 .global HAL_GPIO_DeInit 641 .syntax unified 642 .thumb 643 .thumb_func 645 HAL_GPIO_DeInit: 646 .LVL62: 647 .LFB131: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 20 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 **** { 648 .loc 1 302 1 is_stmt 1 view -0 649 .cfi_startproc 650 @ args = 0, pretend = 0, frame = 0 651 @ frame_needed = 0, uses_anonymous_args = 0 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u; 652 .loc 1 303 3 view .LVU216 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t iocurrent; 653 .loc 1 304 3 view .LVU217 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t tmp; 654 .loc 1 305 3 view .LVU218 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)); 655 .loc 1 308 3 view .LVU219 656 0000 B0F1904F cmp r0, #1207959552 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u; 657 .loc 1 302 1 is_stmt 0 view .LVU220 658 0004 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr} 659 .LCFI4: 660 .cfi_def_cfa_offset 40 661 .cfi_offset 3, -40 662 .cfi_offset 4, -36 663 .cfi_offset 5, -32 664 .cfi_offset 6, -28 665 .cfi_offset 7, -24 666 .cfi_offset 8, -20 667 .cfi_offset 9, -16 668 .cfi_offset 10, -12 669 .cfi_offset 11, -8 670 .cfi_offset 14, -4 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u; 671 .loc 1 302 1 view .LVU221 672 0008 0446 mov r4, r0 673 000a 0D46 mov r5, r1 674 .loc 1 308 3 view .LVU222 675 000c 17D0 beq .L80 676 .loc 1 308 3 discriminator 1 view .LVU223 677 000e 534B ldr r3, .L106 678 0010 9842 cmp r0, r3 679 0012 14D0 beq .L80 680 .loc 1 308 3 discriminator 2 view .LVU224 681 0014 03F58063 add r3, r3, #1024 682 0018 9842 cmp r0, r3 683 001a 10D0 beq .L80 684 .loc 1 308 3 discriminator 3 view .LVU225 685 001c 03F58063 add r3, r3, #1024 686 0020 9842 cmp r0, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 21 687 0022 0CD0 beq .L80 688 .loc 1 308 3 discriminator 4 view .LVU226 689 0024 03F58063 add r3, r3, #1024 690 0028 9842 cmp r0, r3 691 002a 08D0 beq .L80 692 .loc 1 308 3 discriminator 5 view .LVU227 693 002c 03F58063 add r3, r3, #1024 694 0030 9842 cmp r0, r3 695 0032 04D0 beq .L80 696 .loc 1 308 3 discriminator 6 view .LVU228 697 0034 4A48 ldr r0, .L106+4 698 .LVL63: 699 .loc 1 308 3 discriminator 6 view .LVU229 700 0036 4FF49A71 mov r1, #308 701 .LVL64: 702 .loc 1 308 3 discriminator 6 view .LVU230 703 003a FFF7FEFF bl assert_failed 704 .LVL65: 705 .L80: 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin)); 706 .loc 1 309 3 is_stmt 1 view .LVU231 707 003e ABB2 uxth r3, r5 708 0040 002B cmp r3, #0 709 0042 70D0 beq .L81 710 .loc 1 309 3 is_stmt 0 discriminator 2 view .LVU232 711 0044 2B0C lsrs r3, r5, #16 712 0046 1B04 lsls r3, r3, #16 713 0048 002B cmp r3, #0 714 004a 7DD1 bne .L82 715 .L84: 716 .LVL66: 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) 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)))) 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); 717 .loc 1 327 19 view .LVU233 718 004c 454E ldr r6, .L106+8 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 719 .loc 1 324 19 view .LVU234 720 004e DFF80CB1 ldr fp, .L106 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t position = 0x00u; 721 .loc 1 302 1 view .LVU235 722 0052 0023 movs r3, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 22 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)))) 723 .loc 1 323 22 view .LVU236 724 0054 4FF00F09 mov r9, #15 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)); 725 .loc 1 341 43 view .LVU237 726 0058 4FF0030A mov r10, #3 727 005c 4AE0 b .L83 728 .LVL67: 729 .L105: 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 730 .loc 1 324 19 discriminator 1 view .LVU238 731 005e 5C45 cmp r4, fp 732 0060 6AD0 beq .L102 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 733 .loc 1 324 19 discriminator 3 view .LVU239 734 0062 414F ldr r7, .L106+12 735 0064 BC42 cmp r4, r7 736 0066 6BD0 beq .L103 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 737 .loc 1 324 19 discriminator 5 view .LVU240 738 0068 404F ldr r7, .L106+16 739 006a BC42 cmp r4, r7 740 006c 72D0 beq .L104 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 741 .loc 1 324 19 discriminator 7 view .LVU241 742 006e 404F ldr r7, .L106+20 743 0070 BC42 cmp r4, r7 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 744 .loc 1 324 41 discriminator 7 view .LVU242 745 0072 14BF ite ne 746 0074 0527 movne r7, #5 747 0076 0427 moveq r7, #4 748 0078 07FA01F1 lsl r1, r7, r1 749 .L86: 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 750 .loc 1 324 10 discriminator 20 view .LVU243 751 007c 8C45 cmp ip, r1 752 007e 13D1 bne .L91 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent); 753 .loc 1 327 9 is_stmt 1 view .LVU244 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent); 754 .loc 1 327 19 is_stmt 0 view .LVU245 755 0080 3168 ldr r1, [r6] 756 0082 21EA0E01 bic r1, r1, lr ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 23 757 0086 3160 str r1, [r6] 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent); 758 .loc 1 328 9 is_stmt 1 view .LVU246 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent); 759 .loc 1 328 19 is_stmt 0 view .LVU247 760 0088 7168 ldr r1, [r6, #4] 761 008a 21EA0E01 bic r1, r1, lr 762 008e 7160 str r1, [r6, #4] 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent); 763 .loc 1 331 9 is_stmt 1 view .LVU248 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent); 764 .loc 1 331 20 is_stmt 0 view .LVU249 765 0090 F168 ldr r1, [r6, #12] 766 0092 21EA0E01 bic r1, r1, lr 767 0096 F160 str r1, [r6, #12] 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 768 .loc 1 332 9 is_stmt 1 view .LVU250 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 769 .loc 1 332 20 is_stmt 0 view .LVU251 770 0098 B168 ldr r1, [r6, #8] 771 009a 21EA0E01 bic r1, r1, lr 772 009e B160 str r1, [r6, #8] 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] &= ~tmp; 773 .loc 1 335 9 is_stmt 1 view .LVU252 774 .LVL68: 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 775 .loc 1 336 9 view .LVU253 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 776 .loc 1 336 40 is_stmt 0 view .LVU254 777 00a0 8168 ldr r1, [r0, #8] 778 00a2 21EA0801 bic r1, r1, r8 779 00a6 8160 str r1, [r0, #8] 780 .LVL69: 781 .L91: 782 .loc 1 341 7 is_stmt 1 view .LVU255 783 .loc 1 341 20 is_stmt 0 view .LVU256 784 00a8 2068 ldr r0, [r4] 785 .loc 1 341 43 view .LVU257 786 00aa 5900 lsls r1, r3, #1 787 00ac 0AFA01F1 lsl r1, r10, r1 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)) ; 788 .loc 1 344 34 view .LVU258 789 00b0 4FEAD30C lsr ip, r3, #3 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 790 .loc 1 341 20 view .LVU259 791 00b4 20EA0100 bic r0, r0, r1 792 00b8 04EB8C0C add ip, r4, ip, lsl #2 793 00bc 2060 str r0, [r4] 794 .loc 1 344 7 is_stmt 1 view .LVU260 795 .loc 1 344 48 is_stmt 0 view .LVU261 796 00be 03F00700 and r0, r3, #7 797 .loc 1 344 34 view .LVU262 798 00c2 DCF820E0 ldr lr, [ip, #32] 799 .LVL70: 800 .loc 1 344 77 view .LVU263 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 24 801 00c6 8000 lsls r0, r0, #2 802 .loc 1 344 44 view .LVU264 803 00c8 09FA00F0 lsl r0, r9, r0 804 .loc 1 344 34 view .LVU265 805 00cc 2EEA0000 bic r0, lr, r0 806 00d0 CCF82000 str r0, [ip, #32] 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)); 807 .loc 1 347 7 is_stmt 1 view .LVU266 808 .loc 1 347 20 is_stmt 0 view .LVU267 809 00d4 E068 ldr r0, [r4, #12] 810 00d6 20EA0100 bic r0, r0, r1 811 00da E060 str r0, [r4, #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) ; 812 .loc 1 350 7 is_stmt 1 view .LVU268 813 .loc 1 350 22 is_stmt 0 view .LVU269 814 00dc 6068 ldr r0, [r4, #4] 815 00de 20EA0202 bic r2, r0, r2 816 .LVL71: 817 .loc 1 350 22 view .LVU270 818 00e2 6260 str r2, [r4, #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)); 819 .loc 1 353 7 is_stmt 1 view .LVU271 820 .loc 1 353 22 is_stmt 0 view .LVU272 821 00e4 A268 ldr r2, [r4, #8] 822 00e6 22EA0101 bic r1, r2, r1 823 00ea A160 str r1, [r4, #8] 824 .L85: 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++; 825 .loc 1 356 5 is_stmt 1 view .LVU273 826 .loc 1 356 13 is_stmt 0 view .LVU274 827 00ec 0133 adds r3, r3, #1 828 .LVL72: 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 829 .loc 1 312 9 is_stmt 1 view .LVU275 830 00ee 35FA03F2 lsrs r2, r5, r3 831 00f2 1FD0 beq .L79 832 .LVL73: 833 .L83: 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 834 .loc 1 315 5 view .LVU276 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 835 .loc 1 315 35 is_stmt 0 view .LVU277 836 00f4 0122 movs r2, #1 837 00f6 9A40 lsls r2, r2, r3 838 .LVL74: 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 839 .loc 1 317 5 is_stmt 1 view .LVU278 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 840 .loc 1 317 8 is_stmt 0 view .LVU279 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 25 841 00f8 12EA050E ands lr, r2, r5 842 .LVL75: 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 843 .loc 1 317 8 view .LVU280 844 00fc F6D0 beq .L85 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u))); 845 .loc 1 322 7 is_stmt 1 view .LVU281 846 00fe 23F00300 bic r0, r3, #3 847 0102 00F18040 add r0, r0, #1073741824 848 0106 00F58030 add r0, r0, #65536 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)))) 849 .loc 1 323 41 is_stmt 0 view .LVU282 850 010a 03F00301 and r1, r3, #3 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u))); 851 .loc 1 322 11 view .LVU283 852 010e D0F808C0 ldr ip, [r0, #8] 853 .LVL76: 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)))) 854 .loc 1 323 7 is_stmt 1 view .LVU284 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)))) 855 .loc 1 323 29 is_stmt 0 view .LVU285 856 0112 8900 lsls r1, r1, #2 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)))) 857 .loc 1 323 22 view .LVU286 858 0114 09FA01F8 lsl r8, r9, r1 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 859 .loc 1 324 19 view .LVU287 860 0118 B4F1904F cmp r4, #1207959552 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)))) 861 .loc 1 323 11 view .LVU288 862 011c 08EA0C0C and ip, r8, ip 863 .LVL77: 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 864 .loc 1 324 7 is_stmt 1 view .LVU289 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 865 .loc 1 324 19 is_stmt 0 view .LVU290 866 0120 9DD1 bne .L105 867 0122 0021 movs r1, #0 868 0124 AAE7 b .L86 869 .LVL78: 870 .L81: 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 871 .loc 1 309 3 discriminator 3 view .LVU291 872 0126 0E48 ldr r0, .L106+4 873 0128 40F23511 movw r1, #309 874 012c FFF7FEFF bl assert_failed 875 .LVL79: 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 876 .loc 1 312 9 is_stmt 1 discriminator 3 view .LVU292 877 0130 002D cmp r5, #0 878 0132 8BD1 bne .L84 879 .LVL80: 880 .L79: 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 881 .loc 1 358 1 is_stmt 0 view .LVU293 882 0134 BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 26 883 .LVL81: 884 .L102: 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 885 .loc 1 324 41 view .LVU294 886 0138 0127 movs r7, #1 887 013a 07FA01F1 lsl r1, r7, r1 888 013e 9DE7 b .L86 889 .L103: 890 0140 0227 movs r7, #2 891 0142 07FA01F1 lsl r1, r7, r1 892 0146 99E7 b .L86 893 .LVL82: 894 .L82: 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 895 .loc 1 309 3 view .LVU295 896 0148 0548 ldr r0, .L106+4 897 014a 40F23511 movw r1, #309 898 014e FFF7FEFF bl assert_failed 899 .LVL83: 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 900 .loc 1 312 9 is_stmt 1 view .LVU296 901 0152 7BE7 b .L84 902 .LVL84: 903 .L104: 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 904 .loc 1 324 41 is_stmt 0 view .LVU297 905 0154 0AFA01F1 lsl r1, r10, r1 906 0158 90E7 b .L86 907 .L107: 908 015a 00BF .align 2 909 .L106: 910 015c 00040048 .word 1207960576 911 0160 00000000 .word .LC0 912 0164 00040140 .word 1073808384 913 0168 00080048 .word 1207961600 914 016c 000C0048 .word 1207962624 915 0170 00100048 .word 1207963648 916 .cfi_endproc 917 .LFE131: 919 .section .text.HAL_GPIO_ReadPin,"ax",%progbits 920 .align 1 921 .p2align 2,,3 922 .global HAL_GPIO_ReadPin 923 .syntax unified 924 .thumb 925 .thumb_func 927 HAL_GPIO_ReadPin: 928 .LVL85: 929 .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 **** * ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 27 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 **** { 930 .loc 1 384 1 is_stmt 1 view -0 931 .cfi_startproc 932 @ args = 0, pretend = 0, frame = 0 933 @ frame_needed = 0, uses_anonymous_args = 0 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_PinState bitstatus; 934 .loc 1 385 3 view .LVU299 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)); 935 .loc 1 388 3 view .LVU300 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_PinState bitstatus; 936 .loc 1 384 1 is_stmt 0 view .LVU301 937 0000 38B5 push {r3, r4, r5, lr} 938 .LCFI5: 939 .cfi_def_cfa_offset 16 940 .cfi_offset 3, -16 941 .cfi_offset 4, -12 942 .cfi_offset 5, -8 943 .cfi_offset 14, -4 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** GPIO_PinState bitstatus; 944 .loc 1 384 1 view .LVU302 945 0002 0546 mov r5, r0 946 .loc 1 388 3 view .LVU303 947 0004 0C46 mov r4, r1 948 0006 29B1 cbz r1, .L111 949 .LVL86: 950 .L109: 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) 951 .loc 1 390 3 is_stmt 1 view .LVU304 952 .loc 1 390 12 is_stmt 0 view .LVU305 953 0008 2B69 ldr r3, [r5, #16] 954 .LVL87: 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** bitstatus = GPIO_PIN_SET; 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; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 28 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return bitstatus; 955 .loc 1 398 3 is_stmt 1 view .LVU306 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 956 .loc 1 390 5 is_stmt 0 view .LVU307 957 000a 1C42 tst r4, r3 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 958 .loc 1 399 1 view .LVU308 959 000c 14BF ite ne 960 000e 0120 movne r0, #1 961 0010 0020 moveq r0, #0 962 0012 38BD pop {r3, r4, r5, pc} 963 .LVL88: 964 .L111: 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 965 .loc 1 388 3 discriminator 3 view .LVU309 966 0014 0248 ldr r0, .L112 967 .LVL89: 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 968 .loc 1 388 3 discriminator 3 view .LVU310 969 0016 4FF4C271 mov r1, #388 970 .LVL90: 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 971 .loc 1 388 3 discriminator 3 view .LVU311 972 001a FFF7FEFF bl assert_failed 973 .LVL91: 974 001e F3E7 b .L109 975 .L113: 976 .align 2 977 .L112: 978 0020 00000000 .word .LC0 979 .cfi_endproc 980 .LFE132: 982 .section .text.HAL_GPIO_WritePin,"ax",%progbits 983 .align 1 984 .p2align 2,,3 985 .global HAL_GPIO_WritePin 986 .syntax unified 987 .thumb 988 .thumb_func 990 HAL_GPIO_WritePin: 991 .LVL92: 992 .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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 29 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 **** { 993 .loc 1 418 1 is_stmt 1 view -0 994 .cfi_startproc 995 @ args = 0, pretend = 0, frame = 0 996 @ frame_needed = 0, uses_anonymous_args = 0 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)); 997 .loc 1 420 3 view .LVU313 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */ 998 .loc 1 418 1 is_stmt 0 view .LVU314 999 0000 70B5 push {r4, r5, r6, lr} 1000 .LCFI6: 1001 .cfi_def_cfa_offset 16 1002 .cfi_offset 4, -16 1003 .cfi_offset 5, -12 1004 .cfi_offset 6, -8 1005 .cfi_offset 14, -4 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* Check the parameters */ 1006 .loc 1 418 1 view .LVU315 1007 0002 0646 mov r6, r0 1008 0004 1546 mov r5, r2 1009 .loc 1 420 3 view .LVU316 1010 0006 0C46 mov r4, r1 1011 0008 59B1 cbz r1, .L121 1012 .LVL93: 1013 .L115: 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState)); 1014 .loc 1 421 3 is_stmt 1 view .LVU317 1015 000a 012D cmp r5, #1 1016 000c 02D8 bhi .L122 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) 1017 .loc 1 423 3 view .LVU318 1018 .loc 1 423 5 is_stmt 0 view .LVU319 1019 000e 35B9 cbnz r5, .L117 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; 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; 1020 .loc 1 429 5 is_stmt 1 view .LVU320 1021 .loc 1 429 16 is_stmt 0 view .LVU321 1022 0010 B462 str r4, [r6, #40] 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 1023 .loc 1 431 1 view .LVU322 1024 0012 70BD pop {r4, r5, r6, pc} 1025 .LVL94: 1026 .L122: 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 1027 .loc 1 421 3 discriminator 1 view .LVU323 1028 0014 0648 ldr r0, .L123 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 30 1029 0016 40F2A511 movw r1, #421 1030 001a FFF7FEFF bl assert_failed 1031 .LVL95: 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 1032 .loc 1 423 3 is_stmt 1 discriminator 1 view .LVU324 1033 .L117: 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 1034 .loc 1 425 5 view .LVU325 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 1035 .loc 1 425 17 is_stmt 0 view .LVU326 1036 001e B461 str r4, [r6, #24] 1037 .loc 1 431 1 view .LVU327 1038 0020 70BD pop {r4, r5, r6, pc} 1039 .LVL96: 1040 .L121: 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState)); 1041 .loc 1 420 3 discriminator 3 view .LVU328 1042 0022 0348 ldr r0, .L123 1043 .LVL97: 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState)); 1044 .loc 1 420 3 discriminator 3 view .LVU329 1045 0024 4FF4D271 mov r1, #420 1046 .LVL98: 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState)); 1047 .loc 1 420 3 discriminator 3 view .LVU330 1048 0028 FFF7FEFF bl assert_failed 1049 .LVL99: 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState)); 1050 .loc 1 420 3 discriminator 3 view .LVU331 1051 002c EDE7 b .L115 1052 .L124: 1053 002e 00BF .align 2 1054 .L123: 1055 0030 00000000 .word .LC0 1056 .cfi_endproc 1057 .LFE133: 1059 .section .text.HAL_GPIO_TogglePin,"ax",%progbits 1060 .align 1 1061 .p2align 2,,3 1062 .global HAL_GPIO_TogglePin 1063 .syntax unified 1064 .thumb 1065 .thumb_func 1067 HAL_GPIO_TogglePin: 1068 .LVL100: 1069 .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 **** { 1070 .loc 1 440 1 is_stmt 1 view -0 1071 .cfi_startproc ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 31 1072 @ args = 0, pretend = 0, frame = 0 1073 @ frame_needed = 0, uses_anonymous_args = 0 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t odr; 1074 .loc 1 441 3 view .LVU333 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)); 1075 .loc 1 444 3 view .LVU334 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t odr; 1076 .loc 1 440 1 is_stmt 0 view .LVU335 1077 0000 38B5 push {r3, r4, r5, lr} 1078 .LCFI7: 1079 .cfi_def_cfa_offset 16 1080 .cfi_offset 3, -16 1081 .cfi_offset 4, -12 1082 .cfi_offset 5, -8 1083 .cfi_offset 14, -4 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** uint32_t odr; 1084 .loc 1 440 1 view .LVU336 1085 0002 0546 mov r5, r0 1086 .loc 1 444 3 view .LVU337 1087 0004 0C46 mov r4, r1 1088 0006 41B1 cbz r1, .L128 1089 .LVL101: 1090 .L126: 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; 1091 .loc 1 447 3 is_stmt 1 view .LVU338 1092 .loc 1 447 7 is_stmt 0 view .LVU339 1093 0008 6969 ldr r1, [r5, #20] 1094 .LVL102: 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); 1095 .loc 1 450 3 is_stmt 1 view .LVU340 1096 .loc 1 450 23 is_stmt 0 view .LVU341 1097 000a 04EA0103 and r3, r4, r1 1098 .loc 1 450 59 view .LVU342 1099 000e 24EA0104 bic r4, r4, r1 1100 .loc 1 450 51 view .LVU343 1101 0012 44EA0344 orr r4, r4, r3, lsl #16 1102 .loc 1 450 15 view .LVU344 1103 0016 AC61 str r4, [r5, #24] 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 1104 .loc 1 451 1 view .LVU345 1105 0018 38BD pop {r3, r4, r5, pc} 1106 .LVL103: 1107 .L128: 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 1108 .loc 1 444 3 discriminator 3 view .LVU346 1109 001a 0348 ldr r0, .L129 1110 .LVL104: 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 1111 .loc 1 444 3 discriminator 3 view .LVU347 1112 001c 4FF4DE71 mov r1, #444 1113 .LVL105: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 32 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 1114 .loc 1 444 3 discriminator 3 view .LVU348 1115 0020 FFF7FEFF bl assert_failed 1116 .LVL106: 1117 0024 F0E7 b .L126 1118 .L130: 1119 0026 00BF .align 2 1120 .L129: 1121 0028 00000000 .word .LC0 1122 .cfi_endproc 1123 .LFE134: 1125 .section .text.HAL_GPIO_LockPin,"ax",%progbits 1126 .align 1 1127 .p2align 2,,3 1128 .global HAL_GPIO_LockPin 1129 .syntax unified 1130 .thumb 1131 .thumb_func 1133 HAL_GPIO_LockPin: 1134 .LVL107: 1135 .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 **** { 1136 .loc 1 465 1 is_stmt 1 view -0 1137 .cfi_startproc 1138 @ args = 0, pretend = 0, frame = 8 1139 @ frame_needed = 0, uses_anonymous_args = 0 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK; 1140 .loc 1 466 3 view .LVU350 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK; 1141 .loc 1 465 1 is_stmt 0 view .LVU351 1142 0000 30B5 push {r4, r5, lr} 1143 .LCFI8: 1144 .cfi_def_cfa_offset 12 1145 .cfi_offset 4, -12 1146 .cfi_offset 5, -8 1147 .cfi_offset 14, -4 1148 0002 83B0 sub sp, sp, #12 1149 .LCFI9: 1150 .cfi_def_cfa_offset 24 1151 .loc 1 466 17 view .LVU352 1152 0004 4FF48033 mov r3, #65536 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)); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 33 1153 .loc 1 469 3 view .LVU353 1154 0008 B0F1904F cmp r0, #1207959552 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK; 1155 .loc 1 465 1 view .LVU354 1156 000c 0446 mov r4, r0 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 1157 .loc 1 466 17 view .LVU355 1158 000e 0193 str r3, [sp, #4] 1159 .loc 1 469 3 is_stmt 1 view .LVU356 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK; 1160 .loc 1 465 1 is_stmt 0 view .LVU357 1161 0010 0D46 mov r5, r1 1162 .loc 1 469 3 view .LVU358 1163 0012 0BD0 beq .L132 1164 .loc 1 469 3 discriminator 1 view .LVU359 1165 0014 114B ldr r3, .L139 1166 0016 9842 cmp r0, r3 1167 0018 08D0 beq .L132 1168 .loc 1 469 3 discriminator 2 view .LVU360 1169 001a 03F50063 add r3, r3, #2048 1170 001e 9842 cmp r0, r3 1171 0020 04D0 beq .L132 1172 .loc 1 469 3 discriminator 3 view .LVU361 1173 0022 0F48 ldr r0, .L139+4 1174 .LVL108: 1175 .loc 1 469 3 discriminator 3 view .LVU362 1176 0024 40F2D511 movw r1, #469 1177 .LVL109: 1178 .loc 1 469 3 discriminator 3 view .LVU363 1179 0028 FFF7FEFF bl assert_failed 1180 .LVL110: 1181 .L132: 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin)); 1182 .loc 1 470 3 is_stmt 1 view .LVU364 1183 002c 85B1 cbz r5, .L138 1184 .L133: 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; 1185 .loc 1 473 3 view .LVU365 1186 .loc 1 473 7 is_stmt 0 view .LVU366 1187 002e 019B ldr r3, [sp, #4] 1188 0030 2B43 orrs r3, r3, r5 1189 0032 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; 1190 .loc 1 475 3 is_stmt 1 view .LVU367 1191 .loc 1 475 15 is_stmt 0 view .LVU368 1192 0034 019B ldr r3, [sp, #4] 1193 0036 E361 str r3, [r4, #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; 1194 .loc 1 477 3 is_stmt 1 view .LVU369 1195 .loc 1 477 15 is_stmt 0 view .LVU370 1196 0038 E561 str r5, [r4, #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; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 34 1197 .loc 1 479 3 is_stmt 1 view .LVU371 1198 .loc 1 479 15 is_stmt 0 view .LVU372 1199 003a 019B ldr r3, [sp, #4] 1200 003c E361 str r3, [r4, #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; 1201 .loc 1 481 3 is_stmt 1 view .LVU373 1202 .loc 1 481 14 is_stmt 0 view .LVU374 1203 003e E369 ldr r3, [r4, #28] 1204 .loc 1 481 7 view .LVU375 1205 0040 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) 1206 .loc 1 484 2 is_stmt 1 view .LVU376 1207 .loc 1 484 11 is_stmt 0 view .LVU377 1208 0042 E069 ldr r0, [r4, #28] 1209 .loc 1 484 4 view .LVU378 1210 0044 80F48030 eor r0, r0, #65536 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** return HAL_OK; 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 **** } 1211 .loc 1 492 1 view .LVU379 1212 0048 C0F30040 ubfx r0, r0, #16, #1 1213 004c 03B0 add sp, sp, #12 1214 .LCFI10: 1215 .cfi_remember_state 1216 .cfi_def_cfa_offset 12 1217 @ sp needed 1218 004e 30BD pop {r4, r5, pc} 1219 .LVL111: 1220 .L138: 1221 .LCFI11: 1222 .cfi_restore_state 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 1223 .loc 1 470 3 discriminator 3 view .LVU380 1224 0050 0348 ldr r0, .L139+4 1225 0052 4FF4EB71 mov r1, #470 1226 0056 FFF7FEFF bl assert_failed 1227 .LVL112: 1228 005a E8E7 b .L133 1229 .L140: 1230 .align 2 1231 .L139: 1232 005c 00040048 .word 1207960576 1233 0060 00000000 .word .LC0 1234 .cfi_endproc 1235 .LFE135: 1237 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits 1238 .align 1 1239 .p2align 2,,3 1240 .weak HAL_GPIO_EXTI_Callback ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 35 1241 .syntax unified 1242 .thumb 1243 .thumb_func 1245 HAL_GPIO_EXTI_Callback: 1246 .LVL113: 1247 .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 **** /** 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 **** { 1248 .loc 1 515 1 is_stmt 1 view -0 1249 .cfi_startproc 1250 @ args = 0, pretend = 0, frame = 0 1251 @ frame_needed = 0, uses_anonymous_args = 0 1252 @ 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); 1253 .loc 1 517 3 view .LVU382 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 **** } 1254 .loc 1 522 1 is_stmt 0 view .LVU383 1255 0000 7047 bx lr 1256 .cfi_endproc 1257 .LFE137: 1259 0002 00BF .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits 1260 .align 1 1261 .p2align 2,,3 1262 .global HAL_GPIO_EXTI_IRQHandler 1263 .syntax unified 1264 .thumb 1265 .thumb_func 1267 HAL_GPIO_EXTI_IRQHandler: 1268 .LVL114: 1269 .LFB136: 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* EXTI line interrupt detected */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 36 1270 .loc 1 500 1 is_stmt 1 view -0 1271 .cfi_startproc 1272 @ args = 0, pretend = 0, frame = 0 1273 @ frame_needed = 0, uses_anonymous_args = 0 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 1274 .loc 1 502 3 view .LVU385 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 1275 .loc 1 502 6 is_stmt 0 view .LVU386 1276 0000 044A ldr r2, .L152 1277 0002 5169 ldr r1, [r2, #20] 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** { 1278 .loc 1 502 5 view .LVU387 1279 0004 0142 tst r1, r0 1280 0006 00D1 bne .L151 1281 0008 7047 bx lr 1282 .L151: 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin); 1283 .loc 1 504 5 is_stmt 1 view .LVU388 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** /* EXTI line interrupt detected */ 1284 .loc 1 500 1 is_stmt 0 view .LVU389 1285 000a 08B5 push {r3, lr} 1286 .LCFI12: 1287 .cfi_def_cfa_offset 8 1288 .cfi_offset 3, -8 1289 .cfi_offset 14, -4 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin); 1290 .loc 1 504 5 view .LVU390 1291 000c 5061 str r0, [r2, #20] 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** } 1292 .loc 1 505 5 is_stmt 1 view .LVU391 1293 000e FFF7FEFF bl HAL_GPIO_EXTI_Callback 1294 .LVL115: 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c **** 1295 .loc 1 507 1 is_stmt 0 view .LVU392 1296 0012 08BD pop {r3, pc} 1297 .L153: 1298 .align 2 1299 .L152: 1300 0014 00040140 .word 1073808384 1301 .cfi_endproc 1302 .LFE136: 1304 .text 1305 .Letext0: 1306 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 1307 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 1308 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 1309 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 1310 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h" 1311 .file 7 "Core/Inc/stm32f3xx_hal_conf.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s page 37 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_gpio.c C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:20 .rodata.HAL_GPIO_Init.str1.4:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:25 .text.HAL_GPIO_Init:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:32 .text.HAL_GPIO_Init:00000000 HAL_GPIO_Init C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:627 .text.HAL_GPIO_Init:000002e8 $d C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:638 .text.HAL_GPIO_DeInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:645 .text.HAL_GPIO_DeInit:00000000 HAL_GPIO_DeInit C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:910 .text.HAL_GPIO_DeInit:0000015c $d C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:920 .text.HAL_GPIO_ReadPin:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:927 .text.HAL_GPIO_ReadPin:00000000 HAL_GPIO_ReadPin C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:978 .text.HAL_GPIO_ReadPin:00000020 $d C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:983 .text.HAL_GPIO_WritePin:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:990 .text.HAL_GPIO_WritePin:00000000 HAL_GPIO_WritePin C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1055 .text.HAL_GPIO_WritePin:00000030 $d C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1060 .text.HAL_GPIO_TogglePin:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1067 .text.HAL_GPIO_TogglePin:00000000 HAL_GPIO_TogglePin C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1121 .text.HAL_GPIO_TogglePin:00000028 $d C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1126 .text.HAL_GPIO_LockPin:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1133 .text.HAL_GPIO_LockPin:00000000 HAL_GPIO_LockPin C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1232 .text.HAL_GPIO_LockPin:0000005c $d C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1238 .text.HAL_GPIO_EXTI_Callback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1245 .text.HAL_GPIO_EXTI_Callback:00000000 HAL_GPIO_EXTI_Callback C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1260 .text.HAL_GPIO_EXTI_IRQHandler:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1267 .text.HAL_GPIO_EXTI_IRQHandler:00000000 HAL_GPIO_EXTI_IRQHandler C:\Users\zl835\AppData\Local\Temp\ccva19Pn.s:1300 .text.HAL_GPIO_EXTI_IRQHandler:00000014 $d UNDEFINED SYMBOLS assert_failed