Files
RadioPhotonic_PCB_software/build/stm32f7xx_hal_exti.lst

1555 lines
90 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS /tmp/ccq3Qi7K.s page 1
1 .cpu cortex-m7
2 .arch armv7e-m
3 .fpu fpv5-d16
4 .eabi_attribute 28, 1
5 .eabi_attribute 20, 1
6 .eabi_attribute 21, 1
7 .eabi_attribute 23, 3
8 .eabi_attribute 24, 1
9 .eabi_attribute 25, 1
10 .eabi_attribute 26, 1
11 .eabi_attribute 30, 1
12 .eabi_attribute 34, 1
13 .eabi_attribute 18, 4
14 .file "stm32f7xx_hal_exti.c"
15 .text
16 .Ltext0:
17 .cfi_sections .debug_frame
18 .file 1 "Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c"
19 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits
20 .align 1
21 .global HAL_EXTI_SetConfigLine
22 .syntax unified
23 .thumb
24 .thumb_func
26 HAL_EXTI_SetConfigLine:
27 .LVL0:
28 .LFB141:
1:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
2:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ******************************************************************************
3:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @file stm32F7xx_hal_exti.c
4:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @author MCD Application Team
5:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief EXTI HAL module driver.
6:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral:
8:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * + IO operation functions
10:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** *
11:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ******************************************************************************
12:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @attention
13:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** *
14:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * Copyright (c) 2018 STMicroelectronics.
15:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * All rights reserved.
16:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** *
17:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This software is licensed under terms that can be found in the LICENSE file
18:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * in the root directory of this software component.
19:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
20:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** *
21:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ******************************************************************************
22:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @verbatim
23:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ==============================================================================
24:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ##### EXTI Peripheral features #####
25:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ==============================================================================
26:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** [..]
27:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) Each Exti line can be configured within this driver.
28:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
29:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes
30:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Interrupt
ARM GAS /tmp/ccq3Qi7K.s page 2
31:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Event
32:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Both of them
33:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
34:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers
35:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Rising
36:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Falling
37:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Both of them
38:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
39:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different
40:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition
41:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** occurs:
42:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Rising edge pending interrupt
43:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Falling
44:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
45:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can
46:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** be selected through multiplexer.
47:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
48:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ##### How to use this driver #####
49:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ==============================================================================
50:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** [..]
51:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
52:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
53:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from
54:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
55:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from
56:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
57:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger
58:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure.
59:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
60:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** member from GPIO_InitTypeDef structure.
61:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
62:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using
63:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_EXTI_GetConfigLine().
64:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide exiting handle as parameter.
65:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
66:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
67:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_ClearConfigLine().
68:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide exiting handle as parameter.
69:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
70:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
71:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide exiting handle as first parameter.
72:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide which callback will be registered using one value from
73:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI_CallbackIDTypeDef.
74:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (++) Provide callback function pointer.
75:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
76:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending().
77:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
78:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_ClearPending().
79:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
80:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
81:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
82:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @endverbatim
83:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
84:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
85:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
86:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** #include "stm32f7xx_hal.h"
87:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
ARM GAS /tmp/ccq3Qi7K.s page 3
88:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup STM32F7xx_HAL_Driver
89:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{
90:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
91:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
92:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup EXTI
93:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{
94:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
95:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
96:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
97:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * of bounds [0,3] in following API :
98:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * HAL_EXTI_SetConfigLine
99:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * HAL_EXTI_GetConfigLine
100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine
101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/
107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{
109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @}
113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{
122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Configuration functions
126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** *
127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @verbatim
128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ===============================================================================
129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ##### Configuration functions #####
130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ===============================================================================
131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @endverbatim
133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{
134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line.
138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle.
139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set.
140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status.
141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
29 .loc 1 143 1 view -0
ARM GAS /tmp/ccq3Qi7K.s page 4
30 .cfi_startproc
31 @ args = 0, pretend = 0, frame = 0
32 @ frame_needed = 0, uses_anonymous_args = 0
33 @ link register save eliminated.
144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval;
34 .loc 1 144 3 view .LVU1
145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t linepos;
35 .loc 1 145 3 view .LVU2
146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline;
36 .loc 1 146 3 view .LVU3
147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check null pointer */
149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
37 .loc 1 149 3 view .LVU4
38 .loc 1 149 6 is_stmt 0 view .LVU5
39 0000 0029 cmp r1, #0
40 0002 18BF it ne
41 0004 0028 cmpne r0, #0
42 0006 5FD0 beq .L11
143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval;
43 .loc 1 143 1 view .LVU6
44 0008 70B4 push {r4, r5, r6}
45 .LCFI0:
46 .cfi_def_cfa_offset 12
47 .cfi_offset 4, -12
48 .cfi_offset 5, -8
49 .cfi_offset 6, -4
50 000a 0B46 mov r3, r1
150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_ERROR;
152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check parameters */
155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line));
51 .loc 1 155 3 is_stmt 1 view .LVU7
156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
52 .loc 1 156 3 view .LVU8
157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Assign line number to handle */
159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** hexti->Line = pExtiConfig->Line;
53 .loc 1 159 3 view .LVU9
54 .loc 1 159 28 is_stmt 0 view .LVU10
55 000c 0968 ldr r1, [r1]
56 .LVL1:
57 .loc 1 159 15 view .LVU11
58 000e 0160 str r1, [r0]
160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */
162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
59 .loc 1 162 3 is_stmt 1 view .LVU12
60 .loc 1 162 11 is_stmt 0 view .LVU13
61 0010 01F01F00 and r0, r1, #31
62 .LVL2:
163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << linepos);
63 .loc 1 163 3 is_stmt 1 view .LVU14
64 .loc 1 163 12 is_stmt 0 view .LVU15
65 0014 0122 movs r2, #1
ARM GAS /tmp/ccq3Qi7K.s page 5
66 0016 8240 lsls r2, r2, r0
67 .LVL3:
164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure triggers for configurable lines */
166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
68 .loc 1 166 3 is_stmt 1 view .LVU16
69 .loc 1 166 6 is_stmt 0 view .LVU17
70 0018 11F0007F tst r1, #33554432
71 001c 15D0 beq .L3
167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
72 .loc 1 168 5 is_stmt 1 view .LVU18
169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure rising trigger */
171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Mask or set line */
172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
73 .loc 1 172 5 view .LVU19
74 .loc 1 172 21 is_stmt 0 view .LVU20
75 001e 9C68 ldr r4, [r3, #8]
76 .loc 1 172 8 view .LVU21
77 0020 14F0010F tst r4, #1
78 0024 24D0 beq .L4
173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->RTSR |= maskline;
79 .loc 1 174 7 is_stmt 1 view .LVU22
80 .loc 1 174 11 is_stmt 0 view .LVU23
81 0026 294D ldr r5, .L17
82 0028 AC68 ldr r4, [r5, #8]
83 .loc 1 174 18 view .LVU24
84 002a 1443 orrs r4, r4, r2
85 002c AC60 str r4, [r5, #8]
86 .L5:
175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else
177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->RTSR &= ~maskline;
179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure falling trigger */
182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Mask or set line */
183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
87 .loc 1 183 5 is_stmt 1 view .LVU25
88 .loc 1 183 21 is_stmt 0 view .LVU26
89 002e 9C68 ldr r4, [r3, #8]
90 .loc 1 183 8 view .LVU27
91 0030 14F0020F tst r4, #2
92 0034 22D0 beq .L6
184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->FTSR |= maskline;
93 .loc 1 185 7 is_stmt 1 view .LVU28
94 .loc 1 185 11 is_stmt 0 view .LVU29
95 0036 254D ldr r5, .L17
96 0038 EC68 ldr r4, [r5, #12]
97 .loc 1 185 18 view .LVU30
98 003a 1443 orrs r4, r4, r2
99 003c EC60 str r4, [r5, #12]
100 .L7:
ARM GAS /tmp/ccq3Qi7K.s page 6
186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else
188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->FTSR &= ~maskline;
190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */
194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
101 .loc 1 194 5 is_stmt 1 view .LVU31
102 .loc 1 194 28 is_stmt 0 view .LVU32
103 003e 1C68 ldr r4, [r3]
104 0040 04F0C06C and ip, r4, #100663296
105 .loc 1 194 8 view .LVU33
106 0044 BCF1C06F cmp ip, #100663296
107 0048 1ED0 beq .L16
108 .LVL4:
109 .L3:
195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure interrupt mode : read current mode */
207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Mask or set line */
208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
110 .loc 1 208 3 is_stmt 1 view .LVU34
111 .loc 1 208 19 is_stmt 0 view .LVU35
112 004a 5968 ldr r1, [r3, #4]
113 .loc 1 208 6 view .LVU36
114 004c 11F0010F tst r1, #1
115 0050 2DD0 beq .L8
209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->IMR |= maskline;
116 .loc 1 210 5 is_stmt 1 view .LVU37
117 .loc 1 210 9 is_stmt 0 view .LVU38
118 0052 1E48 ldr r0, .L17
119 0054 0168 ldr r1, [r0]
120 .loc 1 210 15 view .LVU39
121 0056 1143 orrs r1, r1, r2
122 0058 0160 str r1, [r0]
123 .L9:
211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else
213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->IMR &= ~maskline;
215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Configure event mode : read current mode */
218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Mask or set line */
219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
ARM GAS /tmp/ccq3Qi7K.s page 7
124 .loc 1 219 3 is_stmt 1 view .LVU40
125 .loc 1 219 19 is_stmt 0 view .LVU41
126 005a 5B68 ldr r3, [r3, #4]
127 .LVL5:
128 .loc 1 219 6 view .LVU42
129 005c 13F0020F tst r3, #2
130 0060 2BD0 beq .L10
220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->EMR |= maskline;
131 .loc 1 221 5 is_stmt 1 view .LVU43
132 .loc 1 221 9 is_stmt 0 view .LVU44
133 0062 1A49 ldr r1, .L17
134 0064 4B68 ldr r3, [r1, #4]
135 .loc 1 221 15 view .LVU45
136 0066 1343 orrs r3, r3, r2
137 0068 4B60 str r3, [r1, #4]
222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else
224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->EMR &= ~maskline;
226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_OK;
138 .loc 1 228 10 view .LVU46
139 006a 0020 movs r0, #0
140 .L2:
229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
141 .loc 1 229 1 view .LVU47
142 006c 70BC pop {r4, r5, r6}
143 .LCFI1:
144 .cfi_remember_state
145 .cfi_restore 6
146 .cfi_restore 5
147 .cfi_restore 4
148 .cfi_def_cfa_offset 0
149 006e 7047 bx lr
150 .LVL6:
151 .L4:
152 .LCFI2:
153 .cfi_restore_state
178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
154 .loc 1 178 7 is_stmt 1 view .LVU48
178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
155 .loc 1 178 11 is_stmt 0 view .LVU49
156 0070 164D ldr r5, .L17
157 0072 AC68 ldr r4, [r5, #8]
178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
158 .loc 1 178 18 view .LVU50
159 0074 24EA0204 bic r4, r4, r2
160 0078 AC60 str r4, [r5, #8]
161 007a D8E7 b .L5
162 .L6:
189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
163 .loc 1 189 7 is_stmt 1 view .LVU51
189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
164 .loc 1 189 11 is_stmt 0 view .LVU52
165 007c 134D ldr r5, .L17
ARM GAS /tmp/ccq3Qi7K.s page 8
166 007e EC68 ldr r4, [r5, #12]
189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
167 .loc 1 189 18 view .LVU53
168 0080 24EA0204 bic r4, r4, r2
169 0084 EC60 str r4, [r5, #12]
170 0086 DAE7 b .L7
171 .L16:
196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
172 .loc 1 196 7 is_stmt 1 view .LVU54
197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
173 .loc 1 197 7 view .LVU55
199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
174 .loc 1 199 7 view .LVU56
199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
175 .loc 1 199 39 is_stmt 0 view .LVU57
176 0088 8008 lsrs r0, r0, #2
177 .LVL7:
199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
178 .loc 1 199 14 view .LVU58
179 008a 114E ldr r6, .L17+4
180 008c 0230 adds r0, r0, #2
181 008e 56F82040 ldr r4, [r6, r0, lsl #2]
182 .LVL8:
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
183 .loc 1 200 7 is_stmt 1 view .LVU59
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
184 .loc 1 200 80 is_stmt 0 view .LVU60
185 0092 01F00301 and r1, r1, #3
186 .LVL9:
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
187 .loc 1 200 69 view .LVU61
188 0096 8900 lsls r1, r1, #2
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
189 .loc 1 200 40 view .LVU62
190 0098 0F25 movs r5, #15
191 009a 8D40 lsls r5, r5, r1
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
192 .loc 1 200 14 view .LVU63
193 009c 24EA0504 bic r4, r4, r5
194 .LVL10:
201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
195 .loc 1 201 7 is_stmt 1 view .LVU64
201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
196 .loc 1 201 39 is_stmt 0 view .LVU65
197 00a0 DD68 ldr r5, [r3, #12]
198 00a2 05FA01F1 lsl r1, r5, r1
201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
199 .loc 1 201 14 view .LVU66
200 00a6 2143 orrs r1, r1, r4
201 .LVL11:
202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
202 .loc 1 202 7 is_stmt 1 view .LVU67
202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
203 .loc 1 202 37 is_stmt 0 view .LVU68
204 00a8 46F82010 str r1, [r6, r0, lsl #2]
205 00ac CDE7 b .L3
206 .LVL12:
ARM GAS /tmp/ccq3Qi7K.s page 9
207 .L8:
214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
208 .loc 1 214 5 is_stmt 1 view .LVU69
214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
209 .loc 1 214 9 is_stmt 0 view .LVU70
210 00ae 0748 ldr r0, .L17
211 00b0 0168 ldr r1, [r0]
214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
212 .loc 1 214 15 view .LVU71
213 00b2 21EA0201 bic r1, r1, r2
214 00b6 0160 str r1, [r0]
215 00b8 CFE7 b .L9
216 .LVL13:
217 .L10:
225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
218 .loc 1 225 5 is_stmt 1 view .LVU72
225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
219 .loc 1 225 9 is_stmt 0 view .LVU73
220 00ba 0449 ldr r1, .L17
221 00bc 4B68 ldr r3, [r1, #4]
225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
222 .loc 1 225 15 view .LVU74
223 00be 23EA0203 bic r3, r3, r2
224 00c2 4B60 str r3, [r1, #4]
228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
225 .loc 1 228 10 view .LVU75
226 00c4 0020 movs r0, #0
227 00c6 D1E7 b .L2
228 .LVL14:
229 .L11:
230 .LCFI3:
231 .cfi_def_cfa_offset 0
232 .cfi_restore 4
233 .cfi_restore 5
234 .cfi_restore 6
151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
235 .loc 1 151 12 view .LVU76
236 00c8 0120 movs r0, #1
237 .LVL15:
238 .loc 1 229 1 view .LVU77
239 00ca 7047 bx lr
240 .L18:
241 .align 2
242 .L17:
243 00cc 003C0140 .word 1073822720
244 00d0 00380140 .word 1073821696
245 .cfi_endproc
246 .LFE141:
248 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
249 .align 1
250 .global HAL_EXTI_GetConfigLine
251 .syntax unified
252 .thumb
253 .thumb_func
255 HAL_EXTI_GetConfigLine:
256 .LVL16:
257 .LFB142:
ARM GAS /tmp/ccq3Qi7K.s page 10
230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line.
233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle.
234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration.
235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status.
236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
258 .loc 1 238 1 is_stmt 1 view -0
259 .cfi_startproc
260 @ args = 0, pretend = 0, frame = 0
261 @ frame_needed = 0, uses_anonymous_args = 0
262 @ link register save eliminated.
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval;
263 .loc 1 239 3 view .LVU79
240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t linepos;
264 .loc 1 240 3 view .LVU80
241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline;
265 .loc 1 241 3 view .LVU81
242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check null pointer */
244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
266 .loc 1 244 3 view .LVU82
267 .loc 1 244 6 is_stmt 0 view .LVU83
268 0000 0029 cmp r1, #0
269 0002 18BF it ne
270 0004 0028 cmpne r0, #0
271 0006 44D0 beq .L26
238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval;
272 .loc 1 238 1 view .LVU84
273 0008 10B4 push {r4}
274 .LCFI4:
275 .cfi_def_cfa_offset 4
276 .cfi_offset 4, -4
277 000a 0B46 mov r3, r1
245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_ERROR;
247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check the parameter */
250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
278 .loc 1 250 3 is_stmt 1 view .LVU85
251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Store handle line number to configuration structure */
253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Line = hexti->Line;
279 .loc 1 253 3 view .LVU86
280 .loc 1 253 28 is_stmt 0 view .LVU87
281 000c 0468 ldr r4, [r0]
282 .loc 1 253 21 view .LVU88
283 000e 0C60 str r4, [r1]
254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */
256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
284 .loc 1 256 3 is_stmt 1 view .LVU89
285 .loc 1 256 11 is_stmt 0 view .LVU90
286 0010 04F01F0C and ip, r4, #31
ARM GAS /tmp/ccq3Qi7K.s page 11
287 .LVL17:
257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << linepos);
288 .loc 1 257 3 is_stmt 1 view .LVU91
289 .loc 1 257 12 is_stmt 0 view .LVU92
290 0014 0122 movs r2, #1
291 0016 02FA0CF2 lsl r2, r2, ip
292 .LVL18:
258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 1] Get core mode : interrupt */
260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check if selected line is enable */
262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((EXTI->IMR & maskline) != 0x00u)
293 .loc 1 262 3 is_stmt 1 view .LVU93
294 .loc 1 262 12 is_stmt 0 view .LVU94
295 001a 2148 ldr r0, .L34
296 .LVL19:
297 .loc 1 262 12 view .LVU95
298 001c 0068 ldr r0, [r0]
299 .loc 1 262 6 view .LVU96
300 001e 1042 tst r0, r2
301 0020 24D0 beq .L21
263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
302 .loc 1 264 5 is_stmt 1 view .LVU97
303 .loc 1 264 23 is_stmt 0 view .LVU98
304 0022 0121 movs r1, #1
305 .LVL20:
306 .loc 1 264 23 view .LVU99
307 0024 5960 str r1, [r3, #4]
308 .L22:
265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else
267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE;
269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get event mode */
272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check if selected line is enable */
273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((EXTI->EMR & maskline) != 0x00u)
309 .loc 1 273 3 is_stmt 1 view .LVU100
310 .loc 1 273 12 is_stmt 0 view .LVU101
311 0026 1E48 ldr r0, .L34
312 0028 4068 ldr r0, [r0, #4]
313 .loc 1 273 6 view .LVU102
314 002a 1042 tst r0, r2
315 002c 03D0 beq .L23
274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT;
316 .loc 1 275 5 is_stmt 1 view .LVU103
317 .loc 1 275 16 is_stmt 0 view .LVU104
318 002e 5868 ldr r0, [r3, #4]
319 .loc 1 275 23 view .LVU105
320 0030 40F00200 orr r0, r0, #2
321 0034 5860 str r0, [r3, #4]
322 .L23:
276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
ARM GAS /tmp/ccq3Qi7K.s page 12
278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get default Trigger and GPIOSel configuration */
279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
323 .loc 1 279 3 is_stmt 1 view .LVU106
324 .loc 1 279 24 is_stmt 0 view .LVU107
325 0036 0021 movs r1, #0
326 0038 9960 str r1, [r3, #8]
280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
327 .loc 1 280 3 is_stmt 1 view .LVU108
328 .loc 1 280 24 is_stmt 0 view .LVU109
329 003a D960 str r1, [r3, #12]
281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
330 .loc 1 283 3 is_stmt 1 view .LVU110
331 .loc 1 283 6 is_stmt 0 view .LVU111
332 003c 14F0007F tst r4, #33554432
333 0040 29D0 beq .L27
284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check if configuration of selected line is enable */
286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((EXTI->RTSR & maskline) != 0x00u)
334 .loc 1 286 5 is_stmt 1 view .LVU112
335 .loc 1 286 14 is_stmt 0 view .LVU113
336 0042 1749 ldr r1, .L34
337 0044 8968 ldr r1, [r1, #8]
338 .loc 1 286 8 view .LVU114
339 0046 1142 tst r1, r2
340 0048 01D0 beq .L24
287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
341 .loc 1 288 7 is_stmt 1 view .LVU115
342 .loc 1 288 28 is_stmt 0 view .LVU116
343 004a 0121 movs r1, #1
344 004c 9960 str r1, [r3, #8]
345 .L24:
289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get falling configuration */
292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check if configuration of selected line is enable */
293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((EXTI->FTSR & maskline) != 0x00u)
346 .loc 1 293 5 is_stmt 1 view .LVU117
347 .loc 1 293 14 is_stmt 0 view .LVU118
348 004e 1449 ldr r1, .L34
349 0050 C968 ldr r1, [r1, #12]
350 .loc 1 293 8 view .LVU119
351 0052 1142 tst r1, r2
352 0054 03D0 beq .L25
294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
353 .loc 1 295 7 is_stmt 1 view .LVU120
354 .loc 1 295 18 is_stmt 0 view .LVU121
355 0056 9A68 ldr r2, [r3, #8]
356 .LVL21:
357 .loc 1 295 28 view .LVU122
358 0058 42F00202 orr r2, r2, #2
359 005c 9A60 str r2, [r3, #8]
360 .L25:
296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
ARM GAS /tmp/ccq3Qi7K.s page 13
297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
361 .loc 1 299 5 is_stmt 1 view .LVU123
362 .loc 1 299 28 is_stmt 0 view .LVU124
363 005e 04F0C062 and r2, r4, #100663296
364 .loc 1 299 8 view .LVU125
365 0062 B2F1C06F cmp r2, #100663296
366 0066 04D0 beq .L33
300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_OK;
367 .loc 1 308 10 view .LVU126
368 0068 0020 movs r0, #0
369 006a 15E0 b .L20
370 .LVL22:
371 .L21:
268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
372 .loc 1 268 5 is_stmt 1 view .LVU127
268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
373 .loc 1 268 23 is_stmt 0 view .LVU128
374 006c 0021 movs r1, #0
375 .LVL23:
268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
376 .loc 1 268 23 view .LVU129
377 006e 5960 str r1, [r3, #4]
378 0070 D9E7 b .L22
379 .LVL24:
380 .L33:
301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
381 .loc 1 301 7 is_stmt 1 view .LVU130
303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
382 .loc 1 303 7 view .LVU131
303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
383 .loc 1 303 39 is_stmt 0 view .LVU132
384 0072 4FEA9C01 lsr r1, ip, #2
303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
385 .loc 1 303 14 view .LVU133
386 0076 0231 adds r1, r1, #2
387 0078 0A4A ldr r2, .L34+4
388 007a 52F82110 ldr r1, [r2, r1, lsl #2]
389 .LVL25:
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
390 .loc 1 304 7 is_stmt 1 view .LVU134
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
391 .loc 1 304 78 is_stmt 0 view .LVU135
392 007e 04F00302 and r2, r4, #3
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
393 .loc 1 304 67 view .LVU136
394 0082 9200 lsls r2, r2, #2
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
ARM GAS /tmp/ccq3Qi7K.s page 14
395 .loc 1 304 38 view .LVU137
396 0084 21FA02F2 lsr r2, r1, r2
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
397 .loc 1 304 89 view .LVU138
398 0088 02F00F02 and r2, r2, #15
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
399 .loc 1 304 28 view .LVU139
400 008c DA60 str r2, [r3, #12]
401 .loc 1 308 10 view .LVU140
402 008e 0020 movs r0, #0
403 0090 02E0 b .L20
404 .LVL26:
405 .L26:
406 .LCFI5:
407 .cfi_def_cfa_offset 0
408 .cfi_restore 4
246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
409 .loc 1 246 12 view .LVU141
410 0092 0120 movs r0, #1
411 .LVL27:
309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
412 .loc 1 309 1 view .LVU142
413 0094 7047 bx lr
414 .LVL28:
415 .L27:
416 .LCFI6:
417 .cfi_def_cfa_offset 4
418 .cfi_offset 4, -4
308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
419 .loc 1 308 10 view .LVU143
420 0096 0020 movs r0, #0
421 .LVL29:
422 .L20:
423 .loc 1 309 1 view .LVU144
424 0098 5DF8044B ldr r4, [sp], #4
425 .LCFI7:
426 .cfi_restore 4
427 .cfi_def_cfa_offset 0
428 009c 7047 bx lr
429 .L35:
430 009e 00BF .align 2
431 .L34:
432 00a0 003C0140 .word 1073822720
433 00a4 00380140 .word 1073821696
434 .cfi_endproc
435 .LFE142:
437 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
438 .align 1
439 .global HAL_EXTI_ClearConfigLine
440 .syntax unified
441 .thumb
442 .thumb_func
444 HAL_EXTI_ClearConfigLine:
445 .LVL30:
446 .LFB143:
310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
ARM GAS /tmp/ccq3Qi7K.s page 15
312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle.
314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status.
315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
447 .loc 1 317 1 is_stmt 1 view -0
448 .cfi_startproc
449 @ args = 0, pretend = 0, frame = 0
450 @ frame_needed = 0, uses_anonymous_args = 0
318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval;
451 .loc 1 318 3 view .LVU146
319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t linepos;
452 .loc 1 319 3 view .LVU147
320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline;
453 .loc 1 320 3 view .LVU148
321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check null pointer */
323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if (hexti == NULL)
454 .loc 1 323 3 view .LVU149
455 .loc 1 323 6 is_stmt 0 view .LVU150
456 0000 0028 cmp r0, #0
457 0002 37D0 beq .L38
317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval;
458 .loc 1 317 1 view .LVU151
459 0004 10B5 push {r4, lr}
460 .LCFI8:
461 .cfi_def_cfa_offset 8
462 .cfi_offset 4, -8
463 .cfi_offset 14, -4
464 0006 8446 mov ip, r0
324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_ERROR;
326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check the parameter */
329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
465 .loc 1 329 3 is_stmt 1 view .LVU152
330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* compute line mask */
332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
466 .loc 1 332 3 view .LVU153
467 .loc 1 332 19 is_stmt 0 view .LVU154
468 0008 0468 ldr r4, [r0]
469 .loc 1 332 11 view .LVU155
470 000a 04F01F00 and r0, r4, #31
471 .LVL31:
333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << linepos);
472 .loc 1 333 3 is_stmt 1 view .LVU156
473 .loc 1 333 12 is_stmt 0 view .LVU157
474 000e 0123 movs r3, #1
475 0010 8340 lsls r3, r3, r0
476 .LVL32:
334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 1] Clear interrupt mode */
336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->IMR = (EXTI->IMR & ~maskline);
477 .loc 1 336 3 is_stmt 1 view .LVU158
ARM GAS /tmp/ccq3Qi7K.s page 16
478 .loc 1 336 20 is_stmt 0 view .LVU159
479 0012 1A4A ldr r2, .L46
480 0014 1168 ldr r1, [r2]
481 .loc 1 336 28 view .LVU160
482 0016 6FEA030E mvn lr, r3
483 .loc 1 336 26 view .LVU161
484 001a 21EA0301 bic r1, r1, r3
485 .loc 1 336 13 view .LVU162
486 001e 1160 str r1, [r2]
337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 2] Clear event mode */
339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->EMR = (EXTI->EMR & ~maskline);
487 .loc 1 339 3 is_stmt 1 view .LVU163
488 .loc 1 339 20 is_stmt 0 view .LVU164
489 0020 5168 ldr r1, [r2, #4]
490 .loc 1 339 26 view .LVU165
491 0022 21EA0303 bic r3, r1, r3
492 .LVL33:
493 .loc 1 339 13 view .LVU166
494 0026 5360 str r3, [r2, #4]
340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
495 .loc 1 342 3 is_stmt 1 view .LVU167
496 .loc 1 342 13 is_stmt 0 view .LVU168
497 0028 DCF80030 ldr r3, [ip]
498 .loc 1 342 6 view .LVU169
499 002c 13F0007F tst r3, #33554432
500 0030 22D0 beq .L39
343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->RTSR = (EXTI->RTSR & ~maskline);
501 .loc 1 344 5 is_stmt 1 view .LVU170
502 .loc 1 344 23 is_stmt 0 view .LVU171
503 0032 9368 ldr r3, [r2, #8]
504 .loc 1 344 30 view .LVU172
505 0034 0EEA0303 and r3, lr, r3
506 .loc 1 344 16 view .LVU173
507 0038 9360 str r3, [r2, #8]
345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->FTSR = (EXTI->FTSR & ~maskline);
508 .loc 1 345 5 is_stmt 1 view .LVU174
509 .loc 1 345 23 is_stmt 0 view .LVU175
510 003a D368 ldr r3, [r2, #12]
511 .loc 1 345 30 view .LVU176
512 003c 0EEA0303 and r3, lr, r3
513 .loc 1 345 16 view .LVU177
514 0040 D360 str r3, [r2, #12]
346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
515 .loc 1 348 5 is_stmt 1 view .LVU178
516 .loc 1 348 15 is_stmt 0 view .LVU179
517 0042 DCF80030 ldr r3, [ip]
518 .loc 1 348 22 view .LVU180
519 0046 03F0C063 and r3, r3, #100663296
520 .loc 1 348 8 view .LVU181
521 004a B3F1C06F cmp r3, #100663296
522 004e 01D0 beq .L45
ARM GAS /tmp/ccq3Qi7K.s page 17
349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_OK;
523 .loc 1 358 10 view .LVU182
524 0050 0020 movs r0, #0
525 .LVL34:
526 .loc 1 358 10 view .LVU183
527 0052 12E0 b .L37
528 .LVL35:
529 .L45:
350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
530 .loc 1 350 7 is_stmt 1 view .LVU184
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
531 .loc 1 352 7 view .LVU185
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
532 .loc 1 352 39 is_stmt 0 view .LVU186
533 0054 8008 lsrs r0, r0, #2
534 .LVL36:
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
535 .loc 1 352 14 view .LVU187
536 0056 0A49 ldr r1, .L46+4
537 0058 0230 adds r0, r0, #2
538 005a 51F82030 ldr r3, [r1, r0, lsl #2]
539 .LVL37:
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
540 .loc 1 353 7 is_stmt 1 view .LVU188
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
541 .loc 1 353 80 is_stmt 0 view .LVU189
542 005e 04F00304 and r4, r4, #3
543 .LVL38:
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
544 .loc 1 353 69 view .LVU190
545 0062 A400 lsls r4, r4, #2
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
546 .loc 1 353 40 view .LVU191
547 0064 0F22 movs r2, #15
548 0066 A240 lsls r2, r2, r4
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
549 .loc 1 353 14 view .LVU192
550 0068 23EA0203 bic r3, r3, r2
551 .LVL39:
354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
552 .loc 1 354 7 is_stmt 1 view .LVU193
354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
553 .loc 1 354 37 is_stmt 0 view .LVU194
554 006c 41F82030 str r3, [r1, r0, lsl #2]
555 .loc 1 358 10 view .LVU195
556 0070 0020 movs r0, #0
557 0072 02E0 b .L37
558 .LVL40:
ARM GAS /tmp/ccq3Qi7K.s page 18
559 .L38:
560 .LCFI9:
561 .cfi_def_cfa_offset 0
562 .cfi_restore 4
563 .cfi_restore 14
325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
564 .loc 1 325 12 view .LVU196
565 0074 0120 movs r0, #1
566 .LVL41:
359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
567 .loc 1 359 1 view .LVU197
568 0076 7047 bx lr
569 .LVL42:
570 .L39:
571 .LCFI10:
572 .cfi_def_cfa_offset 8
573 .cfi_offset 4, -8
574 .cfi_offset 14, -4
358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
575 .loc 1 358 10 view .LVU198
576 0078 0020 movs r0, #0
577 .LVL43:
578 .L37:
579 .loc 1 359 1 view .LVU199
580 007a 10BD pop {r4, pc}
581 .L47:
582 .align 2
583 .L46:
584 007c 003C0140 .word 1073822720
585 0080 00380140 .word 1073821696
586 .cfi_endproc
587 .LFE143:
589 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
590 .align 1
591 .global HAL_EXTI_RegisterCallback
592 .syntax unified
593 .thumb
594 .thumb_func
596 HAL_EXTI_RegisterCallback:
597 .LVL44:
598 .LFB144:
360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle.
364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param CallbackID User callback identifier.
365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status.
368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
599 .loc 1 370 1 is_stmt 1 view -0
600 .cfi_startproc
601 @ args = 0, pretend = 0, frame = 0
602 @ frame_needed = 0, uses_anonymous_args = 0
603 @ link register save eliminated.
ARM GAS /tmp/ccq3Qi7K.s page 19
604 .loc 1 370 1 is_stmt 0 view .LVU201
605 0000 0346 mov r3, r0
371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
606 .loc 1 371 3 is_stmt 1 view .LVU202
607 .LVL45:
372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** switch (CallbackID)
608 .loc 1 373 3 view .LVU203
609 0002 0846 mov r0, r1
610 .LVL46:
611 .loc 1 373 3 is_stmt 0 view .LVU204
612 0004 09B9 cbnz r1, .L50
374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
613 .loc 1 376 7 is_stmt 1 view .LVU205
614 .loc 1 376 30 is_stmt 0 view .LVU206
615 0006 5A60 str r2, [r3, #4]
377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** break;
616 .loc 1 377 7 is_stmt 1 view .LVU207
617 0008 7047 bx lr
618 .L50:
378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** default:
380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** status = HAL_ERROR;
619 .loc 1 380 14 is_stmt 0 view .LVU208
620 000a 0120 movs r0, #1
621 .LVL47:
381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** break;
382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return status;
622 .loc 1 384 3 is_stmt 1 view .LVU209
385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
623 .loc 1 385 1 is_stmt 0 view .LVU210
624 000c 7047 bx lr
625 .cfi_endproc
626 .LFE144:
628 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
629 .align 1
630 .global HAL_EXTI_GetHandle
631 .syntax unified
632 .thumb
633 .thumb_func
635 HAL_EXTI_GetHandle:
636 .LVL48:
637 .LFB145:
386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Store line number as handle private field.
389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle.
390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param ExtiLine Exti line number.
391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval HAL Status.
393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
ARM GAS /tmp/ccq3Qi7K.s page 20
638 .loc 1 395 1 is_stmt 1 view -0
639 .cfi_startproc
640 @ args = 0, pretend = 0, frame = 0
641 @ frame_needed = 0, uses_anonymous_args = 0
642 @ link register save eliminated.
396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check the parameters */
397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
643 .loc 1 397 3 view .LVU212
398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check null pointer */
400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if (hexti == NULL)
644 .loc 1 400 3 view .LVU213
645 .loc 1 400 6 is_stmt 0 view .LVU214
646 0000 10B1 cbz r0, .L53
401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_ERROR;
403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** else
405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Store line number as handle private field */
407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** hexti->Line = ExtiLine;
647 .loc 1 407 5 is_stmt 1 view .LVU215
648 .loc 1 407 17 is_stmt 0 view .LVU216
649 0002 0160 str r1, [r0]
408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return HAL_OK;
650 .loc 1 409 5 is_stmt 1 view .LVU217
651 .loc 1 409 12 is_stmt 0 view .LVU218
652 0004 0020 movs r0, #0
653 .LVL49:
654 .loc 1 409 12 view .LVU219
655 0006 7047 bx lr
656 .LVL50:
657 .L53:
402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
658 .loc 1 402 12 view .LVU220
659 0008 0120 movs r0, #1
660 .LVL51:
410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
661 .loc 1 411 1 view .LVU221
662 000a 7047 bx lr
663 .cfi_endproc
664 .LFE145:
666 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
667 .align 1
668 .global HAL_EXTI_IRQHandler
669 .syntax unified
670 .thumb
671 .thumb_func
673 HAL_EXTI_IRQHandler:
674 .LVL52:
675 .LFB146:
412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @}
415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
ARM GAS /tmp/ccq3Qi7K.s page 21
416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief EXTI IO functions.
419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** *
420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @verbatim
421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ===============================================================================
422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ##### IO operation functions #####
423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** ===============================================================================
424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** @endverbatim
426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @{
427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle.
432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval none.
433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
676 .loc 1 435 1 is_stmt 1 view -0
677 .cfi_startproc
678 @ args = 0, pretend = 0, frame = 0
679 @ frame_needed = 0, uses_anonymous_args = 0
680 .loc 1 435 1 is_stmt 0 view .LVU223
681 0000 08B5 push {r3, lr}
682 .LCFI11:
683 .cfi_def_cfa_offset 8
684 .cfi_offset 3, -8
685 .cfi_offset 14, -4
436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval;
686 .loc 1 436 3 is_stmt 1 view .LVU224
437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline;
687 .loc 1 437 3 view .LVU225
438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */
440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
688 .loc 1 440 3 view .LVU226
689 .loc 1 440 28 is_stmt 0 view .LVU227
690 0002 0368 ldr r3, [r0]
691 .loc 1 440 35 view .LVU228
692 0004 03F01F02 and r2, r3, #31
693 .loc 1 440 12 view .LVU229
694 0008 0123 movs r3, #1
695 000a 9340 lsls r3, r3, r2
696 .LVL53:
441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Get pending bit */
443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = (EXTI->PR & maskline);
697 .loc 1 443 3 is_stmt 1 view .LVU230
698 .loc 1 443 17 is_stmt 0 view .LVU231
699 000c 044A ldr r2, .L57
700 000e 5269 ldr r2, [r2, #20]
701 .LVL54:
444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if (regval != 0x00u)
702 .loc 1 444 3 is_stmt 1 view .LVU232
703 .loc 1 444 6 is_stmt 0 view .LVU233
ARM GAS /tmp/ccq3Qi7K.s page 22
704 0010 1A42 tst r2, r3
705 0012 04D0 beq .L54
445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Clear pending bit */
447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->PR = maskline;
706 .loc 1 447 5 is_stmt 1 view .LVU234
707 .loc 1 447 14 is_stmt 0 view .LVU235
708 0014 024A ldr r2, .L57
709 .LVL55:
710 .loc 1 447 14 view .LVU236
711 0016 5361 str r3, [r2, #20]
448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Call callback */
450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
712 .loc 1 450 5 is_stmt 1 view .LVU237
713 .loc 1 450 14 is_stmt 0 view .LVU238
714 0018 4368 ldr r3, [r0, #4]
715 .LVL56:
716 .loc 1 450 8 view .LVU239
717 001a 03B1 cbz r3, .L54
451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** hexti->PendingCallback();
718 .loc 1 452 7 is_stmt 1 view .LVU240
719 001c 9847 blx r3
720 .LVL57:
721 .L54:
453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
722 .loc 1 455 1 is_stmt 0 view .LVU241
723 001e 08BD pop {r3, pc}
724 .L58:
725 .align 2
726 .L57:
727 0020 003C0140 .word 1073822720
728 .cfi_endproc
729 .LFE146:
731 .section .text.HAL_EXTI_GetPending,"ax",%progbits
732 .align 1
733 .global HAL_EXTI_GetPending
734 .syntax unified
735 .thumb
736 .thumb_func
738 HAL_EXTI_GetPending:
739 .LVL58:
740 .LFB147:
456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle.
460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked.
461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter can be one of the following values:
462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
ARM GAS /tmp/ccq3Qi7K.s page 23
467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
741 .loc 1 467 1 is_stmt 1 view -0
742 .cfi_startproc
743 @ args = 0, pretend = 0, frame = 0
744 @ frame_needed = 0, uses_anonymous_args = 0
745 @ link register save eliminated.
468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t regval;
746 .loc 1 468 3 view .LVU243
469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t linepos;
747 .loc 1 469 3 view .LVU244
470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline;
748 .loc 1 470 3 view .LVU245
471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check parameters */
473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
749 .loc 1 473 3 view .LVU246
474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
750 .loc 1 474 3 view .LVU247
475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
751 .loc 1 475 3 view .LVU248
476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */
478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
752 .loc 1 478 3 view .LVU249
753 .loc 1 478 19 is_stmt 0 view .LVU250
754 0000 0368 ldr r3, [r0]
755 .loc 1 478 11 view .LVU251
756 0002 03F01F03 and r3, r3, #31
757 .LVL59:
479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << linepos);
758 .loc 1 479 3 is_stmt 1 view .LVU252
759 .loc 1 479 12 is_stmt 0 view .LVU253
760 0006 0122 movs r2, #1
761 0008 9A40 lsls r2, r2, r3
762 .LVL60:
480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* return 1 if bit is set else 0 */
482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** regval = ((EXTI->PR & maskline) >> linepos);
763 .loc 1 482 3 is_stmt 1 view .LVU254
764 .loc 1 482 18 is_stmt 0 view .LVU255
765 000a 0249 ldr r1, .L60
766 .LVL61:
767 .loc 1 482 18 view .LVU256
768 000c 4869 ldr r0, [r1, #20]
769 .LVL62:
770 .loc 1 482 23 view .LVU257
771 000e 1040 ands r0, r0, r2
772 .LVL63:
483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** return regval;
773 .loc 1 483 3 is_stmt 1 view .LVU258
484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
774 .loc 1 484 1 is_stmt 0 view .LVU259
775 0010 D840 lsrs r0, r0, r3
776 .LVL64:
777 .loc 1 484 1 view .LVU260
778 0012 7047 bx lr
779 .L61:
ARM GAS /tmp/ccq3Qi7K.s page 24
780 .align 2
781 .L60:
782 0014 003C0140 .word 1073822720
783 .cfi_endproc
784 .LFE147:
786 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
787 .align 1
788 .global HAL_EXTI_ClearPending
789 .syntax unified
790 .thumb
791 .thumb_func
793 HAL_EXTI_ClearPending:
794 .LVL65:
795 .LFB148:
485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle.
489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear.
490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter can be one of the following values:
491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval None.
494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
796 .loc 1 496 1 is_stmt 1 view -0
797 .cfi_startproc
798 @ args = 0, pretend = 0, frame = 0
799 @ frame_needed = 0, uses_anonymous_args = 0
800 @ link register save eliminated.
497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline;
801 .loc 1 497 3 view .LVU262
498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check parameters */
500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
802 .loc 1 500 3 view .LVU263
501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
803 .loc 1 501 3 view .LVU264
502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
804 .loc 1 502 3 view .LVU265
503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */
505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
805 .loc 1 505 3 view .LVU266
806 .loc 1 505 28 is_stmt 0 view .LVU267
807 0000 0268 ldr r2, [r0]
808 .loc 1 505 35 view .LVU268
809 0002 02F01F02 and r2, r2, #31
810 .loc 1 505 12 view .LVU269
811 0006 0123 movs r3, #1
812 0008 9340 lsls r3, r3, r2
813 .LVL66:
506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Clear Pending bit */
508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->PR = maskline;
814 .loc 1 508 3 is_stmt 1 view .LVU270
ARM GAS /tmp/ccq3Qi7K.s page 25
815 .loc 1 508 12 is_stmt 0 view .LVU271
816 000a 014A ldr r2, .L63
817 000c 5361 str r3, [r2, #20]
509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
818 .loc 1 509 1 view .LVU272
819 000e 7047 bx lr
820 .L64:
821 .align 2
822 .L63:
823 0010 003C0140 .word 1073822720
824 .cfi_endproc
825 .LFE148:
827 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
828 .align 1
829 .global HAL_EXTI_GenerateSWI
830 .syntax unified
831 .thumb
832 .thumb_func
834 HAL_EXTI_GenerateSWI:
835 .LVL67:
836 .LFB149:
510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /**
512:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
513:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @param hexti Exti handle.
514:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** * @retval None.
515:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** */
516:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
517:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** {
837 .loc 1 517 1 is_stmt 1 view -0
838 .cfi_startproc
839 @ args = 0, pretend = 0, frame = 0
840 @ frame_needed = 0, uses_anonymous_args = 0
841 @ link register save eliminated.
518:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** uint32_t maskline;
842 .loc 1 518 3 view .LVU274
519:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
520:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Check parameters */
521:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
843 .loc 1 521 3 view .LVU275
522:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
844 .loc 1 522 3 view .LVU276
523:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
524:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Compute line mask */
525:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
845 .loc 1 525 3 view .LVU277
846 .loc 1 525 28 is_stmt 0 view .LVU278
847 0000 0268 ldr r2, [r0]
848 .loc 1 525 35 view .LVU279
849 0002 02F01F02 and r2, r2, #31
850 .loc 1 525 12 view .LVU280
851 0006 0123 movs r3, #1
852 0008 9340 lsls r3, r3, r2
853 .LVL68:
526:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c ****
527:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** /* Generate Software interrupt */
528:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** EXTI->SWIER = maskline;
ARM GAS /tmp/ccq3Qi7K.s page 26
854 .loc 1 528 3 is_stmt 1 view .LVU281
855 .loc 1 528 15 is_stmt 0 view .LVU282
856 000a 014A ldr r2, .L66
857 000c 1361 str r3, [r2, #16]
529:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c **** }
858 .loc 1 529 1 view .LVU283
859 000e 7047 bx lr
860 .L67:
861 .align 2
862 .L66:
863 0010 003C0140 .word 1073822720
864 .cfi_endproc
865 .LFE149:
867 .text
868 .Letext0:
869 .file 2 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h"
870 .file 3 "/usr/lib/gcc/arm-none-eabi/13.2.1/include/stdint.h"
871 .file 4 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_def.h"
872 .file 5 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_exti.h"
ARM GAS /tmp/ccq3Qi7K.s page 27
DEFINED SYMBOLS
*ABS*:00000000 stm32f7xx_hal_exti.c
/tmp/ccq3Qi7K.s:20 .text.HAL_EXTI_SetConfigLine:00000000 $t
/tmp/ccq3Qi7K.s:26 .text.HAL_EXTI_SetConfigLine:00000000 HAL_EXTI_SetConfigLine
/tmp/ccq3Qi7K.s:243 .text.HAL_EXTI_SetConfigLine:000000cc $d
/tmp/ccq3Qi7K.s:249 .text.HAL_EXTI_GetConfigLine:00000000 $t
/tmp/ccq3Qi7K.s:255 .text.HAL_EXTI_GetConfigLine:00000000 HAL_EXTI_GetConfigLine
/tmp/ccq3Qi7K.s:432 .text.HAL_EXTI_GetConfigLine:000000a0 $d
/tmp/ccq3Qi7K.s:438 .text.HAL_EXTI_ClearConfigLine:00000000 $t
/tmp/ccq3Qi7K.s:444 .text.HAL_EXTI_ClearConfigLine:00000000 HAL_EXTI_ClearConfigLine
/tmp/ccq3Qi7K.s:584 .text.HAL_EXTI_ClearConfigLine:0000007c $d
/tmp/ccq3Qi7K.s:590 .text.HAL_EXTI_RegisterCallback:00000000 $t
/tmp/ccq3Qi7K.s:596 .text.HAL_EXTI_RegisterCallback:00000000 HAL_EXTI_RegisterCallback
/tmp/ccq3Qi7K.s:629 .text.HAL_EXTI_GetHandle:00000000 $t
/tmp/ccq3Qi7K.s:635 .text.HAL_EXTI_GetHandle:00000000 HAL_EXTI_GetHandle
/tmp/ccq3Qi7K.s:667 .text.HAL_EXTI_IRQHandler:00000000 $t
/tmp/ccq3Qi7K.s:673 .text.HAL_EXTI_IRQHandler:00000000 HAL_EXTI_IRQHandler
/tmp/ccq3Qi7K.s:727 .text.HAL_EXTI_IRQHandler:00000020 $d
/tmp/ccq3Qi7K.s:732 .text.HAL_EXTI_GetPending:00000000 $t
/tmp/ccq3Qi7K.s:738 .text.HAL_EXTI_GetPending:00000000 HAL_EXTI_GetPending
/tmp/ccq3Qi7K.s:782 .text.HAL_EXTI_GetPending:00000014 $d
/tmp/ccq3Qi7K.s:787 .text.HAL_EXTI_ClearPending:00000000 $t
/tmp/ccq3Qi7K.s:793 .text.HAL_EXTI_ClearPending:00000000 HAL_EXTI_ClearPending
/tmp/ccq3Qi7K.s:823 .text.HAL_EXTI_ClearPending:00000010 $d
/tmp/ccq3Qi7K.s:828 .text.HAL_EXTI_GenerateSWI:00000000 $t
/tmp/ccq3Qi7K.s:834 .text.HAL_EXTI_GenerateSWI:00000000 HAL_EXTI_GenerateSWI
/tmp/ccq3Qi7K.s:863 .text.HAL_EXTI_GenerateSWI:00000010 $d
NO UNDEFINED SYMBOLS