ARM GAS /tmp/ccpHD71p.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f3xx_hal_exti.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c"
20 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits
21 .align 1
22 .global HAL_EXTI_SetConfigLine
23 .syntax unified
24 .thumb
25 .thumb_func
27 HAL_EXTI_SetConfigLine:
28 .LVL0:
29 .LFB130:
1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ******************************************************************************
3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @file stm32f3xx_hal_exti.c
4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @author MCD Application Team
5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief EXTI HAL module driver.
6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral:
8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * + IO operation functions
10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @verbatim
12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ==============================================================================
13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### EXTI Peripheral features #####
14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ==============================================================================
15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** [..]
16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Each Exti line can be configured within this driver.
17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes
19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Interrupt
20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Event
21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Both of them
22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers
24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Rising
25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Falling
26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Both of them
27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different
29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition
ARM GAS /tmp/ccpHD71p.s page 2
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** occurs:
31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Rising edge pending interrupt
32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Falling
33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can
35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** be selected through multiplexer.
36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### How to use this driver #####
38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ==============================================================================
39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** [..]
40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from
43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from
45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger
47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure.
48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** member from GPIO_InitTypeDef structure.
50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using
52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_EXTI_GetConfigLine().
53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide exiting handle as parameter.
54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_GetConfigLine().
57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide exiting handle as parameter.
58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide exiting handle as first parameter.
61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide which callback will be registered using one value from
62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI_CallbackIDTypeDef.
63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide callback function pointer.
64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending().
66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_GetPending().
68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @endverbatim
72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ******************************************************************************
73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @attention
74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
© Copyright (c) 2019 STMicroelectronics.
76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * All rights reserved.
77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This software component is licensed by ST under BSD 3-Clause license,
79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * the "License"; You may not use this file except in compliance with the
80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * License. You may obtain a copy of the License at:
81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * opensource.org/licenses/BSD-3-Clause
82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ******************************************************************************
84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
ARM GAS /tmp/ccpHD71p.s page 3
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #include "stm32f3xx_hal.h"
88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup STM32F3xx_HAL_Driver
90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI
94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * of bounds [0,3] in following API :
99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * HAL_EXTI_SetConfigLine
100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * HAL_EXTI_GetConfigLine
101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine
102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/
108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #define EXTI_MODE_OFFSET 0x08u /* 0x20: offset between CPU IMR/EMR registers *
112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #define EXTI_CONFIG_OFFSET 0x08u /* 0x20: offset between CPU Rising/Falling conf
113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @}
115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Configuration functions
128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @verbatim
130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### Configuration functions #####
132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @endverbatim
135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line.
140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set.
142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
ARM GAS /tmp/ccpHD71p.s page 4
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
30 .loc 1 145 1 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
34 @ link register save eliminated.
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
35 .loc 1 146 3 view .LVU1
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
36 .loc 1 147 3 view .LVU2
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
37 .loc 1 148 3 view .LVU3
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
38 .loc 1 149 3 view .LVU4
150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
39 .loc 1 150 3 view .LVU5
151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
40 .loc 1 153 3 view .LVU6
41 .loc 1 153 6 is_stmt 0 view .LVU7
42 0000 0028 cmp r0, #0
43 0002 5ED0 beq .L12
44 .loc 1 153 23 discriminator 1 view .LVU8
45 0004 0029 cmp r1, #0
46 0006 5ED0 beq .L13
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
47 .loc 1 145 1 view .LVU9
48 0008 F0B4 push {r4, r5, r6, r7}
49 .cfi_def_cfa_offset 16
50 .cfi_offset 4, -16
51 .cfi_offset 5, -12
52 .cfi_offset 6, -8
53 .cfi_offset 7, -4
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line));
54 .loc 1 159 3 is_stmt 1 view .LVU10
160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
55 .loc 1 160 3 view .LVU11
161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Assign line number to handle */
163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->Line = pExtiConfig->Line;
56 .loc 1 163 3 view .LVU12
57 .loc 1 163 28 is_stmt 0 view .LVU13
58 000a 0A68 ldr r2, [r1]
59 .loc 1 163 15 view .LVU14
60 000c 0260 str r2, [r0]
164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Compute line register offset and line mask */
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
61 .loc 1 166 3 is_stmt 1 view .LVU15
62 .loc 1 166 10 is_stmt 0 view .LVU16
ARM GAS /tmp/ccpHD71p.s page 5
63 000e C2F30043 ubfx r3, r2, #16, #1
64 .LVL1:
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
65 .loc 1 167 3 is_stmt 1 view .LVU17
66 .loc 1 167 11 is_stmt 0 view .LVU18
67 0012 02F01F04 and r4, r2, #31
68 .LVL2:
168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
69 .loc 1 168 3 is_stmt 1 view .LVU19
70 .loc 1 168 12 is_stmt 0 view .LVU20
71 0016 0120 movs r0, #1
72 .LVL3:
73 .loc 1 168 12 view .LVU21
74 0018 A040 lsls r0, r0, r4
75 .LVL4:
169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure triggers for configurable lines */
171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
76 .loc 1 171 3 is_stmt 1 view .LVU22
77 .loc 1 171 6 is_stmt 0 view .LVU23
78 001a 12F0007F tst r2, #33554432
79 001e 1BD0 beq .L3
172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
80 .loc 1 173 5 is_stmt 1 view .LVU24
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure rising trigger */
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->RTSR + (EXTI_CONFIG_OFFSET * offset));
81 .loc 1 176 5 view .LVU25
82 .loc 1 176 28 is_stmt 0 view .LVU26
83 0020 4FEA431C lsl ip, r3, #5
84 .loc 1 176 13 view .LVU27
85 0024 294F ldr r7, .L19
86 .LVL5:
177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
87 .loc 1 177 5 is_stmt 1 view .LVU28
88 .loc 1 177 12 is_stmt 0 view .LVU29
89 0026 5CF80750 ldr r5, [ip, r7]
90 .LVL6:
178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
91 .loc 1 180 5 is_stmt 1 view .LVU30
92 .loc 1 180 21 is_stmt 0 view .LVU31
93 002a 8E68 ldr r6, [r1, #8]
94 .loc 1 180 8 view .LVU32
95 002c 16F0010F tst r6, #1
96 0030 29D0 beq .L4
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
97 .loc 1 182 7 is_stmt 1 view .LVU33
98 .loc 1 182 14 is_stmt 0 view .LVU34
99 0032 0543 orrs r5, r5, r0
100 .LVL7:
101 .L5:
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
ARM GAS /tmp/ccpHD71p.s page 6
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store rising trigger mode */
190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
102 .loc 1 190 5 is_stmt 1 view .LVU35
103 .loc 1 190 14 is_stmt 0 view .LVU36
104 0034 4CF80750 str r5, [ip, r7]
191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure falling trigger */
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->FTSR + (EXTI_CONFIG_OFFSET * offset));
105 .loc 1 193 5 is_stmt 1 view .LVU37
106 .loc 1 193 13 is_stmt 0 view .LVU38
107 0038 254E ldr r6, .L19+4
108 .LVL8:
194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
109 .loc 1 194 5 is_stmt 1 view .LVU39
110 .loc 1 194 12 is_stmt 0 view .LVU40
111 003a 5CF80650 ldr r5, [ip, r6]
112 .LVL9:
195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
113 .loc 1 197 5 is_stmt 1 view .LVU41
114 .loc 1 197 8 is_stmt 0 view .LVU42
115 003e 8F68 ldr r7, [r1, #8]
116 0040 17F0020F tst r7, #2
117 0044 22D0 beq .L6
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
118 .loc 1 199 7 is_stmt 1 view .LVU43
119 .loc 1 199 14 is_stmt 0 view .LVU44
120 0046 0543 orrs r5, r5, r0
121 .LVL10:
122 .L7:
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store falling trigger mode */
207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
123 .loc 1 207 5 is_stmt 1 view .LVU45
124 .loc 1 207 14 is_stmt 0 view .LVU46
125 0048 4CF80650 str r5, [ip, r6]
208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */
210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
126 .loc 1 210 5 is_stmt 1 view .LVU47
127 .loc 1 210 28 is_stmt 0 view .LVU48
128 004c 0D68 ldr r5, [r1]
129 .LVL11:
130 .loc 1 210 28 view .LVU49
131 004e 05F0C06C and ip, r5, #100663296
132 .LVL12:
ARM GAS /tmp/ccpHD71p.s page 7
133 .loc 1 210 8 view .LVU50
134 0052 BCF1C06F cmp ip, #100663296
135 0056 1CD0 beq .L18
136 .LVL13:
137 .L3:
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure interrupt mode : read current mode */
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->IMR + (EXTI_MODE_OFFSET * offset));
138 .loc 1 223 3 is_stmt 1 view .LVU51
139 .loc 1 223 25 is_stmt 0 view .LVU52
140 0058 5B01 lsls r3, r3, #5
141 .LVL14:
142 .loc 1 223 11 view .LVU53
143 005a 03F18042 add r2, r3, #1073741824
144 005e 02F58232 add r2, r2, #66560
145 .LVL15:
224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
146 .loc 1 224 3 is_stmt 1 view .LVU54
147 .loc 1 224 10 is_stmt 0 view .LVU55
148 0062 1468 ldr r4, [r2]
149 .LVL16:
225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
150 .loc 1 227 3 is_stmt 1 view .LVU56
151 .loc 1 227 6 is_stmt 0 view .LVU57
152 0064 4D68 ldr r5, [r1, #4]
153 0066 15F0010F tst r5, #1
154 006a 24D0 beq .L8
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
155 .loc 1 229 5 is_stmt 1 view .LVU58
156 .loc 1 229 12 is_stmt 0 view .LVU59
157 006c 0443 orrs r4, r4, r0
158 .LVL17:
159 .L9:
230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store interrupt mode */
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
160 .loc 1 237 3 is_stmt 1 view .LVU60
161 .loc 1 237 12 is_stmt 0 view .LVU61
162 006e 1460 str r4, [r2]
ARM GAS /tmp/ccpHD71p.s page 8
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure event mode : read current mode */
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->EMR + (EXTI_MODE_OFFSET * offset));
163 .loc 1 240 3 is_stmt 1 view .LVU62
164 .loc 1 240 11 is_stmt 0 view .LVU63
165 0070 184C ldr r4, .L19+8
166 .LVL18:
241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
167 .loc 1 241 3 is_stmt 1 view .LVU64
168 .loc 1 241 10 is_stmt 0 view .LVU65
169 0072 1A59 ldr r2, [r3, r4]
170 .LVL19:
242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
171 .loc 1 244 3 is_stmt 1 view .LVU66
172 .loc 1 244 19 is_stmt 0 view .LVU67
173 0074 4968 ldr r1, [r1, #4]
174 .LVL20:
175 .loc 1 244 6 view .LVU68
176 0076 11F0020F tst r1, #2
177 007a 1FD0 beq .L10
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
178 .loc 1 246 5 is_stmt 1 view .LVU69
179 .loc 1 246 12 is_stmt 0 view .LVU70
180 007c 0243 orrs r2, r2, r0
181 .LVL21:
182 .L11:
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store event mode */
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
183 .loc 1 254 3 is_stmt 1 view .LVU71
184 .loc 1 254 12 is_stmt 0 view .LVU72
185 007e 1A51 str r2, [r3, r4]
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
186 .loc 1 256 3 is_stmt 1 view .LVU73
187 .loc 1 256 10 is_stmt 0 view .LVU74
188 0080 0020 movs r0, #0
189 .LVL22:
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
190 .loc 1 257 1 view .LVU75
191 0082 F0BC pop {r4, r5, r6, r7}
192 .cfi_remember_state
193 .cfi_restore 7
194 .cfi_restore 6
195 .cfi_restore 5
196 .cfi_restore 4
197 .cfi_def_cfa_offset 0
198 .LVL23:
199 .loc 1 257 1 view .LVU76
ARM GAS /tmp/ccpHD71p.s page 9
200 0084 7047 bx lr
201 .LVL24:
202 .L4:
203 .cfi_restore_state
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
204 .loc 1 186 7 is_stmt 1 view .LVU77
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
205 .loc 1 186 14 is_stmt 0 view .LVU78
206 0086 25EA0005 bic r5, r5, r0
207 .LVL25:
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
208 .loc 1 186 14 view .LVU79
209 008a D3E7 b .L5
210 .LVL26:
211 .L6:
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
212 .loc 1 203 7 is_stmt 1 view .LVU80
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
213 .loc 1 203 14 is_stmt 0 view .LVU81
214 008c 25EA0005 bic r5, r5, r0
215 .LVL27:
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
216 .loc 1 203 14 view .LVU82
217 0090 DAE7 b .L7
218 .LVL28:
219 .L18:
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
220 .loc 1 212 7 is_stmt 1 view .LVU83
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
221 .loc 1 213 7 view .LVU84
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
222 .loc 1 215 7 view .LVU85
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
223 .loc 1 215 39 is_stmt 0 view .LVU86
224 0092 A408 lsrs r4, r4, #2
225 .LVL29:
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
226 .loc 1 215 14 view .LVU87
227 0094 104F ldr r7, .L19+12
228 0096 0234 adds r4, r4, #2
229 0098 57F82460 ldr r6, [r7, r4, lsl #2]
230 .LVL30:
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
231 .loc 1 216 7 is_stmt 1 view .LVU88
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
232 .loc 1 216 80 is_stmt 0 view .LVU89
233 009c 02F00302 and r2, r2, #3
234 .LVL31:
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
235 .loc 1 216 69 view .LVU90
236 00a0 9200 lsls r2, r2, #2
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
237 .loc 1 216 40 view .LVU91
238 00a2 0F25 movs r5, #15
239 00a4 9540 lsls r5, r5, r2
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
240 .loc 1 216 14 view .LVU92
ARM GAS /tmp/ccpHD71p.s page 10
241 00a6 26EA0506 bic r6, r6, r5
242 .LVL32:
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
243 .loc 1 217 7 is_stmt 1 view .LVU93
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
244 .loc 1 217 29 is_stmt 0 view .LVU94
245 00aa CD68 ldr r5, [r1, #12]
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
246 .loc 1 217 39 view .LVU95
247 00ac 9540 lsls r5, r5, r2
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
248 .loc 1 217 14 view .LVU96
249 00ae 3543 orrs r5, r5, r6
250 .LVL33:
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
251 .loc 1 218 7 is_stmt 1 view .LVU97
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
252 .loc 1 218 37 is_stmt 0 view .LVU98
253 00b0 47F82450 str r5, [r7, r4, lsl #2]
254 00b4 D0E7 b .L3
255 .LVL34:
256 .L8:
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
257 .loc 1 233 5 is_stmt 1 view .LVU99
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
258 .loc 1 233 12 is_stmt 0 view .LVU100
259 00b6 24EA0004 bic r4, r4, r0
260 .LVL35:
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
261 .loc 1 233 12 view .LVU101
262 00ba D8E7 b .L9
263 .LVL36:
264 .L10:
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
265 .loc 1 250 5 is_stmt 1 view .LVU102
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
266 .loc 1 250 12 is_stmt 0 view .LVU103
267 00bc 22EA0002 bic r2, r2, r0
268 .LVL37:
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
269 .loc 1 250 12 view .LVU104
270 00c0 DDE7 b .L11
271 .LVL38:
272 .L12:
273 .cfi_def_cfa_offset 0
274 .cfi_restore 4
275 .cfi_restore 5
276 .cfi_restore 6
277 .cfi_restore 7
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
278 .loc 1 155 12 view .LVU105
279 00c2 0120 movs r0, #1
280 .LVL39:
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
281 .loc 1 155 12 view .LVU106
282 00c4 7047 bx lr
283 .LVL40:
ARM GAS /tmp/ccpHD71p.s page 11
284 .L13:
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
285 .loc 1 155 12 view .LVU107
286 00c6 0120 movs r0, #1
287 .LVL41:
288 .loc 1 257 1 view .LVU108
289 00c8 7047 bx lr
290 .L20:
291 00ca 00BF .align 2
292 .L19:
293 00cc 08040140 .word 1073808392
294 00d0 0C040140 .word 1073808396
295 00d4 04040140 .word 1073808388
296 00d8 00000140 .word 1073807360
297 .cfi_endproc
298 .LFE130:
300 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
301 .align 1
302 .global HAL_EXTI_GetConfigLine
303 .syntax unified
304 .thumb
305 .thumb_func
307 HAL_EXTI_GetConfigLine:
308 .LVL42:
309 .LFB131:
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line.
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration.
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
310 .loc 1 266 1 is_stmt 1 view -0
311 .cfi_startproc
312 @ args = 0, pretend = 0, frame = 0
313 @ frame_needed = 0, uses_anonymous_args = 0
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
314 .loc 1 267 3 view .LVU110
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
315 .loc 1 268 3 view .LVU111
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
316 .loc 1 269 3 view .LVU112
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
317 .loc 1 270 3 view .LVU113
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
318 .loc 1 271 3 view .LVU114
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
319 .loc 1 274 3 view .LVU115
320 .loc 1 274 6 is_stmt 0 view .LVU116
321 0000 0028 cmp r0, #0
322 0002 4DD0 beq .L28
323 .loc 1 274 23 discriminator 1 view .LVU117
324 0004 0029 cmp r1, #0
ARM GAS /tmp/ccpHD71p.s page 12
325 0006 4DD0 beq .L29
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
326 .loc 1 266 1 view .LVU118
327 0008 10B5 push {r4, lr}
328 .cfi_def_cfa_offset 8
329 .cfi_offset 4, -8
330 .cfi_offset 14, -4
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check the parameter */
280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
331 .loc 1 280 3 is_stmt 1 view .LVU119
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store handle line number to configuration structure */
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Line = hexti->Line;
332 .loc 1 283 3 view .LVU120
333 .loc 1 283 28 is_stmt 0 view .LVU121
334 000a 0368 ldr r3, [r0]
335 .loc 1 283 21 view .LVU122
336 000c 0B60 str r3, [r1]
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
337 .loc 1 286 3 is_stmt 1 view .LVU123
338 .loc 1 286 10 is_stmt 0 view .LVU124
339 000e C3F30040 ubfx r0, r3, #16, #1
340 .LVL43:
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
341 .loc 1 287 3 is_stmt 1 view .LVU125
342 .loc 1 287 11 is_stmt 0 view .LVU126
343 0012 03F01F0E and lr, r3, #31
344 .LVL44:
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
345 .loc 1 288 3 is_stmt 1 view .LVU127
346 .loc 1 288 12 is_stmt 0 view .LVU128
347 0016 0122 movs r2, #1
348 0018 02FA0EF2 lsl r2, r2, lr
349 .LVL45:
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 1] Get core mode : interrupt */
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->IMR + (EXTI_MODE_OFFSET * offset));
350 .loc 1 291 3 is_stmt 1 view .LVU129
351 .loc 1 291 25 is_stmt 0 view .LVU130
352 001c 4001 lsls r0, r0, #5
353 .LVL46:
354 .loc 1 291 11 view .LVU131
355 001e 00F1804C add ip, r0, #1073741824
356 0022 0CF5823C add ip, ip, #66560
357 .LVL47:
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
358 .loc 1 292 3 is_stmt 1 view .LVU132
359 .loc 1 292 10 is_stmt 0 view .LVU133
360 0026 DCF80040 ldr r4, [ip]
361 .LVL48:
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
ARM GAS /tmp/ccpHD71p.s page 13
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if selected line is enable */
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
362 .loc 1 295 3 is_stmt 1 view .LVU134
363 .loc 1 295 6 is_stmt 0 view .LVU135
364 002a 2242 tst r2, r4
365 002c 24D0 beq .L23
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
366 .loc 1 297 5 is_stmt 1 view .LVU136
367 .loc 1 297 23 is_stmt 0 view .LVU137
368 002e 0124 movs r4, #1
369 .LVL49:
370 .loc 1 297 23 view .LVU138
371 0030 4C60 str r4, [r1, #4]
372 .L24:
298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE;
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get event mode */
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->EMR + (EXTI_MODE_OFFSET * offset));
373 .loc 1 305 3 is_stmt 1 view .LVU139
374 .loc 1 305 11 is_stmt 0 view .LVU140
375 0032 1E4C ldr r4, .L37
376 .LVL50:
306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
377 .loc 1 306 3 is_stmt 1 view .LVU141
378 .loc 1 306 10 is_stmt 0 view .LVU142
379 0034 0459 ldr r4, [r0, r4]
380 .LVL51:
307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if selected line is enable */
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
381 .loc 1 309 3 is_stmt 1 view .LVU143
382 .loc 1 309 6 is_stmt 0 view .LVU144
383 0036 2242 tst r2, r4
384 0038 03D0 beq .L25
310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT;
385 .loc 1 311 5 is_stmt 1 view .LVU145
386 .loc 1 311 16 is_stmt 0 view .LVU146
387 003a 4C68 ldr r4, [r1, #4]
388 .LVL52:
389 .loc 1 311 23 view .LVU147
390 003c 44F00204 orr r4, r4, #2
391 0040 4C60 str r4, [r1, #4]
392 .L25:
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get default Trigger and GPIOSel configuration */
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
393 .loc 1 315 3 is_stmt 1 view .LVU148
394 .loc 1 315 24 is_stmt 0 view .LVU149
395 0042 0024 movs r4, #0
396 0044 8C60 str r4, [r1, #8]
ARM GAS /tmp/ccpHD71p.s page 14
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
397 .loc 1 316 3 is_stmt 1 view .LVU150
398 .loc 1 316 24 is_stmt 0 view .LVU151
399 0046 CC60 str r4, [r1, #12]
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
400 .loc 1 319 3 is_stmt 1 view .LVU152
401 .loc 1 319 6 is_stmt 0 view .LVU153
402 0048 13F0007F tst r3, #33554432
403 004c 2CD0 beq .L30
320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->RTSR + (EXTI_CONFIG_OFFSET * offset));
404 .loc 1 321 5 is_stmt 1 view .LVU154
405 .loc 1 321 13 is_stmt 0 view .LVU155
406 004e 184C ldr r4, .L37+4
407 .LVL53:
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
408 .loc 1 322 5 is_stmt 1 view .LVU156
409 .loc 1 322 12 is_stmt 0 view .LVU157
410 0050 0459 ldr r4, [r0, r4]
411 .LVL54:
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if configuration of selected line is enable */
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
412 .loc 1 325 5 is_stmt 1 view .LVU158
413 .loc 1 325 8 is_stmt 0 view .LVU159
414 0052 2242 tst r2, r4
415 0054 01D0 beq .L26
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
416 .loc 1 327 7 is_stmt 1 view .LVU160
417 .loc 1 327 28 is_stmt 0 view .LVU161
418 0056 0124 movs r4, #1
419 .LVL55:
420 .loc 1 327 28 view .LVU162
421 0058 8C60 str r4, [r1, #8]
422 .L26:
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get falling configuration */
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->FTSR + (EXTI_CONFIG_OFFSET * offset));
423 .loc 1 331 5 is_stmt 1 view .LVU163
424 .loc 1 331 13 is_stmt 0 view .LVU164
425 005a 164C ldr r4, .L37+8
426 .LVL56:
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
427 .loc 1 332 5 is_stmt 1 view .LVU165
428 .loc 1 332 12 is_stmt 0 view .LVU166
429 005c 0059 ldr r0, [r0, r4]
430 .LVL57:
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if configuration of selected line is enable */
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
431 .loc 1 335 5 is_stmt 1 view .LVU167
432 .loc 1 335 8 is_stmt 0 view .LVU168
433 005e 0242 tst r2, r0
ARM GAS /tmp/ccpHD71p.s page 15
434 0060 03D0 beq .L27
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
435 .loc 1 337 7 is_stmt 1 view .LVU169
436 .loc 1 337 18 is_stmt 0 view .LVU170
437 0062 8A68 ldr r2, [r1, #8]
438 .LVL58:
439 .loc 1 337 28 view .LVU171
440 0064 42F00202 orr r2, r2, #2
441 0068 8A60 str r2, [r1, #8]
442 .L27:
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
443 .loc 1 341 5 is_stmt 1 view .LVU172
444 .loc 1 341 28 is_stmt 0 view .LVU173
445 006a 03F0C063 and r3, r3, #100663296
446 .LVL59:
447 .loc 1 341 8 view .LVU174
448 006e B3F1C06F cmp r3, #100663296
449 0072 04D0 beq .L36
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
450 .loc 1 350 10 view .LVU175
451 0074 0020 movs r0, #0
452 .LVL60:
453 .loc 1 350 10 view .LVU176
454 0076 18E0 b .L22
455 .LVL61:
456 .L23:
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
457 .loc 1 301 5 is_stmt 1 view .LVU177
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
458 .loc 1 301 23 is_stmt 0 view .LVU178
459 0078 0024 movs r4, #0
460 .LVL62:
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
461 .loc 1 301 23 view .LVU179
462 007a 4C60 str r4, [r1, #4]
463 007c D9E7 b .L24
464 .LVL63:
465 .L36:
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
466 .loc 1 343 7 is_stmt 1 view .LVU180
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
467 .loc 1 345 7 view .LVU181
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
468 .loc 1 345 39 is_stmt 0 view .LVU182
469 007e 4FEA9E03 lsr r3, lr, #2
ARM GAS /tmp/ccpHD71p.s page 16
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
470 .loc 1 345 14 view .LVU183
471 0082 0233 adds r3, r3, #2
472 0084 0C4A ldr r2, .L37+12
473 0086 52F82320 ldr r2, [r2, r3, lsl #2]
474 .LVL64:
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
475 .loc 1 346 7 is_stmt 1 view .LVU184
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
476 .loc 1 346 75 is_stmt 0 view .LVU185
477 008a 6FEA0E03 mvn r3, lr
478 008e 03F00303 and r3, r3, #3
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
479 .loc 1 346 68 view .LVU186
480 0092 9B00 lsls r3, r3, #2
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
481 .loc 1 346 39 view .LVU187
482 0094 02FA03F3 lsl r3, r2, r3
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
483 .loc 1 346 98 view .LVU188
484 0098 1B0E lsrs r3, r3, #24
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
485 .loc 1 346 28 view .LVU189
486 009a CB60 str r3, [r1, #12]
487 .loc 1 350 10 view .LVU190
488 009c 0020 movs r0, #0
489 009e 04E0 b .L22
490 .LVL65:
491 .L28:
492 .cfi_def_cfa_offset 0
493 .cfi_restore 4
494 .cfi_restore 14
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
495 .loc 1 276 12 view .LVU191
496 00a0 0120 movs r0, #1
497 .LVL66:
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
498 .loc 1 276 12 view .LVU192
499 00a2 7047 bx lr
500 .LVL67:
501 .L29:
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
502 .loc 1 276 12 view .LVU193
503 00a4 0120 movs r0, #1
504 .LVL68:
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
505 .loc 1 351 1 view .LVU194
506 00a6 7047 bx lr
507 .LVL69:
508 .L30:
509 .cfi_def_cfa_offset 8
510 .cfi_offset 4, -8
511 .cfi_offset 14, -4
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
512 .loc 1 350 10 view .LVU195
513 00a8 0020 movs r0, #0
514 .LVL70:
ARM GAS /tmp/ccpHD71p.s page 17
515 .L22:
516 .loc 1 351 1 view .LVU196
517 00aa 10BD pop {r4, pc}
518 .L38:
519 .align 2
520 .L37:
521 00ac 04040140 .word 1073808388
522 00b0 08040140 .word 1073808392
523 00b4 0C040140 .word 1073808396
524 00b8 00000140 .word 1073807360
525 .cfi_endproc
526 .LFE131:
528 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
529 .align 1
530 .global HAL_EXTI_ClearConfigLine
531 .syntax unified
532 .thumb
533 .thumb_func
535 HAL_EXTI_ClearConfigLine:
536 .LVL71:
537 .LFB132:
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
538 .loc 1 359 1 is_stmt 1 view -0
539 .cfi_startproc
540 @ args = 0, pretend = 0, frame = 0
541 @ frame_needed = 0, uses_anonymous_args = 0
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
542 .loc 1 360 3 view .LVU198
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
543 .loc 1 361 3 view .LVU199
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
544 .loc 1 362 3 view .LVU200
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
545 .loc 1 363 3 view .LVU201
364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
546 .loc 1 364 3 view .LVU202
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (hexti == NULL)
547 .loc 1 367 3 view .LVU203
548 .loc 1 367 6 is_stmt 0 view .LVU204
549 0000 0028 cmp r0, #0
550 0002 40D0 beq .L41
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
551 .loc 1 359 1 view .LVU205
552 0004 30B5 push {r4, r5, lr}
553 .cfi_def_cfa_offset 12
554 .cfi_offset 4, -12
555 .cfi_offset 5, -8
556 .cfi_offset 14, -4
ARM GAS /tmp/ccpHD71p.s page 18
557 0006 8446 mov ip, r0
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check the parameter */
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
558 .loc 1 373 3 is_stmt 1 view .LVU206
374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
559 .loc 1 376 3 view .LVU207
560 .loc 1 376 19 is_stmt 0 view .LVU208
561 0008 0468 ldr r4, [r0]
562 .loc 1 376 10 view .LVU209
563 000a C4F30043 ubfx r3, r4, #16, #1
564 .LVL72:
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
565 .loc 1 377 3 is_stmt 1 view .LVU210
566 .loc 1 377 11 is_stmt 0 view .LVU211
567 000e 04F01F0E and lr, r4, #31
568 .LVL73:
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
569 .loc 1 378 3 is_stmt 1 view .LVU212
570 .loc 1 378 12 is_stmt 0 view .LVU213
571 0012 0122 movs r2, #1
572 0014 02FA0EF2 lsl r2, r2, lr
573 .LVL74:
379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 1] Clear interrupt mode */
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->IMR + (EXTI_MODE_OFFSET * offset));
574 .loc 1 381 3 is_stmt 1 view .LVU214
575 .loc 1 381 25 is_stmt 0 view .LVU215
576 0018 5B01 lsls r3, r3, #5
577 .LVL75:
578 .loc 1 381 11 view .LVU216
579 001a 03F18041 add r1, r3, #1073741824
580 001e 01F58231 add r1, r1, #66560
581 .LVL76:
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
582 .loc 1 382 3 is_stmt 1 view .LVU217
583 .loc 1 382 13 is_stmt 0 view .LVU218
584 0022 0868 ldr r0, [r1]
585 .LVL77:
586 .loc 1 382 24 view .LVU219
587 0024 D543 mvns r5, r2
588 .loc 1 382 10 view .LVU220
589 0026 20EA0200 bic r0, r0, r2
590 .LVL78:
383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
591 .loc 1 383 3 is_stmt 1 view .LVU221
592 .loc 1 383 12 is_stmt 0 view .LVU222
593 002a 0860 str r0, [r1]
384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 2] Clear event mode */
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->EMR + (EXTI_MODE_OFFSET * offset));
594 .loc 1 386 3 is_stmt 1 view .LVU223
ARM GAS /tmp/ccpHD71p.s page 19
595 .loc 1 386 11 is_stmt 0 view .LVU224
596 002c 1848 ldr r0, .L49
597 .LVL79:
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
598 .loc 1 387 3 is_stmt 1 view .LVU225
599 .loc 1 387 13 is_stmt 0 view .LVU226
600 002e 1958 ldr r1, [r3, r0]
601 .LVL80:
602 .loc 1 387 10 view .LVU227
603 0030 21EA0202 bic r2, r1, r2
604 .LVL81:
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
605 .loc 1 388 3 is_stmt 1 view .LVU228
606 .loc 1 388 12 is_stmt 0 view .LVU229
607 0034 1A50 str r2, [r3, r0]
389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
608 .loc 1 391 3 is_stmt 1 view .LVU230
609 .loc 1 391 13 is_stmt 0 view .LVU231
610 0036 DCF80020 ldr r2, [ip]
611 .LVL82:
612 .loc 1 391 6 view .LVU232
613 003a 12F0007F tst r2, #33554432
614 003e 24D0 beq .L42
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->RTSR + (EXTI_CONFIG_OFFSET * offset));
615 .loc 1 393 5 is_stmt 1 view .LVU233
616 .loc 1 393 13 is_stmt 0 view .LVU234
617 0040 1449 ldr r1, .L49+4
618 .LVL83:
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
619 .loc 1 394 5 is_stmt 1 view .LVU235
620 .loc 1 394 15 is_stmt 0 view .LVU236
621 0042 5A58 ldr r2, [r3, r1]
622 .loc 1 394 12 view .LVU237
623 0044 2A40 ands r2, r2, r5
624 .LVL84:
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
625 .loc 1 395 5 is_stmt 1 view .LVU238
626 .loc 1 395 14 is_stmt 0 view .LVU239
627 0046 5A50 str r2, [r3, r1]
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->FTSR + (EXTI_CONFIG_OFFSET * offset));
628 .loc 1 397 5 is_stmt 1 view .LVU240
629 .loc 1 397 13 is_stmt 0 view .LVU241
630 0048 134A ldr r2, .L49+8
631 .LVL85:
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
632 .loc 1 398 5 is_stmt 1 view .LVU242
633 .loc 1 398 15 is_stmt 0 view .LVU243
634 004a 9958 ldr r1, [r3, r2]
635 .LVL86:
636 .loc 1 398 12 view .LVU244
637 004c 0D40 ands r5, r5, r1
638 .LVL87:
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
ARM GAS /tmp/ccpHD71p.s page 20
639 .loc 1 399 5 is_stmt 1 view .LVU245
640 .loc 1 399 14 is_stmt 0 view .LVU246
641 004e 9D50 str r5, [r3, r2]
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
642 .loc 1 402 5 is_stmt 1 view .LVU247
643 .loc 1 402 15 is_stmt 0 view .LVU248
644 0050 DCF80030 ldr r3, [ip]
645 .LVL88:
646 .loc 1 402 22 view .LVU249
647 0054 03F0C063 and r3, r3, #100663296
648 .loc 1 402 8 view .LVU250
649 0058 B3F1C06F cmp r3, #100663296
650 005c 01D0 beq .L48
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
651 .loc 1 412 10 view .LVU251
652 005e 0020 movs r0, #0
653 0060 14E0 b .L40
654 .L48:
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
655 .loc 1 404 7 is_stmt 1 view .LVU252
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
656 .loc 1 406 7 view .LVU253
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
657 .loc 1 406 39 is_stmt 0 view .LVU254
658 0062 4FEA9E0E lsr lr, lr, #2
659 .LVL89:
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
660 .loc 1 406 14 view .LVU255
661 0066 0D49 ldr r1, .L49+12
662 0068 0EF1020E add lr, lr, #2
663 006c 51F82E30 ldr r3, [r1, lr, lsl #2]
664 .LVL90:
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
665 .loc 1 407 7 is_stmt 1 view .LVU256
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
666 .loc 1 407 80 is_stmt 0 view .LVU257
667 0070 04F00304 and r4, r4, #3
668 .LVL91:
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
669 .loc 1 407 69 view .LVU258
670 0074 A400 lsls r4, r4, #2
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
671 .loc 1 407 40 view .LVU259
672 0076 0F22 movs r2, #15
673 0078 A240 lsls r2, r2, r4
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
ARM GAS /tmp/ccpHD71p.s page 21
674 .loc 1 407 14 view .LVU260
675 007a 23EA0203 bic r3, r3, r2
676 .LVL92:
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
677 .loc 1 408 7 is_stmt 1 view .LVU261
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
678 .loc 1 408 37 is_stmt 0 view .LVU262
679 007e 41F82E30 str r3, [r1, lr, lsl #2]
680 .loc 1 412 10 view .LVU263
681 0082 0020 movs r0, #0
682 0084 02E0 b .L40
683 .LVL93:
684 .L41:
685 .cfi_def_cfa_offset 0
686 .cfi_restore 4
687 .cfi_restore 5
688 .cfi_restore 14
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
689 .loc 1 369 12 view .LVU264
690 0086 0120 movs r0, #1
691 .LVL94:
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
692 .loc 1 413 1 view .LVU265
693 0088 7047 bx lr
694 .LVL95:
695 .L42:
696 .cfi_def_cfa_offset 12
697 .cfi_offset 4, -12
698 .cfi_offset 5, -8
699 .cfi_offset 14, -4
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
700 .loc 1 412 10 view .LVU266
701 008a 0020 movs r0, #0
702 .LVL96:
703 .L40:
704 .loc 1 413 1 view .LVU267
705 008c 30BD pop {r4, r5, pc}
706 .L50:
707 008e 00BF .align 2
708 .L49:
709 0090 04040140 .word 1073808388
710 0094 08040140 .word 1073808392
711 0098 0C040140 .word 1073808396
712 009c 00000140 .word 1073807360
713 .cfi_endproc
714 .LFE132:
716 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
717 .align 1
718 .global HAL_EXTI_RegisterCallback
719 .syntax unified
720 .thumb
721 .thumb_func
723 HAL_EXTI_RegisterCallback:
724 .LVL97:
725 .LFB133:
414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
ARM GAS /tmp/ccpHD71p.s page 22
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param CallbackID User callback identifier.
419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
726 .loc 1 424 1 is_stmt 1 view -0
727 .cfi_startproc
728 @ args = 0, pretend = 0, frame = 0
729 @ frame_needed = 0, uses_anonymous_args = 0
730 @ link register save eliminated.
731 .loc 1 424 1 is_stmt 0 view .LVU269
732 0000 0346 mov r3, r0
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
733 .loc 1 425 3 is_stmt 1 view .LVU270
734 .LVL98:
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** switch (CallbackID)
735 .loc 1 427 3 view .LVU271
736 0002 0846 mov r0, r1
737 .LVL99:
738 .loc 1 427 3 is_stmt 0 view .LVU272
739 0004 09B9 cbnz r1, .L53
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
740 .loc 1 430 7 is_stmt 1 view .LVU273
741 .loc 1 430 30 is_stmt 0 view .LVU274
742 0006 5A60 str r2, [r3, #4]
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** break;
743 .loc 1 431 7 is_stmt 1 view .LVU275
744 0008 7047 bx lr
745 .L53:
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** default:
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** status = HAL_ERROR;
746 .loc 1 434 14 is_stmt 0 view .LVU276
747 000a 0120 movs r0, #1
748 .LVL100:
435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** break;
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return status;
749 .loc 1 438 3 is_stmt 1 view .LVU277
439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
750 .loc 1 439 1 is_stmt 0 view .LVU278
751 000c 7047 bx lr
752 .cfi_endproc
753 .LFE133:
755 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
756 .align 1
757 .global HAL_EXTI_GetHandle
758 .syntax unified
759 .thumb
ARM GAS /tmp/ccpHD71p.s page 23
760 .thumb_func
762 HAL_EXTI_GetHandle:
763 .LVL101:
764 .LFB134:
440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Store line number as handle private field.
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param ExtiLine Exti line number.
445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
765 .loc 1 449 1 is_stmt 1 view -0
766 .cfi_startproc
767 @ args = 0, pretend = 0, frame = 0
768 @ frame_needed = 0, uses_anonymous_args = 0
769 @ link register save eliminated.
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check the parameters */
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
770 .loc 1 451 3 view .LVU280
452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (hexti == NULL)
771 .loc 1 454 3 view .LVU281
772 .loc 1 454 6 is_stmt 0 view .LVU282
773 0000 10B1 cbz r0, .L56
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store line number as handle private field */
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->Line = ExtiLine;
774 .loc 1 461 5 is_stmt 1 view .LVU283
775 .loc 1 461 17 is_stmt 0 view .LVU284
776 0002 0160 str r1, [r0]
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
777 .loc 1 463 5 is_stmt 1 view .LVU285
778 .loc 1 463 12 is_stmt 0 view .LVU286
779 0004 0020 movs r0, #0
780 .LVL102:
781 .loc 1 463 12 view .LVU287
782 0006 7047 bx lr
783 .LVL103:
784 .L56:
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
785 .loc 1 456 12 view .LVU288
786 0008 0120 movs r0, #1
787 .LVL104:
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
788 .loc 1 465 1 view .LVU289
789 000a 7047 bx lr
790 .cfi_endproc
ARM GAS /tmp/ccpHD71p.s page 24
791 .LFE134:
793 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
794 .align 1
795 .global HAL_EXTI_IRQHandler
796 .syntax unified
797 .thumb
798 .thumb_func
800 HAL_EXTI_IRQHandler:
801 .LVL105:
802 .LFB135:
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @}
469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief EXTI IO functions.
473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @verbatim
475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### IO operation functions #####
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @endverbatim
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval none.
487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
803 .loc 1 489 1 is_stmt 1 view -0
804 .cfi_startproc
805 @ args = 0, pretend = 0, frame = 0
806 @ frame_needed = 0, uses_anonymous_args = 0
807 .loc 1 489 1 is_stmt 0 view .LVU291
808 0000 08B5 push {r3, lr}
809 .cfi_def_cfa_offset 8
810 .cfi_offset 3, -8
811 .cfi_offset 14, -4
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
812 .loc 1 490 3 is_stmt 1 view .LVU292
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
813 .loc 1 491 3 view .LVU293
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
814 .loc 1 492 3 view .LVU294
493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
815 .loc 1 493 3 view .LVU295
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Compute line register offset and line mask */
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
816 .loc 1 496 3 view .LVU296
817 .loc 1 496 19 is_stmt 0 view .LVU297
818 0002 0368 ldr r3, [r0]
ARM GAS /tmp/ccpHD71p.s page 25
819 .loc 1 496 10 view .LVU298
820 0004 C3F30041 ubfx r1, r3, #16, #1
821 .LVL106:
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
822 .loc 1 497 3 is_stmt 1 view .LVU299
823 .loc 1 497 35 is_stmt 0 view .LVU300
824 0008 03F01F03 and r3, r3, #31
825 .loc 1 497 12 view .LVU301
826 000c 0122 movs r2, #1
827 000e 02FA03F3 lsl r3, r2, r3
828 .LVL107:
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get pending bit */
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->PR + (EXTI_CONFIG_OFFSET * offset));
829 .loc 1 500 3 is_stmt 1 view .LVU302
830 .loc 1 500 24 is_stmt 0 view .LVU303
831 0012 4A01 lsls r2, r1, #5
832 .loc 1 500 11 view .LVU304
833 0014 0449 ldr r1, .L60
834 .LVL108:
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & maskline);
835 .loc 1 501 3 is_stmt 1 view .LVU305
836 .loc 1 501 13 is_stmt 0 view .LVU306
837 0016 5258 ldr r2, [r2, r1]
838 .LVL109:
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (regval != 0x00u)
839 .loc 1 503 3 is_stmt 1 view .LVU307
840 .loc 1 503 6 is_stmt 0 view .LVU308
841 0018 1A42 tst r2, r3
842 001a 04D0 beq .L57
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Clear pending bit */
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI->PR = maskline;
843 .loc 1 506 5 is_stmt 1 view .LVU309
844 .loc 1 506 14 is_stmt 0 view .LVU310
845 001c 034A ldr r2, .L60+4
846 .LVL110:
847 .loc 1 506 14 view .LVU311
848 001e 5361 str r3, [r2, #20]
849 .LVL111:
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Call callback */
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
850 .loc 1 509 5 is_stmt 1 view .LVU312
851 .loc 1 509 14 is_stmt 0 view .LVU313
852 0020 4368 ldr r3, [r0, #4]
853 .LVL112:
854 .loc 1 509 8 view .LVU314
855 0022 03B1 cbz r3, .L57
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->PendingCallback();
856 .loc 1 511 7 is_stmt 1 view .LVU315
857 0024 9847 blx r3
858 .LVL113:
859 .L57:
512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
ARM GAS /tmp/ccpHD71p.s page 26
513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
860 .loc 1 514 1 is_stmt 0 view .LVU316
861 0026 08BD pop {r3, pc}
862 .L61:
863 .align 2
864 .L60:
865 0028 14040140 .word 1073808404
866 002c 00040140 .word 1073808384
867 .cfi_endproc
868 .LFE135:
870 .section .text.HAL_EXTI_GetPending,"ax",%progbits
871 .align 1
872 .global HAL_EXTI_GetPending
873 .syntax unified
874 .thumb
875 .thumb_func
877 HAL_EXTI_GetPending:
878 .LVL114:
879 .LFB136:
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked.
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be one of the following values:
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
880 .loc 1 526 1 is_stmt 1 view -0
881 .cfi_startproc
882 @ args = 0, pretend = 0, frame = 0
883 @ frame_needed = 0, uses_anonymous_args = 0
884 @ link register save eliminated.
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
885 .loc 1 527 3 view .LVU318
528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
886 .loc 1 528 3 view .LVU319
529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
887 .loc 1 529 3 view .LVU320
530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
888 .loc 1 530 3 view .LVU321
531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
889 .loc 1 531 3 view .LVU322
532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
890 .loc 1 534 3 view .LVU323
535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
891 .loc 1 535 3 view .LVU324
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
892 .loc 1 536 3 view .LVU325
537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
ARM GAS /tmp/ccpHD71p.s page 27
539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
893 .loc 1 539 3 view .LVU326
894 .loc 1 539 19 is_stmt 0 view .LVU327
895 0000 0368 ldr r3, [r0]
896 .loc 1 539 10 view .LVU328
897 0002 C3F30041 ubfx r1, r3, #16, #1
898 .LVL115:
540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
899 .loc 1 540 3 is_stmt 1 view .LVU329
900 .loc 1 540 11 is_stmt 0 view .LVU330
901 0006 03F01F03 and r3, r3, #31
902 .LVL116:
541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
903 .loc 1 541 3 is_stmt 1 view .LVU331
904 .loc 1 541 12 is_stmt 0 view .LVU332
905 000a 0122 movs r2, #1
906 000c 9A40 lsls r2, r2, r3
907 .LVL117:
542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get pending bit */
544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->PR + (EXTI_CONFIG_OFFSET * offset));
908 .loc 1 544 3 is_stmt 1 view .LVU333
909 .loc 1 544 24 is_stmt 0 view .LVU334
910 000e 4901 lsls r1, r1, #5
911 .LVL118:
912 .loc 1 544 11 view .LVU335
913 0010 0248 ldr r0, .L63
914 .LVL119:
545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* return 1 if bit is set else 0 */
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = ((*regaddr & maskline) >> linepos);
915 .loc 1 546 3 is_stmt 1 view .LVU336
916 .loc 1 546 14 is_stmt 0 view .LVU337
917 0012 0858 ldr r0, [r1, r0]
918 .LVL120:
919 .loc 1 546 23 view .LVU338
920 0014 1040 ands r0, r0, r2
921 .LVL121:
547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return regval;
922 .loc 1 547 3 is_stmt 1 view .LVU339
548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
923 .loc 1 548 1 is_stmt 0 view .LVU340
924 0016 D840 lsrs r0, r0, r3
925 .LVL122:
926 .loc 1 548 1 view .LVU341
927 0018 7047 bx lr
928 .L64:
929 001a 00BF .align 2
930 .L63:
931 001c 14040140 .word 1073808404
932 .cfi_endproc
933 .LFE136:
935 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
936 .align 1
937 .global HAL_EXTI_ClearPending
938 .syntax unified
939 .thumb
940 .thumb_func
ARM GAS /tmp/ccpHD71p.s page 28
942 HAL_EXTI_ClearPending:
943 .LVL123:
944 .LFB137:
549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear.
554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be one of the following values:
555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval None.
558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
945 .loc 1 560 1 is_stmt 1 view -0
946 .cfi_startproc
947 @ args = 0, pretend = 0, frame = 0
948 @ frame_needed = 0, uses_anonymous_args = 0
949 @ link register save eliminated.
561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
950 .loc 1 561 3 view .LVU343
562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
951 .loc 1 562 3 view .LVU344
563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
952 .loc 1 563 3 view .LVU345
564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
953 .loc 1 566 3 view .LVU346
567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
954 .loc 1 567 3 view .LVU347
568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
955 .loc 1 568 3 view .LVU348
569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
956 .loc 1 571 3 view .LVU349
957 .loc 1 571 19 is_stmt 0 view .LVU350
958 0000 0368 ldr r3, [r0]
959 .loc 1 571 10 view .LVU351
960 0002 C3F30042 ubfx r2, r3, #16, #1
961 .LVL124:
572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
962 .loc 1 572 3 is_stmt 1 view .LVU352
963 .loc 1 572 35 is_stmt 0 view .LVU353
964 0006 03F01F03 and r3, r3, #31
965 .loc 1 572 12 view .LVU354
966 000a 0121 movs r1, #1
967 .LVL125:
968 .loc 1 572 12 view .LVU355
969 000c 9940 lsls r1, r1, r3
970 .LVL126:
573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get pending bit */
575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->PR + (EXTI_CONFIG_OFFSET * offset));
971 .loc 1 575 3 is_stmt 1 view .LVU356
ARM GAS /tmp/ccpHD71p.s page 29
972 .loc 1 575 24 is_stmt 0 view .LVU357
973 000e 5301 lsls r3, r2, #5
974 .loc 1 575 11 view .LVU358
975 0010 014A ldr r2, .L66
976 .LVL127:
576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Clear Pending bit */
578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = maskline;
977 .loc 1 578 3 is_stmt 1 view .LVU359
978 .loc 1 578 12 is_stmt 0 view .LVU360
979 0012 9950 str r1, [r3, r2]
980 .LVL128:
579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
981 .loc 1 579 1 view .LVU361
982 0014 7047 bx lr
983 .L67:
984 0016 00BF .align 2
985 .L66:
986 0018 14040140 .word 1073808404
987 .cfi_endproc
988 .LFE137:
990 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
991 .align 1
992 .global HAL_EXTI_GenerateSWI
993 .syntax unified
994 .thumb
995 .thumb_func
997 HAL_EXTI_GenerateSWI:
998 .LVL129:
999 .LFB138:
580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval None.
585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
1000 .loc 1 587 1 is_stmt 1 view -0
1001 .cfi_startproc
1002 @ args = 0, pretend = 0, frame = 0
1003 @ frame_needed = 0, uses_anonymous_args = 0
1004 @ link register save eliminated.
588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
1005 .loc 1 588 3 view .LVU363
589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
1006 .loc 1 589 3 view .LVU364
590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
1007 .loc 1 590 3 view .LVU365
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
1008 .loc 1 593 3 view .LVU366
594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
1009 .loc 1 594 3 view .LVU367
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
ARM GAS /tmp/ccpHD71p.s page 30
597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
1010 .loc 1 597 3 view .LVU368
1011 .loc 1 597 19 is_stmt 0 view .LVU369
1012 0000 0368 ldr r3, [r0]
1013 .loc 1 597 10 view .LVU370
1014 0002 C3F30042 ubfx r2, r3, #16, #1
1015 .LVL130:
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
1016 .loc 1 598 3 is_stmt 1 view .LVU371
1017 .loc 1 598 35 is_stmt 0 view .LVU372
1018 0006 03F01F03 and r3, r3, #31
1019 .loc 1 598 12 view .LVU373
1020 000a 0121 movs r1, #1
1021 000c 9940 lsls r1, r1, r3
1022 .LVL131:
599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->SWIER + (EXTI_CONFIG_OFFSET * offset));
1023 .loc 1 600 3 is_stmt 1 view .LVU374
1024 .loc 1 600 27 is_stmt 0 view .LVU375
1025 000e 5301 lsls r3, r2, #5
1026 .loc 1 600 11 view .LVU376
1027 0010 014A ldr r2, .L69
1028 .LVL132:
601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = maskline;
1029 .loc 1 601 3 is_stmt 1 view .LVU377
1030 .loc 1 601 12 is_stmt 0 view .LVU378
1031 0012 9950 str r1, [r3, r2]
1032 .LVL133:
602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
1033 .loc 1 602 1 view .LVU379
1034 0014 7047 bx lr
1035 .L70:
1036 0016 00BF .align 2
1037 .L69:
1038 0018 10040140 .word 1073808400
1039 .cfi_endproc
1040 .LFE138:
1042 .text
1043 .Letext0:
1044 .file 2 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
1045 .file 3 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
1046 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
1047 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
1048 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_exti.h"
ARM GAS /tmp/ccpHD71p.s page 31
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f3xx_hal_exti.c
/tmp/ccpHD71p.s:21 .text.HAL_EXTI_SetConfigLine:0000000000000000 $t
/tmp/ccpHD71p.s:27 .text.HAL_EXTI_SetConfigLine:0000000000000000 HAL_EXTI_SetConfigLine
/tmp/ccpHD71p.s:293 .text.HAL_EXTI_SetConfigLine:00000000000000cc $d
/tmp/ccpHD71p.s:301 .text.HAL_EXTI_GetConfigLine:0000000000000000 $t
/tmp/ccpHD71p.s:307 .text.HAL_EXTI_GetConfigLine:0000000000000000 HAL_EXTI_GetConfigLine
/tmp/ccpHD71p.s:521 .text.HAL_EXTI_GetConfigLine:00000000000000ac $d
/tmp/ccpHD71p.s:529 .text.HAL_EXTI_ClearConfigLine:0000000000000000 $t
/tmp/ccpHD71p.s:535 .text.HAL_EXTI_ClearConfigLine:0000000000000000 HAL_EXTI_ClearConfigLine
/tmp/ccpHD71p.s:709 .text.HAL_EXTI_ClearConfigLine:0000000000000090 $d
/tmp/ccpHD71p.s:717 .text.HAL_EXTI_RegisterCallback:0000000000000000 $t
/tmp/ccpHD71p.s:723 .text.HAL_EXTI_RegisterCallback:0000000000000000 HAL_EXTI_RegisterCallback
/tmp/ccpHD71p.s:756 .text.HAL_EXTI_GetHandle:0000000000000000 $t
/tmp/ccpHD71p.s:762 .text.HAL_EXTI_GetHandle:0000000000000000 HAL_EXTI_GetHandle
/tmp/ccpHD71p.s:794 .text.HAL_EXTI_IRQHandler:0000000000000000 $t
/tmp/ccpHD71p.s:800 .text.HAL_EXTI_IRQHandler:0000000000000000 HAL_EXTI_IRQHandler
/tmp/ccpHD71p.s:865 .text.HAL_EXTI_IRQHandler:0000000000000028 $d
/tmp/ccpHD71p.s:871 .text.HAL_EXTI_GetPending:0000000000000000 $t
/tmp/ccpHD71p.s:877 .text.HAL_EXTI_GetPending:0000000000000000 HAL_EXTI_GetPending
/tmp/ccpHD71p.s:931 .text.HAL_EXTI_GetPending:000000000000001c $d
/tmp/ccpHD71p.s:936 .text.HAL_EXTI_ClearPending:0000000000000000 $t
/tmp/ccpHD71p.s:942 .text.HAL_EXTI_ClearPending:0000000000000000 HAL_EXTI_ClearPending
/tmp/ccpHD71p.s:986 .text.HAL_EXTI_ClearPending:0000000000000018 $d
/tmp/ccpHD71p.s:991 .text.HAL_EXTI_GenerateSWI:0000000000000000 $t
/tmp/ccpHD71p.s:997 .text.HAL_EXTI_GenerateSWI:0000000000000000 HAL_EXTI_GenerateSWI
/tmp/ccpHD71p.s:1038 .text.HAL_EXTI_GenerateSWI:0000000000000018 $d
NO UNDEFINED SYMBOLS