Files
squeow/squeow_sw/build/stm32g4xx_hal_exti.lst
2025-06-28 00:58:29 +02:00

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