Files
squeow/squeow_sw/build/stm32g4xx_hal_exti.lst

1856 lines
107 KiB
Plaintext
Raw Normal View History

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