ARM GAS /tmp/ccq3Qi7K.s page 1 1 .cpu cortex-m7 2 .arch armv7e-m 3 .fpu fpv5-d16 4 .eabi_attribute 28, 1 5 .eabi_attribute 20, 1 6 .eabi_attribute 21, 1 7 .eabi_attribute 23, 3 8 .eabi_attribute 24, 1 9 .eabi_attribute 25, 1 10 .eabi_attribute 26, 1 11 .eabi_attribute 30, 1 12 .eabi_attribute 34, 1 13 .eabi_attribute 18, 4 14 .file "stm32f7xx_hal_exti.c" 15 .text 16 .Ltext0: 17 .cfi_sections .debug_frame 18 .file 1 "Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c" 19 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits 20 .align 1 21 .global HAL_EXTI_SetConfigLine 22 .syntax unified 23 .thumb 24 .thumb_func 26 HAL_EXTI_SetConfigLine: 27 .LVL0: 28 .LFB141: 1:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 2:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ****************************************************************************** 3:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @file stm32F7xx_hal_exti.c 4:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @author MCD Application Team 5:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief EXTI HAL module driver. 6:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral: 8:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * + IO operation functions 10:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * 11:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ****************************************************************************** 12:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @attention 13:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * 14:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * Copyright (c) 2018 STMicroelectronics. 15:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * All rights reserved. 16:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * 17:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This software is licensed under terms that can be found in the LICENSE file 18:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * in the root directory of this software component. 19:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 20:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * 21:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ****************************************************************************** 22:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @verbatim 23:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ============================================================================== 24:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ##### EXTI Peripheral features ##### 25:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ============================================================================== 26:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** [..] 27:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) Each Exti line can be configured within this driver. 28:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 29:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes 30:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Interrupt ARM GAS /tmp/ccq3Qi7K.s page 2 31:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Event 32:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Both of them 33:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 34:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers 35:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Rising 36:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Falling 37:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Both of them 38:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 39:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different 40:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition 41:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** occurs: 42:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Rising edge pending interrupt 43:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Falling 44:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 45:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can 46:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** be selected through multiplexer. 47:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 48:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ##### How to use this driver ##### 49:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ============================================================================== 50:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** [..] 51:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 52:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine(). 53:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from 54:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI_ConfigTypeDef structure. 55:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from 56:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI_ConfigTypeDef structure. 57:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger 58:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure. 59:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel" 60:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** member from GPIO_InitTypeDef structure. 61:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 62:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using 63:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_EXTI_GetConfigLine(). 64:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide exiting handle as parameter. 65:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter. 66:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 67:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_ClearConfigLine(). 68:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide exiting handle as parameter. 69:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 70:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback(). 71:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide exiting handle as first parameter. 72:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide which callback will be registered using one value from 73:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI_CallbackIDTypeDef. 74:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide callback function pointer. 75:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 76:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending(). 77:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 78:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_ClearPending(). 79:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 80:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI(). 81:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 82:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @endverbatim 83:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 84:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 85:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/ 86:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** #include "stm32f7xx_hal.h" 87:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ARM GAS /tmp/ccq3Qi7K.s page 3 88:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup STM32F7xx_HAL_Driver 89:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{ 90:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 91:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 92:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup EXTI 93:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{ 94:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 95:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule: 96:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out 97:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * of bounds [0,3] in following API : 98:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * HAL_EXTI_SetConfigLine 99:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * HAL_EXTI_GetConfigLine 100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine 101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED 104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/ 106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/ 107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants 108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{ 109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @} 113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/ 116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/ 117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/ 118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/ 119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions 121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{ 122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1 125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Configuration functions 126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * 127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @verbatim 128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** =============================================================================== 129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ##### Configuration functions ##### 130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** =============================================================================== 131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @endverbatim 133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{ 134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line. 138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle. 139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set. 140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status. 141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig 143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 29 .loc 1 143 1 view -0 ARM GAS /tmp/ccq3Qi7K.s page 4 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 33 @ link register save eliminated. 144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval; 34 .loc 1 144 3 view .LVU1 145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t linepos; 35 .loc 1 145 3 view .LVU2 146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline; 36 .loc 1 146 3 view .LVU3 147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check null pointer */ 149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL)) 37 .loc 1 149 3 view .LVU4 38 .loc 1 149 6 is_stmt 0 view .LVU5 39 0000 0029 cmp r1, #0 40 0002 18BF it ne 41 0004 0028 cmpne r0, #0 42 0006 5FD0 beq .L11 143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval; 43 .loc 1 143 1 view .LVU6 44 0008 70B4 push {r4, r5, r6} 45 .LCFI0: 46 .cfi_def_cfa_offset 12 47 .cfi_offset 4, -12 48 .cfi_offset 5, -8 49 .cfi_offset 6, -4 50 000a 0B46 mov r3, r1 150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_ERROR; 152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check parameters */ 155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line)); 51 .loc 1 155 3 is_stmt 1 view .LVU7 156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode)); 52 .loc 1 156 3 view .LVU8 157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Assign line number to handle */ 159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** hexti->Line = pExtiConfig->Line; 53 .loc 1 159 3 view .LVU9 54 .loc 1 159 28 is_stmt 0 view .LVU10 55 000c 0968 ldr r1, [r1] 56 .LVL1: 57 .loc 1 159 15 view .LVU11 58 000e 0160 str r1, [r0] 160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */ 162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK); 59 .loc 1 162 3 is_stmt 1 view .LVU12 60 .loc 1 162 11 is_stmt 0 view .LVU13 61 0010 01F01F00 and r0, r1, #31 62 .LVL2: 163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << linepos); 63 .loc 1 163 3 is_stmt 1 view .LVU14 64 .loc 1 163 12 is_stmt 0 view .LVU15 65 0014 0122 movs r2, #1 ARM GAS /tmp/ccq3Qi7K.s page 5 66 0016 8240 lsls r2, r2, r0 67 .LVL3: 164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure triggers for configurable lines */ 166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u) 68 .loc 1 166 3 is_stmt 1 view .LVU16 69 .loc 1 166 6 is_stmt 0 view .LVU17 70 0018 11F0007F tst r1, #33554432 71 001c 15D0 beq .L3 167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger)); 72 .loc 1 168 5 is_stmt 1 view .LVU18 169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure rising trigger */ 171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Mask or set line */ 172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u) 73 .loc 1 172 5 view .LVU19 74 .loc 1 172 21 is_stmt 0 view .LVU20 75 001e 9C68 ldr r4, [r3, #8] 76 .loc 1 172 8 view .LVU21 77 0020 14F0010F tst r4, #1 78 0024 24D0 beq .L4 173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->RTSR |= maskline; 79 .loc 1 174 7 is_stmt 1 view .LVU22 80 .loc 1 174 11 is_stmt 0 view .LVU23 81 0026 294D ldr r5, .L17 82 0028 AC68 ldr r4, [r5, #8] 83 .loc 1 174 18 view .LVU24 84 002a 1443 orrs r4, r4, r2 85 002c AC60 str r4, [r5, #8] 86 .L5: 175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else 177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->RTSR &= ~maskline; 179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure falling trigger */ 182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Mask or set line */ 183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u) 87 .loc 1 183 5 is_stmt 1 view .LVU25 88 .loc 1 183 21 is_stmt 0 view .LVU26 89 002e 9C68 ldr r4, [r3, #8] 90 .loc 1 183 8 view .LVU27 91 0030 14F0020F tst r4, #2 92 0034 22D0 beq .L6 184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->FTSR |= maskline; 93 .loc 1 185 7 is_stmt 1 view .LVU28 94 .loc 1 185 11 is_stmt 0 view .LVU29 95 0036 254D ldr r5, .L17 96 0038 EC68 ldr r4, [r5, #12] 97 .loc 1 185 18 view .LVU30 98 003a 1443 orrs r4, r4, r2 99 003c EC60 str r4, [r5, #12] 100 .L7: ARM GAS /tmp/ccq3Qi7K.s page 6 186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else 188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->FTSR &= ~maskline; 190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */ 194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO) 101 .loc 1 194 5 is_stmt 1 view .LVU31 102 .loc 1 194 28 is_stmt 0 view .LVU32 103 003e 1C68 ldr r4, [r3] 104 0040 04F0C06C and ip, r4, #100663296 105 .loc 1 194 8 view .LVU33 106 0044 BCF1C06F cmp ip, #100663296 107 0048 1ED0 beq .L16 108 .LVL4: 109 .L3: 195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel)); 197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u]; 200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure interrupt mode : read current mode */ 207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Mask or set line */ 208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u) 110 .loc 1 208 3 is_stmt 1 view .LVU34 111 .loc 1 208 19 is_stmt 0 view .LVU35 112 004a 5968 ldr r1, [r3, #4] 113 .loc 1 208 6 view .LVU36 114 004c 11F0010F tst r1, #1 115 0050 2DD0 beq .L8 209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->IMR |= maskline; 116 .loc 1 210 5 is_stmt 1 view .LVU37 117 .loc 1 210 9 is_stmt 0 view .LVU38 118 0052 1E48 ldr r0, .L17 119 0054 0168 ldr r1, [r0] 120 .loc 1 210 15 view .LVU39 121 0056 1143 orrs r1, r1, r2 122 0058 0160 str r1, [r0] 123 .L9: 211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else 213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->IMR &= ~maskline; 215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure event mode : read current mode */ 218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Mask or set line */ 219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u) ARM GAS /tmp/ccq3Qi7K.s page 7 124 .loc 1 219 3 is_stmt 1 view .LVU40 125 .loc 1 219 19 is_stmt 0 view .LVU41 126 005a 5B68 ldr r3, [r3, #4] 127 .LVL5: 128 .loc 1 219 6 view .LVU42 129 005c 13F0020F tst r3, #2 130 0060 2BD0 beq .L10 220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->EMR |= maskline; 131 .loc 1 221 5 is_stmt 1 view .LVU43 132 .loc 1 221 9 is_stmt 0 view .LVU44 133 0062 1A49 ldr r1, .L17 134 0064 4B68 ldr r3, [r1, #4] 135 .loc 1 221 15 view .LVU45 136 0066 1343 orrs r3, r3, r2 137 0068 4B60 str r3, [r1, #4] 222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else 224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->EMR &= ~maskline; 226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_OK; 138 .loc 1 228 10 view .LVU46 139 006a 0020 movs r0, #0 140 .L2: 229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 141 .loc 1 229 1 view .LVU47 142 006c 70BC pop {r4, r5, r6} 143 .LCFI1: 144 .cfi_remember_state 145 .cfi_restore 6 146 .cfi_restore 5 147 .cfi_restore 4 148 .cfi_def_cfa_offset 0 149 006e 7047 bx lr 150 .LVL6: 151 .L4: 152 .LCFI2: 153 .cfi_restore_state 178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 154 .loc 1 178 7 is_stmt 1 view .LVU48 178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 155 .loc 1 178 11 is_stmt 0 view .LVU49 156 0070 164D ldr r5, .L17 157 0072 AC68 ldr r4, [r5, #8] 178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 158 .loc 1 178 18 view .LVU50 159 0074 24EA0204 bic r4, r4, r2 160 0078 AC60 str r4, [r5, #8] 161 007a D8E7 b .L5 162 .L6: 189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 163 .loc 1 189 7 is_stmt 1 view .LVU51 189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 164 .loc 1 189 11 is_stmt 0 view .LVU52 165 007c 134D ldr r5, .L17 ARM GAS /tmp/ccq3Qi7K.s page 8 166 007e EC68 ldr r4, [r5, #12] 189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 167 .loc 1 189 18 view .LVU53 168 0080 24EA0204 bic r4, r4, r2 169 0084 EC60 str r4, [r5, #12] 170 0086 DAE7 b .L7 171 .L16: 196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 172 .loc 1 196 7 is_stmt 1 view .LVU54 197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 173 .loc 1 197 7 view .LVU55 199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 174 .loc 1 199 7 view .LVU56 199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 175 .loc 1 199 39 is_stmt 0 view .LVU57 176 0088 8008 lsrs r0, r0, #2 177 .LVL7: 199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 178 .loc 1 199 14 view .LVU58 179 008a 114E ldr r6, .L17+4 180 008c 0230 adds r0, r0, #2 181 008e 56F82040 ldr r4, [r6, r0, lsl #2] 182 .LVL8: 200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 183 .loc 1 200 7 is_stmt 1 view .LVU59 200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 184 .loc 1 200 80 is_stmt 0 view .LVU60 185 0092 01F00301 and r1, r1, #3 186 .LVL9: 200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 187 .loc 1 200 69 view .LVU61 188 0096 8900 lsls r1, r1, #2 200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 189 .loc 1 200 40 view .LVU62 190 0098 0F25 movs r5, #15 191 009a 8D40 lsls r5, r5, r1 200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 192 .loc 1 200 14 view .LVU63 193 009c 24EA0504 bic r4, r4, r5 194 .LVL10: 201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 195 .loc 1 201 7 is_stmt 1 view .LVU64 201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 196 .loc 1 201 39 is_stmt 0 view .LVU65 197 00a0 DD68 ldr r5, [r3, #12] 198 00a2 05FA01F1 lsl r1, r5, r1 201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 199 .loc 1 201 14 view .LVU66 200 00a6 2143 orrs r1, r1, r4 201 .LVL11: 202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 202 .loc 1 202 7 is_stmt 1 view .LVU67 202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 203 .loc 1 202 37 is_stmt 0 view .LVU68 204 00a8 46F82010 str r1, [r6, r0, lsl #2] 205 00ac CDE7 b .L3 206 .LVL12: ARM GAS /tmp/ccq3Qi7K.s page 9 207 .L8: 214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 208 .loc 1 214 5 is_stmt 1 view .LVU69 214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 209 .loc 1 214 9 is_stmt 0 view .LVU70 210 00ae 0748 ldr r0, .L17 211 00b0 0168 ldr r1, [r0] 214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 212 .loc 1 214 15 view .LVU71 213 00b2 21EA0201 bic r1, r1, r2 214 00b6 0160 str r1, [r0] 215 00b8 CFE7 b .L9 216 .LVL13: 217 .L10: 225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 218 .loc 1 225 5 is_stmt 1 view .LVU72 225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 219 .loc 1 225 9 is_stmt 0 view .LVU73 220 00ba 0449 ldr r1, .L17 221 00bc 4B68 ldr r3, [r1, #4] 225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 222 .loc 1 225 15 view .LVU74 223 00be 23EA0203 bic r3, r3, r2 224 00c2 4B60 str r3, [r1, #4] 228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 225 .loc 1 228 10 view .LVU75 226 00c4 0020 movs r0, #0 227 00c6 D1E7 b .L2 228 .LVL14: 229 .L11: 230 .LCFI3: 231 .cfi_def_cfa_offset 0 232 .cfi_restore 4 233 .cfi_restore 5 234 .cfi_restore 6 151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 235 .loc 1 151 12 view .LVU76 236 00c8 0120 movs r0, #1 237 .LVL15: 238 .loc 1 229 1 view .LVU77 239 00ca 7047 bx lr 240 .L18: 241 .align 2 242 .L17: 243 00cc 003C0140 .word 1073822720 244 00d0 00380140 .word 1073821696 245 .cfi_endproc 246 .LFE141: 248 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits 249 .align 1 250 .global HAL_EXTI_GetConfigLine 251 .syntax unified 252 .thumb 253 .thumb_func 255 HAL_EXTI_GetConfigLine: 256 .LVL16: 257 .LFB142: ARM GAS /tmp/ccq3Qi7K.s page 10 230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line. 233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle. 234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration. 235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status. 236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig 238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 258 .loc 1 238 1 is_stmt 1 view -0 259 .cfi_startproc 260 @ args = 0, pretend = 0, frame = 0 261 @ frame_needed = 0, uses_anonymous_args = 0 262 @ link register save eliminated. 239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval; 263 .loc 1 239 3 view .LVU79 240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t linepos; 264 .loc 1 240 3 view .LVU80 241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline; 265 .loc 1 241 3 view .LVU81 242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check null pointer */ 244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL)) 266 .loc 1 244 3 view .LVU82 267 .loc 1 244 6 is_stmt 0 view .LVU83 268 0000 0029 cmp r1, #0 269 0002 18BF it ne 270 0004 0028 cmpne r0, #0 271 0006 44D0 beq .L26 238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval; 272 .loc 1 238 1 view .LVU84 273 0008 10B4 push {r4} 274 .LCFI4: 275 .cfi_def_cfa_offset 4 276 .cfi_offset 4, -4 277 000a 0B46 mov r3, r1 245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_ERROR; 247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check the parameter */ 250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 278 .loc 1 250 3 is_stmt 1 view .LVU85 251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Store handle line number to configuration structure */ 253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Line = hexti->Line; 279 .loc 1 253 3 view .LVU86 280 .loc 1 253 28 is_stmt 0 view .LVU87 281 000c 0468 ldr r4, [r0] 282 .loc 1 253 21 view .LVU88 283 000e 0C60 str r4, [r1] 254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */ 256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK); 284 .loc 1 256 3 is_stmt 1 view .LVU89 285 .loc 1 256 11 is_stmt 0 view .LVU90 286 0010 04F01F0C and ip, r4, #31 ARM GAS /tmp/ccq3Qi7K.s page 11 287 .LVL17: 257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << linepos); 288 .loc 1 257 3 is_stmt 1 view .LVU91 289 .loc 1 257 12 is_stmt 0 view .LVU92 290 0014 0122 movs r2, #1 291 0016 02FA0CF2 lsl r2, r2, ip 292 .LVL18: 258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 1] Get core mode : interrupt */ 260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check if selected line is enable */ 262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((EXTI->IMR & maskline) != 0x00u) 293 .loc 1 262 3 is_stmt 1 view .LVU93 294 .loc 1 262 12 is_stmt 0 view .LVU94 295 001a 2148 ldr r0, .L34 296 .LVL19: 297 .loc 1 262 12 view .LVU95 298 001c 0068 ldr r0, [r0] 299 .loc 1 262 6 view .LVU96 300 001e 1042 tst r0, r2 301 0020 24D0 beq .L21 263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT; 302 .loc 1 264 5 is_stmt 1 view .LVU97 303 .loc 1 264 23 is_stmt 0 view .LVU98 304 0022 0121 movs r1, #1 305 .LVL20: 306 .loc 1 264 23 view .LVU99 307 0024 5960 str r1, [r3, #4] 308 .L22: 265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else 267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE; 269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get event mode */ 272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check if selected line is enable */ 273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((EXTI->EMR & maskline) != 0x00u) 309 .loc 1 273 3 is_stmt 1 view .LVU100 310 .loc 1 273 12 is_stmt 0 view .LVU101 311 0026 1E48 ldr r0, .L34 312 0028 4068 ldr r0, [r0, #4] 313 .loc 1 273 6 view .LVU102 314 002a 1042 tst r0, r2 315 002c 03D0 beq .L23 274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT; 316 .loc 1 275 5 is_stmt 1 view .LVU103 317 .loc 1 275 16 is_stmt 0 view .LVU104 318 002e 5868 ldr r0, [r3, #4] 319 .loc 1 275 23 view .LVU105 320 0030 40F00200 orr r0, r0, #2 321 0034 5860 str r0, [r3, #4] 322 .L23: 276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ARM GAS /tmp/ccq3Qi7K.s page 12 278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get default Trigger and GPIOSel configuration */ 279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE; 323 .loc 1 279 3 is_stmt 1 view .LVU106 324 .loc 1 279 24 is_stmt 0 view .LVU107 325 0036 0021 movs r1, #0 326 0038 9960 str r1, [r3, #8] 280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u; 327 .loc 1 280 3 is_stmt 1 view .LVU108 328 .loc 1 280 24 is_stmt 0 view .LVU109 329 003a D960 str r1, [r3, #12] 281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */ 283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u) 330 .loc 1 283 3 is_stmt 1 view .LVU110 331 .loc 1 283 6 is_stmt 0 view .LVU111 332 003c 14F0007F tst r4, #33554432 333 0040 29D0 beq .L27 284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check if configuration of selected line is enable */ 286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((EXTI->RTSR & maskline) != 0x00u) 334 .loc 1 286 5 is_stmt 1 view .LVU112 335 .loc 1 286 14 is_stmt 0 view .LVU113 336 0042 1749 ldr r1, .L34 337 0044 8968 ldr r1, [r1, #8] 338 .loc 1 286 8 view .LVU114 339 0046 1142 tst r1, r2 340 0048 01D0 beq .L24 287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING; 341 .loc 1 288 7 is_stmt 1 view .LVU115 342 .loc 1 288 28 is_stmt 0 view .LVU116 343 004a 0121 movs r1, #1 344 004c 9960 str r1, [r3, #8] 345 .L24: 289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get falling configuration */ 292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check if configuration of selected line is enable */ 293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((EXTI->FTSR & maskline) != 0x00u) 346 .loc 1 293 5 is_stmt 1 view .LVU117 347 .loc 1 293 14 is_stmt 0 view .LVU118 348 004e 1449 ldr r1, .L34 349 0050 C968 ldr r1, [r1, #12] 350 .loc 1 293 8 view .LVU119 351 0052 1142 tst r1, r2 352 0054 03D0 beq .L25 294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING; 353 .loc 1 295 7 is_stmt 1 view .LVU120 354 .loc 1 295 18 is_stmt 0 view .LVU121 355 0056 9A68 ldr r2, [r3, #8] 356 .LVL21: 357 .loc 1 295 28 view .LVU122 358 0058 42F00202 orr r2, r2, #2 359 005c 9A60 str r2, [r3, #8] 360 .L25: 296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } ARM GAS /tmp/ccq3Qi7K.s page 13 297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */ 299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO) 361 .loc 1 299 5 is_stmt 1 view .LVU123 362 .loc 1 299 28 is_stmt 0 view .LVU124 363 005e 04F0C062 and r2, r4, #100663296 364 .loc 1 299 8 view .LVU125 365 0062 B2F1C06F cmp r2, #100663296 366 0066 04D0 beq .L33 300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u]; 304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_OK; 367 .loc 1 308 10 view .LVU126 368 0068 0020 movs r0, #0 369 006a 15E0 b .L20 370 .LVL22: 371 .L21: 268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 372 .loc 1 268 5 is_stmt 1 view .LVU127 268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 373 .loc 1 268 23 is_stmt 0 view .LVU128 374 006c 0021 movs r1, #0 375 .LVL23: 268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 376 .loc 1 268 23 view .LVU129 377 006e 5960 str r1, [r3, #4] 378 0070 D9E7 b .L22 379 .LVL24: 380 .L33: 301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 381 .loc 1 301 7 is_stmt 1 view .LVU130 303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 382 .loc 1 303 7 view .LVU131 303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 383 .loc 1 303 39 is_stmt 0 view .LVU132 384 0072 4FEA9C01 lsr r1, ip, #2 303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 385 .loc 1 303 14 view .LVU133 386 0076 0231 adds r1, r1, #2 387 0078 0A4A ldr r2, .L34+4 388 007a 52F82110 ldr r1, [r2, r1, lsl #2] 389 .LVL25: 304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 390 .loc 1 304 7 is_stmt 1 view .LVU134 304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 391 .loc 1 304 78 is_stmt 0 view .LVU135 392 007e 04F00302 and r2, r4, #3 304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 393 .loc 1 304 67 view .LVU136 394 0082 9200 lsls r2, r2, #2 304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } ARM GAS /tmp/ccq3Qi7K.s page 14 395 .loc 1 304 38 view .LVU137 396 0084 21FA02F2 lsr r2, r1, r2 304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 397 .loc 1 304 89 view .LVU138 398 0088 02F00F02 and r2, r2, #15 304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 399 .loc 1 304 28 view .LVU139 400 008c DA60 str r2, [r3, #12] 401 .loc 1 308 10 view .LVU140 402 008e 0020 movs r0, #0 403 0090 02E0 b .L20 404 .LVL26: 405 .L26: 406 .LCFI5: 407 .cfi_def_cfa_offset 0 408 .cfi_restore 4 246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 409 .loc 1 246 12 view .LVU141 410 0092 0120 movs r0, #1 411 .LVL27: 309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 412 .loc 1 309 1 view .LVU142 413 0094 7047 bx lr 414 .LVL28: 415 .L27: 416 .LCFI6: 417 .cfi_def_cfa_offset 4 418 .cfi_offset 4, -4 308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 419 .loc 1 308 10 view .LVU143 420 0096 0020 movs r0, #0 421 .LVL29: 422 .L20: 423 .loc 1 309 1 view .LVU144 424 0098 5DF8044B ldr r4, [sp], #4 425 .LCFI7: 426 .cfi_restore 4 427 .cfi_def_cfa_offset 0 428 009c 7047 bx lr 429 .L35: 430 009e 00BF .align 2 431 .L34: 432 00a0 003C0140 .word 1073822720 433 00a4 00380140 .word 1073821696 434 .cfi_endproc 435 .LFE142: 437 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits 438 .align 1 439 .global HAL_EXTI_ClearConfigLine 440 .syntax unified 441 .thumb 442 .thumb_func 444 HAL_EXTI_ClearConfigLine: 445 .LVL30: 446 .LFB143: 310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** ARM GAS /tmp/ccq3Qi7K.s page 15 312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line. 313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle. 314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status. 315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti) 317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 447 .loc 1 317 1 is_stmt 1 view -0 448 .cfi_startproc 449 @ args = 0, pretend = 0, frame = 0 450 @ frame_needed = 0, uses_anonymous_args = 0 318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval; 451 .loc 1 318 3 view .LVU146 319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t linepos; 452 .loc 1 319 3 view .LVU147 320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline; 453 .loc 1 320 3 view .LVU148 321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check null pointer */ 323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if (hexti == NULL) 454 .loc 1 323 3 view .LVU149 455 .loc 1 323 6 is_stmt 0 view .LVU150 456 0000 0028 cmp r0, #0 457 0002 37D0 beq .L38 317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval; 458 .loc 1 317 1 view .LVU151 459 0004 10B5 push {r4, lr} 460 .LCFI8: 461 .cfi_def_cfa_offset 8 462 .cfi_offset 4, -8 463 .cfi_offset 14, -4 464 0006 8446 mov ip, r0 324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_ERROR; 326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check the parameter */ 329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 465 .loc 1 329 3 is_stmt 1 view .LVU152 330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* compute line mask */ 332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK); 466 .loc 1 332 3 view .LVU153 467 .loc 1 332 19 is_stmt 0 view .LVU154 468 0008 0468 ldr r4, [r0] 469 .loc 1 332 11 view .LVU155 470 000a 04F01F00 and r0, r4, #31 471 .LVL31: 333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << linepos); 472 .loc 1 333 3 is_stmt 1 view .LVU156 473 .loc 1 333 12 is_stmt 0 view .LVU157 474 000e 0123 movs r3, #1 475 0010 8340 lsls r3, r3, r0 476 .LVL32: 334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 1] Clear interrupt mode */ 336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->IMR = (EXTI->IMR & ~maskline); 477 .loc 1 336 3 is_stmt 1 view .LVU158 ARM GAS /tmp/ccq3Qi7K.s page 16 478 .loc 1 336 20 is_stmt 0 view .LVU159 479 0012 1A4A ldr r2, .L46 480 0014 1168 ldr r1, [r2] 481 .loc 1 336 28 view .LVU160 482 0016 6FEA030E mvn lr, r3 483 .loc 1 336 26 view .LVU161 484 001a 21EA0301 bic r1, r1, r3 485 .loc 1 336 13 view .LVU162 486 001e 1160 str r1, [r2] 337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 2] Clear event mode */ 339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->EMR = (EXTI->EMR & ~maskline); 487 .loc 1 339 3 is_stmt 1 view .LVU163 488 .loc 1 339 20 is_stmt 0 view .LVU164 489 0020 5168 ldr r1, [r2, #4] 490 .loc 1 339 26 view .LVU165 491 0022 21EA0303 bic r3, r1, r3 492 .LVL33: 493 .loc 1 339 13 view .LVU166 494 0026 5360 str r3, [r2, #4] 340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */ 342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u) 495 .loc 1 342 3 is_stmt 1 view .LVU167 496 .loc 1 342 13 is_stmt 0 view .LVU168 497 0028 DCF80030 ldr r3, [ip] 498 .loc 1 342 6 view .LVU169 499 002c 13F0007F tst r3, #33554432 500 0030 22D0 beq .L39 343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->RTSR = (EXTI->RTSR & ~maskline); 501 .loc 1 344 5 is_stmt 1 view .LVU170 502 .loc 1 344 23 is_stmt 0 view .LVU171 503 0032 9368 ldr r3, [r2, #8] 504 .loc 1 344 30 view .LVU172 505 0034 0EEA0303 and r3, lr, r3 506 .loc 1 344 16 view .LVU173 507 0038 9360 str r3, [r2, #8] 345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->FTSR = (EXTI->FTSR & ~maskline); 508 .loc 1 345 5 is_stmt 1 view .LVU174 509 .loc 1 345 23 is_stmt 0 view .LVU175 510 003a D368 ldr r3, [r2, #12] 511 .loc 1 345 30 view .LVU176 512 003c 0EEA0303 and r3, lr, r3 513 .loc 1 345 16 view .LVU177 514 0040 D360 str r3, [r2, #12] 346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */ 348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO) 515 .loc 1 348 5 is_stmt 1 view .LVU178 516 .loc 1 348 15 is_stmt 0 view .LVU179 517 0042 DCF80030 ldr r3, [ip] 518 .loc 1 348 22 view .LVU180 519 0046 03F0C063 and r3, r3, #100663296 520 .loc 1 348 8 view .LVU181 521 004a B3F1C06F cmp r3, #100663296 522 004e 01D0 beq .L45 ARM GAS /tmp/ccq3Qi7K.s page 17 349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u]; 353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_OK; 523 .loc 1 358 10 view .LVU182 524 0050 0020 movs r0, #0 525 .LVL34: 526 .loc 1 358 10 view .LVU183 527 0052 12E0 b .L37 528 .LVL35: 529 .L45: 350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 530 .loc 1 350 7 is_stmt 1 view .LVU184 352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 531 .loc 1 352 7 view .LVU185 352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 532 .loc 1 352 39 is_stmt 0 view .LVU186 533 0054 8008 lsrs r0, r0, #2 534 .LVL36: 352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 535 .loc 1 352 14 view .LVU187 536 0056 0A49 ldr r1, .L46+4 537 0058 0230 adds r0, r0, #2 538 005a 51F82030 ldr r3, [r1, r0, lsl #2] 539 .LVL37: 353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 540 .loc 1 353 7 is_stmt 1 view .LVU188 353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 541 .loc 1 353 80 is_stmt 0 view .LVU189 542 005e 04F00304 and r4, r4, #3 543 .LVL38: 353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 544 .loc 1 353 69 view .LVU190 545 0062 A400 lsls r4, r4, #2 353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 546 .loc 1 353 40 view .LVU191 547 0064 0F22 movs r2, #15 548 0066 A240 lsls r2, r2, r4 353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 549 .loc 1 353 14 view .LVU192 550 0068 23EA0203 bic r3, r3, r2 551 .LVL39: 354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 552 .loc 1 354 7 is_stmt 1 view .LVU193 354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 553 .loc 1 354 37 is_stmt 0 view .LVU194 554 006c 41F82030 str r3, [r1, r0, lsl #2] 555 .loc 1 358 10 view .LVU195 556 0070 0020 movs r0, #0 557 0072 02E0 b .L37 558 .LVL40: ARM GAS /tmp/ccq3Qi7K.s page 18 559 .L38: 560 .LCFI9: 561 .cfi_def_cfa_offset 0 562 .cfi_restore 4 563 .cfi_restore 14 325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 564 .loc 1 325 12 view .LVU196 565 0074 0120 movs r0, #1 566 .LVL41: 359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 567 .loc 1 359 1 view .LVU197 568 0076 7047 bx lr 569 .LVL42: 570 .L39: 571 .LCFI10: 572 .cfi_def_cfa_offset 8 573 .cfi_offset 4, -8 574 .cfi_offset 14, -4 358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 575 .loc 1 358 10 view .LVU198 576 0078 0020 movs r0, #0 577 .LVL43: 578 .L37: 579 .loc 1 359 1 view .LVU199 580 007a 10BD pop {r4, pc} 581 .L47: 582 .align 2 583 .L46: 584 007c 003C0140 .word 1073822720 585 0080 00380140 .word 1073821696 586 .cfi_endproc 587 .LFE143: 589 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits 590 .align 1 591 .global HAL_EXTI_RegisterCallback 592 .syntax unified 593 .thumb 594 .thumb_func 596 HAL_EXTI_RegisterCallback: 597 .LVL44: 598 .LFB144: 360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line. 363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle. 364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param CallbackID User callback identifier. 365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values. 366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback. 367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status. 368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb 370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 599 .loc 1 370 1 is_stmt 1 view -0 600 .cfi_startproc 601 @ args = 0, pretend = 0, frame = 0 602 @ frame_needed = 0, uses_anonymous_args = 0 603 @ link register save eliminated. ARM GAS /tmp/ccq3Qi7K.s page 19 604 .loc 1 370 1 is_stmt 0 view .LVU201 605 0000 0346 mov r3, r0 371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK; 606 .loc 1 371 3 is_stmt 1 view .LVU202 607 .LVL45: 372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** switch (CallbackID) 608 .loc 1 373 3 view .LVU203 609 0002 0846 mov r0, r1 610 .LVL46: 611 .loc 1 373 3 is_stmt 0 view .LVU204 612 0004 09B9 cbnz r1, .L50 374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID: 376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn; 613 .loc 1 376 7 is_stmt 1 view .LVU205 614 .loc 1 376 30 is_stmt 0 view .LVU206 615 0006 5A60 str r2, [r3, #4] 377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** break; 616 .loc 1 377 7 is_stmt 1 view .LVU207 617 0008 7047 bx lr 618 .L50: 378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** default: 380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** status = HAL_ERROR; 619 .loc 1 380 14 is_stmt 0 view .LVU208 620 000a 0120 movs r0, #1 621 .LVL47: 381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** break; 382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return status; 622 .loc 1 384 3 is_stmt 1 view .LVU209 385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 623 .loc 1 385 1 is_stmt 0 view .LVU210 624 000c 7047 bx lr 625 .cfi_endproc 626 .LFE144: 628 .section .text.HAL_EXTI_GetHandle,"ax",%progbits 629 .align 1 630 .global HAL_EXTI_GetHandle 631 .syntax unified 632 .thumb 633 .thumb_func 635 HAL_EXTI_GetHandle: 636 .LVL48: 637 .LFB145: 386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Store line number as handle private field. 389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle. 390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param ExtiLine Exti line number. 391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB. 392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status. 393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine) 395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { ARM GAS /tmp/ccq3Qi7K.s page 20 638 .loc 1 395 1 is_stmt 1 view -0 639 .cfi_startproc 640 @ args = 0, pretend = 0, frame = 0 641 @ frame_needed = 0, uses_anonymous_args = 0 642 @ link register save eliminated. 396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check the parameters */ 397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine)); 643 .loc 1 397 3 view .LVU212 398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check null pointer */ 400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if (hexti == NULL) 644 .loc 1 400 3 view .LVU213 645 .loc 1 400 6 is_stmt 0 view .LVU214 646 0000 10B1 cbz r0, .L53 401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_ERROR; 403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else 405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Store line number as handle private field */ 407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** hexti->Line = ExtiLine; 647 .loc 1 407 5 is_stmt 1 view .LVU215 648 .loc 1 407 17 is_stmt 0 view .LVU216 649 0002 0160 str r1, [r0] 408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_OK; 650 .loc 1 409 5 is_stmt 1 view .LVU217 651 .loc 1 409 12 is_stmt 0 view .LVU218 652 0004 0020 movs r0, #0 653 .LVL49: 654 .loc 1 409 12 view .LVU219 655 0006 7047 bx lr 656 .LVL50: 657 .L53: 402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 658 .loc 1 402 12 view .LVU220 659 0008 0120 movs r0, #1 660 .LVL51: 410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 661 .loc 1 411 1 view .LVU221 662 000a 7047 bx lr 663 .cfi_endproc 664 .LFE145: 666 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits 667 .align 1 668 .global HAL_EXTI_IRQHandler 669 .syntax unified 670 .thumb 671 .thumb_func 673 HAL_EXTI_IRQHandler: 674 .LVL52: 675 .LFB146: 412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @} 415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ ARM GAS /tmp/ccq3Qi7K.s page 21 416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2 418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief EXTI IO functions. 419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * 420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @verbatim 421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** =============================================================================== 422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ##### IO operation functions ##### 423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** =============================================================================== 424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @endverbatim 426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{ 427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Handle EXTI interrupt request. 431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle. 432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval none. 433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti) 435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 676 .loc 1 435 1 is_stmt 1 view -0 677 .cfi_startproc 678 @ args = 0, pretend = 0, frame = 0 679 @ frame_needed = 0, uses_anonymous_args = 0 680 .loc 1 435 1 is_stmt 0 view .LVU223 681 0000 08B5 push {r3, lr} 682 .LCFI11: 683 .cfi_def_cfa_offset 8 684 .cfi_offset 3, -8 685 .cfi_offset 14, -4 436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval; 686 .loc 1 436 3 is_stmt 1 view .LVU224 437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline; 687 .loc 1 437 3 view .LVU225 438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */ 440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK)); 688 .loc 1 440 3 view .LVU226 689 .loc 1 440 28 is_stmt 0 view .LVU227 690 0002 0368 ldr r3, [r0] 691 .loc 1 440 35 view .LVU228 692 0004 03F01F02 and r2, r3, #31 693 .loc 1 440 12 view .LVU229 694 0008 0123 movs r3, #1 695 000a 9340 lsls r3, r3, r2 696 .LVL53: 441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get pending bit */ 443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = (EXTI->PR & maskline); 697 .loc 1 443 3 is_stmt 1 view .LVU230 698 .loc 1 443 17 is_stmt 0 view .LVU231 699 000c 044A ldr r2, .L57 700 000e 5269 ldr r2, [r2, #20] 701 .LVL54: 444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if (regval != 0x00u) 702 .loc 1 444 3 is_stmt 1 view .LVU232 703 .loc 1 444 6 is_stmt 0 view .LVU233 ARM GAS /tmp/ccq3Qi7K.s page 22 704 0010 1A42 tst r2, r3 705 0012 04D0 beq .L54 445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Clear pending bit */ 447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->PR = maskline; 706 .loc 1 447 5 is_stmt 1 view .LVU234 707 .loc 1 447 14 is_stmt 0 view .LVU235 708 0014 024A ldr r2, .L57 709 .LVL55: 710 .loc 1 447 14 view .LVU236 711 0016 5361 str r3, [r2, #20] 448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Call callback */ 450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if (hexti->PendingCallback != NULL) 712 .loc 1 450 5 is_stmt 1 view .LVU237 713 .loc 1 450 14 is_stmt 0 view .LVU238 714 0018 4368 ldr r3, [r0, #4] 715 .LVL56: 716 .loc 1 450 8 view .LVU239 717 001a 03B1 cbz r3, .L54 451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** hexti->PendingCallback(); 718 .loc 1 452 7 is_stmt 1 view .LVU240 719 001c 9847 blx r3 720 .LVL57: 721 .L54: 453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 722 .loc 1 455 1 is_stmt 0 view .LVU241 723 001e 08BD pop {r3, pc} 724 .L58: 725 .align 2 726 .L57: 727 0020 003C0140 .word 1073822720 728 .cfi_endproc 729 .LFE146: 731 .section .text.HAL_EXTI_GetPending,"ax",%progbits 732 .align 1 733 .global HAL_EXTI_GetPending 734 .syntax unified 735 .thumb 736 .thumb_func 738 HAL_EXTI_GetPending: 739 .LVL58: 740 .LFB147: 456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line. 459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle. 460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked. 461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter can be one of the following values: 462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING 463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter is kept for compatibility with other series. 464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0. 465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge) ARM GAS /tmp/ccq3Qi7K.s page 23 467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 741 .loc 1 467 1 is_stmt 1 view -0 742 .cfi_startproc 743 @ args = 0, pretend = 0, frame = 0 744 @ frame_needed = 0, uses_anonymous_args = 0 745 @ link register save eliminated. 468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval; 746 .loc 1 468 3 view .LVU243 469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t linepos; 747 .loc 1 469 3 view .LVU244 470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline; 748 .loc 1 470 3 view .LVU245 471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check parameters */ 473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 749 .loc 1 473 3 view .LVU246 474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); 750 .loc 1 474 3 view .LVU247 475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge)); 751 .loc 1 475 3 view .LVU248 476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */ 478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK); 752 .loc 1 478 3 view .LVU249 753 .loc 1 478 19 is_stmt 0 view .LVU250 754 0000 0368 ldr r3, [r0] 755 .loc 1 478 11 view .LVU251 756 0002 03F01F03 and r3, r3, #31 757 .LVL59: 479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << linepos); 758 .loc 1 479 3 is_stmt 1 view .LVU252 759 .loc 1 479 12 is_stmt 0 view .LVU253 760 0006 0122 movs r2, #1 761 0008 9A40 lsls r2, r2, r3 762 .LVL60: 480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* return 1 if bit is set else 0 */ 482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = ((EXTI->PR & maskline) >> linepos); 763 .loc 1 482 3 is_stmt 1 view .LVU254 764 .loc 1 482 18 is_stmt 0 view .LVU255 765 000a 0249 ldr r1, .L60 766 .LVL61: 767 .loc 1 482 18 view .LVU256 768 000c 4869 ldr r0, [r1, #20] 769 .LVL62: 770 .loc 1 482 23 view .LVU257 771 000e 1040 ands r0, r0, r2 772 .LVL63: 483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return regval; 773 .loc 1 483 3 is_stmt 1 view .LVU258 484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 774 .loc 1 484 1 is_stmt 0 view .LVU259 775 0010 D840 lsrs r0, r0, r3 776 .LVL64: 777 .loc 1 484 1 view .LVU260 778 0012 7047 bx lr 779 .L61: ARM GAS /tmp/ccq3Qi7K.s page 24 780 .align 2 781 .L60: 782 0014 003C0140 .word 1073822720 783 .cfi_endproc 784 .LFE147: 786 .section .text.HAL_EXTI_ClearPending,"ax",%progbits 787 .align 1 788 .global HAL_EXTI_ClearPending 789 .syntax unified 790 .thumb 791 .thumb_func 793 HAL_EXTI_ClearPending: 794 .LVL65: 795 .LFB148: 485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line. 488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle. 489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear. 490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter can be one of the following values: 491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING 492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter is kept for compatibility with other series. 493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval None. 494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge) 496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 796 .loc 1 496 1 is_stmt 1 view -0 797 .cfi_startproc 798 @ args = 0, pretend = 0, frame = 0 799 @ frame_needed = 0, uses_anonymous_args = 0 800 @ link register save eliminated. 497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline; 801 .loc 1 497 3 view .LVU262 498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check parameters */ 500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 802 .loc 1 500 3 view .LVU263 501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); 803 .loc 1 501 3 view .LVU264 502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge)); 804 .loc 1 502 3 view .LVU265 503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */ 505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK)); 805 .loc 1 505 3 view .LVU266 806 .loc 1 505 28 is_stmt 0 view .LVU267 807 0000 0268 ldr r2, [r0] 808 .loc 1 505 35 view .LVU268 809 0002 02F01F02 and r2, r2, #31 810 .loc 1 505 12 view .LVU269 811 0006 0123 movs r3, #1 812 0008 9340 lsls r3, r3, r2 813 .LVL66: 506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Clear Pending bit */ 508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->PR = maskline; 814 .loc 1 508 3 is_stmt 1 view .LVU270 ARM GAS /tmp/ccq3Qi7K.s page 25 815 .loc 1 508 12 is_stmt 0 view .LVU271 816 000a 014A ldr r2, .L63 817 000c 5361 str r3, [r2, #20] 509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 818 .loc 1 509 1 view .LVU272 819 000e 7047 bx lr 820 .L64: 821 .align 2 822 .L63: 823 0010 003C0140 .word 1073822720 824 .cfi_endproc 825 .LFE148: 827 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits 828 .align 1 829 .global HAL_EXTI_GenerateSWI 830 .syntax unified 831 .thumb 832 .thumb_func 834 HAL_EXTI_GenerateSWI: 835 .LVL67: 836 .LFB149: 510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** 512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line. 513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle. 514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval None. 515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */ 516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti) 517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** { 837 .loc 1 517 1 is_stmt 1 view -0 838 .cfi_startproc 839 @ args = 0, pretend = 0, frame = 0 840 @ frame_needed = 0, uses_anonymous_args = 0 841 @ link register save eliminated. 518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline; 842 .loc 1 518 3 view .LVU274 519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check parameters */ 521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 843 .loc 1 521 3 view .LVU275 522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); 844 .loc 1 522 3 view .LVU276 523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */ 525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK)); 845 .loc 1 525 3 view .LVU277 846 .loc 1 525 28 is_stmt 0 view .LVU278 847 0000 0268 ldr r2, [r0] 848 .loc 1 525 35 view .LVU279 849 0002 02F01F02 and r2, r2, #31 850 .loc 1 525 12 view .LVU280 851 0006 0123 movs r3, #1 852 0008 9340 lsls r3, r3, r2 853 .LVL68: 526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** 527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Generate Software interrupt */ 528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->SWIER = maskline; ARM GAS /tmp/ccq3Qi7K.s page 26 854 .loc 1 528 3 is_stmt 1 view .LVU281 855 .loc 1 528 15 is_stmt 0 view .LVU282 856 000a 014A ldr r2, .L66 857 000c 1361 str r3, [r2, #16] 529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** } 858 .loc 1 529 1 view .LVU283 859 000e 7047 bx lr 860 .L67: 861 .align 2 862 .L66: 863 0010 003C0140 .word 1073822720 864 .cfi_endproc 865 .LFE149: 867 .text 868 .Letext0: 869 .file 2 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h" 870 .file 3 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h" 871 .file 4 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h" 872 .file 5 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_exti.h" ARM GAS /tmp/ccq3Qi7K.s page 27 DEFINED SYMBOLS *ABS*:00000000 stm32f7xx_hal_exti.c /tmp/ccq3Qi7K.s:20 .text.HAL_EXTI_SetConfigLine:00000000 $t /tmp/ccq3Qi7K.s:26 .text.HAL_EXTI_SetConfigLine:00000000 HAL_EXTI_SetConfigLine /tmp/ccq3Qi7K.s:243 .text.HAL_EXTI_SetConfigLine:000000cc $d /tmp/ccq3Qi7K.s:249 .text.HAL_EXTI_GetConfigLine:00000000 $t /tmp/ccq3Qi7K.s:255 .text.HAL_EXTI_GetConfigLine:00000000 HAL_EXTI_GetConfigLine /tmp/ccq3Qi7K.s:432 .text.HAL_EXTI_GetConfigLine:000000a0 $d /tmp/ccq3Qi7K.s:438 .text.HAL_EXTI_ClearConfigLine:00000000 $t /tmp/ccq3Qi7K.s:444 .text.HAL_EXTI_ClearConfigLine:00000000 HAL_EXTI_ClearConfigLine /tmp/ccq3Qi7K.s:584 .text.HAL_EXTI_ClearConfigLine:0000007c $d /tmp/ccq3Qi7K.s:590 .text.HAL_EXTI_RegisterCallback:00000000 $t /tmp/ccq3Qi7K.s:596 .text.HAL_EXTI_RegisterCallback:00000000 HAL_EXTI_RegisterCallback /tmp/ccq3Qi7K.s:629 .text.HAL_EXTI_GetHandle:00000000 $t /tmp/ccq3Qi7K.s:635 .text.HAL_EXTI_GetHandle:00000000 HAL_EXTI_GetHandle /tmp/ccq3Qi7K.s:667 .text.HAL_EXTI_IRQHandler:00000000 $t /tmp/ccq3Qi7K.s:673 .text.HAL_EXTI_IRQHandler:00000000 HAL_EXTI_IRQHandler /tmp/ccq3Qi7K.s:727 .text.HAL_EXTI_IRQHandler:00000020 $d /tmp/ccq3Qi7K.s:732 .text.HAL_EXTI_GetPending:00000000 $t /tmp/ccq3Qi7K.s:738 .text.HAL_EXTI_GetPending:00000000 HAL_EXTI_GetPending /tmp/ccq3Qi7K.s:782 .text.HAL_EXTI_GetPending:00000014 $d /tmp/ccq3Qi7K.s:787 .text.HAL_EXTI_ClearPending:00000000 $t /tmp/ccq3Qi7K.s:793 .text.HAL_EXTI_ClearPending:00000000 HAL_EXTI_ClearPending /tmp/ccq3Qi7K.s:823 .text.HAL_EXTI_ClearPending:00000010 $d /tmp/ccq3Qi7K.s:828 .text.HAL_EXTI_GenerateSWI:00000000 $t /tmp/ccq3Qi7K.s:834 .text.HAL_EXTI_GenerateSWI:00000000 HAL_EXTI_GenerateSWI /tmp/ccq3Qi7K.s:863 .text.HAL_EXTI_GenerateSWI:00000010 $d NO UNDEFINED SYMBOLS