PDU_Code/build/stm32f3xx_hal_exti.lst

1821 lines
107 KiB
Plaintext
Raw Normal View History

2024-05-12 14:08:58 +02:00
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f3xx_hal_exti.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c"
20 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits
21 .align 1
22 .global HAL_EXTI_SetConfigLine
23 .syntax unified
24 .thumb
25 .thumb_func
27 HAL_EXTI_SetConfigLine:
28 .LVL0:
29 .LFB130:
1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ******************************************************************************
3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @file stm32f3xx_hal_exti.c
4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @author MCD Application Team
5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief EXTI HAL module driver.
6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral:
8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * + IO operation functions
10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ******************************************************************************
12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @attention
13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * Copyright (c) 2019 STMicroelectronics.
15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * All rights reserved.
16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This software is licensed under terms that can be found in the LICENSE file
18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * in the root directory of this software component.
19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ******************************************************************************
22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @verbatim
23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ==============================================================================
24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### EXTI Peripheral features #####
25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ==============================================================================
26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** [..]
27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Each Exti line can be configured within this driver.
28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 2
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Interrupt
31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Event
32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Both of them
33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers
35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Rising
36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Falling
37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Both of them
38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different
40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition
41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** occurs:
42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Rising edge pending interrupt
43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Falling
44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can
46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** be selected through multiplexer.
47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### How to use this driver #####
49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ==============================================================================
50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** [..]
51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from
54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from
56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger
58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure.
59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** member from GPIO_InitTypeDef structure.
61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using
63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_EXTI_GetConfigLine().
64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide exiting handle as parameter.
65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_GetConfigLine().
68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide exiting handle as parameter.
69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide exiting handle as first parameter.
72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide which callback will be registered using one value from
73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI_CallbackIDTypeDef.
74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Provide callback function pointer.
75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending().
77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_GetPending().
79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @endverbatim
83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #include "stm32f3xx_hal.h"
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 3
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup STM32F3xx_HAL_Driver
89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI
93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * of bounds [0,3] in following API :
98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * HAL_EXTI_SetConfigLine
99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * HAL_EXTI_GetConfigLine
100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine
101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/
107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #define EXTI_MODE_OFFSET 0x08u /* 0x20: offset between CPU IMR/EMR registers *
111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** #define EXTI_CONFIG_OFFSET 0x08u /* 0x20: offset between CPU Rising/Falling conf
112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @}
114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Configuration functions
127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @verbatim
129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### Configuration functions #####
131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @endverbatim
134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line.
139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set.
141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 4
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
30 .loc 1 144 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.
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
35 .loc 1 145 3 view .LVU1
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
36 .loc 1 146 3 view .LVU2
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
37 .loc 1 147 3 view .LVU3
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
38 .loc 1 148 3 view .LVU4
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
39 .loc 1 149 3 view .LVU5
150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
40 .loc 1 152 3 view .LVU6
41 .loc 1 152 6 is_stmt 0 view .LVU7
42 0000 0028 cmp r0, #0
43 0002 5ED0 beq .L12
44 .loc 1 152 23 discriminator 1 view .LVU8
45 0004 0029 cmp r1, #0
46 0006 5ED0 beq .L13
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
47 .loc 1 144 1 view .LVU9
48 0008 F0B4 push {r4, r5, r6, r7}
49 .cfi_def_cfa_offset 16
50 .cfi_offset 4, -16
51 .cfi_offset 5, -12
52 .cfi_offset 6, -8
53 .cfi_offset 7, -4
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line));
54 .loc 1 158 3 is_stmt 1 view .LVU10
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
55 .loc 1 159 3 view .LVU11
160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Assign line number to handle */
162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->Line = pExtiConfig->Line;
56 .loc 1 162 3 view .LVU12
57 .loc 1 162 28 is_stmt 0 view .LVU13
58 000a 0A68 ldr r2, [r1]
59 .loc 1 162 15 view .LVU14
60 000c 0260 str r2, [r0]
163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Compute line register offset and line mask */
165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
61 .loc 1 165 3 is_stmt 1 view .LVU15
62 .loc 1 165 10 is_stmt 0 view .LVU16
63 000e C2F30043 ubfx r3, r2, #16, #1
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 5
64 .LVL1:
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
65 .loc 1 166 3 is_stmt 1 view .LVU17
66 .loc 1 166 11 is_stmt 0 view .LVU18
67 0012 02F01F04 and r4, r2, #31
68 .LVL2:
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
69 .loc 1 167 3 is_stmt 1 view .LVU19
70 .loc 1 167 12 is_stmt 0 view .LVU20
71 0016 0120 movs r0, #1
72 .LVL3:
73 .loc 1 167 12 view .LVU21
74 0018 A040 lsls r0, r0, r4
75 .LVL4:
168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure triggers for configurable lines */
170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
76 .loc 1 170 3 is_stmt 1 view .LVU22
77 .loc 1 170 6 is_stmt 0 view .LVU23
78 001a 12F0007F tst r2, #33554432
79 001e 1BD0 beq .L3
171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
80 .loc 1 172 5 is_stmt 1 view .LVU24
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure rising trigger */
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->RTSR + (EXTI_CONFIG_OFFSET * offset));
81 .loc 1 175 5 view .LVU25
82 .loc 1 175 28 is_stmt 0 view .LVU26
83 0020 4FEA431C lsl ip, r3, #5
84 .loc 1 175 13 view .LVU27
85 0024 294F ldr r7, .L19
86 .LVL5:
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
87 .loc 1 176 5 is_stmt 1 view .LVU28
88 .loc 1 176 12 is_stmt 0 view .LVU29
89 0026 5CF80750 ldr r5, [ip, r7]
90 .LVL6:
177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
91 .loc 1 179 5 is_stmt 1 view .LVU30
92 .loc 1 179 21 is_stmt 0 view .LVU31
93 002a 8E68 ldr r6, [r1, #8]
94 .loc 1 179 8 view .LVU32
95 002c 16F0010F tst r6, #1
96 0030 29D0 beq .L4
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
97 .loc 1 181 7 is_stmt 1 view .LVU33
98 .loc 1 181 14 is_stmt 0 view .LVU34
99 0032 0543 orrs r5, r5, r0
100 .LVL7:
101 .L5:
182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 6
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store rising trigger mode */
189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
102 .loc 1 189 5 is_stmt 1 view .LVU35
103 .loc 1 189 14 is_stmt 0 view .LVU36
104 0034 4CF80750 str r5, [ip, r7]
190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure falling trigger */
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->FTSR + (EXTI_CONFIG_OFFSET * offset));
105 .loc 1 192 5 is_stmt 1 view .LVU37
106 .loc 1 192 13 is_stmt 0 view .LVU38
107 0038 254E ldr r6, .L19+4
108 .LVL8:
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
109 .loc 1 193 5 is_stmt 1 view .LVU39
110 .loc 1 193 12 is_stmt 0 view .LVU40
111 003a 5CF80650 ldr r5, [ip, r6]
112 .LVL9:
194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
113 .loc 1 196 5 is_stmt 1 view .LVU41
114 .loc 1 196 8 is_stmt 0 view .LVU42
115 003e 8F68 ldr r7, [r1, #8]
116 0040 17F0020F tst r7, #2
117 0044 22D0 beq .L6
197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
118 .loc 1 198 7 is_stmt 1 view .LVU43
119 .loc 1 198 14 is_stmt 0 view .LVU44
120 0046 0543 orrs r5, r5, r0
121 .LVL10:
122 .L7:
199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store falling trigger mode */
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
123 .loc 1 206 5 is_stmt 1 view .LVU45
124 .loc 1 206 14 is_stmt 0 view .LVU46
125 0048 4CF80650 str r5, [ip, r6]
207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
126 .loc 1 209 5 is_stmt 1 view .LVU47
127 .loc 1 209 28 is_stmt 0 view .LVU48
128 004c 0D68 ldr r5, [r1]
129 .LVL11:
130 .loc 1 209 28 view .LVU49
131 004e 05F0C06C and ip, r5, #100663296
132 .LVL12:
133 .loc 1 209 8 view .LVU50
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 7
134 0052 BCF1C06F cmp ip, #100663296
135 0056 1CD0 beq .L18
136 .LVL13:
137 .L3:
210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure interrupt mode : read current mode */
222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->IMR + (EXTI_MODE_OFFSET * offset));
138 .loc 1 222 3 is_stmt 1 view .LVU51
139 .loc 1 222 25 is_stmt 0 view .LVU52
140 0058 5B01 lsls r3, r3, #5
141 .LVL14:
142 .loc 1 222 11 view .LVU53
143 005a 03F18042 add r2, r3, #1073741824
144 005e 02F58232 add r2, r2, #66560
145 .LVL15:
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
146 .loc 1 223 3 is_stmt 1 view .LVU54
147 .loc 1 223 10 is_stmt 0 view .LVU55
148 0062 1468 ldr r4, [r2]
149 .LVL16:
224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
150 .loc 1 226 3 is_stmt 1 view .LVU56
151 .loc 1 226 6 is_stmt 0 view .LVU57
152 0064 4D68 ldr r5, [r1, #4]
153 0066 15F0010F tst r5, #1
154 006a 24D0 beq .L8
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
155 .loc 1 228 5 is_stmt 1 view .LVU58
156 .loc 1 228 12 is_stmt 0 view .LVU59
157 006c 0443 orrs r4, r4, r0
158 .LVL17:
159 .L9:
229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store interrupt mode */
236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
160 .loc 1 236 3 is_stmt 1 view .LVU60
161 .loc 1 236 12 is_stmt 0 view .LVU61
162 006e 1460 str r4, [r2]
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 8
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Configure event mode : read current mode */
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->EMR + (EXTI_MODE_OFFSET * offset));
163 .loc 1 239 3 is_stmt 1 view .LVU62
164 .loc 1 239 11 is_stmt 0 view .LVU63
165 0070 184C ldr r4, .L19+8
166 .LVL18:
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
167 .loc 1 240 3 is_stmt 1 view .LVU64
168 .loc 1 240 10 is_stmt 0 view .LVU65
169 0072 1A59 ldr r2, [r3, r4]
170 .LVL19:
241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Mask or set line */
243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
171 .loc 1 243 3 is_stmt 1 view .LVU66
172 .loc 1 243 19 is_stmt 0 view .LVU67
173 0074 4968 ldr r1, [r1, #4]
174 .LVL20:
175 .loc 1 243 6 view .LVU68
176 0076 11F0020F tst r1, #2
177 007a 1FD0 beq .L10
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
178 .loc 1 245 5 is_stmt 1 view .LVU69
179 .loc 1 245 12 is_stmt 0 view .LVU70
180 007c 0243 orrs r2, r2, r0
181 .LVL21:
182 .L11:
246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store event mode */
253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
183 .loc 1 253 3 is_stmt 1 view .LVU71
184 .loc 1 253 12 is_stmt 0 view .LVU72
185 007e 1A51 str r2, [r3, r4]
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
186 .loc 1 255 3 is_stmt 1 view .LVU73
187 .loc 1 255 10 is_stmt 0 view .LVU74
188 0080 0020 movs r0, #0
189 .LVL22:
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
190 .loc 1 256 1 view .LVU75
191 0082 F0BC pop {r4, r5, r6, r7}
192 .cfi_remember_state
193 .cfi_restore 7
194 .cfi_restore 6
195 .cfi_restore 5
196 .cfi_restore 4
197 .cfi_def_cfa_offset 0
198 .LVL23:
199 .loc 1 256 1 view .LVU76
200 0084 7047 bx lr
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 9
201 .LVL24:
202 .L4:
203 .cfi_restore_state
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
204 .loc 1 185 7 is_stmt 1 view .LVU77
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
205 .loc 1 185 14 is_stmt 0 view .LVU78
206 0086 25EA0005 bic r5, r5, r0
207 .LVL25:
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
208 .loc 1 185 14 view .LVU79
209 008a D3E7 b .L5
210 .LVL26:
211 .L6:
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
212 .loc 1 202 7 is_stmt 1 view .LVU80
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
213 .loc 1 202 14 is_stmt 0 view .LVU81
214 008c 25EA0005 bic r5, r5, r0
215 .LVL27:
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
216 .loc 1 202 14 view .LVU82
217 0090 DAE7 b .L7
218 .LVL28:
219 .L18:
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
220 .loc 1 211 7 is_stmt 1 view .LVU83
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
221 .loc 1 212 7 view .LVU84
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
222 .loc 1 214 7 view .LVU85
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
223 .loc 1 214 39 is_stmt 0 view .LVU86
224 0092 A408 lsrs r4, r4, #2
225 .LVL29:
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
226 .loc 1 214 14 view .LVU87
227 0094 104F ldr r7, .L19+12
228 0096 0234 adds r4, r4, #2
229 0098 57F82460 ldr r6, [r7, r4, lsl #2]
230 .LVL30:
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
231 .loc 1 215 7 is_stmt 1 view .LVU88
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
232 .loc 1 215 80 is_stmt 0 view .LVU89
233 009c 02F00302 and r2, r2, #3
234 .LVL31:
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
235 .loc 1 215 69 view .LVU90
236 00a0 9200 lsls r2, r2, #2
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
237 .loc 1 215 40 view .LVU91
238 00a2 0F25 movs r5, #15
239 00a4 9540 lsls r5, r5, r2
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
240 .loc 1 215 14 view .LVU92
241 00a6 26EA0506 bic r6, r6, r5
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 10
242 .LVL32:
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
243 .loc 1 216 7 is_stmt 1 view .LVU93
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
244 .loc 1 216 29 is_stmt 0 view .LVU94
245 00aa CD68 ldr r5, [r1, #12]
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
246 .loc 1 216 39 view .LVU95
247 00ac 9540 lsls r5, r5, r2
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
248 .loc 1 216 14 view .LVU96
249 00ae 3543 orrs r5, r5, r6
250 .LVL33:
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
251 .loc 1 217 7 is_stmt 1 view .LVU97
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
252 .loc 1 217 37 is_stmt 0 view .LVU98
253 00b0 47F82450 str r5, [r7, r4, lsl #2]
254 00b4 D0E7 b .L3
255 .LVL34:
256 .L8:
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
257 .loc 1 232 5 is_stmt 1 view .LVU99
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
258 .loc 1 232 12 is_stmt 0 view .LVU100
259 00b6 24EA0004 bic r4, r4, r0
260 .LVL35:
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
261 .loc 1 232 12 view .LVU101
262 00ba D8E7 b .L9
263 .LVL36:
264 .L10:
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
265 .loc 1 249 5 is_stmt 1 view .LVU102
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
266 .loc 1 249 12 is_stmt 0 view .LVU103
267 00bc 22EA0002 bic r2, r2, r0
268 .LVL37:
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
269 .loc 1 249 12 view .LVU104
270 00c0 DDE7 b .L11
271 .LVL38:
272 .L12:
273 .cfi_def_cfa_offset 0
274 .cfi_restore 4
275 .cfi_restore 5
276 .cfi_restore 6
277 .cfi_restore 7
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
278 .loc 1 154 12 view .LVU105
279 00c2 0120 movs r0, #1
280 .LVL39:
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
281 .loc 1 154 12 view .LVU106
282 00c4 7047 bx lr
283 .LVL40:
284 .L13:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 11
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
285 .loc 1 154 12 view .LVU107
286 00c6 0120 movs r0, #1
287 .LVL41:
288 .loc 1 256 1 view .LVU108
289 00c8 7047 bx lr
290 .L20:
291 00ca 00BF .align 2
292 .L19:
293 00cc 08040140 .word 1073808392
294 00d0 0C040140 .word 1073808396
295 00d4 04040140 .word 1073808388
296 00d8 00000140 .word 1073807360
297 .cfi_endproc
298 .LFE130:
300 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
301 .align 1
302 .global HAL_EXTI_GetConfigLine
303 .syntax unified
304 .thumb
305 .thumb_func
307 HAL_EXTI_GetConfigLine:
308 .LVL42:
309 .LFB131:
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line.
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration.
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
310 .loc 1 265 1 is_stmt 1 view -0
311 .cfi_startproc
312 @ args = 0, pretend = 0, frame = 0
313 @ frame_needed = 0, uses_anonymous_args = 0
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
314 .loc 1 266 3 view .LVU110
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
315 .loc 1 267 3 view .LVU111
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
316 .loc 1 268 3 view .LVU112
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
317 .loc 1 269 3 view .LVU113
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
318 .loc 1 270 3 view .LVU114
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
319 .loc 1 273 3 view .LVU115
320 .loc 1 273 6 is_stmt 0 view .LVU116
321 0000 0028 cmp r0, #0
322 0002 4CD0 beq .L28
323 .loc 1 273 23 discriminator 1 view .LVU117
324 0004 0029 cmp r1, #0
325 0006 4CD0 beq .L29
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 12
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
326 .loc 1 265 1 view .LVU118
327 0008 10B5 push {r4, lr}
328 .cfi_def_cfa_offset 8
329 .cfi_offset 4, -8
330 .cfi_offset 14, -4
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check the parameter */
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
331 .loc 1 279 3 is_stmt 1 view .LVU119
280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store handle line number to configuration structure */
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Line = hexti->Line;
332 .loc 1 282 3 view .LVU120
333 .loc 1 282 28 is_stmt 0 view .LVU121
334 000a 0368 ldr r3, [r0]
335 .loc 1 282 21 view .LVU122
336 000c 0B60 str r3, [r1]
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
337 .loc 1 285 3 is_stmt 1 view .LVU123
338 .loc 1 285 10 is_stmt 0 view .LVU124
339 000e C3F30040 ubfx r0, r3, #16, #1
340 .LVL43:
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
341 .loc 1 286 3 is_stmt 1 view .LVU125
342 .loc 1 286 11 is_stmt 0 view .LVU126
343 0012 03F01F0E and lr, r3, #31
344 .LVL44:
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
345 .loc 1 287 3 is_stmt 1 view .LVU127
346 .loc 1 287 12 is_stmt 0 view .LVU128
347 0016 0122 movs r2, #1
348 0018 02FA0EF2 lsl r2, r2, lr
349 .LVL45:
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 1] Get core mode : interrupt */
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->IMR + (EXTI_MODE_OFFSET * offset));
350 .loc 1 290 3 is_stmt 1 view .LVU129
351 .loc 1 290 25 is_stmt 0 view .LVU130
352 001c 4001 lsls r0, r0, #5
353 .LVL46:
354 .loc 1 290 11 view .LVU131
355 001e 00F1804C add ip, r0, #1073741824
356 0022 0CF5823C add ip, ip, #66560
357 .LVL47:
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
358 .loc 1 291 3 is_stmt 1 view .LVU132
359 .loc 1 291 10 is_stmt 0 view .LVU133
360 0026 DCF80040 ldr r4, [ip]
361 .LVL48:
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if selected line is enable */
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 13
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
362 .loc 1 294 3 is_stmt 1 view .LVU134
363 .loc 1 294 6 is_stmt 0 view .LVU135
364 002a 2242 tst r2, r4
365 002c 24D0 beq .L23
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
366 .loc 1 296 5 is_stmt 1 view .LVU136
367 .loc 1 296 23 is_stmt 0 view .LVU137
368 002e 0124 movs r4, #1
369 .LVL49:
370 .loc 1 296 23 view .LVU138
371 0030 4C60 str r4, [r1, #4]
372 .L24:
297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE;
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get event mode */
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->EMR + (EXTI_MODE_OFFSET * offset));
373 .loc 1 304 3 is_stmt 1 view .LVU139
374 .loc 1 304 11 is_stmt 0 view .LVU140
375 0032 1E4C ldr r4, .L37
376 .LVL50:
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
377 .loc 1 305 3 is_stmt 1 view .LVU141
378 .loc 1 305 10 is_stmt 0 view .LVU142
379 0034 0459 ldr r4, [r0, r4]
380 .LVL51:
306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if selected line is enable */
308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
381 .loc 1 308 3 is_stmt 1 view .LVU143
382 .loc 1 308 6 is_stmt 0 view .LVU144
383 0036 2242 tst r2, r4
384 0038 03D0 beq .L25
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT;
385 .loc 1 310 5 is_stmt 1 view .LVU145
386 .loc 1 310 16 is_stmt 0 view .LVU146
387 003a 4C68 ldr r4, [r1, #4]
388 .LVL52:
389 .loc 1 310 23 view .LVU147
390 003c 44F00204 orr r4, r4, #2
391 0040 4C60 str r4, [r1, #4]
392 .L25:
311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get default Trigger and GPIOSel configuration */
314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
393 .loc 1 314 3 is_stmt 1 view .LVU148
394 .loc 1 314 24 is_stmt 0 view .LVU149
395 0042 0024 movs r4, #0
396 0044 8C60 str r4, [r1, #8]
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 14
397 .loc 1 315 3 is_stmt 1 view .LVU150
398 .loc 1 315 24 is_stmt 0 view .LVU151
399 0046 CC60 str r4, [r1, #12]
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
400 .loc 1 318 3 is_stmt 1 view .LVU152
401 .loc 1 318 6 is_stmt 0 view .LVU153
402 0048 13F0007F tst r3, #33554432
403 004c 2BD0 beq .L30
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->RTSR + (EXTI_CONFIG_OFFSET * offset));
404 .loc 1 320 5 is_stmt 1 view .LVU154
405 .loc 1 320 13 is_stmt 0 view .LVU155
406 004e 184C ldr r4, .L37+4
407 .LVL53:
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
408 .loc 1 321 5 is_stmt 1 view .LVU156
409 .loc 1 321 12 is_stmt 0 view .LVU157
410 0050 0459 ldr r4, [r0, r4]
411 .LVL54:
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if configuration of selected line is enable */
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
412 .loc 1 324 5 is_stmt 1 view .LVU158
413 .loc 1 324 8 is_stmt 0 view .LVU159
414 0052 2242 tst r2, r4
415 0054 01D0 beq .L26
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
416 .loc 1 326 7 is_stmt 1 view .LVU160
417 .loc 1 326 28 is_stmt 0 view .LVU161
418 0056 0124 movs r4, #1
419 .LVL55:
420 .loc 1 326 28 view .LVU162
421 0058 8C60 str r4, [r1, #8]
422 .L26:
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get falling configuration */
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->FTSR + (EXTI_CONFIG_OFFSET * offset));
423 .loc 1 330 5 is_stmt 1 view .LVU163
424 .loc 1 330 13 is_stmt 0 view .LVU164
425 005a 164C ldr r4, .L37+8
426 .LVL56:
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
427 .loc 1 331 5 is_stmt 1 view .LVU165
428 .loc 1 331 12 is_stmt 0 view .LVU166
429 005c 0059 ldr r0, [r0, r4]
430 .LVL57:
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check if configuration of selected line is enable */
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
431 .loc 1 334 5 is_stmt 1 view .LVU167
432 .loc 1 334 8 is_stmt 0 view .LVU168
433 005e 0242 tst r2, r0
434 0060 03D0 beq .L27
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 15
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
435 .loc 1 336 7 is_stmt 1 view .LVU169
436 .loc 1 336 18 is_stmt 0 view .LVU170
437 0062 8A68 ldr r2, [r1, #8]
438 .LVL58:
439 .loc 1 336 28 view .LVU171
440 0064 42F00202 orr r2, r2, #2
441 0068 8A60 str r2, [r1, #8]
442 .L27:
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
443 .loc 1 340 5 is_stmt 1 view .LVU172
444 .loc 1 340 28 is_stmt 0 view .LVU173
445 006a 03F0C062 and r2, r3, #100663296
446 .loc 1 340 8 view .LVU174
447 006e B2F1C06F cmp r2, #100663296
448 0072 04D0 beq .L36
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
449 .loc 1 349 10 view .LVU175
450 0074 0020 movs r0, #0
451 .LVL59:
452 .loc 1 349 10 view .LVU176
453 0076 17E0 b .L22
454 .LVL60:
455 .L23:
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
456 .loc 1 300 5 is_stmt 1 view .LVU177
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
457 .loc 1 300 23 is_stmt 0 view .LVU178
458 0078 0024 movs r4, #0
459 .LVL61:
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
460 .loc 1 300 23 view .LVU179
461 007a 4C60 str r4, [r1, #4]
462 007c D9E7 b .L24
463 .LVL62:
464 .L36:
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
465 .loc 1 342 7 is_stmt 1 view .LVU180
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
466 .loc 1 344 7 view .LVU181
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
467 .loc 1 344 39 is_stmt 0 view .LVU182
468 007e 4FEA9E02 lsr r2, lr, #2
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
469 .loc 1 344 14 view .LVU183
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 16
470 0082 0232 adds r2, r2, #2
471 0084 0C48 ldr r0, .L37+12
472 .LVL63:
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
473 .loc 1 344 14 view .LVU184
474 0086 50F82220 ldr r2, [r0, r2, lsl #2]
475 .LVL64:
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
476 .loc 1 345 7 is_stmt 1 view .LVU185
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
477 .loc 1 345 78 is_stmt 0 view .LVU186
478 008a 03F00303 and r3, r3, #3
479 .LVL65:
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
480 .loc 1 345 67 view .LVU187
481 008e 9B00 lsls r3, r3, #2
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
482 .loc 1 345 38 view .LVU188
483 0090 22FA03F3 lsr r3, r2, r3
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
484 .loc 1 345 89 view .LVU189
485 0094 03F00F03 and r3, r3, #15
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
486 .loc 1 345 28 view .LVU190
487 0098 CB60 str r3, [r1, #12]
488 .loc 1 349 10 view .LVU191
489 009a 0020 movs r0, #0
490 009c 04E0 b .L22
491 .LVL66:
492 .L28:
493 .cfi_def_cfa_offset 0
494 .cfi_restore 4
495 .cfi_restore 14
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
496 .loc 1 275 12 view .LVU192
497 009e 0120 movs r0, #1
498 .LVL67:
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
499 .loc 1 275 12 view .LVU193
500 00a0 7047 bx lr
501 .LVL68:
502 .L29:
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
503 .loc 1 275 12 view .LVU194
504 00a2 0120 movs r0, #1
505 .LVL69:
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
506 .loc 1 350 1 view .LVU195
507 00a4 7047 bx lr
508 .LVL70:
509 .L30:
510 .cfi_def_cfa_offset 8
511 .cfi_offset 4, -8
512 .cfi_offset 14, -4
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
513 .loc 1 349 10 view .LVU196
514 00a6 0020 movs r0, #0
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 17
515 .LVL71:
516 .L22:
517 .loc 1 350 1 view .LVU197
518 00a8 10BD pop {r4, pc}
519 .L38:
520 00aa 00BF .align 2
521 .L37:
522 00ac 04040140 .word 1073808388
523 00b0 08040140 .word 1073808392
524 00b4 0C040140 .word 1073808396
525 00b8 00000140 .word 1073807360
526 .cfi_endproc
527 .LFE131:
529 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
530 .align 1
531 .global HAL_EXTI_ClearConfigLine
532 .syntax unified
533 .thumb
534 .thumb_func
536 HAL_EXTI_ClearConfigLine:
537 .LVL72:
538 .LFB132:
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
539 .loc 1 358 1 is_stmt 1 view -0
540 .cfi_startproc
541 @ args = 0, pretend = 0, frame = 0
542 @ frame_needed = 0, uses_anonymous_args = 0
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
543 .loc 1 359 3 view .LVU199
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
544 .loc 1 360 3 view .LVU200
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
545 .loc 1 361 3 view .LVU201
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
546 .loc 1 362 3 view .LVU202
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
547 .loc 1 363 3 view .LVU203
364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (hexti == NULL)
548 .loc 1 366 3 view .LVU204
549 .loc 1 366 6 is_stmt 0 view .LVU205
550 0000 0028 cmp r0, #0
551 0002 40D0 beq .L41
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
552 .loc 1 358 1 view .LVU206
553 0004 30B5 push {r4, r5, lr}
554 .cfi_def_cfa_offset 12
555 .cfi_offset 4, -12
556 .cfi_offset 5, -8
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 18
557 .cfi_offset 14, -4
558 0006 8446 mov ip, r0
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check the parameter */
372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
559 .loc 1 372 3 is_stmt 1 view .LVU207
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
560 .loc 1 375 3 view .LVU208
561 .loc 1 375 19 is_stmt 0 view .LVU209
562 0008 0468 ldr r4, [r0]
563 .loc 1 375 10 view .LVU210
564 000a C4F30043 ubfx r3, r4, #16, #1
565 .LVL73:
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
566 .loc 1 376 3 is_stmt 1 view .LVU211
567 .loc 1 376 11 is_stmt 0 view .LVU212
568 000e 04F01F0E and lr, r4, #31
569 .LVL74:
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
570 .loc 1 377 3 is_stmt 1 view .LVU213
571 .loc 1 377 12 is_stmt 0 view .LVU214
572 0012 0122 movs r2, #1
573 0014 02FA0EF2 lsl r2, r2, lr
574 .LVL75:
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 1] Clear interrupt mode */
380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->IMR + (EXTI_MODE_OFFSET * offset));
575 .loc 1 380 3 is_stmt 1 view .LVU215
576 .loc 1 380 25 is_stmt 0 view .LVU216
577 0018 5B01 lsls r3, r3, #5
578 .LVL76:
579 .loc 1 380 11 view .LVU217
580 001a 03F18041 add r1, r3, #1073741824
581 001e 01F58231 add r1, r1, #66560
582 .LVL77:
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
583 .loc 1 381 3 is_stmt 1 view .LVU218
584 .loc 1 381 13 is_stmt 0 view .LVU219
585 0022 0868 ldr r0, [r1]
586 .LVL78:
587 .loc 1 381 24 view .LVU220
588 0024 D543 mvns r5, r2
589 .loc 1 381 10 view .LVU221
590 0026 20EA0200 bic r0, r0, r2
591 .LVL79:
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
592 .loc 1 382 3 is_stmt 1 view .LVU222
593 .loc 1 382 12 is_stmt 0 view .LVU223
594 002a 0860 str r0, [r1]
383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 2] Clear event mode */
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->EMR + (EXTI_MODE_OFFSET * offset));
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 19
595 .loc 1 385 3 is_stmt 1 view .LVU224
596 .loc 1 385 11 is_stmt 0 view .LVU225
597 002c 1848 ldr r0, .L49
598 .LVL80:
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
599 .loc 1 386 3 is_stmt 1 view .LVU226
600 .loc 1 386 13 is_stmt 0 view .LVU227
601 002e 1958 ldr r1, [r3, r0]
602 .LVL81:
603 .loc 1 386 10 view .LVU228
604 0030 21EA0202 bic r2, r1, r2
605 .LVL82:
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
606 .loc 1 387 3 is_stmt 1 view .LVU229
607 .loc 1 387 12 is_stmt 0 view .LVU230
608 0034 1A50 str r2, [r3, r0]
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
609 .loc 1 390 3 is_stmt 1 view .LVU231
610 .loc 1 390 13 is_stmt 0 view .LVU232
611 0036 DCF80020 ldr r2, [ip]
612 .LVL83:
613 .loc 1 390 6 view .LVU233
614 003a 12F0007F tst r2, #33554432
615 003e 24D0 beq .L42
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->RTSR + (EXTI_CONFIG_OFFSET * offset));
616 .loc 1 392 5 is_stmt 1 view .LVU234
617 .loc 1 392 13 is_stmt 0 view .LVU235
618 0040 1449 ldr r1, .L49+4
619 .LVL84:
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
620 .loc 1 393 5 is_stmt 1 view .LVU236
621 .loc 1 393 15 is_stmt 0 view .LVU237
622 0042 5A58 ldr r2, [r3, r1]
623 .loc 1 393 12 view .LVU238
624 0044 2A40 ands r2, r2, r5
625 .LVL85:
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
626 .loc 1 394 5 is_stmt 1 view .LVU239
627 .loc 1 394 14 is_stmt 0 view .LVU240
628 0046 5A50 str r2, [r3, r1]
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->FTSR + (EXTI_CONFIG_OFFSET * offset));
629 .loc 1 396 5 is_stmt 1 view .LVU241
630 .loc 1 396 13 is_stmt 0 view .LVU242
631 0048 134A ldr r2, .L49+8
632 .LVL86:
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
633 .loc 1 397 5 is_stmt 1 view .LVU243
634 .loc 1 397 15 is_stmt 0 view .LVU244
635 004a 9958 ldr r1, [r3, r2]
636 .LVL87:
637 .loc 1 397 12 view .LVU245
638 004c 0D40 ands r5, r5, r1
639 .LVL88:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 20
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
640 .loc 1 398 5 is_stmt 1 view .LVU246
641 .loc 1 398 14 is_stmt 0 view .LVU247
642 004e 9D50 str r5, [r3, r2]
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
643 .loc 1 401 5 is_stmt 1 view .LVU248
644 .loc 1 401 15 is_stmt 0 view .LVU249
645 0050 DCF80030 ldr r3, [ip]
646 .LVL89:
647 .loc 1 401 22 view .LVU250
648 0054 03F0C063 and r3, r3, #100663296
649 .loc 1 401 8 view .LVU251
650 0058 B3F1C06F cmp r3, #100663296
651 005c 01D0 beq .L48
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
652 .loc 1 411 10 view .LVU252
653 005e 0020 movs r0, #0
654 0060 14E0 b .L40
655 .L48:
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
656 .loc 1 403 7 is_stmt 1 view .LVU253
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
657 .loc 1 405 7 view .LVU254
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
658 .loc 1 405 39 is_stmt 0 view .LVU255
659 0062 4FEA9E0E lsr lr, lr, #2
660 .LVL90:
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
661 .loc 1 405 14 view .LVU256
662 0066 0D49 ldr r1, .L49+12
663 0068 0EF1020E add lr, lr, #2
664 006c 51F82E30 ldr r3, [r1, lr, lsl #2]
665 .LVL91:
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
666 .loc 1 406 7 is_stmt 1 view .LVU257
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
667 .loc 1 406 80 is_stmt 0 view .LVU258
668 0070 04F00304 and r4, r4, #3
669 .LVL92:
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
670 .loc 1 406 69 view .LVU259
671 0074 A400 lsls r4, r4, #2
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
672 .loc 1 406 40 view .LVU260
673 0076 0F22 movs r2, #15
674 0078 A240 lsls r2, r2, r4
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 21
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
675 .loc 1 406 14 view .LVU261
676 007a 23EA0203 bic r3, r3, r2
677 .LVL93:
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
678 .loc 1 407 7 is_stmt 1 view .LVU262
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
679 .loc 1 407 37 is_stmt 0 view .LVU263
680 007e 41F82E30 str r3, [r1, lr, lsl #2]
681 .loc 1 411 10 view .LVU264
682 0082 0020 movs r0, #0
683 0084 02E0 b .L40
684 .LVL94:
685 .L41:
686 .cfi_def_cfa_offset 0
687 .cfi_restore 4
688 .cfi_restore 5
689 .cfi_restore 14
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
690 .loc 1 368 12 view .LVU265
691 0086 0120 movs r0, #1
692 .LVL95:
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
693 .loc 1 412 1 view .LVU266
694 0088 7047 bx lr
695 .LVL96:
696 .L42:
697 .cfi_def_cfa_offset 12
698 .cfi_offset 4, -12
699 .cfi_offset 5, -8
700 .cfi_offset 14, -4
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
701 .loc 1 411 10 view .LVU267
702 008a 0020 movs r0, #0
703 .LVL97:
704 .L40:
705 .loc 1 412 1 view .LVU268
706 008c 30BD pop {r4, r5, pc}
707 .L50:
708 008e 00BF .align 2
709 .L49:
710 0090 04040140 .word 1073808388
711 0094 08040140 .word 1073808392
712 0098 0C040140 .word 1073808396
713 009c 00000140 .word 1073807360
714 .cfi_endproc
715 .LFE132:
717 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
718 .align 1
719 .global HAL_EXTI_RegisterCallback
720 .syntax unified
721 .thumb
722 .thumb_func
724 HAL_EXTI_RegisterCallback:
725 .LVL98:
726 .LFB133:
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 22
414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param CallbackID User callback identifier.
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
727 .loc 1 423 1 is_stmt 1 view -0
728 .cfi_startproc
729 @ args = 0, pretend = 0, frame = 0
730 @ frame_needed = 0, uses_anonymous_args = 0
731 @ link register save eliminated.
732 .loc 1 423 1 is_stmt 0 view .LVU270
733 0000 0346 mov r3, r0
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
734 .loc 1 424 3 is_stmt 1 view .LVU271
735 .LVL99:
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** switch (CallbackID)
736 .loc 1 426 3 view .LVU272
737 0002 0846 mov r0, r1
738 .LVL100:
739 .loc 1 426 3 is_stmt 0 view .LVU273
740 0004 09B9 cbnz r1, .L53
427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
741 .loc 1 429 7 is_stmt 1 view .LVU274
742 .loc 1 429 30 is_stmt 0 view .LVU275
743 0006 5A60 str r2, [r3, #4]
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** break;
744 .loc 1 430 7 is_stmt 1 view .LVU276
745 0008 7047 bx lr
746 .L53:
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** default:
433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** status = HAL_ERROR;
747 .loc 1 433 14 is_stmt 0 view .LVU277
748 000a 0120 movs r0, #1
749 .LVL101:
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** break;
435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return status;
750 .loc 1 437 3 is_stmt 1 view .LVU278
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
751 .loc 1 438 1 is_stmt 0 view .LVU279
752 000c 7047 bx lr
753 .cfi_endproc
754 .LFE133:
756 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
757 .align 1
758 .global HAL_EXTI_GetHandle
759 .syntax unified
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 23
760 .thumb
761 .thumb_func
763 HAL_EXTI_GetHandle:
764 .LVL102:
765 .LFB134:
439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Store line number as handle private field.
442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param ExtiLine Exti line number.
444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval HAL Status.
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
766 .loc 1 448 1 is_stmt 1 view -0
767 .cfi_startproc
768 @ args = 0, pretend = 0, frame = 0
769 @ frame_needed = 0, uses_anonymous_args = 0
770 @ link register save eliminated.
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check the parameters */
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
771 .loc 1 450 3 view .LVU281
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check null pointer */
453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (hexti == NULL)
772 .loc 1 453 3 view .LVU282
773 .loc 1 453 6 is_stmt 0 view .LVU283
774 0000 10B1 cbz r0, .L56
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** else
458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Store line number as handle private field */
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->Line = ExtiLine;
775 .loc 1 460 5 is_stmt 1 view .LVU284
776 .loc 1 460 17 is_stmt 0 view .LVU285
777 0002 0160 str r1, [r0]
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
778 .loc 1 462 5 is_stmt 1 view .LVU286
779 .loc 1 462 12 is_stmt 0 view .LVU287
780 0004 0020 movs r0, #0
781 .LVL103:
782 .loc 1 462 12 view .LVU288
783 0006 7047 bx lr
784 .LVL104:
785 .L56:
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
786 .loc 1 455 12 view .LVU289
787 0008 0120 movs r0, #1
788 .LVL105:
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
789 .loc 1 464 1 view .LVU290
790 000a 7047 bx lr
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 24
791 .cfi_endproc
792 .LFE134:
794 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
795 .align 1
796 .global HAL_EXTI_IRQHandler
797 .syntax unified
798 .thumb
799 .thumb_func
801 HAL_EXTI_IRQHandler:
802 .LVL106:
803 .LFB135:
465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @}
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief EXTI IO functions.
472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *
473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @verbatim
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ##### IO operation functions #####
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** ===============================================================================
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** @endverbatim
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @{
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval none.
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
804 .loc 1 488 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 .loc 1 488 1 is_stmt 0 view .LVU292
809 0000 08B5 push {r3, lr}
810 .cfi_def_cfa_offset 8
811 .cfi_offset 3, -8
812 .cfi_offset 14, -4
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
813 .loc 1 489 3 is_stmt 1 view .LVU293
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
814 .loc 1 490 3 view .LVU294
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
815 .loc 1 491 3 view .LVU295
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
816 .loc 1 492 3 view .LVU296
493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Compute line register offset and line mask */
495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
817 .loc 1 495 3 view .LVU297
818 .loc 1 495 19 is_stmt 0 view .LVU298
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 25
819 0002 0368 ldr r3, [r0]
820 .loc 1 495 10 view .LVU299
821 0004 C3F30041 ubfx r1, r3, #16, #1
822 .LVL107:
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
823 .loc 1 496 3 is_stmt 1 view .LVU300
824 .loc 1 496 35 is_stmt 0 view .LVU301
825 0008 03F01F03 and r3, r3, #31
826 .loc 1 496 12 view .LVU302
827 000c 0122 movs r2, #1
828 000e 02FA03F3 lsl r3, r2, r3
829 .LVL108:
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get pending bit */
499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->PR + (EXTI_CONFIG_OFFSET * offset));
830 .loc 1 499 3 is_stmt 1 view .LVU303
831 .loc 1 499 24 is_stmt 0 view .LVU304
832 0012 4A01 lsls r2, r1, #5
833 .loc 1 499 11 view .LVU305
834 0014 0449 ldr r1, .L60
835 .LVL109:
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & maskline);
836 .loc 1 500 3 is_stmt 1 view .LVU306
837 .loc 1 500 13 is_stmt 0 view .LVU307
838 0016 5258 ldr r2, [r2, r1]
839 .LVL110:
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (regval != 0x00u)
840 .loc 1 502 3 is_stmt 1 view .LVU308
841 .loc 1 502 6 is_stmt 0 view .LVU309
842 0018 1A42 tst r2, r3
843 001a 04D0 beq .L57
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Clear pending bit */
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** EXTI->PR = maskline;
844 .loc 1 505 5 is_stmt 1 view .LVU310
845 .loc 1 505 14 is_stmt 0 view .LVU311
846 001c 034A ldr r2, .L60+4
847 .LVL111:
848 .loc 1 505 14 view .LVU312
849 001e 5361 str r3, [r2, #20]
850 .LVL112:
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Call callback */
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
851 .loc 1 508 5 is_stmt 1 view .LVU313
852 .loc 1 508 14 is_stmt 0 view .LVU314
853 0020 4368 ldr r3, [r0, #4]
854 .LVL113:
855 .loc 1 508 8 view .LVU315
856 0022 03B1 cbz r3, .L57
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->PendingCallback();
857 .loc 1 510 7 is_stmt 1 view .LVU316
858 0024 9847 blx r3
859 .LVL114:
860 .L57:
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 26
511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
861 .loc 1 513 1 is_stmt 0 view .LVU317
862 0026 08BD pop {r3, pc}
863 .L61:
864 .align 2
865 .L60:
866 0028 14040140 .word 1073808404
867 002c 00040140 .word 1073808384
868 .cfi_endproc
869 .LFE135:
871 .section .text.HAL_EXTI_GetPending,"ax",%progbits
872 .align 1
873 .global HAL_EXTI_GetPending
874 .syntax unified
875 .thumb
876 .thumb_func
878 HAL_EXTI_GetPending:
879 .LVL115:
880 .LFB136:
514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked.
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be one of the following values:
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
881 .loc 1 525 1 is_stmt 1 view -0
882 .cfi_startproc
883 @ args = 0, pretend = 0, frame = 0
884 @ frame_needed = 0, uses_anonymous_args = 0
885 @ link register save eliminated.
526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
886 .loc 1 526 3 view .LVU319
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
887 .loc 1 527 3 view .LVU320
528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
888 .loc 1 528 3 view .LVU321
529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
889 .loc 1 529 3 view .LVU322
530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
890 .loc 1 530 3 view .LVU323
531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
891 .loc 1 533 3 view .LVU324
534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
892 .loc 1 534 3 view .LVU325
535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
893 .loc 1 535 3 view .LVU326
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 27
537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
894 .loc 1 538 3 view .LVU327
895 .loc 1 538 19 is_stmt 0 view .LVU328
896 0000 0368 ldr r3, [r0]
897 .loc 1 538 10 view .LVU329
898 0002 C3F30041 ubfx r1, r3, #16, #1
899 .LVL116:
539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
900 .loc 1 539 3 is_stmt 1 view .LVU330
901 .loc 1 539 11 is_stmt 0 view .LVU331
902 0006 03F01F03 and r3, r3, #31
903 .LVL117:
540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
904 .loc 1 540 3 is_stmt 1 view .LVU332
905 .loc 1 540 12 is_stmt 0 view .LVU333
906 000a 0122 movs r2, #1
907 000c 9A40 lsls r2, r2, r3
908 .LVL118:
541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get pending bit */
543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->PR + (EXTI_CONFIG_OFFSET * offset));
909 .loc 1 543 3 is_stmt 1 view .LVU334
910 .loc 1 543 24 is_stmt 0 view .LVU335
911 000e 4901 lsls r1, r1, #5
912 .LVL119:
913 .loc 1 543 11 view .LVU336
914 0010 0248 ldr r0, .L63
915 .LVL120:
544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* return 1 if bit is set else 0 */
545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = ((*regaddr & maskline) >> linepos);
916 .loc 1 545 3 is_stmt 1 view .LVU337
917 .loc 1 545 14 is_stmt 0 view .LVU338
918 0012 0858 ldr r0, [r1, r0]
919 .LVL121:
920 .loc 1 545 23 view .LVU339
921 0014 1040 ands r0, r0, r2
922 .LVL122:
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return regval;
923 .loc 1 546 3 is_stmt 1 view .LVU340
547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
924 .loc 1 547 1 is_stmt 0 view .LVU341
925 0016 D840 lsrs r0, r0, r3
926 .LVL123:
927 .loc 1 547 1 view .LVU342
928 0018 7047 bx lr
929 .L64:
930 001a 00BF .align 2
931 .L63:
932 001c 14040140 .word 1073808404
933 .cfi_endproc
934 .LFE136:
936 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
937 .align 1
938 .global HAL_EXTI_ClearPending
939 .syntax unified
940 .thumb
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 28
941 .thumb_func
943 HAL_EXTI_ClearPending:
944 .LVL124:
945 .LFB137:
548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear.
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter can be one of the following values:
554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval None.
557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
946 .loc 1 559 1 is_stmt 1 view -0
947 .cfi_startproc
948 @ args = 0, pretend = 0, frame = 0
949 @ frame_needed = 0, uses_anonymous_args = 0
950 @ link register save eliminated.
560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
951 .loc 1 560 3 view .LVU344
561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
952 .loc 1 561 3 view .LVU345
562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
953 .loc 1 562 3 view .LVU346
563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
954 .loc 1 565 3 view .LVU347
566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
955 .loc 1 566 3 view .LVU348
567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
956 .loc 1 567 3 view .LVU349
568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
957 .loc 1 570 3 view .LVU350
958 .loc 1 570 19 is_stmt 0 view .LVU351
959 0000 0368 ldr r3, [r0]
960 .loc 1 570 10 view .LVU352
961 0002 C3F30042 ubfx r2, r3, #16, #1
962 .LVL125:
571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
963 .loc 1 571 3 is_stmt 1 view .LVU353
964 .loc 1 571 35 is_stmt 0 view .LVU354
965 0006 03F01F03 and r3, r3, #31
966 .loc 1 571 12 view .LVU355
967 000a 0121 movs r1, #1
968 .LVL126:
969 .loc 1 571 12 view .LVU356
970 000c 9940 lsls r1, r1, r3
971 .LVL127:
572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Get pending bit */
574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->PR + (EXTI_CONFIG_OFFSET * offset));
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 29
972 .loc 1 574 3 is_stmt 1 view .LVU357
973 .loc 1 574 24 is_stmt 0 view .LVU358
974 000e 5301 lsls r3, r2, #5
975 .loc 1 574 11 view .LVU359
976 0010 014A ldr r2, .L66
977 .LVL128:
575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Clear Pending bit */
577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = maskline;
978 .loc 1 577 3 is_stmt 1 view .LVU360
979 .loc 1 577 12 is_stmt 0 view .LVU361
980 0012 9950 str r1, [r3, r2]
981 .LVL129:
578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
982 .loc 1 578 1 view .LVU362
983 0014 7047 bx lr
984 .L67:
985 0016 00BF .align 2
986 .L66:
987 0018 14040140 .word 1073808404
988 .cfi_endproc
989 .LFE137:
991 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
992 .align 1
993 .global HAL_EXTI_GenerateSWI
994 .syntax unified
995 .thumb
996 .thumb_func
998 HAL_EXTI_GenerateSWI:
999 .LVL130:
1000 .LFB138:
579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /**
581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @param hexti Exti handle.
583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** * @retval None.
584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** */
585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
1001 .loc 1 586 1 is_stmt 1 view -0
1002 .cfi_startproc
1003 @ args = 0, pretend = 0, frame = 0
1004 @ frame_needed = 0, uses_anonymous_args = 0
1005 @ link register save eliminated.
587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
1006 .loc 1 587 3 view .LVU364
588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
1007 .loc 1 588 3 view .LVU365
589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
1008 .loc 1 589 3 view .LVU366
590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* Check parameters */
592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
1009 .loc 1 592 3 view .LVU367
593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
1010 .loc 1 593 3 view .LVU368
594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 30
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** /* compute line register offset and line mask */
596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
1011 .loc 1 596 3 view .LVU369
1012 .loc 1 596 19 is_stmt 0 view .LVU370
1013 0000 0368 ldr r3, [r0]
1014 .loc 1 596 10 view .LVU371
1015 0002 C3F30042 ubfx r2, r3, #16, #1
1016 .LVL131:
597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
1017 .loc 1 597 3 is_stmt 1 view .LVU372
1018 .loc 1 597 35 is_stmt 0 view .LVU373
1019 0006 03F01F03 and r3, r3, #31
1020 .loc 1 597 12 view .LVU374
1021 000a 0121 movs r1, #1
1022 000c 9940 lsls r1, r1, r3
1023 .LVL132:
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regaddr = (&EXTI->SWIER + (EXTI_CONFIG_OFFSET * offset));
1024 .loc 1 599 3 is_stmt 1 view .LVU375
1025 .loc 1 599 27 is_stmt 0 view .LVU376
1026 000e 5301 lsls r3, r2, #5
1027 .loc 1 599 11 view .LVU377
1028 0010 014A ldr r2, .L69
1029 .LVL133:
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = maskline;
1030 .loc 1 600 3 is_stmt 1 view .LVU378
1031 .loc 1 600 12 is_stmt 0 view .LVU379
1032 0012 9950 str r1, [r3, r2]
1033 .LVL134:
601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
1034 .loc 1 601 1 view .LVU380
1035 0014 7047 bx lr
1036 .L70:
1037 0016 00BF .align 2
1038 .L69:
1039 0018 10040140 .word 1073808400
1040 .cfi_endproc
1041 .LFE138:
1043 .text
1044 .Letext0:
1045 .file 2 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
1046 .file 3 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa
1047 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
1048 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
1049 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_exti.h"
ARM GAS C:\Users\nived\AppData\Local\Temp\ccT69dI2.s page 31
DEFINED SYMBOLS
*ABS*:00000000 stm32f3xx_hal_exti.c
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:21 .text.HAL_EXTI_SetConfigLine:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:27 .text.HAL_EXTI_SetConfigLine:00000000 HAL_EXTI_SetConfigLine
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:293 .text.HAL_EXTI_SetConfigLine:000000cc $d
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:301 .text.HAL_EXTI_GetConfigLine:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:307 .text.HAL_EXTI_GetConfigLine:00000000 HAL_EXTI_GetConfigLine
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:522 .text.HAL_EXTI_GetConfigLine:000000ac $d
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:530 .text.HAL_EXTI_ClearConfigLine:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:536 .text.HAL_EXTI_ClearConfigLine:00000000 HAL_EXTI_ClearConfigLine
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:710 .text.HAL_EXTI_ClearConfigLine:00000090 $d
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:718 .text.HAL_EXTI_RegisterCallback:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:724 .text.HAL_EXTI_RegisterCallback:00000000 HAL_EXTI_RegisterCallback
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:757 .text.HAL_EXTI_GetHandle:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:763 .text.HAL_EXTI_GetHandle:00000000 HAL_EXTI_GetHandle
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:795 .text.HAL_EXTI_IRQHandler:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:801 .text.HAL_EXTI_IRQHandler:00000000 HAL_EXTI_IRQHandler
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:866 .text.HAL_EXTI_IRQHandler:00000028 $d
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:872 .text.HAL_EXTI_GetPending:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:878 .text.HAL_EXTI_GetPending:00000000 HAL_EXTI_GetPending
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:932 .text.HAL_EXTI_GetPending:0000001c $d
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:937 .text.HAL_EXTI_ClearPending:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:943 .text.HAL_EXTI_ClearPending:00000000 HAL_EXTI_ClearPending
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:987 .text.HAL_EXTI_ClearPending:00000018 $d
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:992 .text.HAL_EXTI_GenerateSWI:00000000 $t
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:998 .text.HAL_EXTI_GenerateSWI:00000000 HAL_EXTI_GenerateSWI
C:\Users\nived\AppData\Local\Temp\ccT69dI2.s:1039 .text.HAL_EXTI_GenerateSWI:00000018 $d
NO UNDEFINED SYMBOLS