You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
KED/bsl/cmakeTest_makefile/build/stm32f0xx_hal_exti.lst

1572 lines
91 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

ARM GAS /tmp/ccqezB4L.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 .arch armv6s-m
19 .syntax unified
20 .code 16
21 .thumb_func
22 .fpu softvfp
24 HAL_EXTI_SetConfigLine:
25 .LVL0:
26 .LFB40:
27 .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
ARM GAS /tmp/ccqezB4L.s page 2
32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Falling
33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
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>&copy; 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 ****
ARM GAS /tmp/ccqezB4L.s page 3
89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup STM32F0xx_HAL_Driver
90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
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 **** {
28 .loc 1 144 1 view -0
ARM GAS /tmp/ccqezB4L.s page 4
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 0
31 @ frame_needed = 0, uses_anonymous_args = 0
32 .loc 1 144 1 is_stmt 0 view .LVU1
33 0000 70B5 push {r4, r5, r6, lr}
34 .LCFI0:
35 .cfi_def_cfa_offset 16
36 .cfi_offset 4, -16
37 .cfi_offset 5, -12
38 .cfi_offset 6, -8
39 .cfi_offset 14, -4
145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
40 .loc 1 145 3 is_stmt 1 view .LVU2
146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
41 .loc 1 146 3 view .LVU3
147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
42 .loc 1 147 3 view .LVU4
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))
43 .loc 1 150 3 view .LVU5
44 .loc 1 150 6 is_stmt 0 view .LVU6
45 0002 0028 cmp r0, #0
46 0004 52D0 beq .L11
47 .loc 1 150 23 discriminator 1 view .LVU7
48 0006 0029 cmp r1, #0
49 0008 52D0 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));
50 .loc 1 156 3 is_stmt 1 view .LVU8
157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
51 .loc 1 157 3 view .LVU9
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;
52 .loc 1 160 3 view .LVU10
53 .loc 1 160 28 is_stmt 0 view .LVU11
54 000a 0C68 ldr r4, [r1]
55 .loc 1 160 15 view .LVU12
56 000c 0460 str r4, [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);
57 .loc 1 163 3 is_stmt 1 view .LVU13
58 .loc 1 163 11 is_stmt 0 view .LVU14
59 000e 1F22 movs r2, #31
60 0010 2240 ands r2, r4
61 .LVL1:
164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
62 .loc 1 164 3 is_stmt 1 view .LVU15
63 .loc 1 164 12 is_stmt 0 view .LVU16
64 0012 0123 movs r3, #1
65 0014 9340 lsls r3, r3, r2
ARM GAS /tmp/ccqezB4L.s page 5
66 .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)
67 .loc 1 167 3 is_stmt 1 view .LVU17
68 .loc 1 167 6 is_stmt 0 view .LVU18
69 0016 A001 lsls r0, r4, #6
70 0018 13D5 bpl .L3
71 .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));
72 .loc 1 169 5 is_stmt 1 view .LVU19
170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
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)
73 .loc 1 173 5 view .LVU20
74 .loc 1 173 8 is_stmt 0 view .LVU21
75 001a 8868 ldr r0, [r1, #8]
76 001c C007 lsls r0, r0, #31
77 001e 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;
78 .loc 1 175 7 is_stmt 1 view .LVU22
79 .loc 1 175 18 is_stmt 0 view .LVU23
80 0020 244D ldr r5, .L14
81 0022 A868 ldr r0, [r5, #8]
82 0024 1843 orrs r0, r3
83 0026 A860 str r0, [r5, #8]
84 .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)
85 .loc 1 184 5 is_stmt 1 view .LVU24
86 .loc 1 184 8 is_stmt 0 view .LVU25
87 0028 8868 ldr r0, [r1, #8]
88 002a 8007 lsls r0, r0, #30
89 002c 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;
90 .loc 1 186 7 is_stmt 1 view .LVU26
91 .loc 1 186 18 is_stmt 0 view .LVU27
92 002e 214D ldr r5, .L14
93 0030 E868 ldr r0, [r5, #12]
94 0032 1843 orrs r0, r3
95 0034 E860 str r0, [r5, #12]
96 .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;
ARM GAS /tmp/ccqezB4L.s page 6
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)
97 .loc 1 195 5 is_stmt 1 view .LVU28
98 .loc 1 195 28 is_stmt 0 view .LVU29
99 0036 C025 movs r5, #192
100 0038 ED04 lsls r5, r5, #19
101 003a 0868 ldr r0, [r1]
102 003c 2840 ands r0, r5
103 .loc 1 195 8 view .LVU30
104 003e A842 cmp r0, r5
105 0040 19D0 beq .L13
106 .LVL4:
107 .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));
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)
108 .loc 1 209 3 is_stmt 1 view .LVU31
109 .loc 1 209 6 is_stmt 0 view .LVU32
110 0042 4A68 ldr r2, [r1, #4]
111 0044 D207 lsls r2, r2, #31
112 0046 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;
113 .loc 1 211 5 is_stmt 1 view .LVU33
114 .loc 1 211 15 is_stmt 0 view .LVU34
115 0048 1A48 ldr r0, .L14
116 004a 0268 ldr r2, [r0]
117 004c 1A43 orrs r2, r3
118 004e 0260 str r2, [r0]
119 .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)
120 .loc 1 220 3 is_stmt 1 view .LVU35
121 .loc 1 220 19 is_stmt 0 view .LVU36
122 0050 4A68 ldr r2, [r1, #4]
123 .loc 1 220 6 view .LVU37
ARM GAS /tmp/ccqezB4L.s page 7
124 0052 9207 lsls r2, r2, #30
125 0054 24D5 bpl .L10
221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR |= maskline;
126 .loc 1 222 5 is_stmt 1 view .LVU38
127 .loc 1 222 15 is_stmt 0 view .LVU39
128 0056 1749 ldr r1, .L14
129 .LVL5:
130 .loc 1 222 15 view .LVU40
131 0058 4A68 ldr r2, [r1, #4]
132 005a 1343 orrs r3, r2
133 .LVL6:
134 .loc 1 222 15 view .LVU41
135 005c 4B60 str r3, [r1, #4]
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;
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;
136 .loc 1 229 10 view .LVU42
137 005e 0020 movs r0, #0
138 .L2:
230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
139 .loc 1 230 1 view .LVU43
140 @ sp needed
141 0060 70BD pop {r4, r5, r6, pc}
142 .LVL7:
143 .L4:
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
144 .loc 1 179 7 is_stmt 1 view .LVU44
179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
145 .loc 1 179 18 is_stmt 0 view .LVU45
146 0062 144D ldr r5, .L14
147 0064 A868 ldr r0, [r5, #8]
148 0066 9843 bics r0, r3
149 0068 A860 str r0, [r5, #8]
150 006a DDE7 b .L5
151 .L6:
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
152 .loc 1 190 7 is_stmt 1 view .LVU46
190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
153 .loc 1 190 18 is_stmt 0 view .LVU47
154 006c 114D ldr r5, .L14
155 006e E868 ldr r0, [r5, #12]
156 0070 9843 bics r0, r3
157 0072 E860 str r0, [r5, #12]
158 0074 DFE7 b .L7
159 .L13:
197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
160 .loc 1 197 7 is_stmt 1 view .LVU48
198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
161 .loc 1 198 7 view .LVU49
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
162 .loc 1 200 7 view .LVU50
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
ARM GAS /tmp/ccqezB4L.s page 8
163 .loc 1 200 39 is_stmt 0 view .LVU51
164 0076 9208 lsrs r2, r2, #2
165 .LVL8:
200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
166 .loc 1 200 14 view .LVU52
167 0078 0F4E ldr r6, .L14+4
168 007a 0232 adds r2, r2, #2
169 007c 9200 lsls r2, r2, #2
170 007e 9559 ldr r5, [r2, r6]
171 .LVL9:
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
172 .loc 1 201 7 is_stmt 1 view .LVU53
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
173 .loc 1 201 80 is_stmt 0 view .LVU54
174 0080 0320 movs r0, #3
175 0082 0440 ands r4, r0
176 .LVL10:
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
177 .loc 1 201 69 view .LVU55
178 0084 A400 lsls r4, r4, #2
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
179 .loc 1 201 40 view .LVU56
180 0086 0C30 adds r0, r0, #12
181 0088 A040 lsls r0, r0, r4
201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
182 .loc 1 201 14 view .LVU57
183 008a 8543 bics r5, r0
184 .LVL11:
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
185 .loc 1 202 7 is_stmt 1 view .LVU58
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
186 .loc 1 202 39 is_stmt 0 view .LVU59
187 008c C868 ldr r0, [r1, #12]
188 008e A040 lsls r0, r0, r4
202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
189 .loc 1 202 14 view .LVU60
190 0090 2843 orrs r0, r5
191 .LVL12:
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
192 .loc 1 203 7 is_stmt 1 view .LVU61
203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
193 .loc 1 203 37 is_stmt 0 view .LVU62
194 0092 9051 str r0, [r2, r6]
195 0094 D5E7 b .L3
196 .LVL13:
197 .L8:
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
198 .loc 1 215 5 is_stmt 1 view .LVU63
215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
199 .loc 1 215 15 is_stmt 0 view .LVU64
200 0096 0748 ldr r0, .L14
201 0098 0268 ldr r2, [r0]
202 009a 9A43 bics r2, r3
203 009c 0260 str r2, [r0]
204 009e D7E7 b .L9
205 .L10:
226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
ARM GAS /tmp/ccqezB4L.s page 9
206 .loc 1 226 5 is_stmt 1 view .LVU65
226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
207 .loc 1 226 15 is_stmt 0 view .LVU66
208 00a0 0449 ldr r1, .L14
209 .LVL14:
226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
210 .loc 1 226 15 view .LVU67
211 00a2 4A68 ldr r2, [r1, #4]
212 00a4 9A43 bics r2, r3
213 00a6 4A60 str r2, [r1, #4]
229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
214 .loc 1 229 10 view .LVU68
215 00a8 0020 movs r0, #0
216 00aa D9E7 b .L2
217 .LVL15:
218 .L11:
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
219 .loc 1 152 12 view .LVU69
220 00ac 0120 movs r0, #1
221 .LVL16:
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
222 .loc 1 152 12 view .LVU70
223 00ae D7E7 b .L2
224 .LVL17:
225 .L12:
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
226 .loc 1 152 12 view .LVU71
227 00b0 0120 movs r0, #1
228 .LVL18:
152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
229 .loc 1 152 12 view .LVU72
230 00b2 D5E7 b .L2
231 .L15:
232 .align 2
233 .L14:
234 00b4 00040140 .word 1073808384
235 00b8 00000140 .word 1073807360
236 .cfi_endproc
237 .LFE40:
239 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
240 .align 1
241 .global HAL_EXTI_GetConfigLine
242 .syntax unified
243 .code 16
244 .thumb_func
245 .fpu softvfp
247 HAL_EXTI_GetConfigLine:
248 .LVL19:
249 .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
ARM GAS /tmp/ccqezB4L.s page 10
239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
250 .loc 1 239 1 is_stmt 1 view -0
251 .cfi_startproc
252 @ args = 0, pretend = 0, frame = 0
253 @ frame_needed = 0, uses_anonymous_args = 0
254 .loc 1 239 1 is_stmt 0 view .LVU74
255 0000 30B5 push {r4, r5, lr}
256 .LCFI1:
257 .cfi_def_cfa_offset 12
258 .cfi_offset 4, -12
259 .cfi_offset 5, -8
260 .cfi_offset 14, -4
240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
261 .loc 1 240 3 is_stmt 1 view .LVU75
241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
262 .loc 1 241 3 view .LVU76
242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
263 .loc 1 242 3 view .LVU77
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))
264 .loc 1 245 3 view .LVU78
265 .loc 1 245 6 is_stmt 0 view .LVU79
266 0002 0028 cmp r0, #0
267 0004 3FD0 beq .L23
268 .loc 1 245 23 discriminator 1 view .LVU80
269 0006 0029 cmp r1, #0
270 0008 3FD0 beq .L24
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));
271 .loc 1 251 3 is_stmt 1 view .LVU81
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;
272 .loc 1 254 3 view .LVU82
273 .loc 1 254 28 is_stmt 0 view .LVU83
274 000a 0068 ldr r0, [r0]
275 .LVL20:
276 .loc 1 254 21 view .LVU84
277 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);
278 .loc 1 257 3 is_stmt 1 view .LVU85
279 .loc 1 257 11 is_stmt 0 view .LVU86
280 000e 1F24 movs r4, #31
281 0010 0440 ands r4, r0
282 .LVL21:
258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
283 .loc 1 258 3 is_stmt 1 view .LVU87
284 .loc 1 258 12 is_stmt 0 view .LVU88
285 0012 0123 movs r3, #1
286 0014 A340 lsls r3, r3, r4
ARM GAS /tmp/ccqezB4L.s page 11
287 .LVL22:
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)
288 .loc 1 263 3 is_stmt 1 view .LVU89
289 .loc 1 263 12 is_stmt 0 view .LVU90
290 0016 1F4A ldr r2, .L28
291 0018 1268 ldr r2, [r2]
292 .loc 1 263 6 view .LVU91
293 001a 1342 tst r3, r2
294 001c 23D0 beq .L18
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;
295 .loc 1 265 5 is_stmt 1 view .LVU92
296 .loc 1 265 23 is_stmt 0 view .LVU93
297 001e 0122 movs r2, #1
298 0020 4A60 str r2, [r1, #4]
299 .L19:
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)
300 .loc 1 274 3 is_stmt 1 view .LVU94
301 .loc 1 274 12 is_stmt 0 view .LVU95
302 0022 1C4A ldr r2, .L28
303 0024 5268 ldr r2, [r2, #4]
304 .loc 1 274 6 view .LVU96
305 0026 1342 tst r3, r2
306 0028 03D0 beq .L20
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;
307 .loc 1 276 5 is_stmt 1 view .LVU97
308 .loc 1 276 23 is_stmt 0 view .LVU98
309 002a 0222 movs r2, #2
310 002c 4D68 ldr r5, [r1, #4]
311 002e 2A43 orrs r2, r5
312 0030 4A60 str r2, [r1, #4]
313 .L20:
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 **** /* Get default Trigger and GPIOSel configuration */
280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
314 .loc 1 280 3 is_stmt 1 view .LVU99
315 .loc 1 280 24 is_stmt 0 view .LVU100
316 0032 0022 movs r2, #0
317 0034 8A60 str r2, [r1, #8]
281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
318 .loc 1 281 3 is_stmt 1 view .LVU101
319 .loc 1 281 24 is_stmt 0 view .LVU102
320 0036 CA60 str r2, [r1, #12]
ARM GAS /tmp/ccqezB4L.s page 12
282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
321 .loc 1 284 3 is_stmt 1 view .LVU103
322 .loc 1 284 6 is_stmt 0 view .LVU104
323 0038 8201 lsls r2, r0, #6
324 003a 28D5 bpl .L25
285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if configuration of selected line is enable */
287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->RTSR & maskline) != 0x00u)
325 .loc 1 287 5 is_stmt 1 view .LVU105
326 .loc 1 287 14 is_stmt 0 view .LVU106
327 003c 154A ldr r2, .L28
328 003e 9268 ldr r2, [r2, #8]
329 .loc 1 287 8 view .LVU107
330 0040 1342 tst r3, r2
331 0042 01D0 beq .L21
288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
332 .loc 1 289 7 is_stmt 1 view .LVU108
333 .loc 1 289 28 is_stmt 0 view .LVU109
334 0044 0122 movs r2, #1
335 0046 8A60 str r2, [r1, #8]
336 .L21:
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)
337 .loc 1 294 5 is_stmt 1 view .LVU110
338 .loc 1 294 14 is_stmt 0 view .LVU111
339 0048 124A ldr r2, .L28
340 004a D268 ldr r2, [r2, #12]
341 .loc 1 294 8 view .LVU112
342 004c 1342 tst r3, r2
343 004e 03D0 beq .L22
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;
344 .loc 1 296 7 is_stmt 1 view .LVU113
345 .loc 1 296 28 is_stmt 0 view .LVU114
346 0050 0223 movs r3, #2
347 .LVL23:
348 .loc 1 296 28 view .LVU115
349 0052 8A68 ldr r2, [r1, #8]
350 0054 1343 orrs r3, r2
351 0056 8B60 str r3, [r1, #8]
352 .L22:
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)
353 .loc 1 300 5 is_stmt 1 view .LVU116
354 .loc 1 300 28 is_stmt 0 view .LVU117
355 0058 C022 movs r2, #192
356 005a D204 lsls r2, r2, #19
357 005c 1040 ands r0, r2
358 .loc 1 300 8 view .LVU118
ARM GAS /tmp/ccqezB4L.s page 13
359 005e 9042 cmp r0, r2
360 0060 04D0 beq .L27
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 **** }
308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
361 .loc 1 309 10 view .LVU119
362 0062 0020 movs r0, #0
363 0064 14E0 b .L17
364 .LVL24:
365 .L18:
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
366 .loc 1 269 5 is_stmt 1 view .LVU120
269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
367 .loc 1 269 23 is_stmt 0 view .LVU121
368 0066 0022 movs r2, #0
369 0068 4A60 str r2, [r1, #4]
370 006a DAE7 b .L19
371 .LVL25:
372 .L27:
302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
373 .loc 1 302 7 is_stmt 1 view .LVU122
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
374 .loc 1 304 7 view .LVU123
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
375 .loc 1 304 39 is_stmt 0 view .LVU124
376 006c A308 lsrs r3, r4, #2
304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
377 .loc 1 304 14 view .LVU125
378 006e 0233 adds r3, r3, #2
379 0070 9B00 lsls r3, r3, #2
380 0072 094A ldr r2, .L28+4
381 0074 9B58 ldr r3, [r3, r2]
382 .LVL26:
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
383 .loc 1 305 7 is_stmt 1 view .LVU126
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
384 .loc 1 305 75 is_stmt 0 view .LVU127
385 0076 0322 movs r2, #3
386 0078 A243 bics r2, r4
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
387 .loc 1 305 68 view .LVU128
388 007a 9200 lsls r2, r2, #2
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
389 .loc 1 305 39 view .LVU129
390 007c 9340 lsls r3, r3, r2
391 .LVL27:
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
392 .loc 1 305 98 view .LVU130
393 007e 1B0E lsrs r3, r3, #24
305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
394 .loc 1 305 28 view .LVU131
ARM GAS /tmp/ccqezB4L.s page 14
395 0080 CB60 str r3, [r1, #12]
396 .loc 1 309 10 view .LVU132
397 0082 0020 movs r0, #0
398 0084 04E0 b .L17
399 .LVL28:
400 .L23:
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
401 .loc 1 247 12 view .LVU133
402 0086 0120 movs r0, #1
403 .LVL29:
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
404 .loc 1 247 12 view .LVU134
405 0088 02E0 b .L17
406 .LVL30:
407 .L24:
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
408 .loc 1 247 12 view .LVU135
409 008a 0120 movs r0, #1
410 .LVL31:
247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
411 .loc 1 247 12 view .LVU136
412 008c 00E0 b .L17
413 .LVL32:
414 .L25:
415 .loc 1 309 10 view .LVU137
416 008e 0020 movs r0, #0
417 .LVL33:
418 .L17:
310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
419 .loc 1 310 1 view .LVU138
420 @ sp needed
421 0090 30BD pop {r4, r5, pc}
422 .L29:
423 0092 C046 .align 2
424 .L28:
425 0094 00040140 .word 1073808384
426 0098 00000140 .word 1073807360
427 .cfi_endproc
428 .LFE41:
430 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
431 .align 1
432 .global HAL_EXTI_ClearConfigLine
433 .syntax unified
434 .code 16
435 .thumb_func
436 .fpu softvfp
438 HAL_EXTI_ClearConfigLine:
439 .LVL34:
440 .LFB42:
311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
ARM GAS /tmp/ccqezB4L.s page 15
441 .loc 1 318 1 is_stmt 1 view -0
442 .cfi_startproc
443 @ args = 0, pretend = 0, frame = 0
444 @ frame_needed = 0, uses_anonymous_args = 0
445 .loc 1 318 1 is_stmt 0 view .LVU140
446 0000 30B5 push {r4, r5, lr}
447 .LCFI2:
448 .cfi_def_cfa_offset 12
449 .cfi_offset 4, -12
450 .cfi_offset 5, -8
451 .cfi_offset 14, -4
319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
452 .loc 1 319 3 is_stmt 1 view .LVU141
320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
453 .loc 1 320 3 view .LVU142
321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
454 .loc 1 321 3 view .LVU143
322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL)
455 .loc 1 324 3 view .LVU144
456 .loc 1 324 6 is_stmt 0 view .LVU145
457 0002 0028 cmp r0, #0
458 0004 2CD0 beq .L32
325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameter */
330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
459 .loc 1 330 3 is_stmt 1 view .LVU146
331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* compute line mask */
333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
460 .loc 1 333 3 view .LVU147
461 .loc 1 333 19 is_stmt 0 view .LVU148
462 0006 0568 ldr r5, [r0]
463 .loc 1 333 11 view .LVU149
464 0008 1F22 movs r2, #31
465 000a 2A40 ands r2, r5
466 .LVL35:
334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
467 .loc 1 334 3 is_stmt 1 view .LVU150
468 .loc 1 334 12 is_stmt 0 view .LVU151
469 000c 0123 movs r3, #1
470 000e 9340 lsls r3, r3, r2
471 .LVL36:
335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 1] Clear interrupt mode */
337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR = (EXTI->IMR & ~maskline);
472 .loc 1 337 3 is_stmt 1 view .LVU152
473 .loc 1 337 20 is_stmt 0 view .LVU153
474 0010 1549 ldr r1, .L36
475 0012 0C68 ldr r4, [r1]
476 .loc 1 337 28 view .LVU154
477 0014 DB43 mvns r3, r3
478 .LVL37:
ARM GAS /tmp/ccqezB4L.s page 16
479 .loc 1 337 26 view .LVU155
480 0016 1C40 ands r4, r3
481 .loc 1 337 13 view .LVU156
482 0018 0C60 str r4, [r1]
338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Clear event mode */
340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR = (EXTI->EMR & ~maskline);
483 .loc 1 340 3 is_stmt 1 view .LVU157
484 .loc 1 340 20 is_stmt 0 view .LVU158
485 001a 4C68 ldr r4, [r1, #4]
486 .loc 1 340 26 view .LVU159
487 001c 1C40 ands r4, r3
488 .loc 1 340 13 view .LVU160
489 001e 4C60 str r4, [r1, #4]
341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
490 .loc 1 343 3 is_stmt 1 view .LVU161
491 .loc 1 343 6 is_stmt 0 view .LVU162
492 0020 0168 ldr r1, [r0]
493 0022 8901 lsls r1, r1, #6
494 0024 1ED5 bpl .L33
344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR = (EXTI->RTSR & ~maskline);
495 .loc 1 345 5 is_stmt 1 view .LVU163
496 .loc 1 345 23 is_stmt 0 view .LVU164
497 0026 1049 ldr r1, .L36
498 0028 8C68 ldr r4, [r1, #8]
499 .loc 1 345 30 view .LVU165
500 002a 1C40 ands r4, r3
501 .loc 1 345 16 view .LVU166
502 002c 8C60 str r4, [r1, #8]
346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR = (EXTI->FTSR & ~maskline);
503 .loc 1 346 5 is_stmt 1 view .LVU167
504 .loc 1 346 23 is_stmt 0 view .LVU168
505 002e CC68 ldr r4, [r1, #12]
506 .loc 1 346 30 view .LVU169
507 0030 2340 ands r3, r4
508 .LVL38:
509 .loc 1 346 16 view .LVU170
510 0032 CB60 str r3, [r1, #12]
347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
511 .loc 1 349 5 is_stmt 1 view .LVU171
512 .loc 1 349 15 is_stmt 0 view .LVU172
513 0034 0368 ldr r3, [r0]
514 .loc 1 349 22 view .LVU173
515 0036 C021 movs r1, #192
516 0038 C904 lsls r1, r1, #19
517 003a 0B40 ands r3, r1
518 .loc 1 349 8 view .LVU174
519 003c 8B42 cmp r3, r1
520 003e 01D0 beq .L35
350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
ARM GAS /tmp/ccqezB4L.s page 17
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
521 .loc 1 359 10 view .LVU175
522 0040 0020 movs r0, #0
523 .LVL39:
524 .loc 1 359 10 view .LVU176
525 0042 10E0 b .L31
526 .LVL40:
527 .L35:
351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
528 .loc 1 351 7 is_stmt 1 view .LVU177
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
529 .loc 1 353 7 view .LVU178
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
530 .loc 1 353 39 is_stmt 0 view .LVU179
531 0044 9208 lsrs r2, r2, #2
532 .LVL41:
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
533 .loc 1 353 14 view .LVU180
534 0046 0948 ldr r0, .L36+4
535 .LVL42:
353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
536 .loc 1 353 14 view .LVU181
537 0048 0232 adds r2, r2, #2
538 004a 9200 lsls r2, r2, #2
539 004c 1158 ldr r1, [r2, r0]
540 .LVL43:
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
541 .loc 1 354 7 is_stmt 1 view .LVU182
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
542 .loc 1 354 80 is_stmt 0 view .LVU183
543 004e 0323 movs r3, #3
544 0050 1D40 ands r5, r3
545 .LVL44:
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
546 .loc 1 354 69 view .LVU184
547 0052 AD00 lsls r5, r5, #2
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
548 .loc 1 354 40 view .LVU185
549 0054 0C33 adds r3, r3, #12
550 0056 AB40 lsls r3, r3, r5
354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
551 .loc 1 354 14 view .LVU186
552 0058 9943 bics r1, r3
553 .LVL45:
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
554 .loc 1 355 7 is_stmt 1 view .LVU187
355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
555 .loc 1 355 37 is_stmt 0 view .LVU188
556 005a 1150 str r1, [r2, r0]
557 .loc 1 359 10 view .LVU189
558 005c 0020 movs r0, #0
ARM GAS /tmp/ccqezB4L.s page 18
559 005e 02E0 b .L31
560 .LVL46:
561 .L32:
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
562 .loc 1 326 12 view .LVU190
563 0060 0120 movs r0, #1
564 .LVL47:
326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
565 .loc 1 326 12 view .LVU191
566 0062 00E0 b .L31
567 .LVL48:
568 .L33:
569 .loc 1 359 10 view .LVU192
570 0064 0020 movs r0, #0
571 .LVL49:
572 .L31:
360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
573 .loc 1 360 1 view .LVU193
574 @ sp needed
575 0066 30BD pop {r4, r5, pc}
576 .L37:
577 .align 2
578 .L36:
579 0068 00040140 .word 1073808384
580 006c 00000140 .word 1073807360
581 .cfi_endproc
582 .LFE42:
584 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
585 .align 1
586 .global HAL_EXTI_RegisterCallback
587 .syntax unified
588 .code 16
589 .thumb_func
590 .fpu softvfp
592 HAL_EXTI_RegisterCallback:
593 .LVL50:
594 .LFB43:
361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param CallbackID User callback identifier.
366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
595 .loc 1 371 1 is_stmt 1 view -0
596 .cfi_startproc
597 @ args = 0, pretend = 0, frame = 0
598 @ frame_needed = 0, uses_anonymous_args = 0
599 @ link register save eliminated.
372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
600 .loc 1 372 3 view .LVU195
373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** switch (CallbackID)
ARM GAS /tmp/ccqezB4L.s page 19
601 .loc 1 374 3 view .LVU196
602 0000 0029 cmp r1, #0
603 0002 02D1 bne .L40
375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
604 .loc 1 377 7 view .LVU197
605 .loc 1 377 30 is_stmt 0 view .LVU198
606 0004 4260 str r2, [r0, #4]
378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break;
607 .loc 1 378 7 is_stmt 1 view .LVU199
372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
608 .loc 1 372 21 is_stmt 0 view .LVU200
609 0006 0800 movs r0, r1
610 .LVL51:
611 .loc 1 378 7 view .LVU201
612 0008 00E0 b .L39
613 .LVL52:
614 .L40:
379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** default:
381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** status = HAL_ERROR;
615 .loc 1 381 14 view .LVU202
616 000a 0120 movs r0, #1
617 .LVL53:
618 .L39:
382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break;
383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return status;
619 .loc 1 385 3 is_stmt 1 view .LVU203
386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
620 .loc 1 386 1 is_stmt 0 view .LVU204
621 @ sp needed
622 000c 7047 bx lr
623 .cfi_endproc
624 .LFE43:
626 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
627 .align 1
628 .global HAL_EXTI_GetHandle
629 .syntax unified
630 .code 16
631 .thumb_func
632 .fpu softvfp
634 HAL_EXTI_GetHandle:
635 .LVL54:
636 .LFB44:
387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Store line number as handle private field.
390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param ExtiLine Exti line number.
392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
ARM GAS /tmp/ccqezB4L.s page 20
637 .loc 1 396 1 is_stmt 1 view -0
638 .cfi_startproc
639 @ args = 0, pretend = 0, frame = 0
640 @ frame_needed = 0, uses_anonymous_args = 0
641 @ link register save eliminated.
397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameters */
398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
642 .loc 1 398 3 view .LVU206
399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL)
643 .loc 1 401 3 view .LVU207
644 .loc 1 401 6 is_stmt 0 view .LVU208
645 0000 0028 cmp r0, #0
646 0002 02D0 beq .L43
402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Store line number as handle private field */
408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->Line = ExtiLine;
647 .loc 1 408 5 is_stmt 1 view .LVU209
648 .loc 1 408 17 is_stmt 0 view .LVU210
649 0004 0160 str r1, [r0]
409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
650 .loc 1 410 5 is_stmt 1 view .LVU211
651 .loc 1 410 12 is_stmt 0 view .LVU212
652 0006 0020 movs r0, #0
653 .LVL55:
654 .L42:
411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
655 .loc 1 412 1 view .LVU213
656 @ sp needed
657 0008 7047 bx lr
658 .LVL56:
659 .L43:
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
660 .loc 1 403 12 view .LVU214
661 000a 0120 movs r0, #1
662 .LVL57:
403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
663 .loc 1 403 12 view .LVU215
664 000c FCE7 b .L42
665 .cfi_endproc
666 .LFE44:
668 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
669 .align 1
670 .global HAL_EXTI_IRQHandler
671 .syntax unified
672 .code 16
673 .thumb_func
674 .fpu softvfp
676 HAL_EXTI_IRQHandler:
677 .LVL58:
ARM GAS /tmp/ccqezB4L.s page 21
678 .LFB45:
413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @}
416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief EXTI IO functions.
420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim
422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ===============================================================================
423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### IO operation functions #####
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 **** @endverbatim
427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval none.
434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
679 .loc 1 436 1 is_stmt 1 view -0
680 .cfi_startproc
681 @ args = 0, pretend = 0, frame = 0
682 @ frame_needed = 0, uses_anonymous_args = 0
683 .loc 1 436 1 is_stmt 0 view .LVU217
684 0000 10B5 push {r4, lr}
685 .LCFI3:
686 .cfi_def_cfa_offset 8
687 .cfi_offset 4, -8
688 .cfi_offset 14, -4
437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
689 .loc 1 437 3 is_stmt 1 view .LVU218
438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
690 .loc 1 438 3 view .LVU219
439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
691 .loc 1 441 3 view .LVU220
692 .loc 1 441 35 is_stmt 0 view .LVU221
693 0002 1F22 movs r2, #31
694 0004 0368 ldr r3, [r0]
695 0006 1A40 ands r2, r3
696 .loc 1 441 12 view .LVU222
697 0008 0123 movs r3, #1
698 000a 9340 lsls r3, r3, r2
699 .LVL59:
442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get pending bit */
444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = (EXTI->PR & maskline);
700 .loc 1 444 3 is_stmt 1 view .LVU223
701 .loc 1 444 17 is_stmt 0 view .LVU224
702 000c 054A ldr r2, .L46
ARM GAS /tmp/ccqezB4L.s page 22
703 000e 5269 ldr r2, [r2, #20]
704 .LVL60:
445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (regval != 0x00u)
705 .loc 1 445 3 is_stmt 1 view .LVU225
706 .loc 1 445 6 is_stmt 0 view .LVU226
707 0010 1342 tst r3, r2
708 0012 05D0 beq .L44
446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear pending bit */
448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline;
709 .loc 1 448 5 is_stmt 1 view .LVU227
710 .loc 1 448 14 is_stmt 0 view .LVU228
711 0014 034A ldr r2, .L46
712 .LVL61:
713 .loc 1 448 14 view .LVU229
714 0016 5361 str r3, [r2, #20]
449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Call callback */
451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
715 .loc 1 451 5 is_stmt 1 view .LVU230
716 .loc 1 451 14 is_stmt 0 view .LVU231
717 0018 4368 ldr r3, [r0, #4]
718 .LVL62:
719 .loc 1 451 8 view .LVU232
720 001a 002B cmp r3, #0
721 001c 00D0 beq .L44
452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback();
722 .loc 1 453 7 is_stmt 1 view .LVU233
723 001e 9847 blx r3
724 .LVL63:
725 .L44:
454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
726 .loc 1 456 1 is_stmt 0 view .LVU234
727 @ sp needed
728 0020 10BD pop {r4, pc}
729 .L47:
730 0022 C046 .align 2
731 .L46:
732 0024 00040140 .word 1073808384
733 .cfi_endproc
734 .LFE45:
736 .section .text.HAL_EXTI_GetPending,"ax",%progbits
737 .align 1
738 .global HAL_EXTI_GetPending
739 .syntax unified
740 .code 16
741 .thumb_func
742 .fpu softvfp
744 HAL_EXTI_GetPending:
745 .LVL64:
746 .LFB46:
457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
ARM GAS /tmp/ccqezB4L.s page 23
460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked.
462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values:
463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
747 .loc 1 468 1 is_stmt 1 view -0
748 .cfi_startproc
749 @ args = 0, pretend = 0, frame = 0
750 @ frame_needed = 0, uses_anonymous_args = 0
751 @ link register save eliminated.
469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
752 .loc 1 469 3 view .LVU236
470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
753 .loc 1 470 3 view .LVU237
471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
754 .loc 1 471 3 view .LVU238
472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
755 .loc 1 474 3 view .LVU239
475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
756 .loc 1 475 3 view .LVU240
476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
757 .loc 1 476 3 view .LVU241
477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
758 .loc 1 479 3 view .LVU242
759 .loc 1 479 19 is_stmt 0 view .LVU243
760 0000 0268 ldr r2, [r0]
761 .loc 1 479 11 view .LVU244
762 0002 1F23 movs r3, #31
763 0004 1340 ands r3, r2
764 .LVL65:
480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
765 .loc 1 480 3 is_stmt 1 view .LVU245
766 .loc 1 480 12 is_stmt 0 view .LVU246
767 0006 0120 movs r0, #1
768 .LVL66:
769 .loc 1 480 12 view .LVU247
770 0008 9840 lsls r0, r0, r3
771 .LVL67:
481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* return 1 if bit is set else 0 */
483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = ((EXTI->PR & maskline) >> linepos);
772 .loc 1 483 3 is_stmt 1 view .LVU248
773 .loc 1 483 18 is_stmt 0 view .LVU249
774 000a 024A ldr r2, .L49
775 000c 5269 ldr r2, [r2, #20]
776 .loc 1 483 23 view .LVU250
777 000e 1040 ands r0, r2
778 .LVL68:
779 .loc 1 483 10 view .LVU251
ARM GAS /tmp/ccqezB4L.s page 24
780 0010 D840 lsrs r0, r0, r3
781 .LVL69:
484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return regval;
782 .loc 1 484 3 is_stmt 1 view .LVU252
485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
783 .loc 1 485 1 is_stmt 0 view .LVU253
784 @ sp needed
785 0012 7047 bx lr
786 .L50:
787 .align 2
788 .L49:
789 0014 00040140 .word 1073808384
790 .cfi_endproc
791 .LFE46:
793 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
794 .align 1
795 .global HAL_EXTI_ClearPending
796 .syntax unified
797 .code 16
798 .thumb_func
799 .fpu softvfp
801 HAL_EXTI_ClearPending:
802 .LVL70:
803 .LFB47:
486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear.
491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values:
492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None.
495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
804 .loc 1 497 1 is_stmt 1 view -0
805 .cfi_startproc
806 @ args = 0, pretend = 0, frame = 0
807 @ frame_needed = 0, uses_anonymous_args = 0
808 @ link register save eliminated.
498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
809 .loc 1 498 3 view .LVU255
499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
810 .loc 1 501 3 view .LVU256
502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
811 .loc 1 502 3 view .LVU257
503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
812 .loc 1 503 3 view .LVU258
504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
813 .loc 1 506 3 view .LVU259
814 .loc 1 506 28 is_stmt 0 view .LVU260
815 0000 0368 ldr r3, [r0]
ARM GAS /tmp/ccqezB4L.s page 25
816 .loc 1 506 35 view .LVU261
817 0002 1F22 movs r2, #31
818 0004 1A40 ands r2, r3
819 .loc 1 506 12 view .LVU262
820 0006 0123 movs r3, #1
821 0008 9340 lsls r3, r3, r2
822 .LVL71:
507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear Pending bit */
509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline;
823 .loc 1 509 3 is_stmt 1 view .LVU263
824 .loc 1 509 12 is_stmt 0 view .LVU264
825 000a 014A ldr r2, .L52
826 000c 5361 str r3, [r2, #20]
510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
827 .loc 1 510 1 view .LVU265
828 @ sp needed
829 000e 7047 bx lr
830 .L53:
831 .align 2
832 .L52:
833 0010 00040140 .word 1073808384
834 .cfi_endproc
835 .LFE47:
837 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
838 .align 1
839 .global HAL_EXTI_GenerateSWI
840 .syntax unified
841 .code 16
842 .thumb_func
843 .fpu softvfp
845 HAL_EXTI_GenerateSWI:
846 .LVL72:
847 .LFB48:
511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None.
516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
848 .loc 1 518 1 is_stmt 1 view -0
849 .cfi_startproc
850 @ args = 0, pretend = 0, frame = 0
851 @ frame_needed = 0, uses_anonymous_args = 0
852 @ link register save eliminated.
519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
853 .loc 1 519 3 view .LVU267
520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
854 .loc 1 522 3 view .LVU268
523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
855 .loc 1 523 3 view .LVU269
524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
ARM GAS /tmp/ccqezB4L.s page 26
526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
856 .loc 1 526 3 view .LVU270
857 .loc 1 526 28 is_stmt 0 view .LVU271
858 0000 0368 ldr r3, [r0]
859 .loc 1 526 35 view .LVU272
860 0002 1F22 movs r2, #31
861 0004 1A40 ands r2, r3
862 .loc 1 526 12 view .LVU273
863 0006 0123 movs r3, #1
864 0008 9340 lsls r3, r3, r2
865 .LVL73:
527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Generate Software interrupt */
529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->SWIER = maskline;
866 .loc 1 529 3 is_stmt 1 view .LVU274
867 .loc 1 529 15 is_stmt 0 view .LVU275
868 000a 014A ldr r2, .L55
869 000c 1361 str r3, [r2, #16]
530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
870 .loc 1 530 1 view .LVU276
871 @ sp needed
872 000e 7047 bx lr
873 .L56:
874 .align 2
875 .L55:
876 0010 00040140 .word 1073808384
877 .cfi_endproc
878 .LFE48:
880 .text
881 .Letext0:
882 .file 2 "/usr/lib/gcc/arm-none-eabi/8.3.1/include/stdint.h"
883 .file 3 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
884 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h"
885 .file 5 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
886 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h"
887 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
ARM GAS /tmp/ccqezB4L.s page 27
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f0xx_hal_exti.c
/tmp/ccqezB4L.s:16 .text.HAL_EXTI_SetConfigLine:0000000000000000 $t
/tmp/ccqezB4L.s:24 .text.HAL_EXTI_SetConfigLine:0000000000000000 HAL_EXTI_SetConfigLine
/tmp/ccqezB4L.s:234 .text.HAL_EXTI_SetConfigLine:00000000000000b4 $d
/tmp/ccqezB4L.s:240 .text.HAL_EXTI_GetConfigLine:0000000000000000 $t
/tmp/ccqezB4L.s:247 .text.HAL_EXTI_GetConfigLine:0000000000000000 HAL_EXTI_GetConfigLine
/tmp/ccqezB4L.s:425 .text.HAL_EXTI_GetConfigLine:0000000000000094 $d
/tmp/ccqezB4L.s:431 .text.HAL_EXTI_ClearConfigLine:0000000000000000 $t
/tmp/ccqezB4L.s:438 .text.HAL_EXTI_ClearConfigLine:0000000000000000 HAL_EXTI_ClearConfigLine
/tmp/ccqezB4L.s:579 .text.HAL_EXTI_ClearConfigLine:0000000000000068 $d
/tmp/ccqezB4L.s:585 .text.HAL_EXTI_RegisterCallback:0000000000000000 $t
/tmp/ccqezB4L.s:592 .text.HAL_EXTI_RegisterCallback:0000000000000000 HAL_EXTI_RegisterCallback
/tmp/ccqezB4L.s:627 .text.HAL_EXTI_GetHandle:0000000000000000 $t
/tmp/ccqezB4L.s:634 .text.HAL_EXTI_GetHandle:0000000000000000 HAL_EXTI_GetHandle
/tmp/ccqezB4L.s:669 .text.HAL_EXTI_IRQHandler:0000000000000000 $t
/tmp/ccqezB4L.s:676 .text.HAL_EXTI_IRQHandler:0000000000000000 HAL_EXTI_IRQHandler
/tmp/ccqezB4L.s:732 .text.HAL_EXTI_IRQHandler:0000000000000024 $d
/tmp/ccqezB4L.s:737 .text.HAL_EXTI_GetPending:0000000000000000 $t
/tmp/ccqezB4L.s:744 .text.HAL_EXTI_GetPending:0000000000000000 HAL_EXTI_GetPending
/tmp/ccqezB4L.s:789 .text.HAL_EXTI_GetPending:0000000000000014 $d
/tmp/ccqezB4L.s:794 .text.HAL_EXTI_ClearPending:0000000000000000 $t
/tmp/ccqezB4L.s:801 .text.HAL_EXTI_ClearPending:0000000000000000 HAL_EXTI_ClearPending
/tmp/ccqezB4L.s:833 .text.HAL_EXTI_ClearPending:0000000000000010 $d
/tmp/ccqezB4L.s:838 .text.HAL_EXTI_GenerateSWI:0000000000000000 $t
/tmp/ccqezB4L.s:845 .text.HAL_EXTI_GenerateSWI:0000000000000000 HAL_EXTI_GenerateSWI
/tmp/ccqezB4L.s:876 .text.HAL_EXTI_GenerateSWI:0000000000000010 $d
NO UNDEFINED SYMBOLS