Files
EEPROM_programmer/build/stm32f4xx_hal_exti.lst
2025-09-05 10:30:26 +02:00

1575 lines
91 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS /tmp/ccSWpjAw.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 20, 1
5 .eabi_attribute 21, 1
6 .eabi_attribute 23, 3
7 .eabi_attribute 24, 1
8 .eabi_attribute 25, 1
9 .eabi_attribute 26, 1
10 .eabi_attribute 30, 1
11 .eabi_attribute 34, 1
12 .eabi_attribute 18, 4
13 .file "stm32f4xx_hal_exti.c"
14 .text
15 .Ltext0:
16 .cfi_sections .debug_frame
17 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits
18 .align 1
19 .global HAL_EXTI_SetConfigLine
20 .arch armv7e-m
21 .syntax unified
22 .thumb
23 .thumb_func
24 .fpu fpv4-sp-d16
26 HAL_EXTI_SetConfigLine:
27 .LVL0:
28 .LFB134:
29 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c"
1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ******************************************************************************
3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @file stm32f4xx_hal_exti.c
4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @author MCD Application Team
5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief EXTI HAL module driver.
6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral:
8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * + IO operation functions
10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ******************************************************************************
12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @attention
13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * Copyright (c) 2018 STMicroelectronics.
15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * All rights reserved.
16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This software is licensed under terms that can be found in the LICENSE file
18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * in the root directory of this software component.
19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ******************************************************************************
22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @verbatim
23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ==============================================================================
24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ##### EXTI Peripheral features #####
25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ==============================================================================
26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** [..]
27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) Each Exti line can be configured within this driver.
28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes
ARM GAS /tmp/ccSWpjAw.s page 2
30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Interrupt
31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Event
32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Both of them
33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers
35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Rising
36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Falling
37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Both of them
38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different
40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition
41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** occurs:
42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Rising edge pending interrupt
43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Falling
44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can
46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** be selected through multiplexer.
47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ##### How to use this driver #####
49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ==============================================================================
50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** [..]
51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from
54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from
56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger
58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure.
59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** member from GPIO_InitTypeDef structure.
61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using
63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_EXTI_GetConfigLine().
64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide exiting handle as parameter.
65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_ClearConfigLine().
68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide exiting handle as parameter.
69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide exiting handle as first parameter.
72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide which callback will be registered using one value from
73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI_CallbackIDTypeDef.
74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (++) Provide callback function pointer.
75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending().
77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_ClearPending().
79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @endverbatim
83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** #include "stm32f4xx_hal.h"
ARM GAS /tmp/ccSWpjAw.s page 3
87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup STM32F4xx_HAL_Driver
89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup EXTI
93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * of bounds [0,3] in following API :
98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * HAL_EXTI_SetConfigLine
99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * HAL_EXTI_GetConfigLine
100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine
101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/
107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @}
113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Configuration functions
126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @verbatim
128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ===============================================================================
129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ##### Configuration functions #####
130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ===============================================================================
131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @endverbatim
133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line.
138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set.
140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
ARM GAS /tmp/ccSWpjAw.s page 4
30 .loc 1 143 1 view -0
31 .cfi_startproc
32 @ args = 0, pretend = 0, frame = 0
33 @ frame_needed = 0, uses_anonymous_args = 0
34 @ link register save eliminated.
144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
35 .loc 1 144 3 view .LVU1
145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t linepos;
36 .loc 1 145 3 view .LVU2
146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
37 .loc 1 146 3 view .LVU3
147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check null pointer */
149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
38 .loc 1 149 3 view .LVU4
39 .loc 1 149 6 is_stmt 0 view .LVU5
40 0000 0028 cmp r0, #0
41 0002 60D0 beq .L11
42 .loc 1 149 23 discriminator 1 view .LVU6
43 0004 0029 cmp r1, #0
44 0006 60D0 beq .L12
143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
45 .loc 1 143 1 view .LVU7
46 0008 70B4 push {r4, r5, r6}
47 .LCFI0:
48 .cfi_def_cfa_offset 12
49 .cfi_offset 4, -12
50 .cfi_offset 5, -8
51 .cfi_offset 6, -4
150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_ERROR;
152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check parameters */
155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line));
52 .loc 1 155 3 is_stmt 1 view .LVU8
156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
53 .loc 1 156 3 view .LVU9
157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Assign line number to handle */
159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** hexti->Line = pExtiConfig->Line;
54 .loc 1 159 3 view .LVU10
55 .loc 1 159 28 is_stmt 0 view .LVU11
56 000a 0B68 ldr r3, [r1]
57 .loc 1 159 15 view .LVU12
58 000c 0360 str r3, [r0]
160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
59 .loc 1 162 3 is_stmt 1 view .LVU13
60 .loc 1 162 11 is_stmt 0 view .LVU14
61 000e 03F01F02 and r2, r3, #31
62 .LVL1:
163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << linepos);
63 .loc 1 163 3 is_stmt 1 view .LVU15
64 .loc 1 163 12 is_stmt 0 view .LVU16
65 0012 0120 movs r0, #1
ARM GAS /tmp/ccSWpjAw.s page 5
66 .LVL2:
67 .loc 1 163 12 view .LVU17
68 0014 9040 lsls r0, r0, r2
69 .LVL3:
164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure triggers for configurable lines */
166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
70 .loc 1 166 3 is_stmt 1 view .LVU18
71 .loc 1 166 6 is_stmt 0 view .LVU19
72 0016 13F0007F tst r3, #33554432
73 001a 15D0 beq .L3
167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
74 .loc 1 168 5 is_stmt 1 view .LVU20
169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure rising trigger */
171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Mask or set line */
172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
75 .loc 1 172 5 view .LVU21
76 .loc 1 172 8 is_stmt 0 view .LVU22
77 001c 8C68 ldr r4, [r1, #8]
78 001e 14F0010F tst r4, #1
79 0022 24D0 beq .L4
173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->RTSR |= maskline;
80 .loc 1 174 7 is_stmt 1 view .LVU23
81 .loc 1 174 18 is_stmt 0 view .LVU24
82 0024 2A4D ldr r5, .L18
83 0026 AC68 ldr r4, [r5, #8]
84 0028 0443 orrs r4, r4, r0
85 002a AC60 str r4, [r5, #8]
86 .L5:
175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->RTSR &= ~maskline;
179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure falling trigger */
182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Mask or set line */
183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
87 .loc 1 183 5 is_stmt 1 view .LVU25
88 .loc 1 183 8 is_stmt 0 view .LVU26
89 002c 8C68 ldr r4, [r1, #8]
90 002e 14F0020F tst r4, #2
91 0032 22D0 beq .L6
184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->FTSR |= maskline;
92 .loc 1 185 7 is_stmt 1 view .LVU27
93 .loc 1 185 18 is_stmt 0 view .LVU28
94 0034 264D ldr r5, .L18
95 0036 EC68 ldr r4, [r5, #12]
96 0038 0443 orrs r4, r4, r0
97 003a EC60 str r4, [r5, #12]
98 .L7:
186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
ARM GAS /tmp/ccSWpjAw.s page 6
188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->FTSR &= ~maskline;
190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */
194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
99 .loc 1 194 5 is_stmt 1 view .LVU29
100 .loc 1 194 28 is_stmt 0 view .LVU30
101 003c 0C68 ldr r4, [r1]
102 003e 04F0C06C and ip, r4, #100663296
103 .loc 1 194 8 view .LVU31
104 0042 BCF1C06F cmp ip, #100663296
105 0046 1ED0 beq .L17
106 .LVL4:
107 .L3:
195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure interrupt mode : read current mode */
207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Mask or set line */
208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
108 .loc 1 208 3 is_stmt 1 view .LVU32
109 .loc 1 208 19 is_stmt 0 view .LVU33
110 0048 4B68 ldr r3, [r1, #4]
111 .loc 1 208 6 view .LVU34
112 004a 13F0010F tst r3, #1
113 004e 2DD0 beq .L8
209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->IMR |= maskline;
114 .loc 1 210 5 is_stmt 1 view .LVU35
115 .loc 1 210 15 is_stmt 0 view .LVU36
116 0050 1F4A ldr r2, .L18
117 0052 1368 ldr r3, [r2]
118 0054 0343 orrs r3, r3, r0
119 0056 1360 str r3, [r2]
120 .L9:
211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->IMR &= ~maskline;
215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Configure event mode : read current mode */
218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Mask or set line */
219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
121 .loc 1 219 3 is_stmt 1 view .LVU37
122 .loc 1 219 19 is_stmt 0 view .LVU38
123 0058 4B68 ldr r3, [r1, #4]
ARM GAS /tmp/ccSWpjAw.s page 7
124 .loc 1 219 6 view .LVU39
125 005a 13F0020F tst r3, #2
126 005e 2BD0 beq .L10
220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->EMR |= maskline;
127 .loc 1 221 5 is_stmt 1 view .LVU40
128 .loc 1 221 15 is_stmt 0 view .LVU41
129 0060 1B4A ldr r2, .L18
130 0062 5368 ldr r3, [r2, #4]
131 0064 1843 orrs r0, r0, r3
132 .LVL5:
133 .loc 1 221 15 view .LVU42
134 0066 5060 str r0, [r2, #4]
222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->EMR &= ~maskline;
226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_OK;
135 .loc 1 228 10 view .LVU43
136 0068 0020 movs r0, #0
137 .L2:
229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
138 .loc 1 229 1 view .LVU44
139 006a 70BC pop {r4, r5, r6}
140 .LCFI1:
141 .cfi_remember_state
142 .cfi_restore 6
143 .cfi_restore 5
144 .cfi_restore 4
145 .cfi_def_cfa_offset 0
146 006c 7047 bx lr
147 .LVL6:
148 .L4:
149 .LCFI2:
150 .cfi_restore_state
178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
151 .loc 1 178 7 is_stmt 1 view .LVU45
178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
152 .loc 1 178 18 is_stmt 0 view .LVU46
153 006e 184D ldr r5, .L18
154 0070 AC68 ldr r4, [r5, #8]
155 0072 24EA0004 bic r4, r4, r0
156 0076 AC60 str r4, [r5, #8]
157 0078 D8E7 b .L5
158 .L6:
189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
159 .loc 1 189 7 is_stmt 1 view .LVU47
189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
160 .loc 1 189 18 is_stmt 0 view .LVU48
161 007a 154D ldr r5, .L18
162 007c EC68 ldr r4, [r5, #12]
163 007e 24EA0004 bic r4, r4, r0
164 0082 EC60 str r4, [r5, #12]
165 0084 DAE7 b .L7
166 .L17:
ARM GAS /tmp/ccSWpjAw.s page 8
196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
167 .loc 1 196 7 is_stmt 1 view .LVU49
197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
168 .loc 1 197 7 view .LVU50
199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
169 .loc 1 199 7 view .LVU51
199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
170 .loc 1 199 39 is_stmt 0 view .LVU52
171 0086 9208 lsrs r2, r2, #2
172 .LVL7:
199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
173 .loc 1 199 14 view .LVU53
174 0088 124E ldr r6, .L18+4
175 008a 0232 adds r2, r2, #2
176 008c 56F82240 ldr r4, [r6, r2, lsl #2]
177 .LVL8:
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
178 .loc 1 200 7 is_stmt 1 view .LVU54
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
179 .loc 1 200 80 is_stmt 0 view .LVU55
180 0090 03F00303 and r3, r3, #3
181 .LVL9:
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
182 .loc 1 200 69 view .LVU56
183 0094 9B00 lsls r3, r3, #2
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
184 .loc 1 200 40 view .LVU57
185 0096 0F25 movs r5, #15
186 0098 9D40 lsls r5, r5, r3
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
187 .loc 1 200 14 view .LVU58
188 009a 24EA0504 bic r4, r4, r5
189 .LVL10:
201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
190 .loc 1 201 7 is_stmt 1 view .LVU59
201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
191 .loc 1 201 39 is_stmt 0 view .LVU60
192 009e CD68 ldr r5, [r1, #12]
193 00a0 05FA03F3 lsl r3, r5, r3
201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
194 .loc 1 201 14 view .LVU61
195 00a4 2343 orrs r3, r3, r4
196 .LVL11:
202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
197 .loc 1 202 7 is_stmt 1 view .LVU62
202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
198 .loc 1 202 37 is_stmt 0 view .LVU63
199 00a6 46F82230 str r3, [r6, r2, lsl #2]
200 00aa CDE7 b .L3
201 .LVL12:
202 .L8:
214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
203 .loc 1 214 5 is_stmt 1 view .LVU64
214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
204 .loc 1 214 15 is_stmt 0 view .LVU65
205 00ac 084A ldr r2, .L18
206 00ae 1368 ldr r3, [r2]
ARM GAS /tmp/ccSWpjAw.s page 9
207 00b0 23EA0003 bic r3, r3, r0
208 00b4 1360 str r3, [r2]
209 00b6 CFE7 b .L9
210 .L10:
225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
211 .loc 1 225 5 is_stmt 1 view .LVU66
225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
212 .loc 1 225 15 is_stmt 0 view .LVU67
213 00b8 054A ldr r2, .L18
214 00ba 5368 ldr r3, [r2, #4]
215 00bc 23EA0000 bic r0, r3, r0
216 .LVL13:
225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
217 .loc 1 225 15 view .LVU68
218 00c0 5060 str r0, [r2, #4]
228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
219 .loc 1 228 10 view .LVU69
220 00c2 0020 movs r0, #0
221 00c4 D1E7 b .L2
222 .LVL14:
223 .L11:
224 .LCFI3:
225 .cfi_def_cfa_offset 0
226 .cfi_restore 4
227 .cfi_restore 5
228 .cfi_restore 6
151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
229 .loc 1 151 12 view .LVU70
230 00c6 0120 movs r0, #1
231 .LVL15:
151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
232 .loc 1 151 12 view .LVU71
233 00c8 7047 bx lr
234 .LVL16:
235 .L12:
151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
236 .loc 1 151 12 view .LVU72
237 00ca 0120 movs r0, #1
238 .LVL17:
239 .loc 1 229 1 view .LVU73
240 00cc 7047 bx lr
241 .L19:
242 00ce 00BF .align 2
243 .L18:
244 00d0 003C0140 .word 1073822720
245 00d4 00380140 .word 1073821696
246 .cfi_endproc
247 .LFE134:
249 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
250 .align 1
251 .global HAL_EXTI_GetConfigLine
252 .syntax unified
253 .thumb
254 .thumb_func
255 .fpu fpv4-sp-d16
257 HAL_EXTI_GetConfigLine:
258 .LVL18:
ARM GAS /tmp/ccSWpjAw.s page 10
259 .LFB135:
230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line.
233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration.
235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
260 .loc 1 238 1 is_stmt 1 view -0
261 .cfi_startproc
262 @ args = 0, pretend = 0, frame = 0
263 @ frame_needed = 0, uses_anonymous_args = 0
264 @ link register save eliminated.
239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
265 .loc 1 239 3 view .LVU75
240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t linepos;
266 .loc 1 240 3 view .LVU76
241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
267 .loc 1 241 3 view .LVU77
242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check null pointer */
244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
268 .loc 1 244 3 view .LVU78
269 .loc 1 244 6 is_stmt 0 view .LVU79
270 0000 0028 cmp r0, #0
271 0002 45D0 beq .L27
272 .loc 1 244 23 discriminator 1 view .LVU80
273 0004 0029 cmp r1, #0
274 0006 45D0 beq .L28
238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
275 .loc 1 238 1 view .LVU81
276 0008 10B4 push {r4}
277 .LCFI4:
278 .cfi_def_cfa_offset 4
279 .cfi_offset 4, -4
245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_ERROR;
247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check the parameter */
250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
280 .loc 1 250 3 is_stmt 1 view .LVU82
251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Store handle line number to configuration structure */
253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Line = hexti->Line;
281 .loc 1 253 3 view .LVU83
282 .loc 1 253 28 is_stmt 0 view .LVU84
283 000a 0468 ldr r4, [r0]
284 .loc 1 253 21 view .LVU85
285 000c 0C60 str r4, [r1]
254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
286 .loc 1 256 3 is_stmt 1 view .LVU86
287 .loc 1 256 11 is_stmt 0 view .LVU87
ARM GAS /tmp/ccSWpjAw.s page 11
288 000e 04F01F0C and ip, r4, #31
289 .LVL19:
257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << linepos);
290 .loc 1 257 3 is_stmt 1 view .LVU88
291 .loc 1 257 12 is_stmt 0 view .LVU89
292 0012 0123 movs r3, #1
293 0014 03FA0CF3 lsl r3, r3, ip
294 .LVL20:
258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 1] Get core mode : interrupt */
260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check if selected line is enable */
262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((EXTI->IMR & maskline) != 0x00u)
295 .loc 1 262 3 is_stmt 1 view .LVU90
296 .loc 1 262 12 is_stmt 0 view .LVU91
297 0018 2148 ldr r0, .L36
298 .LVL21:
299 .loc 1 262 12 view .LVU92
300 001a 0068 ldr r0, [r0]
301 .loc 1 262 6 view .LVU93
302 001c 1842 tst r0, r3
303 001e 24D0 beq .L22
263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
304 .loc 1 264 5 is_stmt 1 view .LVU94
305 .loc 1 264 23 is_stmt 0 view .LVU95
306 0020 0122 movs r2, #1
307 0022 4A60 str r2, [r1, #4]
308 .L23:
265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE;
269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get event mode */
272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check if selected line is enable */
273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((EXTI->EMR & maskline) != 0x00u)
309 .loc 1 273 3 is_stmt 1 view .LVU96
310 .loc 1 273 12 is_stmt 0 view .LVU97
311 0024 1E48 ldr r0, .L36
312 0026 4068 ldr r0, [r0, #4]
313 .loc 1 273 6 view .LVU98
314 0028 1842 tst r0, r3
315 002a 03D0 beq .L24
274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT;
316 .loc 1 275 5 is_stmt 1 view .LVU99
317 .loc 1 275 23 is_stmt 0 view .LVU100
318 002c 4868 ldr r0, [r1, #4]
319 002e 40F00200 orr r0, r0, #2
320 0032 4860 str r0, [r1, #4]
321 .L24:
276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get default Trigger and GPIOSel configuration */
279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
ARM GAS /tmp/ccSWpjAw.s page 12
322 .loc 1 279 3 is_stmt 1 view .LVU101
323 .loc 1 279 24 is_stmt 0 view .LVU102
324 0034 0022 movs r2, #0
325 0036 8A60 str r2, [r1, #8]
280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
326 .loc 1 280 3 is_stmt 1 view .LVU103
327 .loc 1 280 24 is_stmt 0 view .LVU104
328 0038 CA60 str r2, [r1, #12]
281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
329 .loc 1 283 3 is_stmt 1 view .LVU105
330 .loc 1 283 6 is_stmt 0 view .LVU106
331 003a 14F0007F tst r4, #33554432
332 003e 2BD0 beq .L29
284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check if configuration of selected line is enable */
286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((EXTI->RTSR & maskline) != 0x00u)
333 .loc 1 286 5 is_stmt 1 view .LVU107
334 .loc 1 286 14 is_stmt 0 view .LVU108
335 0040 174A ldr r2, .L36
336 0042 9268 ldr r2, [r2, #8]
337 .loc 1 286 8 view .LVU109
338 0044 1A42 tst r2, r3
339 0046 01D0 beq .L25
287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
340 .loc 1 288 7 is_stmt 1 view .LVU110
341 .loc 1 288 28 is_stmt 0 view .LVU111
342 0048 0122 movs r2, #1
343 004a 8A60 str r2, [r1, #8]
344 .L25:
289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get falling configuration */
292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check if configuration of selected line is enable */
293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((EXTI->FTSR & maskline) != 0x00u)
345 .loc 1 293 5 is_stmt 1 view .LVU112
346 .loc 1 293 14 is_stmt 0 view .LVU113
347 004c 144A ldr r2, .L36
348 004e D268 ldr r2, [r2, #12]
349 .loc 1 293 8 view .LVU114
350 0050 1A42 tst r2, r3
351 0052 03D0 beq .L26
294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
352 .loc 1 295 7 is_stmt 1 view .LVU115
353 .loc 1 295 28 is_stmt 0 view .LVU116
354 0054 8B68 ldr r3, [r1, #8]
355 .LVL22:
356 .loc 1 295 28 view .LVU117
357 0056 43F00203 orr r3, r3, #2
358 005a 8B60 str r3, [r1, #8]
359 .L26:
296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
ARM GAS /tmp/ccSWpjAw.s page 13
299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
360 .loc 1 299 5 is_stmt 1 view .LVU118
361 .loc 1 299 28 is_stmt 0 view .LVU119
362 005c 04F0C063 and r3, r4, #100663296
363 .loc 1 299 8 view .LVU120
364 0060 B3F1C06F cmp r3, #100663296
365 0064 04D0 beq .L35
300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_OK;
366 .loc 1 308 10 view .LVU121
367 0066 0020 movs r0, #0
368 0068 17E0 b .L21
369 .LVL23:
370 .L22:
268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
371 .loc 1 268 5 is_stmt 1 view .LVU122
268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
372 .loc 1 268 23 is_stmt 0 view .LVU123
373 006a 0022 movs r2, #0
374 006c 4A60 str r2, [r1, #4]
375 006e D9E7 b .L23
376 .LVL24:
377 .L35:
301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
378 .loc 1 301 7 is_stmt 1 view .LVU124
303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
379 .loc 1 303 7 view .LVU125
303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
380 .loc 1 303 39 is_stmt 0 view .LVU126
381 0070 4FEA9C02 lsr r2, ip, #2
303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
382 .loc 1 303 14 view .LVU127
383 0074 0232 adds r2, r2, #2
384 0076 0B4B ldr r3, .L36+4
385 0078 53F82220 ldr r2, [r3, r2, lsl #2]
386 .LVL25:
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
387 .loc 1 304 7 is_stmt 1 view .LVU128
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
388 .loc 1 304 78 is_stmt 0 view .LVU129
389 007c 04F00303 and r3, r4, #3
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
390 .loc 1 304 67 view .LVU130
391 0080 9B00 lsls r3, r3, #2
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
392 .loc 1 304 38 view .LVU131
393 0082 22FA03F3 lsr r3, r2, r3
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
394 .loc 1 304 89 view .LVU132
395 0086 03F00F03 and r3, r3, #15
ARM GAS /tmp/ccSWpjAw.s page 14
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
396 .loc 1 304 28 view .LVU133
397 008a CB60 str r3, [r1, #12]
398 .loc 1 308 10 view .LVU134
399 008c 0020 movs r0, #0
400 008e 04E0 b .L21
401 .LVL26:
402 .L27:
403 .LCFI5:
404 .cfi_def_cfa_offset 0
405 .cfi_restore 4
246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
406 .loc 1 246 12 view .LVU135
407 0090 0120 movs r0, #1
408 .LVL27:
246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
409 .loc 1 246 12 view .LVU136
410 0092 7047 bx lr
411 .LVL28:
412 .L28:
246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
413 .loc 1 246 12 view .LVU137
414 0094 0120 movs r0, #1
415 .LVL29:
309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
416 .loc 1 309 1 view .LVU138
417 0096 7047 bx lr
418 .LVL30:
419 .L29:
420 .LCFI6:
421 .cfi_def_cfa_offset 4
422 .cfi_offset 4, -4
308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
423 .loc 1 308 10 view .LVU139
424 0098 0020 movs r0, #0
425 .LVL31:
426 .L21:
427 .loc 1 309 1 view .LVU140
428 009a 5DF8044B ldr r4, [sp], #4
429 .LCFI7:
430 .cfi_restore 4
431 .cfi_def_cfa_offset 0
432 009e 7047 bx lr
433 .L37:
434 .align 2
435 .L36:
436 00a0 003C0140 .word 1073822720
437 00a4 00380140 .word 1073821696
438 .cfi_endproc
439 .LFE135:
441 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
442 .align 1
443 .global HAL_EXTI_ClearConfigLine
444 .syntax unified
445 .thumb
446 .thumb_func
447 .fpu fpv4-sp-d16
ARM GAS /tmp/ccSWpjAw.s page 15
449 HAL_EXTI_ClearConfigLine:
450 .LVL32:
451 .LFB136:
310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
452 .loc 1 317 1 is_stmt 1 view -0
453 .cfi_startproc
454 @ args = 0, pretend = 0, frame = 0
455 @ frame_needed = 0, uses_anonymous_args = 0
318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
456 .loc 1 318 3 view .LVU142
319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t linepos;
457 .loc 1 319 3 view .LVU143
320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
458 .loc 1 320 3 view .LVU144
321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check null pointer */
323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if (hexti == NULL)
459 .loc 1 323 3 view .LVU145
460 .loc 1 323 6 is_stmt 0 view .LVU146
461 0000 0028 cmp r0, #0
462 0002 38D0 beq .L40
317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
463 .loc 1 317 1 view .LVU147
464 0004 10B5 push {r4, lr}
465 .LCFI8:
466 .cfi_def_cfa_offset 8
467 .cfi_offset 4, -8
468 .cfi_offset 14, -4
469 0006 8446 mov ip, r0
324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_ERROR;
326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check the parameter */
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
470 .loc 1 329 3 is_stmt 1 view .LVU148
330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* compute line mask */
332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
471 .loc 1 332 3 view .LVU149
472 .loc 1 332 19 is_stmt 0 view .LVU150
473 0008 0468 ldr r4, [r0]
474 .loc 1 332 11 view .LVU151
475 000a 04F01F00 and r0, r4, #31
476 .LVL33:
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << linepos);
477 .loc 1 333 3 is_stmt 1 view .LVU152
478 .loc 1 333 12 is_stmt 0 view .LVU153
479 000e 0123 movs r3, #1
480 0010 8340 lsls r3, r3, r0
ARM GAS /tmp/ccSWpjAw.s page 16
481 .LVL34:
334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 1] Clear interrupt mode */
336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->IMR = (EXTI->IMR & ~maskline);
482 .loc 1 336 3 is_stmt 1 view .LVU154
483 .loc 1 336 20 is_stmt 0 view .LVU155
484 0012 1B4A ldr r2, .L48
485 0014 1168 ldr r1, [r2]
486 .loc 1 336 28 view .LVU156
487 0016 6FEA030E mvn lr, r3
488 .loc 1 336 26 view .LVU157
489 001a 21EA0301 bic r1, r1, r3
490 .loc 1 336 13 view .LVU158
491 001e 1160 str r1, [r2]
337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 2] Clear event mode */
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->EMR = (EXTI->EMR & ~maskline);
492 .loc 1 339 3 is_stmt 1 view .LVU159
493 .loc 1 339 20 is_stmt 0 view .LVU160
494 0020 5168 ldr r1, [r2, #4]
495 .loc 1 339 26 view .LVU161
496 0022 21EA0303 bic r3, r1, r3
497 .LVL35:
498 .loc 1 339 13 view .LVU162
499 0026 5360 str r3, [r2, #4]
340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
500 .loc 1 342 3 is_stmt 1 view .LVU163
501 .loc 1 342 13 is_stmt 0 view .LVU164
502 0028 DCF80030 ldr r3, [ip]
503 .loc 1 342 6 view .LVU165
504 002c 13F0007F tst r3, #33554432
505 0030 23D0 beq .L41
343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->RTSR = (EXTI->RTSR & ~maskline);
506 .loc 1 344 5 is_stmt 1 view .LVU166
507 .loc 1 344 23 is_stmt 0 view .LVU167
508 0032 9368 ldr r3, [r2, #8]
509 .loc 1 344 30 view .LVU168
510 0034 0EEA0303 and r3, lr, r3
511 .loc 1 344 16 view .LVU169
512 0038 9360 str r3, [r2, #8]
345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->FTSR = (EXTI->FTSR & ~maskline);
513 .loc 1 345 5 is_stmt 1 view .LVU170
514 .loc 1 345 23 is_stmt 0 view .LVU171
515 003a D368 ldr r3, [r2, #12]
516 .loc 1 345 30 view .LVU172
517 003c 0EEA0303 and r3, lr, r3
518 .loc 1 345 16 view .LVU173
519 0040 D360 str r3, [r2, #12]
346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
520 .loc 1 348 5 is_stmt 1 view .LVU174
521 .loc 1 348 15 is_stmt 0 view .LVU175
522 0042 DCF80030 ldr r3, [ip]
ARM GAS /tmp/ccSWpjAw.s page 17
523 .loc 1 348 22 view .LVU176
524 0046 03F0C063 and r3, r3, #100663296
525 .loc 1 348 8 view .LVU177
526 004a B3F1C06F cmp r3, #100663296
527 004e 01D0 beq .L47
349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_OK;
528 .loc 1 358 10 view .LVU178
529 0050 0020 movs r0, #0
530 .LVL36:
531 .loc 1 358 10 view .LVU179
532 0052 13E0 b .L39
533 .LVL37:
534 .L47:
350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
535 .loc 1 350 7 is_stmt 1 view .LVU180
352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
536 .loc 1 352 7 view .LVU181
352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
537 .loc 1 352 39 is_stmt 0 view .LVU182
538 0054 8008 lsrs r0, r0, #2
539 .LVL38:
352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
540 .loc 1 352 14 view .LVU183
541 0056 0B49 ldr r1, .L48+4
542 0058 0230 adds r0, r0, #2
543 005a 51F82030 ldr r3, [r1, r0, lsl #2]
544 .LVL39:
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
545 .loc 1 353 7 is_stmt 1 view .LVU184
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
546 .loc 1 353 80 is_stmt 0 view .LVU185
547 005e 04F00304 and r4, r4, #3
548 .LVL40:
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
549 .loc 1 353 69 view .LVU186
550 0062 A400 lsls r4, r4, #2
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
551 .loc 1 353 40 view .LVU187
552 0064 0F22 movs r2, #15
553 0066 02FA04F4 lsl r4, r2, r4
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
554 .loc 1 353 14 view .LVU188
555 006a 23EA0404 bic r4, r3, r4
556 .LVL41:
354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
557 .loc 1 354 7 is_stmt 1 view .LVU189
354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
558 .loc 1 354 37 is_stmt 0 view .LVU190
ARM GAS /tmp/ccSWpjAw.s page 18
559 006e 41F82040 str r4, [r1, r0, lsl #2]
560 .loc 1 358 10 view .LVU191
561 0072 0020 movs r0, #0
562 0074 02E0 b .L39
563 .LVL42:
564 .L40:
565 .LCFI9:
566 .cfi_def_cfa_offset 0
567 .cfi_restore 4
568 .cfi_restore 14
325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
569 .loc 1 325 12 view .LVU192
570 0076 0120 movs r0, #1
571 .LVL43:
359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
572 .loc 1 359 1 view .LVU193
573 0078 7047 bx lr
574 .LVL44:
575 .L41:
576 .LCFI10:
577 .cfi_def_cfa_offset 8
578 .cfi_offset 4, -8
579 .cfi_offset 14, -4
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
580 .loc 1 358 10 view .LVU194
581 007a 0020 movs r0, #0
582 .LVL45:
583 .L39:
584 .loc 1 359 1 view .LVU195
585 007c 10BD pop {r4, pc}
586 .L49:
587 007e 00BF .align 2
588 .L48:
589 0080 003C0140 .word 1073822720
590 0084 00380140 .word 1073821696
591 .cfi_endproc
592 .LFE136:
594 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
595 .align 1
596 .global HAL_EXTI_RegisterCallback
597 .syntax unified
598 .thumb
599 .thumb_func
600 .fpu fpv4-sp-d16
602 HAL_EXTI_RegisterCallback:
603 .LVL46:
604 .LFB137:
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param CallbackID User callback identifier.
365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
ARM GAS /tmp/ccSWpjAw.s page 19
370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
605 .loc 1 370 1 is_stmt 1 view -0
606 .cfi_startproc
607 @ args = 0, pretend = 0, frame = 0
608 @ frame_needed = 0, uses_anonymous_args = 0
609 @ link register save eliminated.
610 .loc 1 370 1 is_stmt 0 view .LVU197
611 0000 0346 mov r3, r0
371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
612 .loc 1 371 3 is_stmt 1 view .LVU198
613 .LVL47:
372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** switch (CallbackID)
614 .loc 1 373 3 view .LVU199
615 0002 0846 mov r0, r1
616 .LVL48:
617 .loc 1 373 3 is_stmt 0 view .LVU200
618 0004 09B9 cbnz r1, .L52
374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
619 .loc 1 376 7 is_stmt 1 view .LVU201
620 .loc 1 376 30 is_stmt 0 view .LVU202
621 0006 5A60 str r2, [r3, #4]
377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** break;
622 .loc 1 377 7 is_stmt 1 view .LVU203
623 0008 7047 bx lr
624 .L52:
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** default:
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** status = HAL_ERROR;
625 .loc 1 380 14 is_stmt 0 view .LVU204
626 000a 0120 movs r0, #1
627 .LVL49:
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** break;
382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return status;
628 .loc 1 384 3 is_stmt 1 view .LVU205
385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
629 .loc 1 385 1 is_stmt 0 view .LVU206
630 000c 7047 bx lr
631 .cfi_endproc
632 .LFE137:
634 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
635 .align 1
636 .global HAL_EXTI_GetHandle
637 .syntax unified
638 .thumb
639 .thumb_func
640 .fpu fpv4-sp-d16
642 HAL_EXTI_GetHandle:
643 .LVL50:
644 .LFB138:
386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Store line number as handle private field.
ARM GAS /tmp/ccSWpjAw.s page 20
389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param ExtiLine Exti line number.
391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval HAL Status.
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
645 .loc 1 395 1 is_stmt 1 view -0
646 .cfi_startproc
647 @ args = 0, pretend = 0, frame = 0
648 @ frame_needed = 0, uses_anonymous_args = 0
649 @ link register save eliminated.
396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check the parameters */
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
650 .loc 1 397 3 view .LVU208
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check null pointer */
400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if (hexti == NULL)
651 .loc 1 400 3 view .LVU209
652 .loc 1 400 6 is_stmt 0 view .LVU210
653 0000 10B1 cbz r0, .L55
401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_ERROR;
403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** else
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Store line number as handle private field */
407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** hexti->Line = ExtiLine;
654 .loc 1 407 5 is_stmt 1 view .LVU211
655 .loc 1 407 17 is_stmt 0 view .LVU212
656 0002 0160 str r1, [r0]
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return HAL_OK;
657 .loc 1 409 5 is_stmt 1 view .LVU213
658 .loc 1 409 12 is_stmt 0 view .LVU214
659 0004 0020 movs r0, #0
660 .LVL51:
661 .loc 1 409 12 view .LVU215
662 0006 7047 bx lr
663 .LVL52:
664 .L55:
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
665 .loc 1 402 12 view .LVU216
666 0008 0120 movs r0, #1
667 .LVL53:
410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
668 .loc 1 411 1 view .LVU217
669 000a 7047 bx lr
670 .cfi_endproc
671 .LFE138:
673 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
674 .align 1
675 .global HAL_EXTI_IRQHandler
676 .syntax unified
677 .thumb
678 .thumb_func
ARM GAS /tmp/ccSWpjAw.s page 21
679 .fpu fpv4-sp-d16
681 HAL_EXTI_IRQHandler:
682 .LVL54:
683 .LFB139:
412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @}
415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief EXTI IO functions.
419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** *
420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @verbatim
421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ===============================================================================
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ##### IO operation functions #####
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** ===============================================================================
424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** @endverbatim
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @{
427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval none.
433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
684 .loc 1 435 1 is_stmt 1 view -0
685 .cfi_startproc
686 @ args = 0, pretend = 0, frame = 0
687 @ frame_needed = 0, uses_anonymous_args = 0
688 .loc 1 435 1 is_stmt 0 view .LVU219
689 0000 08B5 push {r3, lr}
690 .LCFI11:
691 .cfi_def_cfa_offset 8
692 .cfi_offset 3, -8
693 .cfi_offset 14, -4
436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
694 .loc 1 436 3 is_stmt 1 view .LVU220
437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
695 .loc 1 437 3 view .LVU221
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
696 .loc 1 440 3 view .LVU222
697 .loc 1 440 28 is_stmt 0 view .LVU223
698 0002 0368 ldr r3, [r0]
699 .loc 1 440 35 view .LVU224
700 0004 03F01F02 and r2, r3, #31
701 .loc 1 440 12 view .LVU225
702 0008 0123 movs r3, #1
703 000a 9340 lsls r3, r3, r2
704 .LVL55:
441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Get pending bit */
443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = (EXTI->PR & maskline);
ARM GAS /tmp/ccSWpjAw.s page 22
705 .loc 1 443 3 is_stmt 1 view .LVU226
706 .loc 1 443 17 is_stmt 0 view .LVU227
707 000c 044A ldr r2, .L59
708 000e 5269 ldr r2, [r2, #20]
709 .LVL56:
444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if (regval != 0x00u)
710 .loc 1 444 3 is_stmt 1 view .LVU228
711 .loc 1 444 6 is_stmt 0 view .LVU229
712 0010 1A42 tst r2, r3
713 0012 04D0 beq .L56
445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Clear pending bit */
447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->PR = maskline;
714 .loc 1 447 5 is_stmt 1 view .LVU230
715 .loc 1 447 14 is_stmt 0 view .LVU231
716 0014 024A ldr r2, .L59
717 .LVL57:
718 .loc 1 447 14 view .LVU232
719 0016 5361 str r3, [r2, #20]
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Call callback */
450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
720 .loc 1 450 5 is_stmt 1 view .LVU233
721 .loc 1 450 14 is_stmt 0 view .LVU234
722 0018 4368 ldr r3, [r0, #4]
723 .LVL58:
724 .loc 1 450 8 view .LVU235
725 001a 03B1 cbz r3, .L56
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** hexti->PendingCallback();
726 .loc 1 452 7 is_stmt 1 view .LVU236
727 001c 9847 blx r3
728 .LVL59:
729 .L56:
453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
730 .loc 1 455 1 is_stmt 0 view .LVU237
731 001e 08BD pop {r3, pc}
732 .L60:
733 .align 2
734 .L59:
735 0020 003C0140 .word 1073822720
736 .cfi_endproc
737 .LFE139:
739 .section .text.HAL_EXTI_GetPending,"ax",%progbits
740 .align 1
741 .global HAL_EXTI_GetPending
742 .syntax unified
743 .thumb
744 .thumb_func
745 .fpu fpv4-sp-d16
747 HAL_EXTI_GetPending:
748 .LVL60:
749 .LFB140:
456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
ARM GAS /tmp/ccSWpjAw.s page 23
458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked.
461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter can be one of the following values:
462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
750 .loc 1 467 1 is_stmt 1 view -0
751 .cfi_startproc
752 @ args = 0, pretend = 0, frame = 0
753 @ frame_needed = 0, uses_anonymous_args = 0
754 @ link register save eliminated.
468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t regval;
755 .loc 1 468 3 view .LVU239
469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t linepos;
756 .loc 1 469 3 view .LVU240
470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
757 .loc 1 470 3 view .LVU241
471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Prevent unused argument(s) compilation warning */
473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** UNUSED(Edge);
758 .loc 1 473 3 view .LVU242
474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check parameters */
476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
759 .loc 1 476 3 view .LVU243
477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
760 .loc 1 477 3 view .LVU244
478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
761 .loc 1 478 3 view .LVU245
479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
762 .loc 1 481 3 view .LVU246
763 .loc 1 481 19 is_stmt 0 view .LVU247
764 0000 0368 ldr r3, [r0]
765 .loc 1 481 11 view .LVU248
766 0002 03F01F03 and r3, r3, #31
767 .LVL61:
482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << linepos);
768 .loc 1 482 3 is_stmt 1 view .LVU249
769 .loc 1 482 12 is_stmt 0 view .LVU250
770 0006 0120 movs r0, #1
771 .LVL62:
772 .loc 1 482 12 view .LVU251
773 0008 00FA03F2 lsl r2, r0, r3
774 .LVL63:
483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* return 1 if bit is set else 0 */
485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** regval = ((EXTI->PR & maskline) >> linepos);
775 .loc 1 485 3 is_stmt 1 view .LVU252
776 .loc 1 485 18 is_stmt 0 view .LVU253
777 000c 0249 ldr r1, .L62
778 .LVL64:
ARM GAS /tmp/ccSWpjAw.s page 24
779 .loc 1 485 18 view .LVU254
780 000e 4869 ldr r0, [r1, #20]
781 .loc 1 485 23 view .LVU255
782 0010 1040 ands r0, r0, r2
783 .LVL65:
486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** return regval;
784 .loc 1 486 3 is_stmt 1 view .LVU256
487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
785 .loc 1 487 1 is_stmt 0 view .LVU257
786 0012 D840 lsrs r0, r0, r3
787 .LVL66:
788 .loc 1 487 1 view .LVU258
789 0014 7047 bx lr
790 .L63:
791 0016 00BF .align 2
792 .L62:
793 0018 003C0140 .word 1073822720
794 .cfi_endproc
795 .LFE140:
797 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
798 .align 1
799 .global HAL_EXTI_ClearPending
800 .syntax unified
801 .thumb
802 .thumb_func
803 .fpu fpv4-sp-d16
805 HAL_EXTI_ClearPending:
806 .LVL67:
807 .LFB141:
488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear.
493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter can be one of the following values:
494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval None.
497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
808 .loc 1 499 1 is_stmt 1 view -0
809 .cfi_startproc
810 @ args = 0, pretend = 0, frame = 0
811 @ frame_needed = 0, uses_anonymous_args = 0
812 @ link register save eliminated.
500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
813 .loc 1 500 3 view .LVU260
501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Prevent unused argument(s) compilation warning */
503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** UNUSED(Edge);
814 .loc 1 503 3 view .LVU261
504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check parameters */
506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
815 .loc 1 506 3 view .LVU262
507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
ARM GAS /tmp/ccSWpjAw.s page 25
816 .loc 1 507 3 view .LVU263
508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
817 .loc 1 508 3 view .LVU264
509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
818 .loc 1 511 3 view .LVU265
819 .loc 1 511 28 is_stmt 0 view .LVU266
820 0000 0268 ldr r2, [r0]
821 .loc 1 511 35 view .LVU267
822 0002 02F01F02 and r2, r2, #31
823 .loc 1 511 12 view .LVU268
824 0006 0123 movs r3, #1
825 0008 9340 lsls r3, r3, r2
826 .LVL68:
512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Clear Pending bit */
514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->PR = maskline;
827 .loc 1 514 3 is_stmt 1 view .LVU269
828 .loc 1 514 12 is_stmt 0 view .LVU270
829 000a 014A ldr r2, .L65
830 000c 5361 str r3, [r2, #20]
515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
831 .loc 1 515 1 view .LVU271
832 000e 7047 bx lr
833 .L66:
834 .align 2
835 .L65:
836 0010 003C0140 .word 1073822720
837 .cfi_endproc
838 .LFE141:
840 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
841 .align 1
842 .global HAL_EXTI_GenerateSWI
843 .syntax unified
844 .thumb
845 .thumb_func
846 .fpu fpv4-sp-d16
848 HAL_EXTI_GenerateSWI:
849 .LVL69:
850 .LFB142:
516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /**
518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @param hexti Exti handle.
520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** * @retval None.
521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** */
522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** {
851 .loc 1 523 1 is_stmt 1 view -0
852 .cfi_startproc
853 @ args = 0, pretend = 0, frame = 0
854 @ frame_needed = 0, uses_anonymous_args = 0
855 @ link register save eliminated.
524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** uint32_t maskline;
856 .loc 1 524 3 view .LVU273
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
ARM GAS /tmp/ccSWpjAw.s page 26
526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Check parameters */
527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
857 .loc 1 527 3 view .LVU274
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
858 .loc 1 528 3 view .LVU275
529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Compute line mask */
531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
859 .loc 1 531 3 view .LVU276
860 .loc 1 531 28 is_stmt 0 view .LVU277
861 0000 0268 ldr r2, [r0]
862 .loc 1 531 35 view .LVU278
863 0002 02F01F02 and r2, r2, #31
864 .loc 1 531 12 view .LVU279
865 0006 0123 movs r3, #1
866 0008 9340 lsls r3, r3, r2
867 .LVL70:
532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c ****
533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** /* Generate Software interrupt */
534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** EXTI->SWIER = maskline;
868 .loc 1 534 3 is_stmt 1 view .LVU280
869 .loc 1 534 15 is_stmt 0 view .LVU281
870 000a 014A ldr r2, .L68
871 000c 1361 str r3, [r2, #16]
535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c **** }
872 .loc 1 535 1 view .LVU282
873 000e 7047 bx lr
874 .L69:
875 .align 2
876 .L68:
877 0010 003C0140 .word 1073822720
878 .cfi_endproc
879 .LFE142:
881 .text
882 .Letext0:
883 .file 2 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h"
884 .file 3 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h"
885 .file 4 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
886 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h"
ARM GAS /tmp/ccSWpjAw.s page 27
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f4xx_hal_exti.c
/tmp/ccSWpjAw.s:18 .text.HAL_EXTI_SetConfigLine:0000000000000000 $t
/tmp/ccSWpjAw.s:26 .text.HAL_EXTI_SetConfigLine:0000000000000000 HAL_EXTI_SetConfigLine
/tmp/ccSWpjAw.s:244 .text.HAL_EXTI_SetConfigLine:00000000000000d0 $d
/tmp/ccSWpjAw.s:250 .text.HAL_EXTI_GetConfigLine:0000000000000000 $t
/tmp/ccSWpjAw.s:257 .text.HAL_EXTI_GetConfigLine:0000000000000000 HAL_EXTI_GetConfigLine
/tmp/ccSWpjAw.s:436 .text.HAL_EXTI_GetConfigLine:00000000000000a0 $d
/tmp/ccSWpjAw.s:442 .text.HAL_EXTI_ClearConfigLine:0000000000000000 $t
/tmp/ccSWpjAw.s:449 .text.HAL_EXTI_ClearConfigLine:0000000000000000 HAL_EXTI_ClearConfigLine
/tmp/ccSWpjAw.s:589 .text.HAL_EXTI_ClearConfigLine:0000000000000080 $d
/tmp/ccSWpjAw.s:595 .text.HAL_EXTI_RegisterCallback:0000000000000000 $t
/tmp/ccSWpjAw.s:602 .text.HAL_EXTI_RegisterCallback:0000000000000000 HAL_EXTI_RegisterCallback
/tmp/ccSWpjAw.s:635 .text.HAL_EXTI_GetHandle:0000000000000000 $t
/tmp/ccSWpjAw.s:642 .text.HAL_EXTI_GetHandle:0000000000000000 HAL_EXTI_GetHandle
/tmp/ccSWpjAw.s:674 .text.HAL_EXTI_IRQHandler:0000000000000000 $t
/tmp/ccSWpjAw.s:681 .text.HAL_EXTI_IRQHandler:0000000000000000 HAL_EXTI_IRQHandler
/tmp/ccSWpjAw.s:735 .text.HAL_EXTI_IRQHandler:0000000000000020 $d
/tmp/ccSWpjAw.s:740 .text.HAL_EXTI_GetPending:0000000000000000 $t
/tmp/ccSWpjAw.s:747 .text.HAL_EXTI_GetPending:0000000000000000 HAL_EXTI_GetPending
/tmp/ccSWpjAw.s:793 .text.HAL_EXTI_GetPending:0000000000000018 $d
/tmp/ccSWpjAw.s:798 .text.HAL_EXTI_ClearPending:0000000000000000 $t
/tmp/ccSWpjAw.s:805 .text.HAL_EXTI_ClearPending:0000000000000000 HAL_EXTI_ClearPending
/tmp/ccSWpjAw.s:836 .text.HAL_EXTI_ClearPending:0000000000000010 $d
/tmp/ccSWpjAw.s:841 .text.HAL_EXTI_GenerateSWI:0000000000000000 $t
/tmp/ccSWpjAw.s:848 .text.HAL_EXTI_GenerateSWI:0000000000000000 HAL_EXTI_GenerateSWI
/tmp/ccSWpjAw.s:877 .text.HAL_EXTI_GenerateSWI:0000000000000010 $d
NO UNDEFINED SYMBOLS