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