mv-bms/Software/build/stm32f3xx_hal_exti.lst

1896 lines
99 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

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

ARM GAS /tmp/cc2L1WXV.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, 6
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 .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
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** (++) Interrupt
ARM GAS /tmp/cc2L1WXV.s page 2
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"
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
ARM GAS /tmp/cc2L1WXV.s page 3
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
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
ARM GAS /tmp/cc2L1WXV.s page 4
29 .loc 1 144 1
30 .cfi_startproc
31 @ args = 0, pretend = 0, frame = 32
32 @ frame_needed = 1, uses_anonymous_args = 0
33 @ link register save eliminated.
34 0000 80B4 push {r7}
35 .cfi_def_cfa_offset 4
36 .cfi_offset 7, -4
37 0002 89B0 sub sp, sp, #36
38 .cfi_def_cfa_offset 40
39 0004 00AF add r7, sp, #0
40 .cfi_def_cfa_register 7
41 0006 7860 str r0, [r7, #4]
42 0008 3960 str r1, [r7]
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
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))
43 .loc 1 152 6
44 000a 7B68 ldr r3, [r7, #4]
45 000c 002B cmp r3, #0
46 000e 02D0 beq .L2
47 .loc 1 152 23 discriminator 1
48 0010 3B68 ldr r3, [r7]
49 0012 002B cmp r3, #0
50 0014 01D1 bne .L3
51 .L2:
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
52 .loc 1 154 12
53 0016 0123 movs r3, #1
54 0018 B3E0 b .L4
55 .L3:
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));
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
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 28
57 001a 3B68 ldr r3, [r7]
58 001c 1A68 ldr r2, [r3]
59 .loc 1 162 15
60 001e 7B68 ldr r3, [r7, #4]
61 0020 1A60 str r2, [r3]
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);
62 .loc 1 165 25
63 0022 3B68 ldr r3, [r7]
64 0024 1B68 ldr r3, [r3]
ARM GAS /tmp/cc2L1WXV.s page 5
65 .loc 1 165 49
66 0026 1B0C lsrs r3, r3, #16
67 .loc 1 165 10
68 0028 03F00103 and r3, r3, #1
69 002c BB61 str r3, [r7, #24]
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
70 .loc 1 166 25
71 002e 3B68 ldr r3, [r7]
72 0030 1B68 ldr r3, [r3]
73 .loc 1 166 11
74 0032 03F01F03 and r3, r3, #31
75 0036 7B61 str r3, [r7, #20]
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
76 .loc 1 167 12
77 0038 0122 movs r2, #1
78 003a 7B69 ldr r3, [r7, #20]
79 003c 02FA03F3 lsl r3, r2, r3
80 0040 3B61 str r3, [r7, #16]
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)
81 .loc 1 170 19
82 0042 3B68 ldr r3, [r7]
83 0044 1B68 ldr r3, [r3]
84 .loc 1 170 26
85 0046 03F00073 and r3, r3, #33554432
86 .loc 1 170 6
87 004a 002B cmp r3, #0
88 004c 60D0 beq .L5
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));
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));
89 .loc 1 175 28
90 004e BB69 ldr r3, [r7, #24]
91 0050 5A01 lsls r2, r3, #5
92 .loc 1 175 13
93 0052 4F4B ldr r3, .L14
94 0054 1344 add r3, r3, r2
95 0056 FB60 str r3, [r7, #12]
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
96 .loc 1 176 12
97 0058 FB68 ldr r3, [r7, #12]
98 005a 1B68 ldr r3, [r3]
99 005c FB61 str r3, [r7, #28]
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)
100 .loc 1 179 21
101 005e 3B68 ldr r3, [r7]
102 0060 9B68 ldr r3, [r3, #8]
103 .loc 1 179 31
104 0062 03F00103 and r3, r3, #1
105 .loc 1 179 8
106 0066 002B cmp r3, #0
107 0068 04D0 beq .L6
ARM GAS /tmp/cc2L1WXV.s page 6
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
108 .loc 1 181 14
109 006a FA69 ldr r2, [r7, #28]
110 006c 3B69 ldr r3, [r7, #16]
111 006e 1343 orrs r3, r3, r2
112 0070 FB61 str r3, [r7, #28]
113 0072 04E0 b .L7
114 .L6:
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 **** {
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~maskline;
115 .loc 1 185 17
116 0074 3B69 ldr r3, [r7, #16]
117 0076 DB43 mvns r3, r3
118 .loc 1 185 14
119 0078 FA69 ldr r2, [r7, #28]
120 007a 1340 ands r3, r3, r2
121 007c FB61 str r3, [r7, #28]
122 .L7:
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;
123 .loc 1 189 14
124 007e FB68 ldr r3, [r7, #12]
125 0080 FA69 ldr r2, [r7, #28]
126 0082 1A60 str r2, [r3]
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));
127 .loc 1 192 28
128 0084 BB69 ldr r3, [r7, #24]
129 0086 5A01 lsls r2, r3, #5
130 .loc 1 192 13
131 0088 424B ldr r3, .L14+4
132 008a 1344 add r3, r3, r2
133 008c FB60 str r3, [r7, #12]
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
134 .loc 1 193 12
135 008e FB68 ldr r3, [r7, #12]
136 0090 1B68 ldr r3, [r3]
137 0092 FB61 str r3, [r7, #28]
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)
138 .loc 1 196 21
139 0094 3B68 ldr r3, [r7]
140 0096 9B68 ldr r3, [r3, #8]
141 .loc 1 196 31
142 0098 03F00203 and r3, r3, #2
143 .loc 1 196 8
144 009c 002B cmp r3, #0
145 009e 04D0 beq .L8
197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
ARM GAS /tmp/cc2L1WXV.s page 7
146 .loc 1 198 14
147 00a0 FA69 ldr r2, [r7, #28]
148 00a2 3B69 ldr r3, [r7, #16]
149 00a4 1343 orrs r3, r3, r2
150 00a6 FB61 str r3, [r7, #28]
151 00a8 04E0 b .L9
152 .L8:
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;
153 .loc 1 202 17
154 00aa 3B69 ldr r3, [r7, #16]
155 00ac DB43 mvns r3, r3
156 .loc 1 202 14
157 00ae FA69 ldr r2, [r7, #28]
158 00b0 1340 ands r3, r3, r2
159 00b2 FB61 str r3, [r7, #28]
160 .L9:
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;
161 .loc 1 206 14
162 00b4 FB68 ldr r3, [r7, #12]
163 00b6 FA69 ldr r2, [r7, #28]
164 00b8 1A60 str r2, [r3]
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)
165 .loc 1 209 21
166 00ba 3B68 ldr r3, [r7]
167 00bc 1B68 ldr r3, [r3]
168 .loc 1 209 28
169 00be 03F0C063 and r3, r3, #100663296
170 .loc 1 209 8
171 00c2 B3F1C06F cmp r3, #100663296
172 00c6 23D1 bne .L5
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];
173 .loc 1 214 22
174 00c8 334A ldr r2, .L14+8
175 .loc 1 214 39
176 00ca 7B69 ldr r3, [r7, #20]
177 00cc 9B08 lsrs r3, r3, #2
178 .loc 1 214 14
179 00ce 0233 adds r3, r3, #2
180 00d0 52F82330 ldr r3, [r2, r3, lsl #2]
181 00d4 FB61 str r3, [r7, #28]
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
182 .loc 1 215 80
183 00d6 7B69 ldr r3, [r7, #20]
184 00d8 03F00303 and r3, r3, #3
185 .loc 1 215 69
ARM GAS /tmp/cc2L1WXV.s page 8
186 00dc 9B00 lsls r3, r3, #2
187 .loc 1 215 40
188 00de 0F22 movs r2, #15
189 00e0 02FA03F3 lsl r3, r2, r3
190 .loc 1 215 17
191 00e4 DB43 mvns r3, r3
192 .loc 1 215 14
193 00e6 FA69 ldr r2, [r7, #28]
194 00e8 1340 ands r3, r3, r2
195 00ea FB61 str r3, [r7, #28]
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
196 .loc 1 216 29
197 00ec 3B68 ldr r3, [r7]
198 00ee DA68 ldr r2, [r3, #12]
199 .loc 1 216 79
200 00f0 7B69 ldr r3, [r7, #20]
201 00f2 03F00303 and r3, r3, #3
202 .loc 1 216 68
203 00f6 9B00 lsls r3, r3, #2
204 .loc 1 216 39
205 00f8 02FA03F3 lsl r3, r2, r3
206 .loc 1 216 14
207 00fc FA69 ldr r2, [r7, #28]
208 00fe 1343 orrs r3, r3, r2
209 0100 FB61 str r3, [r7, #28]
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
210 .loc 1 217 13
211 0102 2549 ldr r1, .L14+8
212 .loc 1 217 30
213 0104 7B69 ldr r3, [r7, #20]
214 0106 9B08 lsrs r3, r3, #2
215 .loc 1 217 37
216 0108 0233 adds r3, r3, #2
217 010a FA69 ldr r2, [r7, #28]
218 010c 41F82320 str r2, [r1, r3, lsl #2]
219 .L5:
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));
220 .loc 1 222 25
221 0110 BB69 ldr r3, [r7, #24]
222 0112 5B01 lsls r3, r3, #5
223 .loc 1 222 11
224 0114 03F18043 add r3, r3, #1073741824
225 0118 03F58233 add r3, r3, #66560
226 011c FB60 str r3, [r7, #12]
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
227 .loc 1 223 10
228 011e FB68 ldr r3, [r7, #12]
229 0120 1B68 ldr r3, [r3]
230 0122 FB61 str r3, [r7, #28]
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)
231 .loc 1 226 19
ARM GAS /tmp/cc2L1WXV.s page 9
232 0124 3B68 ldr r3, [r7]
233 0126 5B68 ldr r3, [r3, #4]
234 .loc 1 226 26
235 0128 03F00103 and r3, r3, #1
236 .loc 1 226 6
237 012c 002B cmp r3, #0
238 012e 04D0 beq .L10
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
239 .loc 1 228 12
240 0130 FA69 ldr r2, [r7, #28]
241 0132 3B69 ldr r3, [r7, #16]
242 0134 1343 orrs r3, r3, r2
243 0136 FB61 str r3, [r7, #28]
244 0138 04E0 b .L11
245 .L10:
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;
246 .loc 1 232 15
247 013a 3B69 ldr r3, [r7, #16]
248 013c DB43 mvns r3, r3
249 .loc 1 232 12
250 013e FA69 ldr r2, [r7, #28]
251 0140 1340 ands r3, r3, r2
252 0142 FB61 str r3, [r7, #28]
253 .L11:
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;
254 .loc 1 236 12
255 0144 FB68 ldr r3, [r7, #12]
256 0146 FA69 ldr r2, [r7, #28]
257 0148 1A60 str r2, [r3]
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
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));
258 .loc 1 239 25
259 014a BB69 ldr r3, [r7, #24]
260 014c 5A01 lsls r2, r3, #5
261 .loc 1 239 11
262 014e 134B ldr r3, .L14+12
263 0150 1344 add r3, r3, r2
264 0152 FB60 str r3, [r7, #12]
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
265 .loc 1 240 10
266 0154 FB68 ldr r3, [r7, #12]
267 0156 1B68 ldr r3, [r3]
268 0158 FB61 str r3, [r7, #28]
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)
269 .loc 1 243 19
270 015a 3B68 ldr r3, [r7]
271 015c 5B68 ldr r3, [r3, #4]
ARM GAS /tmp/cc2L1WXV.s page 10
272 .loc 1 243 26
273 015e 03F00203 and r3, r3, #2
274 .loc 1 243 6
275 0162 002B cmp r3, #0
276 0164 04D0 beq .L12
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval |= maskline;
277 .loc 1 245 12
278 0166 FA69 ldr r2, [r7, #28]
279 0168 3B69 ldr r3, [r7, #16]
280 016a 1343 orrs r3, r3, r2
281 016c FB61 str r3, [r7, #28]
282 016e 04E0 b .L13
283 .L12:
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;
284 .loc 1 249 15
285 0170 3B69 ldr r3, [r7, #16]
286 0172 DB43 mvns r3, r3
287 .loc 1 249 12
288 0174 FA69 ldr r2, [r7, #28]
289 0176 1340 ands r3, r3, r2
290 0178 FB61 str r3, [r7, #28]
291 .L13:
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;
292 .loc 1 253 12
293 017a FB68 ldr r3, [r7, #12]
294 017c FA69 ldr r2, [r7, #28]
295 017e 1A60 str r2, [r3]
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
296 .loc 1 255 10
297 0180 0023 movs r3, #0
298 .L4:
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
299 .loc 1 256 1
300 0182 1846 mov r0, r3
301 0184 2437 adds r7, r7, #36
302 .cfi_def_cfa_offset 4
303 0186 BD46 mov sp, r7
304 .cfi_def_cfa_register 13
305 @ sp needed
306 0188 5DF8047B ldr r7, [sp], #4
307 .cfi_restore 7
308 .cfi_def_cfa_offset 0
309 018c 7047 bx lr
310 .L15:
311 018e 00BF .align 2
312 .L14:
313 0190 08040140 .word 1073808392
314 0194 0C040140 .word 1073808396
315 0198 00000140 .word 1073807360
ARM GAS /tmp/cc2L1WXV.s page 11
316 019c 04040140 .word 1073808388
317 .cfi_endproc
318 .LFE130:
320 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
321 .align 1
322 .global HAL_EXTI_GetConfigLine
323 .syntax unified
324 .thumb
325 .thumb_func
327 HAL_EXTI_GetConfigLine:
328 .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 **** {
329 .loc 1 265 1
330 .cfi_startproc
331 @ args = 0, pretend = 0, frame = 32
332 @ frame_needed = 1, uses_anonymous_args = 0
333 @ link register save eliminated.
334 0000 80B4 push {r7}
335 .cfi_def_cfa_offset 4
336 .cfi_offset 7, -4
337 0002 89B0 sub sp, sp, #36
338 .cfi_def_cfa_offset 40
339 0004 00AF add r7, sp, #0
340 .cfi_def_cfa_register 7
341 0006 7860 str r0, [r7, #4]
342 0008 3960 str r1, [r7]
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
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))
343 .loc 1 273 6
344 000a 7B68 ldr r3, [r7, #4]
345 000c 002B cmp r3, #0
346 000e 02D0 beq .L17
347 .loc 1 273 23 discriminator 1
348 0010 3B68 ldr r3, [r7]
349 0012 002B cmp r3, #0
350 0014 01D1 bne .L18
351 .L17:
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
352 .loc 1 275 12
353 0016 0123 movs r3, #1
354 0018 85E0 b .L19
355 .L18:
ARM GAS /tmp/cc2L1WXV.s page 12
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));
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;
356 .loc 1 282 28
357 001a 7B68 ldr r3, [r7, #4]
358 001c 1A68 ldr r2, [r3]
359 .loc 1 282 21
360 001e 3B68 ldr r3, [r7]
361 0020 1A60 str r2, [r3]
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);
362 .loc 1 285 25
363 0022 3B68 ldr r3, [r7]
364 0024 1B68 ldr r3, [r3]
365 .loc 1 285 49
366 0026 1B0C lsrs r3, r3, #16
367 .loc 1 285 10
368 0028 03F00103 and r3, r3, #1
369 002c FB61 str r3, [r7, #28]
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
370 .loc 1 286 25
371 002e 3B68 ldr r3, [r7]
372 0030 1B68 ldr r3, [r3]
373 .loc 1 286 11
374 0032 03F01F03 and r3, r3, #31
375 0036 BB61 str r3, [r7, #24]
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
376 .loc 1 287 12
377 0038 0122 movs r2, #1
378 003a BB69 ldr r3, [r7, #24]
379 003c 02FA03F3 lsl r3, r2, r3
380 0040 7B61 str r3, [r7, #20]
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));
381 .loc 1 290 25
382 0042 FB69 ldr r3, [r7, #28]
383 0044 5B01 lsls r3, r3, #5
384 .loc 1 290 11
385 0046 03F18043 add r3, r3, #1073741824
386 004a 03F58233 add r3, r3, #66560
387 004e 3B61 str r3, [r7, #16]
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
388 .loc 1 291 10
389 0050 3B69 ldr r3, [r7, #16]
390 0052 1B68 ldr r3, [r3]
391 0054 FB60 str r3, [r7, #12]
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 */
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if ((regval & maskline) != 0x00u)
392 .loc 1 294 15
393 0056 FA68 ldr r2, [r7, #12]
ARM GAS /tmp/cc2L1WXV.s page 13
394 0058 7B69 ldr r3, [r7, #20]
395 005a 1340 ands r3, r3, r2
396 .loc 1 294 6
397 005c 002B cmp r3, #0
398 005e 03D0 beq .L20
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;
399 .loc 1 296 23
400 0060 3B68 ldr r3, [r7]
401 0062 0122 movs r2, #1
402 0064 5A60 str r2, [r3, #4]
403 0066 02E0 b .L21
404 .L20:
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;
405 .loc 1 300 23
406 0068 3B68 ldr r3, [r7]
407 006a 0022 movs r2, #0
408 006c 5A60 str r2, [r3, #4]
409 .L21:
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));
410 .loc 1 304 25
411 006e FB69 ldr r3, [r7, #28]
412 0070 5A01 lsls r2, r3, #5
413 .loc 1 304 11
414 0072 304B ldr r3, .L26
415 0074 1344 add r3, r3, r2
416 0076 3B61 str r3, [r7, #16]
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
417 .loc 1 305 10
418 0078 3B69 ldr r3, [r7, #16]
419 007a 1B68 ldr r3, [r3]
420 007c FB60 str r3, [r7, #12]
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)
421 .loc 1 308 15
422 007e FA68 ldr r2, [r7, #12]
423 0080 7B69 ldr r3, [r7, #20]
424 0082 1340 ands r3, r3, r2
425 .loc 1 308 6
426 0084 002B cmp r3, #0
427 0086 05D0 beq .L22
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;
428 .loc 1 310 16
429 0088 3B68 ldr r3, [r7]
430 008a 5B68 ldr r3, [r3, #4]
431 .loc 1 310 23
432 008c 43F00202 orr r2, r3, #2
433 0090 3B68 ldr r3, [r7]
434 0092 5A60 str r2, [r3, #4]
ARM GAS /tmp/cc2L1WXV.s page 14
435 .L22:
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;
436 .loc 1 314 24
437 0094 3B68 ldr r3, [r7]
438 0096 0022 movs r2, #0
439 0098 9A60 str r2, [r3, #8]
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
440 .loc 1 315 24
441 009a 3B68 ldr r3, [r7]
442 009c 0022 movs r2, #0
443 009e DA60 str r2, [r3, #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)
444 .loc 1 318 19
445 00a0 3B68 ldr r3, [r7]
446 00a2 1B68 ldr r3, [r3]
447 .loc 1 318 26
448 00a4 03F00073 and r3, r3, #33554432
449 .loc 1 318 6
450 00a8 002B cmp r3, #0
451 00aa 3BD0 beq .L23
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));
452 .loc 1 320 28
453 00ac FB69 ldr r3, [r7, #28]
454 00ae 5A01 lsls r2, r3, #5
455 .loc 1 320 13
456 00b0 214B ldr r3, .L26+4
457 00b2 1344 add r3, r3, r2
458 00b4 3B61 str r3, [r7, #16]
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
459 .loc 1 321 12
460 00b6 3B69 ldr r3, [r7, #16]
461 00b8 1B68 ldr r3, [r3]
462 00ba FB60 str r3, [r7, #12]
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)
463 .loc 1 324 17
464 00bc FA68 ldr r2, [r7, #12]
465 00be 7B69 ldr r3, [r7, #20]
466 00c0 1340 ands r3, r3, r2
467 .loc 1 324 8
468 00c2 002B cmp r3, #0
469 00c4 02D0 beq .L24
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;
470 .loc 1 326 28
471 00c6 3B68 ldr r3, [r7]
472 00c8 0122 movs r2, #1
473 00ca 9A60 str r2, [r3, #8]
474 .L24:
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
ARM GAS /tmp/cc2L1WXV.s page 15
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));
475 .loc 1 330 28
476 00cc FB69 ldr r3, [r7, #28]
477 00ce 5A01 lsls r2, r3, #5
478 .loc 1 330 13
479 00d0 1A4B ldr r3, .L26+8
480 00d2 1344 add r3, r3, r2
481 00d4 3B61 str r3, [r7, #16]
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = *regaddr;
482 .loc 1 331 12
483 00d6 3B69 ldr r3, [r7, #16]
484 00d8 1B68 ldr r3, [r3]
485 00da FB60 str r3, [r7, #12]
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)
486 .loc 1 334 17
487 00dc FA68 ldr r2, [r7, #12]
488 00de 7B69 ldr r3, [r7, #20]
489 00e0 1340 ands r3, r3, r2
490 .loc 1 334 8
491 00e2 002B cmp r3, #0
492 00e4 05D0 beq .L25
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;
493 .loc 1 336 18
494 00e6 3B68 ldr r3, [r7]
495 00e8 9B68 ldr r3, [r3, #8]
496 .loc 1 336 28
497 00ea 43F00202 orr r2, r3, #2
498 00ee 3B68 ldr r3, [r7]
499 00f0 9A60 str r2, [r3, #8]
500 .L25:
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)
501 .loc 1 340 21
502 00f2 3B68 ldr r3, [r7]
503 00f4 1B68 ldr r3, [r3]
504 .loc 1 340 28
505 00f6 03F0C063 and r3, r3, #100663296
506 .loc 1 340 8
507 00fa B3F1C06F cmp r3, #100663296
508 00fe 11D1 bne .L23
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];
509 .loc 1 344 22
510 0100 0F4A ldr r2, .L26+12
511 .loc 1 344 39
512 0102 BB69 ldr r3, [r7, #24]
513 0104 9B08 lsrs r3, r3, #2
514 .loc 1 344 14
ARM GAS /tmp/cc2L1WXV.s page 16
515 0106 0233 adds r3, r3, #2
516 0108 52F82330 ldr r3, [r2, r3, lsl #2]
517 010c FB60 str r3, [r7, #12]
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** pExtiConfig->GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EX
518 .loc 1 345 78
519 010e BB69 ldr r3, [r7, #24]
520 0110 03F00303 and r3, r3, #3
521 .loc 1 345 67
522 0114 9B00 lsls r3, r3, #2
523 .loc 1 345 38
524 0116 FA68 ldr r2, [r7, #12]
525 0118 22FA03F3 lsr r3, r2, r3
526 .loc 1 345 89
527 011c 03F00F02 and r2, r3, #15
528 .loc 1 345 28
529 0120 3B68 ldr r3, [r7]
530 0122 DA60 str r2, [r3, #12]
531 .L23:
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;
532 .loc 1 349 10
533 0124 0023 movs r3, #0
534 .L19:
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
535 .loc 1 350 1
536 0126 1846 mov r0, r3
537 0128 2437 adds r7, r7, #36
538 .cfi_def_cfa_offset 4
539 012a BD46 mov sp, r7
540 .cfi_def_cfa_register 13
541 @ sp needed
542 012c 5DF8047B ldr r7, [sp], #4
543 .cfi_restore 7
544 .cfi_def_cfa_offset 0
545 0130 7047 bx lr
546 .L27:
547 0132 00BF .align 2
548 .L26:
549 0134 04040140 .word 1073808388
550 0138 08040140 .word 1073808392
551 013c 0C040140 .word 1073808396
552 0140 00000140 .word 1073807360
553 .cfi_endproc
554 .LFE131:
556 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
557 .align 1
558 .global HAL_EXTI_ClearConfigLine
559 .syntax unified
560 .thumb
561 .thumb_func
563 HAL_EXTI_ClearConfigLine:
564 .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.
ARM GAS /tmp/cc2L1WXV.s page 17
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 **** {
565 .loc 1 358 1
566 .cfi_startproc
567 @ args = 0, pretend = 0, frame = 32
568 @ frame_needed = 1, uses_anonymous_args = 0
569 @ link register save eliminated.
570 0000 80B4 push {r7}
571 .cfi_def_cfa_offset 4
572 .cfi_offset 7, -4
573 0002 89B0 sub sp, sp, #36
574 .cfi_def_cfa_offset 40
575 0004 00AF add r7, sp, #0
576 .cfi_def_cfa_register 7
577 0006 7860 str r0, [r7, #4]
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
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)
578 .loc 1 366 6
579 0008 7B68 ldr r3, [r7, #4]
580 000a 002B cmp r3, #0
581 000c 01D1 bne .L29
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
582 .loc 1 368 12
583 000e 0123 movs r3, #1
584 0010 70E0 b .L30
585 .L29:
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));
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);
586 .loc 1 375 19
587 0012 7B68 ldr r3, [r7, #4]
588 0014 1B68 ldr r3, [r3]
589 .loc 1 375 43
590 0016 1B0C lsrs r3, r3, #16
591 .loc 1 375 10
592 0018 03F00103 and r3, r3, #1
593 001c FB61 str r3, [r7, #28]
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
594 .loc 1 376 19
595 001e 7B68 ldr r3, [r7, #4]
596 0020 1B68 ldr r3, [r3]
597 .loc 1 376 11
598 0022 03F01F03 and r3, r3, #31
ARM GAS /tmp/cc2L1WXV.s page 18
599 0026 BB61 str r3, [r7, #24]
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
600 .loc 1 377 12
601 0028 0122 movs r2, #1
602 002a BB69 ldr r3, [r7, #24]
603 002c 02FA03F3 lsl r3, r2, r3
604 0030 7B61 str r3, [r7, #20]
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));
605 .loc 1 380 25
606 0032 FB69 ldr r3, [r7, #28]
607 0034 5B01 lsls r3, r3, #5
608 .loc 1 380 11
609 0036 03F18043 add r3, r3, #1073741824
610 003a 03F58233 add r3, r3, #66560
611 003e 3B61 str r3, [r7, #16]
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
612 .loc 1 381 13
613 0040 3B69 ldr r3, [r7, #16]
614 0042 1A68 ldr r2, [r3]
615 .loc 1 381 24
616 0044 7B69 ldr r3, [r7, #20]
617 0046 DB43 mvns r3, r3
618 .loc 1 381 10
619 0048 1340 ands r3, r3, r2
620 004a FB60 str r3, [r7, #12]
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
621 .loc 1 382 12
622 004c 3B69 ldr r3, [r7, #16]
623 004e FA68 ldr r2, [r7, #12]
624 0050 1A60 str r2, [r3]
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));
625 .loc 1 385 25
626 0052 FB69 ldr r3, [r7, #28]
627 0054 5A01 lsls r2, r3, #5
628 .loc 1 385 11
629 0056 2A4B ldr r3, .L32
630 0058 1344 add r3, r3, r2
631 005a 3B61 str r3, [r7, #16]
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
632 .loc 1 386 13
633 005c 3B69 ldr r3, [r7, #16]
634 005e 1A68 ldr r2, [r3]
635 .loc 1 386 24
636 0060 7B69 ldr r3, [r7, #20]
637 0062 DB43 mvns r3, r3
638 .loc 1 386 10
639 0064 1340 ands r3, r3, r2
640 0066 FB60 str r3, [r7, #12]
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
641 .loc 1 387 12
642 0068 3B69 ldr r3, [r7, #16]
643 006a FA68 ldr r2, [r7, #12]
644 006c 1A60 str r2, [r3]
ARM GAS /tmp/cc2L1WXV.s page 19
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)
645 .loc 1 390 13
646 006e 7B68 ldr r3, [r7, #4]
647 0070 1B68 ldr r3, [r3]
648 .loc 1 390 20
649 0072 03F00073 and r3, r3, #33554432
650 .loc 1 390 6
651 0076 002B cmp r3, #0
652 0078 3BD0 beq .L31
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));
653 .loc 1 392 28
654 007a FB69 ldr r3, [r7, #28]
655 007c 5A01 lsls r2, r3, #5
656 .loc 1 392 13
657 007e 214B ldr r3, .L32+4
658 0080 1344 add r3, r3, r2
659 0082 3B61 str r3, [r7, #16]
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
660 .loc 1 393 15
661 0084 3B69 ldr r3, [r7, #16]
662 0086 1A68 ldr r2, [r3]
663 .loc 1 393 26
664 0088 7B69 ldr r3, [r7, #20]
665 008a DB43 mvns r3, r3
666 .loc 1 393 12
667 008c 1340 ands r3, r3, r2
668 008e FB60 str r3, [r7, #12]
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
669 .loc 1 394 14
670 0090 3B69 ldr r3, [r7, #16]
671 0092 FA68 ldr r2, [r7, #12]
672 0094 1A60 str r2, [r3]
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));
673 .loc 1 396 28
674 0096 FB69 ldr r3, [r7, #28]
675 0098 5A01 lsls r2, r3, #5
676 .loc 1 396 13
677 009a 1B4B ldr r3, .L32+8
678 009c 1344 add r3, r3, r2
679 009e 3B61 str r3, [r7, #16]
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & ~maskline);
680 .loc 1 397 15
681 00a0 3B69 ldr r3, [r7, #16]
682 00a2 1A68 ldr r2, [r3]
683 .loc 1 397 26
684 00a4 7B69 ldr r3, [r7, #20]
685 00a6 DB43 mvns r3, r3
686 .loc 1 397 12
687 00a8 1340 ands r3, r3, r2
688 00aa FB60 str r3, [r7, #12]
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = regval;
689 .loc 1 398 14
690 00ac 3B69 ldr r3, [r7, #16]
ARM GAS /tmp/cc2L1WXV.s page 20
691 00ae FA68 ldr r2, [r7, #12]
692 00b0 1A60 str r2, [r3]
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)
693 .loc 1 401 15
694 00b2 7B68 ldr r3, [r7, #4]
695 00b4 1B68 ldr r3, [r3]
696 .loc 1 401 22
697 00b6 03F0C063 and r3, r3, #100663296
698 .loc 1 401 8
699 00ba B3F1C06F cmp r3, #100663296
700 00be 18D1 bne .L31
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];
701 .loc 1 405 22
702 00c0 124A ldr r2, .L32+12
703 .loc 1 405 39
704 00c2 BB69 ldr r3, [r7, #24]
705 00c4 9B08 lsrs r3, r3, #2
706 .loc 1 405 14
707 00c6 0233 adds r3, r3, #2
708 00c8 52F82330 ldr r3, [r2, r3, lsl #2]
709 00cc FB60 str r3, [r7, #12]
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
710 .loc 1 406 80
711 00ce BB69 ldr r3, [r7, #24]
712 00d0 03F00303 and r3, r3, #3
713 .loc 1 406 69
714 00d4 9B00 lsls r3, r3, #2
715 .loc 1 406 40
716 00d6 0F22 movs r2, #15
717 00d8 02FA03F3 lsl r3, r2, r3
718 .loc 1 406 17
719 00dc DB43 mvns r3, r3
720 .loc 1 406 14
721 00de FA68 ldr r2, [r7, #12]
722 00e0 1340 ands r3, r3, r2
723 00e2 FB60 str r3, [r7, #12]
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
724 .loc 1 407 13
725 00e4 0949 ldr r1, .L32+12
726 .loc 1 407 30
727 00e6 BB69 ldr r3, [r7, #24]
728 00e8 9B08 lsrs r3, r3, #2
729 .loc 1 407 37
730 00ea 0233 adds r3, r3, #2
731 00ec FA68 ldr r2, [r7, #12]
732 00ee 41F82320 str r2, [r1, r3, lsl #2]
733 .L31:
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;
734 .loc 1 411 10
ARM GAS /tmp/cc2L1WXV.s page 21
735 00f2 0023 movs r3, #0
736 .L30:
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
737 .loc 1 412 1
738 00f4 1846 mov r0, r3
739 00f6 2437 adds r7, r7, #36
740 .cfi_def_cfa_offset 4
741 00f8 BD46 mov sp, r7
742 .cfi_def_cfa_register 13
743 @ sp needed
744 00fa 5DF8047B ldr r7, [sp], #4
745 .cfi_restore 7
746 .cfi_def_cfa_offset 0
747 00fe 7047 bx lr
748 .L33:
749 .align 2
750 .L32:
751 0100 04040140 .word 1073808388
752 0104 08040140 .word 1073808392
753 0108 0C040140 .word 1073808396
754 010c 00000140 .word 1073807360
755 .cfi_endproc
756 .LFE132:
758 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
759 .align 1
760 .global HAL_EXTI_RegisterCallback
761 .syntax unified
762 .thumb
763 .thumb_func
765 HAL_EXTI_RegisterCallback:
766 .LFB133:
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
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 **** {
767 .loc 1 423 1
768 .cfi_startproc
769 @ args = 0, pretend = 0, frame = 24
770 @ frame_needed = 1, uses_anonymous_args = 0
771 @ link register save eliminated.
772 0000 80B4 push {r7}
773 .cfi_def_cfa_offset 4
774 .cfi_offset 7, -4
775 0002 87B0 sub sp, sp, #28
776 .cfi_def_cfa_offset 32
777 0004 00AF add r7, sp, #0
778 .cfi_def_cfa_register 7
779 0006 F860 str r0, [r7, #12]
780 0008 0B46 mov r3, r1
781 000a 7A60 str r2, [r7, #4]
ARM GAS /tmp/cc2L1WXV.s page 22
782 000c FB72 strb r3, [r7, #11]
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
783 .loc 1 424 21
784 000e 0023 movs r3, #0
785 0010 FB75 strb r3, [r7, #23]
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** switch (CallbackID)
786 .loc 1 426 3
787 0012 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
788 0014 002B cmp r3, #0
789 0016 03D1 bne .L35
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;
790 .loc 1 429 30
791 0018 FB68 ldr r3, [r7, #12]
792 001a 7A68 ldr r2, [r7, #4]
793 001c 5A60 str r2, [r3, #4]
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** break;
794 .loc 1 430 7
795 001e 02E0 b .L36
796 .L35:
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;
797 .loc 1 433 14
798 0020 0123 movs r3, #1
799 0022 FB75 strb r3, [r7, #23]
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** break;
800 .loc 1 434 7
801 0024 00BF nop
802 .L36:
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;
803 .loc 1 437 10
804 0026 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
805 .loc 1 438 1
806 0028 1846 mov r0, r3
807 002a 1C37 adds r7, r7, #28
808 .cfi_def_cfa_offset 4
809 002c BD46 mov sp, r7
810 .cfi_def_cfa_register 13
811 @ sp needed
812 002e 5DF8047B ldr r7, [sp], #4
813 .cfi_restore 7
814 .cfi_def_cfa_offset 0
815 0032 7047 bx lr
816 .cfi_endproc
817 .LFE133:
819 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
820 .align 1
821 .global HAL_EXTI_GetHandle
822 .syntax unified
823 .thumb
824 .thumb_func
ARM GAS /tmp/cc2L1WXV.s page 23
826 HAL_EXTI_GetHandle:
827 .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 **** {
828 .loc 1 448 1
829 .cfi_startproc
830 @ args = 0, pretend = 0, frame = 8
831 @ frame_needed = 1, uses_anonymous_args = 0
832 @ link register save eliminated.
833 0000 80B4 push {r7}
834 .cfi_def_cfa_offset 4
835 .cfi_offset 7, -4
836 0002 83B0 sub sp, sp, #12
837 .cfi_def_cfa_offset 16
838 0004 00AF add r7, sp, #0
839 .cfi_def_cfa_register 7
840 0006 7860 str r0, [r7, #4]
841 0008 3960 str r1, [r7]
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));
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)
842 .loc 1 453 6
843 000a 7B68 ldr r3, [r7, #4]
844 000c 002B cmp r3, #0
845 000e 01D1 bne .L39
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_ERROR;
846 .loc 1 455 12
847 0010 0123 movs r3, #1
848 0012 03E0 b .L40
849 .L39:
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;
850 .loc 1 460 17
851 0014 7B68 ldr r3, [r7, #4]
852 0016 3A68 ldr r2, [r7]
853 0018 1A60 str r2, [r3]
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return HAL_OK;
854 .loc 1 462 12
855 001a 0023 movs r3, #0
856 .L40:
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
ARM GAS /tmp/cc2L1WXV.s page 24
857 .loc 1 464 1
858 001c 1846 mov r0, r3
859 001e 0C37 adds r7, r7, #12
860 .cfi_def_cfa_offset 4
861 0020 BD46 mov sp, r7
862 .cfi_def_cfa_register 13
863 @ sp needed
864 0022 5DF8047B ldr r7, [sp], #4
865 .cfi_restore 7
866 .cfi_def_cfa_offset 0
867 0026 7047 bx lr
868 .cfi_endproc
869 .LFE134:
871 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
872 .align 1
873 .global HAL_EXTI_IRQHandler
874 .syntax unified
875 .thumb
876 .thumb_func
878 HAL_EXTI_IRQHandler:
879 .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 **** {
880 .loc 1 488 1
881 .cfi_startproc
882 @ args = 0, pretend = 0, frame = 24
883 @ frame_needed = 1, uses_anonymous_args = 0
884 0000 80B5 push {r7, lr}
885 .cfi_def_cfa_offset 8
886 .cfi_offset 7, -8
887 .cfi_offset 14, -4
888 0002 86B0 sub sp, sp, #24
889 .cfi_def_cfa_offset 32
890 0004 00AF add r7, sp, #0
891 .cfi_def_cfa_register 7
ARM GAS /tmp/cc2L1WXV.s page 25
892 0006 7860 str r0, [r7, #4]
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
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);
893 .loc 1 495 19
894 0008 7B68 ldr r3, [r7, #4]
895 000a 1B68 ldr r3, [r3]
896 .loc 1 495 43
897 000c 1B0C lsrs r3, r3, #16
898 .loc 1 495 10
899 000e 03F00103 and r3, r3, #1
900 0012 7B61 str r3, [r7, #20]
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
901 .loc 1 496 28
902 0014 7B68 ldr r3, [r7, #4]
903 0016 1B68 ldr r3, [r3]
904 .loc 1 496 35
905 0018 03F01F03 and r3, r3, #31
906 .loc 1 496 12
907 001c 0122 movs r2, #1
908 001e 02FA03F3 lsl r3, r2, r3
909 0022 3B61 str r3, [r7, #16]
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));
910 .loc 1 499 24
911 0024 7B69 ldr r3, [r7, #20]
912 0026 5A01 lsls r2, r3, #5
913 .loc 1 499 11
914 0028 0C4B ldr r3, .L44
915 002a 1344 add r3, r3, r2
916 002c FB60 str r3, [r7, #12]
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** regval = (*regaddr & maskline);
917 .loc 1 500 13
918 002e FB68 ldr r3, [r7, #12]
919 0030 1B68 ldr r3, [r3]
920 .loc 1 500 10
921 0032 3A69 ldr r2, [r7, #16]
922 0034 1340 ands r3, r3, r2
923 0036 BB60 str r3, [r7, #8]
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** if (regval != 0x00u)
924 .loc 1 502 6
925 0038 BB68 ldr r3, [r7, #8]
926 003a 002B cmp r3, #0
927 003c 09D0 beq .L43
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;
928 .loc 1 505 9
929 003e 084A ldr r2, .L44+4
930 .loc 1 505 14
931 0040 3B69 ldr r3, [r7, #16]
ARM GAS /tmp/cc2L1WXV.s page 26
932 0042 5361 str r3, [r2, #20]
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)
933 .loc 1 508 14
934 0044 7B68 ldr r3, [r7, #4]
935 0046 5B68 ldr r3, [r3, #4]
936 .loc 1 508 8
937 0048 002B cmp r3, #0
938 004a 02D0 beq .L43
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** {
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** hexti->PendingCallback();
939 .loc 1 510 12
940 004c 7B68 ldr r3, [r7, #4]
941 004e 5B68 ldr r3, [r3, #4]
942 .loc 1 510 7
943 0050 9847 blx r3
944 .LVL0:
945 .L43:
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 **** }
946 .loc 1 513 1
947 0052 00BF nop
948 0054 1837 adds r7, r7, #24
949 .cfi_def_cfa_offset 8
950 0056 BD46 mov sp, r7
951 .cfi_def_cfa_register 13
952 @ sp needed
953 0058 80BD pop {r7, pc}
954 .L45:
955 005a 00BF .align 2
956 .L44:
957 005c 14040140 .word 1073808404
958 0060 00040140 .word 1073808384
959 .cfi_endproc
960 .LFE135:
962 .section .text.HAL_EXTI_GetPending,"ax",%progbits
963 .align 1
964 .global HAL_EXTI_GetPending
965 .syntax unified
966 .thumb
967 .thumb_func
969 HAL_EXTI_GetPending:
970 .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 **** {
ARM GAS /tmp/cc2L1WXV.s page 27
971 .loc 1 525 1
972 .cfi_startproc
973 @ args = 0, pretend = 0, frame = 32
974 @ frame_needed = 1, uses_anonymous_args = 0
975 @ link register save eliminated.
976 0000 80B4 push {r7}
977 .cfi_def_cfa_offset 4
978 .cfi_offset 7, -4
979 0002 89B0 sub sp, sp, #36
980 .cfi_def_cfa_offset 40
981 0004 00AF add r7, sp, #0
982 .cfi_def_cfa_register 7
983 0006 7860 str r0, [r7, #4]
984 0008 3960 str r1, [r7]
526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t regval;
528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t linepos;
529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
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));
534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
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);
985 .loc 1 538 19
986 000a 7B68 ldr r3, [r7, #4]
987 000c 1B68 ldr r3, [r3]
988 .loc 1 538 43
989 000e 1B0C lsrs r3, r3, #16
990 .loc 1 538 10
991 0010 03F00103 and r3, r3, #1
992 0014 FB61 str r3, [r7, #28]
539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
993 .loc 1 539 19
994 0016 7B68 ldr r3, [r7, #4]
995 0018 1B68 ldr r3, [r3]
996 .loc 1 539 11
997 001a 03F01F03 and r3, r3, #31
998 001e BB61 str r3, [r7, #24]
540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << linepos);
999 .loc 1 540 12
1000 0020 0122 movs r2, #1
1001 0022 BB69 ldr r3, [r7, #24]
1002 0024 02FA03F3 lsl r3, r2, r3
1003 0028 7B61 str r3, [r7, #20]
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));
1004 .loc 1 543 24
1005 002a FB69 ldr r3, [r7, #28]
1006 002c 5A01 lsls r2, r3, #5
1007 .loc 1 543 11
1008 002e 094B ldr r3, .L48
1009 0030 1344 add r3, r3, r2
ARM GAS /tmp/cc2L1WXV.s page 28
1010 0032 3B61 str r3, [r7, #16]
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);
1011 .loc 1 545 14
1012 0034 3B69 ldr r3, [r7, #16]
1013 0036 1A68 ldr r2, [r3]
1014 .loc 1 545 23
1015 0038 7B69 ldr r3, [r7, #20]
1016 003a 1A40 ands r2, r2, r3
1017 .loc 1 545 10
1018 003c BB69 ldr r3, [r7, #24]
1019 003e 22FA03F3 lsr r3, r2, r3
1020 0042 FB60 str r3, [r7, #12]
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** return regval;
1021 .loc 1 546 10
1022 0044 FB68 ldr r3, [r7, #12]
547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
1023 .loc 1 547 1
1024 0046 1846 mov r0, r3
1025 0048 2437 adds r7, r7, #36
1026 .cfi_def_cfa_offset 4
1027 004a BD46 mov sp, r7
1028 .cfi_def_cfa_register 13
1029 @ sp needed
1030 004c 5DF8047B ldr r7, [sp], #4
1031 .cfi_restore 7
1032 .cfi_def_cfa_offset 0
1033 0050 7047 bx lr
1034 .L49:
1035 0052 00BF .align 2
1036 .L48:
1037 0054 14040140 .word 1073808404
1038 .cfi_endproc
1039 .LFE136:
1041 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
1042 .align 1
1043 .global HAL_EXTI_ClearPending
1044 .syntax unified
1045 .thumb
1046 .thumb_func
1048 HAL_EXTI_ClearPending:
1049 .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 **** {
1050 .loc 1 559 1
1051 .cfi_startproc
1052 @ args = 0, pretend = 0, frame = 24
ARM GAS /tmp/cc2L1WXV.s page 29
1053 @ frame_needed = 1, uses_anonymous_args = 0
1054 @ link register save eliminated.
1055 0000 80B4 push {r7}
1056 .cfi_def_cfa_offset 4
1057 .cfi_offset 7, -4
1058 0002 87B0 sub sp, sp, #28
1059 .cfi_def_cfa_offset 32
1060 0004 00AF add r7, sp, #0
1061 .cfi_def_cfa_register 7
1062 0006 7860 str r0, [r7, #4]
1063 0008 3960 str r1, [r7]
560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
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));
566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
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);
1064 .loc 1 570 19
1065 000a 7B68 ldr r3, [r7, #4]
1066 000c 1B68 ldr r3, [r3]
1067 .loc 1 570 43
1068 000e 1B0C lsrs r3, r3, #16
1069 .loc 1 570 10
1070 0010 03F00103 and r3, r3, #1
1071 0014 7B61 str r3, [r7, #20]
571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
1072 .loc 1 571 28
1073 0016 7B68 ldr r3, [r7, #4]
1074 0018 1B68 ldr r3, [r3]
1075 .loc 1 571 35
1076 001a 03F01F03 and r3, r3, #31
1077 .loc 1 571 12
1078 001e 0122 movs r2, #1
1079 0020 02FA03F3 lsl r3, r2, r3
1080 0024 3B61 str r3, [r7, #16]
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));
1081 .loc 1 574 24
1082 0026 7B69 ldr r3, [r7, #20]
1083 0028 5A01 lsls r2, r3, #5
1084 .loc 1 574 11
1085 002a 064B ldr r3, .L51
1086 002c 1344 add r3, r3, r2
1087 002e FB60 str r3, [r7, #12]
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;
1088 .loc 1 577 12
1089 0030 FB68 ldr r3, [r7, #12]
1090 0032 3A69 ldr r2, [r7, #16]
1091 0034 1A60 str r2, [r3]
ARM GAS /tmp/cc2L1WXV.s page 30
578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
1092 .loc 1 578 1
1093 0036 00BF nop
1094 0038 1C37 adds r7, r7, #28
1095 .cfi_def_cfa_offset 4
1096 003a BD46 mov sp, r7
1097 .cfi_def_cfa_register 13
1098 @ sp needed
1099 003c 5DF8047B ldr r7, [sp], #4
1100 .cfi_restore 7
1101 .cfi_def_cfa_offset 0
1102 0040 7047 bx lr
1103 .L52:
1104 0042 00BF .align 2
1105 .L51:
1106 0044 14040140 .word 1073808404
1107 .cfi_endproc
1108 .LFE137:
1110 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
1111 .align 1
1112 .global HAL_EXTI_GenerateSWI
1113 .syntax unified
1114 .thumb
1115 .thumb_func
1117 HAL_EXTI_GenerateSWI:
1118 .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 **** {
1119 .loc 1 586 1
1120 .cfi_startproc
1121 @ args = 0, pretend = 0, frame = 24
1122 @ frame_needed = 1, uses_anonymous_args = 0
1123 @ link register save eliminated.
1124 0000 80B4 push {r7}
1125 .cfi_def_cfa_offset 4
1126 .cfi_offset 7, -4
1127 0002 87B0 sub sp, sp, #28
1128 .cfi_def_cfa_offset 32
1129 0004 00AF add r7, sp, #0
1130 .cfi_def_cfa_register 7
1131 0006 7860 str r0, [r7, #4]
587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** __IO uint32_t *regaddr;
588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t maskline;
589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** uint32_t offset;
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));
593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c ****
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);
ARM GAS /tmp/cc2L1WXV.s page 31
1132 .loc 1 596 19
1133 0008 7B68 ldr r3, [r7, #4]
1134 000a 1B68 ldr r3, [r3]
1135 .loc 1 596 43
1136 000c 1B0C lsrs r3, r3, #16
1137 .loc 1 596 10
1138 000e 03F00103 and r3, r3, #1
1139 0012 7B61 str r3, [r7, #20]
597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
1140 .loc 1 597 28
1141 0014 7B68 ldr r3, [r7, #4]
1142 0016 1B68 ldr r3, [r3]
1143 .loc 1 597 35
1144 0018 03F01F03 and r3, r3, #31
1145 .loc 1 597 12
1146 001c 0122 movs r2, #1
1147 001e 02FA03F3 lsl r3, r2, r3
1148 0022 3B61 str r3, [r7, #16]
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));
1149 .loc 1 599 27
1150 0024 7B69 ldr r3, [r7, #20]
1151 0026 5A01 lsls r2, r3, #5
1152 .loc 1 599 11
1153 0028 054B ldr r3, .L54
1154 002a 1344 add r3, r3, r2
1155 002c FB60 str r3, [r7, #12]
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** *regaddr = maskline;
1156 .loc 1 600 12
1157 002e FB68 ldr r3, [r7, #12]
1158 0030 3A69 ldr r2, [r7, #16]
1159 0032 1A60 str r2, [r3]
601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c **** }
1160 .loc 1 601 1
1161 0034 00BF nop
1162 0036 1C37 adds r7, r7, #28
1163 .cfi_def_cfa_offset 4
1164 0038 BD46 mov sp, r7
1165 .cfi_def_cfa_register 13
1166 @ sp needed
1167 003a 5DF8047B ldr r7, [sp], #4
1168 .cfi_restore 7
1169 .cfi_def_cfa_offset 0
1170 003e 7047 bx lr
1171 .L55:
1172 .align 2
1173 .L54:
1174 0040 10040140 .word 1073808400
1175 .cfi_endproc
1176 .LFE138:
1178 .text
1179 .Letext0:
1180 .file 2 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
1181 .file 3 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
1182 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
1183 .file 5 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
1184 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_exti.h"
ARM GAS /tmp/cc2L1WXV.s page 32
ARM GAS /tmp/cc2L1WXV.s page 33
DEFINED SYMBOLS
*ABS*:00000000 stm32f3xx_hal_exti.c
/tmp/cc2L1WXV.s:21 .text.HAL_EXTI_SetConfigLine:00000000 $t
/tmp/cc2L1WXV.s:27 .text.HAL_EXTI_SetConfigLine:00000000 HAL_EXTI_SetConfigLine
/tmp/cc2L1WXV.s:313 .text.HAL_EXTI_SetConfigLine:00000190 $d
/tmp/cc2L1WXV.s:321 .text.HAL_EXTI_GetConfigLine:00000000 $t
/tmp/cc2L1WXV.s:327 .text.HAL_EXTI_GetConfigLine:00000000 HAL_EXTI_GetConfigLine
/tmp/cc2L1WXV.s:549 .text.HAL_EXTI_GetConfigLine:00000134 $d
/tmp/cc2L1WXV.s:557 .text.HAL_EXTI_ClearConfigLine:00000000 $t
/tmp/cc2L1WXV.s:563 .text.HAL_EXTI_ClearConfigLine:00000000 HAL_EXTI_ClearConfigLine
/tmp/cc2L1WXV.s:751 .text.HAL_EXTI_ClearConfigLine:00000100 $d
/tmp/cc2L1WXV.s:759 .text.HAL_EXTI_RegisterCallback:00000000 $t
/tmp/cc2L1WXV.s:765 .text.HAL_EXTI_RegisterCallback:00000000 HAL_EXTI_RegisterCallback
/tmp/cc2L1WXV.s:820 .text.HAL_EXTI_GetHandle:00000000 $t
/tmp/cc2L1WXV.s:826 .text.HAL_EXTI_GetHandle:00000000 HAL_EXTI_GetHandle
/tmp/cc2L1WXV.s:872 .text.HAL_EXTI_IRQHandler:00000000 $t
/tmp/cc2L1WXV.s:878 .text.HAL_EXTI_IRQHandler:00000000 HAL_EXTI_IRQHandler
/tmp/cc2L1WXV.s:957 .text.HAL_EXTI_IRQHandler:0000005c $d
/tmp/cc2L1WXV.s:963 .text.HAL_EXTI_GetPending:00000000 $t
/tmp/cc2L1WXV.s:969 .text.HAL_EXTI_GetPending:00000000 HAL_EXTI_GetPending
/tmp/cc2L1WXV.s:1037 .text.HAL_EXTI_GetPending:00000054 $d
/tmp/cc2L1WXV.s:1042 .text.HAL_EXTI_ClearPending:00000000 $t
/tmp/cc2L1WXV.s:1048 .text.HAL_EXTI_ClearPending:00000000 HAL_EXTI_ClearPending
/tmp/cc2L1WXV.s:1106 .text.HAL_EXTI_ClearPending:00000044 $d
/tmp/cc2L1WXV.s:1111 .text.HAL_EXTI_GenerateSWI:00000000 $t
/tmp/cc2L1WXV.s:1117 .text.HAL_EXTI_GenerateSWI:00000000 HAL_EXTI_GenerateSWI
/tmp/cc2L1WXV.s:1174 .text.HAL_EXTI_GenerateSWI:00000040 $d
NO UNDEFINED SYMBOLS