Files
squeow/squeow_sw/build/stm32g4xx_hal_exti.lst

1860 lines
107 KiB
Plaintext
Raw Normal View History

2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 1
2023-07-02 17:09:41 +02:00
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 ****
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 2
2023-07-02 17:09:41 +02:00
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 ****
2025-01-28 19:01:22 +01:00
68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_ClearConfigLine().
2023-07-02 17:09:41 +02:00
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 ------------------------------------------------------------------*/
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 3
2023-07-02 17:09:41 +02:00
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 **** */
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 4
2023-07-02 17:09:41 +02:00
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
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 5
2023-07-02 17:09:41 +02:00
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:
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 6
2023-07-02 17:09:41 +02:00
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:
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 7
2023-07-02 17:09:41 +02:00
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;
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 8
2023-07-02 17:09:41 +02:00
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
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 9
2023-07-02 17:09:41 +02:00
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)));
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 10
2023-07-02 17:09:41 +02:00
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
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 11
2023-07-02 17:09:41 +02:00
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 */
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 12
2023-07-02 17:09:41 +02:00
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
2025-01-28 19:01:22 +01:00
326 0002 4CD0 beq .L28
2023-07-02 17:09:41 +02:00
327 .loc 1 277 23 discriminator 1 view .LVU117
328 0004 0029 cmp r1, #0
2025-01-28 19:01:22 +01:00
329 0006 4CD0 beq .L29
2023-07-02 17:09:41 +02:00
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:
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 13
2023-07-02 17:09:41 +02:00
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
2025-01-28 19:01:22 +01:00
380 0032 1E4C ldr r4, .L37
2023-07-02 17:09:41 +02:00
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
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 14
2023-07-02 17:09:41 +02:00
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
2025-01-28 19:01:22 +01:00
408 004c 2BD0 beq .L30
2023-07-02 17:09:41 +02:00
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
2025-01-28 19:01:22 +01:00
411 004e 184C ldr r4, .L37+4
2023-07-02 17:09:41 +02:00
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
2025-01-28 19:01:22 +01:00
430 005a 164C ldr r4, .L37+8
2023-07-02 17:09:41 +02:00
431 .LVL56:
337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 15
2023-07-02 17:09:41 +02:00
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];
2025-01-28 19:01:22 +01:00
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
2023-07-02 17:09:41 +02:00
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
2025-01-28 19:01:22 +01:00
458 0076 17E0 b .L22
2023-07-02 17:09:41 +02:00
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
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 16
2023-07-02 17:09:41 +02:00
468 .LVL62:
469 .L36:
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
470 .loc 1 348 7 is_stmt 1 view .LVU180
2025-01-28 19:01:22 +01:00
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
2023-07-02 17:09:41 +02:00
471 .loc 1 350 7 view .LVU181
2025-01-28 19:01:22 +01:00
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
2023-07-02 17:09:41 +02:00
472 .loc 1 350 39 is_stmt 0 view .LVU182
473 007e 4FEA9E02 lsr r2, lr, #2
2025-01-28 19:01:22 +01:00
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
2023-07-02 17:09:41 +02:00
474 .loc 1 350 14 view .LVU183
475 0082 0232 adds r2, r2, #2
2025-01-28 19:01:22 +01:00
476 0084 0C48 ldr r0, .L37+12
2023-07-02 17:09:41 +02:00
477 .LVL63:
2025-01-28 19:01:22 +01:00
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
2023-07-02 17:09:41 +02:00
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 **** }
2025-01-28 19:01:22 +01:00
482 .loc 1 351 78 is_stmt 0 view .LVU186
2023-07-02 17:09:41 +02:00
483 008a 03F00303 and r3, r3, #3
484 .LVL65:
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
485 .loc 1 351 67 view .LVU187
2023-07-02 17:09:41 +02:00
486 008e 9B00 lsls r3, r3, #2
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
487 .loc 1 351 38 view .LVU188
2023-07-02 17:09:41 +02:00
488 0090 22FA03F3 lsr r3, r2, r3
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
502 .loc 1 279 12 view .LVU192
503 009e 0120 movs r0, #1
504 .LVL67:
2023-07-02 17:09:41 +02:00
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
505 .loc 1 279 12 view .LVU193
506 00a0 7047 bx lr
507 .LVL68:
508 .L29:
2023-07-02 17:09:41 +02:00
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
509 .loc 1 279 12 view .LVU194
510 00a2 0120 movs r0, #1
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 17
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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 **** {
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
2025-01-28 19:01:22 +01:00
550 .loc 1 366 3 view .LVU199
2023-07-02 17:09:41 +02:00
367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t regval;
2025-01-28 19:01:22 +01:00
551 .loc 1 367 3 view .LVU200
2023-07-02 17:09:41 +02:00
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t linepos;
2025-01-28 19:01:22 +01:00
552 .loc 1 368 3 view .LVU201
2023-07-02 17:09:41 +02:00
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
2025-01-28 19:01:22 +01:00
553 .loc 1 369 3 view .LVU202
2023-07-02 17:09:41 +02:00
370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 18
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
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 */
2023-07-02 17:09:41 +02:00
373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if (hexti == NULL)
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
567 .loc 1 379 3 is_stmt 1 view .LVU207
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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:
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 19
2025-01-28 19:01:22 +01:00
2023-07-02 17:09:41 +02:00
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
2025-01-28 19:01:22 +01:00
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]
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
2025-01-28 19:01:22 +01:00
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]
2023-07-02 17:09:41 +02:00
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)
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 20
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
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]
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
2025-01-28 19:01:22 +01:00
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]
2023-07-02 17:09:41 +02:00
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)
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
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;
2025-01-28 19:01:22 +01:00
660 .loc 1 420 10 view .LVU252
661 005e 0020 movs r0, #0
662 0060 14E0 b .L40
663 .L48:
2023-07-02 17:09:41 +02:00
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
2025-01-28 19:01:22 +01:00
664 .loc 1 412 7 is_stmt 1 view .LVU253
2023-07-02 17:09:41 +02:00
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
2025-01-28 19:01:22 +01:00
665 .loc 1 414 7 view .LVU254
2023-07-02 17:09:41 +02:00
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
2025-01-28 19:01:22 +01:00
666 .loc 1 414 39 is_stmt 0 view .LVU255
667 0062 4FEA9E0E lsr lr, lr, #2
668 .LVL90:
2023-07-02 17:09:41 +02:00
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
2025-01-28 19:01:22 +01:00
669 .loc 1 414 14 view .LVU256
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 21
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
2025-01-28 19:01:22 +01:00
674 .loc 1 415 7 is_stmt 1 view .LVU257
2023-07-02 17:09:41 +02:00
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
2025-01-28 19:01:22 +01:00
675 .loc 1 415 80 is_stmt 0 view .LVU258
676 0070 04F00304 and r4, r4, #3
677 .LVL92:
2023-07-02 17:09:41 +02:00
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
2025-01-28 19:01:22 +01:00
678 .loc 1 415 69 view .LVU259
679 0074 A400 lsls r4, r4, #2
2023-07-02 17:09:41 +02:00
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
2025-01-28 19:01:22 +01:00
680 .loc 1 415 40 view .LVU260
681 0076 0722 movs r2, #7
682 0078 A240 lsls r2, r2, r4
2023-07-02 17:09:41 +02:00
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
2025-01-28 19:01:22 +01:00
683 .loc 1 415 14 view .LVU261
684 007a 23EA0203 bic r3, r3, r2
685 .LVL93:
2023-07-02 17:09:41 +02:00
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
686 .loc 1 416 7 is_stmt 1 view .LVU262
2023-07-02 17:09:41 +02:00
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
699 .loc 1 375 12 view .LVU265
700 0086 0120 movs r0, #1
701 .LVL95:
2023-07-02 17:09:41 +02:00
421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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}
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 22
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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 **** {
2025-01-28 19:01:22 +01:00
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.
2023-07-02 17:09:41 +02:00
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
2025-01-28 19:01:22 +01:00
742 .loc 1 434 3 view .LVU270
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
743 .loc 1 437 3 view .LVU271
2023-07-02 17:09:41 +02:00
438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** switch (CallbackID)
2025-01-28 19:01:22 +01:00
744 .loc 1 439 3 view .LVU272
745 0000 11B9 cbnz r1, .L52
2023-07-02 17:09:41 +02:00
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;
2025-01-28 19:01:22 +01:00
746 .loc 1 443 7 view .LVU273
747 .loc 1 443 30 is_stmt 0 view .LVU274
748 0002 4260 str r2, [r0, #4]
2023-07-02 17:09:41 +02:00
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** break;
2025-01-28 19:01:22 +01:00
749 .loc 1 444 7 is_stmt 1 view .LVU275
2023-07-02 17:09:41 +02:00
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
2025-01-28 19:01:22 +01:00
750 .loc 1 434 21 is_stmt 0 view .LVU276
751 0004 0846 mov r0, r1
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 23
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
752 .LVL99:
753 .loc 1 444 7 view .LVU277
754 0006 7047 bx lr
755 .LVL100:
756 .L52:
2023-07-02 17:09:41 +02:00
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;
2025-01-28 19:01:22 +01:00
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]
2023-07-02 17:09:41 +02:00
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** status = HAL_ERROR;
2025-01-28 19:01:22 +01:00
761 .loc 1 448 7 is_stmt 1 view .LVU280
762 .LVL101:
2023-07-02 17:09:41 +02:00
449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** break;
2025-01-28 19:01:22 +01:00
763 .loc 1 449 7 view .LVU281
2023-07-02 17:09:41 +02:00
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** status = HAL_ERROR;
2025-01-28 19:01:22 +01:00
764 .loc 1 448 14 is_stmt 0 view .LVU282
765 000c 0120 movs r0, #1
766 .LVL102:
2023-07-02 17:09:41 +02:00
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;
2025-01-28 19:01:22 +01:00
767 .loc 1 452 3 is_stmt 1 view .LVU283
2023-07-02 17:09:41 +02:00
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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 **** {
2025-01-28 19:01:22 +01:00
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.
2023-07-02 17:09:41 +02:00
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));
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 24
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
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 */
2023-07-02 17:09:41 +02:00
469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if (hexti == NULL)
2025-01-28 19:01:22 +01:00
789 .loc 1 469 3 view .LVU287
790 .loc 1 469 6 is_stmt 0 view .LVU288
791 0000 10B1 cbz r0, .L56
2023-07-02 17:09:41 +02:00
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;
2025-01-28 19:01:22 +01:00
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]
2023-07-02 17:09:41 +02:00
477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return HAL_OK;
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
803 .loc 1 471 12 view .LVU294
804 0008 0120 movs r0, #1
805 .LVL106:
2023-07-02 17:09:41 +02:00
479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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 **** ===============================================================================
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 25
2025-01-28 19:01:22 +01:00
2023-07-02 17:09:41 +02:00
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 **** {
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
2025-01-28 19:01:22 +01:00
831 .loc 1 506 3 is_stmt 1 view .LVU298
2023-07-02 17:09:41 +02:00
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t regval;
2025-01-28 19:01:22 +01:00
832 .loc 1 507 3 view .LVU299
2023-07-02 17:09:41 +02:00
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
2025-01-28 19:01:22 +01:00
833 .loc 1 508 3 view .LVU300
2023-07-02 17:09:41 +02:00
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
2025-01-28 19:01:22 +01:00
834 .loc 1 509 3 view .LVU301
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 26
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if (regval != 0x00u)
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
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;
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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)
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** hexti->PendingCallback();
2025-01-28 19:01:22 +01:00
872 .loc 1 528 7 is_stmt 1 view .LVU320
873 0020 9847 blx r3
874 .LVL114:
875 .L57:
2023-07-02 17:09:41 +02:00
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 **** }
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 27
2025-01-28 19:01:22 +01:00
2023-07-02 17:09:41 +02:00
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 **** {
2025-01-28 19:01:22 +01:00
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.
2023-07-02 17:09:41 +02:00
541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
2025-01-28 19:01:22 +01:00
901 .loc 1 541 3 view .LVU324
2023-07-02 17:09:41 +02:00
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t regval;
2025-01-28 19:01:22 +01:00
902 .loc 1 542 3 view .LVU325
2023-07-02 17:09:41 +02:00
543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t linepos;
2025-01-28 19:01:22 +01:00
903 .loc 1 543 3 view .LVU326
2023-07-02 17:09:41 +02:00
544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
2025-01-28 19:01:22 +01:00
904 .loc 1 544 3 view .LVU327
2023-07-02 17:09:41 +02:00
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
2025-01-28 19:01:22 +01:00
905 .loc 1 545 3 view .LVU328
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
906 .loc 1 548 3 view .LVU329
2023-07-02 17:09:41 +02:00
549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
2025-01-28 19:01:22 +01:00
907 .loc 1 549 3 view .LVU330
2023-07-02 17:09:41 +02:00
550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** UNUSED(Edge);
2025-01-28 19:01:22 +01:00
908 .loc 1 550 3 view .LVU331
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
924 .loc 1 560 3 is_stmt 1 view .LVU339
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 28
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return regval;
2025-01-28 19:01:22 +01:00
938 .loc 1 564 3 is_stmt 1 view .LVU345
2023-07-02 17:09:41 +02:00
565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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 **** {
2025-01-28 19:01:22 +01:00
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.
2023-07-02 17:09:41 +02:00
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
2025-01-28 19:01:22 +01:00
966 .loc 1 576 3 view .LVU349
2023-07-02 17:09:41 +02:00
577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 29
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
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
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
969 .loc 1 581 3 view .LVU352
2023-07-02 17:09:41 +02:00
582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
2025-01-28 19:01:22 +01:00
970 .loc 1 582 3 view .LVU353
2023-07-02 17:09:41 +02:00
583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** UNUSED(Edge);
2025-01-28 19:01:22 +01:00
971 .loc 1 583 3 view .LVU354
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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;
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 30
2025-01-28 19:01:22 +01:00
1007 .align 1
1008 .global HAL_EXTI_GenerateSWI
1009 .syntax unified
1010 .thumb
1011 .thumb_func
1013 HAL_EXTI_GenerateSWI:
1014 .LVL130:
1015 .LFB337:
2023-07-02 17:09:41 +02:00
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 **** {
2025-01-28 19:01:22 +01:00
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.
2023-07-02 17:09:41 +02:00
605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
2025-01-28 19:01:22 +01:00
1021 .loc 1 605 3 view .LVU369
2023-07-02 17:09:41 +02:00
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
2025-01-28 19:01:22 +01:00
1022 .loc 1 606 3 view .LVU370
2023-07-02 17:09:41 +02:00
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
2025-01-28 19:01:22 +01:00
1023 .loc 1 607 3 view .LVU371
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
1024 .loc 1 610 3 view .LVU372
2023-07-02 17:09:41 +02:00
611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
2025-01-28 19:01:22 +01:00
1025 .loc 1 611 3 view .LVU373
2023-07-02 17:09:41 +02:00
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);
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
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));
2025-01-28 19:01:22 +01:00
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
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 31
2023-07-02 17:09:41 +02:00
2025-01-28 19:01:22 +01:00
1042 .loc 1 618 11 view .LVU382
1043 0010 014A ldr r2, .L69
1044 .LVL133:
2023-07-02 17:09:41 +02:00
619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = maskline;
2025-01-28 19:01:22 +01:00
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:
2023-07-02 17:09:41 +02:00
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
2025-01-28 19:01:22 +01:00
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:
2025-06-28 00:58:29 +02:00
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/
2025-01-28 19:01:22 +01:00
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"
2025-06-28 00:58:29 +02:00
ARM GAS /tmp/ccLeczU6.s page 32
2023-07-02 17:09:41 +02:00
DEFINED SYMBOLS
*ABS*:00000000 stm32g4xx_hal_exti.c
2025-06-28 00:58:29 +02:00
/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
2023-07-02 17:09:41 +02:00
NO UNDEFINED SYMBOLS