ARM GAS /tmp/ccFacv4Y.s page 1 1 .cpu cortex-m0 2 .arch armv6s-m 3 .fpu softvfp 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 1 11 .eabi_attribute 34, 0 12 .eabi_attribute 18, 4 13 .file "stm32f0xx_hal_exti.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c" 18 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits 19 .align 1 20 .global HAL_EXTI_SetConfigLine 21 .syntax unified 22 .code 16 23 .thumb_func 25 HAL_EXTI_SetConfigLine: 26 .LVL0: 27 .LFB40: 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ****************************************************************************** 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @file stm32f0xx_hal_exti.c 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @author MCD Application Team 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief EXTI HAL module driver. 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral: 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * + IO operation functions 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ****************************************************************************** 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @attention 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * Copyright (c) 2019 STMicroelectronics. 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * All rights reserved. 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This software is licensed under terms that can be found in the LICENSE file 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * in the root directory of this software component. 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ****************************************************************************** 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ============================================================================== 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### EXTI Peripheral features ##### 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ============================================================================== 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** [..] 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Each Exti line can be configured within this driver. 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Interrupt 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Event ARM GAS /tmp/ccFacv4Y.s page 2 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Both of them 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Rising 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Falling 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Both of them 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** occurs: 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Rising edge pending interrupt 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Falling 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** be selected through multiplexer. 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### How to use this driver ##### 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ============================================================================== 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** [..] 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine(). 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_ConfigTypeDef structure. 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_ConfigTypeDef structure. 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure. 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel" 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** member from GPIO_InitTypeDef structure. 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_EXTI_GetConfigLine(). 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as parameter. 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter. 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_GetConfigLine(). 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as parameter. 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback(). 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as first parameter. 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide which callback will be registered using one value from 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_CallbackIDTypeDef. 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide callback function pointer. 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending(). 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_GetPending(). 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI(). 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** #include "stm32f0xx_hal.h" 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup STM32F0xx_HAL_Driver ARM GAS /tmp/ccFacv4Y.s page 3 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule: 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * of bounds [0,3] in following API : 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_SetConfigLine 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_GetConfigLine 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @} 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Configuration functions 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** =============================================================================== 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### Configuration functions ##### 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** =============================================================================== 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line. 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set. 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 28 .loc 1 143 1 view -0 29 .cfi_startproc ARM GAS /tmp/ccFacv4Y.s page 4 30 @ args = 0, pretend = 0, frame = 0 31 @ frame_needed = 0, uses_anonymous_args = 0 32 .loc 1 143 1 is_stmt 0 view .LVU1 33 0000 70B5 push {r4, r5, r6, lr} 34 .cfi_def_cfa_offset 16 35 .cfi_offset 4, -16 36 .cfi_offset 5, -12 37 .cfi_offset 6, -8 38 .cfi_offset 14, -4 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; 39 .loc 1 144 3 is_stmt 1 view .LVU2 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos; 40 .loc 1 145 3 view .LVU3 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; 41 .loc 1 146 3 view .LVU4 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL)) 42 .loc 1 149 3 view .LVU5 43 .loc 1 149 6 is_stmt 0 view .LVU6 44 0002 0028 cmp r0, #0 45 0004 53D0 beq .L11 46 .loc 1 149 23 discriminator 1 view .LVU7 47 0006 0029 cmp r1, #0 48 0008 53D0 beq .L12 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR; 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line)); 49 .loc 1 155 3 is_stmt 1 view .LVU8 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode)); 50 .loc 1 156 3 view .LVU9 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Assign line number to handle */ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->Line = pExtiConfig->Line; 51 .loc 1 159 3 view .LVU10 52 .loc 1 159 28 is_stmt 0 view .LVU11 53 000a 0C68 ldr r4, [r1] 54 .loc 1 159 15 view .LVU12 55 000c 0460 str r4, [r0] 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK); 56 .loc 1 162 3 is_stmt 1 view .LVU13 57 .loc 1 162 11 is_stmt 0 view .LVU14 58 000e 1F23 movs r3, #31 59 0010 2340 ands r3, r4 60 .LVL1: 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos); 61 .loc 1 163 3 is_stmt 1 view .LVU15 62 .loc 1 163 12 is_stmt 0 view .LVU16 63 0012 0122 movs r2, #1 64 0014 9A40 lsls r2, r2, r3 65 .LVL2: 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ARM GAS /tmp/ccFacv4Y.s page 5 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure triggers for configurable lines */ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u) 66 .loc 1 166 3 is_stmt 1 view .LVU17 67 .loc 1 166 6 is_stmt 0 view .LVU18 68 0016 A001 lsls r0, r4, #6 69 0018 13D5 bpl .L3 70 .LVL3: 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger)); 71 .loc 1 168 5 is_stmt 1 view .LVU19 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure rising trigger */ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u) 72 .loc 1 172 5 view .LVU20 73 .loc 1 172 21 is_stmt 0 view .LVU21 74 001a 8868 ldr r0, [r1, #8] 75 .loc 1 172 8 view .LVU22 76 001c C007 lsls r0, r0, #31 77 001e 20D5 bpl .L4 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR |= maskline; 78 .loc 1 174 7 is_stmt 1 view .LVU23 79 .loc 1 174 11 is_stmt 0 view .LVU24 80 0020 254D ldr r5, .L15 81 0022 A868 ldr r0, [r5, #8] 82 .loc 1 174 18 view .LVU25 83 0024 1043 orrs r0, r2 84 0026 A860 str r0, [r5, #8] 85 .L5: 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR &= ~maskline; 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure falling trigger */ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u) 86 .loc 1 183 5 is_stmt 1 view .LVU26 87 .loc 1 183 21 is_stmt 0 view .LVU27 88 0028 8868 ldr r0, [r1, #8] 89 .loc 1 183 8 view .LVU28 90 002a 8007 lsls r0, r0, #30 91 002c 1ED5 bpl .L6 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR |= maskline; 92 .loc 1 185 7 is_stmt 1 view .LVU29 93 .loc 1 185 11 is_stmt 0 view .LVU30 94 002e 224D ldr r5, .L15 95 0030 E868 ldr r0, [r5, #12] 96 .loc 1 185 18 view .LVU31 97 0032 1043 orrs r0, r2 98 0034 E860 str r0, [r5, #12] 99 .L7: 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else ARM GAS /tmp/ccFacv4Y.s page 6 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR &= ~maskline; 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO) 100 .loc 1 194 5 is_stmt 1 view .LVU32 101 .loc 1 194 21 is_stmt 0 view .LVU33 102 0036 0868 ldr r0, [r1] 103 .loc 1 194 28 view .LVU34 104 0038 C025 movs r5, #192 105 003a ED04 lsls r5, r5, #19 106 003c 2840 ands r0, r5 107 .loc 1 194 8 view .LVU35 108 003e A842 cmp r0, r5 109 0040 19D0 beq .L14 110 .LVL4: 111 .L3: 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel)); 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u]; 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure interrupt mode : read current mode */ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u) 112 .loc 1 208 3 is_stmt 1 view .LVU36 113 .loc 1 208 19 is_stmt 0 view .LVU37 114 0042 4B68 ldr r3, [r1, #4] 115 .loc 1 208 6 view .LVU38 116 0044 DB07 lsls r3, r3, #31 117 0046 27D5 bpl .L8 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR |= maskline; 118 .loc 1 210 5 is_stmt 1 view .LVU39 119 .loc 1 210 9 is_stmt 0 view .LVU40 120 0048 1B48 ldr r0, .L15 121 004a 0368 ldr r3, [r0] 122 .loc 1 210 15 view .LVU41 123 004c 1343 orrs r3, r2 124 004e 0360 str r3, [r0] 125 .L9: 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR &= ~maskline; 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure event mode : read current mode */ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */ ARM GAS /tmp/ccFacv4Y.s page 7 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u) 126 .loc 1 219 3 is_stmt 1 view .LVU42 127 .loc 1 219 19 is_stmt 0 view .LVU43 128 0050 4B68 ldr r3, [r1, #4] 129 .loc 1 219 6 view .LVU44 130 0052 9B07 lsls r3, r3, #30 131 0054 25D5 bpl .L10 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR |= maskline; 132 .loc 1 221 5 is_stmt 1 view .LVU45 133 .loc 1 221 9 is_stmt 0 view .LVU46 134 0056 1849 ldr r1, .L15 135 .LVL5: 136 .loc 1 221 9 view .LVU47 137 0058 4B68 ldr r3, [r1, #4] 138 .loc 1 221 15 view .LVU48 139 005a 1343 orrs r3, r2 140 005c 4B60 str r3, [r1, #4] 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR &= ~maskline; 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK; 141 .loc 1 228 10 view .LVU49 142 005e 0020 movs r0, #0 143 .LVL6: 144 .L2: 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 145 .loc 1 229 1 view .LVU50 146 @ sp needed 147 0060 70BD pop {r4, r5, r6, pc} 148 .LVL7: 149 .L4: 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 150 .loc 1 178 7 is_stmt 1 view .LVU51 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 151 .loc 1 178 11 is_stmt 0 view .LVU52 152 0062 154D ldr r5, .L15 153 0064 A868 ldr r0, [r5, #8] 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 154 .loc 1 178 18 view .LVU53 155 0066 9043 bics r0, r2 156 0068 A860 str r0, [r5, #8] 157 006a DDE7 b .L5 158 .L6: 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 159 .loc 1 189 7 is_stmt 1 view .LVU54 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 160 .loc 1 189 11 is_stmt 0 view .LVU55 161 006c 124D ldr r5, .L15 162 006e E868 ldr r0, [r5, #12] 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 163 .loc 1 189 18 view .LVU56 164 0070 9043 bics r0, r2 165 0072 E860 str r0, [r5, #12] ARM GAS /tmp/ccFacv4Y.s page 8 166 0074 DFE7 b .L7 167 .L14: 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 168 .loc 1 196 7 is_stmt 1 view .LVU57 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 169 .loc 1 197 7 view .LVU58 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 170 .loc 1 199 7 view .LVU59 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 171 .loc 1 199 39 is_stmt 0 view .LVU60 172 0076 9B08 lsrs r3, r3, #2 173 .LVL8: 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 174 .loc 1 199 14 view .LVU61 175 0078 104D ldr r5, .L15+4 176 007a 0233 adds r3, r3, #2 177 007c 9B00 lsls r3, r3, #2 178 007e 5E59 ldr r6, [r3, r5] 179 .LVL9: 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 180 .loc 1 200 7 is_stmt 1 view .LVU62 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 181 .loc 1 200 80 is_stmt 0 view .LVU63 182 0080 0320 movs r0, #3 183 0082 2040 ands r0, r4 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 184 .loc 1 200 69 view .LVU64 185 0084 8000 lsls r0, r0, #2 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 186 .loc 1 200 40 view .LVU65 187 0086 0F24 movs r4, #15 188 .LVL10: 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 189 .loc 1 200 40 view .LVU66 190 0088 8440 lsls r4, r4, r0 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 191 .loc 1 200 14 view .LVU67 192 008a A643 bics r6, r4 193 .LVL11: 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 194 .loc 1 201 7 is_stmt 1 view .LVU68 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 195 .loc 1 201 29 is_stmt 0 view .LVU69 196 008c CC68 ldr r4, [r1, #12] 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 197 .loc 1 201 39 view .LVU70 198 008e 8440 lsls r4, r4, r0 199 0090 2000 movs r0, r4 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 200 .loc 1 201 14 view .LVU71 201 0092 3043 orrs r0, r6 202 .LVL12: 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 203 .loc 1 202 7 is_stmt 1 view .LVU72 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 204 .loc 1 202 37 is_stmt 0 view .LVU73 205 0094 5851 str r0, [r3, r5] ARM GAS /tmp/ccFacv4Y.s page 9 206 0096 D4E7 b .L3 207 .LVL13: 208 .L8: 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 209 .loc 1 214 5 is_stmt 1 view .LVU74 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 210 .loc 1 214 9 is_stmt 0 view .LVU75 211 0098 0748 ldr r0, .L15 212 009a 0368 ldr r3, [r0] 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 213 .loc 1 214 15 view .LVU76 214 009c 9343 bics r3, r2 215 009e 0360 str r3, [r0] 216 00a0 D6E7 b .L9 217 .L10: 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 218 .loc 1 225 5 is_stmt 1 view .LVU77 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 219 .loc 1 225 9 is_stmt 0 view .LVU78 220 00a2 0549 ldr r1, .L15 221 .LVL14: 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 222 .loc 1 225 9 view .LVU79 223 00a4 4B68 ldr r3, [r1, #4] 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 224 .loc 1 225 15 view .LVU80 225 00a6 9343 bics r3, r2 226 00a8 4B60 str r3, [r1, #4] 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 227 .loc 1 228 10 view .LVU81 228 00aa 0020 movs r0, #0 229 00ac D8E7 b .L2 230 .LVL15: 231 .L11: 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 232 .loc 1 151 12 view .LVU82 233 00ae 0120 movs r0, #1 234 .LVL16: 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 235 .loc 1 151 12 view .LVU83 236 00b0 D6E7 b .L2 237 .LVL17: 238 .L12: 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 239 .loc 1 151 12 view .LVU84 240 00b2 0120 movs r0, #1 241 .LVL18: 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 242 .loc 1 151 12 view .LVU85 243 00b4 D4E7 b .L2 244 .L16: 245 00b6 C046 .align 2 246 .L15: 247 00b8 00040140 .word 1073808384 248 00bc 00000140 .word 1073807360 249 .cfi_endproc 250 .LFE40: ARM GAS /tmp/ccFacv4Y.s page 10 252 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits 253 .align 1 254 .global HAL_EXTI_GetConfigLine 255 .syntax unified 256 .code 16 257 .thumb_func 259 HAL_EXTI_GetConfigLine: 260 .LVL19: 261 .LFB41: 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line. 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration. 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 262 .loc 1 238 1 is_stmt 1 view -0 263 .cfi_startproc 264 @ args = 0, pretend = 0, frame = 0 265 @ frame_needed = 0, uses_anonymous_args = 0 266 .loc 1 238 1 is_stmt 0 view .LVU87 267 0000 30B5 push {r4, r5, lr} 268 .cfi_def_cfa_offset 12 269 .cfi_offset 4, -12 270 .cfi_offset 5, -8 271 .cfi_offset 14, -4 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; 272 .loc 1 239 3 is_stmt 1 view .LVU88 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos; 273 .loc 1 240 3 view .LVU89 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; 274 .loc 1 241 3 view .LVU90 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL)) 275 .loc 1 244 3 view .LVU91 276 .loc 1 244 6 is_stmt 0 view .LVU92 277 0002 0028 cmp r0, #0 278 0004 41D0 beq .L24 279 .loc 1 244 23 discriminator 1 view .LVU93 280 0006 0029 cmp r1, #0 281 0008 41D0 beq .L25 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR; 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameter */ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 282 .loc 1 250 3 is_stmt 1 view .LVU94 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Store handle line number to configuration structure */ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Line = hexti->Line; 283 .loc 1 253 3 view .LVU95 284 .loc 1 253 28 is_stmt 0 view .LVU96 285 000a 0268 ldr r2, [r0] ARM GAS /tmp/ccFacv4Y.s page 11 286 .loc 1 253 21 view .LVU97 287 000c 0A60 str r2, [r1] 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK); 288 .loc 1 256 3 is_stmt 1 view .LVU98 289 .loc 1 256 11 is_stmt 0 view .LVU99 290 000e 1F24 movs r4, #31 291 0010 1440 ands r4, r2 292 .LVL20: 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos); 293 .loc 1 257 3 is_stmt 1 view .LVU100 294 .loc 1 257 12 is_stmt 0 view .LVU101 295 0012 0123 movs r3, #1 296 0014 A340 lsls r3, r3, r4 297 .LVL21: 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 1] Get core mode : interrupt */ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if selected line is enable */ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->IMR & maskline) != 0x00u) 298 .loc 1 262 3 is_stmt 1 view .LVU102 299 .loc 1 262 12 is_stmt 0 view .LVU103 300 0016 2048 ldr r0, .L29 301 .LVL22: 302 .loc 1 262 12 view .LVU104 303 0018 0068 ldr r0, [r0] 304 .loc 1 262 6 view .LVU105 305 001a 0342 tst r3, r0 306 001c 24D0 beq .L19 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT; 307 .loc 1 264 5 is_stmt 1 view .LVU106 308 .loc 1 264 23 is_stmt 0 view .LVU107 309 001e 0120 movs r0, #1 310 0020 4860 str r0, [r1, #4] 311 .L20: 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE; 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get event mode */ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if selected line is enable */ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->EMR & maskline) != 0x00u) 312 .loc 1 273 3 is_stmt 1 view .LVU108 313 .loc 1 273 12 is_stmt 0 view .LVU109 314 0022 1D48 ldr r0, .L29 315 0024 4068 ldr r0, [r0, #4] 316 .loc 1 273 6 view .LVU110 317 0026 0342 tst r3, r0 318 0028 03D0 beq .L21 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT; 319 .loc 1 275 5 is_stmt 1 view .LVU111 320 .loc 1 275 16 is_stmt 0 view .LVU112 ARM GAS /tmp/ccFacv4Y.s page 12 321 002a 4868 ldr r0, [r1, #4] 322 .loc 1 275 23 view .LVU113 323 002c 0225 movs r5, #2 324 002e 2843 orrs r0, r5 325 0030 4860 str r0, [r1, #4] 326 .L21: 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get default Trigger and GPIOSel configuration */ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE; 327 .loc 1 279 3 is_stmt 1 view .LVU114 328 .loc 1 279 24 is_stmt 0 view .LVU115 329 0032 0020 movs r0, #0 330 0034 8860 str r0, [r1, #8] 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u; 331 .loc 1 280 3 is_stmt 1 view .LVU116 332 .loc 1 280 24 is_stmt 0 view .LVU117 333 0036 C860 str r0, [r1, #12] 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u) 334 .loc 1 283 3 is_stmt 1 view .LVU118 335 .loc 1 283 6 is_stmt 0 view .LVU119 336 0038 9001 lsls r0, r2, #6 337 003a 2AD5 bpl .L26 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if configuration of selected line is enable */ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->RTSR & maskline) != 0x00u) 338 .loc 1 286 5 is_stmt 1 view .LVU120 339 .loc 1 286 14 is_stmt 0 view .LVU121 340 003c 1648 ldr r0, .L29 341 003e 8068 ldr r0, [r0, #8] 342 .loc 1 286 8 view .LVU122 343 0040 0342 tst r3, r0 344 0042 01D0 beq .L22 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING; 345 .loc 1 288 7 is_stmt 1 view .LVU123 346 .loc 1 288 28 is_stmt 0 view .LVU124 347 0044 0120 movs r0, #1 348 0046 8860 str r0, [r1, #8] 349 .L22: 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get falling configuration */ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if configuration of selected line is enable */ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->FTSR & maskline) != 0x00u) 350 .loc 1 293 5 is_stmt 1 view .LVU125 351 .loc 1 293 14 is_stmt 0 view .LVU126 352 0048 1348 ldr r0, .L29 353 004a C068 ldr r0, [r0, #12] 354 .loc 1 293 8 view .LVU127 355 004c 0342 tst r3, r0 356 004e 03D0 beq .L23 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING; 357 .loc 1 295 7 is_stmt 1 view .LVU128 ARM GAS /tmp/ccFacv4Y.s page 13 358 .loc 1 295 18 is_stmt 0 view .LVU129 359 0050 8B68 ldr r3, [r1, #8] 360 .LVL23: 361 .loc 1 295 28 view .LVU130 362 0052 0220 movs r0, #2 363 0054 0343 orrs r3, r0 364 0056 8B60 str r3, [r1, #8] 365 .L23: 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO) 366 .loc 1 299 5 is_stmt 1 view .LVU131 367 .loc 1 299 28 is_stmt 0 view .LVU132 368 0058 C023 movs r3, #192 369 005a DB04 lsls r3, r3, #19 370 005c 1000 movs r0, r2 371 005e 1840 ands r0, r3 372 .loc 1 299 8 view .LVU133 373 0060 9842 cmp r0, r3 374 0062 04D0 beq .L28 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u]; 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK; 375 .loc 1 308 10 view .LVU134 376 0064 0020 movs r0, #0 377 0066 15E0 b .L18 378 .LVL24: 379 .L19: 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 380 .loc 1 268 5 is_stmt 1 view .LVU135 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 381 .loc 1 268 23 is_stmt 0 view .LVU136 382 0068 0020 movs r0, #0 383 006a 4860 str r0, [r1, #4] 384 006c D9E7 b .L20 385 .LVL25: 386 .L28: 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 387 .loc 1 301 7 is_stmt 1 view .LVU137 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 388 .loc 1 303 7 view .LVU138 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 389 .loc 1 303 39 is_stmt 0 view .LVU139 390 006e A308 lsrs r3, r4, #2 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX 391 .loc 1 303 14 view .LVU140 392 0070 0233 adds r3, r3, #2 393 0072 9B00 lsls r3, r3, #2 394 0074 0948 ldr r0, .L29+4 395 0076 1858 ldr r0, [r3, r0] ARM GAS /tmp/ccFacv4Y.s page 14 396 .LVL26: 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 397 .loc 1 304 7 is_stmt 1 view .LVU141 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 398 .loc 1 304 78 is_stmt 0 view .LVU142 399 0078 0323 movs r3, #3 400 007a 1340 ands r3, r2 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 401 .loc 1 304 67 view .LVU143 402 007c 9B00 lsls r3, r3, #2 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 403 .loc 1 304 38 view .LVU144 404 007e D840 lsrs r0, r0, r3 405 .LVL27: 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 406 .loc 1 304 89 view .LVU145 407 0080 0F23 movs r3, #15 408 0082 0340 ands r3, r0 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 409 .loc 1 304 28 view .LVU146 410 0084 CB60 str r3, [r1, #12] 411 .loc 1 308 10 view .LVU147 412 0086 0020 movs r0, #0 413 0088 04E0 b .L18 414 .LVL28: 415 .L24: 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 416 .loc 1 246 12 view .LVU148 417 008a 0120 movs r0, #1 418 .LVL29: 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 419 .loc 1 246 12 view .LVU149 420 008c 02E0 b .L18 421 .LVL30: 422 .L25: 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 423 .loc 1 246 12 view .LVU150 424 008e 0120 movs r0, #1 425 .LVL31: 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 426 .loc 1 246 12 view .LVU151 427 0090 00E0 b .L18 428 .LVL32: 429 .L26: 430 .loc 1 308 10 view .LVU152 431 0092 0020 movs r0, #0 432 .LVL33: 433 .L18: 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 434 .loc 1 309 1 view .LVU153 435 @ sp needed 436 0094 30BD pop {r4, r5, pc} 437 .L30: 438 0096 C046 .align 2 439 .L29: 440 0098 00040140 .word 1073808384 441 009c 00000140 .word 1073807360 ARM GAS /tmp/ccFacv4Y.s page 15 442 .cfi_endproc 443 .LFE41: 445 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits 446 .align 1 447 .global HAL_EXTI_ClearConfigLine 448 .syntax unified 449 .code 16 450 .thumb_func 452 HAL_EXTI_ClearConfigLine: 453 .LVL34: 454 .LFB42: 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line. 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti) 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 455 .loc 1 317 1 is_stmt 1 view -0 456 .cfi_startproc 457 @ args = 0, pretend = 0, frame = 0 458 @ frame_needed = 0, uses_anonymous_args = 0 459 .loc 1 317 1 is_stmt 0 view .LVU155 460 0000 70B5 push {r4, r5, r6, lr} 461 .cfi_def_cfa_offset 16 462 .cfi_offset 4, -16 463 .cfi_offset 5, -12 464 .cfi_offset 6, -8 465 .cfi_offset 14, -4 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; 466 .loc 1 318 3 is_stmt 1 view .LVU156 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos; 467 .loc 1 319 3 view .LVU157 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; 468 .loc 1 320 3 view .LVU158 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL) 469 .loc 1 323 3 view .LVU159 470 .loc 1 323 6 is_stmt 0 view .LVU160 471 0002 0028 cmp r0, #0 472 0004 2CD0 beq .L33 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR; 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameter */ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 473 .loc 1 329 3 is_stmt 1 view .LVU161 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* compute line mask */ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK); 474 .loc 1 332 3 view .LVU162 475 .loc 1 332 19 is_stmt 0 view .LVU163 476 0006 0568 ldr r5, [r0] 477 .loc 1 332 11 view .LVU164 ARM GAS /tmp/ccFacv4Y.s page 16 478 0008 1F22 movs r2, #31 479 000a 2A40 ands r2, r5 480 .LVL35: 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos); 481 .loc 1 333 3 is_stmt 1 view .LVU165 482 .loc 1 333 12 is_stmt 0 view .LVU166 483 000c 0123 movs r3, #1 484 000e 9340 lsls r3, r3, r2 485 .LVL36: 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 1] Clear interrupt mode */ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR = (EXTI->IMR & ~maskline); 486 .loc 1 336 3 is_stmt 1 view .LVU167 487 .loc 1 336 20 is_stmt 0 view .LVU168 488 0010 1549 ldr r1, .L37 489 0012 0C68 ldr r4, [r1] 490 .loc 1 336 28 view .LVU169 491 0014 DE43 mvns r6, r3 492 .loc 1 336 26 view .LVU170 493 0016 9C43 bics r4, r3 494 .loc 1 336 13 view .LVU171 495 0018 0C60 str r4, [r1] 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Clear event mode */ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR = (EXTI->EMR & ~maskline); 496 .loc 1 339 3 is_stmt 1 view .LVU172 497 .loc 1 339 20 is_stmt 0 view .LVU173 498 001a 4C68 ldr r4, [r1, #4] 499 .loc 1 339 26 view .LVU174 500 001c 9C43 bics r4, r3 501 .loc 1 339 13 view .LVU175 502 001e 4C60 str r4, [r1, #4] 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u) 503 .loc 1 342 3 is_stmt 1 view .LVU176 504 .loc 1 342 13 is_stmt 0 view .LVU177 505 0020 0368 ldr r3, [r0] 506 .LVL37: 507 .loc 1 342 6 view .LVU178 508 0022 9B01 lsls r3, r3, #6 509 0024 1ED5 bpl .L34 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR = (EXTI->RTSR & ~maskline); 510 .loc 1 344 5 is_stmt 1 view .LVU179 511 .loc 1 344 23 is_stmt 0 view .LVU180 512 0026 0B00 movs r3, r1 513 0028 8968 ldr r1, [r1, #8] 514 .loc 1 344 30 view .LVU181 515 002a 3140 ands r1, r6 516 .loc 1 344 16 view .LVU182 517 002c 9960 str r1, [r3, #8] 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR = (EXTI->FTSR & ~maskline); 518 .loc 1 345 5 is_stmt 1 view .LVU183 519 .loc 1 345 23 is_stmt 0 view .LVU184 520 002e D968 ldr r1, [r3, #12] 521 .loc 1 345 30 view .LVU185 ARM GAS /tmp/ccFacv4Y.s page 17 522 0030 3140 ands r1, r6 523 .loc 1 345 16 view .LVU186 524 0032 D960 str r1, [r3, #12] 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO) 525 .loc 1 348 5 is_stmt 1 view .LVU187 526 .loc 1 348 15 is_stmt 0 view .LVU188 527 0034 0368 ldr r3, [r0] 528 .loc 1 348 22 view .LVU189 529 0036 C021 movs r1, #192 530 0038 C904 lsls r1, r1, #19 531 003a 0B40 ands r3, r1 532 .loc 1 348 8 view .LVU190 533 003c 8B42 cmp r3, r1 534 003e 01D0 beq .L36 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos)); 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u]; 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK; 535 .loc 1 358 10 view .LVU191 536 0040 0020 movs r0, #0 537 .LVL38: 538 .loc 1 358 10 view .LVU192 539 0042 10E0 b .L32 540 .LVL39: 541 .L36: 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 542 .loc 1 350 7 is_stmt 1 view .LVU193 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 543 .loc 1 352 7 view .LVU194 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 544 .loc 1 352 39 is_stmt 0 view .LVU195 545 0044 9208 lsrs r2, r2, #2 546 .LVL40: 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))); 547 .loc 1 352 14 view .LVU196 548 0046 094C ldr r4, .L37+4 549 0048 0232 adds r2, r2, #2 550 004a 9200 lsls r2, r2, #2 551 004c 1159 ldr r1, [r2, r4] 552 .LVL41: 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 553 .loc 1 353 7 is_stmt 1 view .LVU197 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 554 .loc 1 353 80 is_stmt 0 view .LVU198 555 004e 0323 movs r3, #3 556 0050 2B40 ands r3, r5 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 557 .loc 1 353 69 view .LVU199 558 0052 9B00 lsls r3, r3, #2 ARM GAS /tmp/ccFacv4Y.s page 18 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 559 .loc 1 353 40 view .LVU200 560 0054 0F20 movs r0, #15 561 .LVL42: 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 562 .loc 1 353 40 view .LVU201 563 0056 9840 lsls r0, r0, r3 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval; 564 .loc 1 353 14 view .LVU202 565 0058 8143 bics r1, r0 566 .LVL43: 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 567 .loc 1 354 7 is_stmt 1 view .LVU203 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 568 .loc 1 354 37 is_stmt 0 view .LVU204 569 005a 1151 str r1, [r2, r4] 570 .loc 1 358 10 view .LVU205 571 005c 0020 movs r0, #0 572 005e 02E0 b .L32 573 .LVL44: 574 .L33: 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 575 .loc 1 325 12 view .LVU206 576 0060 0120 movs r0, #1 577 .LVL45: 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 578 .loc 1 325 12 view .LVU207 579 0062 00E0 b .L32 580 .LVL46: 581 .L34: 582 .loc 1 358 10 view .LVU208 583 0064 0020 movs r0, #0 584 .LVL47: 585 .L32: 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 586 .loc 1 359 1 view .LVU209 587 @ sp needed 588 0066 70BD pop {r4, r5, r6, pc} 589 .L38: 590 .align 2 591 .L37: 592 0068 00040140 .word 1073808384 593 006c 00000140 .word 1073807360 594 .cfi_endproc 595 .LFE42: 597 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits 598 .align 1 599 .global HAL_EXTI_RegisterCallback 600 .syntax unified 601 .code 16 602 .thumb_func 604 HAL_EXTI_RegisterCallback: 605 .LVL48: 606 .LFB43: 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line. ARM GAS /tmp/ccFacv4Y.s page 19 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param CallbackID User callback identifier. 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values. 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback. 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 607 .loc 1 370 1 is_stmt 1 view -0 608 .cfi_startproc 609 @ args = 0, pretend = 0, frame = 0 610 @ frame_needed = 0, uses_anonymous_args = 0 611 @ link register save eliminated. 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK; 612 .loc 1 371 3 view .LVU211 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** switch (CallbackID) 613 .loc 1 373 3 view .LVU212 614 0000 0029 cmp r1, #0 615 0002 02D1 bne .L41 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID: 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn; 616 .loc 1 376 7 view .LVU213 617 .loc 1 376 30 is_stmt 0 view .LVU214 618 0004 4260 str r2, [r0, #4] 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break; 619 .loc 1 377 7 is_stmt 1 view .LVU215 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 620 .loc 1 371 21 is_stmt 0 view .LVU216 621 0006 0800 movs r0, r1 622 .LVL49: 623 .L40: 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** default: 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** status = HAL_ERROR; 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break; 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return status; 624 .loc 1 384 3 is_stmt 1 view .LVU217 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 625 .loc 1 385 1 is_stmt 0 view .LVU218 626 @ sp needed 627 0008 7047 bx lr 628 .LVL50: 629 .L41: 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break; 630 .loc 1 380 14 view .LVU219 631 000a 0120 movs r0, #1 632 .LVL51: 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break; 633 .loc 1 380 14 view .LVU220 634 000c FCE7 b .L40 635 .cfi_endproc 636 .LFE43: 638 .section .text.HAL_EXTI_GetHandle,"ax",%progbits ARM GAS /tmp/ccFacv4Y.s page 20 639 .align 1 640 .global HAL_EXTI_GetHandle 641 .syntax unified 642 .code 16 643 .thumb_func 645 HAL_EXTI_GetHandle: 646 .LVL52: 647 .LFB44: 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Store line number as handle private field. 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param ExtiLine Exti line number. 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB. 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status. 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine) 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 648 .loc 1 395 1 is_stmt 1 view -0 649 .cfi_startproc 650 @ args = 0, pretend = 0, frame = 0 651 @ frame_needed = 0, uses_anonymous_args = 0 652 @ link register save eliminated. 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameters */ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine)); 653 .loc 1 397 3 view .LVU222 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL) 654 .loc 1 400 3 view .LVU223 655 .loc 1 400 6 is_stmt 0 view .LVU224 656 0000 0028 cmp r0, #0 657 0002 02D0 beq .L44 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR; 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Store line number as handle private field */ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->Line = ExtiLine; 658 .loc 1 407 5 is_stmt 1 view .LVU225 659 .loc 1 407 17 is_stmt 0 view .LVU226 660 0004 0160 str r1, [r0] 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK; 661 .loc 1 409 5 is_stmt 1 view .LVU227 662 .loc 1 409 12 is_stmt 0 view .LVU228 663 0006 0020 movs r0, #0 664 .LVL53: 665 .L43: 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 666 .loc 1 411 1 view .LVU229 667 @ sp needed 668 0008 7047 bx lr 669 .LVL54: 670 .L44: ARM GAS /tmp/ccFacv4Y.s page 21 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 671 .loc 1 402 12 view .LVU230 672 000a 0120 movs r0, #1 673 .LVL55: 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 674 .loc 1 402 12 view .LVU231 675 000c FCE7 b .L43 676 .cfi_endproc 677 .LFE44: 679 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits 680 .align 1 681 .global HAL_EXTI_IRQHandler 682 .syntax unified 683 .code 16 684 .thumb_func 686 HAL_EXTI_IRQHandler: 687 .LVL56: 688 .LFB45: 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @} 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief EXTI IO functions. 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** =============================================================================== 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### IO operation functions ##### 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** =============================================================================== 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Handle EXTI interrupt request. 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval none. 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti) 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 689 .loc 1 435 1 is_stmt 1 view -0 690 .cfi_startproc 691 @ args = 0, pretend = 0, frame = 0 692 @ frame_needed = 0, uses_anonymous_args = 0 693 .loc 1 435 1 is_stmt 0 view .LVU233 694 0000 10B5 push {r4, lr} 695 .cfi_def_cfa_offset 8 696 .cfi_offset 4, -8 697 .cfi_offset 14, -4 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; 698 .loc 1 436 3 is_stmt 1 view .LVU234 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; 699 .loc 1 437 3 view .LVU235 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ ARM GAS /tmp/ccFacv4Y.s page 22 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK)); 700 .loc 1 440 3 view .LVU236 701 .loc 1 440 28 is_stmt 0 view .LVU237 702 0002 0368 ldr r3, [r0] 703 .loc 1 440 35 view .LVU238 704 0004 1F22 movs r2, #31 705 0006 1A40 ands r2, r3 706 .loc 1 440 12 view .LVU239 707 0008 0123 movs r3, #1 708 000a 9340 lsls r3, r3, r2 709 .LVL57: 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get pending bit */ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = (EXTI->PR & maskline); 710 .loc 1 443 3 is_stmt 1 view .LVU240 711 .loc 1 443 17 is_stmt 0 view .LVU241 712 000c 054A ldr r2, .L47 713 000e 5269 ldr r2, [r2, #20] 714 .LVL58: 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (regval != 0x00u) 715 .loc 1 444 3 is_stmt 1 view .LVU242 716 .loc 1 444 6 is_stmt 0 view .LVU243 717 0010 1342 tst r3, r2 718 0012 05D0 beq .L45 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear pending bit */ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline; 719 .loc 1 447 5 is_stmt 1 view .LVU244 720 .loc 1 447 14 is_stmt 0 view .LVU245 721 0014 034A ldr r2, .L47 722 .LVL59: 723 .loc 1 447 14 view .LVU246 724 0016 5361 str r3, [r2, #20] 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Call callback */ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti->PendingCallback != NULL) 725 .loc 1 450 5 is_stmt 1 view .LVU247 726 .loc 1 450 14 is_stmt 0 view .LVU248 727 0018 4368 ldr r3, [r0, #4] 728 .LVL60: 729 .loc 1 450 8 view .LVU249 730 001a 002B cmp r3, #0 731 001c 00D0 beq .L45 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback(); 732 .loc 1 452 7 is_stmt 1 view .LVU250 733 001e 9847 blx r3 734 .LVL61: 735 .L45: 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 736 .loc 1 455 1 is_stmt 0 view .LVU251 737 @ sp needed 738 0020 10BD pop {r4, pc} 739 .L48: 740 0022 C046 .align 2 ARM GAS /tmp/ccFacv4Y.s page 23 741 .L47: 742 0024 00040140 .word 1073808384 743 .cfi_endproc 744 .LFE45: 746 .section .text.HAL_EXTI_GetPending,"ax",%progbits 747 .align 1 748 .global HAL_EXTI_GetPending 749 .syntax unified 750 .code 16 751 .thumb_func 753 HAL_EXTI_GetPending: 754 .LVL62: 755 .LFB46: 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line. 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked. 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values: 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series. 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0. 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge) 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 756 .loc 1 467 1 is_stmt 1 view -0 757 .cfi_startproc 758 @ args = 0, pretend = 0, frame = 0 759 @ frame_needed = 0, uses_anonymous_args = 0 760 @ link register save eliminated. 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval; 761 .loc 1 468 3 view .LVU253 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos; 762 .loc 1 469 3 view .LVU254 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; 763 .loc 1 470 3 view .LVU255 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 764 .loc 1 473 3 view .LVU256 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); 765 .loc 1 474 3 view .LVU257 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge)); 766 .loc 1 475 3 view .LVU258 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK); 767 .loc 1 478 3 view .LVU259 768 .loc 1 478 19 is_stmt 0 view .LVU260 769 0000 0268 ldr r2, [r0] 770 .loc 1 478 11 view .LVU261 771 0002 1F23 movs r3, #31 772 0004 1340 ands r3, r2 773 .LVL63: 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos); 774 .loc 1 479 3 is_stmt 1 view .LVU262 775 .loc 1 479 12 is_stmt 0 view .LVU263 ARM GAS /tmp/ccFacv4Y.s page 24 776 0006 0120 movs r0, #1 777 .LVL64: 778 .loc 1 479 12 view .LVU264 779 0008 9840 lsls r0, r0, r3 780 .LVL65: 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* return 1 if bit is set else 0 */ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = ((EXTI->PR & maskline) >> linepos); 781 .loc 1 482 3 is_stmt 1 view .LVU265 782 .loc 1 482 18 is_stmt 0 view .LVU266 783 000a 024A ldr r2, .L50 784 000c 5269 ldr r2, [r2, #20] 785 .loc 1 482 23 view .LVU267 786 000e 1040 ands r0, r2 787 .LVL66: 788 .loc 1 482 10 view .LVU268 789 0010 D840 lsrs r0, r0, r3 790 .LVL67: 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return regval; 791 .loc 1 483 3 is_stmt 1 view .LVU269 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 792 .loc 1 484 1 is_stmt 0 view .LVU270 793 @ sp needed 794 0012 7047 bx lr 795 .L51: 796 .align 2 797 .L50: 798 0014 00040140 .word 1073808384 799 .cfi_endproc 800 .LFE46: 802 .section .text.HAL_EXTI_ClearPending,"ax",%progbits 803 .align 1 804 .global HAL_EXTI_ClearPending 805 .syntax unified 806 .code 16 807 .thumb_func 809 HAL_EXTI_ClearPending: 810 .LVL68: 811 .LFB47: 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line. 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear. 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values: 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series. 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None. 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge) 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 812 .loc 1 496 1 is_stmt 1 view -0 813 .cfi_startproc 814 @ args = 0, pretend = 0, frame = 0 815 @ frame_needed = 0, uses_anonymous_args = 0 816 @ link register save eliminated. 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; ARM GAS /tmp/ccFacv4Y.s page 25 817 .loc 1 497 3 view .LVU272 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 818 .loc 1 500 3 view .LVU273 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); 819 .loc 1 501 3 view .LVU274 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge)); 820 .loc 1 502 3 view .LVU275 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK)); 821 .loc 1 505 3 view .LVU276 822 .loc 1 505 28 is_stmt 0 view .LVU277 823 0000 0368 ldr r3, [r0] 824 .loc 1 505 35 view .LVU278 825 0002 1F22 movs r2, #31 826 0004 1A40 ands r2, r3 827 .loc 1 505 12 view .LVU279 828 0006 0123 movs r3, #1 829 0008 9340 lsls r3, r3, r2 830 .LVL69: 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear Pending bit */ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline; 831 .loc 1 508 3 is_stmt 1 view .LVU280 832 .loc 1 508 12 is_stmt 0 view .LVU281 833 000a 014A ldr r2, .L53 834 000c 5361 str r3, [r2, #20] 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 835 .loc 1 509 1 view .LVU282 836 @ sp needed 837 000e 7047 bx lr 838 .L54: 839 .align 2 840 .L53: 841 0010 00040140 .word 1073808384 842 .cfi_endproc 843 .LFE47: 845 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits 846 .align 1 847 .global HAL_EXTI_GenerateSWI 848 .syntax unified 849 .code 16 850 .thumb_func 852 HAL_EXTI_GenerateSWI: 853 .LVL70: 854 .LFB48: 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line. 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle. 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None. 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti) 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** { 855 .loc 1 517 1 is_stmt 1 view -0 ARM GAS /tmp/ccFacv4Y.s page 26 856 .cfi_startproc 857 @ args = 0, pretend = 0, frame = 0 858 @ frame_needed = 0, uses_anonymous_args = 0 859 @ link register save eliminated. 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline; 860 .loc 1 518 3 view .LVU284 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line)); 861 .loc 1 521 3 view .LVU285 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line)); 862 .loc 1 522 3 view .LVU286 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK)); 863 .loc 1 525 3 view .LVU287 864 .loc 1 525 28 is_stmt 0 view .LVU288 865 0000 0368 ldr r3, [r0] 866 .loc 1 525 35 view .LVU289 867 0002 1F22 movs r2, #31 868 0004 1A40 ands r2, r3 869 .loc 1 525 12 view .LVU290 870 0006 0123 movs r3, #1 871 0008 9340 lsls r3, r3, r2 872 .LVL71: 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Generate Software interrupt */ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->SWIER = maskline; 873 .loc 1 528 3 is_stmt 1 view .LVU291 874 .loc 1 528 15 is_stmt 0 view .LVU292 875 000a 014A ldr r2, .L56 876 000c 1361 str r3, [r2, #16] 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** } 877 .loc 1 529 1 view .LVU293 878 @ sp needed 879 000e 7047 bx lr 880 .L57: 881 .align 2 882 .L56: 883 0010 00040140 .word 1073808384 884 .cfi_endproc 885 .LFE48: 887 .text 888 .Letext0: 889 .file 2 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/ 890 .file 3 "/home/chiangni/.config/VSCodium/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/ 891 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h" 892 .file 5 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h" 893 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h" ARM GAS /tmp/ccFacv4Y.s page 27 DEFINED SYMBOLS *ABS*:00000000 stm32f0xx_hal_exti.c /tmp/ccFacv4Y.s:19 .text.HAL_EXTI_SetConfigLine:00000000 $t /tmp/ccFacv4Y.s:25 .text.HAL_EXTI_SetConfigLine:00000000 HAL_EXTI_SetConfigLine /tmp/ccFacv4Y.s:247 .text.HAL_EXTI_SetConfigLine:000000b8 $d /tmp/ccFacv4Y.s:253 .text.HAL_EXTI_GetConfigLine:00000000 $t /tmp/ccFacv4Y.s:259 .text.HAL_EXTI_GetConfigLine:00000000 HAL_EXTI_GetConfigLine /tmp/ccFacv4Y.s:440 .text.HAL_EXTI_GetConfigLine:00000098 $d /tmp/ccFacv4Y.s:446 .text.HAL_EXTI_ClearConfigLine:00000000 $t /tmp/ccFacv4Y.s:452 .text.HAL_EXTI_ClearConfigLine:00000000 HAL_EXTI_ClearConfigLine /tmp/ccFacv4Y.s:592 .text.HAL_EXTI_ClearConfigLine:00000068 $d /tmp/ccFacv4Y.s:598 .text.HAL_EXTI_RegisterCallback:00000000 $t /tmp/ccFacv4Y.s:604 .text.HAL_EXTI_RegisterCallback:00000000 HAL_EXTI_RegisterCallback /tmp/ccFacv4Y.s:639 .text.HAL_EXTI_GetHandle:00000000 $t /tmp/ccFacv4Y.s:645 .text.HAL_EXTI_GetHandle:00000000 HAL_EXTI_GetHandle /tmp/ccFacv4Y.s:680 .text.HAL_EXTI_IRQHandler:00000000 $t /tmp/ccFacv4Y.s:686 .text.HAL_EXTI_IRQHandler:00000000 HAL_EXTI_IRQHandler /tmp/ccFacv4Y.s:742 .text.HAL_EXTI_IRQHandler:00000024 $d /tmp/ccFacv4Y.s:747 .text.HAL_EXTI_GetPending:00000000 $t /tmp/ccFacv4Y.s:753 .text.HAL_EXTI_GetPending:00000000 HAL_EXTI_GetPending /tmp/ccFacv4Y.s:798 .text.HAL_EXTI_GetPending:00000014 $d /tmp/ccFacv4Y.s:803 .text.HAL_EXTI_ClearPending:00000000 $t /tmp/ccFacv4Y.s:809 .text.HAL_EXTI_ClearPending:00000000 HAL_EXTI_ClearPending /tmp/ccFacv4Y.s:841 .text.HAL_EXTI_ClearPending:00000010 $d /tmp/ccFacv4Y.s:846 .text.HAL_EXTI_GenerateSWI:00000000 $t /tmp/ccFacv4Y.s:852 .text.HAL_EXTI_GenerateSWI:00000000 HAL_EXTI_GenerateSWI /tmp/ccFacv4Y.s:883 .text.HAL_EXTI_GenerateSWI:00000010 $d NO UNDEFINED SYMBOLS