1657 lines
94 KiB
Plaintext
1657 lines
94 KiB
Plaintext
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>© 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
|