1373 lines
77 KiB
Text
1373 lines
77 KiB
Text
ARM GAS /tmp/ccoU2NQy.s page 1
|
||
|
||
|
||
1 .cpu cortex-m0
|
||
2 .eabi_attribute 20, 1
|
||
3 .eabi_attribute 21, 1
|
||
4 .eabi_attribute 23, 3
|
||
5 .eabi_attribute 24, 1
|
||
6 .eabi_attribute 25, 1
|
||
7 .eabi_attribute 26, 1
|
||
8 .eabi_attribute 30, 1
|
||
9 .eabi_attribute 34, 0
|
||
10 .eabi_attribute 18, 4
|
||
11 .file "stm32f0xx_hal_exti.c"
|
||
12 .text
|
||
13 .Ltext0:
|
||
14 .cfi_sections .debug_frame
|
||
15 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits
|
||
16 .align 1
|
||
17 .global HAL_EXTI_SetConfigLine
|
||
18 .syntax unified
|
||
19 .code 16
|
||
20 .thumb_func
|
||
21 .fpu softvfp
|
||
23 HAL_EXTI_SetConfigLine:
|
||
24 .LFB40:
|
||
25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c"
|
||
1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ******************************************************************************
|
||
3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @file stm32f0xx_hal_exti.c
|
||
4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @author MCD Application Team
|
||
5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief EXTI HAL module driver.
|
||
6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This file provides firmware functions to manage the following
|
||
7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral:
|
||
8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * + Initialization and de-initialization functions
|
||
9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * + IO operation functions
|
||
10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
|
||
11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim
|
||
12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ==============================================================================
|
||
13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### EXTI Peripheral features #####
|
||
14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ==============================================================================
|
||
15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** [..]
|
||
16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Each Exti line can be configured within this driver.
|
||
17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes
|
||
19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Interrupt
|
||
20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Event
|
||
21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Both of them
|
||
22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers
|
||
24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Rising
|
||
25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Falling
|
||
26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Both of them
|
||
27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different
|
||
29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition
|
||
30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** occurs:
|
||
31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Rising edge pending interrupt
|
||
32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Falling
|
||
33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
ARM GAS /tmp/ccoU2NQy.s page 2
|
||
|
||
|
||
34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can
|
||
35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** be selected through multiplexer.
|
||
36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### How to use this driver #####
|
||
38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ==============================================================================
|
||
39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** [..]
|
||
40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
|
||
42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from
|
||
43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
|
||
44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from
|
||
45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
|
||
46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger
|
||
47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure.
|
||
48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
|
||
49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** member from GPIO_InitTypeDef structure.
|
||
50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using
|
||
52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_EXTI_GetConfigLine().
|
||
53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as parameter.
|
||
54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
|
||
55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_GetConfigLine().
|
||
57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as parameter.
|
||
58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
|
||
60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as first parameter.
|
||
61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide which callback will be registered using one value from
|
||
62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_CallbackIDTypeDef.
|
||
63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide callback function pointer.
|
||
64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending().
|
||
66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_GetPending().
|
||
68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
|
||
70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim
|
||
72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ******************************************************************************
|
||
73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @attention
|
||
74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
|
||
75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * <h2><center>© Copyright (c) 2019 STMicroelectronics.
|
||
76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * All rights reserved.</center></h2>
|
||
77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
|
||
78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This software component is licensed by ST under BSD 3-Clause license,
|
||
79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * the "License"; You may not use this file except in compliance with the
|
||
80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * License. You may obtain a copy of the License at:
|
||
81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * opensource.org/licenses/BSD-3-Clause
|
||
82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
|
||
83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ******************************************************************************
|
||
84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
|
||
87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** #include "stm32f0xx_hal.h"
|
||
88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup STM32F0xx_HAL_Driver
|
||
90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
|
||
ARM GAS /tmp/ccoU2NQy.s page 3
|
||
|
||
|
||
91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI
|
||
94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
|
||
95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
|
||
97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
|
||
98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * of bounds [0,3] in following API :
|
||
99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_SetConfigLine
|
||
100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_GetConfigLine
|
||
101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine
|
||
102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
|
||
105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
|
||
107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/
|
||
108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
|
||
109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
|
||
110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @}
|
||
114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
|
||
117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
|
||
118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
|
||
119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
|
||
120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
|
||
122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
|
||
123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
|
||
126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Configuration functions
|
||
127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
|
||
128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim
|
||
129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ===============================================================================
|
||
130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### Configuration functions #####
|
||
131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ===============================================================================
|
||
132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim
|
||
134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
|
||
135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line.
|
||
139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
|
||
140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set.
|
||
141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
|
||
142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
|
||
144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
26 .loc 1 144 0
|
||
27 .cfi_startproc
|
||
28 @ args = 0, pretend = 0, frame = 0
|
||
ARM GAS /tmp/ccoU2NQy.s page 4
|
||
|
||
|
||
29 @ frame_needed = 0, uses_anonymous_args = 0
|
||
30 .LVL0:
|
||
31 0000 70B5 push {r4, r5, r6, lr}
|
||
32 .LCFI0:
|
||
33 .cfi_def_cfa_offset 16
|
||
34 .cfi_offset 4, -16
|
||
35 .cfi_offset 5, -12
|
||
36 .cfi_offset 6, -8
|
||
37 .cfi_offset 14, -4
|
||
145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
|
||
146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
|
||
147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
|
||
148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
|
||
150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
|
||
38 .loc 1 150 0
|
||
39 0002 0028 cmp r0, #0
|
||
40 0004 53D0 beq .L11
|
||
41 .loc 1 150 0 is_stmt 0 discriminator 1
|
||
42 0006 0029 cmp r1, #0
|
||
43 0008 53D0 beq .L12
|
||
151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
|
||
153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
|
||
156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line));
|
||
157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
|
||
158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Assign line number to handle */
|
||
160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->Line = pExtiConfig->Line;
|
||
44 .loc 1 160 0 is_stmt 1
|
||
45 000a 0B68 ldr r3, [r1]
|
||
46 000c 0360 str r3, [r0]
|
||
161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
|
||
163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
|
||
47 .loc 1 163 0
|
||
48 000e 0C68 ldr r4, [r1]
|
||
49 0010 1F22 movs r2, #31
|
||
50 0012 2240 ands r2, r4
|
||
51 .LVL1:
|
||
164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
|
||
52 .loc 1 164 0
|
||
53 0014 0123 movs r3, #1
|
||
54 0016 9340 lsls r3, r3, r2
|
||
55 .LVL2:
|
||
165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure triggers for configurable lines */
|
||
167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
|
||
56 .loc 1 167 0
|
||
57 0018 A001 lsls r0, r4, #6
|
||
58 001a 13D5 bpl .L3
|
||
59 .LVL3:
|
||
168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
|
||
170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
ARM GAS /tmp/ccoU2NQy.s page 5
|
||
|
||
|
||
171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure rising trigger */
|
||
172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */
|
||
173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
|
||
60 .loc 1 173 0
|
||
61 001c 8868 ldr r0, [r1, #8]
|
||
62 001e C007 lsls r0, r0, #31
|
||
63 0020 20D5 bpl .L4
|
||
174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR |= maskline;
|
||
64 .loc 1 175 0
|
||
65 0022 254D ldr r5, .L15
|
||
66 0024 A868 ldr r0, [r5, #8]
|
||
67 0026 1843 orrs r0, r3
|
||
68 0028 A860 str r0, [r5, #8]
|
||
69 .L5:
|
||
176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
|
||
178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR &= ~maskline;
|
||
180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure falling trigger */
|
||
183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */
|
||
184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
|
||
70 .loc 1 184 0
|
||
71 002a 8868 ldr r0, [r1, #8]
|
||
72 002c 8007 lsls r0, r0, #30
|
||
73 002e 1ED5 bpl .L6
|
||
185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR |= maskline;
|
||
74 .loc 1 186 0
|
||
75 0030 214D ldr r5, .L15
|
||
76 0032 E868 ldr r0, [r5, #12]
|
||
77 0034 1843 orrs r0, r3
|
||
78 0036 E860 str r0, [r5, #12]
|
||
79 .L7:
|
||
187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
|
||
189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR &= ~maskline;
|
||
191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */
|
||
195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
|
||
80 .loc 1 195 0
|
||
81 0038 C025 movs r5, #192
|
||
82 003a ED04 lsls r5, r5, #19
|
||
83 003c 0868 ldr r0, [r1]
|
||
84 003e 2840 ands r0, r5
|
||
85 0040 A842 cmp r0, r5
|
||
86 0042 19D0 beq .L13
|
||
87 .LVL4:
|
||
88 .L3:
|
||
196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
|
||
198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
|
||
ARM GAS /tmp/ccoU2NQy.s page 6
|
||
|
||
|
||
199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
|
||
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
|
||
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
|
||
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
|
||
204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure interrupt mode : read current mode */
|
||
208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */
|
||
209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
|
||
89 .loc 1 209 0
|
||
90 0044 4A68 ldr r2, [r1, #4]
|
||
91 0046 D207 lsls r2, r2, #31
|
||
92 0048 26D5 bpl .L8
|
||
210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR |= maskline;
|
||
93 .loc 1 211 0
|
||
94 004a 1B48 ldr r0, .L15
|
||
95 004c 0268 ldr r2, [r0]
|
||
96 004e 1A43 orrs r2, r3
|
||
97 0050 0260 str r2, [r0]
|
||
98 .L9:
|
||
212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
|
||
214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR &= ~maskline;
|
||
216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure event mode : read current mode */
|
||
219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */
|
||
220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
|
||
99 .loc 1 220 0
|
||
100 0052 4A68 ldr r2, [r1, #4]
|
||
101 0054 9207 lsls r2, r2, #30
|
||
102 0056 24D4 bmi .L14
|
||
221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR |= maskline;
|
||
223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
|
||
225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR &= ~maskline;
|
||
103 .loc 1 226 0
|
||
104 0058 1749 ldr r1, .L15
|
||
105 .LVL5:
|
||
106 005a 4A68 ldr r2, [r1, #4]
|
||
107 005c 9A43 bics r2, r3
|
||
108 005e 4A60 str r2, [r1, #4]
|
||
227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
|
||
109 .loc 1 229 0
|
||
110 0060 0020 movs r0, #0
|
||
111 .LVL6:
|
||
112 .L2:
|
||
230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
113 .loc 1 230 0
|
||
ARM GAS /tmp/ccoU2NQy.s page 7
|
||
|
||
|
||
114 @ sp needed
|
||
115 0062 70BD pop {r4, r5, r6, pc}
|
||
116 .LVL7:
|
||
117 .L4:
|
||
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
118 .loc 1 179 0
|
||
119 0064 144D ldr r5, .L15
|
||
120 0066 A868 ldr r0, [r5, #8]
|
||
121 0068 9843 bics r0, r3
|
||
122 006a A860 str r0, [r5, #8]
|
||
123 006c DDE7 b .L5
|
||
124 .L6:
|
||
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
125 .loc 1 190 0
|
||
126 006e 124D ldr r5, .L15
|
||
127 0070 E868 ldr r0, [r5, #12]
|
||
128 0072 9843 bics r0, r3
|
||
129 0074 E860 str r0, [r5, #12]
|
||
130 0076 DFE7 b .L7
|
||
131 .L13:
|
||
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
|
||
132 .loc 1 200 0
|
||
133 0078 9208 lsrs r2, r2, #2
|
||
134 .LVL8:
|
||
135 007a 104E ldr r6, .L15+4
|
||
136 007c 0232 adds r2, r2, #2
|
||
137 007e 9200 lsls r2, r2, #2
|
||
138 0080 9559 ldr r5, [r2, r6]
|
||
139 .LVL9:
|
||
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
|
||
140 .loc 1 201 0
|
||
141 0082 0320 movs r0, #3
|
||
142 0084 0440 ands r4, r0
|
||
143 .LVL10:
|
||
144 0086 A400 lsls r4, r4, #2
|
||
145 0088 0C30 adds r0, r0, #12
|
||
146 008a A040 lsls r0, r0, r4
|
||
147 008c 8543 bics r5, r0
|
||
148 .LVL11:
|
||
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
|
||
149 .loc 1 202 0
|
||
150 008e C868 ldr r0, [r1, #12]
|
||
151 0090 A040 lsls r0, r0, r4
|
||
152 0092 2843 orrs r0, r5
|
||
153 .LVL12:
|
||
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
154 .loc 1 203 0
|
||
155 0094 9051 str r0, [r2, r6]
|
||
156 0096 D5E7 b .L3
|
||
157 .LVL13:
|
||
158 .L8:
|
||
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
159 .loc 1 215 0
|
||
160 0098 0748 ldr r0, .L15
|
||
161 009a 0268 ldr r2, [r0]
|
||
162 009c 9A43 bics r2, r3
|
||
163 009e 0260 str r2, [r0]
|
||
ARM GAS /tmp/ccoU2NQy.s page 8
|
||
|
||
|
||
164 00a0 D7E7 b .L9
|
||
165 .L14:
|
||
222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
166 .loc 1 222 0
|
||
167 00a2 0549 ldr r1, .L15
|
||
168 .LVL14:
|
||
169 00a4 4A68 ldr r2, [r1, #4]
|
||
170 00a6 1343 orrs r3, r2
|
||
171 .LVL15:
|
||
172 00a8 4B60 str r3, [r1, #4]
|
||
229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
173 .loc 1 229 0
|
||
174 00aa 0020 movs r0, #0
|
||
175 00ac D9E7 b .L2
|
||
176 .LVL16:
|
||
177 .L11:
|
||
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
178 .loc 1 152 0
|
||
179 00ae 0120 movs r0, #1
|
||
180 .LVL17:
|
||
181 00b0 D7E7 b .L2
|
||
182 .LVL18:
|
||
183 .L12:
|
||
184 00b2 0120 movs r0, #1
|
||
185 .LVL19:
|
||
186 00b4 D5E7 b .L2
|
||
187 .L16:
|
||
188 00b6 C046 .align 2
|
||
189 .L15:
|
||
190 00b8 00040140 .word 1073808384
|
||
191 00bc 00000140 .word 1073807360
|
||
192 .cfi_endproc
|
||
193 .LFE40:
|
||
195 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
|
||
196 .align 1
|
||
197 .global HAL_EXTI_GetConfigLine
|
||
198 .syntax unified
|
||
199 .code 16
|
||
200 .thumb_func
|
||
201 .fpu softvfp
|
||
203 HAL_EXTI_GetConfigLine:
|
||
204 .LFB41:
|
||
231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line.
|
||
234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
|
||
235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration.
|
||
236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
|
||
237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
|
||
239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
205 .loc 1 239 0
|
||
206 .cfi_startproc
|
||
207 @ args = 0, pretend = 0, frame = 0
|
||
208 @ frame_needed = 0, uses_anonymous_args = 0
|
||
209 .LVL20:
|
||
210 0000 30B5 push {r4, r5, lr}
|
||
ARM GAS /tmp/ccoU2NQy.s page 9
|
||
|
||
|
||
211 .LCFI1:
|
||
212 .cfi_def_cfa_offset 12
|
||
213 .cfi_offset 4, -12
|
||
214 .cfi_offset 5, -8
|
||
215 .cfi_offset 14, -4
|
||
240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
|
||
241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
|
||
242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
|
||
243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
|
||
245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
|
||
216 .loc 1 245 0
|
||
217 0002 0028 cmp r0, #0
|
||
218 0004 46D0 beq .L27
|
||
219 .loc 1 245 0 is_stmt 0 discriminator 1
|
||
220 0006 0029 cmp r1, #0
|
||
221 0008 46D0 beq .L28
|
||
246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
|
||
248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameter */
|
||
251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
|
||
252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Store handle line number to configuration structure */
|
||
254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Line = hexti->Line;
|
||
222 .loc 1 254 0 is_stmt 1
|
||
223 000a 0068 ldr r0, [r0]
|
||
224 .LVL21:
|
||
225 000c 0860 str r0, [r1]
|
||
255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
|
||
257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
|
||
226 .loc 1 257 0
|
||
227 000e 1F24 movs r4, #31
|
||
228 0010 0440 ands r4, r0
|
||
229 .LVL22:
|
||
258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
|
||
230 .loc 1 258 0
|
||
231 0012 0123 movs r3, #1
|
||
232 0014 A340 lsls r3, r3, r4
|
||
233 .LVL23:
|
||
259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 1] Get core mode : interrupt */
|
||
261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if selected line is enable */
|
||
263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->IMR & maskline) != 0x00u)
|
||
234 .loc 1 263 0
|
||
235 0016 214A ldr r2, .L30
|
||
236 0018 1268 ldr r2, [r2]
|
||
237 001a 1342 tst r3, r2
|
||
238 001c 22D0 beq .L19
|
||
264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
|
||
239 .loc 1 265 0
|
||
240 001e 0122 movs r2, #1
|
||
241 0020 4A60 str r2, [r1, #4]
|
||
ARM GAS /tmp/ccoU2NQy.s page 10
|
||
|
||
|
||
242 .L20:
|
||
266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
|
||
268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE;
|
||
270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get event mode */
|
||
273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if selected line is enable */
|
||
274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->EMR & maskline) != 0x00u)
|
||
243 .loc 1 274 0
|
||
244 0022 1E4A ldr r2, .L30
|
||
245 0024 5268 ldr r2, [r2, #4]
|
||
246 0026 1342 tst r3, r2
|
||
247 0028 03D0 beq .L21
|
||
275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT;
|
||
248 .loc 1 276 0
|
||
249 002a 0222 movs r2, #2
|
||
250 002c 4D68 ldr r5, [r1, #4]
|
||
251 002e 2A43 orrs r2, r5
|
||
252 0030 4A60 str r2, [r1, #4]
|
||
253 .L21:
|
||
277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
|
||
280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
|
||
254 .loc 1 280 0
|
||
255 0032 8201 lsls r2, r0, #6
|
||
256 0034 29D5 bpl .L22
|
||
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if configuration of selected line is enable */
|
||
283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->RTSR & maskline) != 0x00u)
|
||
257 .loc 1 283 0
|
||
258 0036 194A ldr r2, .L30
|
||
259 0038 9268 ldr r2, [r2, #8]
|
||
260 003a 1342 tst r3, r2
|
||
261 003c 15D0 beq .L23
|
||
284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
|
||
262 .loc 1 285 0
|
||
263 003e 0122 movs r2, #1
|
||
264 0040 8A60 str r2, [r1, #8]
|
||
265 .L24:
|
||
286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
|
||
288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
|
||
290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get falling configuration */
|
||
293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if configuration of selected line is enable */
|
||
294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->FTSR & maskline) != 0x00u)
|
||
266 .loc 1 294 0
|
||
267 0042 164A ldr r2, .L30
|
||
268 0044 D268 ldr r2, [r2, #12]
|
||
269 0046 1342 tst r3, r2
|
||
ARM GAS /tmp/ccoU2NQy.s page 11
|
||
|
||
|
||
270 0048 03D0 beq .L25
|
||
295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
|
||
271 .loc 1 296 0
|
||
272 004a 0223 movs r3, #2
|
||
273 .LVL24:
|
||
274 004c 8A68 ldr r2, [r1, #8]
|
||
275 004e 1343 orrs r3, r2
|
||
276 0050 8B60 str r3, [r1, #8]
|
||
277 .L25:
|
||
297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
|
||
300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
|
||
278 .loc 1 300 0
|
||
279 0052 C022 movs r2, #192
|
||
280 0054 D204 lsls r2, r2, #19
|
||
281 0056 1040 ands r0, r2
|
||
282 0058 9042 cmp r0, r2
|
||
283 005a 09D0 beq .L29
|
||
301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
|
||
303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
|
||
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
|
||
306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
|
||
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
|
||
284 .loc 1 309 0
|
||
285 005c 0023 movs r3, #0
|
||
286 005e CB60 str r3, [r1, #12]
|
||
310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
|
||
313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* No Trigger selected */
|
||
315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
|
||
316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
|
||
317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
|
||
287 .loc 1 319 0
|
||
288 0060 0020 movs r0, #0
|
||
289 0062 16E0 b .L18
|
||
290 .LVL25:
|
||
291 .L19:
|
||
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
292 .loc 1 269 0
|
||
293 0064 0022 movs r2, #0
|
||
294 0066 4A60 str r2, [r1, #4]
|
||
295 0068 DBE7 b .L20
|
||
296 .L23:
|
||
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
297 .loc 1 289 0
|
||
298 006a 0022 movs r2, #0
|
||
299 006c 8A60 str r2, [r1, #8]
|
||
ARM GAS /tmp/ccoU2NQy.s page 12
|
||
|
||
|
||
300 006e E8E7 b .L24
|
||
301 .LVL26:
|
||
302 .L29:
|
||
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
|
||
303 .loc 1 304 0
|
||
304 0070 A308 lsrs r3, r4, #2
|
||
305 0072 0233 adds r3, r3, #2
|
||
306 0074 9B00 lsls r3, r3, #2
|
||
307 0076 0A4A ldr r2, .L30+4
|
||
308 0078 9B58 ldr r3, [r3, r2]
|
||
309 .LVL27:
|
||
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
310 .loc 1 305 0
|
||
311 007a 0322 movs r2, #3
|
||
312 007c A243 bics r2, r4
|
||
313 007e 9200 lsls r2, r2, #2
|
||
314 0080 9340 lsls r3, r3, r2
|
||
315 .LVL28:
|
||
316 0082 1B0E lsrs r3, r3, #24
|
||
317 0084 CB60 str r3, [r1, #12]
|
||
318 .loc 1 319 0
|
||
319 0086 0020 movs r0, #0
|
||
320 0088 03E0 b .L18
|
||
321 .LVL29:
|
||
322 .L22:
|
||
315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
|
||
323 .loc 1 315 0
|
||
324 008a 0023 movs r3, #0
|
||
325 .LVL30:
|
||
326 008c 8B60 str r3, [r1, #8]
|
||
316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
327 .loc 1 316 0
|
||
328 008e CB60 str r3, [r1, #12]
|
||
329 .loc 1 319 0
|
||
330 0090 0020 movs r0, #0
|
||
331 .LVL31:
|
||
332 .L18:
|
||
320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
333 .loc 1 320 0
|
||
334 @ sp needed
|
||
335 0092 30BD pop {r4, r5, pc}
|
||
336 .LVL32:
|
||
337 .L27:
|
||
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
338 .loc 1 247 0
|
||
339 0094 0120 movs r0, #1
|
||
340 .LVL33:
|
||
341 0096 FCE7 b .L18
|
||
342 .LVL34:
|
||
343 .L28:
|
||
344 0098 0120 movs r0, #1
|
||
345 .LVL35:
|
||
346 009a FAE7 b .L18
|
||
347 .L31:
|
||
348 .align 2
|
||
349 .L30:
|
||
350 009c 00040140 .word 1073808384
|
||
ARM GAS /tmp/ccoU2NQy.s page 13
|
||
|
||
|
||
351 00a0 00000140 .word 1073807360
|
||
352 .cfi_endproc
|
||
353 .LFE41:
|
||
355 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
|
||
356 .align 1
|
||
357 .global HAL_EXTI_ClearConfigLine
|
||
358 .syntax unified
|
||
359 .code 16
|
||
360 .thumb_func
|
||
361 .fpu softvfp
|
||
363 HAL_EXTI_ClearConfigLine:
|
||
364 .LFB42:
|
||
321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
|
||
324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
|
||
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
|
||
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
|
||
328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
365 .loc 1 328 0
|
||
366 .cfi_startproc
|
||
367 @ args = 0, pretend = 0, frame = 0
|
||
368 @ frame_needed = 0, uses_anonymous_args = 0
|
||
369 .LVL36:
|
||
370 0000 30B5 push {r4, r5, lr}
|
||
371 .LCFI2:
|
||
372 .cfi_def_cfa_offset 12
|
||
373 .cfi_offset 4, -12
|
||
374 .cfi_offset 5, -8
|
||
375 .cfi_offset 14, -4
|
||
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
|
||
330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
|
||
331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
|
||
332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
|
||
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL)
|
||
376 .loc 1 334 0
|
||
377 0002 0028 cmp r0, #0
|
||
378 0004 2CD0 beq .L34
|
||
335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
|
||
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameter */
|
||
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
|
||
341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* compute line mask */
|
||
343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
|
||
379 .loc 1 343 0
|
||
380 0006 0568 ldr r5, [r0]
|
||
381 0008 1F22 movs r2, #31
|
||
382 000a 2A40 ands r2, r5
|
||
383 .LVL37:
|
||
344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
|
||
384 .loc 1 344 0
|
||
385 000c 0123 movs r3, #1
|
||
ARM GAS /tmp/ccoU2NQy.s page 14
|
||
|
||
|
||
386 000e 9340 lsls r3, r3, r2
|
||
387 .LVL38:
|
||
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 1] Clear interrupt mode */
|
||
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR = (EXTI->IMR & ~maskline);
|
||
388 .loc 1 347 0
|
||
389 0010 1549 ldr r1, .L38
|
||
390 0012 0C68 ldr r4, [r1]
|
||
391 0014 DB43 mvns r3, r3
|
||
392 .LVL39:
|
||
393 0016 1C40 ands r4, r3
|
||
394 0018 0C60 str r4, [r1]
|
||
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Clear event mode */
|
||
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR = (EXTI->EMR & ~maskline);
|
||
395 .loc 1 350 0
|
||
396 001a 4C68 ldr r4, [r1, #4]
|
||
397 001c 1C40 ands r4, r3
|
||
398 001e 4C60 str r4, [r1, #4]
|
||
351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
|
||
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
|
||
399 .loc 1 353 0
|
||
400 0020 0168 ldr r1, [r0]
|
||
401 0022 8901 lsls r1, r1, #6
|
||
402 0024 1ED5 bpl .L35
|
||
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR = (EXTI->RTSR & ~maskline);
|
||
403 .loc 1 355 0
|
||
404 0026 1049 ldr r1, .L38
|
||
405 0028 8C68 ldr r4, [r1, #8]
|
||
406 002a 1C40 ands r4, r3
|
||
407 002c 8C60 str r4, [r1, #8]
|
||
356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR = (EXTI->FTSR & ~maskline);
|
||
408 .loc 1 356 0
|
||
409 002e CC68 ldr r4, [r1, #12]
|
||
410 0030 2340 ands r3, r4
|
||
411 .LVL40:
|
||
412 0032 CB60 str r3, [r1, #12]
|
||
357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
|
||
359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
|
||
413 .loc 1 359 0
|
||
414 0034 0368 ldr r3, [r0]
|
||
415 0036 C021 movs r1, #192
|
||
416 0038 C904 lsls r1, r1, #19
|
||
417 003a 0B40 ands r3, r1
|
||
418 003c 8B42 cmp r3, r1
|
||
419 003e 01D0 beq .L37
|
||
360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
|
||
362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
|
||
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
|
||
365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
|
||
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
ARM GAS /tmp/ccoU2NQy.s page 15
|
||
|
||
|
||
368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
|
||
420 .loc 1 369 0
|
||
421 0040 0020 movs r0, #0
|
||
422 .LVL41:
|
||
423 0042 10E0 b .L33
|
||
424 .LVL42:
|
||
425 .L37:
|
||
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
|
||
426 .loc 1 363 0
|
||
427 0044 9208 lsrs r2, r2, #2
|
||
428 .LVL43:
|
||
429 0046 0948 ldr r0, .L38+4
|
||
430 .LVL44:
|
||
431 0048 0232 adds r2, r2, #2
|
||
432 004a 9200 lsls r2, r2, #2
|
||
433 004c 1158 ldr r1, [r2, r0]
|
||
434 .LVL45:
|
||
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
|
||
435 .loc 1 364 0
|
||
436 004e 0323 movs r3, #3
|
||
437 0050 1D40 ands r5, r3
|
||
438 .LVL46:
|
||
439 0052 AD00 lsls r5, r5, #2
|
||
440 0054 0C33 adds r3, r3, #12
|
||
441 0056 AB40 lsls r3, r3, r5
|
||
442 0058 9943 bics r1, r3
|
||
443 .LVL47:
|
||
365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
444 .loc 1 365 0
|
||
445 005a 1150 str r1, [r2, r0]
|
||
446 .loc 1 369 0
|
||
447 005c 0020 movs r0, #0
|
||
448 005e 02E0 b .L33
|
||
449 .LVL48:
|
||
450 .L34:
|
||
336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
451 .loc 1 336 0
|
||
452 0060 0120 movs r0, #1
|
||
453 .LVL49:
|
||
454 0062 00E0 b .L33
|
||
455 .LVL50:
|
||
456 .L35:
|
||
457 .loc 1 369 0
|
||
458 0064 0020 movs r0, #0
|
||
459 .LVL51:
|
||
460 .L33:
|
||
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
461 .loc 1 370 0
|
||
462 @ sp needed
|
||
463 0066 30BD pop {r4, r5, pc}
|
||
464 .L39:
|
||
465 .align 2
|
||
466 .L38:
|
||
467 0068 00040140 .word 1073808384
|
||
468 006c 00000140 .word 1073807360
|
||
469 .cfi_endproc
|
||
ARM GAS /tmp/ccoU2NQy.s page 16
|
||
|
||
|
||
470 .LFE42:
|
||
472 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
|
||
473 .align 1
|
||
474 .global HAL_EXTI_RegisterCallback
|
||
475 .syntax unified
|
||
476 .code 16
|
||
477 .thumb_func
|
||
478 .fpu softvfp
|
||
480 HAL_EXTI_RegisterCallback:
|
||
481 .LFB43:
|
||
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
|
||
374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
|
||
375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param CallbackID User callback identifier.
|
||
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
|
||
377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
|
||
378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
|
||
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
|
||
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
482 .loc 1 381 0
|
||
483 .cfi_startproc
|
||
484 @ args = 0, pretend = 0, frame = 0
|
||
485 @ frame_needed = 0, uses_anonymous_args = 0
|
||
486 @ link register save eliminated.
|
||
487 .LVL52:
|
||
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
|
||
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** switch (CallbackID)
|
||
488 .loc 1 384 0
|
||
489 0000 0029 cmp r1, #0
|
||
490 0002 02D1 bne .L44
|
||
385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
|
||
387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
|
||
491 .loc 1 387 0
|
||
492 0004 4260 str r2, [r0, #4]
|
||
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
|
||
493 .loc 1 382 0
|
||
494 0006 0020 movs r0, #0
|
||
495 .LVL53:
|
||
496 .L41:
|
||
388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break;
|
||
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** default:
|
||
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** status = HAL_ERROR;
|
||
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break;
|
||
393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return status;
|
||
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
497 .loc 1 396 0
|
||
498 @ sp needed
|
||
499 0008 7047 bx lr
|
||
500 .LVL54:
|
||
501 .L44:
|
||
ARM GAS /tmp/ccoU2NQy.s page 17
|
||
|
||
|
||
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break;
|
||
502 .loc 1 391 0
|
||
503 000a 0120 movs r0, #1
|
||
504 .LVL55:
|
||
505 000c FCE7 b .L41
|
||
506 .cfi_endproc
|
||
507 .LFE43:
|
||
509 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
|
||
510 .align 1
|
||
511 .global HAL_EXTI_GetHandle
|
||
512 .syntax unified
|
||
513 .code 16
|
||
514 .thumb_func
|
||
515 .fpu softvfp
|
||
517 HAL_EXTI_GetHandle:
|
||
518 .LFB44:
|
||
397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Store line number as handle private field.
|
||
400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
|
||
401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param ExtiLine Exti line number.
|
||
402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
|
||
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
|
||
404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
|
||
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
519 .loc 1 406 0
|
||
520 .cfi_startproc
|
||
521 @ args = 0, pretend = 0, frame = 0
|
||
522 @ frame_needed = 0, uses_anonymous_args = 0
|
||
523 @ link register save eliminated.
|
||
524 .LVL56:
|
||
407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameters */
|
||
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
|
||
409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
|
||
411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL)
|
||
525 .loc 1 411 0
|
||
526 0000 0028 cmp r0, #0
|
||
527 0002 02D0 beq .L47
|
||
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
|
||
414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
|
||
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Store line number as handle private field */
|
||
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->Line = ExtiLine;
|
||
528 .loc 1 418 0
|
||
529 0004 0160 str r1, [r0]
|
||
419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
|
||
530 .loc 1 420 0
|
||
531 0006 0020 movs r0, #0
|
||
532 .LVL57:
|
||
533 .L46:
|
||
421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
ARM GAS /tmp/ccoU2NQy.s page 18
|
||
|
||
|
||
534 .loc 1 422 0
|
||
535 @ sp needed
|
||
536 0008 7047 bx lr
|
||
537 .LVL58:
|
||
538 .L47:
|
||
413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
539 .loc 1 413 0
|
||
540 000a 0120 movs r0, #1
|
||
541 .LVL59:
|
||
542 000c FCE7 b .L46
|
||
543 .cfi_endproc
|
||
544 .LFE44:
|
||
546 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
|
||
547 .align 1
|
||
548 .global HAL_EXTI_IRQHandler
|
||
549 .syntax unified
|
||
550 .code 16
|
||
551 .thumb_func
|
||
552 .fpu softvfp
|
||
554 HAL_EXTI_IRQHandler:
|
||
555 .LFB45:
|
||
423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @}
|
||
426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
|
||
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief EXTI IO functions.
|
||
430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
|
||
431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim
|
||
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ===============================================================================
|
||
433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### IO operation functions #####
|
||
434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ===============================================================================
|
||
435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim
|
||
437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
|
||
438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
|
||
442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
|
||
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval none.
|
||
444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
|
||
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
556 .loc 1 446 0
|
||
557 .cfi_startproc
|
||
558 @ args = 0, pretend = 0, frame = 0
|
||
559 @ frame_needed = 0, uses_anonymous_args = 0
|
||
560 .LVL60:
|
||
561 0000 10B5 push {r4, lr}
|
||
562 .LCFI3:
|
||
563 .cfi_def_cfa_offset 8
|
||
564 .cfi_offset 4, -8
|
||
565 .cfi_offset 14, -4
|
||
447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
|
||
448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
|
||
ARM GAS /tmp/ccoU2NQy.s page 19
|
||
|
||
|
||
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
|
||
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
|
||
566 .loc 1 451 0
|
||
567 0002 1F22 movs r2, #31
|
||
568 0004 0368 ldr r3, [r0]
|
||
569 0006 1A40 ands r2, r3
|
||
570 0008 0123 movs r3, #1
|
||
571 000a 9340 lsls r3, r3, r2
|
||
572 .LVL61:
|
||
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get pending bit */
|
||
454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = (EXTI->PR & maskline);
|
||
573 .loc 1 454 0
|
||
574 000c 054A ldr r2, .L50
|
||
575 000e 5269 ldr r2, [r2, #20]
|
||
576 .LVL62:
|
||
455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (regval != 0x00u)
|
||
577 .loc 1 455 0
|
||
578 0010 1342 tst r3, r2
|
||
579 0012 05D0 beq .L48
|
||
456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear pending bit */
|
||
458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline;
|
||
580 .loc 1 458 0
|
||
581 0014 034A ldr r2, .L50
|
||
582 .LVL63:
|
||
583 0016 5361 str r3, [r2, #20]
|
||
459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Call callback */
|
||
461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
|
||
584 .loc 1 461 0
|
||
585 0018 4368 ldr r3, [r0, #4]
|
||
586 .LVL64:
|
||
587 001a 002B cmp r3, #0
|
||
588 001c 00D0 beq .L48
|
||
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback();
|
||
589 .loc 1 463 0
|
||
590 001e 9847 blx r3
|
||
591 .LVL65:
|
||
592 .L48:
|
||
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
593 .loc 1 466 0
|
||
594 @ sp needed
|
||
595 0020 10BD pop {r4, pc}
|
||
596 .L51:
|
||
597 0022 C046 .align 2
|
||
598 .L50:
|
||
599 0024 00040140 .word 1073808384
|
||
600 .cfi_endproc
|
||
601 .LFE45:
|
||
603 .section .text.HAL_EXTI_GetPending,"ax",%progbits
|
||
604 .align 1
|
||
605 .global HAL_EXTI_GetPending
|
||
ARM GAS /tmp/ccoU2NQy.s page 20
|
||
|
||
|
||
606 .syntax unified
|
||
607 .code 16
|
||
608 .thumb_func
|
||
609 .fpu softvfp
|
||
611 HAL_EXTI_GetPending:
|
||
612 .LFB46:
|
||
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
|
||
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
|
||
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked.
|
||
472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values:
|
||
473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
|
||
474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
|
||
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
|
||
476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
|
||
478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
613 .loc 1 478 0
|
||
614 .cfi_startproc
|
||
615 @ args = 0, pretend = 0, frame = 0
|
||
616 @ frame_needed = 0, uses_anonymous_args = 0
|
||
617 @ link register save eliminated.
|
||
618 .LVL66:
|
||
479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
|
||
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
|
||
481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
|
||
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
|
||
484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
|
||
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
|
||
486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
|
||
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
|
||
489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
|
||
619 .loc 1 489 0
|
||
620 0000 0268 ldr r2, [r0]
|
||
621 0002 1F23 movs r3, #31
|
||
622 0004 1340 ands r3, r2
|
||
623 .LVL67:
|
||
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
|
||
624 .loc 1 490 0
|
||
625 0006 0120 movs r0, #1
|
||
626 .LVL68:
|
||
627 0008 9840 lsls r0, r0, r3
|
||
628 .LVL69:
|
||
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* return 1 if bit is set else 0 */
|
||
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = ((EXTI->PR & maskline) >> linepos);
|
||
629 .loc 1 493 0
|
||
630 000a 024A ldr r2, .L53
|
||
631 000c 5269 ldr r2, [r2, #20]
|
||
632 000e 1040 ands r0, r2
|
||
633 .LVL70:
|
||
634 0010 D840 lsrs r0, r0, r3
|
||
635 .LVL71:
|
||
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return regval;
|
||
ARM GAS /tmp/ccoU2NQy.s page 21
|
||
|
||
|
||
495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
636 .loc 1 495 0
|
||
637 @ sp needed
|
||
638 0012 7047 bx lr
|
||
639 .L54:
|
||
640 .align 2
|
||
641 .L53:
|
||
642 0014 00040140 .word 1073808384
|
||
643 .cfi_endproc
|
||
644 .LFE46:
|
||
646 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
|
||
647 .align 1
|
||
648 .global HAL_EXTI_ClearPending
|
||
649 .syntax unified
|
||
650 .code 16
|
||
651 .thumb_func
|
||
652 .fpu softvfp
|
||
654 HAL_EXTI_ClearPending:
|
||
655 .LFB47:
|
||
496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
|
||
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
|
||
500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear.
|
||
501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values:
|
||
502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
|
||
503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
|
||
504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None.
|
||
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
|
||
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
656 .loc 1 507 0
|
||
657 .cfi_startproc
|
||
658 @ args = 0, pretend = 0, frame = 0
|
||
659 @ frame_needed = 0, uses_anonymous_args = 0
|
||
660 @ link register save eliminated.
|
||
661 .LVL72:
|
||
508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
|
||
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
|
||
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
|
||
512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
|
||
513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
|
||
514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
|
||
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
|
||
662 .loc 1 516 0
|
||
663 0000 0368 ldr r3, [r0]
|
||
664 0002 1F22 movs r2, #31
|
||
665 0004 1A40 ands r2, r3
|
||
666 0006 0123 movs r3, #1
|
||
667 0008 9340 lsls r3, r3, r2
|
||
668 .LVL73:
|
||
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear Pending bit */
|
||
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline;
|
||
669 .loc 1 519 0
|
||
ARM GAS /tmp/ccoU2NQy.s page 22
|
||
|
||
|
||
670 000a 014A ldr r2, .L56
|
||
671 000c 5361 str r3, [r2, #20]
|
||
520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
672 .loc 1 520 0
|
||
673 @ sp needed
|
||
674 000e 7047 bx lr
|
||
675 .L57:
|
||
676 .align 2
|
||
677 .L56:
|
||
678 0010 00040140 .word 1073808384
|
||
679 .cfi_endproc
|
||
680 .LFE47:
|
||
682 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
|
||
683 .align 1
|
||
684 .global HAL_EXTI_GenerateSWI
|
||
685 .syntax unified
|
||
686 .code 16
|
||
687 .thumb_func
|
||
688 .fpu softvfp
|
||
690 HAL_EXTI_GenerateSWI:
|
||
691 .LFB48:
|
||
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
|
||
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
|
||
524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
|
||
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None.
|
||
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
|
||
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
|
||
528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
|
||
692 .loc 1 528 0
|
||
693 .cfi_startproc
|
||
694 @ args = 0, pretend = 0, frame = 0
|
||
695 @ frame_needed = 0, uses_anonymous_args = 0
|
||
696 @ link register save eliminated.
|
||
697 .LVL74:
|
||
529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
|
||
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
|
||
532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
|
||
533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
|
||
534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
|
||
536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
|
||
698 .loc 1 536 0
|
||
699 0000 0368 ldr r3, [r0]
|
||
700 0002 1F22 movs r2, #31
|
||
701 0004 1A40 ands r2, r3
|
||
702 0006 0123 movs r3, #1
|
||
703 0008 9340 lsls r3, r3, r2
|
||
704 .LVL75:
|
||
537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
|
||
538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Generate Software interrupt */
|
||
539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->SWIER = maskline;
|
||
705 .loc 1 539 0
|
||
706 000a 014A ldr r2, .L59
|
||
707 000c 1361 str r3, [r2, #16]
|
||
540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
|
||
ARM GAS /tmp/ccoU2NQy.s page 23
|
||
|
||
|
||
708 .loc 1 540 0
|
||
709 @ sp needed
|
||
710 000e 7047 bx lr
|
||
711 .L60:
|
||
712 .align 2
|
||
713 .L59:
|
||
714 0010 00040140 .word 1073808384
|
||
715 .cfi_endproc
|
||
716 .LFE48:
|
||
718 .text
|
||
719 .Letext0:
|
||
720 .file 2 "/usr/include/newlib/machine/_default_types.h"
|
||
721 .file 3 "/usr/include/newlib/sys/_stdint.h"
|
||
722 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
|
||
723 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
|
||
724 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
|
||
725 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h"
|
||
726 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
|
||
ARM GAS /tmp/ccoU2NQy.s page 24
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:0000000000000000 stm32f0xx_hal_exti.c
|
||
/tmp/ccoU2NQy.s:16 .text.HAL_EXTI_SetConfigLine:0000000000000000 $t
|
||
/tmp/ccoU2NQy.s:23 .text.HAL_EXTI_SetConfigLine:0000000000000000 HAL_EXTI_SetConfigLine
|
||
/tmp/ccoU2NQy.s:190 .text.HAL_EXTI_SetConfigLine:00000000000000b8 $d
|
||
/tmp/ccoU2NQy.s:196 .text.HAL_EXTI_GetConfigLine:0000000000000000 $t
|
||
/tmp/ccoU2NQy.s:203 .text.HAL_EXTI_GetConfigLine:0000000000000000 HAL_EXTI_GetConfigLine
|
||
/tmp/ccoU2NQy.s:350 .text.HAL_EXTI_GetConfigLine:000000000000009c $d
|
||
/tmp/ccoU2NQy.s:356 .text.HAL_EXTI_ClearConfigLine:0000000000000000 $t
|
||
/tmp/ccoU2NQy.s:363 .text.HAL_EXTI_ClearConfigLine:0000000000000000 HAL_EXTI_ClearConfigLine
|
||
/tmp/ccoU2NQy.s:467 .text.HAL_EXTI_ClearConfigLine:0000000000000068 $d
|
||
/tmp/ccoU2NQy.s:473 .text.HAL_EXTI_RegisterCallback:0000000000000000 $t
|
||
/tmp/ccoU2NQy.s:480 .text.HAL_EXTI_RegisterCallback:0000000000000000 HAL_EXTI_RegisterCallback
|
||
/tmp/ccoU2NQy.s:510 .text.HAL_EXTI_GetHandle:0000000000000000 $t
|
||
/tmp/ccoU2NQy.s:517 .text.HAL_EXTI_GetHandle:0000000000000000 HAL_EXTI_GetHandle
|
||
/tmp/ccoU2NQy.s:547 .text.HAL_EXTI_IRQHandler:0000000000000000 $t
|
||
/tmp/ccoU2NQy.s:554 .text.HAL_EXTI_IRQHandler:0000000000000000 HAL_EXTI_IRQHandler
|
||
/tmp/ccoU2NQy.s:599 .text.HAL_EXTI_IRQHandler:0000000000000024 $d
|
||
/tmp/ccoU2NQy.s:604 .text.HAL_EXTI_GetPending:0000000000000000 $t
|
||
/tmp/ccoU2NQy.s:611 .text.HAL_EXTI_GetPending:0000000000000000 HAL_EXTI_GetPending
|
||
/tmp/ccoU2NQy.s:642 .text.HAL_EXTI_GetPending:0000000000000014 $d
|
||
/tmp/ccoU2NQy.s:647 .text.HAL_EXTI_ClearPending:0000000000000000 $t
|
||
/tmp/ccoU2NQy.s:654 .text.HAL_EXTI_ClearPending:0000000000000000 HAL_EXTI_ClearPending
|
||
/tmp/ccoU2NQy.s:678 .text.HAL_EXTI_ClearPending:0000000000000010 $d
|
||
/tmp/ccoU2NQy.s:683 .text.HAL_EXTI_GenerateSWI:0000000000000000 $t
|
||
/tmp/ccoU2NQy.s:690 .text.HAL_EXTI_GenerateSWI:0000000000000000 HAL_EXTI_GenerateSWI
|
||
/tmp/ccoU2NQy.s:714 .text.HAL_EXTI_GenerateSWI:0000000000000010 $d
|
||
|
||
NO UNDEFINED SYMBOLS
|