Files
bassofono/codice/build/stm32g4xx_hal_exti.lst
2021-07-02 22:19:04 +02:00

1657 lines
94 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/ccFYatrK.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 23, 1
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 2
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "stm32g4xx_hal_exti.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits
16 .align 1
17 .p2align 2,,3
18 .global HAL_EXTI_SetConfigLine
19 .syntax unified
20 .thumb
21 .thumb_func
22 .fpu fpv4-sp-d16
24 HAL_EXTI_SetConfigLine:
25 .LFB329:
26 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c"
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 **** @verbatim
13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ==============================================================================
14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ##### EXTI Peripheral features #####
15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ==============================================================================
16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** [..]
17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (+) Each Exti line can be configured within this driver.
18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes
20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Interrupt
21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Event
22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Both of them
23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers
25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Rising
26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Falling
27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Both of them
28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different
30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** interrupt pending registers which allow to distinguish which transition
31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** occurs:
32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Rising edge pending interrupt
ARM GAS /tmp/ccFYatrK.s page 2
33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Falling
34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
35: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
36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** be selected through multiplexer.
37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ##### How to use this driver #####
39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ==============================================================================
40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** [..]
41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from
44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from
46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger
48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure.
49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** member from GPIO_InitTypeDef structure.
51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using
53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** HAL_EXTI_GetConfigLine().
54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Provide exiting handle as parameter.
55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_GetConfigLine().
58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Provide exiting handle as parameter.
59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Provide exiting handle as first parameter.
62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Provide which callback will be registered using one value from
63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** EXTI_CallbackIDTypeDef.
64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (++) Provide callback function pointer.
65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending().
67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_ClearPending().
69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** @endverbatim
73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ******************************************************************************
74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @attention
75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *
76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * All rights reserved.</center></h2>
78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *
79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * This software component is licensed by ST under BSD 3-Clause license,
80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * the "License"; You may not use this file except in compliance with the
81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * License. You may obtain a copy of the License at:
82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * opensource.org/licenses/BSD-3-Clause
83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *
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 ****
87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** #include "stm32g4xx_hal.h"
89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
ARM GAS /tmp/ccFYatrK.s page 3
90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /** @addtogroup STM32G4xx_HAL_Driver
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 ****
94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /** @addtogroup EXTI
95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @{
96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * of bounds [0,3] in following API :
100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * HAL_EXTI_SetConfigLine
101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * HAL_EXTI_GetConfigLine
102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine
103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Private defines ------------------------------------------------------------*/
109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @{
111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** #define EXTI_MODE_OFFSET 0x08U /* 0x20: offset between MCU IMR/EMR registers *
113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** #define EXTI_CONFIG_OFFSET 0x08U /* 0x20: offset between MCU Rising/Falling conf
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 ****
118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
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 ****
127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Configuration functions
129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *
130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** @verbatim
131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ===============================================================================
132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ##### Configuration functions #####
133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ===============================================================================
134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** @endverbatim
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 **** /**
140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line.
141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param hexti Exti handle.
142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set.
143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @retval HAL Status.
144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
ARM GAS /tmp/ccFYatrK.s page 4
27 .loc 1 146 0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
32 .LVL0:
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t regval;
149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t linepos;
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check null pointer */
154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
33 .loc 1 154 0
34 0000 0028 cmp r0, #0
35 0002 3CD0 beq .L15
36 .loc 1 154 0 is_stmt 0 discriminator 1
37 0004 0029 cmp r1, #0
38 0006 3AD0 beq .L15
155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return HAL_ERROR;
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check parameters */
160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line));
161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Assign line number to handle */
164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** hexti->Line = pExtiConfig->Line;
39 .loc 1 164 0 is_stmt 1
40 0008 0A68 ldr r2, [r1]
146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
41 .loc 1 146 0
42 000a F0B4 push {r4, r5, r6, r7}
43 .LCFI0:
44 .cfi_def_cfa_offset 16
45 .cfi_offset 4, -16
46 .cfi_offset 5, -12
47 .cfi_offset 6, -8
48 .cfi_offset 7, -4
165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line register offset */
167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
49 .loc 1 167 0
50 000c C2F30043 ubfx r3, r2, #16, #1
164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
51 .loc 1 164 0
52 0010 0260 str r2, [r0]
53 .LVL1:
168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line position */
169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
54 .loc 1 169 0
55 0012 02F01F04 and r4, r2, #31
56 .LVL2:
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line mask */
171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** maskline = (1uL << linepos);
ARM GAS /tmp/ccFYatrK.s page 5
57 .loc 1 171 0
58 0016 0120 movs r0, #1
59 .LVL3:
172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Configure triggers for configurable lines */
174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
60 .loc 1 174 0
61 0018 9501 lsls r5, r2, #6
171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
62 .loc 1 171 0
63 001a 00FA04F0 lsl r0, r0, r4
64 .LVL4:
65 001e 4FEA4313 lsl r3, r3, #5
66 .loc 1 174 0
67 0022 15D5 bpl .L4
175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Configure rising trigger */
179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->RTSR1 + (EXTI_CONFIG_OFFSET * offset));
68 .loc 1 179 0
69 0024 214E ldr r6, .L22
70 .LVL5:
180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Mask or set line */
183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
71 .loc 1 183 0
72 0026 8F68 ldr r7, [r1, #8]
180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
73 .loc 1 180 0
74 0028 9D59 ldr r5, [r3, r6]
75 .LVL6:
76 .loc 1 183 0
77 002a FF07 lsls r7, r7, #31
184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval |= maskline;
78 .loc 1 185 0
79 002c 4CBF ite mi
80 002e 0543 orrmi r5, r5, r0
81 .LVL7:
186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** else
188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~maskline;
82 .loc 1 189 0
83 0030 8543 bicpl r5, r5, r0
84 .LVL8:
190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Store rising trigger mode */
193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
85 .loc 1 193 0
86 0032 9D51 str r5, [r3, r6]
194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Configure falling trigger */
196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->FTSR1 + (EXTI_CONFIG_OFFSET * offset));
ARM GAS /tmp/ccFYatrK.s page 6
87 .loc 1 196 0
88 0034 1E4E ldr r6, .L22+4
89 .LVL9:
197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Mask or set line */
200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
90 .loc 1 200 0
91 0036 8F68 ldr r7, [r1, #8]
197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
92 .loc 1 197 0
93 0038 9D59 ldr r5, [r3, r6]
94 .LVL10:
95 .loc 1 200 0
96 003a BF07 lsls r7, r7, #30
201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval |= maskline;
97 .loc 1 202 0
98 003c 4CBF ite mi
99 003e 0543 orrmi r5, r5, r0
100 .LVL11:
203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** else
205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~maskline;
101 .loc 1 206 0
102 0040 8543 bicpl r5, r5, r0
103 .LVL12:
207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Store falling trigger mode */
210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
104 .loc 1 210 0
105 0042 9D51 str r5, [r3, r6]
211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */
213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
106 .loc 1 213 0
107 0044 0D68 ldr r5, [r1]
108 .LVL13:
109 0046 05F0C065 and r5, r5, #100663296
110 004a B5F1C06F cmp r5, #100663296
111 004e 18D0 beq .L21
112 .LVL14:
113 .L4:
214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
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 ****
225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Configure interrupt mode : read current mode */
ARM GAS /tmp/ccFYatrK.s page 7
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->IMR1 + (EXTI_MODE_OFFSET * offset));
114 .loc 1 226 0
115 0050 03F18042 add r2, r3, #1073741824
116 0054 02F58232 add r2, r2, #66560
117 .LVL15:
227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Mask or set line */
230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
118 .loc 1 230 0
119 0058 4D68 ldr r5, [r1, #4]
227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
120 .loc 1 227 0
121 005a 1468 ldr r4, [r2]
122 .LVL16:
123 .loc 1 230 0
124 005c ED07 lsls r5, r5, #31
231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval |= maskline;
125 .loc 1 232 0
126 005e 4CBF ite mi
127 0060 0443 orrmi r4, r4, r0
128 .LVL17:
233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** else
235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~maskline;
129 .loc 1 236 0
130 0062 8443 bicpl r4, r4, r0
131 .LVL18:
237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Store interrupt mode */
240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
132 .loc 1 240 0
133 0064 1460 str r4, [r2]
241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Configure event mode : read current mode */
243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->EMR1 + (EXTI_MODE_OFFSET * offset));
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Mask or set line */
247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
134 .loc 1 247 0
135 0066 4C68 ldr r4, [r1, #4]
136 .LVL19:
243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
137 .loc 1 243 0
138 0068 1249 ldr r1, .L22+8
139 .LVL20:
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
140 .loc 1 244 0
141 006a 5A58 ldr r2, [r3, r1]
142 .LVL21:
143 .loc 1 247 0
144 006c A407 lsls r4, r4, #30
248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
ARM GAS /tmp/ccFYatrK.s page 8
249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval |= maskline;
145 .loc 1 249 0
146 006e 4CBF ite mi
147 0070 1043 orrmi r0, r0, r2
148 .LVL22:
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** else
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~maskline;
149 .loc 1 253 0
150 0072 22EA0000 bicpl r0, r2, r0
151 .LVL23:
254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Store event mode */
257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
152 .loc 1 257 0
153 0076 5850 str r0, [r3, r1]
258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return HAL_OK;
260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
154 .loc 1 260 0
155 0078 F0BC pop {r4, r5, r6, r7}
156 .LCFI1:
157 .cfi_restore 7
158 .cfi_restore 6
159 .cfi_restore 5
160 .cfi_restore 4
161 .cfi_def_cfa_offset 0
259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
162 .loc 1 259 0
163 007a 0020 movs r0, #0
164 .LVL24:
165 .loc 1 260 0
166 007c 7047 bx lr
167 .LVL25:
168 .L15:
156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
169 .loc 1 156 0
170 007e 0120 movs r0, #1
171 .LVL26:
172 .loc 1 260 0
173 0080 7047 bx lr
174 .LVL27:
175 .L21:
176 .LCFI2:
177 .cfi_def_cfa_offset 16
178 .cfi_offset 4, -16
179 .cfi_offset 5, -12
180 .cfi_offset 6, -8
181 .cfi_offset 7, -4
182 0082 04F01C04 and r4, r4, #28
183 .LVL28:
184 0086 04F18044 add r4, r4, #1073741824
185 008a 04F58034 add r4, r4, #65536
219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
186 .loc 1 219 0
ARM GAS /tmp/ccFYatrK.s page 9
187 008e 02F00302 and r2, r2, #3
188 .LVL29:
189 0092 9200 lsls r2, r2, #2
218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
190 .loc 1 218 0
191 0094 A668 ldr r6, [r4, #8]
192 .LVL30:
220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
193 .loc 1 220 0
194 0096 CD68 ldr r5, [r1, #12]
219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
195 .loc 1 219 0
196 0098 0727 movs r7, #7
197 009a 9740 lsls r7, r7, r2
198 009c 26EA0706 bic r6, r6, r7
199 .LVL31:
220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
200 .loc 1 220 0
201 00a0 05FA02F2 lsl r2, r5, r2
202 00a4 3243 orrs r2, r2, r6
203 .LVL32:
221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
204 .loc 1 221 0
205 00a6 A260 str r2, [r4, #8]
206 00a8 D2E7 b .L4
207 .L23:
208 00aa 00BF .align 2
209 .L22:
210 00ac 08040140 .word 1073808392
211 00b0 0C040140 .word 1073808396
212 00b4 04040140 .word 1073808388
213 .cfi_endproc
214 .LFE329:
216 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
217 .align 1
218 .p2align 2,,3
219 .global HAL_EXTI_GetConfigLine
220 .syntax unified
221 .thumb
222 .thumb_func
223 .fpu fpv4-sp-d16
225 HAL_EXTI_GetConfigLine:
226 .LFB330:
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 **** /**
264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line.
265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param hexti Exti handle.
266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration.
267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @retval HAL Status.
268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
227 .loc 1 270 0
228 .cfi_startproc
229 @ args = 0, pretend = 0, frame = 0
230 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccFYatrK.s page 10
231 @ link register save eliminated.
232 .LVL33:
271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t regval;
273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t linepos;
274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check null pointer */
278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
233 .loc 1 278 0
234 0000 0028 cmp r0, #0
235 0002 3BD0 beq .L31
236 .loc 1 278 0 is_stmt 0 discriminator 1
237 0004 0029 cmp r1, #0
238 0006 39D0 beq .L31
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return HAL_ERROR;
281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check the parameter */
284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Store handle line number to configuration structure */
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->Line = hexti->Line;
239 .loc 1 287 0 is_stmt 1
240 0008 0368 ldr r3, [r0]
241 000a 0B60 str r3, [r1]
242 .LVL34:
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
243 .loc 1 270 0
244 000c 70B4 push {r4, r5, r6}
245 .LCFI3:
246 .cfi_def_cfa_offset 12
247 .cfi_offset 4, -12
248 .cfi_offset 5, -8
249 .cfi_offset 6, -4
288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line register offset and line mask */
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
250 .loc 1 290 0
251 000e C3F30045 ubfx r5, r3, #16, #1
291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line position */
292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute mask */
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** maskline = (1uL << linepos);
295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* 1] Get core mode : interrupt */
297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->IMR1 + (EXTI_MODE_OFFSET * offset));
252 .loc 1 297 0
253 0012 6D01 lsls r5, r5, #5
254 0014 05F18042 add r2, r5, #1073741824
255 0018 02F58232 add r2, r2, #66560
292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute mask */
256 .loc 1 292 0
257 001c 03F01F06 and r6, r3, #31
258 .LVL35:
ARM GAS /tmp/ccFYatrK.s page 11
298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
259 .loc 1 298 0
260 0020 1068 ldr r0, [r2]
261 .LVL36:
299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check if selected line is enable */
301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** else
306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE;
308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Get event mode */
311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->EMR1 + (EXTI_MODE_OFFSET * offset));
262 .loc 1 311 0
263 0022 1E4C ldr r4, .L44
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
264 .loc 1 294 0
265 0024 0122 movs r2, #1
266 0026 B240 lsls r2, r2, r6
267 .LVL37:
301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
268 .loc 1 301 0
269 0028 0242 tst r2, r0
270 002a 14BF ite ne
271 002c 0120 movne r0, #1
272 .LVL38:
273 002e 0020 moveq r0, #0
274 0030 4860 str r0, [r1, #4]
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
275 .loc 1 312 0
276 0032 2C59 ldr r4, [r5, r4]
277 .LVL39:
313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check if selected line is enable */
315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
278 .loc 1 315 0
279 0034 2242 tst r2, r4
316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT;
280 .loc 1 317 0
281 0036 1CBF itt ne
282 0038 40F00200 orrne r0, r0, #2
283 003c 4860 strne r0, [r1, #4]
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
284 .loc 1 321 0
285 003e 13F00070 ands r0, r3, #33554432
286 0042 03D1 bne .L42
322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->RTSR1 + (EXTI_CONFIG_OFFSET * offset));
324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
ARM GAS /tmp/ccFYatrK.s page 12
325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check if configuration of selected line is enable */
327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** else
332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Get falling configuration */
337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->FTSR1 + (EXTI_CONFIG_OFFSET * offset));
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check if configuration of selected line is enable */
341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval >> (SYSCFG_EXTICR1_EXTI1_Pos * ((linepos & 0x03u)))));
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** else
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
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 **** else
360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
287 .loc 1 362 0
288 0044 C1E90200 strd r0, r0, [r1, #8]
289 .LVL40:
290 .L25:
363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return HAL_OK;
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
291 .loc 1 366 0
292 0048 70BC pop {r4, r5, r6}
293 .LCFI4:
294 .cfi_remember_state
295 .cfi_restore 6
296 .cfi_restore 5
297 .cfi_restore 4
298 .cfi_def_cfa_offset 0
299 .LVL41:
300 004a 7047 bx lr
301 .LVL42:
ARM GAS /tmp/ccFYatrK.s page 13
302 .L42:
303 .LCFI5:
304 .cfi_restore_state
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
305 .loc 1 323 0
306 004c 1448 ldr r0, .L44+4
307 .LVL43:
337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = *regaddr;
308 .loc 1 337 0
309 004e 154C ldr r4, .L44+8
310 .LVL44:
324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
311 .loc 1 324 0
312 0050 2858 ldr r0, [r5, r0]
313 .LVL45:
327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
314 .loc 1 327 0
315 0052 0242 tst r2, r0
316 0054 14BF ite ne
317 0056 0120 movne r0, #1
318 .LVL46:
319 0058 0020 moveq r0, #0
320 005a 8860 str r0, [r1, #8]
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
321 .loc 1 338 0
322 005c 2C59 ldr r4, [r5, r4]
323 .LVL47:
341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
324 .loc 1 341 0
325 005e 2242 tst r2, r4
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
326 .loc 1 343 0
327 0060 18BF it ne
328 0062 40F00200 orrne r0, r0, #2
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
329 .loc 1 347 0
330 0066 03F0C062 and r2, r3, #100663296
331 .LVL48:
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
332 .loc 1 343 0
333 006a 18BF it ne
334 006c 8860 strne r0, [r1, #8]
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
335 .loc 1 347 0
336 006e B2F1C06F cmp r2, #100663296
337 0072 05D0 beq .L43
356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
338 .loc 1 356 0
339 0074 0020 movs r0, #0
340 0076 C860 str r0, [r1, #12]
341 .loc 1 366 0
342 0078 70BC pop {r4, r5, r6}
343 .LCFI6:
344 .cfi_restore 6
345 .cfi_restore 5
346 .cfi_restore 4
347 .cfi_def_cfa_offset 0
ARM GAS /tmp/ccFYatrK.s page 14
348 .LVL49:
349 007a 7047 bx lr
350 .LVL50:
351 .L31:
280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
352 .loc 1 280 0
353 007c 0120 movs r0, #1
354 .LVL51:
355 .loc 1 366 0
356 007e 7047 bx lr
357 .LVL52:
358 .L43:
359 .LCFI7:
360 .cfi_def_cfa_offset 12
361 .cfi_offset 4, -12
362 .cfi_offset 5, -8
363 .cfi_offset 6, -4
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval >> (SYSCFG_EXTICR1_EXTI1_Pos * ((linepos & 0x03u)))));
364 .loc 1 351 0
365 0080 B208 lsrs r2, r6, #2
366 0082 0948 ldr r0, .L44+12
367 0084 0232 adds r2, r2, #2
352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
368 .loc 1 352 0
369 0086 03F00303 and r3, r3, #3
370 .LVL53:
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval >> (SYSCFG_EXTICR1_EXTI1_Pos * ((linepos & 0x03u)))));
371 .loc 1 351 0
372 008a 50F82220 ldr r2, [r0, r2, lsl #2]
373 .LVL54:
352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
374 .loc 1 352 0
375 008e 9B00 lsls r3, r3, #2
376 0090 22FA03F3 lsr r3, r2, r3
377 0094 CB60 str r3, [r1, #12]
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
378 .loc 1 365 0
379 0096 0020 movs r0, #0
380 0098 D6E7 b .L25
381 .L45:
382 009a 00BF .align 2
383 .L44:
384 009c 04040140 .word 1073808388
385 00a0 08040140 .word 1073808392
386 00a4 0C040140 .word 1073808396
387 00a8 00000140 .word 1073807360
388 .cfi_endproc
389 .LFE330:
391 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
392 .align 1
393 .p2align 2,,3
394 .global HAL_EXTI_ClearConfigLine
395 .syntax unified
396 .thumb
397 .thumb_func
398 .fpu fpv4-sp-d16
400 HAL_EXTI_ClearConfigLine:
ARM GAS /tmp/ccFYatrK.s page 15
401 .LFB331:
367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /**
370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param hexti Exti handle.
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @retval HAL Status.
373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
402 .loc 1 375 0
403 .cfi_startproc
404 @ args = 0, pretend = 0, frame = 0
405 @ frame_needed = 0, uses_anonymous_args = 0
406 @ link register save eliminated.
407 .LVL55:
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t regval;
378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t linepos;
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check null pointer */
383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if (hexti == NULL)
408 .loc 1 383 0
409 0000 40B3 cbz r0, .L50
375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
410 .loc 1 375 0
411 0002 F0B4 push {r4, r5, r6, r7}
412 .LCFI8:
413 .cfi_def_cfa_offset 16
414 .cfi_offset 4, -16
415 .cfi_offset 5, -12
416 .cfi_offset 6, -8
417 .cfi_offset 7, -4
384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return HAL_ERROR;
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check the parameter */
389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* compute line register offset and line mask */
392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
418 .loc 1 392 0
419 0004 0568 ldr r5, [r0]
420 .LVL56:
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* compute line position */
394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* compute line mask */
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** maskline = (1uL << linepos);
397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* 1] Clear interrupt mode */
399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->IMR1 + (EXTI_MODE_OFFSET * offset));
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
ARM GAS /tmp/ccFYatrK.s page 16
403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* 2] Clear event mode */
404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->EMR1 + (EXTI_MODE_OFFSET * offset));
421 .loc 1 404 0
422 0006 1E4F ldr r7, .L57
392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* compute line position */
423 .loc 1 392 0
424 0008 C5F30044 ubfx r4, r5, #16, #1
399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
425 .loc 1 399 0
426 000c 6401 lsls r4, r4, #5
427 000e 04F18042 add r2, r4, #1073741824
428 0012 02F58232 add r2, r2, #66560
394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* compute line mask */
429 .loc 1 394 0
430 0016 05F01F06 and r6, r5, #31
431 .LVL57:
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
432 .loc 1 396 0
433 001a 0123 movs r3, #1
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
434 .loc 1 400 0
435 001c 1168 ldr r1, [r2]
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
436 .loc 1 396 0
437 001e B340 lsls r3, r3, r6
438 .LVL58:
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
439 .loc 1 400 0
440 0020 DB43 mvns r3, r3
441 .LVL59:
442 0022 1940 ands r1, r1, r3
443 .LVL60:
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
444 .loc 1 401 0
445 0024 1160 str r1, [r2]
405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
446 .loc 1 405 0
447 0026 E259 ldr r2, [r4, r7]
448 0028 1A40 ands r2, r2, r3
449 .LVL61:
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
450 .loc 1 406 0
451 002a E251 str r2, [r4, r7]
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
452 .loc 1 409 0
453 002c 0268 ldr r2, [r0]
454 .LVL62:
455 002e 9201 lsls r2, r2, #6
456 0030 0DD5 bpl .L55
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->RTSR1 + (EXTI_CONFIG_OFFSET * offset));
457 .loc 1 411 0
458 0032 144F ldr r7, .L57+4
459 .LVL63:
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
ARM GAS /tmp/ccFYatrK.s page 17
413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->FTSR1 + (EXTI_CONFIG_OFFSET * offset));
460 .loc 1 415 0
461 0034 1449 ldr r1, .L57+8
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
462 .loc 1 412 0
463 0036 E259 ldr r2, [r4, r7]
464 0038 1A40 ands r2, r2, r3
465 .LVL64:
413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
466 .loc 1 413 0
467 003a E251 str r2, [r4, r7]
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & ~maskline);
468 .loc 1 416 0
469 003c 6258 ldr r2, [r4, r1]
470 .LVL65:
471 003e 1340 ands r3, r3, r2
472 .LVL66:
417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = regval;
473 .loc 1 417 0
474 0040 6350 str r3, [r4, r1]
418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
475 .loc 1 420 0
476 0042 0368 ldr r3, [r0]
477 .LVL67:
478 0044 03F0C063 and r3, r3, #100663296
479 0048 B3F1C06F cmp r3, #100663296
480 004c 04D0 beq .L56
481 .LVL68:
482 .L55:
421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return HAL_OK;
483 .loc 1 430 0
484 004e 0020 movs r0, #0
485 .LVL69:
431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
486 .loc 1 431 0
487 0050 F0BC pop {r4, r5, r6, r7}
488 .LCFI9:
489 .cfi_restore 7
490 .cfi_restore 6
491 .cfi_restore 5
492 .cfi_restore 4
493 .cfi_def_cfa_offset 0
494 .LVL70:
495 0052 7047 bx lr
ARM GAS /tmp/ccFYatrK.s page 18
496 .LVL71:
497 .L50:
385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
498 .loc 1 385 0
499 0054 0120 movs r0, #1
500 .LVL72:
501 .loc 1 431 0
502 0056 7047 bx lr
503 .LVL73:
504 .L56:
505 .LCFI10:
506 .cfi_def_cfa_offset 16
507 .cfi_offset 4, -16
508 .cfi_offset 5, -12
509 .cfi_offset 6, -8
510 .cfi_offset 7, -4
511 0058 06F01C06 and r6, r6, #28
512 .LVL74:
513 005c 06F18046 add r6, r6, #1073741824
514 0060 06F58036 add r6, r6, #65536
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
515 .loc 1 425 0
516 0064 05F00303 and r3, r5, #3
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
517 .loc 1 424 0
518 0068 B268 ldr r2, [r6, #8]
519 .LVL75:
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
520 .loc 1 425 0
521 006a 9B00 lsls r3, r3, #2
522 006c 0721 movs r1, #7
523 .LVL76:
524 006e 01FA03F3 lsl r3, r1, r3
525 0072 22EA0303 bic r3, r2, r3
526 .LVL77:
426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
527 .loc 1 426 0
528 0076 B360 str r3, [r6, #8]
430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
529 .loc 1 430 0
530 0078 0020 movs r0, #0
531 .LVL78:
532 .loc 1 431 0
533 007a F0BC pop {r4, r5, r6, r7}
534 .LCFI11:
535 .cfi_restore 7
536 .cfi_restore 6
537 .cfi_restore 5
538 .cfi_restore 4
539 .cfi_def_cfa_offset 0
540 .LVL79:
541 007c 7047 bx lr
542 .L58:
543 007e 00BF .align 2
544 .L57:
545 0080 04040140 .word 1073808388
546 0084 08040140 .word 1073808392
ARM GAS /tmp/ccFYatrK.s page 19
547 0088 0C040140 .word 1073808396
548 .cfi_endproc
549 .LFE331:
551 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
552 .align 1
553 .p2align 2,,3
554 .global HAL_EXTI_RegisterCallback
555 .syntax unified
556 .thumb
557 .thumb_func
558 .fpu fpv4-sp-d16
560 HAL_EXTI_RegisterCallback:
561 .LFB332:
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /**
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param hexti Exti handle.
437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param CallbackID User callback identifier.
438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @retval HAL Status.
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
562 .loc 1 443 0
563 .cfi_startproc
564 @ args = 0, pretend = 0, frame = 0
565 @ frame_needed = 0, uses_anonymous_args = 0
566 @ link register save eliminated.
567 .LVL80:
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check the parameters */
447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_CB(CallbackID));
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** switch (CallbackID)
568 .loc 1 449 0
569 0000 19B1 cbz r1, .L64
450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* set common callback */
452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** break;
455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** default:
457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** hexti->PendingCallback = NULL;
570 .loc 1 457 0
571 0002 0023 movs r3, #0
572 0004 4360 str r3, [r0, #4]
573 .LVL81:
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** status = HAL_ERROR;
574 .loc 1 458 0
575 0006 0120 movs r0, #1
576 .LVL82:
459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** break;
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
ARM GAS /tmp/ccFYatrK.s page 20
461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return status;
463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
577 .loc 1 463 0
578 0008 7047 bx lr
579 .LVL83:
580 .L64:
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** break;
581 .loc 1 453 0
582 000a 4260 str r2, [r0, #4]
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
583 .loc 1 444 0
584 000c 0846 mov r0, r1
585 .LVL84:
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
586 .loc 1 454 0
587 000e 7047 bx lr
588 .cfi_endproc
589 .LFE332:
591 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
592 .align 1
593 .p2align 2,,3
594 .global HAL_EXTI_GetHandle
595 .syntax unified
596 .thumb
597 .thumb_func
598 .fpu fpv4-sp-d16
600 HAL_EXTI_GetHandle:
601 .LFB333:
464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /**
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Store line number as handle private field.
468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param hexti Exti handle.
469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param ExtiLine Exti line number.
470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @retval HAL Status.
472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
602 .loc 1 474 0
603 .cfi_startproc
604 @ args = 0, pretend = 0, frame = 0
605 @ frame_needed = 0, uses_anonymous_args = 0
606 @ link register save eliminated.
607 .LVL85:
475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check the parameters */
476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check null pointer */
479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if (hexti == NULL)
608 .loc 1 479 0
609 0000 10B1 cbz r0, .L67
480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return HAL_ERROR;
482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** else
ARM GAS /tmp/ccFYatrK.s page 21
484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Store line number as handle private field */
486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** hexti->Line = ExtiLine;
610 .loc 1 486 0
611 0002 0160 str r1, [r0]
487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return HAL_OK;
612 .loc 1 488 0
613 0004 0020 movs r0, #0
614 .LVL86:
615 0006 7047 bx lr
616 .LVL87:
617 .L67:
481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
618 .loc 1 481 0
619 0008 0120 movs r0, #1
620 .LVL88:
489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
621 .loc 1 490 0
622 000a 7047 bx lr
623 .cfi_endproc
624 .LFE333:
626 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
627 .align 1
628 .p2align 2,,3
629 .global HAL_EXTI_IRQHandler
630 .syntax unified
631 .thumb
632 .thumb_func
633 .fpu fpv4-sp-d16
635 HAL_EXTI_IRQHandler:
636 .LFB334:
491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /**
494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @}
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief EXTI IO functions.
499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** @verbatim
501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ===============================================================================
502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ##### IO operation functions #####
503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** ===============================================================================
504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** @endverbatim
506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @{
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /**
510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param hexti Exti handle.
512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @retval none.
513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
ARM GAS /tmp/ccFYatrK.s page 22
515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
637 .loc 1 515 0
638 .cfi_startproc
639 @ args = 0, pretend = 0, frame = 0
640 @ frame_needed = 0, uses_anonymous_args = 0
641 @ link register save eliminated.
642 .LVL89:
516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t regval;
518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line register offset */
522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
643 .loc 1 522 0
644 0000 0368 ldr r3, [r0]
645 .LVL90:
646 0002 C3F30042 ubfx r2, r3, #16, #1
515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
647 .loc 1 515 0
648 0006 30B4 push {r4, r5}
649 .LCFI12:
650 .cfi_def_cfa_offset 8
651 .cfi_offset 4, -8
652 .cfi_offset 5, -4
523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* compute line mask */
524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Get pending bit */
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->PR1 + (EXTI_CONFIG_OFFSET * offset));
653 .loc 1 527 0
654 0008 5201 lsls r2, r2, #5
655 000a 084C ldr r4, .L76
524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
656 .loc 1 524 0
657 000c 03F01F03 and r3, r3, #31
658 .LVL91:
659 0010 0121 movs r1, #1
528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = (*regaddr & maskline);
660 .loc 1 528 0
661 0012 1559 ldr r5, [r2, r4]
524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
662 .loc 1 524 0
663 0014 01FA03F3 lsl r3, r1, r3
664 .LVL92:
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if (regval != 0x00u)
665 .loc 1 530 0
666 0018 1D42 tst r5, r3
667 001a 04D0 beq .L68
531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Clear pending bit */
533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = maskline;
534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Call pending callback */
536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
668 .loc 1 536 0
ARM GAS /tmp/ccFYatrK.s page 23
669 001c 4168 ldr r1, [r0, #4]
533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
670 .loc 1 533 0
671 001e 1351 str r3, [r2, r4]
672 .LVL93:
673 .loc 1 536 0
674 0020 09B1 cbz r1, .L68
537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** hexti->PendingCallback();
539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
675 .loc 1 541 0
676 0022 30BC pop {r4, r5}
677 .LCFI13:
678 .cfi_remember_state
679 .cfi_restore 5
680 .cfi_restore 4
681 .cfi_def_cfa_offset 0
682 .LVL94:
538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
683 .loc 1 538 0
684 0024 0847 bx r1 @ indirect register sibling call
685 .LVL95:
686 .L68:
687 .LCFI14:
688 .cfi_restore_state
689 .loc 1 541 0
690 0026 30BC pop {r4, r5}
691 .LCFI15:
692 .cfi_restore 5
693 .cfi_restore 4
694 .cfi_def_cfa_offset 0
695 .LVL96:
696 0028 7047 bx lr
697 .L77:
698 002a 00BF .align 2
699 .L76:
700 002c 14040140 .word 1073808404
701 .cfi_endproc
702 .LFE334:
704 .section .text.HAL_EXTI_GetPending,"ax",%progbits
705 .align 1
706 .p2align 2,,3
707 .global HAL_EXTI_GetPending
708 .syntax unified
709 .thumb
710 .thumb_func
711 .fpu fpv4-sp-d16
713 HAL_EXTI_GetPending:
714 .LFB335:
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /**
544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param hexti Exti handle.
546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param Edge unused
547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
ARM GAS /tmp/ccFYatrK.s page 24
548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
715 .loc 1 550 0
716 .cfi_startproc
717 @ args = 0, pretend = 0, frame = 0
718 @ frame_needed = 0, uses_anonymous_args = 0
719 @ link register save eliminated.
720 .LVL97:
551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t regval;
553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t linepos;
554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check parameters */
558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** UNUSED(Edge);
561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line register offset */
563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
721 .loc 1 563 0
722 0000 0368 ldr r3, [r0]
723 .LVL98:
564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line position */
565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line mask */
567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** maskline = (1uL << linepos);
568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Get pending bit */
570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->PR1 + (EXTI_CONFIG_OFFSET * offset));
724 .loc 1 570 0
725 0002 0649 ldr r1, .L79
726 .LVL99:
563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line position */
727 .loc 1 563 0
728 0004 C3F30042 ubfx r2, r3, #16, #1
729 .loc 1 570 0
730 0008 5201 lsls r2, r2, #5
565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line mask */
731 .loc 1 565 0
732 000a 03F01F03 and r3, r3, #31
733 .LVL100:
571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* return 1 if bit is set else 0 */
573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regval = ((*regaddr & maskline) >> linepos);
734 .loc 1 573 0
735 000e 5258 ldr r2, [r2, r1]
736 .LVL101:
567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
737 .loc 1 567 0
738 0010 0120 movs r0, #1
739 .LVL102:
740 0012 9840 lsls r0, r0, r3
741 .LVL103:
742 .loc 1 573 0
ARM GAS /tmp/ccFYatrK.s page 25
743 0014 1040 ands r0, r0, r2
744 .LVL104:
574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** return regval;
575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
745 .loc 1 575 0
746 0016 D840 lsrs r0, r0, r3
747 .LVL105:
748 0018 7047 bx lr
749 .L80:
750 001a 00BF .align 2
751 .L79:
752 001c 14040140 .word 1073808404
753 .cfi_endproc
754 .LFE335:
756 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
757 .align 1
758 .p2align 2,,3
759 .global HAL_EXTI_ClearPending
760 .syntax unified
761 .thumb
762 .thumb_func
763 .fpu fpv4-sp-d16
765 HAL_EXTI_ClearPending:
766 .LFB336:
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /**
579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param hexti Exti handle.
581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param Edge unused
582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @retval None.
583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
767 .loc 1 585 0
768 .cfi_startproc
769 @ args = 0, pretend = 0, frame = 0
770 @ frame_needed = 0, uses_anonymous_args = 0
771 @ link register save eliminated.
772 .LVL106:
586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check parameters */
591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** UNUSED(Edge);
594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line register offset */
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
773 .loc 1 596 0
774 0000 0368 ldr r3, [r0]
775 .LVL107:
597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line mask */
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
ARM GAS /tmp/ccFYatrK.s page 26
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Get pending register address */
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->PR1 + (EXTI_CONFIG_OFFSET * offset));
776 .loc 1 601 0
777 0002 0548 ldr r0, .L82
778 .LVL108:
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Compute line mask */
779 .loc 1 596 0
780 0004 C3F30042 ubfx r2, r3, #16, #1
781 .loc 1 601 0
782 0008 5201 lsls r2, r2, #5
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
783 .loc 1 598 0
784 000a 03F01F03 and r3, r3, #31
785 .LVL109:
786 000e 0121 movs r1, #1
787 .LVL110:
788 0010 01FA03F3 lsl r3, r1, r3
789 .LVL111:
602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Clear Pending bit */
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = maskline;
790 .loc 1 604 0
791 0014 1350 str r3, [r2, r0]
792 .LVL112:
605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
793 .loc 1 605 0
794 0016 7047 bx lr
795 .L83:
796 .align 2
797 .L82:
798 0018 14040140 .word 1073808404
799 .cfi_endproc
800 .LFE336:
802 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
803 .align 1
804 .p2align 2,,3
805 .global HAL_EXTI_GenerateSWI
806 .syntax unified
807 .thumb
808 .thumb_func
809 .fpu fpv4-sp-d16
811 HAL_EXTI_GenerateSWI:
812 .LFB337:
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /**
609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @param hexti Exti handle.
611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** * @retval None.
612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** */
613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** {
813 .loc 1 614 0
814 .cfi_startproc
815 @ args = 0, pretend = 0, frame = 0
816 @ frame_needed = 0, uses_anonymous_args = 0
817 @ link register save eliminated.
ARM GAS /tmp/ccFYatrK.s page 27
818 .LVL113:
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** __IO uint32_t *regaddr;
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t maskline;
617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** uint32_t offset;
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* Check parameter */
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* compute line register offset */
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
819 .loc 1 624 0
820 0000 0368 ldr r3, [r0]
821 .LVL114:
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* compute line mask */
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** regaddr = (&EXTI->SWIER1 + (EXTI_CONFIG_OFFSET * offset));
822 .loc 1 628 0
823 0002 0548 ldr r0, .L85
824 .LVL115:
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** /* compute line mask */
825 .loc 1 624 0
826 0004 C3F30042 ubfx r2, r3, #16, #1
827 .loc 1 628 0
828 0008 5201 lsls r2, r2, #5
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c ****
829 .loc 1 626 0
830 000a 03F01F03 and r3, r3, #31
831 .LVL116:
832 000e 0121 movs r1, #1
833 0010 01FA03F3 lsl r3, r1, r3
834 .LVL117:
629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** *regaddr = maskline;
835 .loc 1 629 0
836 0014 1350 str r3, [r2, r0]
837 .LVL118:
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_exti.c **** }
838 .loc 1 630 0
839 0016 7047 bx lr
840 .L86:
841 .align 2
842 .L85:
843 0018 10040140 .word 1073808400
844 .cfi_endproc
845 .LFE337:
847 .text
848 .Letext0:
849 .file 2 "/usr/include/newlib/machine/_default_types.h"
850 .file 3 "/usr/include/newlib/sys/_stdint.h"
851 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
852 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
853 .file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
854 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
855 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_exti.h"
856 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
857 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
ARM GAS /tmp/ccFYatrK.s page 28
858 .file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
ARM GAS /tmp/ccFYatrK.s page 29
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32g4xx_hal_exti.c
/tmp/ccFYatrK.s:16 .text.HAL_EXTI_SetConfigLine:0000000000000000 $t
/tmp/ccFYatrK.s:24 .text.HAL_EXTI_SetConfigLine:0000000000000000 HAL_EXTI_SetConfigLine
/tmp/ccFYatrK.s:210 .text.HAL_EXTI_SetConfigLine:00000000000000ac $d
/tmp/ccFYatrK.s:217 .text.HAL_EXTI_GetConfigLine:0000000000000000 $t
/tmp/ccFYatrK.s:225 .text.HAL_EXTI_GetConfigLine:0000000000000000 HAL_EXTI_GetConfigLine
/tmp/ccFYatrK.s:384 .text.HAL_EXTI_GetConfigLine:000000000000009c $d
/tmp/ccFYatrK.s:392 .text.HAL_EXTI_ClearConfigLine:0000000000000000 $t
/tmp/ccFYatrK.s:400 .text.HAL_EXTI_ClearConfigLine:0000000000000000 HAL_EXTI_ClearConfigLine
/tmp/ccFYatrK.s:545 .text.HAL_EXTI_ClearConfigLine:0000000000000080 $d
/tmp/ccFYatrK.s:552 .text.HAL_EXTI_RegisterCallback:0000000000000000 $t
/tmp/ccFYatrK.s:560 .text.HAL_EXTI_RegisterCallback:0000000000000000 HAL_EXTI_RegisterCallback
/tmp/ccFYatrK.s:592 .text.HAL_EXTI_GetHandle:0000000000000000 $t
/tmp/ccFYatrK.s:600 .text.HAL_EXTI_GetHandle:0000000000000000 HAL_EXTI_GetHandle
/tmp/ccFYatrK.s:627 .text.HAL_EXTI_IRQHandler:0000000000000000 $t
/tmp/ccFYatrK.s:635 .text.HAL_EXTI_IRQHandler:0000000000000000 HAL_EXTI_IRQHandler
/tmp/ccFYatrK.s:700 .text.HAL_EXTI_IRQHandler:000000000000002c $d
/tmp/ccFYatrK.s:705 .text.HAL_EXTI_GetPending:0000000000000000 $t
/tmp/ccFYatrK.s:713 .text.HAL_EXTI_GetPending:0000000000000000 HAL_EXTI_GetPending
/tmp/ccFYatrK.s:752 .text.HAL_EXTI_GetPending:000000000000001c $d
/tmp/ccFYatrK.s:757 .text.HAL_EXTI_ClearPending:0000000000000000 $t
/tmp/ccFYatrK.s:765 .text.HAL_EXTI_ClearPending:0000000000000000 HAL_EXTI_ClearPending
/tmp/ccFYatrK.s:798 .text.HAL_EXTI_ClearPending:0000000000000018 $d
/tmp/ccFYatrK.s:803 .text.HAL_EXTI_GenerateSWI:0000000000000000 $t
/tmp/ccFYatrK.s:811 .text.HAL_EXTI_GenerateSWI:0000000000000000 HAL_EXTI_GenerateSWI
/tmp/ccFYatrK.s:843 .text.HAL_EXTI_GenerateSWI:0000000000000018 $d
NO UNDEFINED SYMBOLS