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 **** *
© Copyright (c) 2019 STMicroelectronics.
76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * All rights reserved.
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