Files
squeow/squeow_sw/build/stm32g4xx_hal_exti.lst
2023-07-02 17:09:41 +02:00

1856 lines
107 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
ARM GAS /tmp/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