ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.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 "stm32h7xx_hal_exti.c" 15 .text 16 .Ltext0: 17 .cfi_sections .debug_frame 18 .file 1 "Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_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 .LFB335: 1:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 2:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ****************************************************************************** 3:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @file stm32h7xx_hal_exti.c 4:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @author MCD Application Team 5:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief EXTI HAL module driver. 6:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * functionalities of the General Purpose Input/Output (EXTI) peripheral: 8:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * + Initialization and de-initialization functions 9:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * + IO operation functions 10:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * 11:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ****************************************************************************** 12:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @attention 13:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * 14:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * Copyright (c) 2017 STMicroelectronics. 15:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * All rights reserved. 16:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * 17:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * This software is licensed under terms that can be found in the LICENSE file 18:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * in the root directory of this software component. 19:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 20:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * 21:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ****************************************************************************** 22:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** @verbatim 23:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ============================================================================== 24:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ##### EXTI Peripheral features ##### 25:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ============================================================================== 26:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** [..] 27:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (+) Each Exti line can be configured within this driver. 28:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 29:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes 30:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Interrupt (CORE1 or CORE2 in case of dual core line ) ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 2 31:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Event (CORE1 or CORE2 in case of dual core line ) 32:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) a combination of the previous 33:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 34:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers 35:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Rising 36:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Falling 37:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Both of them 38:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 39:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two diffenrents 40:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** interrupt pending registers which allow to distinguish which transition 41:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** occurs: 42:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Rising edge pending interrupt 43:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Falling 44:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 45:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can 46:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** be selected through multiplexer. 47:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 48:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (+) PendClearSource used to set the D3 Smart Run Domain autoamtic pend clear source. 49:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** It is applicable for line with wkaeup target is Any (CPU1 , CPU2 and D3 smart run domain). 50:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** Value can be one of the following: 51:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) EXTI_D3_PENDCLR_SRC_NONE : no pend clear source is selected : 52:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** In this case corresponding bit of D2PMRx register is set to 0 53:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (+++) On a configurable Line : the D3 domain wakeup signal is 54:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** automatically cleared after after the Delay + Rising Edge detect 55:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (+++) On a direct Line : the D3 domain wakeup signal is 56:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** cleared after the direct event input signal is cleared 57:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 58:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) EXTI_D3_PENDCLR_SRC_DMACH6 : no pend clear source is selected : 59:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** In this case corresponding bit of D2PMRx register is set to 1 60:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** and corresponding bits(2) of D3PCRxL/H is set to b00 : 61:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** DMA ch6 event selected as D3 domain pendclear source 62:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 63:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) EXTI_D3_PENDCLR_SRC_DMACH7 : no pend clear source is selected : 64:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** In this case corresponding bit of D2PMRx register is set to 1 65:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** and corresponding bits(2) of D3PCRxL/H is set to b01 : 66:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** DMA ch7 event selected as D3 domain pendclear source 67:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 68:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) EXTI_D3_PENDCLR_SRC_LPTIM4 : no pend clear source is selected : 69:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** In this case corresponding bit of D2PMRx register is set to 1 70:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** and corresponding bits(2) of D3PCRxL/H is set to b10 : 71:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** LPTIM4 out selected as D3 domain pendclear source 72:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 73:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) EXTI_D3_PENDCLR_SRC_LPTIM5 : no pend clear source is selected : 74:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** In this case corresponding bit of D2PMRx register is set to 1 75:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** and corresponding bits(2) of D3PCRxL/H is set to b11 : 76:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** LPTIM5 out selected as D3 domain pendclear source 77:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 78:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 79:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ##### How to use this driver ##### 80:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ============================================================================== 81:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** [..] 82:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 83:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine(). 84:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from 85:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** EXTI_ConfigTypeDef structure. 86:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from 87:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** EXTI_ConfigTypeDef structure. ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 3 88:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger 89:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure. 90:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel" 91:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** member from GPIO_InitTypeDef structure. 92:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) For Exti lines with wkaeup target is Any (CPU1 , CPU2 and D3 smart run domain), 93:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** choose gpio D3 PendClearSource using PendClearSource 94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** member from EXTI_PendClear_Source structure. 95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 96:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using 97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** HAL_EXTI_GetConfigLine(). 98:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Provide exiting handle as parameter. 99:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter. 100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_ClearConfigLine(). 102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Provide exiting handle as parameter. 103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback(). 105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Provide exiting handle as first parameter. 106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Provide which callback will be registered using one value from 107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** EXTI_CallbackIDTypeDef. 108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (++) Provide callback function pointer. 109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending(). 111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_ClearPending(). 113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI(). 115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** @endverbatim 117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/ 120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #include "stm32h7xx_hal.h" 121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** @addtogroup STM32H7xx_HAL_Driver 123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @{ 124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** @addtogroup EXTI 127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @{ 128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED 131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/ 133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Private defines ------------------------------------------------------------*/ 134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants 135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @{ 136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #define EXTI_MODE_OFFSET 0x04U /* 0x10: offset between CPU IMR/EMR registers * 138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #define EXTI_CONFIG_OFFSET 0x08U /* 0x20: offset between CPU Rising/Falling conf 139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @} 141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/ 144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/ ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 4 145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/ 146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/ 147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions 149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @{ 150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1 153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Configuration functions 154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * 155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** @verbatim 156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** =============================================================================== 157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ##### Configuration functions ##### 158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** =============================================================================== 159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** @endverbatim 161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @{ 162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line. 166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param hexti Exti handle. 167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set. 168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @retval HAL Status. 169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 29 .loc 1 171 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 33 .loc 1 172 3 view .LVU1 173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t regval; 34 .loc 1 173 3 view .LVU2 174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t linepos; 35 .loc 1 174 3 view .LVU3 175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t maskline; 36 .loc 1 175 3 view .LVU4 176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t offset; 37 .loc 1 176 3 view .LVU5 177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t pcrlinepos; 38 .loc 1 177 3 view .LVU6 178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check null pointer */ 180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL)) 39 .loc 1 180 3 view .LVU7 40 .loc 1 180 6 is_stmt 0 view .LVU8 41 0000 0029 cmp r1, #0 42 0002 18BF it ne 43 0004 0028 cmpne r0, #0 44 0006 00F08B80 beq .L15 171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 45 .loc 1 171 1 view .LVU9 46 000a F0B5 push {r4, r5, r6, r7, lr} 47 .cfi_def_cfa_offset 20 48 .cfi_offset 4, -20 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 5 49 .cfi_offset 5, -16 50 .cfi_offset 6, -12 51 .cfi_offset 7, -8 52 .cfi_offset 14, -4 181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return HAL_ERROR; 183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check the parameters */ 186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line)); 53 .loc 1 186 3 is_stmt 1 view .LVU10 187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode)); 54 .loc 1 187 3 view .LVU11 188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Assign line number to handle */ 190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** hexti->Line = pExtiConfig->Line; 55 .loc 1 190 3 view .LVU12 56 .loc 1 190 28 is_stmt 0 view .LVU13 57 000c 0A68 ldr r2, [r1] 58 .loc 1 190 15 view .LVU14 59 000e 0260 str r2, [r0] 191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* compute line register offset and line mask */ 193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT); 60 .loc 1 193 3 is_stmt 1 view .LVU15 61 .loc 1 193 10 is_stmt 0 view .LVU16 62 0010 C2F3014C ubfx ip, r2, #16, #2 63 .LVL1: 194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK); 64 .loc 1 194 3 is_stmt 1 view .LVU17 65 .loc 1 194 11 is_stmt 0 view .LVU18 66 0014 02F01F0E and lr, r2, #31 67 .LVL2: 195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** maskline = (1UL << linepos); 68 .loc 1 195 3 is_stmt 1 view .LVU19 69 .loc 1 195 12 is_stmt 0 view .LVU20 70 0018 0123 movs r3, #1 71 001a 03FA0EF3 lsl r3, r3, lr 72 .LVL3: 196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Configure triggers for configurable lines */ 198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00U) 73 .loc 1 198 3 is_stmt 1 view .LVU21 74 .loc 1 198 6 is_stmt 0 view .LVU22 75 001e 12F0007F tst r2, #33554432 76 0022 18D0 beq .L3 199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger)); 77 .loc 1 200 5 is_stmt 1 view .LVU23 201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Configure rising trigger */ 203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->RTSR1 + (EXTI_CONFIG_OFFSET * offset)); 78 .loc 1 203 5 view .LVU24 79 .loc 1 203 15 is_stmt 0 view .LVU25 80 0024 4FEA4C10 lsl r0, ip, #5 81 .LVL4: 82 .loc 1 203 13 view .LVU26 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 6 83 0028 00F1B046 add r6, r0, #1476395008 84 .LVL5: 204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 85 .loc 1 204 5 is_stmt 1 view .LVU27 86 .loc 1 204 12 is_stmt 0 view .LVU28 87 002c 3468 ldr r4, [r6] 88 .LVL6: 205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Mask or set line */ 207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00U) 89 .loc 1 207 5 is_stmt 1 view .LVU29 90 .loc 1 207 21 is_stmt 0 view .LVU30 91 002e 8D68 ldr r5, [r1, #8] 92 .loc 1 207 8 view .LVU31 93 0030 15F0010F tst r5, #1 94 0034 29D0 beq .L4 208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= maskline; 95 .loc 1 209 7 is_stmt 1 view .LVU32 96 .loc 1 209 14 is_stmt 0 view .LVU33 97 0036 1C43 orrs r4, r4, r3 98 .LVL7: 99 .L5: 210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~maskline; 214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store rising trigger mode */ 217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 100 .loc 1 217 5 is_stmt 1 view .LVU34 101 .loc 1 217 14 is_stmt 0 view .LVU35 102 0038 3460 str r4, [r6] 218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Configure falling trigger */ 220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->FTSR1 + (EXTI_CONFIG_OFFSET * offset)); 103 .loc 1 220 5 is_stmt 1 view .LVU36 104 .loc 1 220 13 is_stmt 0 view .LVU37 105 003a 3A4E ldr r6, .L23 106 .LVL8: 221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 107 .loc 1 221 5 is_stmt 1 view .LVU38 108 .loc 1 221 12 is_stmt 0 view .LVU39 109 003c 8459 ldr r4, [r0, r6] 110 .LVL9: 222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Mask or set line */ 224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00U) 111 .loc 1 224 5 is_stmt 1 view .LVU40 112 .loc 1 224 21 is_stmt 0 view .LVU41 113 003e 8D68 ldr r5, [r1, #8] 114 .loc 1 224 8 view .LVU42 115 0040 15F0020F tst r5, #2 116 0044 24D0 beq .L6 225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= maskline; ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 7 117 .loc 1 226 7 is_stmt 1 view .LVU43 118 .loc 1 226 14 is_stmt 0 view .LVU44 119 0046 1C43 orrs r4, r4, r3 120 .LVL10: 121 .L7: 227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~maskline; 231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store falling trigger mode */ 234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 122 .loc 1 234 5 is_stmt 1 view .LVU45 123 .loc 1 234 14 is_stmt 0 view .LVU46 124 0048 8451 str r4, [r0, r6] 235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */ 237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO) 125 .loc 1 237 5 is_stmt 1 view .LVU47 126 .loc 1 237 21 is_stmt 0 view .LVU48 127 004a 0868 ldr r0, [r1] 128 .LVL11: 129 .loc 1 237 28 view .LVU49 130 004c 00F0C060 and r0, r0, #100663296 131 .loc 1 237 8 view .LVU50 132 0050 B0F1C06F cmp r0, #100663296 133 0054 1FD0 beq .L21 134 .LVL12: 135 .L3: 238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel)); 240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL]; 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Configure interrupt mode : read current mode */ 250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->IMR1 + (EXTI_MODE_OFFSET * offset)); 136 .loc 1 250 3 is_stmt 1 view .LVU51 137 .loc 1 250 13 is_stmt 0 view .LVU52 138 0056 4FEA0C10 lsl r0, ip, #4 139 .loc 1 250 11 view .LVU53 140 005a 334E ldr r6, .L23+4 141 .LVL13: 251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 142 .loc 1 251 3 is_stmt 1 view .LVU54 143 .loc 1 251 10 is_stmt 0 view .LVU55 144 005c 8459 ldr r4, [r0, r6] 145 .LVL14: 252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Mask or set line */ 254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00U) ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 8 146 .loc 1 254 3 is_stmt 1 view .LVU56 147 .loc 1 254 19 is_stmt 0 view .LVU57 148 005e 4D68 ldr r5, [r1, #4] 149 .loc 1 254 6 view .LVU58 150 0060 15F0010F tst r5, #1 151 0064 2AD0 beq .L8 255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= maskline; 152 .loc 1 256 5 is_stmt 1 view .LVU59 153 .loc 1 256 12 is_stmt 0 view .LVU60 154 0066 1C43 orrs r4, r4, r3 155 .LVL15: 156 .L9: 257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~maskline; 261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store interrupt mode */ 264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 157 .loc 1 264 3 is_stmt 1 view .LVU61 158 .loc 1 264 12 is_stmt 0 view .LVU62 159 0068 8451 str r4, [r0, r6] 265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* The event mode cannot be configured if the line does not support it */ 267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(((pExtiConfig->Line & EXTI_EVENT) == EXTI_EVENT) || ((pExtiConfig->Mode & EXTI_MODE_ 160 .loc 1 267 3 is_stmt 1 view .LVU63 268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Configure event mode : read current mode */ 270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->EMR1 + (EXTI_MODE_OFFSET * offset)); 161 .loc 1 270 3 view .LVU64 162 .loc 1 270 11 is_stmt 0 view .LVU65 163 006a 304D ldr r5, .L23+8 164 .LVL16: 271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 165 .loc 1 271 3 is_stmt 1 view .LVU66 166 .loc 1 271 10 is_stmt 0 view .LVU67 167 006c 4459 ldr r4, [r0, r5] 168 .LVL17: 272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Mask or set line */ 274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00U) 169 .loc 1 274 3 is_stmt 1 view .LVU68 170 .loc 1 274 6 is_stmt 0 view .LVU69 171 006e 4E68 ldr r6, [r1, #4] 172 0070 16F0020F tst r6, #2 173 0074 25D0 beq .L10 275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= maskline; 174 .loc 1 276 5 is_stmt 1 view .LVU70 175 .loc 1 276 12 is_stmt 0 view .LVU71 176 0076 1C43 orrs r4, r4, r3 177 .LVL18: 178 .L11: 277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 9 279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~maskline; 281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store event mode */ 284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 179 .loc 1 284 3 is_stmt 1 view .LVU72 180 .loc 1 284 12 is_stmt 0 view .LVU73 181 0078 4451 str r4, [r0, r5] 285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #if defined (DUAL_CORE) 287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Configure interrupt mode for Core2 : read current mode */ 288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->C2IMR1 + (EXTI_MODE_OFFSET * offset)); 289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Mask or set line */ 292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_CORE2_INTERRUPT) != 0x00U) 293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= maskline; 295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~maskline; 299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store interrupt mode */ 302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* The event mode cannot be configured if the line does not support it */ 305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(((pExtiConfig->Line & EXTI_EVENT) == EXTI_EVENT) || ((pExtiConfig->Mode & EXTI_MODE_ 306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Configure event mode : read current mode */ 308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->C2EMR1 + (EXTI_MODE_OFFSET * offset)); 309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Mask or set line */ 312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_CORE2_EVENT) != 0x00U) 313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= maskline; 315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~maskline; 319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store event mode */ 322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #endif /* DUAL_CORE */ 324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Configure the D3 PendClear source in case of Wakeup target is Any */ 326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_TARGET_MASK) == EXTI_TARGET_MSK_ALL) 182 .loc 1 326 3 is_stmt 1 view .LVU74 183 .loc 1 326 19 is_stmt 0 view .LVU75 184 007a 0868 ldr r0, [r1] 185 .LVL19: 186 .loc 1 326 26 view .LVU76 187 007c 00F44010 and r0, r0, #3145728 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 10 188 .loc 1 326 6 view .LVU77 189 0080 B0F5401F cmp r0, #3145728 190 0084 20D0 beq .L22 327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_D3_PENDCLR_SRC(pExtiConfig->PendClearSource)); 329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /*Calc the PMR register address for the given line */ 331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->D3PMR1 + (EXTI_CONFIG_OFFSET * offset)); 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if(pExtiConfig->PendClearSource == EXTI_D3_PENDCLR_SRC_NONE) 335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Clear D3PMRx register for the given line */ 337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~maskline; 338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store D3PMRx register value */ 339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Set D3PMRx register to 1 for the given line */ 344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= maskline; 345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store D3PMRx register value */ 346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if(linepos < 16UL) 349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->D3PCR1L + (EXTI_CONFIG_OFFSET * offset)); 351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->D3PCR1H + (EXTI_CONFIG_OFFSET * offset)); 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = (*regaddr & (~(pcrlinepos * pcrlinepos * 3UL))) | (pcrlinepos * pcrlinepos * (pExtiC 360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return HAL_OK; 191 .loc 1 364 10 view .LVU78 192 0086 0020 movs r0, #0 193 .LVL20: 194 .L2: 365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 195 .loc 1 365 1 view .LVU79 196 0088 F0BD pop {r4, r5, r6, r7, pc} 197 .LVL21: 198 .L4: 213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 199 .loc 1 213 7 is_stmt 1 view .LVU80 213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 200 .loc 1 213 14 is_stmt 0 view .LVU81 201 008a 24EA0304 bic r4, r4, r3 202 .LVL22: 213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 11 203 .loc 1 213 14 view .LVU82 204 008e D3E7 b .L5 205 .LVL23: 206 .L6: 230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 207 .loc 1 230 7 is_stmt 1 view .LVU83 230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 208 .loc 1 230 14 is_stmt 0 view .LVU84 209 0090 24EA0304 bic r4, r4, r3 210 .LVL24: 230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 211 .loc 1 230 14 view .LVU85 212 0094 D8E7 b .L7 213 .LVL25: 214 .L21: 239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 215 .loc 1 239 7 is_stmt 1 view .LVU86 240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 216 .loc 1 240 7 view .LVU87 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 217 .loc 1 242 7 view .LVU88 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 218 .loc 1 242 47 is_stmt 0 view .LVU89 219 0096 CEF38100 ubfx r0, lr, #2, #2 242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 220 .loc 1 242 14 view .LVU90 221 009a 254F ldr r7, .L23+12 222 009c 0230 adds r0, r0, #2 223 009e 57F82060 ldr r6, [r7, r0, lsl #2] 224 .LVL26: 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 225 .loc 1 243 7 is_stmt 1 view .LVU91 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 226 .loc 1 243 80 is_stmt 0 view .LVU92 227 00a2 02F00305 and r5, r2, #3 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 228 .loc 1 243 69 view .LVU93 229 00a6 AD00 lsls r5, r5, #2 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 230 .loc 1 243 40 view .LVU94 231 00a8 0F24 movs r4, #15 232 00aa AC40 lsls r4, r4, r5 243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03U))); 233 .loc 1 243 14 view .LVU95 234 00ac 26EA0406 bic r6, r6, r4 235 .LVL27: 244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 236 .loc 1 244 7 is_stmt 1 view .LVU96 244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 237 .loc 1 244 29 is_stmt 0 view .LVU97 238 00b0 CC68 ldr r4, [r1, #12] 244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 239 .loc 1 244 39 view .LVU98 240 00b2 AC40 lsls r4, r4, r5 244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 241 .loc 1 244 14 view .LVU99 242 00b4 3443 orrs r4, r4, r6 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 12 243 .LVL28: 245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 244 .loc 1 245 7 is_stmt 1 view .LVU100 245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 245 .loc 1 245 48 is_stmt 0 view .LVU101 246 00b6 47F82040 str r4, [r7, r0, lsl #2] 247 00ba CCE7 b .L3 248 .LVL29: 249 .L8: 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 250 .loc 1 260 5 is_stmt 1 view .LVU102 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 251 .loc 1 260 12 is_stmt 0 view .LVU103 252 00bc 24EA0304 bic r4, r4, r3 253 .LVL30: 260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 254 .loc 1 260 12 view .LVU104 255 00c0 D2E7 b .L9 256 .LVL31: 257 .L10: 280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 258 .loc 1 280 5 is_stmt 1 view .LVU105 280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 259 .loc 1 280 12 is_stmt 0 view .LVU106 260 00c2 24EA0304 bic r4, r4, r3 261 .LVL32: 280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 262 .loc 1 280 12 view .LVU107 263 00c6 D7E7 b .L11 264 .LVL33: 265 .L22: 328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 266 .loc 1 328 5 is_stmt 1 view .LVU108 331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 267 .loc 1 331 5 view .LVU109 331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 268 .loc 1 331 15 is_stmt 0 view .LVU110 269 00c8 4FEA4C1C lsl ip, ip, #5 270 .LVL34: 331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 271 .loc 1 331 13 view .LVU111 272 00cc 194C ldr r4, .L23+16 273 .LVL35: 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 274 .loc 1 332 5 is_stmt 1 view .LVU112 332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 275 .loc 1 332 12 is_stmt 0 view .LVU113 276 00ce 5CF80400 ldr r0, [ip, r4] 277 .LVL36: 334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 278 .loc 1 334 5 is_stmt 1 view .LVU114 334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 279 .loc 1 334 19 is_stmt 0 view .LVU115 280 00d2 0D69 ldr r5, [r1, #16] 334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 281 .loc 1 334 7 view .LVU116 282 00d4 2DB9 cbnz r5, .L12 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 13 337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store D3PMRx register value */ 283 .loc 1 337 7 is_stmt 1 view .LVU117 337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store D3PMRx register value */ 284 .loc 1 337 14 is_stmt 0 view .LVU118 285 00d6 20EA0300 bic r0, r0, r3 286 .LVL37: 339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 287 .loc 1 339 7 is_stmt 1 view .LVU119 339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 288 .loc 1 339 16 is_stmt 0 view .LVU120 289 00da 4CF80400 str r0, [ip, r4] 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 290 .loc 1 364 10 view .LVU121 291 00de 0020 movs r0, #0 292 .LVL38: 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 293 .loc 1 364 10 view .LVU122 294 00e0 D2E7 b .L2 295 .LVL39: 296 .L12: 344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store D3PMRx register value */ 297 .loc 1 344 7 is_stmt 1 view .LVU123 344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store D3PMRx register value */ 298 .loc 1 344 14 is_stmt 0 view .LVU124 299 00e2 1843 orrs r0, r0, r3 300 .LVL40: 346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 301 .loc 1 346 7 is_stmt 1 view .LVU125 346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 302 .loc 1 346 16 is_stmt 0 view .LVU126 303 00e4 4CF80400 str r0, [ip, r4] 348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 304 .loc 1 348 7 is_stmt 1 view .LVU127 348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 305 .loc 1 348 9 is_stmt 0 view .LVU128 306 00e8 12F0100F tst r2, #16 307 00ec 10D1 bne .L13 350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 308 .loc 1 350 9 is_stmt 1 view .LVU129 350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 309 .loc 1 350 17 is_stmt 0 view .LVU130 310 00ee 1248 ldr r0, .L23+20 311 .LVL41: 350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 312 .loc 1 350 17 view .LVU131 313 00f0 6044 add r0, r0, ip 314 .LVL42: 351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 315 .loc 1 351 9 is_stmt 1 view .LVU132 316 .L14: 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 317 .loc 1 359 7 view .LVU133 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 318 .loc 1 359 17 is_stmt 0 view .LVU134 319 00f2 0268 ldr r2, [r0] 320 .LVL43: 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 14 321 .loc 1 359 42 view .LVU135 322 00f4 03FB03F3 mul r3, r3, r3 323 .LVL44: 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 324 .loc 1 359 55 view .LVU136 325 00f8 03EB4304 add r4, r3, r3, lsl #1 326 .LVL45: 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 327 .loc 1 359 26 view .LVU137 328 00fc 22EA0402 bic r2, r2, r4 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 329 .loc 1 359 105 view .LVU138 330 0100 0969 ldr r1, [r1, #16] 331 .LVL46: 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 332 .loc 1 359 123 view .LVU139 333 0102 0139 subs r1, r1, #1 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 334 .loc 1 359 91 view .LVU140 335 0104 01FB03F3 mul r3, r1, r3 359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 336 .loc 1 359 14 view .LVU141 337 0108 1343 orrs r3, r3, r2 338 .LVL47: 360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 339 .loc 1 360 7 is_stmt 1 view .LVU142 360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 340 .loc 1 360 16 is_stmt 0 view .LVU143 341 010a 0360 str r3, [r0] 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 342 .loc 1 364 10 view .LVU144 343 010c 0020 movs r0, #0 344 .LVL48: 364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 345 .loc 1 364 10 view .LVU145 346 010e BBE7 b .L2 347 .LVL49: 348 .L13: 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 349 .loc 1 355 9 is_stmt 1 view .LVU146 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 350 .loc 1 355 17 is_stmt 0 view .LVU147 351 0110 0A48 ldr r0, .L23+24 352 .LVL50: 355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 353 .loc 1 355 17 view .LVU148 354 0112 6044 add r0, r0, ip 355 .LVL51: 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 356 .loc 1 356 9 is_stmt 1 view .LVU149 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 357 .loc 1 356 38 is_stmt 0 view .LVU150 358 0114 AEF1100E sub lr, lr, #16 359 .LVL52: 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 360 .loc 1 356 20 view .LVU151 361 0118 0123 movs r3, #1 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 15 362 .LVL53: 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 363 .loc 1 356 20 view .LVU152 364 011a 03FA0EF3 lsl r3, r3, lr 365 .LVL54: 356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 366 .loc 1 356 20 view .LVU153 367 011e E8E7 b .L14 368 .LVL55: 369 .L15: 370 .cfi_def_cfa_offset 0 371 .cfi_restore 4 372 .cfi_restore 5 373 .cfi_restore 6 374 .cfi_restore 7 375 .cfi_restore 14 182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 376 .loc 1 182 12 view .LVU154 377 0120 0120 movs r0, #1 378 .LVL56: 379 .loc 1 365 1 view .LVU155 380 0122 7047 bx lr 381 .L24: 382 .align 2 383 .L23: 384 0124 04000058 .word 1476395012 385 0128 80000058 .word 1476395136 386 012c 84000058 .word 1476395140 387 0130 00040058 .word 1476396032 388 0134 0C000058 .word 1476395020 389 0138 10000058 .word 1476395024 390 013c 14000058 .word 1476395028 391 .cfi_endproc 392 .LFE335: 394 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits 395 .align 1 396 .global HAL_EXTI_GetConfigLine 397 .syntax unified 398 .thumb 399 .thumb_func 401 HAL_EXTI_GetConfigLine: 402 .LVL57: 403 .LFB336: 366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line. 370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param hexti Exti handle. 371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration. 372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @retval HAL Status. 373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig 375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 404 .loc 1 375 1 is_stmt 1 view -0 405 .cfi_startproc 406 @ args = 0, pretend = 0, frame = 0 407 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 16 408 @ link register save eliminated. 376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 409 .loc 1 376 3 view .LVU157 377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t regval; 410 .loc 1 377 3 view .LVU158 378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t linepos; 411 .loc 1 378 3 view .LVU159 379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t maskline; 412 .loc 1 379 3 view .LVU160 380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t offset; 413 .loc 1 380 3 view .LVU161 381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t pcrlinepos; 414 .loc 1 381 3 view .LVU162 382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check null pointer */ 384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL)) 415 .loc 1 384 3 view .LVU163 416 .loc 1 384 6 is_stmt 0 view .LVU164 417 0000 0029 cmp r1, #0 418 0002 18BF it ne 419 0004 0028 cmpne r0, #0 420 0006 6CD0 beq .L34 375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 421 .loc 1 375 1 view .LVU165 422 0008 70B4 push {r4, r5, r6} 423 .cfi_def_cfa_offset 12 424 .cfi_offset 4, -12 425 .cfi_offset 5, -8 426 .cfi_offset 6, -4 385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return HAL_ERROR; 387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check the parameter */ 390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 427 .loc 1 390 3 is_stmt 1 view .LVU166 391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store handle line number to configuration structure */ 393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->Line = hexti->Line; 428 .loc 1 393 3 view .LVU167 429 .loc 1 393 28 is_stmt 0 view .LVU168 430 000a 0268 ldr r2, [r0] 431 .loc 1 393 21 view .LVU169 432 000c 0A60 str r2, [r1] 394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* compute line register offset and line mask */ 396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT); 433 .loc 1 396 3 is_stmt 1 view .LVU170 434 .loc 1 396 10 is_stmt 0 view .LVU171 435 000e C2F30140 ubfx r0, r2, #16, #2 436 .LVL58: 397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK); 437 .loc 1 397 3 is_stmt 1 view .LVU172 438 .loc 1 397 11 is_stmt 0 view .LVU173 439 0012 02F01F0C and ip, r2, #31 440 .LVL59: 398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** maskline = (1UL << linepos); ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 17 441 .loc 1 398 3 is_stmt 1 view .LVU174 442 .loc 1 398 12 is_stmt 0 view .LVU175 443 0016 0123 movs r3, #1 444 0018 03FA0CF3 lsl r3, r3, ip 445 .LVL60: 399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* 1] Get core mode : interrupt */ 401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->IMR1 + (EXTI_MODE_OFFSET * offset)); 446 .loc 1 401 3 is_stmt 1 view .LVU176 447 .loc 1 401 13 is_stmt 0 view .LVU177 448 001c 0401 lsls r4, r0, #4 449 .loc 1 401 11 view .LVU178 450 001e 334D ldr r5, .L43 451 .LVL61: 402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 452 .loc 1 402 3 is_stmt 1 view .LVU179 453 .loc 1 402 10 is_stmt 0 view .LVU180 454 0020 6559 ldr r5, [r4, r5] 455 .LVL62: 403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE; 456 .loc 1 404 3 is_stmt 1 view .LVU181 457 .loc 1 404 21 is_stmt 0 view .LVU182 458 0022 0026 movs r6, #0 459 0024 4E60 str r6, [r1, #4] 405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check if selected line is enable */ 407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((regval & maskline) != 0x00U) 460 .loc 1 407 3 is_stmt 1 view .LVU183 461 .loc 1 407 6 is_stmt 0 view .LVU184 462 0026 2B42 tst r3, r5 463 0028 01D0 beq .L27 408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT; 464 .loc 1 409 5 is_stmt 1 view .LVU185 465 .loc 1 409 23 is_stmt 0 view .LVU186 466 002a 0125 movs r5, #1 467 .LVL63: 468 .loc 1 409 23 view .LVU187 469 002c 4D60 str r5, [r1, #4] 470 .L27: 410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get event mode */ 413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->EMR1 + (EXTI_MODE_OFFSET * offset)); 471 .loc 1 413 3 is_stmt 1 view .LVU188 472 .loc 1 413 11 is_stmt 0 view .LVU189 473 002e 304D ldr r5, .L43+4 474 .LVL64: 414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 475 .loc 1 414 3 is_stmt 1 view .LVU190 476 .loc 1 414 10 is_stmt 0 view .LVU191 477 0030 6459 ldr r4, [r4, r5] 478 .LVL65: 415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check if selected line is enable */ 417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((regval & maskline) != 0x00U) ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 18 479 .loc 1 417 3 is_stmt 1 view .LVU192 480 .loc 1 417 6 is_stmt 0 view .LVU193 481 0032 2342 tst r3, r4 482 0034 03D0 beq .L28 418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT; 483 .loc 1 419 5 is_stmt 1 view .LVU194 484 .loc 1 419 16 is_stmt 0 view .LVU195 485 0036 4C68 ldr r4, [r1, #4] 486 .LVL66: 487 .loc 1 419 23 view .LVU196 488 0038 44F00204 orr r4, r4, #2 489 003c 4C60 str r4, [r1, #4] 490 .L28: 420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #if defined (DUAL_CORE) 422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->C2IMR1 + (EXTI_MODE_OFFSET * offset)); 423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check if selected line is enable */ 426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((regval & maskline) != 0x00U) 427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_CORE2_INTERRUPT; 429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get event mode */ 432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->C2EMR1 + (EXTI_MODE_OFFSET * offset)); 433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check if selected line is enable */ 436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((regval & maskline) != 0x00U) 437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_CORE2_EVENT; 439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #endif /*DUAL_CORE*/ 441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get default Trigger and GPIOSel configuration */ 443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE; 491 .loc 1 443 3 is_stmt 1 view .LVU197 492 .loc 1 443 24 is_stmt 0 view .LVU198 493 003e 0024 movs r4, #0 494 0040 8C60 str r4, [r1, #8] 444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00U; 495 .loc 1 444 3 is_stmt 1 view .LVU199 496 .loc 1 444 24 is_stmt 0 view .LVU200 497 0042 CC60 str r4, [r1, #12] 445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */ 447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00U) 498 .loc 1 447 3 is_stmt 1 view .LVU201 499 .loc 1 447 6 is_stmt 0 view .LVU202 500 0044 12F0007F tst r2, #33554432 501 0048 14D0 beq .L29 448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->RTSR1 + (EXTI_CONFIG_OFFSET * offset)); 502 .loc 1 449 5 is_stmt 1 view .LVU203 503 .loc 1 449 15 is_stmt 0 view .LVU204 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 19 504 004a 4401 lsls r4, r0, #5 505 .loc 1 449 13 view .LVU205 506 004c 04F1B045 add r5, r4, #1476395008 507 .LVL67: 450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 508 .loc 1 450 5 is_stmt 1 view .LVU206 509 .loc 1 450 12 is_stmt 0 view .LVU207 510 0050 2D68 ldr r5, [r5] 511 .LVL68: 451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check if configuration of selected line is enable */ 453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((regval & maskline) != 0x00U) 512 .loc 1 453 5 is_stmt 1 view .LVU208 513 .loc 1 453 8 is_stmt 0 view .LVU209 514 0052 2B42 tst r3, r5 515 0054 01D0 beq .L30 454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING; 516 .loc 1 455 7 is_stmt 1 view .LVU210 517 .loc 1 455 28 is_stmt 0 view .LVU211 518 0056 0125 movs r5, #1 519 .LVL69: 520 .loc 1 455 28 view .LVU212 521 0058 8D60 str r5, [r1, #8] 522 .L30: 456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get falling configuration */ 459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->FTSR1 + (EXTI_CONFIG_OFFSET * offset)); 523 .loc 1 459 5 is_stmt 1 view .LVU213 524 .loc 1 459 13 is_stmt 0 view .LVU214 525 005a 264D ldr r5, .L43+8 526 .LVL70: 460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = *regaddr; 527 .loc 1 460 5 is_stmt 1 view .LVU215 528 .loc 1 460 12 is_stmt 0 view .LVU216 529 005c 6459 ldr r4, [r4, r5] 530 .LVL71: 461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check if configuration of selected line is enable */ 463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((regval & maskline) != 0x00U) 531 .loc 1 463 5 is_stmt 1 view .LVU217 532 .loc 1 463 8 is_stmt 0 view .LVU218 533 005e 2342 tst r3, r4 534 0060 03D0 beq .L31 464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING; 535 .loc 1 465 7 is_stmt 1 view .LVU219 536 .loc 1 465 18 is_stmt 0 view .LVU220 537 0062 8C68 ldr r4, [r1, #8] 538 .LVL72: 539 .loc 1 465 28 view .LVU221 540 0064 44F00204 orr r4, r4, #2 541 0068 8C60 str r4, [r1, #8] 542 .L31: 466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 20 468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */ 469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO) 543 .loc 1 469 5 is_stmt 1 view .LVU222 544 .loc 1 469 28 is_stmt 0 view .LVU223 545 006a 02F0C064 and r4, r2, #100663296 546 .loc 1 469 8 view .LVU224 547 006e B4F1C06F cmp r4, #100663296 548 0072 09D0 beq .L41 549 .LVL73: 550 .L29: 470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL]; 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get default Pend Clear Source */ 479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->PendClearSource = EXTI_D3_PENDCLR_SRC_NONE; 551 .loc 1 479 3 is_stmt 1 view .LVU225 552 .loc 1 479 32 is_stmt 0 view .LVU226 553 0074 0024 movs r4, #0 554 0076 0C61 str r4, [r1, #16] 480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* 3] Get D3 Pend Clear source */ 482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_TARGET_MASK) == EXTI_TARGET_MSK_ALL) 555 .loc 1 482 3 is_stmt 1 view .LVU227 556 .loc 1 482 26 is_stmt 0 view .LVU228 557 0078 02F44014 and r4, r2, #3145728 558 .loc 1 482 6 view .LVU229 559 007c B4F5401F cmp r4, #3145728 560 0080 10D0 beq .L42 483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->D3PMR1 + (EXTI_CONFIG_OFFSET * offset)); 485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if(((*regaddr) & linepos) != 0UL) 486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* if wakeup target is any and PMR set, the read pend clear source from D3PCRxL/H */ 488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if(linepos < 16UL) 489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->D3PCR1L + (EXTI_CONFIG_OFFSET * offset)); 491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->D3PCR1H + (EXTI_CONFIG_OFFSET * offset)); 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->PendClearSource = 1UL + ((*regaddr & (pcrlinepos * pcrlinepos * 3UL)) / (pcrline 500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return HAL_OK; 561 .loc 1 503 10 view .LVU230 562 0082 0020 movs r0, #0 563 .LVL74: ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 21 564 .L26: 504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 565 .loc 1 504 1 view .LVU231 566 0084 70BC pop {r4, r5, r6} 567 .cfi_remember_state 568 .cfi_restore 6 569 .cfi_restore 5 570 .cfi_restore 4 571 .cfi_def_cfa_offset 0 572 0086 7047 bx lr 573 .LVL75: 574 .L41: 575 .cfi_restore_state 471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 576 .loc 1 471 7 is_stmt 1 view .LVU232 473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 577 .loc 1 473 7 view .LVU233 473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 578 .loc 1 473 47 is_stmt 0 view .LVU234 579 0088 CCF38104 ubfx r4, ip, #2, #2 473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 580 .loc 1 473 14 view .LVU235 581 008c 0234 adds r4, r4, #2 582 008e 1A4D ldr r5, .L43+12 583 .LVL76: 473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 584 .loc 1 473 14 view .LVU236 585 0090 55F82440 ldr r4, [r5, r4, lsl #2] 586 .LVL77: 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 587 .loc 1 474 7 is_stmt 1 view .LVU237 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 588 .loc 1 474 78 is_stmt 0 view .LVU238 589 0094 02F00305 and r5, r2, #3 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 590 .loc 1 474 67 view .LVU239 591 0098 AD00 lsls r5, r5, #2 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 592 .loc 1 474 38 view .LVU240 593 009a EC40 lsrs r4, r4, r5 594 .LVL78: 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 595 .loc 1 474 89 view .LVU241 596 009c 04F00F04 and r4, r4, #15 474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 597 .loc 1 474 28 view .LVU242 598 00a0 CC60 str r4, [r1, #12] 599 00a2 E7E7 b .L29 600 .LVL79: 601 .L42: 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if(((*regaddr) & linepos) != 0UL) 602 .loc 1 484 5 is_stmt 1 view .LVU243 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if(((*regaddr) & linepos) != 0UL) 603 .loc 1 484 15 is_stmt 0 view .LVU244 604 00a4 4001 lsls r0, r0, #5 605 .LVL80: 484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if(((*regaddr) & linepos) != 0UL) ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 22 606 .loc 1 484 13 view .LVU245 607 00a6 154C ldr r4, .L43+16 608 .LVL81: 485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 609 .loc 1 485 5 is_stmt 1 view .LVU246 485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 610 .loc 1 485 10 is_stmt 0 view .LVU247 611 00a8 0459 ldr r4, [r0, r4] 612 .LVL82: 485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 613 .loc 1 485 7 view .LVU248 614 00aa 14EA0C0F tst r4, ip 615 00ae 1AD0 beq .L36 488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 616 .loc 1 488 7 is_stmt 1 view .LVU249 488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 617 .loc 1 488 9 is_stmt 0 view .LVU250 618 00b0 12F0100F tst r2, #16 619 00b4 0DD1 bne .L32 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 620 .loc 1 490 9 is_stmt 1 view .LVU251 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 621 .loc 1 490 17 is_stmt 0 view .LVU252 622 00b6 124A ldr r2, .L43+20 623 .LVL83: 490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 624 .loc 1 490 17 view .LVU253 625 00b8 0244 add r2, r2, r0 626 .LVL84: 491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 627 .loc 1 491 9 is_stmt 1 view .LVU254 628 .L33: 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 629 .loc 1 499 7 view .LVU255 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 630 .loc 1 499 46 is_stmt 0 view .LVU256 631 00ba 1268 ldr r2, [r2] 632 .LVL85: 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 633 .loc 1 499 69 view .LVU257 634 00bc 03FB03F3 mul r3, r3, r3 635 .LVL86: 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 636 .loc 1 499 82 view .LVU258 637 00c0 03EB4300 add r0, r3, r3, lsl #1 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 638 .loc 1 499 55 view .LVU259 639 00c4 0240 ands r2, r2, r0 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 640 .loc 1 499 90 view .LVU260 641 00c6 B2FBF3F3 udiv r3, r2, r3 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 642 .loc 1 499 42 view .LVU261 643 00ca 0133 adds r3, r3, #1 499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 644 .loc 1 499 36 view .LVU262 645 00cc 0B61 str r3, [r1, #16] ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 23 503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 646 .loc 1 503 10 view .LVU263 647 00ce 0020 movs r0, #0 648 00d0 D8E7 b .L26 649 .LVL87: 650 .L32: 495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 651 .loc 1 495 9 is_stmt 1 view .LVU264 495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 652 .loc 1 495 17 is_stmt 0 view .LVU265 653 00d2 0C4A ldr r2, .L43+24 654 .LVL88: 495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 655 .loc 1 495 17 view .LVU266 656 00d4 0244 add r2, r2, r0 657 .LVL89: 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 658 .loc 1 496 9 is_stmt 1 view .LVU267 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 659 .loc 1 496 38 is_stmt 0 view .LVU268 660 00d6 ACF1100C sub ip, ip, #16 661 .LVL90: 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 662 .loc 1 496 20 view .LVU269 663 00da 0123 movs r3, #1 664 .LVL91: 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 665 .loc 1 496 20 view .LVU270 666 00dc 03FA0CF3 lsl r3, r3, ip 667 .LVL92: 496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 668 .loc 1 496 20 view .LVU271 669 00e0 EBE7 b .L33 670 .LVL93: 671 .L34: 672 .cfi_def_cfa_offset 0 673 .cfi_restore 4 674 .cfi_restore 5 675 .cfi_restore 6 386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 676 .loc 1 386 12 view .LVU272 677 00e2 0120 movs r0, #1 678 .LVL94: 679 .loc 1 504 1 view .LVU273 680 00e4 7047 bx lr 681 .LVL95: 682 .L36: 683 .cfi_def_cfa_offset 12 684 .cfi_offset 4, -12 685 .cfi_offset 5, -8 686 .cfi_offset 6, -4 503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 687 .loc 1 503 10 view .LVU274 688 00e6 0020 movs r0, #0 689 .LVL96: 503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 690 .loc 1 503 10 view .LVU275 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 24 691 00e8 CCE7 b .L26 692 .L44: 693 00ea 00BF .align 2 694 .L43: 695 00ec 80000058 .word 1476395136 696 00f0 84000058 .word 1476395140 697 00f4 04000058 .word 1476395012 698 00f8 00040058 .word 1476396032 699 00fc 0C000058 .word 1476395020 700 0100 10000058 .word 1476395024 701 0104 14000058 .word 1476395028 702 .cfi_endproc 703 .LFE336: 705 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits 706 .align 1 707 .global HAL_EXTI_ClearConfigLine 708 .syntax unified 709 .thumb 710 .thumb_func 712 HAL_EXTI_ClearConfigLine: 713 .LVL97: 714 .LFB337: 505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line. 509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param hexti Exti handle. 510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @retval HAL Status. 511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti) 513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 715 .loc 1 513 1 is_stmt 1 view -0 716 .cfi_startproc 717 @ args = 0, pretend = 0, frame = 0 718 @ frame_needed = 0, uses_anonymous_args = 0 514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 719 .loc 1 514 3 view .LVU277 515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t regval; 720 .loc 1 515 3 view .LVU278 516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t linepos; 721 .loc 1 516 3 view .LVU279 517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t maskline; 722 .loc 1 517 3 view .LVU280 518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t offset; 723 .loc 1 518 3 view .LVU281 519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t pcrlinepos; 724 .loc 1 519 3 view .LVU282 520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check null pointer */ 522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if (hexti == NULL) 725 .loc 1 522 3 view .LVU283 726 .loc 1 522 6 is_stmt 0 view .LVU284 727 0000 0028 cmp r0, #0 728 0002 65D0 beq .L50 513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 729 .loc 1 513 1 view .LVU285 730 0004 2DE9F041 push {r4, r5, r6, r7, r8, lr} ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 25 731 .cfi_def_cfa_offset 24 732 .cfi_offset 4, -24 733 .cfi_offset 5, -20 734 .cfi_offset 6, -16 735 .cfi_offset 7, -12 736 .cfi_offset 8, -8 737 .cfi_offset 14, -4 738 0008 0146 mov r1, r0 523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return HAL_ERROR; 525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check the parameter */ 528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 739 .loc 1 528 3 is_stmt 1 view .LVU286 529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* compute line register offset and line mask */ 531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT); 740 .loc 1 531 3 view .LVU287 741 .loc 1 531 19 is_stmt 0 view .LVU288 742 000a 0568 ldr r5, [r0] 743 .loc 1 531 10 view .LVU289 744 000c C5F30140 ubfx r0, r5, #16, #2 745 .LVL98: 532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK); 746 .loc 1 532 3 is_stmt 1 view .LVU290 747 .loc 1 532 11 is_stmt 0 view .LVU291 748 0010 05F01F0E and lr, r5, #31 749 .LVL99: 533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** maskline = (1UL << linepos); 750 .loc 1 533 3 is_stmt 1 view .LVU292 751 .loc 1 533 12 is_stmt 0 view .LVU293 752 0014 0123 movs r3, #1 753 0016 03FA0EF3 lsl r3, r3, lr 754 .LVL100: 534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* 1] Clear interrupt mode */ 536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->IMR1 + (EXTI_MODE_OFFSET * offset)); 755 .loc 1 536 3 is_stmt 1 view .LVU294 756 .loc 1 536 13 is_stmt 0 view .LVU295 757 001a 0201 lsls r2, r0, #4 758 .loc 1 536 11 view .LVU296 759 001c 2D4E ldr r6, .L58 760 .LVL101: 537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = (*regaddr & ~maskline); 761 .loc 1 537 3 is_stmt 1 view .LVU297 762 .loc 1 537 13 is_stmt 0 view .LVU298 763 001e 9459 ldr r4, [r2, r6] 764 .loc 1 537 24 view .LVU299 765 0020 6FEA030C mvn ip, r3 766 .loc 1 537 10 view .LVU300 767 0024 24EA0304 bic r4, r4, r3 768 .LVL102: 538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 769 .loc 1 538 3 is_stmt 1 view .LVU301 770 .loc 1 538 12 is_stmt 0 view .LVU302 771 0028 9451 str r4, [r2, r6] ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 26 539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* 2] Clear event mode */ 541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->EMR1 + (EXTI_MODE_OFFSET * offset)); 772 .loc 1 541 3 is_stmt 1 view .LVU303 773 .loc 1 541 11 is_stmt 0 view .LVU304 774 002a 0436 adds r6, r6, #4 775 .LVL103: 542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = (*regaddr & ~maskline); 776 .loc 1 542 3 is_stmt 1 view .LVU305 777 .loc 1 542 13 is_stmt 0 view .LVU306 778 002c 9459 ldr r4, [r2, r6] 779 .LVL104: 780 .loc 1 542 10 view .LVU307 781 002e 24EA0304 bic r4, r4, r3 782 .LVL105: 543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 783 .loc 1 543 3 is_stmt 1 view .LVU308 784 .loc 1 543 12 is_stmt 0 view .LVU309 785 0032 9451 str r4, [r2, r6] 544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #if defined (DUAL_CORE) 546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* 1] Clear CM4 interrupt mode */ 547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->C2IMR1 + (EXTI_MODE_OFFSET * offset)); 548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = (*regaddr & ~maskline); 549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* 2] Clear CM4 event mode */ 552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->C2EMR1 + (EXTI_MODE_OFFSET * offset)); 553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = (*regaddr & ~maskline); 554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #endif /* DUAL_CORE */ 556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */ 558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00U) 786 .loc 1 558 3 is_stmt 1 view .LVU310 787 .loc 1 558 13 is_stmt 0 view .LVU311 788 0034 0A68 ldr r2, [r1] 789 .LVL106: 790 .loc 1 558 6 view .LVU312 791 0036 12F0007F tst r2, #33554432 792 003a 11D0 beq .L47 559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->RTSR1 + (EXTI_CONFIG_OFFSET * offset)); 793 .loc 1 560 5 is_stmt 1 view .LVU313 794 .loc 1 560 15 is_stmt 0 view .LVU314 795 003c 4201 lsls r2, r0, #5 796 .loc 1 560 13 view .LVU315 797 003e 02F1B046 add r6, r2, #1476395008 798 .LVL107: 561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = (*regaddr & ~maskline); 799 .loc 1 561 5 is_stmt 1 view .LVU316 800 .loc 1 561 15 is_stmt 0 view .LVU317 801 0042 3468 ldr r4, [r6] 802 .LVL108: 803 .loc 1 561 12 view .LVU318 804 0044 0CEA0404 and r4, ip, r4 805 .LVL109: ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 27 562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 806 .loc 1 562 5 is_stmt 1 view .LVU319 807 .loc 1 562 14 is_stmt 0 view .LVU320 808 0048 3460 str r4, [r6] 563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->FTSR1 + (EXTI_CONFIG_OFFSET * offset)); 809 .loc 1 564 5 is_stmt 1 view .LVU321 810 .loc 1 564 13 is_stmt 0 view .LVU322 811 004a 234E ldr r6, .L58+4 812 .LVL110: 565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = (*regaddr & ~maskline); 813 .loc 1 565 5 is_stmt 1 view .LVU323 814 .loc 1 565 15 is_stmt 0 view .LVU324 815 004c 9459 ldr r4, [r2, r6] 816 .LVL111: 817 .loc 1 565 12 view .LVU325 818 004e 0CEA0404 and r4, ip, r4 819 .LVL112: 566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = regval; 820 .loc 1 566 5 is_stmt 1 view .LVU326 821 .loc 1 566 14 is_stmt 0 view .LVU327 822 0052 9451 str r4, [r2, r6] 567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */ 569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO) 823 .loc 1 569 5 is_stmt 1 view .LVU328 824 .loc 1 569 15 is_stmt 0 view .LVU329 825 0054 0A68 ldr r2, [r1] 826 .LVL113: 827 .loc 1 569 22 view .LVU330 828 0056 02F0C062 and r2, r2, #100663296 829 .loc 1 569 8 view .LVU331 830 005a B2F1C06F cmp r2, #100663296 831 005e 08D0 beq .L56 832 .LVL114: 833 .L47: 570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL]; 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03UL))); 575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* 4] Clear D3 Config lines */ 580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if ((hexti->Line & EXTI_TARGET_MASK) == EXTI_TARGET_MSK_ALL) 834 .loc 1 580 3 is_stmt 1 view .LVU332 835 .loc 1 580 13 is_stmt 0 view .LVU333 836 0060 0A68 ldr r2, [r1] 837 .loc 1 580 20 view .LVU334 838 0062 02F44012 and r2, r2, #3145728 839 .loc 1 580 6 view .LVU335 840 0066 B2F5401F cmp r2, #3145728 841 006a 14D0 beq .L57 581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->D3PMR1 + (EXTI_CONFIG_OFFSET * offset)); ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 28 583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = (*regaddr & ~maskline); 584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if(linepos < 16UL) 586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->D3PCR1L + (EXTI_CONFIG_OFFSET * offset)); 588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->D3PCR1H + (EXTI_CONFIG_OFFSET * offset)); 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /*Clear D3 PendClear source */ 597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr &= (~(pcrlinepos * pcrlinepos * 3UL)); 598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return HAL_OK; 842 .loc 1 600 10 view .LVU336 843 006c 0020 movs r0, #0 844 .LVL115: 845 .L46: 601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 846 .loc 1 601 1 view .LVU337 847 006e BDE8F081 pop {r4, r5, r6, r7, r8, pc} 848 .LVL116: 849 .L56: 571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 850 .loc 1 571 7 is_stmt 1 view .LVU338 573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03UL))); 851 .loc 1 573 7 view .LVU339 573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03UL))); 852 .loc 1 573 47 is_stmt 0 view .LVU340 853 0072 CEF38102 ubfx r2, lr, #2, #2 573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03UL))); 854 .loc 1 573 14 view .LVU341 855 0076 194F ldr r7, .L58+8 856 0078 0232 adds r2, r2, #2 857 007a 57F82240 ldr r4, [r7, r2, lsl #2] 858 .LVL117: 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 859 .loc 1 574 7 is_stmt 1 view .LVU342 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 860 .loc 1 574 80 is_stmt 0 view .LVU343 861 007e 05F00308 and r8, r5, #3 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 862 .loc 1 574 69 view .LVU344 863 0082 4FEA8808 lsl r8, r8, #2 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 864 .loc 1 574 40 view .LVU345 865 0086 0F26 movs r6, #15 866 .LVL118: 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 867 .loc 1 574 40 view .LVU346 868 0088 06FA08F6 lsl r6, r6, r8 574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** SYSCFG->EXTICR[(linepos >> 2U) & 0x03UL] = regval; 869 .loc 1 574 14 view .LVU347 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 29 870 008c 24EA0604 bic r4, r4, r6 871 .LVL119: 575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 872 .loc 1 575 7 is_stmt 1 view .LVU348 575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 873 .loc 1 575 48 is_stmt 0 view .LVU349 874 0090 47F82240 str r4, [r7, r2, lsl #2] 875 0094 E4E7 b .L47 876 .LVL120: 877 .L57: 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = (*regaddr & ~maskline); 878 .loc 1 582 5 is_stmt 1 view .LVU350 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = (*regaddr & ~maskline); 879 .loc 1 582 15 is_stmt 0 view .LVU351 880 0096 4001 lsls r0, r0, #5 881 .LVL121: 582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = (*regaddr & ~maskline); 882 .loc 1 582 13 view .LVU352 883 0098 1149 ldr r1, .L58+12 884 .LVL122: 583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 885 .loc 1 583 5 is_stmt 1 view .LVU353 583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 886 .loc 1 583 17 is_stmt 0 view .LVU354 887 009a 4258 ldr r2, [r0, r1] 583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 888 .loc 1 583 26 view .LVU355 889 009c 0CEA0202 and r2, ip, r2 583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 890 .loc 1 583 14 view .LVU356 891 00a0 4250 str r2, [r0, r1] 585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 892 .loc 1 585 5 is_stmt 1 view .LVU357 585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 893 .loc 1 585 7 is_stmt 0 view .LVU358 894 00a2 15F0100F tst r5, #16 895 00a6 0BD1 bne .L48 587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 896 .loc 1 587 7 is_stmt 1 view .LVU359 587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << linepos; 897 .loc 1 587 15 is_stmt 0 view .LVU360 898 00a8 0E4A ldr r2, .L58+16 899 00aa 0244 add r2, r2, r0 900 .LVL123: 588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 901 .loc 1 588 7 is_stmt 1 view .LVU361 902 .L49: 597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 903 .loc 1 597 5 view .LVU362 904 00ac 1168 ldr r1, [r2] 597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 905 .loc 1 597 31 is_stmt 0 view .LVU363 906 00ae 03FB03F3 mul r3, r3, r3 907 .LVL124: 597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 908 .loc 1 597 44 view .LVU364 909 00b2 03EB4303 add r3, r3, r3, lsl #1 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 30 597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 910 .loc 1 597 14 view .LVU365 911 00b6 21EA0303 bic r3, r1, r3 912 00ba 1360 str r3, [r2] 600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 913 .loc 1 600 10 view .LVU366 914 00bc 0020 movs r0, #0 915 00be D6E7 b .L46 916 .LVL125: 917 .L48: 592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 918 .loc 1 592 7 is_stmt 1 view .LVU367 592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** pcrlinepos = 1UL << (linepos - 16UL); 919 .loc 1 592 15 is_stmt 0 view .LVU368 920 00c0 094A ldr r2, .L58+20 921 00c2 0244 add r2, r2, r0 922 .LVL126: 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 923 .loc 1 593 7 is_stmt 1 view .LVU369 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 924 .loc 1 593 36 is_stmt 0 view .LVU370 925 00c4 AEF1100E sub lr, lr, #16 926 .LVL127: 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 927 .loc 1 593 18 view .LVU371 928 00c8 0123 movs r3, #1 929 .LVL128: 593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 930 .loc 1 593 18 view .LVU372 931 00ca 03FA0EF3 lsl r3, r3, lr 932 00ce EDE7 b .L49 933 .LVL129: 934 .L50: 935 .cfi_def_cfa_offset 0 936 .cfi_restore 4 937 .cfi_restore 5 938 .cfi_restore 6 939 .cfi_restore 7 940 .cfi_restore 8 941 .cfi_restore 14 524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 942 .loc 1 524 12 view .LVU373 943 00d0 0120 movs r0, #1 944 .LVL130: 945 .loc 1 601 1 view .LVU374 946 00d2 7047 bx lr 947 .L59: 948 .align 2 949 .L58: 950 00d4 80000058 .word 1476395136 951 00d8 04000058 .word 1476395012 952 00dc 00040058 .word 1476396032 953 00e0 0C000058 .word 1476395020 954 00e4 10000058 .word 1476395024 955 00e8 14000058 .word 1476395028 956 .cfi_endproc 957 .LFE337: ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 31 959 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits 960 .align 1 961 .global HAL_EXTI_RegisterCallback 962 .syntax unified 963 .thumb 964 .thumb_func 966 HAL_EXTI_RegisterCallback: 967 .LVL131: 968 .LFB338: 602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line. 606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param hexti Exti handle. 607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param CallbackID User callback identifier. 608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values. 609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback. 610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @retval HAL Status. 611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb 613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 969 .loc 1 613 1 is_stmt 1 view -0 970 .cfi_startproc 971 @ args = 0, pretend = 0, frame = 0 972 @ frame_needed = 0, uses_anonymous_args = 0 973 @ link register save eliminated. 614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK; 974 .loc 1 614 3 view .LVU376 615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check null pointer */ 617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if (hexti == NULL) 975 .loc 1 617 3 view .LVU377 976 .loc 1 617 6 is_stmt 0 view .LVU378 977 0000 18B1 cbz r0, .L62 618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return HAL_ERROR; 620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** switch (CallbackID) 978 .loc 1 622 3 is_stmt 1 view .LVU379 979 0002 21B9 cbnz r1, .L63 623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID: 625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn; 980 .loc 1 625 7 view .LVU380 981 .loc 1 625 30 is_stmt 0 view .LVU381 982 0004 4260 str r2, [r0, #4] 626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** break; 983 .loc 1 626 7 is_stmt 1 view .LVU382 614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 984 .loc 1 614 21 is_stmt 0 view .LVU383 985 0006 0846 mov r0, r1 986 .LVL132: 987 .loc 1 626 7 view .LVU384 988 0008 7047 bx lr 989 .LVL133: 990 .L62: ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 32 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 991 .loc 1 619 12 view .LVU385 992 000a 0120 movs r0, #1 993 .LVL134: 619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 994 .loc 1 619 12 view .LVU386 995 000c 7047 bx lr 996 .LVL135: 997 .L63: 627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** default: 629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** status = HAL_ERROR; 998 .loc 1 629 14 view .LVU387 999 000e 0120 movs r0, #1 1000 .LVL136: 630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** break; 631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return status; 634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 1001 .loc 1 634 1 view .LVU388 1002 0010 7047 bx lr 1003 .cfi_endproc 1004 .LFE338: 1006 .section .text.HAL_EXTI_GetHandle,"ax",%progbits 1007 .align 1 1008 .global HAL_EXTI_GetHandle 1009 .syntax unified 1010 .thumb 1011 .thumb_func 1013 HAL_EXTI_GetHandle: 1014 .LVL137: 1015 .LFB339: 635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Store line number as handle private field. 639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param hexti Exti handle. 640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param ExtiLine Exti line number. 641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB. 642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @retval HAL Status. 643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine) 645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 1016 .loc 1 645 1 is_stmt 1 view -0 1017 .cfi_startproc 1018 @ args = 0, pretend = 0, frame = 0 1019 @ frame_needed = 0, uses_anonymous_args = 0 1020 @ link register save eliminated. 646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check the parameters */ 647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine)); 1021 .loc 1 647 3 view .LVU390 648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check null pointer */ 650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if (hexti == NULL) 1022 .loc 1 650 3 view .LVU391 1023 .loc 1 650 6 is_stmt 0 view .LVU392 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 33 1024 0000 10B1 cbz r0, .L66 651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return HAL_ERROR; 653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else 655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Store line number as handle private field */ 657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** hexti->Line = ExtiLine; 1025 .loc 1 657 5 is_stmt 1 view .LVU393 1026 .loc 1 657 17 is_stmt 0 view .LVU394 1027 0002 0160 str r1, [r0] 658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return HAL_OK; 1028 .loc 1 659 5 is_stmt 1 view .LVU395 1029 .loc 1 659 12 is_stmt 0 view .LVU396 1030 0004 0020 movs r0, #0 1031 .LVL138: 1032 .loc 1 659 12 view .LVU397 1033 0006 7047 bx lr 1034 .LVL139: 1035 .L66: 652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 1036 .loc 1 652 12 view .LVU398 1037 0008 0120 movs r0, #1 1038 .LVL140: 660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 1039 .loc 1 661 1 view .LVU399 1040 000a 7047 bx lr 1041 .cfi_endproc 1042 .LFE339: 1044 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits 1045 .align 1 1046 .global HAL_EXTI_IRQHandler 1047 .syntax unified 1048 .thumb 1049 .thumb_func 1051 HAL_EXTI_IRQHandler: 1052 .LVL141: 1053 .LFB340: 662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @} 666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2 669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief EXTI IO functions. 670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * 671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** @verbatim 672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** =============================================================================== 673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** ##### IO operation functions ##### 674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** =============================================================================== 675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** @endverbatim 677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @{ 678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 34 679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Handle EXTI interrupt request. 682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param hexti Exti handle. 683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @retval none. 684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti) 686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 1054 .loc 1 686 1 is_stmt 1 view -0 1055 .cfi_startproc 1056 @ args = 0, pretend = 0, frame = 0 1057 @ frame_needed = 0, uses_anonymous_args = 0 1058 .loc 1 686 1 is_stmt 0 view .LVU401 1059 0000 10B5 push {r4, lr} 1060 .cfi_def_cfa_offset 8 1061 .cfi_offset 4, -8 1062 .cfi_offset 14, -4 687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 1063 .loc 1 687 3 is_stmt 1 view .LVU402 688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t regval; 1064 .loc 1 688 3 view .LVU403 689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t maskline; 1065 .loc 1 689 3 view .LVU404 690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t offset; 1066 .loc 1 690 3 view .LVU405 691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Compute line register offset and line mask */ 693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT); 1067 .loc 1 693 3 view .LVU406 1068 .loc 1 693 19 is_stmt 0 view .LVU407 1069 0002 0368 ldr r3, [r0] 1070 .loc 1 693 10 view .LVU408 1071 0004 C3F30142 ubfx r2, r3, #16, #2 1072 .LVL142: 694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** maskline = (1UL << (hexti->Line & EXTI_PIN_MASK)); 1073 .loc 1 694 3 is_stmt 1 view .LVU409 1074 .loc 1 694 35 is_stmt 0 view .LVU410 1075 0008 03F01F03 and r3, r3, #31 1076 .loc 1 694 12 view .LVU411 1077 000c 0121 movs r1, #1 1078 000e 9940 lsls r1, r1, r3 1079 .LVL143: 695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #if defined(DUAL_CORE) 697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if (HAL_GetCurrentCPUID() == CM7_CPUID) 698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get pending register address */ 700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->PR1 + (EXTI_MODE_OFFSET * offset)); 701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else /* Cortex-M4*/ 703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get pending register address */ 705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->C2PR1 + (EXTI_MODE_OFFSET * offset)); 706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #else 708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->PR1 + (EXTI_MODE_OFFSET * offset)); 1080 .loc 1 708 3 is_stmt 1 view .LVU412 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 35 1081 .loc 1 708 13 is_stmt 0 view .LVU413 1082 0010 1301 lsls r3, r2, #4 1083 .loc 1 708 11 view .LVU414 1084 0012 044A ldr r2, .L70 1085 .LVL144: 709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #endif /* DUAL_CORE */ 710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get pending bit */ 712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = (*regaddr & maskline); 1086 .loc 1 712 3 is_stmt 1 view .LVU415 1087 .loc 1 712 13 is_stmt 0 view .LVU416 1088 0014 9C58 ldr r4, [r3, r2] 1089 .LVL145: 713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if (regval != 0x00U) 1090 .loc 1 714 3 is_stmt 1 view .LVU417 1091 .loc 1 714 6 is_stmt 0 view .LVU418 1092 0016 0C42 tst r4, r1 1093 0018 03D0 beq .L67 715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Clear pending bit */ 717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = maskline; 1094 .loc 1 717 5 is_stmt 1 view .LVU419 1095 .loc 1 717 14 is_stmt 0 view .LVU420 1096 001a 9950 str r1, [r3, r2] 1097 .LVL146: 718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Call callback */ 720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if (hexti->PendingCallback != NULL) 1098 .loc 1 720 5 is_stmt 1 view .LVU421 1099 .loc 1 720 14 is_stmt 0 view .LVU422 1100 001c 4368 ldr r3, [r0, #4] 1101 .LVL147: 1102 .loc 1 720 8 view .LVU423 1103 001e 03B1 cbz r3, .L67 721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** hexti->PendingCallback(); 1104 .loc 1 722 7 is_stmt 1 view .LVU424 1105 0020 9847 blx r3 1106 .LVL148: 1107 .L67: 723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 1108 .loc 1 725 1 is_stmt 0 view .LVU425 1109 0022 10BD pop {r4, pc} 1110 .L71: 1111 .loc 1 725 1 view .LVU426 1112 .align 2 1113 .L70: 1114 0024 88000058 .word 1476395144 1115 .cfi_endproc 1116 .LFE340: 1118 .section .text.HAL_EXTI_GetPending,"ax",%progbits 1119 .align 1 1120 .global HAL_EXTI_GetPending 1121 .syntax unified ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 36 1122 .thumb 1123 .thumb_func 1125 HAL_EXTI_GetPending: 1126 .LVL149: 1127 .LFB341: 726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line. 730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param hexti Exti handle. 731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked. 732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * This parameter can be one of the following values: 733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING 734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * This parameter is kept for compatibility with other series. 735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0. 736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge) 738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 1128 .loc 1 738 1 is_stmt 1 view -0 1129 .cfi_startproc 1130 @ args = 0, pretend = 0, frame = 0 1131 @ frame_needed = 0, uses_anonymous_args = 0 1132 @ link register save eliminated. 739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 1133 .loc 1 739 3 view .LVU428 740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t regval; 1134 .loc 1 740 3 view .LVU429 741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t linepos; 1135 .loc 1 741 3 view .LVU430 742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t maskline; 1136 .loc 1 742 3 view .LVU431 743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t offset; 1137 .loc 1 743 3 view .LVU432 744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Prevent unused argument(s) compilation warning */ 746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** UNUSED(Edge); 1138 .loc 1 746 3 view .LVU433 747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check parameters */ 749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 1139 .loc 1 749 3 view .LVU434 750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); 1140 .loc 1 750 3 view .LVU435 751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge)); 1141 .loc 1 751 3 view .LVU436 752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* compute line register offset and line mask */ 754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT); 1142 .loc 1 754 3 view .LVU437 1143 .loc 1 754 19 is_stmt 0 view .LVU438 1144 0000 0368 ldr r3, [r0] 1145 .loc 1 754 10 view .LVU439 1146 0002 C3F30141 ubfx r1, r3, #16, #2 1147 .LVL150: 755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK); 1148 .loc 1 755 3 is_stmt 1 view .LVU440 1149 .loc 1 755 11 is_stmt 0 view .LVU441 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 37 1150 0006 03F01F03 and r3, r3, #31 1151 .LVL151: 756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** maskline = (1UL << linepos); 1152 .loc 1 756 3 is_stmt 1 view .LVU442 1153 .loc 1 756 12 is_stmt 0 view .LVU443 1154 000a 0122 movs r2, #1 1155 000c 9A40 lsls r2, r2, r3 1156 .LVL152: 757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #if defined(DUAL_CORE) 759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if (HAL_GetCurrentCPUID() == CM7_CPUID) 760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get pending register address */ 762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->PR1 + (EXTI_MODE_OFFSET * offset)); 763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else /* Cortex-M4 */ 765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get pending register address */ 767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->C2PR1 + (EXTI_MODE_OFFSET * offset)); 768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #else 770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->PR1 + (EXTI_MODE_OFFSET * offset)); 1157 .loc 1 770 3 is_stmt 1 view .LVU444 1158 .loc 1 770 13 is_stmt 0 view .LVU445 1159 000e 0901 lsls r1, r1, #4 1160 .LVL153: 1161 .loc 1 770 11 view .LVU446 1162 0010 0248 ldr r0, .L73 1163 .LVL154: 771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #endif /* DUAL_CORE */ 772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* return 1 if bit is set else 0 */ 774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regval = ((*regaddr & maskline) >> linepos); 1164 .loc 1 774 3 is_stmt 1 view .LVU447 1165 .loc 1 774 14 is_stmt 0 view .LVU448 1166 0012 0858 ldr r0, [r1, r0] 1167 .LVL155: 1168 .loc 1 774 23 view .LVU449 1169 0014 1040 ands r0, r0, r2 1170 .LVL156: 775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** return regval; 1171 .loc 1 775 3 is_stmt 1 view .LVU450 776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 1172 .loc 1 776 1 is_stmt 0 view .LVU451 1173 0016 D840 lsrs r0, r0, r3 1174 .LVL157: 1175 .loc 1 776 1 view .LVU452 1176 0018 7047 bx lr 1177 .L74: 1178 001a 00BF .align 2 1179 .L73: 1180 001c 88000058 .word 1476395144 1181 .cfi_endproc 1182 .LFE341: 1184 .section .text.HAL_EXTI_ClearPending,"ax",%progbits 1185 .align 1 1186 .global HAL_EXTI_ClearPending ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 38 1187 .syntax unified 1188 .thumb 1189 .thumb_func 1191 HAL_EXTI_ClearPending: 1192 .LVL158: 1193 .LFB342: 777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line. 781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param hexti Exti handle. 782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear. 783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * This parameter can be one of the following values: 784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING 785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * This parameter is kept for compatibility with other series. 786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @retval None. 787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge) 789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 1194 .loc 1 789 1 is_stmt 1 view -0 1195 .cfi_startproc 1196 @ args = 0, pretend = 0, frame = 0 1197 @ frame_needed = 0, uses_anonymous_args = 0 1198 @ link register save eliminated. 790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 1199 .loc 1 790 3 view .LVU454 791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t maskline; 1200 .loc 1 791 3 view .LVU455 792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t offset; 1201 .loc 1 792 3 view .LVU456 793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Prevent unused argument(s) compilation warning */ 795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** UNUSED(Edge); 1202 .loc 1 795 3 view .LVU457 796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check parameters */ 798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 1203 .loc 1 798 3 view .LVU458 799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); 1204 .loc 1 799 3 view .LVU459 800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge)); 1205 .loc 1 800 3 view .LVU460 801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* compute line register offset and line mask */ 803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT); 1206 .loc 1 803 3 view .LVU461 1207 .loc 1 803 19 is_stmt 0 view .LVU462 1208 0000 0368 ldr r3, [r0] 1209 .loc 1 803 10 view .LVU463 1210 0002 C3F30142 ubfx r2, r3, #16, #2 1211 .LVL159: 804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** maskline = (1UL << (hexti->Line & EXTI_PIN_MASK)); 1212 .loc 1 804 3 is_stmt 1 view .LVU464 1213 .loc 1 804 35 is_stmt 0 view .LVU465 1214 0006 03F01F03 and r3, r3, #31 1215 .loc 1 804 12 view .LVU466 1216 000a 0121 movs r1, #1 ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 39 1217 .LVL160: 1218 .loc 1 804 12 view .LVU467 1219 000c 9940 lsls r1, r1, r3 1220 .LVL161: 805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #if defined(DUAL_CORE) 807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** if (HAL_GetCurrentCPUID() == CM7_CPUID) 808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get pending register address */ 810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->PR1 + (EXTI_MODE_OFFSET * offset)); 811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** else /* Cortex-M4 */ 813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Get pending register address */ 815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->C2PR1 + (EXTI_MODE_OFFSET * offset)); 816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #else 818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->PR1 + (EXTI_MODE_OFFSET * offset)); 1221 .loc 1 818 3 is_stmt 1 view .LVU468 1222 .loc 1 818 13 is_stmt 0 view .LVU469 1223 000e 1301 lsls r3, r2, #4 1224 .loc 1 818 11 view .LVU470 1225 0010 014A ldr r2, .L76 1226 .LVL162: 819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** #endif /* DUAL_CORE */ 820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Clear Pending bit */ 822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = maskline; 1227 .loc 1 822 3 is_stmt 1 view .LVU471 1228 .loc 1 822 12 is_stmt 0 view .LVU472 1229 0012 9950 str r1, [r3, r2] 1230 .LVL163: 823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 1231 .loc 1 823 1 view .LVU473 1232 0014 7047 bx lr 1233 .L77: 1234 0016 00BF .align 2 1235 .L76: 1236 0018 88000058 .word 1476395144 1237 .cfi_endproc 1238 .LFE342: 1240 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits 1241 .align 1 1242 .global HAL_EXTI_GenerateSWI 1243 .syntax unified 1244 .thumb 1245 .thumb_func 1247 HAL_EXTI_GenerateSWI: 1248 .LVL164: 1249 .LFB343: 824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /** 826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line. 827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @param hexti Exti handle. 828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** * @retval None. 829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** */ 830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti) ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 40 831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** { 1250 .loc 1 831 1 is_stmt 1 view -0 1251 .cfi_startproc 1252 @ args = 0, pretend = 0, frame = 0 1253 @ frame_needed = 0, uses_anonymous_args = 0 1254 @ link register save eliminated. 832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** __IO uint32_t *regaddr; 1255 .loc 1 832 3 view .LVU475 833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t maskline; 1256 .loc 1 833 3 view .LVU476 834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** uint32_t offset; 1257 .loc 1 834 3 view .LVU477 835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* Check parameters */ 837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 1258 .loc 1 837 3 view .LVU478 838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); 1259 .loc 1 838 3 view .LVU479 839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** /* compute line register offset and line mask */ 841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT); 1260 .loc 1 841 3 view .LVU480 1261 .loc 1 841 19 is_stmt 0 view .LVU481 1262 0000 0368 ldr r3, [r0] 1263 .loc 1 841 10 view .LVU482 1264 0002 C3F30142 ubfx r2, r3, #16, #2 1265 .LVL165: 842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** maskline = (1UL << (hexti->Line & EXTI_PIN_MASK)); 1266 .loc 1 842 3 is_stmt 1 view .LVU483 1267 .loc 1 842 35 is_stmt 0 view .LVU484 1268 0006 03F01F03 and r3, r3, #31 1269 .loc 1 842 12 view .LVU485 1270 000a 0121 movs r1, #1 1271 000c 9940 lsls r1, r1, r3 1272 .LVL166: 843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** 844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** regaddr = (__IO uint32_t *)(&EXTI->SWIER1 + (EXTI_CONFIG_OFFSET * offset)); 1273 .loc 1 844 3 is_stmt 1 view .LVU486 1274 .loc 1 844 13 is_stmt 0 view .LVU487 1275 000e 5301 lsls r3, r2, #5 1276 .loc 1 844 11 view .LVU488 1277 0010 014A ldr r2, .L79 1278 .LVL167: 845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** *regaddr = maskline; 1279 .loc 1 845 3 is_stmt 1 view .LVU489 1280 .loc 1 845 12 is_stmt 0 view .LVU490 1281 0012 9950 str r1, [r3, r2] 1282 .LVL168: 846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c **** } 1283 .loc 1 846 1 view .LVU491 1284 0014 7047 bx lr 1285 .L80: 1286 0016 00BF .align 2 1287 .L79: 1288 0018 08000058 .word 1476395016 1289 .cfi_endproc 1290 .LFE343: ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 41 1292 .text 1293 .Letext0: 1294 .file 2 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to 1295 .file 3 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to 1296 .file 4 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xx.h" 1297 .file 5 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h" 1298 .file 6 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_exti.h" ARM GAS C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s page 42 DEFINED SYMBOLS *ABS*:00000000 stm32h7xx_hal_exti.c C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:20 .text.HAL_EXTI_SetConfigLine:00000000 $t C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:26 .text.HAL_EXTI_SetConfigLine:00000000 HAL_EXTI_SetConfigLine C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:384 .text.HAL_EXTI_SetConfigLine:00000124 $d C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:395 .text.HAL_EXTI_GetConfigLine:00000000 $t C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:401 .text.HAL_EXTI_GetConfigLine:00000000 HAL_EXTI_GetConfigLine C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:695 .text.HAL_EXTI_GetConfigLine:000000ec $d C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:706 .text.HAL_EXTI_ClearConfigLine:00000000 $t C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:712 .text.HAL_EXTI_ClearConfigLine:00000000 HAL_EXTI_ClearConfigLine C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:950 .text.HAL_EXTI_ClearConfigLine:000000d4 $d C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:960 .text.HAL_EXTI_RegisterCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:966 .text.HAL_EXTI_RegisterCallback:00000000 HAL_EXTI_RegisterCallback C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1007 .text.HAL_EXTI_GetHandle:00000000 $t C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1013 .text.HAL_EXTI_GetHandle:00000000 HAL_EXTI_GetHandle C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1045 .text.HAL_EXTI_IRQHandler:00000000 $t C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1051 .text.HAL_EXTI_IRQHandler:00000000 HAL_EXTI_IRQHandler C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1114 .text.HAL_EXTI_IRQHandler:00000024 $d C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1119 .text.HAL_EXTI_GetPending:00000000 $t C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1125 .text.HAL_EXTI_GetPending:00000000 HAL_EXTI_GetPending C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1180 .text.HAL_EXTI_GetPending:0000001c $d C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1185 .text.HAL_EXTI_ClearPending:00000000 $t C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1191 .text.HAL_EXTI_ClearPending:00000000 HAL_EXTI_ClearPending C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1236 .text.HAL_EXTI_ClearPending:00000018 $d C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1241 .text.HAL_EXTI_GenerateSWI:00000000 $t C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1247 .text.HAL_EXTI_GenerateSWI:00000000 HAL_EXTI_GenerateSWI C:\Users\lenex\AppData\Local\Temp\ccxboqrb.s:1288 .text.HAL_EXTI_GenerateSWI:00000018 $d NO UNDEFINED SYMBOLS