mv-bms/Software/build/stm32f3xx_hal_tim_ex.lst

9662 lines
505 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

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

ARM GAS /tmp/ccxRWv8k.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_tim_ex.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c"
20 .section .text.HAL_TIMEx_HallSensor_Init,"ax",%progbits
21 .align 1
22 .global HAL_TIMEx_HallSensor_Init
23 .syntax unified
24 .thumb
25 .thumb_func
27 HAL_TIMEx_HallSensor_Init:
28 .LFB130:
1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ******************************************************************************
3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @file stm32f3xx_hal_tim_ex.c
4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @author MCD Application Team
5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief TIM HAL module driver.
6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * functionalities of the Timer Extended peripheral:
8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * + Time Hall Sensor Interface Initialization
9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * + Time Hall Sensor Interface Start
10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * + Time Complementary signal break and dead time configuration
11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * + Time Master and Slave synchronization configuration
12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * + Time Output Compare/PWM Channel Configuration (for channels 5 and 6)
13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * + Time OCRef clear configuration
14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * + Timer remapping capabilities configuration
15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ******************************************************************************
16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @attention
17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * Copyright (c) 2016 STMicroelectronics.
19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * All rights reserved.
20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This software is licensed under terms that can be found in the LICENSE file
22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * in the root directory of this software component.
23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ******************************************************************************
26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @verbatim
27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ##### TIMER Extended features #####
29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** [..]
ARM GAS /tmp/ccxRWv8k.s page 2
31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** The Timer Extended features include:
32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (#) Complementary outputs with programmable dead-time for :
33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (++) Output Compare
34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (++) PWM generation (Edge and Center-aligned Mode)
35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (++) One-pulse mode output
36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (#) Synchronization circuit to control the timer with external signals and to
37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** interconnect several timers together.
38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (#) Break input to put the timer output signals in reset state or in a known state.
39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (#) Supports incremental (quadrature) encoder and hall-sensor circuitry for
40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** positioning purposes
41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ##### How to use this driver #####
43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** [..]
45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (#) Initialize the TIM low level resources by implementing the following functions
46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** depending on the selected feature:
47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (++) Hall Sensor output : HAL_TIMEx_HallSensor_MspInit()
48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (#) Initialize the TIM low level resources :
50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (##) Enable the TIM interface clock using __HAL_RCC_TIMx_CLK_ENABLE();
51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (##) TIM pins configuration
52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+++) Enable the clock for the TIM GPIOs using the following function:
53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_RCC_GPIOx_CLK_ENABLE();
54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+++) Configure these TIM pins in Alternate function mode using HAL_GPIO_Init();
55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (#) The external Clock can be configured, if needed (the default clock is the
57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** internal clock from the APBx), using the following function:
58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ConfigClockSource, the clock configuration should be done before
59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** any start function.
60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (#) Configure the TIM in the desired functioning mode using one of the
62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** initialization function of this driver:
63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (++) HAL_TIMEx_HallSensor_Init() and HAL_TIMEx_ConfigCommutEvent(): to use the
64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** Timer Hall Sensor Interface and the commutation event with the corresponding
65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** Interrupt and DMA request if needed (Note that One Timer is used to interface
66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** with the Hall sensor Interface and another Timer should be used to use
67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** the commutation event).
68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (#) Activate the TIM peripheral using one of the start functions:
70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (++) Complementary Output Compare : HAL_TIMEx_OCN_Start(), HAL_TIMEx_OCN_Start_DMA(),
71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIMEx_OCN_Start_IT()
72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (++) Complementary PWM generation : HAL_TIMEx_PWMN_Start(), HAL_TIMEx_PWMN_Start_DMA(),
73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIMEx_PWMN_Start_IT()
74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (++) Complementary One-pulse mode output : HAL_TIMEx_OnePulseN_Start(), HAL_TIMEx_OnePul
75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (++) Hall Sensor output : HAL_TIMEx_HallSensor_Start(), HAL_TIMEx_HallSensor_Start_DMA()
76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIMEx_HallSensor_Start_IT().
77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endverbatim
79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ******************************************************************************
80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Includes ------------------------------------------------------------------*/
83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #include "stm32f3xx_hal.h"
84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @addtogroup STM32F3xx_HAL_Driver
86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
ARM GAS /tmp/ccxRWv8k.s page 3
88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx TIMEx
90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief TIM Extended HAL module driver
91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #ifdef HAL_TIM_MODULE_ENABLED
95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Private typedef -----------------------------------------------------------*/
97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Private define ------------------------------------------------------------*/
98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Private macros ------------------------------------------------------------*/
99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Private variables ---------------------------------------------------------*/
100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Private function prototypes -----------------------------------------------*/
101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** static void TIM_DMADelayPulseNCplt(DMA_HandleTypeDef *hdma);
102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** static void TIM_DMAErrorCCxN(DMA_HandleTypeDef *hdma);
103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** static void TIM_CCxNChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelNState);
104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Exported functions --------------------------------------------------------*/
106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx_Exported_Functions TIM Extended Exported Functions
107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx_Exported_Functions_Group1 Extended Timer Hall Sensor functions
111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Timer Hall Sensor functions
112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @verbatim
114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ##### Timer Hall Sensor functions #####
116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** [..]
118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** This section provides functions allowing to:
119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Initialize and configure TIM HAL Sensor.
120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) De-initialize TIM HAL Sensor.
121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Hall Sensor Interface.
122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Hall Sensor Interface.
123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Hall Sensor Interface and enable interrupts.
124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Hall Sensor Interface and disable interrupts.
125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Hall Sensor Interface and enable DMA transfers.
126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Hall Sensor Interface and disable DMA transfers.
127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endverbatim
129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Initializes the TIM Hall Sensor Interface and initialize the associated handle.
133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note When the timer instance is initialized in Hall Sensor Interface mode,
134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * timer channels 1 and channel 2 are reserved and cannot be used for
135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * other purpose.
136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param sConfig TIM Hall Sensor configuration structure
138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_HallSensor_Init(TIM_HandleTypeDef *htim, const TIM_HallSensor_InitTypeD
141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
29 .loc 1 141 1
30 .cfi_startproc
31 @ args = 0, pretend = 0, frame = 40
ARM GAS /tmp/ccxRWv8k.s page 4
32 @ frame_needed = 1, uses_anonymous_args = 0
33 0000 80B5 push {r7, lr}
34 .cfi_def_cfa_offset 8
35 .cfi_offset 7, -8
36 .cfi_offset 14, -4
37 0002 8AB0 sub sp, sp, #40
38 .cfi_def_cfa_offset 48
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]
142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_OC_InitTypeDef OC_Config;
143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the TIM handle allocation */
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (htim == NULL)
43 .loc 1 145 6
44 000a 7B68 ldr r3, [r7, #4]
45 000c 002B cmp r3, #0
46 000e 01D1 bne .L2
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
47 .loc 1 147 12
48 0010 0123 movs r3, #1
49 0012 9CE0 b .L5
50 .L2:
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode));
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision));
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload));
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_IC_POLARITY(sConfig->IC1Polarity));
156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_PERIOD(htim, htim->Init.Period));
157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_IC_PRESCALER(sConfig->IC1Prescaler));
158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_IC_FILTER(sConfig->IC1Filter));
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (htim->State == HAL_TIM_STATE_RESET)
51 .loc 1 160 11
52 0014 7B68 ldr r3, [r7, #4]
53 0016 93F83D30 ldrb r3, [r3, #61]
54 001a DBB2 uxtb r3, r3
55 .loc 1 160 6
56 001c 002B cmp r3, #0
57 001e 06D1 bne .L4
161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Allocate lock resource and initialize it */
163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Lock = HAL_UNLOCKED;
58 .loc 1 163 16
59 0020 7B68 ldr r3, [r7, #4]
60 0022 0022 movs r2, #0
61 0024 83F83C20 strb r2, [r3, #60]
164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Reset interrupt callbacks to legacy week callbacks */
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_ResetCallback(htim);
168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
ARM GAS /tmp/ccxRWv8k.s page 5
169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (htim->HallSensor_MspInitCallback == NULL)
170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->HallSensor_MspInitCallback = HAL_TIMEx_HallSensor_MspInit;
172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC */
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->HallSensor_MspInitCallback(htim);
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #else
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC and DMA */
177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIMEx_HallSensor_MspInit(htim);
62 .loc 1 177 5
63 0028 7868 ldr r0, [r7, #4]
64 002a FFF7FEFF bl HAL_TIMEx_HallSensor_MspInit
65 .L4:
178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM state */
182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_BUSY;
66 .loc 1 182 15
67 002e 7B68 ldr r3, [r7, #4]
68 0030 0222 movs r2, #2
69 0032 83F83D20 strb r2, [r3, #61]
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Configure the Time base in the Encoder Mode */
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_Base_SetConfig(htim->Instance, &htim->Init);
70 .loc 1 185 3
71 0036 7B68 ldr r3, [r7, #4]
72 0038 1A68 ldr r2, [r3]
73 .loc 1 185 38
74 003a 7B68 ldr r3, [r7, #4]
75 003c 0433 adds r3, r3, #4
76 .loc 1 185 3
77 003e 1946 mov r1, r3
78 0040 1046 mov r0, r2
79 0042 FFF7FEFF bl TIM_Base_SetConfig
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Configure the Channel 1 as Input Channel to interface with the three Outputs of the Hall sens
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_TI1_SetConfig(htim->Instance, sConfig->IC1Polarity, TIM_ICSELECTION_TRC, sConfig->IC1Filter);
80 .loc 1 188 3
81 0046 7B68 ldr r3, [r7, #4]
82 0048 1868 ldr r0, [r3]
83 .loc 1 188 44
84 004a 3B68 ldr r3, [r7]
85 004c 1968 ldr r1, [r3]
86 .loc 1 188 87
87 004e 3B68 ldr r3, [r7]
88 0050 9B68 ldr r3, [r3, #8]
89 .loc 1 188 3
90 0052 0322 movs r2, #3
91 0054 FFF7FEFF bl TIM_TI1_SetConfig
189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Reset the IC1PSC Bits */
191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CCMR1 &= ~TIM_CCMR1_IC1PSC;
92 .loc 1 191 7
93 0058 7B68 ldr r3, [r7, #4]
94 005a 1B68 ldr r3, [r3]
95 .loc 1 191 17
ARM GAS /tmp/ccxRWv8k.s page 6
96 005c 9A69 ldr r2, [r3, #24]
97 .loc 1 191 7
98 005e 7B68 ldr r3, [r7, #4]
99 0060 1B68 ldr r3, [r3]
100 .loc 1 191 25
101 0062 22F00C02 bic r2, r2, #12
102 0066 9A61 str r2, [r3, #24]
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the IC1PSC value */
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CCMR1 |= sConfig->IC1Prescaler;
103 .loc 1 193 7
104 0068 7B68 ldr r3, [r7, #4]
105 006a 1B68 ldr r3, [r3]
106 .loc 1 193 17
107 006c 9969 ldr r1, [r3, #24]
108 .loc 1 193 35
109 006e 3B68 ldr r3, [r7]
110 0070 5A68 ldr r2, [r3, #4]
111 .loc 1 193 7
112 0072 7B68 ldr r3, [r7, #4]
113 0074 1B68 ldr r3, [r3]
114 .loc 1 193 25
115 0076 0A43 orrs r2, r2, r1
116 0078 9A61 str r2, [r3, #24]
194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Hall sensor interface (XOR function of the three inputs) */
196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 |= TIM_CR2_TI1S;
117 .loc 1 196 7
118 007a 7B68 ldr r3, [r7, #4]
119 007c 1B68 ldr r3, [r3]
120 .loc 1 196 17
121 007e 5A68 ldr r2, [r3, #4]
122 .loc 1 196 7
123 0080 7B68 ldr r3, [r7, #4]
124 0082 1B68 ldr r3, [r3]
125 .loc 1 196 23
126 0084 42F08002 orr r2, r2, #128
127 0088 5A60 str r2, [r3, #4]
197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the TIM_TS_TI1F_ED signal as Input trigger for the TIM */
199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR &= ~TIM_SMCR_TS;
128 .loc 1 199 7
129 008a 7B68 ldr r3, [r7, #4]
130 008c 1B68 ldr r3, [r3]
131 .loc 1 199 17
132 008e 9A68 ldr r2, [r3, #8]
133 .loc 1 199 7
134 0090 7B68 ldr r3, [r7, #4]
135 0092 1B68 ldr r3, [r3]
136 .loc 1 199 24
137 0094 22F07002 bic r2, r2, #112
138 0098 9A60 str r2, [r3, #8]
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR |= TIM_TS_TI1F_ED;
139 .loc 1 200 7
140 009a 7B68 ldr r3, [r7, #4]
141 009c 1B68 ldr r3, [r3]
142 .loc 1 200 17
143 009e 9A68 ldr r2, [r3, #8]
ARM GAS /tmp/ccxRWv8k.s page 7
144 .loc 1 200 7
145 00a0 7B68 ldr r3, [r7, #4]
146 00a2 1B68 ldr r3, [r3]
147 .loc 1 200 24
148 00a4 42F04002 orr r2, r2, #64
149 00a8 9A60 str r2, [r3, #8]
201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Use the TIM_TS_TI1F_ED signal to reset the TIM counter each edge detection */
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR &= ~TIM_SMCR_SMS;
150 .loc 1 203 7
151 00aa 7B68 ldr r3, [r7, #4]
152 00ac 1B68 ldr r3, [r3]
153 .loc 1 203 17
154 00ae 9B68 ldr r3, [r3, #8]
155 .loc 1 203 7
156 00b0 7A68 ldr r2, [r7, #4]
157 00b2 1268 ldr r2, [r2]
158 .loc 1 203 24
159 00b4 23F48033 bic r3, r3, #65536
160 00b8 23F00703 bic r3, r3, #7
161 00bc 9360 str r3, [r2, #8]
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR |= TIM_SLAVEMODE_RESET;
162 .loc 1 204 7
163 00be 7B68 ldr r3, [r7, #4]
164 00c0 1B68 ldr r3, [r3]
165 .loc 1 204 17
166 00c2 9A68 ldr r2, [r3, #8]
167 .loc 1 204 7
168 00c4 7B68 ldr r3, [r7, #4]
169 00c6 1B68 ldr r3, [r3]
170 .loc 1 204 24
171 00c8 42F00402 orr r2, r2, #4
172 00cc 9A60 str r2, [r3, #8]
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Program channel 2 in PWM 2 mode with the desired Commutation_Delay*/
207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** OC_Config.OCFastMode = TIM_OCFAST_DISABLE;
173 .loc 1 207 24
174 00ce 0023 movs r3, #0
175 00d0 FB61 str r3, [r7, #28]
208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** OC_Config.OCIdleState = TIM_OCIDLESTATE_RESET;
176 .loc 1 208 25
177 00d2 0023 movs r3, #0
178 00d4 3B62 str r3, [r7, #32]
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** OC_Config.OCMode = TIM_OCMODE_PWM2;
179 .loc 1 209 20
180 00d6 7023 movs r3, #112
181 00d8 FB60 str r3, [r7, #12]
210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** OC_Config.OCNIdleState = TIM_OCNIDLESTATE_RESET;
182 .loc 1 210 26
183 00da 0023 movs r3, #0
184 00dc 7B62 str r3, [r7, #36]
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** OC_Config.OCNPolarity = TIM_OCNPOLARITY_HIGH;
185 .loc 1 211 25
186 00de 0023 movs r3, #0
187 00e0 BB61 str r3, [r7, #24]
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** OC_Config.OCPolarity = TIM_OCPOLARITY_HIGH;
188 .loc 1 212 24
ARM GAS /tmp/ccxRWv8k.s page 8
189 00e2 0023 movs r3, #0
190 00e4 7B61 str r3, [r7, #20]
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** OC_Config.Pulse = sConfig->Commutation_Delay;
191 .loc 1 213 28
192 00e6 3B68 ldr r3, [r7]
193 00e8 DB68 ldr r3, [r3, #12]
194 .loc 1 213 19
195 00ea 3B61 str r3, [r7, #16]
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_OC2_SetConfig(htim->Instance, &OC_Config);
196 .loc 1 215 3
197 00ec 7B68 ldr r3, [r7, #4]
198 00ee 1B68 ldr r3, [r3]
199 00f0 07F10C02 add r2, r7, #12
200 00f4 1146 mov r1, r2
201 00f6 1846 mov r0, r3
202 00f8 FFF7FEFF bl TIM_OC2_SetConfig
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select OC2REF as trigger output on TRGO: write the MMS bits in the TIMx_CR2
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** register to 101 */
219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 &= ~TIM_CR2_MMS;
203 .loc 1 219 7
204 00fc 7B68 ldr r3, [r7, #4]
205 00fe 1B68 ldr r3, [r3]
206 .loc 1 219 17
207 0100 5A68 ldr r2, [r3, #4]
208 .loc 1 219 7
209 0102 7B68 ldr r3, [r7, #4]
210 0104 1B68 ldr r3, [r3]
211 .loc 1 219 23
212 0106 22F07002 bic r2, r2, #112
213 010a 5A60 str r2, [r3, #4]
220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 |= TIM_TRGO_OC2REF;
214 .loc 1 220 7
215 010c 7B68 ldr r3, [r7, #4]
216 010e 1B68 ldr r3, [r3]
217 .loc 1 220 17
218 0110 5A68 ldr r2, [r3, #4]
219 .loc 1 220 7
220 0112 7B68 ldr r3, [r7, #4]
221 0114 1B68 ldr r3, [r3]
222 .loc 1 220 23
223 0116 42F05002 orr r2, r2, #80
224 011a 5A60 str r2, [r3, #4]
221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Initialize the DMA burst operation state */
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->DMABurstState = HAL_DMA_BURST_STATE_READY;
225 .loc 1 223 23
226 011c 7B68 ldr r3, [r7, #4]
227 011e 0122 movs r2, #1
228 0120 83F84820 strb r2, [r3, #72]
224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Initialize the TIM channels state */
226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
229 .loc 1 226 3
230 0124 7B68 ldr r3, [r7, #4]
231 0126 0122 movs r2, #1
ARM GAS /tmp/ccxRWv8k.s page 9
232 0128 83F83E20 strb r2, [r3, #62]
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
233 .loc 1 227 3
234 012c 7B68 ldr r3, [r7, #4]
235 012e 0122 movs r2, #1
236 0130 83F83F20 strb r2, [r3, #63]
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
237 .loc 1 228 3
238 0134 7B68 ldr r3, [r7, #4]
239 0136 0122 movs r2, #1
240 0138 83F84420 strb r2, [r3, #68]
229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
241 .loc 1 229 3
242 013c 7B68 ldr r3, [r7, #4]
243 013e 0122 movs r2, #1
244 0140 83F84520 strb r2, [r3, #69]
230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Initialize the TIM state*/
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_READY;
245 .loc 1 232 15
246 0144 7B68 ldr r3, [r7, #4]
247 0146 0122 movs r2, #1
248 0148 83F83D20 strb r2, [r3, #61]
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
249 .loc 1 234 10
250 014c 0023 movs r3, #0
251 .L5:
235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
252 .loc 1 235 1
253 014e 1846 mov r0, r3
254 0150 2837 adds r7, r7, #40
255 .cfi_def_cfa_offset 8
256 0152 BD46 mov sp, r7
257 .cfi_def_cfa_register 13
258 @ sp needed
259 0154 80BD pop {r7, pc}
260 .cfi_endproc
261 .LFE130:
263 .section .text.HAL_TIMEx_HallSensor_DeInit,"ax",%progbits
264 .align 1
265 .global HAL_TIMEx_HallSensor_DeInit
266 .syntax unified
267 .thumb
268 .thumb_func
270 HAL_TIMEx_HallSensor_DeInit:
271 .LFB131:
236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief DeInitializes the TIM Hall Sensor interface
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_HallSensor_DeInit(TIM_HandleTypeDef *htim)
243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
272 .loc 1 243 1
273 .cfi_startproc
ARM GAS /tmp/ccxRWv8k.s page 10
274 @ args = 0, pretend = 0, frame = 8
275 @ frame_needed = 1, uses_anonymous_args = 0
276 0000 80B5 push {r7, lr}
277 .cfi_def_cfa_offset 8
278 .cfi_offset 7, -8
279 .cfi_offset 14, -4
280 0002 82B0 sub sp, sp, #8
281 .cfi_def_cfa_offset 16
282 0004 00AF add r7, sp, #0
283 .cfi_def_cfa_register 7
284 0006 7860 str r0, [r7, #4]
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_INSTANCE(htim->Instance));
246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_BUSY;
285 .loc 1 247 15
286 0008 7B68 ldr r3, [r7, #4]
287 000a 0222 movs r2, #2
288 000c 83F83D20 strb r2, [r3, #61]
248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Peripheral Clock */
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
289 .loc 1 250 3
290 0010 7B68 ldr r3, [r7, #4]
291 0012 1B68 ldr r3, [r3]
292 0014 1A6A ldr r2, [r3, #32]
293 0016 41F21113 movw r3, #4369
294 001a 1340 ands r3, r3, r2
295 001c 002B cmp r3, #0
296 001e 0FD1 bne .L7
297 .loc 1 250 3 is_stmt 0 discriminator 1
298 0020 7B68 ldr r3, [r7, #4]
299 0022 1B68 ldr r3, [r3]
300 0024 1A6A ldr r2, [r3, #32]
301 0026 40F24443 movw r3, #1092
302 002a 1340 ands r3, r3, r2
303 002c 002B cmp r3, #0
304 002e 07D1 bne .L7
305 .loc 1 250 3 discriminator 2
306 0030 7B68 ldr r3, [r7, #4]
307 0032 1B68 ldr r3, [r3]
308 0034 1A68 ldr r2, [r3]
309 0036 7B68 ldr r3, [r7, #4]
310 0038 1B68 ldr r3, [r3]
311 003a 22F00102 bic r2, r2, #1
312 003e 1A60 str r2, [r3]
313 .L7:
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (htim->HallSensor_MspDeInitCallback == NULL)
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->HallSensor_MspDeInitCallback = HAL_TIMEx_HallSensor_MspDeInit;
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* DeInit the low level hardware */
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->HallSensor_MspDeInitCallback(htim);
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #else
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
ARM GAS /tmp/ccxRWv8k.s page 11
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIMEx_HallSensor_MspDeInit(htim);
314 .loc 1 261 3 is_stmt 1
315 0040 7868 ldr r0, [r7, #4]
316 0042 FFF7FEFF bl HAL_TIMEx_HallSensor_MspDeInit
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Change the DMA burst operation state */
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->DMABurstState = HAL_DMA_BURST_STATE_RESET;
317 .loc 1 265 23
318 0046 7B68 ldr r3, [r7, #4]
319 0048 0022 movs r2, #0
320 004a 83F84820 strb r2, [r3, #72]
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Change the TIM channels state */
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_RESET);
321 .loc 1 268 3
322 004e 7B68 ldr r3, [r7, #4]
323 0050 0022 movs r2, #0
324 0052 83F83E20 strb r2, [r3, #62]
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_RESET);
325 .loc 1 269 3
326 0056 7B68 ldr r3, [r7, #4]
327 0058 0022 movs r2, #0
328 005a 83F83F20 strb r2, [r3, #63]
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_RESET);
329 .loc 1 270 3
330 005e 7B68 ldr r3, [r7, #4]
331 0060 0022 movs r2, #0
332 0062 83F84420 strb r2, [r3, #68]
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_RESET);
333 .loc 1 271 3
334 0066 7B68 ldr r3, [r7, #4]
335 0068 0022 movs r2, #0
336 006a 83F84520 strb r2, [r3, #69]
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Change TIM state */
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_RESET;
337 .loc 1 274 15
338 006e 7B68 ldr r3, [r7, #4]
339 0070 0022 movs r2, #0
340 0072 83F83D20 strb r2, [r3, #61]
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Release Lock */
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_UNLOCK(htim);
341 .loc 1 277 3
342 0076 7B68 ldr r3, [r7, #4]
343 0078 0022 movs r2, #0
344 007a 83F83C20 strb r2, [r3, #60]
278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
345 .loc 1 279 10
346 007e 0023 movs r3, #0
280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
347 .loc 1 280 1
348 0080 1846 mov r0, r3
349 0082 0837 adds r7, r7, #8
350 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccxRWv8k.s page 12
351 0084 BD46 mov sp, r7
352 .cfi_def_cfa_register 13
353 @ sp needed
354 0086 80BD pop {r7, pc}
355 .cfi_endproc
356 .LFE131:
358 .section .text.HAL_TIMEx_HallSensor_MspInit,"ax",%progbits
359 .align 1
360 .weak HAL_TIMEx_HallSensor_MspInit
361 .syntax unified
362 .thumb
363 .thumb_func
365 HAL_TIMEx_HallSensor_MspInit:
366 .LFB132:
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Initializes the TIM Hall Sensor MSP.
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __weak void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htim)
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
367 .loc 1 288 1
368 .cfi_startproc
369 @ args = 0, pretend = 0, frame = 8
370 @ frame_needed = 1, uses_anonymous_args = 0
371 @ link register save eliminated.
372 0000 80B4 push {r7}
373 .cfi_def_cfa_offset 4
374 .cfi_offset 7, -4
375 0002 83B0 sub sp, sp, #12
376 .cfi_def_cfa_offset 16
377 0004 00AF add r7, sp, #0
378 .cfi_def_cfa_register 7
379 0006 7860 str r0, [r7, #4]
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Prevent unused argument(s) compilation warning */
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** UNUSED(htim);
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** the HAL_TIMEx_HallSensor_MspInit could be implemented in the user file
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
380 .loc 1 295 1
381 0008 00BF nop
382 000a 0C37 adds r7, r7, #12
383 .cfi_def_cfa_offset 4
384 000c BD46 mov sp, r7
385 .cfi_def_cfa_register 13
386 @ sp needed
387 000e 5DF8047B ldr r7, [sp], #4
388 .cfi_restore 7
389 .cfi_def_cfa_offset 0
390 0012 7047 bx lr
391 .cfi_endproc
392 .LFE132:
394 .section .text.HAL_TIMEx_HallSensor_MspDeInit,"ax",%progbits
395 .align 1
ARM GAS /tmp/ccxRWv8k.s page 13
396 .weak HAL_TIMEx_HallSensor_MspDeInit
397 .syntax unified
398 .thumb
399 .thumb_func
401 HAL_TIMEx_HallSensor_MspDeInit:
402 .LFB133:
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief DeInitializes TIM Hall Sensor MSP.
299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __weak void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htim)
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
403 .loc 1 303 1
404 .cfi_startproc
405 @ args = 0, pretend = 0, frame = 8
406 @ frame_needed = 1, uses_anonymous_args = 0
407 @ link register save eliminated.
408 0000 80B4 push {r7}
409 .cfi_def_cfa_offset 4
410 .cfi_offset 7, -4
411 0002 83B0 sub sp, sp, #12
412 .cfi_def_cfa_offset 16
413 0004 00AF add r7, sp, #0
414 .cfi_def_cfa_register 7
415 0006 7860 str r0, [r7, #4]
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Prevent unused argument(s) compilation warning */
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** UNUSED(htim);
306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** the HAL_TIMEx_HallSensor_MspDeInit could be implemented in the user file
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
416 .loc 1 310 1
417 0008 00BF nop
418 000a 0C37 adds r7, r7, #12
419 .cfi_def_cfa_offset 4
420 000c BD46 mov sp, r7
421 .cfi_def_cfa_register 13
422 @ sp needed
423 000e 5DF8047B ldr r7, [sp], #4
424 .cfi_restore 7
425 .cfi_def_cfa_offset 0
426 0012 7047 bx lr
427 .cfi_endproc
428 .LFE133:
430 .section .text.HAL_TIMEx_HallSensor_Start,"ax",%progbits
431 .align 1
432 .global HAL_TIMEx_HallSensor_Start
433 .syntax unified
434 .thumb
435 .thumb_func
437 HAL_TIMEx_HallSensor_Start:
438 .LFB134:
311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
ARM GAS /tmp/ccxRWv8k.s page 14
313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the TIM Hall Sensor Interface.
314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start(TIM_HandleTypeDef *htim)
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
439 .loc 1 318 1
440 .cfi_startproc
441 @ args = 0, pretend = 0, frame = 16
442 @ frame_needed = 1, uses_anonymous_args = 0
443 0000 80B5 push {r7, lr}
444 .cfi_def_cfa_offset 8
445 .cfi_offset 7, -8
446 .cfi_offset 14, -4
447 0002 84B0 sub sp, sp, #16
448 .cfi_def_cfa_offset 24
449 0004 00AF add r7, sp, #0
450 .cfi_def_cfa_register 7
451 0006 7860 str r0, [r7, #4]
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_1_state = TIM_CHANNEL_STATE_GET(htim, TIM_CHANNEL_1);
452 .loc 1 320 31
453 0008 7B68 ldr r3, [r7, #4]
454 000a 93F83E30 ldrb r3, [r3, #62]
455 000e FB73 strb r3, [r7, #15]
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_2_state = TIM_CHANNEL_STATE_GET(htim, TIM_CHANNEL_2);
456 .loc 1 321 31
457 0010 7B68 ldr r3, [r7, #4]
458 0012 93F83F30 ldrb r3, [r3, #63]
459 0016 BB73 strb r3, [r7, #14]
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef complementary_channel_1_state = TIM_CHANNEL_N_STATE_GET(htim, TIM_CHA
460 .loc 1 322 31
461 0018 7B68 ldr r3, [r7, #4]
462 001a 93F84430 ldrb r3, [r3, #68]
463 001e 7B73 strb r3, [r7, #13]
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef complementary_channel_2_state = TIM_CHANNEL_N_STATE_GET(htim, TIM_CHA
464 .loc 1 323 31
465 0020 7B68 ldr r3, [r7, #4]
466 0022 93F84530 ldrb r3, [r3, #69]
467 0026 3B73 strb r3, [r7, #12]
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the TIM channels state */
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((channel_1_state != HAL_TIM_CHANNEL_STATE_READY)
468 .loc 1 329 6
469 0028 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
470 002a 012B cmp r3, #1
471 002c 08D1 bne .L12
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (channel_2_state != HAL_TIM_CHANNEL_STATE_READY)
472 .loc 1 330 7
473 002e BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
474 0030 012B cmp r3, #1
475 0032 05D1 bne .L12
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (complementary_channel_1_state != HAL_TIM_CHANNEL_STATE_READY)
476 .loc 1 331 7
ARM GAS /tmp/ccxRWv8k.s page 15
477 0034 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
478 0036 012B cmp r3, #1
479 0038 02D1 bne .L12
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (complementary_channel_2_state != HAL_TIM_CHANNEL_STATE_READY))
480 .loc 1 332 7
481 003a 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
482 003c 012B cmp r3, #1
483 003e 01D0 beq .L13
484 .L12:
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
485 .loc 1 334 12
486 0040 0123 movs r3, #1
487 0042 50E0 b .L14
488 .L13:
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channels state */
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
489 .loc 1 338 3
490 0044 7B68 ldr r3, [r7, #4]
491 0046 0222 movs r2, #2
492 0048 83F83E20 strb r2, [r3, #62]
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_BUSY);
493 .loc 1 339 3
494 004c 7B68 ldr r3, [r7, #4]
495 004e 0222 movs r2, #2
496 0050 83F83F20 strb r2, [r3, #63]
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
497 .loc 1 340 3
498 0054 7B68 ldr r3, [r7, #4]
499 0056 0222 movs r2, #2
500 0058 83F84420 strb r2, [r3, #68]
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_BUSY);
501 .loc 1 341 3
502 005c 7B68 ldr r3, [r7, #4]
503 005e 0222 movs r2, #2
504 0060 83F84520 strb r2, [r3, #69]
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Input Capture channel 1
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (in the Hall Sensor Interface the three possible channels that can be used are TIM_CHANNEL_1,
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_2 and TIM_CHANNEL_3) */
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE);
505 .loc 1 346 3
506 0064 7B68 ldr r3, [r7, #4]
507 0066 1B68 ldr r3, [r3]
508 0068 0122 movs r2, #1
509 006a 0021 movs r1, #0
510 006c 1846 mov r0, r3
511 006e FFF7FEFF bl TIM_CCxChannelCmd
347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
512 .loc 1 349 7
513 0072 7B68 ldr r3, [r7, #4]
514 0074 1B68 ldr r3, [r3]
515 .loc 1 349 6
ARM GAS /tmp/ccxRWv8k.s page 16
516 0076 1E4A ldr r2, .L20
517 0078 9342 cmp r3, r2
518 007a 13D0 beq .L15
519 .loc 1 349 7 discriminator 1
520 007c 7B68 ldr r3, [r7, #4]
521 007e 1B68 ldr r3, [r3]
522 0080 B3F1804F cmp r3, #1073741824
523 0084 0ED0 beq .L15
524 .loc 1 349 7 is_stmt 0 discriminator 2
525 0086 7B68 ldr r3, [r7, #4]
526 0088 1B68 ldr r3, [r3]
527 008a 1A4A ldr r2, .L20+4
528 008c 9342 cmp r3, r2
529 008e 09D0 beq .L15
530 .loc 1 349 7 discriminator 3
531 0090 7B68 ldr r3, [r7, #4]
532 0092 1B68 ldr r3, [r3]
533 0094 184A ldr r2, .L20+8
534 0096 9342 cmp r3, r2
535 0098 04D0 beq .L15
536 .loc 1 349 7 discriminator 4
537 009a 7B68 ldr r3, [r7, #4]
538 009c 1B68 ldr r3, [r3]
539 009e 174A ldr r2, .L20+12
540 00a0 9342 cmp r3, r2
541 00a2 15D1 bne .L16
542 .L15:
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
543 .loc 1 351 19 is_stmt 1
544 00a4 7B68 ldr r3, [r7, #4]
545 00a6 1B68 ldr r3, [r3]
546 .loc 1 351 29
547 00a8 9A68 ldr r2, [r3, #8]
548 .loc 1 351 13
549 00aa 154B ldr r3, .L20+16
550 00ac 1340 ands r3, r3, r2
551 00ae BB60 str r3, [r7, #8]
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
552 .loc 1 352 8
553 00b0 BB68 ldr r3, [r7, #8]
554 00b2 062B cmp r3, #6
555 00b4 15D0 beq .L19
556 .loc 1 352 9 discriminator 1
557 00b6 BB68 ldr r3, [r7, #8]
558 00b8 B3F5803F cmp r3, #65536
559 00bc 11D0 beq .L19
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
560 .loc 1 354 7
561 00be 7B68 ldr r3, [r7, #4]
562 00c0 1B68 ldr r3, [r3]
563 00c2 1A68 ldr r2, [r3]
564 00c4 7B68 ldr r3, [r7, #4]
565 00c6 1B68 ldr r3, [r3]
566 00c8 42F00102 orr r2, r2, #1
567 00cc 1A60 str r2, [r3]
ARM GAS /tmp/ccxRWv8k.s page 17
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
568 .loc 1 352 8
569 00ce 08E0 b .L19
570 .L16:
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
571 .loc 1 359 5
572 00d0 7B68 ldr r3, [r7, #4]
573 00d2 1B68 ldr r3, [r3]
574 00d4 1A68 ldr r2, [r3]
575 00d6 7B68 ldr r3, [r7, #4]
576 00d8 1B68 ldr r3, [r3]
577 00da 42F00102 orr r2, r2, #1
578 00de 1A60 str r2, [r3]
579 00e0 00E0 b .L18
580 .L19:
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
581 .loc 1 352 8
582 00e2 00BF nop
583 .L18:
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
584 .loc 1 363 10
585 00e4 0023 movs r3, #0
586 .L14:
364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
587 .loc 1 364 1
588 00e6 1846 mov r0, r3
589 00e8 1037 adds r7, r7, #16
590 .cfi_def_cfa_offset 8
591 00ea BD46 mov sp, r7
592 .cfi_def_cfa_register 13
593 @ sp needed
594 00ec 80BD pop {r7, pc}
595 .L21:
596 00ee 00BF .align 2
597 .L20:
598 00f0 002C0140 .word 1073818624
599 00f4 00040040 .word 1073742848
600 00f8 00080040 .word 1073743872
601 00fc 00400140 .word 1073823744
602 0100 07000100 .word 65543
603 .cfi_endproc
604 .LFE134:
606 .section .text.HAL_TIMEx_HallSensor_Stop,"ax",%progbits
607 .align 1
608 .global HAL_TIMEx_HallSensor_Stop
609 .syntax unified
610 .thumb
611 .thumb_func
613 HAL_TIMEx_HallSensor_Stop:
614 .LFB135:
ARM GAS /tmp/ccxRWv8k.s page 18
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the TIM Hall sensor Interface.
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop(TIM_HandleTypeDef *htim)
372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
615 .loc 1 372 1
616 .cfi_startproc
617 @ args = 0, pretend = 0, frame = 8
618 @ frame_needed = 1, uses_anonymous_args = 0
619 0000 80B5 push {r7, lr}
620 .cfi_def_cfa_offset 8
621 .cfi_offset 7, -8
622 .cfi_offset 14, -4
623 0002 82B0 sub sp, sp, #8
624 .cfi_def_cfa_offset 16
625 0004 00AF add r7, sp, #0
626 .cfi_def_cfa_register 7
627 0006 7860 str r0, [r7, #4]
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Input Capture channels 1, 2 and 3
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (in the Hall Sensor Interface the three possible channels that can be used are TIM_CHANNEL_1,
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_2 and TIM_CHANNEL_3) */
379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE);
628 .loc 1 379 3
629 0008 7B68 ldr r3, [r7, #4]
630 000a 1B68 ldr r3, [r3]
631 000c 0022 movs r2, #0
632 000e 0021 movs r1, #0
633 0010 1846 mov r0, r3
634 0012 FFF7FEFF bl TIM_CCxChannelCmd
380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
635 .loc 1 382 3
636 0016 7B68 ldr r3, [r7, #4]
637 0018 1B68 ldr r3, [r3]
638 001a 1A6A ldr r2, [r3, #32]
639 001c 41F21113 movw r3, #4369
640 0020 1340 ands r3, r3, r2
641 0022 002B cmp r3, #0
642 0024 0FD1 bne .L23
643 .loc 1 382 3 is_stmt 0 discriminator 1
644 0026 7B68 ldr r3, [r7, #4]
645 0028 1B68 ldr r3, [r3]
646 002a 1A6A ldr r2, [r3, #32]
647 002c 40F24443 movw r3, #1092
648 0030 1340 ands r3, r3, r2
649 0032 002B cmp r3, #0
650 0034 07D1 bne .L23
651 .loc 1 382 3 discriminator 2
652 0036 7B68 ldr r3, [r7, #4]
653 0038 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 19
654 003a 1A68 ldr r2, [r3]
655 003c 7B68 ldr r3, [r7, #4]
656 003e 1B68 ldr r3, [r3]
657 0040 22F00102 bic r2, r2, #1
658 0044 1A60 str r2, [r3]
659 .L23:
383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channels state */
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
660 .loc 1 385 3 is_stmt 1
661 0046 7B68 ldr r3, [r7, #4]
662 0048 0122 movs r2, #1
663 004a 83F83E20 strb r2, [r3, #62]
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
664 .loc 1 386 3
665 004e 7B68 ldr r3, [r7, #4]
666 0050 0122 movs r2, #1
667 0052 83F83F20 strb r2, [r3, #63]
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
668 .loc 1 387 3
669 0056 7B68 ldr r3, [r7, #4]
670 0058 0122 movs r2, #1
671 005a 83F84420 strb r2, [r3, #68]
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
672 .loc 1 388 3
673 005e 7B68 ldr r3, [r7, #4]
674 0060 0122 movs r2, #1
675 0062 83F84520 strb r2, [r3, #69]
389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
676 .loc 1 391 10
677 0066 0023 movs r3, #0
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
678 .loc 1 392 1
679 0068 1846 mov r0, r3
680 006a 0837 adds r7, r7, #8
681 .cfi_def_cfa_offset 8
682 006c BD46 mov sp, r7
683 .cfi_def_cfa_register 13
684 @ sp needed
685 006e 80BD pop {r7, pc}
686 .cfi_endproc
687 .LFE135:
689 .section .text.HAL_TIMEx_HallSensor_Start_IT,"ax",%progbits
690 .align 1
691 .global HAL_TIMEx_HallSensor_Start_IT
692 .syntax unified
693 .thumb
694 .thumb_func
696 HAL_TIMEx_HallSensor_Start_IT:
697 .LFB136:
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the TIM Hall Sensor Interface in interrupt mode.
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
ARM GAS /tmp/ccxRWv8k.s page 20
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_IT(TIM_HandleTypeDef *htim)
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
698 .loc 1 400 1
699 .cfi_startproc
700 @ args = 0, pretend = 0, frame = 16
701 @ frame_needed = 1, uses_anonymous_args = 0
702 0000 80B5 push {r7, lr}
703 .cfi_def_cfa_offset 8
704 .cfi_offset 7, -8
705 .cfi_offset 14, -4
706 0002 84B0 sub sp, sp, #16
707 .cfi_def_cfa_offset 24
708 0004 00AF add r7, sp, #0
709 .cfi_def_cfa_register 7
710 0006 7860 str r0, [r7, #4]
401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_1_state = TIM_CHANNEL_STATE_GET(htim, TIM_CHANNEL_1);
711 .loc 1 402 31
712 0008 7B68 ldr r3, [r7, #4]
713 000a 93F83E30 ldrb r3, [r3, #62]
714 000e FB73 strb r3, [r7, #15]
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_2_state = TIM_CHANNEL_STATE_GET(htim, TIM_CHANNEL_2);
715 .loc 1 403 31
716 0010 7B68 ldr r3, [r7, #4]
717 0012 93F83F30 ldrb r3, [r3, #63]
718 0016 BB73 strb r3, [r7, #14]
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef complementary_channel_1_state = TIM_CHANNEL_N_STATE_GET(htim, TIM_CHA
719 .loc 1 404 31
720 0018 7B68 ldr r3, [r7, #4]
721 001a 93F84430 ldrb r3, [r3, #68]
722 001e 7B73 strb r3, [r7, #13]
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef complementary_channel_2_state = TIM_CHANNEL_N_STATE_GET(htim, TIM_CHA
723 .loc 1 405 31
724 0020 7B68 ldr r3, [r7, #4]
725 0022 93F84530 ldrb r3, [r3, #69]
726 0026 3B73 strb r3, [r7, #12]
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the TIM channels state */
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((channel_1_state != HAL_TIM_CHANNEL_STATE_READY)
727 .loc 1 411 6
728 0028 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
729 002a 012B cmp r3, #1
730 002c 08D1 bne .L26
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (channel_2_state != HAL_TIM_CHANNEL_STATE_READY)
731 .loc 1 412 7
732 002e BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
733 0030 012B cmp r3, #1
734 0032 05D1 bne .L26
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (complementary_channel_1_state != HAL_TIM_CHANNEL_STATE_READY)
735 .loc 1 413 7
736 0034 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
737 0036 012B cmp r3, #1
738 0038 02D1 bne .L26
ARM GAS /tmp/ccxRWv8k.s page 21
414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (complementary_channel_2_state != HAL_TIM_CHANNEL_STATE_READY))
739 .loc 1 414 7
740 003a 3B7B ldrb r3, [r7, #12] @ zero_extendqisi2
741 003c 012B cmp r3, #1
742 003e 01D0 beq .L27
743 .L26:
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
744 .loc 1 416 12
745 0040 0123 movs r3, #1
746 0042 58E0 b .L28
747 .L27:
417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channels state */
420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
748 .loc 1 420 3
749 0044 7B68 ldr r3, [r7, #4]
750 0046 0222 movs r2, #2
751 0048 83F83E20 strb r2, [r3, #62]
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_BUSY);
752 .loc 1 421 3
753 004c 7B68 ldr r3, [r7, #4]
754 004e 0222 movs r2, #2
755 0050 83F83F20 strb r2, [r3, #63]
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
756 .loc 1 422 3
757 0054 7B68 ldr r3, [r7, #4]
758 0056 0222 movs r2, #2
759 0058 83F84420 strb r2, [r3, #68]
423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_BUSY);
760 .loc 1 423 3
761 005c 7B68 ldr r3, [r7, #4]
762 005e 0222 movs r2, #2
763 0060 83F84520 strb r2, [r3, #69]
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the capture compare Interrupts 1 event */
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1);
764 .loc 1 426 3
765 0064 7B68 ldr r3, [r7, #4]
766 0066 1B68 ldr r3, [r3]
767 0068 DA68 ldr r2, [r3, #12]
768 006a 7B68 ldr r3, [r7, #4]
769 006c 1B68 ldr r3, [r3]
770 006e 42F00202 orr r2, r2, #2
771 0072 DA60 str r2, [r3, #12]
427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Input Capture channel 1
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (in the Hall Sensor Interface the three possible channels that can be used are TIM_CHANNEL_1,
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_2 and TIM_CHANNEL_3) */
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE);
772 .loc 1 431 3
773 0074 7B68 ldr r3, [r7, #4]
774 0076 1B68 ldr r3, [r3]
775 0078 0122 movs r2, #1
776 007a 0021 movs r1, #0
777 007c 1846 mov r0, r3
ARM GAS /tmp/ccxRWv8k.s page 22
778 007e FFF7FEFF bl TIM_CCxChannelCmd
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
779 .loc 1 434 7
780 0082 7B68 ldr r3, [r7, #4]
781 0084 1B68 ldr r3, [r3]
782 .loc 1 434 6
783 0086 1E4A ldr r2, .L34
784 0088 9342 cmp r3, r2
785 008a 13D0 beq .L29
786 .loc 1 434 7 discriminator 1
787 008c 7B68 ldr r3, [r7, #4]
788 008e 1B68 ldr r3, [r3]
789 0090 B3F1804F cmp r3, #1073741824
790 0094 0ED0 beq .L29
791 .loc 1 434 7 is_stmt 0 discriminator 2
792 0096 7B68 ldr r3, [r7, #4]
793 0098 1B68 ldr r3, [r3]
794 009a 1A4A ldr r2, .L34+4
795 009c 9342 cmp r3, r2
796 009e 09D0 beq .L29
797 .loc 1 434 7 discriminator 3
798 00a0 7B68 ldr r3, [r7, #4]
799 00a2 1B68 ldr r3, [r3]
800 00a4 184A ldr r2, .L34+8
801 00a6 9342 cmp r3, r2
802 00a8 04D0 beq .L29
803 .loc 1 434 7 discriminator 4
804 00aa 7B68 ldr r3, [r7, #4]
805 00ac 1B68 ldr r3, [r3]
806 00ae 174A ldr r2, .L34+12
807 00b0 9342 cmp r3, r2
808 00b2 15D1 bne .L30
809 .L29:
435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
810 .loc 1 436 19 is_stmt 1
811 00b4 7B68 ldr r3, [r7, #4]
812 00b6 1B68 ldr r3, [r3]
813 .loc 1 436 29
814 00b8 9A68 ldr r2, [r3, #8]
815 .loc 1 436 13
816 00ba 154B ldr r3, .L34+16
817 00bc 1340 ands r3, r3, r2
818 00be BB60 str r3, [r7, #8]
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
819 .loc 1 437 8
820 00c0 BB68 ldr r3, [r7, #8]
821 00c2 062B cmp r3, #6
822 00c4 15D0 beq .L33
823 .loc 1 437 9 discriminator 1
824 00c6 BB68 ldr r3, [r7, #8]
825 00c8 B3F5803F cmp r3, #65536
826 00cc 11D0 beq .L33
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
ARM GAS /tmp/ccxRWv8k.s page 23
827 .loc 1 439 7
828 00ce 7B68 ldr r3, [r7, #4]
829 00d0 1B68 ldr r3, [r3]
830 00d2 1A68 ldr r2, [r3]
831 00d4 7B68 ldr r3, [r7, #4]
832 00d6 1B68 ldr r3, [r3]
833 00d8 42F00102 orr r2, r2, #1
834 00dc 1A60 str r2, [r3]
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
835 .loc 1 437 8
836 00de 08E0 b .L33
837 .L30:
440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
838 .loc 1 444 5
839 00e0 7B68 ldr r3, [r7, #4]
840 00e2 1B68 ldr r3, [r3]
841 00e4 1A68 ldr r2, [r3]
842 00e6 7B68 ldr r3, [r7, #4]
843 00e8 1B68 ldr r3, [r3]
844 00ea 42F00102 orr r2, r2, #1
845 00ee 1A60 str r2, [r3]
846 00f0 00E0 b .L32
847 .L33:
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
848 .loc 1 437 8
849 00f2 00BF nop
850 .L32:
445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
851 .loc 1 448 10
852 00f4 0023 movs r3, #0
853 .L28:
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
854 .loc 1 449 1
855 00f6 1846 mov r0, r3
856 00f8 1037 adds r7, r7, #16
857 .cfi_def_cfa_offset 8
858 00fa BD46 mov sp, r7
859 .cfi_def_cfa_register 13
860 @ sp needed
861 00fc 80BD pop {r7, pc}
862 .L35:
863 00fe 00BF .align 2
864 .L34:
865 0100 002C0140 .word 1073818624
866 0104 00040040 .word 1073742848
867 0108 00080040 .word 1073743872
868 010c 00400140 .word 1073823744
869 0110 07000100 .word 65543
870 .cfi_endproc
871 .LFE136:
ARM GAS /tmp/ccxRWv8k.s page 24
873 .section .text.HAL_TIMEx_HallSensor_Stop_IT,"ax",%progbits
874 .align 1
875 .global HAL_TIMEx_HallSensor_Stop_IT
876 .syntax unified
877 .thumb
878 .thumb_func
880 HAL_TIMEx_HallSensor_Stop_IT:
881 .LFB137:
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the TIM Hall Sensor Interface in interrupt mode.
453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_IT(TIM_HandleTypeDef *htim)
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
882 .loc 1 457 1
883 .cfi_startproc
884 @ args = 0, pretend = 0, frame = 8
885 @ frame_needed = 1, uses_anonymous_args = 0
886 0000 80B5 push {r7, lr}
887 .cfi_def_cfa_offset 8
888 .cfi_offset 7, -8
889 .cfi_offset 14, -4
890 0002 82B0 sub sp, sp, #8
891 .cfi_def_cfa_offset 16
892 0004 00AF add r7, sp, #0
893 .cfi_def_cfa_register 7
894 0006 7860 str r0, [r7, #4]
458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Input Capture channel 1
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (in the Hall Sensor Interface the three possible channels that can be used are TIM_CHANNEL_1,
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_2 and TIM_CHANNEL_3) */
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE);
895 .loc 1 464 3
896 0008 7B68 ldr r3, [r7, #4]
897 000a 1B68 ldr r3, [r3]
898 000c 0022 movs r2, #0
899 000e 0021 movs r1, #0
900 0010 1846 mov r0, r3
901 0012 FFF7FEFF bl TIM_CCxChannelCmd
465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the capture compare Interrupts event */
467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1);
902 .loc 1 467 3
903 0016 7B68 ldr r3, [r7, #4]
904 0018 1B68 ldr r3, [r3]
905 001a DA68 ldr r2, [r3, #12]
906 001c 7B68 ldr r3, [r7, #4]
907 001e 1B68 ldr r3, [r3]
908 0020 22F00202 bic r2, r2, #2
909 0024 DA60 str r2, [r3, #12]
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
ARM GAS /tmp/ccxRWv8k.s page 25
910 .loc 1 470 3
911 0026 7B68 ldr r3, [r7, #4]
912 0028 1B68 ldr r3, [r3]
913 002a 1A6A ldr r2, [r3, #32]
914 002c 41F21113 movw r3, #4369
915 0030 1340 ands r3, r3, r2
916 0032 002B cmp r3, #0
917 0034 0FD1 bne .L37
918 .loc 1 470 3 is_stmt 0 discriminator 1
919 0036 7B68 ldr r3, [r7, #4]
920 0038 1B68 ldr r3, [r3]
921 003a 1A6A ldr r2, [r3, #32]
922 003c 40F24443 movw r3, #1092
923 0040 1340 ands r3, r3, r2
924 0042 002B cmp r3, #0
925 0044 07D1 bne .L37
926 .loc 1 470 3 discriminator 2
927 0046 7B68 ldr r3, [r7, #4]
928 0048 1B68 ldr r3, [r3]
929 004a 1A68 ldr r2, [r3]
930 004c 7B68 ldr r3, [r7, #4]
931 004e 1B68 ldr r3, [r3]
932 0050 22F00102 bic r2, r2, #1
933 0054 1A60 str r2, [r3]
934 .L37:
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channels state */
473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
935 .loc 1 473 3 is_stmt 1
936 0056 7B68 ldr r3, [r7, #4]
937 0058 0122 movs r2, #1
938 005a 83F83E20 strb r2, [r3, #62]
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
939 .loc 1 474 3
940 005e 7B68 ldr r3, [r7, #4]
941 0060 0122 movs r2, #1
942 0062 83F83F20 strb r2, [r3, #63]
475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
943 .loc 1 475 3
944 0066 7B68 ldr r3, [r7, #4]
945 0068 0122 movs r2, #1
946 006a 83F84420 strb r2, [r3, #68]
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
947 .loc 1 476 3
948 006e 7B68 ldr r3, [r7, #4]
949 0070 0122 movs r2, #1
950 0072 83F84520 strb r2, [r3, #69]
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
951 .loc 1 479 10
952 0076 0023 movs r3, #0
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
953 .loc 1 480 1
954 0078 1846 mov r0, r3
955 007a 0837 adds r7, r7, #8
956 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccxRWv8k.s page 26
957 007c BD46 mov sp, r7
958 .cfi_def_cfa_register 13
959 @ sp needed
960 007e 80BD pop {r7, pc}
961 .cfi_endproc
962 .LFE137:
964 .section .text.HAL_TIMEx_HallSensor_Start_DMA,"ax",%progbits
965 .align 1
966 .global HAL_TIMEx_HallSensor_Start_DMA
967 .syntax unified
968 .thumb
969 .thumb_func
971 HAL_TIMEx_HallSensor_Start_DMA:
972 .LFB138:
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the TIM Hall Sensor Interface in DMA mode.
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param pData The destination Buffer address.
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Length The length of data to be transferred from TIM peripheral to memory.
487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_HallSensor_Start_DMA(TIM_HandleTypeDef *htim, uint32_t *pData, uint16_t
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
973 .loc 1 490 1
974 .cfi_startproc
975 @ args = 0, pretend = 0, frame = 24
976 @ frame_needed = 1, uses_anonymous_args = 0
977 0000 80B5 push {r7, lr}
978 .cfi_def_cfa_offset 8
979 .cfi_offset 7, -8
980 .cfi_offset 14, -4
981 0002 86B0 sub sp, sp, #24
982 .cfi_def_cfa_offset 32
983 0004 00AF add r7, sp, #0
984 .cfi_def_cfa_register 7
985 0006 F860 str r0, [r7, #12]
986 0008 B960 str r1, [r7, #8]
987 000a 1346 mov r3, r2
988 000c FB80 strh r3, [r7, #6] @ movhi
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_1_state = TIM_CHANNEL_STATE_GET(htim, TIM_CHANNEL_1);
989 .loc 1 492 31
990 000e FB68 ldr r3, [r7, #12]
991 0010 93F83E30 ldrb r3, [r3, #62]
992 0014 FB75 strb r3, [r7, #23]
493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef complementary_channel_1_state = TIM_CHANNEL_N_STATE_GET(htim, TIM_CHA
993 .loc 1 493 31
994 0016 FB68 ldr r3, [r7, #12]
995 0018 93F84430 ldrb r3, [r3, #68]
996 001c BB75 strb r3, [r7, #22]
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channel state */
499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((channel_1_state == HAL_TIM_CHANNEL_STATE_BUSY)
ARM GAS /tmp/ccxRWv8k.s page 27
997 .loc 1 499 6
998 001e FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
999 0020 022B cmp r3, #2
1000 0022 02D0 beq .L40
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (complementary_channel_1_state == HAL_TIM_CHANNEL_STATE_BUSY))
1001 .loc 1 500 7
1002 0024 BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
1003 0026 022B cmp r3, #2
1004 0028 01D1 bne .L41
1005 .L40:
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_BUSY;
1006 .loc 1 502 12
1007 002a 0223 movs r3, #2
1008 002c 7DE0 b .L42
1009 .L41:
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else if ((channel_1_state == HAL_TIM_CHANNEL_STATE_READY)
1010 .loc 1 504 11
1011 002e FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
1012 0030 012B cmp r3, #1
1013 0032 34D1 bne .L43
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** && (complementary_channel_1_state == HAL_TIM_CHANNEL_STATE_READY))
1014 .loc 1 505 12
1015 0034 BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
1016 0036 012B cmp r3, #1
1017 0038 31D1 bne .L43
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((pData == NULL) || (Length == 0U))
1018 .loc 1 507 8
1019 003a BB68 ldr r3, [r7, #8]
1020 003c 002B cmp r3, #0
1021 003e 02D0 beq .L44
1022 .loc 1 507 25 discriminator 1
1023 0040 FB88 ldrh r3, [r7, #6]
1024 0042 002B cmp r3, #0
1025 0044 01D1 bne .L45
1026 .L44:
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
1027 .loc 1 509 14
1028 0046 0123 movs r3, #1
1029 0048 6FE0 b .L42
1030 .L45:
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
1031 .loc 1 513 7
1032 004a FB68 ldr r3, [r7, #12]
1033 004c 0222 movs r2, #2
1034 004e 83F83E20 strb r2, [r3, #62]
514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
1035 .loc 1 514 7
1036 0052 FB68 ldr r3, [r7, #12]
1037 0054 0222 movs r2, #2
1038 0056 83F84420 strb r2, [r3, #68]
ARM GAS /tmp/ccxRWv8k.s page 28
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1039 .loc 1 507 8
1040 005a 00BF nop
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Input Capture channel 1
523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (in the Hall Sensor Interface the three possible channels that can be used are TIM_CHANNEL_1,
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_2 and TIM_CHANNEL_3) */
525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_ENABLE);
1041 .loc 1 525 3
1042 005c FB68 ldr r3, [r7, #12]
1043 005e 1B68 ldr r3, [r3]
1044 0060 0122 movs r2, #1
1045 0062 0021 movs r1, #0
1046 0064 1846 mov r0, r3
1047 0066 FFF7FEFF bl TIM_CCxChannelCmd
526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA Input Capture 1 Callbacks */
528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = TIM_DMACaptureCplt;
1048 .loc 1 528 13
1049 006a FB68 ldr r3, [r7, #12]
1050 006c 5B6A ldr r3, [r3, #36]
1051 .loc 1 528 48
1052 006e 314A ldr r2, .L54
1053 0070 9A62 str r2, [r3, #40]
529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC1]->XferHalfCpltCallback = TIM_DMACaptureHalfCplt;
1054 .loc 1 529 13
1055 0072 FB68 ldr r3, [r7, #12]
1056 0074 5B6A ldr r3, [r3, #36]
1057 .loc 1 529 52
1058 0076 304A ldr r2, .L54+4
1059 0078 DA62 str r2, [r3, #44]
530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA error callback */
531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = TIM_DMAError ;
1060 .loc 1 531 13
1061 007a FB68 ldr r3, [r7, #12]
1062 007c 5B6A ldr r3, [r3, #36]
1063 .loc 1 531 49
1064 007e 2F4A ldr r2, .L54+8
1065 0080 1A63 str r2, [r3, #48]
532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the DMA channel for Capture 1*/
534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)&htim->Instance->CCR1, (uint32_t)pData
1066 .loc 1 534 7
1067 0082 FB68 ldr r3, [r7, #12]
1068 0084 586A ldr r0, [r3, #36]
1069 .loc 1 534 67
1070 0086 FB68 ldr r3, [r7, #12]
1071 0088 1B68 ldr r3, [r3]
1072 .loc 1 534 62
1073 008a 3433 adds r3, r3, #52
1074 .loc 1 534 7
ARM GAS /tmp/ccxRWv8k.s page 29
1075 008c 1946 mov r1, r3
1076 008e BA68 ldr r2, [r7, #8]
1077 0090 FB88 ldrh r3, [r7, #6]
1078 0092 FFF7FEFF bl HAL_DMA_Start_IT
1079 0096 0346 mov r3, r0
1080 .loc 1 534 6 discriminator 1
1081 0098 002B cmp r3, #0
1082 009a 04D0 beq .L47
1083 009c 01E0 b .L52
1084 .L43:
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1085 .loc 1 519 12
1086 009e 0123 movs r3, #1
1087 00a0 43E0 b .L42
1088 .L52:
535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return error status */
537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
1089 .loc 1 537 12
1090 00a2 0123 movs r3, #1
1091 00a4 41E0 b .L42
1092 .L47:
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the capture compare 1 Interrupt */
540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1);
1093 .loc 1 540 3
1094 00a6 FB68 ldr r3, [r7, #12]
1095 00a8 1B68 ldr r3, [r3]
1096 00aa DA68 ldr r2, [r3, #12]
1097 00ac FB68 ldr r3, [r7, #12]
1098 00ae 1B68 ldr r3, [r3]
1099 00b0 42F40072 orr r2, r2, #512
1100 00b4 DA60 str r2, [r3, #12]
541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger
543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
1101 .loc 1 543 7
1102 00b6 FB68 ldr r3, [r7, #12]
1103 00b8 1B68 ldr r3, [r3]
1104 .loc 1 543 6
1105 00ba 214A ldr r2, .L54+12
1106 00bc 9342 cmp r3, r2
1107 00be 13D0 beq .L48
1108 .loc 1 543 7 discriminator 1
1109 00c0 FB68 ldr r3, [r7, #12]
1110 00c2 1B68 ldr r3, [r3]
1111 00c4 B3F1804F cmp r3, #1073741824
1112 00c8 0ED0 beq .L48
1113 .loc 1 543 7 is_stmt 0 discriminator 2
1114 00ca FB68 ldr r3, [r7, #12]
1115 00cc 1B68 ldr r3, [r3]
1116 00ce 1D4A ldr r2, .L54+16
1117 00d0 9342 cmp r3, r2
1118 00d2 09D0 beq .L48
1119 .loc 1 543 7 discriminator 3
1120 00d4 FB68 ldr r3, [r7, #12]
1121 00d6 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 30
1122 00d8 1B4A ldr r2, .L54+20
1123 00da 9342 cmp r3, r2
1124 00dc 04D0 beq .L48
1125 .loc 1 543 7 discriminator 4
1126 00de FB68 ldr r3, [r7, #12]
1127 00e0 1B68 ldr r3, [r3]
1128 00e2 1A4A ldr r2, .L54+24
1129 00e4 9342 cmp r3, r2
1130 00e6 15D1 bne .L49
1131 .L48:
544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
1132 .loc 1 545 19 is_stmt 1
1133 00e8 FB68 ldr r3, [r7, #12]
1134 00ea 1B68 ldr r3, [r3]
1135 .loc 1 545 29
1136 00ec 9A68 ldr r2, [r3, #8]
1137 .loc 1 545 13
1138 00ee 184B ldr r3, .L54+28
1139 00f0 1340 ands r3, r3, r2
1140 00f2 3B61 str r3, [r7, #16]
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
1141 .loc 1 546 8
1142 00f4 3B69 ldr r3, [r7, #16]
1143 00f6 062B cmp r3, #6
1144 00f8 15D0 beq .L53
1145 .loc 1 546 9 discriminator 1
1146 00fa 3B69 ldr r3, [r7, #16]
1147 00fc B3F5803F cmp r3, #65536
1148 0100 11D0 beq .L53
547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
1149 .loc 1 548 7
1150 0102 FB68 ldr r3, [r7, #12]
1151 0104 1B68 ldr r3, [r3]
1152 0106 1A68 ldr r2, [r3]
1153 0108 FB68 ldr r3, [r7, #12]
1154 010a 1B68 ldr r3, [r3]
1155 010c 42F00102 orr r2, r2, #1
1156 0110 1A60 str r2, [r3]
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
1157 .loc 1 546 8
1158 0112 08E0 b .L53
1159 .L49:
549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
1160 .loc 1 553 5
1161 0114 FB68 ldr r3, [r7, #12]
1162 0116 1B68 ldr r3, [r3]
1163 0118 1A68 ldr r2, [r3]
1164 011a FB68 ldr r3, [r7, #12]
1165 011c 1B68 ldr r3, [r3]
1166 011e 42F00102 orr r2, r2, #1
1167 0122 1A60 str r2, [r3]
ARM GAS /tmp/ccxRWv8k.s page 31
1168 0124 00E0 b .L51
1169 .L53:
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1170 .loc 1 546 8
1171 0126 00BF nop
1172 .L51:
554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
1173 .loc 1 557 10
1174 0128 0023 movs r3, #0
1175 .L42:
558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1176 .loc 1 558 1
1177 012a 1846 mov r0, r3
1178 012c 1837 adds r7, r7, #24
1179 .cfi_def_cfa_offset 8
1180 012e BD46 mov sp, r7
1181 .cfi_def_cfa_register 13
1182 @ sp needed
1183 0130 80BD pop {r7, pc}
1184 .L55:
1185 0132 00BF .align 2
1186 .L54:
1187 0134 00000000 .word TIM_DMACaptureCplt
1188 0138 00000000 .word TIM_DMACaptureHalfCplt
1189 013c 00000000 .word TIM_DMAError
1190 0140 002C0140 .word 1073818624
1191 0144 00040040 .word 1073742848
1192 0148 00080040 .word 1073743872
1193 014c 00400140 .word 1073823744
1194 0150 07000100 .word 65543
1195 .cfi_endproc
1196 .LFE138:
1198 .section .text.HAL_TIMEx_HallSensor_Stop_DMA,"ax",%progbits
1199 .align 1
1200 .global HAL_TIMEx_HallSensor_Stop_DMA
1201 .syntax unified
1202 .thumb
1203 .thumb_func
1205 HAL_TIMEx_HallSensor_Stop_DMA:
1206 .LFB139:
559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the TIM Hall Sensor Interface in DMA mode.
562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor Interface handle
563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_HallSensor_Stop_DMA(TIM_HandleTypeDef *htim)
566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1207 .loc 1 566 1
1208 .cfi_startproc
1209 @ args = 0, pretend = 0, frame = 8
1210 @ frame_needed = 1, uses_anonymous_args = 0
1211 0000 80B5 push {r7, lr}
1212 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccxRWv8k.s page 32
1213 .cfi_offset 7, -8
1214 .cfi_offset 14, -4
1215 0002 82B0 sub sp, sp, #8
1216 .cfi_def_cfa_offset 16
1217 0004 00AF add r7, sp, #0
1218 .cfi_def_cfa_register 7
1219 0006 7860 str r0, [r7, #4]
567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_HALL_SENSOR_INTERFACE_INSTANCE(htim->Instance));
569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Input Capture channel 1
571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (in the Hall Sensor Interface the three possible channels that can be used are TIM_CHANNEL_1,
572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_2 and TIM_CHANNEL_3) */
573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, TIM_CHANNEL_1, TIM_CCx_DISABLE);
1220 .loc 1 573 3
1221 0008 7B68 ldr r3, [r7, #4]
1222 000a 1B68 ldr r3, [r3]
1223 000c 0022 movs r2, #0
1224 000e 0021 movs r1, #0
1225 0010 1846 mov r0, r3
1226 0012 FFF7FEFF bl TIM_CCxChannelCmd
574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the capture compare Interrupts 1 event */
577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1);
1227 .loc 1 577 3
1228 0016 7B68 ldr r3, [r7, #4]
1229 0018 1B68 ldr r3, [r3]
1230 001a DA68 ldr r2, [r3, #12]
1231 001c 7B68 ldr r3, [r7, #4]
1232 001e 1B68 ldr r3, [r3]
1233 0020 22F40072 bic r2, r2, #512
1234 0024 DA60 str r2, [r3, #12]
578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (void)HAL_DMA_Abort_IT(htim->hdma[TIM_DMA_ID_CC1]);
1235 .loc 1 579 9
1236 0026 7B68 ldr r3, [r7, #4]
1237 0028 5B6A ldr r3, [r3, #36]
1238 002a 1846 mov r0, r3
1239 002c FFF7FEFF bl HAL_DMA_Abort_IT
580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
1240 .loc 1 582 3
1241 0030 7B68 ldr r3, [r7, #4]
1242 0032 1B68 ldr r3, [r3]
1243 0034 1A6A ldr r2, [r3, #32]
1244 0036 41F21113 movw r3, #4369
1245 003a 1340 ands r3, r3, r2
1246 003c 002B cmp r3, #0
1247 003e 0FD1 bne .L57
1248 .loc 1 582 3 is_stmt 0 discriminator 1
1249 0040 7B68 ldr r3, [r7, #4]
1250 0042 1B68 ldr r3, [r3]
1251 0044 1A6A ldr r2, [r3, #32]
1252 0046 40F24443 movw r3, #1092
1253 004a 1340 ands r3, r3, r2
ARM GAS /tmp/ccxRWv8k.s page 33
1254 004c 002B cmp r3, #0
1255 004e 07D1 bne .L57
1256 .loc 1 582 3 discriminator 2
1257 0050 7B68 ldr r3, [r7, #4]
1258 0052 1B68 ldr r3, [r3]
1259 0054 1A68 ldr r2, [r3]
1260 0056 7B68 ldr r3, [r7, #4]
1261 0058 1B68 ldr r3, [r3]
1262 005a 22F00102 bic r2, r2, #1
1263 005e 1A60 str r2, [r3]
1264 .L57:
583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channel state */
585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
1265 .loc 1 585 3 is_stmt 1
1266 0060 7B68 ldr r3, [r7, #4]
1267 0062 0122 movs r2, #1
1268 0064 83F83E20 strb r2, [r3, #62]
586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
1269 .loc 1 586 3
1270 0068 7B68 ldr r3, [r7, #4]
1271 006a 0122 movs r2, #1
1272 006c 83F84420 strb r2, [r3, #68]
587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
1273 .loc 1 589 10
1274 0070 0023 movs r3, #0
590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1275 .loc 1 590 1
1276 0072 1846 mov r0, r3
1277 0074 0837 adds r7, r7, #8
1278 .cfi_def_cfa_offset 8
1279 0076 BD46 mov sp, r7
1280 .cfi_def_cfa_register 13
1281 @ sp needed
1282 0078 80BD pop {r7, pc}
1283 .cfi_endproc
1284 .LFE139:
1286 .section .text.HAL_TIMEx_OCN_Start,"ax",%progbits
1287 .align 1
1288 .global HAL_TIMEx_OCN_Start
1289 .syntax unified
1290 .thumb
1291 .thumb_func
1293 HAL_TIMEx_OCN_Start:
1294 .LFB140:
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @}
594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx_Exported_Functions_Group2 Extended Timer Complementary Output Compare functions
597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Timer Complementary Output Compare functions
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @verbatim
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
ARM GAS /tmp/ccxRWv8k.s page 34
601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ##### Timer Complementary Output Compare functions #####
602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** [..]
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** This section provides functions allowing to:
605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary Output Compare/PWM.
606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary Output Compare/PWM.
607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary Output Compare/PWM and enable interrupts.
608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary Output Compare/PWM and disable interrupts.
609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary Output Compare/PWM and enable DMA transfers.
610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary Output Compare/PWM and disable DMA transfers.
611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endverbatim
613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the TIM Output Compare signal generation on the complementary
618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * output.
619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Output Compare handle
620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be enabled
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OCN_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1295 .loc 1 628 1
1296 .cfi_startproc
1297 @ args = 0, pretend = 0, frame = 16
1298 @ frame_needed = 1, uses_anonymous_args = 0
1299 0000 80B5 push {r7, lr}
1300 .cfi_def_cfa_offset 8
1301 .cfi_offset 7, -8
1302 .cfi_offset 14, -4
1303 0002 84B0 sub sp, sp, #16
1304 .cfi_def_cfa_offset 24
1305 0004 00AF add r7, sp, #0
1306 .cfi_def_cfa_register 7
1307 0006 7860 str r0, [r7, #4]
1308 0008 3960 str r1, [r7]
629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the TIM complementary channel state */
635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (TIM_CHANNEL_N_STATE_GET(htim, Channel) != HAL_TIM_CHANNEL_STATE_READY)
1309 .loc 1 635 46
1310 000a 3B68 ldr r3, [r7]
1311 000c 002B cmp r3, #0
1312 000e 09D1 bne .L60
1313 .loc 1 635 7 discriminator 1
1314 0010 7B68 ldr r3, [r7, #4]
1315 0012 93F84430 ldrb r3, [r3, #68]
1316 0016 DBB2 uxtb r3, r3
ARM GAS /tmp/ccxRWv8k.s page 35
1317 .loc 1 635 46 discriminator 1
1318 0018 012B cmp r3, #1
1319 001a 14BF ite ne
1320 001c 0123 movne r3, #1
1321 001e 0023 moveq r3, #0
1322 0020 DBB2 uxtb r3, r3
1323 0022 22E0 b .L61
1324 .L60:
1325 .loc 1 635 46 is_stmt 0 discriminator 2
1326 0024 3B68 ldr r3, [r7]
1327 0026 042B cmp r3, #4
1328 0028 09D1 bne .L62
1329 .loc 1 635 7 is_stmt 1 discriminator 4
1330 002a 7B68 ldr r3, [r7, #4]
1331 002c 93F84530 ldrb r3, [r3, #69]
1332 0030 DBB2 uxtb r3, r3
1333 .loc 1 635 46 discriminator 4
1334 0032 012B cmp r3, #1
1335 0034 14BF ite ne
1336 0036 0123 movne r3, #1
1337 0038 0023 moveq r3, #0
1338 003a DBB2 uxtb r3, r3
1339 003c 15E0 b .L61
1340 .L62:
1341 .loc 1 635 46 is_stmt 0 discriminator 5
1342 003e 3B68 ldr r3, [r7]
1343 0040 082B cmp r3, #8
1344 0042 09D1 bne .L64
1345 .loc 1 635 7 is_stmt 1 discriminator 7
1346 0044 7B68 ldr r3, [r7, #4]
1347 0046 93F84630 ldrb r3, [r3, #70]
1348 004a DBB2 uxtb r3, r3
1349 .loc 1 635 46 discriminator 7
1350 004c 012B cmp r3, #1
1351 004e 14BF ite ne
1352 0050 0123 movne r3, #1
1353 0052 0023 moveq r3, #0
1354 0054 DBB2 uxtb r3, r3
1355 0056 08E0 b .L61
1356 .L64:
1357 .loc 1 635 7 discriminator 8
1358 0058 7B68 ldr r3, [r7, #4]
1359 005a 93F84730 ldrb r3, [r3, #71]
1360 005e DBB2 uxtb r3, r3
1361 .loc 1 635 46 discriminator 8
1362 0060 012B cmp r3, #1
1363 0062 14BF ite ne
1364 0064 0123 movne r3, #1
1365 0066 0023 moveq r3, #0
1366 0068 DBB2 uxtb r3, r3
1367 .L61:
1368 .loc 1 635 6 discriminator 12
1369 006a 002B cmp r3, #0
1370 006c 01D0 beq .L66
636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
1371 .loc 1 637 12
ARM GAS /tmp/ccxRWv8k.s page 36
1372 006e 0123 movs r3, #1
1373 0070 64E0 b .L67
1374 .L66:
638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_BUSY);
1375 .loc 1 641 3
1376 0072 3B68 ldr r3, [r7]
1377 0074 002B cmp r3, #0
1378 0076 04D1 bne .L68
1379 .loc 1 641 3 is_stmt 0 discriminator 1
1380 0078 7B68 ldr r3, [r7, #4]
1381 007a 0222 movs r2, #2
1382 007c 83F84420 strb r2, [r3, #68]
1383 0080 13E0 b .L69
1384 .L68:
1385 .loc 1 641 3 discriminator 2
1386 0082 3B68 ldr r3, [r7]
1387 0084 042B cmp r3, #4
1388 0086 04D1 bne .L70
1389 .loc 1 641 3 discriminator 3
1390 0088 7B68 ldr r3, [r7, #4]
1391 008a 0222 movs r2, #2
1392 008c 83F84520 strb r2, [r3, #69]
1393 0090 0BE0 b .L69
1394 .L70:
1395 .loc 1 641 3 discriminator 4
1396 0092 3B68 ldr r3, [r7]
1397 0094 082B cmp r3, #8
1398 0096 04D1 bne .L72
1399 .loc 1 641 3 discriminator 6
1400 0098 7B68 ldr r3, [r7, #4]
1401 009a 0222 movs r2, #2
1402 009c 83F84620 strb r2, [r3, #70]
1403 00a0 03E0 b .L69
1404 .L72:
1405 .loc 1 641 3 discriminator 7
1406 00a2 7B68 ldr r3, [r7, #4]
1407 00a4 0222 movs r2, #2
1408 00a6 83F84720 strb r2, [r3, #71]
1409 .L69:
642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Capture compare channel N */
644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
1410 .loc 1 644 3 is_stmt 1
1411 00aa 7B68 ldr r3, [r7, #4]
1412 00ac 1B68 ldr r3, [r3]
1413 00ae 0422 movs r2, #4
1414 00b0 3968 ldr r1, [r7]
1415 00b2 1846 mov r0, r3
1416 00b4 FFF7FEFF bl TIM_CCxNChannelCmd
645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Main Output */
647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_ENABLE(htim);
1417 .loc 1 647 3
1418 00b8 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 37
1419 00ba 1B68 ldr r3, [r3]
1420 00bc 5A6C ldr r2, [r3, #68]
1421 00be 7B68 ldr r3, [r7, #4]
1422 00c0 1B68 ldr r3, [r3]
1423 00c2 42F40042 orr r2, r2, #32768
1424 00c6 5A64 str r2, [r3, #68]
648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger
650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
1425 .loc 1 650 7
1426 00c8 7B68 ldr r3, [r7, #4]
1427 00ca 1B68 ldr r3, [r3]
1428 .loc 1 650 6
1429 00cc 1D4A ldr r2, .L79
1430 00ce 9342 cmp r3, r2
1431 00d0 13D0 beq .L74
1432 .loc 1 650 7 discriminator 1
1433 00d2 7B68 ldr r3, [r7, #4]
1434 00d4 1B68 ldr r3, [r3]
1435 00d6 B3F1804F cmp r3, #1073741824
1436 00da 0ED0 beq .L74
1437 .loc 1 650 7 is_stmt 0 discriminator 2
1438 00dc 7B68 ldr r3, [r7, #4]
1439 00de 1B68 ldr r3, [r3]
1440 00e0 194A ldr r2, .L79+4
1441 00e2 9342 cmp r3, r2
1442 00e4 09D0 beq .L74
1443 .loc 1 650 7 discriminator 3
1444 00e6 7B68 ldr r3, [r7, #4]
1445 00e8 1B68 ldr r3, [r3]
1446 00ea 184A ldr r2, .L79+8
1447 00ec 9342 cmp r3, r2
1448 00ee 04D0 beq .L74
1449 .loc 1 650 7 discriminator 4
1450 00f0 7B68 ldr r3, [r7, #4]
1451 00f2 1B68 ldr r3, [r3]
1452 00f4 164A ldr r2, .L79+12
1453 00f6 9342 cmp r3, r2
1454 00f8 15D1 bne .L75
1455 .L74:
651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
1456 .loc 1 652 19 is_stmt 1
1457 00fa 7B68 ldr r3, [r7, #4]
1458 00fc 1B68 ldr r3, [r3]
1459 .loc 1 652 29
1460 00fe 9A68 ldr r2, [r3, #8]
1461 .loc 1 652 13
1462 0100 144B ldr r3, .L79+16
1463 0102 1340 ands r3, r3, r2
1464 0104 FB60 str r3, [r7, #12]
653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
1465 .loc 1 653 8
1466 0106 FB68 ldr r3, [r7, #12]
1467 0108 062B cmp r3, #6
1468 010a 15D0 beq .L78
1469 .loc 1 653 9 discriminator 1
ARM GAS /tmp/ccxRWv8k.s page 38
1470 010c FB68 ldr r3, [r7, #12]
1471 010e B3F5803F cmp r3, #65536
1472 0112 11D0 beq .L78
654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
1473 .loc 1 655 7
1474 0114 7B68 ldr r3, [r7, #4]
1475 0116 1B68 ldr r3, [r3]
1476 0118 1A68 ldr r2, [r3]
1477 011a 7B68 ldr r3, [r7, #4]
1478 011c 1B68 ldr r3, [r3]
1479 011e 42F00102 orr r2, r2, #1
1480 0122 1A60 str r2, [r3]
653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
1481 .loc 1 653 8
1482 0124 08E0 b .L78
1483 .L75:
656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
1484 .loc 1 660 5
1485 0126 7B68 ldr r3, [r7, #4]
1486 0128 1B68 ldr r3, [r3]
1487 012a 1A68 ldr r2, [r3]
1488 012c 7B68 ldr r3, [r7, #4]
1489 012e 1B68 ldr r3, [r3]
1490 0130 42F00102 orr r2, r2, #1
1491 0134 1A60 str r2, [r3]
1492 0136 00E0 b .L77
1493 .L78:
653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1494 .loc 1 653 8
1495 0138 00BF nop
1496 .L77:
661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
1497 .loc 1 664 10
1498 013a 0023 movs r3, #0
1499 .L67:
665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1500 .loc 1 665 1
1501 013c 1846 mov r0, r3
1502 013e 1037 adds r7, r7, #16
1503 .cfi_def_cfa_offset 8
1504 0140 BD46 mov sp, r7
1505 .cfi_def_cfa_register 13
1506 @ sp needed
1507 0142 80BD pop {r7, pc}
1508 .L80:
1509 .align 2
1510 .L79:
1511 0144 002C0140 .word 1073818624
1512 0148 00040040 .word 1073742848
ARM GAS /tmp/ccxRWv8k.s page 39
1513 014c 00080040 .word 1073743872
1514 0150 00400140 .word 1073823744
1515 0154 07000100 .word 65543
1516 .cfi_endproc
1517 .LFE140:
1519 .section .text.HAL_TIMEx_OCN_Stop,"ax",%progbits
1520 .align 1
1521 .global HAL_TIMEx_OCN_Stop
1522 .syntax unified
1523 .thumb
1524 .thumb_func
1526 HAL_TIMEx_OCN_Stop:
1527 .LFB141:
666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the TIM Output Compare signal generation on the complementary
669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * output.
670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be disabled
672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OCN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1528 .loc 1 679 1
1529 .cfi_startproc
1530 @ args = 0, pretend = 0, frame = 8
1531 @ frame_needed = 1, uses_anonymous_args = 0
1532 0000 80B5 push {r7, lr}
1533 .cfi_def_cfa_offset 8
1534 .cfi_offset 7, -8
1535 .cfi_offset 14, -4
1536 0002 82B0 sub sp, sp, #8
1537 .cfi_def_cfa_offset 16
1538 0004 00AF add r7, sp, #0
1539 .cfi_def_cfa_register 7
1540 0006 7860 str r0, [r7, #4]
1541 0008 3960 str r1, [r7]
680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Capture compare channel N */
684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
1542 .loc 1 684 3
1543 000a 7B68 ldr r3, [r7, #4]
1544 000c 1B68 ldr r3, [r3]
1545 000e 0022 movs r2, #0
1546 0010 3968 ldr r1, [r7]
1547 0012 1846 mov r0, r3
1548 0014 FFF7FEFF bl TIM_CCxNChannelCmd
685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Main Output */
687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_DISABLE(htim);
1549 .loc 1 687 3
ARM GAS /tmp/ccxRWv8k.s page 40
1550 0018 7B68 ldr r3, [r7, #4]
1551 001a 1B68 ldr r3, [r3]
1552 001c 1A6A ldr r2, [r3, #32]
1553 001e 41F21113 movw r3, #4369
1554 0022 1340 ands r3, r3, r2
1555 0024 002B cmp r3, #0
1556 0026 0FD1 bne .L82
1557 .loc 1 687 3 is_stmt 0 discriminator 1
1558 0028 7B68 ldr r3, [r7, #4]
1559 002a 1B68 ldr r3, [r3]
1560 002c 1A6A ldr r2, [r3, #32]
1561 002e 40F24443 movw r3, #1092
1562 0032 1340 ands r3, r3, r2
1563 0034 002B cmp r3, #0
1564 0036 07D1 bne .L82
1565 .loc 1 687 3 discriminator 2
1566 0038 7B68 ldr r3, [r7, #4]
1567 003a 1B68 ldr r3, [r3]
1568 003c 5A6C ldr r2, [r3, #68]
1569 003e 7B68 ldr r3, [r7, #4]
1570 0040 1B68 ldr r3, [r3]
1571 0042 22F40042 bic r2, r2, #32768
1572 0046 5A64 str r2, [r3, #68]
1573 .L82:
688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
1574 .loc 1 690 3 is_stmt 1
1575 0048 7B68 ldr r3, [r7, #4]
1576 004a 1B68 ldr r3, [r3]
1577 004c 1A6A ldr r2, [r3, #32]
1578 004e 41F21113 movw r3, #4369
1579 0052 1340 ands r3, r3, r2
1580 0054 002B cmp r3, #0
1581 0056 0FD1 bne .L83
1582 .loc 1 690 3 is_stmt 0 discriminator 1
1583 0058 7B68 ldr r3, [r7, #4]
1584 005a 1B68 ldr r3, [r3]
1585 005c 1A6A ldr r2, [r3, #32]
1586 005e 40F24443 movw r3, #1092
1587 0062 1340 ands r3, r3, r2
1588 0064 002B cmp r3, #0
1589 0066 07D1 bne .L83
1590 .loc 1 690 3 discriminator 2
1591 0068 7B68 ldr r3, [r7, #4]
1592 006a 1B68 ldr r3, [r3]
1593 006c 1A68 ldr r2, [r3]
1594 006e 7B68 ldr r3, [r7, #4]
1595 0070 1B68 ldr r3, [r3]
1596 0072 22F00102 bic r2, r2, #1
1597 0076 1A60 str r2, [r3]
1598 .L83:
691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_READY);
1599 .loc 1 693 3 is_stmt 1
1600 0078 3B68 ldr r3, [r7]
ARM GAS /tmp/ccxRWv8k.s page 41
1601 007a 002B cmp r3, #0
1602 007c 04D1 bne .L84
1603 .loc 1 693 3 is_stmt 0 discriminator 1
1604 007e 7B68 ldr r3, [r7, #4]
1605 0080 0122 movs r2, #1
1606 0082 83F84420 strb r2, [r3, #68]
1607 0086 13E0 b .L85
1608 .L84:
1609 .loc 1 693 3 discriminator 2
1610 0088 3B68 ldr r3, [r7]
1611 008a 042B cmp r3, #4
1612 008c 04D1 bne .L86
1613 .loc 1 693 3 discriminator 3
1614 008e 7B68 ldr r3, [r7, #4]
1615 0090 0122 movs r2, #1
1616 0092 83F84520 strb r2, [r3, #69]
1617 0096 0BE0 b .L85
1618 .L86:
1619 .loc 1 693 3 discriminator 4
1620 0098 3B68 ldr r3, [r7]
1621 009a 082B cmp r3, #8
1622 009c 04D1 bne .L88
1623 .loc 1 693 3 discriminator 6
1624 009e 7B68 ldr r3, [r7, #4]
1625 00a0 0122 movs r2, #1
1626 00a2 83F84620 strb r2, [r3, #70]
1627 00a6 03E0 b .L85
1628 .L88:
1629 .loc 1 693 3 discriminator 7
1630 00a8 7B68 ldr r3, [r7, #4]
1631 00aa 0122 movs r2, #1
1632 00ac 83F84720 strb r2, [r3, #71]
1633 .L85:
694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
1634 .loc 1 696 10 is_stmt 1
1635 00b0 0023 movs r3, #0
697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1636 .loc 1 697 1
1637 00b2 1846 mov r0, r3
1638 00b4 0837 adds r7, r7, #8
1639 .cfi_def_cfa_offset 8
1640 00b6 BD46 mov sp, r7
1641 .cfi_def_cfa_register 13
1642 @ sp needed
1643 00b8 80BD pop {r7, pc}
1644 .cfi_endproc
1645 .LFE141:
1647 .section .text.HAL_TIMEx_OCN_Start_IT,"ax",%progbits
1648 .align 1
1649 .global HAL_TIMEx_OCN_Start_IT
1650 .syntax unified
1651 .thumb
1652 .thumb_func
1654 HAL_TIMEx_OCN_Start_IT:
1655 .LFB142:
ARM GAS /tmp/ccxRWv8k.s page 42
698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the TIM Output Compare signal generation in interrupt mode
701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * on the complementary output.
702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM OC handle
703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be enabled
704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OCN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1656 .loc 1 711 1
1657 .cfi_startproc
1658 @ args = 0, pretend = 0, frame = 16
1659 @ frame_needed = 1, uses_anonymous_args = 0
1660 0000 80B5 push {r7, lr}
1661 .cfi_def_cfa_offset 8
1662 .cfi_offset 7, -8
1663 .cfi_offset 14, -4
1664 0002 84B0 sub sp, sp, #16
1665 .cfi_def_cfa_offset 24
1666 0004 00AF add r7, sp, #0
1667 .cfi_def_cfa_register 7
1668 0006 7860 str r0, [r7, #4]
1669 0008 3960 str r1, [r7]
712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef status = HAL_OK;
1670 .loc 1 712 21
1671 000a 0023 movs r3, #0
1672 000c FB73 strb r3, [r7, #15]
713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the TIM complementary channel state */
719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (TIM_CHANNEL_N_STATE_GET(htim, Channel) != HAL_TIM_CHANNEL_STATE_READY)
1673 .loc 1 719 46
1674 000e 3B68 ldr r3, [r7]
1675 0010 002B cmp r3, #0
1676 0012 09D1 bne .L92
1677 .loc 1 719 7 discriminator 1
1678 0014 7B68 ldr r3, [r7, #4]
1679 0016 93F84430 ldrb r3, [r3, #68]
1680 001a DBB2 uxtb r3, r3
1681 .loc 1 719 46 discriminator 1
1682 001c 012B cmp r3, #1
1683 001e 14BF ite ne
1684 0020 0123 movne r3, #1
1685 0022 0023 moveq r3, #0
1686 0024 DBB2 uxtb r3, r3
1687 0026 22E0 b .L93
1688 .L92:
1689 .loc 1 719 46 is_stmt 0 discriminator 2
1690 0028 3B68 ldr r3, [r7]
ARM GAS /tmp/ccxRWv8k.s page 43
1691 002a 042B cmp r3, #4
1692 002c 09D1 bne .L94
1693 .loc 1 719 7 is_stmt 1 discriminator 4
1694 002e 7B68 ldr r3, [r7, #4]
1695 0030 93F84530 ldrb r3, [r3, #69]
1696 0034 DBB2 uxtb r3, r3
1697 .loc 1 719 46 discriminator 4
1698 0036 012B cmp r3, #1
1699 0038 14BF ite ne
1700 003a 0123 movne r3, #1
1701 003c 0023 moveq r3, #0
1702 003e DBB2 uxtb r3, r3
1703 0040 15E0 b .L93
1704 .L94:
1705 .loc 1 719 46 is_stmt 0 discriminator 5
1706 0042 3B68 ldr r3, [r7]
1707 0044 082B cmp r3, #8
1708 0046 09D1 bne .L96
1709 .loc 1 719 7 is_stmt 1 discriminator 7
1710 0048 7B68 ldr r3, [r7, #4]
1711 004a 93F84630 ldrb r3, [r3, #70]
1712 004e DBB2 uxtb r3, r3
1713 .loc 1 719 46 discriminator 7
1714 0050 012B cmp r3, #1
1715 0052 14BF ite ne
1716 0054 0123 movne r3, #1
1717 0056 0023 moveq r3, #0
1718 0058 DBB2 uxtb r3, r3
1719 005a 08E0 b .L93
1720 .L96:
1721 .loc 1 719 7 discriminator 8
1722 005c 7B68 ldr r3, [r7, #4]
1723 005e 93F84730 ldrb r3, [r3, #71]
1724 0062 DBB2 uxtb r3, r3
1725 .loc 1 719 46 discriminator 8
1726 0064 012B cmp r3, #1
1727 0066 14BF ite ne
1728 0068 0123 movne r3, #1
1729 006a 0023 moveq r3, #0
1730 006c DBB2 uxtb r3, r3
1731 .L93:
1732 .loc 1 719 6 discriminator 12
1733 006e 002B cmp r3, #0
1734 0070 01D0 beq .L98
720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
1735 .loc 1 721 12
1736 0072 0123 movs r3, #1
1737 0074 9AE0 b .L99
1738 .L98:
722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_BUSY);
1739 .loc 1 725 3
1740 0076 3B68 ldr r3, [r7]
1741 0078 002B cmp r3, #0
ARM GAS /tmp/ccxRWv8k.s page 44
1742 007a 04D1 bne .L100
1743 .loc 1 725 3 is_stmt 0 discriminator 1
1744 007c 7B68 ldr r3, [r7, #4]
1745 007e 0222 movs r2, #2
1746 0080 83F84420 strb r2, [r3, #68]
1747 0084 13E0 b .L101
1748 .L100:
1749 .loc 1 725 3 discriminator 2
1750 0086 3B68 ldr r3, [r7]
1751 0088 042B cmp r3, #4
1752 008a 04D1 bne .L102
1753 .loc 1 725 3 discriminator 3
1754 008c 7B68 ldr r3, [r7, #4]
1755 008e 0222 movs r2, #2
1756 0090 83F84520 strb r2, [r3, #69]
1757 0094 0BE0 b .L101
1758 .L102:
1759 .loc 1 725 3 discriminator 4
1760 0096 3B68 ldr r3, [r7]
1761 0098 082B cmp r3, #8
1762 009a 04D1 bne .L104
1763 .loc 1 725 3 discriminator 6
1764 009c 7B68 ldr r3, [r7, #4]
1765 009e 0222 movs r2, #2
1766 00a0 83F84620 strb r2, [r3, #70]
1767 00a4 03E0 b .L101
1768 .L104:
1769 .loc 1 725 3 discriminator 7
1770 00a6 7B68 ldr r3, [r7, #4]
1771 00a8 0222 movs r2, #2
1772 00aa 83F84720 strb r2, [r3, #71]
1773 .L101:
726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** switch (Channel)
1774 .loc 1 727 3 is_stmt 1
1775 00ae 3B68 ldr r3, [r7]
1776 00b0 082B cmp r3, #8
1777 00b2 1BD0 beq .L106
1778 00b4 3B68 ldr r3, [r7]
1779 00b6 082B cmp r3, #8
1780 00b8 21D8 bhi .L107
1781 00ba 3B68 ldr r3, [r7]
1782 00bc 002B cmp r3, #0
1783 00be 03D0 beq .L108
1784 00c0 3B68 ldr r3, [r7]
1785 00c2 042B cmp r3, #4
1786 00c4 09D0 beq .L109
1787 00c6 1AE0 b .L107
1788 .L108:
728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_1:
730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Output Compare interrupt */
732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1);
1789 .loc 1 732 7
1790 00c8 7B68 ldr r3, [r7, #4]
1791 00ca 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 45
1792 00cc DA68 ldr r2, [r3, #12]
1793 00ce 7B68 ldr r3, [r7, #4]
1794 00d0 1B68 ldr r3, [r3]
1795 00d2 42F00202 orr r2, r2, #2
1796 00d6 DA60 str r2, [r3, #12]
733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
1797 .loc 1 733 7
1798 00d8 14E0 b .L110
1799 .L109:
734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_2:
737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Output Compare interrupt */
739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2);
1800 .loc 1 739 7
1801 00da 7B68 ldr r3, [r7, #4]
1802 00dc 1B68 ldr r3, [r3]
1803 00de DA68 ldr r2, [r3, #12]
1804 00e0 7B68 ldr r3, [r7, #4]
1805 00e2 1B68 ldr r3, [r3]
1806 00e4 42F00402 orr r2, r2, #4
1807 00e8 DA60 str r2, [r3, #12]
740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
1808 .loc 1 740 7
1809 00ea 0BE0 b .L110
1810 .L106:
741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_3:
744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Output Compare interrupt */
746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC3);
1811 .loc 1 746 7
1812 00ec 7B68 ldr r3, [r7, #4]
1813 00ee 1B68 ldr r3, [r3]
1814 00f0 DA68 ldr r2, [r3, #12]
1815 00f2 7B68 ldr r3, [r7, #4]
1816 00f4 1B68 ldr r3, [r3]
1817 00f6 42F00802 orr r2, r2, #8
1818 00fa DA60 str r2, [r3, #12]
747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
1819 .loc 1 747 7
1820 00fc 02E0 b .L110
1821 .L107:
748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** default:
752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** status = HAL_ERROR;
1822 .loc 1 752 14
1823 00fe 0123 movs r3, #1
1824 0100 FB73 strb r3, [r7, #15]
753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
1825 .loc 1 753 7
1826 0102 00BF nop
1827 .L110:
ARM GAS /tmp/ccxRWv8k.s page 46
754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (status == HAL_OK)
1828 .loc 1 756 6
1829 0104 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
1830 0106 002B cmp r3, #0
1831 0108 4FD1 bne .L111
757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Break interrupt */
759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_BREAK);
1832 .loc 1 759 5
1833 010a 7B68 ldr r3, [r7, #4]
1834 010c 1B68 ldr r3, [r3]
1835 010e DA68 ldr r2, [r3, #12]
1836 0110 7B68 ldr r3, [r7, #4]
1837 0112 1B68 ldr r3, [r3]
1838 0114 42F08002 orr r2, r2, #128
1839 0118 DA60 str r2, [r3, #12]
760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Capture compare channel N */
762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
1840 .loc 1 762 5
1841 011a 7B68 ldr r3, [r7, #4]
1842 011c 1B68 ldr r3, [r3]
1843 011e 0422 movs r2, #4
1844 0120 3968 ldr r1, [r7]
1845 0122 1846 mov r0, r3
1846 0124 FFF7FEFF bl TIM_CCxNChannelCmd
763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Main Output */
765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_ENABLE(htim);
1847 .loc 1 765 5
1848 0128 7B68 ldr r3, [r7, #4]
1849 012a 1B68 ldr r3, [r3]
1850 012c 5A6C ldr r2, [r3, #68]
1851 012e 7B68 ldr r3, [r7, #4]
1852 0130 1B68 ldr r3, [r3]
1853 0132 42F40042 orr r2, r2, #32768
1854 0136 5A64 str r2, [r3, #68]
766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigge
768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
1855 .loc 1 768 9
1856 0138 7B68 ldr r3, [r7, #4]
1857 013a 1B68 ldr r3, [r3]
1858 .loc 1 768 8
1859 013c 1D4A ldr r2, .L116
1860 013e 9342 cmp r3, r2
1861 0140 13D0 beq .L112
1862 .loc 1 768 9 discriminator 1
1863 0142 7B68 ldr r3, [r7, #4]
1864 0144 1B68 ldr r3, [r3]
1865 0146 B3F1804F cmp r3, #1073741824
1866 014a 0ED0 beq .L112
1867 .loc 1 768 9 is_stmt 0 discriminator 2
1868 014c 7B68 ldr r3, [r7, #4]
1869 014e 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 47
1870 0150 194A ldr r2, .L116+4
1871 0152 9342 cmp r3, r2
1872 0154 09D0 beq .L112
1873 .loc 1 768 9 discriminator 3
1874 0156 7B68 ldr r3, [r7, #4]
1875 0158 1B68 ldr r3, [r3]
1876 015a 184A ldr r2, .L116+8
1877 015c 9342 cmp r3, r2
1878 015e 04D0 beq .L112
1879 .loc 1 768 9 discriminator 4
1880 0160 7B68 ldr r3, [r7, #4]
1881 0162 1B68 ldr r3, [r3]
1882 0164 164A ldr r2, .L116+12
1883 0166 9342 cmp r3, r2
1884 0168 15D1 bne .L113
1885 .L112:
769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
1886 .loc 1 770 21 is_stmt 1
1887 016a 7B68 ldr r3, [r7, #4]
1888 016c 1B68 ldr r3, [r3]
1889 .loc 1 770 31
1890 016e 9A68 ldr r2, [r3, #8]
1891 .loc 1 770 15
1892 0170 144B ldr r3, .L116+16
1893 0172 1340 ands r3, r3, r2
1894 0174 BB60 str r3, [r7, #8]
771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
1895 .loc 1 771 10
1896 0176 BB68 ldr r3, [r7, #8]
1897 0178 062B cmp r3, #6
1898 017a 15D0 beq .L115
1899 .loc 1 771 11 discriminator 1
1900 017c BB68 ldr r3, [r7, #8]
1901 017e B3F5803F cmp r3, #65536
1902 0182 11D0 beq .L115
772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
1903 .loc 1 773 9
1904 0184 7B68 ldr r3, [r7, #4]
1905 0186 1B68 ldr r3, [r3]
1906 0188 1A68 ldr r2, [r3]
1907 018a 7B68 ldr r3, [r7, #4]
1908 018c 1B68 ldr r3, [r3]
1909 018e 42F00102 orr r2, r2, #1
1910 0192 1A60 str r2, [r3]
771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
1911 .loc 1 771 10
1912 0194 08E0 b .L115
1913 .L113:
774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
1914 .loc 1 778 7
1915 0196 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 48
1916 0198 1B68 ldr r3, [r3]
1917 019a 1A68 ldr r2, [r3]
1918 019c 7B68 ldr r3, [r7, #4]
1919 019e 1B68 ldr r3, [r3]
1920 01a0 42F00102 orr r2, r2, #1
1921 01a4 1A60 str r2, [r3]
1922 01a6 00E0 b .L111
1923 .L115:
771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1924 .loc 1 771 10
1925 01a8 00BF nop
1926 .L111:
779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return status;
1927 .loc 1 783 10
1928 01aa FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
1929 .L99:
784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1930 .loc 1 784 1
1931 01ac 1846 mov r0, r3
1932 01ae 1037 adds r7, r7, #16
1933 .cfi_def_cfa_offset 8
1934 01b0 BD46 mov sp, r7
1935 .cfi_def_cfa_register 13
1936 @ sp needed
1937 01b2 80BD pop {r7, pc}
1938 .L117:
1939 .align 2
1940 .L116:
1941 01b4 002C0140 .word 1073818624
1942 01b8 00040040 .word 1073742848
1943 01bc 00080040 .word 1073743872
1944 01c0 00400140 .word 1073823744
1945 01c4 07000100 .word 65543
1946 .cfi_endproc
1947 .LFE142:
1949 .section .text.HAL_TIMEx_OCN_Stop_IT,"ax",%progbits
1950 .align 1
1951 .global HAL_TIMEx_OCN_Stop_IT
1952 .syntax unified
1953 .thumb
1954 .thumb_func
1956 HAL_TIMEx_OCN_Stop_IT:
1957 .LFB143:
785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the TIM Output Compare signal generation in interrupt mode
788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * on the complementary output.
789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Output Compare handle
790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be disabled
791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
ARM GAS /tmp/ccxRWv8k.s page 49
795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1958 .loc 1 798 1
1959 .cfi_startproc
1960 @ args = 0, pretend = 0, frame = 16
1961 @ frame_needed = 1, uses_anonymous_args = 0
1962 0000 80B5 push {r7, lr}
1963 .cfi_def_cfa_offset 8
1964 .cfi_offset 7, -8
1965 .cfi_offset 14, -4
1966 0002 84B0 sub sp, sp, #16
1967 .cfi_def_cfa_offset 24
1968 0004 00AF add r7, sp, #0
1969 .cfi_def_cfa_register 7
1970 0006 7860 str r0, [r7, #4]
1971 0008 3960 str r1, [r7]
799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef status = HAL_OK;
1972 .loc 1 799 21
1973 000a 0023 movs r3, #0
1974 000c FB73 strb r3, [r7, #15]
800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpccer;
801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** switch (Channel)
1975 .loc 1 805 3
1976 000e 3B68 ldr r3, [r7]
1977 0010 082B cmp r3, #8
1978 0012 1BD0 beq .L119
1979 0014 3B68 ldr r3, [r7]
1980 0016 082B cmp r3, #8
1981 0018 21D8 bhi .L120
1982 001a 3B68 ldr r3, [r7]
1983 001c 002B cmp r3, #0
1984 001e 03D0 beq .L121
1985 0020 3B68 ldr r3, [r7]
1986 0022 042B cmp r3, #4
1987 0024 09D0 beq .L122
1988 0026 1AE0 b .L120
1989 .L121:
806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_1:
808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Output Compare interrupt */
810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1);
1990 .loc 1 810 7
1991 0028 7B68 ldr r3, [r7, #4]
1992 002a 1B68 ldr r3, [r3]
1993 002c DA68 ldr r2, [r3, #12]
1994 002e 7B68 ldr r3, [r7, #4]
1995 0030 1B68 ldr r3, [r3]
1996 0032 22F00202 bic r2, r2, #2
1997 0036 DA60 str r2, [r3, #12]
811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
ARM GAS /tmp/ccxRWv8k.s page 50
1998 .loc 1 811 7
1999 0038 14E0 b .L123
2000 .L122:
812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_2:
815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Output Compare interrupt */
817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2);
2001 .loc 1 817 7
2002 003a 7B68 ldr r3, [r7, #4]
2003 003c 1B68 ldr r3, [r3]
2004 003e DA68 ldr r2, [r3, #12]
2005 0040 7B68 ldr r3, [r7, #4]
2006 0042 1B68 ldr r3, [r3]
2007 0044 22F00402 bic r2, r2, #4
2008 0048 DA60 str r2, [r3, #12]
818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2009 .loc 1 818 7
2010 004a 0BE0 b .L123
2011 .L119:
819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_3:
822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Output Compare interrupt */
824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC3);
2012 .loc 1 824 7
2013 004c 7B68 ldr r3, [r7, #4]
2014 004e 1B68 ldr r3, [r3]
2015 0050 DA68 ldr r2, [r3, #12]
2016 0052 7B68 ldr r3, [r7, #4]
2017 0054 1B68 ldr r3, [r3]
2018 0056 22F00802 bic r2, r2, #8
2019 005a DA60 str r2, [r3, #12]
825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2020 .loc 1 825 7
2021 005c 02E0 b .L123
2022 .L120:
826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** default:
829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** status = HAL_ERROR;
2023 .loc 1 829 14
2024 005e 0123 movs r3, #1
2025 0060 FB73 strb r3, [r7, #15]
830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2026 .loc 1 830 7
2027 0062 00BF nop
2028 .L123:
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (status == HAL_OK)
2029 .loc 1 833 6
2030 0064 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
2031 0066 002B cmp r3, #0
2032 0068 64D1 bne .L124
ARM GAS /tmp/ccxRWv8k.s page 51
834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Capture compare channel N */
836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
2033 .loc 1 836 5
2034 006a 7B68 ldr r3, [r7, #4]
2035 006c 1B68 ldr r3, [r3]
2036 006e 0022 movs r2, #0
2037 0070 3968 ldr r1, [r7]
2038 0072 1846 mov r0, r3
2039 0074 FFF7FEFF bl TIM_CCxNChannelCmd
837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Break interrupt (only if no more channel is active) */
839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpccer = htim->Instance->CCER;
2040 .loc 1 839 19
2041 0078 7B68 ldr r3, [r7, #4]
2042 007a 1B68 ldr r3, [r3]
2043 .loc 1 839 13
2044 007c 1B6A ldr r3, [r3, #32]
2045 007e BB60 str r3, [r7, #8]
840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((tmpccer & (TIM_CCER_CC1NE | TIM_CCER_CC2NE | TIM_CCER_CC3NE)) == (uint32_t)RESET)
2046 .loc 1 840 18
2047 0080 BA68 ldr r2, [r7, #8]
2048 0082 40F24443 movw r3, #1092
2049 0086 1340 ands r3, r3, r2
2050 .loc 1 840 8
2051 0088 002B cmp r3, #0
2052 008a 07D1 bne .L125
841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_BREAK);
2053 .loc 1 842 7
2054 008c 7B68 ldr r3, [r7, #4]
2055 008e 1B68 ldr r3, [r3]
2056 0090 DA68 ldr r2, [r3, #12]
2057 0092 7B68 ldr r3, [r7, #4]
2058 0094 1B68 ldr r3, [r3]
2059 0096 22F08002 bic r2, r2, #128
2060 009a DA60 str r2, [r3, #12]
2061 .L125:
843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Main Output */
846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_DISABLE(htim);
2062 .loc 1 846 5
2063 009c 7B68 ldr r3, [r7, #4]
2064 009e 1B68 ldr r3, [r3]
2065 00a0 1A6A ldr r2, [r3, #32]
2066 00a2 41F21113 movw r3, #4369
2067 00a6 1340 ands r3, r3, r2
2068 00a8 002B cmp r3, #0
2069 00aa 0FD1 bne .L126
2070 .loc 1 846 5 is_stmt 0 discriminator 1
2071 00ac 7B68 ldr r3, [r7, #4]
2072 00ae 1B68 ldr r3, [r3]
2073 00b0 1A6A ldr r2, [r3, #32]
2074 00b2 40F24443 movw r3, #1092
2075 00b6 1340 ands r3, r3, r2
2076 00b8 002B cmp r3, #0
ARM GAS /tmp/ccxRWv8k.s page 52
2077 00ba 07D1 bne .L126
2078 .loc 1 846 5 discriminator 2
2079 00bc 7B68 ldr r3, [r7, #4]
2080 00be 1B68 ldr r3, [r3]
2081 00c0 5A6C ldr r2, [r3, #68]
2082 00c2 7B68 ldr r3, [r7, #4]
2083 00c4 1B68 ldr r3, [r3]
2084 00c6 22F40042 bic r2, r2, #32768
2085 00ca 5A64 str r2, [r3, #68]
2086 .L126:
847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
2087 .loc 1 849 5 is_stmt 1
2088 00cc 7B68 ldr r3, [r7, #4]
2089 00ce 1B68 ldr r3, [r3]
2090 00d0 1A6A ldr r2, [r3, #32]
2091 00d2 41F21113 movw r3, #4369
2092 00d6 1340 ands r3, r3, r2
2093 00d8 002B cmp r3, #0
2094 00da 0FD1 bne .L127
2095 .loc 1 849 5 is_stmt 0 discriminator 1
2096 00dc 7B68 ldr r3, [r7, #4]
2097 00de 1B68 ldr r3, [r3]
2098 00e0 1A6A ldr r2, [r3, #32]
2099 00e2 40F24443 movw r3, #1092
2100 00e6 1340 ands r3, r3, r2
2101 00e8 002B cmp r3, #0
2102 00ea 07D1 bne .L127
2103 .loc 1 849 5 discriminator 2
2104 00ec 7B68 ldr r3, [r7, #4]
2105 00ee 1B68 ldr r3, [r3]
2106 00f0 1A68 ldr r2, [r3]
2107 00f2 7B68 ldr r3, [r7, #4]
2108 00f4 1B68 ldr r3, [r3]
2109 00f6 22F00102 bic r2, r2, #1
2110 00fa 1A60 str r2, [r3]
2111 .L127:
850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_READY);
2112 .loc 1 852 5 is_stmt 1
2113 00fc 3B68 ldr r3, [r7]
2114 00fe 002B cmp r3, #0
2115 0100 04D1 bne .L128
2116 .loc 1 852 5 is_stmt 0 discriminator 1
2117 0102 7B68 ldr r3, [r7, #4]
2118 0104 0122 movs r2, #1
2119 0106 83F84420 strb r2, [r3, #68]
2120 010a 13E0 b .L124
2121 .L128:
2122 .loc 1 852 5 discriminator 2
2123 010c 3B68 ldr r3, [r7]
2124 010e 042B cmp r3, #4
2125 0110 04D1 bne .L129
2126 .loc 1 852 5 discriminator 3
2127 0112 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 53
2128 0114 0122 movs r2, #1
2129 0116 83F84520 strb r2, [r3, #69]
2130 011a 0BE0 b .L124
2131 .L129:
2132 .loc 1 852 5 discriminator 4
2133 011c 3B68 ldr r3, [r7]
2134 011e 082B cmp r3, #8
2135 0120 04D1 bne .L131
2136 .loc 1 852 5 discriminator 6
2137 0122 7B68 ldr r3, [r7, #4]
2138 0124 0122 movs r2, #1
2139 0126 83F84620 strb r2, [r3, #70]
2140 012a 03E0 b .L124
2141 .L131:
2142 .loc 1 852 5 discriminator 7
2143 012c 7B68 ldr r3, [r7, #4]
2144 012e 0122 movs r2, #1
2145 0130 83F84720 strb r2, [r3, #71]
2146 .L124:
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return status;
2147 .loc 1 856 10 is_stmt 1
2148 0134 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2149 .loc 1 857 1
2150 0136 1846 mov r0, r3
2151 0138 1037 adds r7, r7, #16
2152 .cfi_def_cfa_offset 8
2153 013a BD46 mov sp, r7
2154 .cfi_def_cfa_register 13
2155 @ sp needed
2156 013c 80BD pop {r7, pc}
2157 .cfi_endproc
2158 .LFE143:
2160 .section .text.HAL_TIMEx_OCN_Start_DMA,"ax",%progbits
2161 .align 1
2162 .global HAL_TIMEx_OCN_Start_DMA
2163 .syntax unified
2164 .thumb
2165 .thumb_func
2167 HAL_TIMEx_OCN_Start_DMA:
2168 .LFB144:
858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the TIM Output Compare signal generation in DMA mode
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * on the complementary output.
862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Output Compare handle
863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be enabled
864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param pData The source Buffer address.
869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Length The length of data to be transferred from memory to TIM peripheral
870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
ARM GAS /tmp/ccxRWv8k.s page 54
871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OCN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t
873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint16_t Length)
874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2169 .loc 1 874 1
2170 .cfi_startproc
2171 @ args = 0, pretend = 0, frame = 24
2172 @ frame_needed = 1, uses_anonymous_args = 0
2173 0000 80B5 push {r7, lr}
2174 .cfi_def_cfa_offset 8
2175 .cfi_offset 7, -8
2176 .cfi_offset 14, -4
2177 0002 86B0 sub sp, sp, #24
2178 .cfi_def_cfa_offset 32
2179 0004 00AF add r7, sp, #0
2180 .cfi_def_cfa_register 7
2181 0006 F860 str r0, [r7, #12]
2182 0008 B960 str r1, [r7, #8]
2183 000a 7A60 str r2, [r7, #4]
2184 000c 7B80 strh r3, [r7, #2] @ movhi
875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef status = HAL_OK;
2185 .loc 1 875 21
2186 000e 0023 movs r3, #0
2187 0010 FB75 strb r3, [r7, #23]
876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (TIM_CHANNEL_N_STATE_GET(htim, Channel) == HAL_TIM_CHANNEL_STATE_BUSY)
2188 .loc 1 882 46
2189 0012 BB68 ldr r3, [r7, #8]
2190 0014 002B cmp r3, #0
2191 0016 09D1 bne .L135
2192 .loc 1 882 7 discriminator 1
2193 0018 FB68 ldr r3, [r7, #12]
2194 001a 93F84430 ldrb r3, [r3, #68]
2195 001e DBB2 uxtb r3, r3
2196 .loc 1 882 46 discriminator 1
2197 0020 022B cmp r3, #2
2198 0022 0CBF ite eq
2199 0024 0123 moveq r3, #1
2200 0026 0023 movne r3, #0
2201 0028 DBB2 uxtb r3, r3
2202 002a 22E0 b .L136
2203 .L135:
2204 .loc 1 882 46 is_stmt 0 discriminator 2
2205 002c BB68 ldr r3, [r7, #8]
2206 002e 042B cmp r3, #4
2207 0030 09D1 bne .L137
2208 .loc 1 882 7 is_stmt 1 discriminator 4
2209 0032 FB68 ldr r3, [r7, #12]
2210 0034 93F84530 ldrb r3, [r3, #69]
2211 0038 DBB2 uxtb r3, r3
2212 .loc 1 882 46 discriminator 4
2213 003a 022B cmp r3, #2
ARM GAS /tmp/ccxRWv8k.s page 55
2214 003c 0CBF ite eq
2215 003e 0123 moveq r3, #1
2216 0040 0023 movne r3, #0
2217 0042 DBB2 uxtb r3, r3
2218 0044 15E0 b .L136
2219 .L137:
2220 .loc 1 882 46 is_stmt 0 discriminator 5
2221 0046 BB68 ldr r3, [r7, #8]
2222 0048 082B cmp r3, #8
2223 004a 09D1 bne .L139
2224 .loc 1 882 7 is_stmt 1 discriminator 7
2225 004c FB68 ldr r3, [r7, #12]
2226 004e 93F84630 ldrb r3, [r3, #70]
2227 0052 DBB2 uxtb r3, r3
2228 .loc 1 882 46 discriminator 7
2229 0054 022B cmp r3, #2
2230 0056 0CBF ite eq
2231 0058 0123 moveq r3, #1
2232 005a 0023 movne r3, #0
2233 005c DBB2 uxtb r3, r3
2234 005e 08E0 b .L136
2235 .L139:
2236 .loc 1 882 7 discriminator 8
2237 0060 FB68 ldr r3, [r7, #12]
2238 0062 93F84730 ldrb r3, [r3, #71]
2239 0066 DBB2 uxtb r3, r3
2240 .loc 1 882 46 discriminator 8
2241 0068 022B cmp r3, #2
2242 006a 0CBF ite eq
2243 006c 0123 moveq r3, #1
2244 006e 0023 movne r3, #0
2245 0070 DBB2 uxtb r3, r3
2246 .L136:
2247 .loc 1 882 6 discriminator 12
2248 0072 002B cmp r3, #0
2249 0074 01D0 beq .L141
883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_BUSY;
2250 .loc 1 884 12
2251 0076 0223 movs r3, #2
2252 0078 20E1 b .L142
2253 .L141:
885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else if (TIM_CHANNEL_N_STATE_GET(htim, Channel) == HAL_TIM_CHANNEL_STATE_READY)
2254 .loc 1 886 51
2255 007a BB68 ldr r3, [r7, #8]
2256 007c 002B cmp r3, #0
2257 007e 09D1 bne .L143
2258 .loc 1 886 12 discriminator 1
2259 0080 FB68 ldr r3, [r7, #12]
2260 0082 93F84430 ldrb r3, [r3, #68]
2261 0086 DBB2 uxtb r3, r3
2262 .loc 1 886 51 discriminator 1
2263 0088 012B cmp r3, #1
2264 008a 0CBF ite eq
2265 008c 0123 moveq r3, #1
2266 008e 0023 movne r3, #0
ARM GAS /tmp/ccxRWv8k.s page 56
2267 0090 DBB2 uxtb r3, r3
2268 0092 22E0 b .L144
2269 .L143:
2270 .loc 1 886 51 is_stmt 0 discriminator 2
2271 0094 BB68 ldr r3, [r7, #8]
2272 0096 042B cmp r3, #4
2273 0098 09D1 bne .L145
2274 .loc 1 886 12 is_stmt 1 discriminator 4
2275 009a FB68 ldr r3, [r7, #12]
2276 009c 93F84530 ldrb r3, [r3, #69]
2277 00a0 DBB2 uxtb r3, r3
2278 .loc 1 886 51 discriminator 4
2279 00a2 012B cmp r3, #1
2280 00a4 0CBF ite eq
2281 00a6 0123 moveq r3, #1
2282 00a8 0023 movne r3, #0
2283 00aa DBB2 uxtb r3, r3
2284 00ac 15E0 b .L144
2285 .L145:
2286 .loc 1 886 51 is_stmt 0 discriminator 5
2287 00ae BB68 ldr r3, [r7, #8]
2288 00b0 082B cmp r3, #8
2289 00b2 09D1 bne .L147
2290 .loc 1 886 12 is_stmt 1 discriminator 7
2291 00b4 FB68 ldr r3, [r7, #12]
2292 00b6 93F84630 ldrb r3, [r3, #70]
2293 00ba DBB2 uxtb r3, r3
2294 .loc 1 886 51 discriminator 7
2295 00bc 012B cmp r3, #1
2296 00be 0CBF ite eq
2297 00c0 0123 moveq r3, #1
2298 00c2 0023 movne r3, #0
2299 00c4 DBB2 uxtb r3, r3
2300 00c6 08E0 b .L144
2301 .L147:
2302 .loc 1 886 12 discriminator 8
2303 00c8 FB68 ldr r3, [r7, #12]
2304 00ca 93F84730 ldrb r3, [r3, #71]
2305 00ce DBB2 uxtb r3, r3
2306 .loc 1 886 51 discriminator 8
2307 00d0 012B cmp r3, #1
2308 00d2 0CBF ite eq
2309 00d4 0123 moveq r3, #1
2310 00d6 0023 movne r3, #0
2311 00d8 DBB2 uxtb r3, r3
2312 .L144:
2313 .loc 1 886 11 discriminator 12
2314 00da 002B cmp r3, #0
2315 00dc 24D0 beq .L149
887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((pData == NULL) || (Length == 0U))
2316 .loc 1 888 8
2317 00de 7B68 ldr r3, [r7, #4]
2318 00e0 002B cmp r3, #0
2319 00e2 02D0 beq .L150
2320 .loc 1 888 25 discriminator 1
2321 00e4 7B88 ldrh r3, [r7, #2]
ARM GAS /tmp/ccxRWv8k.s page 57
2322 00e6 002B cmp r3, #0
2323 00e8 01D1 bne .L151
2324 .L150:
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
2325 .loc 1 890 14
2326 00ea 0123 movs r3, #1
2327 00ec E6E0 b .L142
2328 .L151:
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_BUSY);
2329 .loc 1 894 7
2330 00ee BB68 ldr r3, [r7, #8]
2331 00f0 002B cmp r3, #0
2332 00f2 04D1 bne .L152
2333 .loc 1 894 7 is_stmt 0 discriminator 1
2334 00f4 FB68 ldr r3, [r7, #12]
2335 00f6 0222 movs r2, #2
2336 00f8 83F84420 strb r2, [r3, #68]
2337 00fc 16E0 b .L153
2338 .L152:
2339 .loc 1 894 7 discriminator 2
2340 00fe BB68 ldr r3, [r7, #8]
2341 0100 042B cmp r3, #4
2342 0102 04D1 bne .L154
2343 .loc 1 894 7 discriminator 3
2344 0104 FB68 ldr r3, [r7, #12]
2345 0106 0222 movs r2, #2
2346 0108 83F84520 strb r2, [r3, #69]
2347 .loc 1 894 7 discriminator 10
2348 010c 0EE0 b .L153
2349 .L154:
2350 .loc 1 894 7 discriminator 4
2351 010e BB68 ldr r3, [r7, #8]
2352 0110 082B cmp r3, #8
2353 0112 04D1 bne .L156
2354 .loc 1 894 7 discriminator 6
2355 0114 FB68 ldr r3, [r7, #12]
2356 0116 0222 movs r2, #2
2357 0118 83F84620 strb r2, [r3, #70]
2358 .loc 1 894 7 discriminator 10
2359 011c 06E0 b .L153
2360 .L156:
2361 .loc 1 894 7 discriminator 7
2362 011e FB68 ldr r3, [r7, #12]
2363 0120 0222 movs r2, #2
2364 0122 83F84720 strb r2, [r3, #71]
2365 0126 01E0 b .L153
2366 .L149:
895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
2367 .loc 1 899 12 is_stmt 1
ARM GAS /tmp/ccxRWv8k.s page 58
2368 0128 0123 movs r3, #1
2369 012a C7E0 b .L142
2370 .L153:
900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** switch (Channel)
2371 .loc 1 902 3
2372 012c BB68 ldr r3, [r7, #8]
2373 012e 082B cmp r3, #8
2374 0130 51D0 beq .L158
2375 0132 BB68 ldr r3, [r7, #8]
2376 0134 082B cmp r3, #8
2377 0136 72D8 bhi .L159
2378 0138 BB68 ldr r3, [r7, #8]
2379 013a 002B cmp r3, #0
2380 013c 03D0 beq .L160
2381 013e BB68 ldr r3, [r7, #8]
2382 0140 042B cmp r3, #4
2383 0142 24D0 beq .L161
2384 0144 6BE0 b .L159
2385 .L160:
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_1:
905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA compare callbacks */
907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = TIM_DMADelayPulseNCplt;
2386 .loc 1 907 17
2387 0146 FB68 ldr r3, [r7, #12]
2388 0148 5B6A ldr r3, [r3, #36]
2389 .loc 1 907 52
2390 014a 5E4A ldr r2, .L171
2391 014c 9A62 str r2, [r3, #40]
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC1]->XferHalfCpltCallback = TIM_DMADelayPulseHalfCplt;
2392 .loc 1 908 17
2393 014e FB68 ldr r3, [r7, #12]
2394 0150 5B6A ldr r3, [r3, #36]
2395 .loc 1 908 56
2396 0152 5D4A ldr r2, .L171+4
2397 0154 DA62 str r2, [r3, #44]
909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA error callback */
911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = TIM_DMAErrorCCxN ;
2398 .loc 1 911 17
2399 0156 FB68 ldr r3, [r7, #12]
2400 0158 5B6A ldr r3, [r3, #36]
2401 .loc 1 911 53
2402 015a 5C4A ldr r2, .L171+8
2403 015c 1A63 str r2, [r3, #48]
912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the DMA channel */
914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)pData, (uint32_t)&htim->Instance->
2404 .loc 1 914 11
2405 015e FB68 ldr r3, [r7, #12]
2406 0160 586A ldr r0, [r3, #36]
2407 0162 7968 ldr r1, [r7, #4]
2408 .loc 1 914 88
2409 0164 FB68 ldr r3, [r7, #12]
ARM GAS /tmp/ccxRWv8k.s page 59
2410 0166 1B68 ldr r3, [r3]
2411 .loc 1 914 83
2412 0168 3433 adds r3, r3, #52
2413 .loc 1 914 11
2414 016a 1A46 mov r2, r3
2415 016c 7B88 ldrh r3, [r7, #2]
2416 016e FFF7FEFF bl HAL_DMA_Start_IT
2417 0172 0346 mov r3, r0
2418 .loc 1 914 10 discriminator 1
2419 0174 002B cmp r3, #0
2420 0176 01D0 beq .L162
915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** Length) != HAL_OK)
916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return error status */
918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
2421 .loc 1 918 16
2422 0178 0123 movs r3, #1
2423 017a 9FE0 b .L142
2424 .L162:
919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Output Compare DMA request */
921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1);
2425 .loc 1 921 7
2426 017c FB68 ldr r3, [r7, #12]
2427 017e 1B68 ldr r3, [r3]
2428 0180 DA68 ldr r2, [r3, #12]
2429 0182 FB68 ldr r3, [r7, #12]
2430 0184 1B68 ldr r3, [r3]
2431 0186 42F40072 orr r2, r2, #512
2432 018a DA60 str r2, [r3, #12]
922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2433 .loc 1 922 7
2434 018c 4AE0 b .L163
2435 .L161:
923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_2:
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA compare callbacks */
928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = TIM_DMADelayPulseNCplt;
2436 .loc 1 928 17
2437 018e FB68 ldr r3, [r7, #12]
2438 0190 9B6A ldr r3, [r3, #40]
2439 .loc 1 928 52
2440 0192 4C4A ldr r2, .L171
2441 0194 9A62 str r2, [r3, #40]
929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC2]->XferHalfCpltCallback = TIM_DMADelayPulseHalfCplt;
2442 .loc 1 929 17
2443 0196 FB68 ldr r3, [r7, #12]
2444 0198 9B6A ldr r3, [r3, #40]
2445 .loc 1 929 56
2446 019a 4B4A ldr r2, .L171+4
2447 019c DA62 str r2, [r3, #44]
930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA error callback */
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = TIM_DMAErrorCCxN ;
2448 .loc 1 932 17
ARM GAS /tmp/ccxRWv8k.s page 60
2449 019e FB68 ldr r3, [r7, #12]
2450 01a0 9B6A ldr r3, [r3, #40]
2451 .loc 1 932 53
2452 01a2 4A4A ldr r2, .L171+8
2453 01a4 1A63 str r2, [r3, #48]
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the DMA channel */
935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)pData, (uint32_t)&htim->Instance->
2454 .loc 1 935 11
2455 01a6 FB68 ldr r3, [r7, #12]
2456 01a8 986A ldr r0, [r3, #40]
2457 01aa 7968 ldr r1, [r7, #4]
2458 .loc 1 935 88
2459 01ac FB68 ldr r3, [r7, #12]
2460 01ae 1B68 ldr r3, [r3]
2461 .loc 1 935 83
2462 01b0 3833 adds r3, r3, #56
2463 .loc 1 935 11
2464 01b2 1A46 mov r2, r3
2465 01b4 7B88 ldrh r3, [r7, #2]
2466 01b6 FFF7FEFF bl HAL_DMA_Start_IT
2467 01ba 0346 mov r3, r0
2468 .loc 1 935 10 discriminator 1
2469 01bc 002B cmp r3, #0
2470 01be 01D0 beq .L164
936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** Length) != HAL_OK)
937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return error status */
939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
2471 .loc 1 939 16
2472 01c0 0123 movs r3, #1
2473 01c2 7BE0 b .L142
2474 .L164:
940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Output Compare DMA request */
942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2);
2475 .loc 1 942 7
2476 01c4 FB68 ldr r3, [r7, #12]
2477 01c6 1B68 ldr r3, [r3]
2478 01c8 DA68 ldr r2, [r3, #12]
2479 01ca FB68 ldr r3, [r7, #12]
2480 01cc 1B68 ldr r3, [r3]
2481 01ce 42F48062 orr r2, r2, #1024
2482 01d2 DA60 str r2, [r3, #12]
943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2483 .loc 1 943 7
2484 01d4 26E0 b .L163
2485 .L158:
944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_3:
947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA compare callbacks */
949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = TIM_DMADelayPulseNCplt;
2486 .loc 1 949 17
2487 01d6 FB68 ldr r3, [r7, #12]
2488 01d8 DB6A ldr r3, [r3, #44]
ARM GAS /tmp/ccxRWv8k.s page 61
2489 .loc 1 949 52
2490 01da 3A4A ldr r2, .L171
2491 01dc 9A62 str r2, [r3, #40]
950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC3]->XferHalfCpltCallback = TIM_DMADelayPulseHalfCplt;
2492 .loc 1 950 17
2493 01de FB68 ldr r3, [r7, #12]
2494 01e0 DB6A ldr r3, [r3, #44]
2495 .loc 1 950 56
2496 01e2 394A ldr r2, .L171+4
2497 01e4 DA62 str r2, [r3, #44]
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA error callback */
953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = TIM_DMAErrorCCxN ;
2498 .loc 1 953 17
2499 01e6 FB68 ldr r3, [r7, #12]
2500 01e8 DB6A ldr r3, [r3, #44]
2501 .loc 1 953 53
2502 01ea 384A ldr r2, .L171+8
2503 01ec 1A63 str r2, [r3, #48]
954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the DMA channel */
956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)pData, (uint32_t)&htim->Instance->
2504 .loc 1 956 11
2505 01ee FB68 ldr r3, [r7, #12]
2506 01f0 D86A ldr r0, [r3, #44]
2507 01f2 7968 ldr r1, [r7, #4]
2508 .loc 1 956 88
2509 01f4 FB68 ldr r3, [r7, #12]
2510 01f6 1B68 ldr r3, [r3]
2511 .loc 1 956 83
2512 01f8 3C33 adds r3, r3, #60
2513 .loc 1 956 11
2514 01fa 1A46 mov r2, r3
2515 01fc 7B88 ldrh r3, [r7, #2]
2516 01fe FFF7FEFF bl HAL_DMA_Start_IT
2517 0202 0346 mov r3, r0
2518 .loc 1 956 10 discriminator 1
2519 0204 002B cmp r3, #0
2520 0206 01D0 beq .L165
957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** Length) != HAL_OK)
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return error status */
960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
2521 .loc 1 960 16
2522 0208 0123 movs r3, #1
2523 020a 57E0 b .L142
2524 .L165:
961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Output Compare DMA request */
963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC3);
2525 .loc 1 963 7
2526 020c FB68 ldr r3, [r7, #12]
2527 020e 1B68 ldr r3, [r3]
2528 0210 DA68 ldr r2, [r3, #12]
2529 0212 FB68 ldr r3, [r7, #12]
2530 0214 1B68 ldr r3, [r3]
2531 0216 42F40062 orr r2, r2, #2048
ARM GAS /tmp/ccxRWv8k.s page 62
2532 021a DA60 str r2, [r3, #12]
964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2533 .loc 1 964 7
2534 021c 02E0 b .L163
2535 .L159:
965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** default:
968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** status = HAL_ERROR;
2536 .loc 1 968 14
2537 021e 0123 movs r3, #1
2538 0220 FB75 strb r3, [r7, #23]
969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2539 .loc 1 969 7
2540 0222 00BF nop
2541 .L163:
970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (status == HAL_OK)
2542 .loc 1 972 6
2543 0224 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
2544 0226 002B cmp r3, #0
2545 0228 47D1 bne .L166
973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Capture compare channel N */
975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
2546 .loc 1 975 5
2547 022a FB68 ldr r3, [r7, #12]
2548 022c 1B68 ldr r3, [r3]
2549 022e 0422 movs r2, #4
2550 0230 B968 ldr r1, [r7, #8]
2551 0232 1846 mov r0, r3
2552 0234 FFF7FEFF bl TIM_CCxNChannelCmd
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Main Output */
978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_ENABLE(htim);
2553 .loc 1 978 5
2554 0238 FB68 ldr r3, [r7, #12]
2555 023a 1B68 ldr r3, [r3]
2556 023c 5A6C ldr r2, [r3, #68]
2557 023e FB68 ldr r3, [r7, #12]
2558 0240 1B68 ldr r3, [r3]
2559 0242 42F40042 orr r2, r2, #32768
2560 0246 5A64 str r2, [r3, #68]
979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigge
981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
2561 .loc 1 981 9
2562 0248 FB68 ldr r3, [r7, #12]
2563 024a 1B68 ldr r3, [r3]
2564 .loc 1 981 8
2565 024c 204A ldr r2, .L171+12
2566 024e 9342 cmp r3, r2
2567 0250 13D0 beq .L167
2568 .loc 1 981 9 discriminator 1
2569 0252 FB68 ldr r3, [r7, #12]
2570 0254 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 63
2571 0256 B3F1804F cmp r3, #1073741824
2572 025a 0ED0 beq .L167
2573 .loc 1 981 9 is_stmt 0 discriminator 2
2574 025c FB68 ldr r3, [r7, #12]
2575 025e 1B68 ldr r3, [r3]
2576 0260 1C4A ldr r2, .L171+16
2577 0262 9342 cmp r3, r2
2578 0264 09D0 beq .L167
2579 .loc 1 981 9 discriminator 3
2580 0266 FB68 ldr r3, [r7, #12]
2581 0268 1B68 ldr r3, [r3]
2582 026a 1B4A ldr r2, .L171+20
2583 026c 9342 cmp r3, r2
2584 026e 04D0 beq .L167
2585 .loc 1 981 9 discriminator 4
2586 0270 FB68 ldr r3, [r7, #12]
2587 0272 1B68 ldr r3, [r3]
2588 0274 194A ldr r2, .L171+24
2589 0276 9342 cmp r3, r2
2590 0278 15D1 bne .L168
2591 .L167:
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
2592 .loc 1 983 21 is_stmt 1
2593 027a FB68 ldr r3, [r7, #12]
2594 027c 1B68 ldr r3, [r3]
2595 .loc 1 983 31
2596 027e 9A68 ldr r2, [r3, #8]
2597 .loc 1 983 15
2598 0280 174B ldr r3, .L171+28
2599 0282 1340 ands r3, r3, r2
2600 0284 3B61 str r3, [r7, #16]
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
2601 .loc 1 984 10
2602 0286 3B69 ldr r3, [r7, #16]
2603 0288 062B cmp r3, #6
2604 028a 15D0 beq .L170
2605 .loc 1 984 11 discriminator 1
2606 028c 3B69 ldr r3, [r7, #16]
2607 028e B3F5803F cmp r3, #65536
2608 0292 11D0 beq .L170
985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
2609 .loc 1 986 9
2610 0294 FB68 ldr r3, [r7, #12]
2611 0296 1B68 ldr r3, [r3]
2612 0298 1A68 ldr r2, [r3]
2613 029a FB68 ldr r3, [r7, #12]
2614 029c 1B68 ldr r3, [r3]
2615 029e 42F00102 orr r2, r2, #1
2616 02a2 1A60 str r2, [r3]
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
2617 .loc 1 984 10
2618 02a4 08E0 b .L170
2619 .L168:
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
ARM GAS /tmp/ccxRWv8k.s page 64
989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
2620 .loc 1 991 7
2621 02a6 FB68 ldr r3, [r7, #12]
2622 02a8 1B68 ldr r3, [r3]
2623 02aa 1A68 ldr r2, [r3]
2624 02ac FB68 ldr r3, [r7, #12]
2625 02ae 1B68 ldr r3, [r3]
2626 02b0 42F00102 orr r2, r2, #1
2627 02b4 1A60 str r2, [r3]
2628 02b6 00E0 b .L166
2629 .L170:
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2630 .loc 1 984 10
2631 02b8 00BF nop
2632 .L166:
992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return status;
2633 .loc 1 996 10
2634 02ba FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
2635 .L142:
997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2636 .loc 1 997 1
2637 02bc 1846 mov r0, r3
2638 02be 1837 adds r7, r7, #24
2639 .cfi_def_cfa_offset 8
2640 02c0 BD46 mov sp, r7
2641 .cfi_def_cfa_register 13
2642 @ sp needed
2643 02c2 80BD pop {r7, pc}
2644 .L172:
2645 .align 2
2646 .L171:
2647 02c4 00000000 .word TIM_DMADelayPulseNCplt
2648 02c8 00000000 .word TIM_DMADelayPulseHalfCplt
2649 02cc 00000000 .word TIM_DMAErrorCCxN
2650 02d0 002C0140 .word 1073818624
2651 02d4 00040040 .word 1073742848
2652 02d8 00080040 .word 1073743872
2653 02dc 00400140 .word 1073823744
2654 02e0 07000100 .word 65543
2655 .cfi_endproc
2656 .LFE144:
2658 .section .text.HAL_TIMEx_OCN_Stop_DMA,"ax",%progbits
2659 .align 1
2660 .global HAL_TIMEx_OCN_Stop_DMA
2661 .syntax unified
2662 .thumb
2663 .thumb_func
2665 HAL_TIMEx_OCN_Stop_DMA:
2666 .LFB145:
998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
ARM GAS /tmp/ccxRWv8k.s page 65
1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the TIM Output Compare signal generation in DMA mode
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * on the complementary output.
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Output Compare handle
1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be disabled
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OCN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2667 .loc 1 1011 1
2668 .cfi_startproc
2669 @ args = 0, pretend = 0, frame = 16
2670 @ frame_needed = 1, uses_anonymous_args = 0
2671 0000 80B5 push {r7, lr}
2672 .cfi_def_cfa_offset 8
2673 .cfi_offset 7, -8
2674 .cfi_offset 14, -4
2675 0002 84B0 sub sp, sp, #16
2676 .cfi_def_cfa_offset 24
2677 0004 00AF add r7, sp, #0
2678 .cfi_def_cfa_register 7
2679 0006 7860 str r0, [r7, #4]
2680 0008 3960 str r1, [r7]
1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef status = HAL_OK;
2681 .loc 1 1012 21
2682 000a 0023 movs r3, #0
2683 000c FB73 strb r3, [r7, #15]
1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** switch (Channel)
2684 .loc 1 1017 3
2685 000e 3B68 ldr r3, [r7]
2686 0010 082B cmp r3, #8
2687 0012 25D0 beq .L174
2688 0014 3B68 ldr r3, [r7]
2689 0016 082B cmp r3, #8
2690 0018 30D8 bhi .L175
2691 001a 3B68 ldr r3, [r7]
2692 001c 002B cmp r3, #0
2693 001e 03D0 beq .L176
2694 0020 3B68 ldr r3, [r7]
2695 0022 042B cmp r3, #4
2696 0024 0ED0 beq .L177
2697 0026 29E0 b .L175
2698 .L176:
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_1:
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Output Compare DMA request */
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1);
2699 .loc 1 1022 7
2700 0028 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 66
2701 002a 1B68 ldr r3, [r3]
2702 002c DA68 ldr r2, [r3, #12]
2703 002e 7B68 ldr r3, [r7, #4]
2704 0030 1B68 ldr r3, [r3]
2705 0032 22F40072 bic r2, r2, #512
2706 0036 DA60 str r2, [r3, #12]
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (void)HAL_DMA_Abort_IT(htim->hdma[TIM_DMA_ID_CC1]);
2707 .loc 1 1023 13
2708 0038 7B68 ldr r3, [r7, #4]
2709 003a 5B6A ldr r3, [r3, #36]
2710 003c 1846 mov r0, r3
2711 003e FFF7FEFF bl HAL_DMA_Abort_IT
1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2712 .loc 1 1024 7
2713 0042 1EE0 b .L178
2714 .L177:
1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_2:
1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Output Compare DMA request */
1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2);
2715 .loc 1 1030 7
2716 0044 7B68 ldr r3, [r7, #4]
2717 0046 1B68 ldr r3, [r3]
2718 0048 DA68 ldr r2, [r3, #12]
2719 004a 7B68 ldr r3, [r7, #4]
2720 004c 1B68 ldr r3, [r3]
2721 004e 22F48062 bic r2, r2, #1024
2722 0052 DA60 str r2, [r3, #12]
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (void)HAL_DMA_Abort_IT(htim->hdma[TIM_DMA_ID_CC2]);
2723 .loc 1 1031 13
2724 0054 7B68 ldr r3, [r7, #4]
2725 0056 9B6A ldr r3, [r3, #40]
2726 0058 1846 mov r0, r3
2727 005a FFF7FEFF bl HAL_DMA_Abort_IT
1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2728 .loc 1 1032 7
2729 005e 10E0 b .L178
2730 .L174:
1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_3:
1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Output Compare DMA request */
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC3);
2731 .loc 1 1038 7
2732 0060 7B68 ldr r3, [r7, #4]
2733 0062 1B68 ldr r3, [r3]
2734 0064 DA68 ldr r2, [r3, #12]
2735 0066 7B68 ldr r3, [r7, #4]
2736 0068 1B68 ldr r3, [r3]
2737 006a 22F40062 bic r2, r2, #2048
2738 006e DA60 str r2, [r3, #12]
1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (void)HAL_DMA_Abort_IT(htim->hdma[TIM_DMA_ID_CC3]);
2739 .loc 1 1039 13
2740 0070 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 67
2741 0072 DB6A ldr r3, [r3, #44]
2742 0074 1846 mov r0, r3
2743 0076 FFF7FEFF bl HAL_DMA_Abort_IT
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2744 .loc 1 1040 7
2745 007a 02E0 b .L178
2746 .L175:
1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** default:
1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** status = HAL_ERROR;
2747 .loc 1 1044 14
2748 007c 0123 movs r3, #1
2749 007e FB73 strb r3, [r7, #15]
1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
2750 .loc 1 1045 7
2751 0080 00BF nop
2752 .L178:
1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (status == HAL_OK)
2753 .loc 1 1048 6
2754 0082 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
2755 0084 002B cmp r3, #0
2756 0086 52D1 bne .L179
1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Capture compare channel N */
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
2757 .loc 1 1051 5
2758 0088 7B68 ldr r3, [r7, #4]
2759 008a 1B68 ldr r3, [r3]
2760 008c 0022 movs r2, #0
2761 008e 3968 ldr r1, [r7]
2762 0090 1846 mov r0, r3
2763 0092 FFF7FEFF bl TIM_CCxNChannelCmd
1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Main Output */
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_DISABLE(htim);
2764 .loc 1 1054 5
2765 0096 7B68 ldr r3, [r7, #4]
2766 0098 1B68 ldr r3, [r3]
2767 009a 1A6A ldr r2, [r3, #32]
2768 009c 41F21113 movw r3, #4369
2769 00a0 1340 ands r3, r3, r2
2770 00a2 002B cmp r3, #0
2771 00a4 0FD1 bne .L180
2772 .loc 1 1054 5 is_stmt 0 discriminator 1
2773 00a6 7B68 ldr r3, [r7, #4]
2774 00a8 1B68 ldr r3, [r3]
2775 00aa 1A6A ldr r2, [r3, #32]
2776 00ac 40F24443 movw r3, #1092
2777 00b0 1340 ands r3, r3, r2
2778 00b2 002B cmp r3, #0
2779 00b4 07D1 bne .L180
2780 .loc 1 1054 5 discriminator 2
2781 00b6 7B68 ldr r3, [r7, #4]
2782 00b8 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 68
2783 00ba 5A6C ldr r2, [r3, #68]
2784 00bc 7B68 ldr r3, [r7, #4]
2785 00be 1B68 ldr r3, [r3]
2786 00c0 22F40042 bic r2, r2, #32768
2787 00c4 5A64 str r2, [r3, #68]
2788 .L180:
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
2789 .loc 1 1057 5 is_stmt 1
2790 00c6 7B68 ldr r3, [r7, #4]
2791 00c8 1B68 ldr r3, [r3]
2792 00ca 1A6A ldr r2, [r3, #32]
2793 00cc 41F21113 movw r3, #4369
2794 00d0 1340 ands r3, r3, r2
2795 00d2 002B cmp r3, #0
2796 00d4 0FD1 bne .L181
2797 .loc 1 1057 5 is_stmt 0 discriminator 1
2798 00d6 7B68 ldr r3, [r7, #4]
2799 00d8 1B68 ldr r3, [r3]
2800 00da 1A6A ldr r2, [r3, #32]
2801 00dc 40F24443 movw r3, #1092
2802 00e0 1340 ands r3, r3, r2
2803 00e2 002B cmp r3, #0
2804 00e4 07D1 bne .L181
2805 .loc 1 1057 5 discriminator 2
2806 00e6 7B68 ldr r3, [r7, #4]
2807 00e8 1B68 ldr r3, [r3]
2808 00ea 1A68 ldr r2, [r3]
2809 00ec 7B68 ldr r3, [r7, #4]
2810 00ee 1B68 ldr r3, [r3]
2811 00f0 22F00102 bic r2, r2, #1
2812 00f4 1A60 str r2, [r3]
2813 .L181:
1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_READY);
2814 .loc 1 1060 5 is_stmt 1
2815 00f6 3B68 ldr r3, [r7]
2816 00f8 002B cmp r3, #0
2817 00fa 04D1 bne .L182
2818 .loc 1 1060 5 is_stmt 0 discriminator 1
2819 00fc 7B68 ldr r3, [r7, #4]
2820 00fe 0122 movs r2, #1
2821 0100 83F84420 strb r2, [r3, #68]
2822 0104 13E0 b .L179
2823 .L182:
2824 .loc 1 1060 5 discriminator 2
2825 0106 3B68 ldr r3, [r7]
2826 0108 042B cmp r3, #4
2827 010a 04D1 bne .L183
2828 .loc 1 1060 5 discriminator 3
2829 010c 7B68 ldr r3, [r7, #4]
2830 010e 0122 movs r2, #1
2831 0110 83F84520 strb r2, [r3, #69]
2832 0114 0BE0 b .L179
2833 .L183:
ARM GAS /tmp/ccxRWv8k.s page 69
2834 .loc 1 1060 5 discriminator 4
2835 0116 3B68 ldr r3, [r7]
2836 0118 082B cmp r3, #8
2837 011a 04D1 bne .L185
2838 .loc 1 1060 5 discriminator 6
2839 011c 7B68 ldr r3, [r7, #4]
2840 011e 0122 movs r2, #1
2841 0120 83F84620 strb r2, [r3, #70]
2842 0124 03E0 b .L179
2843 .L185:
2844 .loc 1 1060 5 discriminator 7
2845 0126 7B68 ldr r3, [r7, #4]
2846 0128 0122 movs r2, #1
2847 012a 83F84720 strb r2, [r3, #71]
2848 .L179:
1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return status;
2849 .loc 1 1064 10 is_stmt 1
2850 012e FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2851 .loc 1 1065 1
2852 0130 1846 mov r0, r3
2853 0132 1037 adds r7, r7, #16
2854 .cfi_def_cfa_offset 8
2855 0134 BD46 mov sp, r7
2856 .cfi_def_cfa_register 13
2857 @ sp needed
2858 0136 80BD pop {r7, pc}
2859 .cfi_endproc
2860 .LFE145:
2862 .section .text.HAL_TIMEx_PWMN_Start,"ax",%progbits
2863 .align 1
2864 .global HAL_TIMEx_PWMN_Start
2865 .syntax unified
2866 .thumb
2867 .thumb_func
2869 HAL_TIMEx_PWMN_Start:
2870 .LFB146:
1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @}
1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx_Exported_Functions_Group3 Extended Timer Complementary PWM functions
1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Timer Complementary PWM functions
1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @verbatim
1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ##### Timer Complementary PWM functions #####
1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** [..]
1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** This section provides functions allowing to:
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary PWM.
1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary PWM.
1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary PWM and enable interrupts.
ARM GAS /tmp/ccxRWv8k.s page 70
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary PWM and disable interrupts.
1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary PWM and enable DMA transfers.
1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary PWM and disable DMA transfers.
1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary Input Capture measurement.
1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary Input Capture.
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary Input Capture and enable interrupts.
1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary Input Capture and disable interrupts.
1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary Input Capture and enable DMA transfers.
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary Input Capture and disable DMA transfers.
1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary One Pulse generation.
1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary One Pulse.
1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary One Pulse and enable interrupts.
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary One Pulse and disable interrupts.
1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endverbatim
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the PWM signal generation on the complementary output.
1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be enabled
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_PWMN_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2871 .loc 1 1112 1
2872 .cfi_startproc
2873 @ args = 0, pretend = 0, frame = 16
2874 @ frame_needed = 1, uses_anonymous_args = 0
2875 0000 80B5 push {r7, lr}
2876 .cfi_def_cfa_offset 8
2877 .cfi_offset 7, -8
2878 .cfi_offset 14, -4
2879 0002 84B0 sub sp, sp, #16
2880 .cfi_def_cfa_offset 24
2881 0004 00AF add r7, sp, #0
2882 .cfi_def_cfa_register 7
2883 0006 7860 str r0, [r7, #4]
2884 0008 3960 str r1, [r7]
1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the TIM complementary channel state */
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (TIM_CHANNEL_N_STATE_GET(htim, Channel) != HAL_TIM_CHANNEL_STATE_READY)
2885 .loc 1 1119 46
2886 000a 3B68 ldr r3, [r7]
2887 000c 002B cmp r3, #0
2888 000e 09D1 bne .L189
2889 .loc 1 1119 7 discriminator 1
2890 0010 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 71
2891 0012 93F84430 ldrb r3, [r3, #68]
2892 0016 DBB2 uxtb r3, r3
2893 .loc 1 1119 46 discriminator 1
2894 0018 012B cmp r3, #1
2895 001a 14BF ite ne
2896 001c 0123 movne r3, #1
2897 001e 0023 moveq r3, #0
2898 0020 DBB2 uxtb r3, r3
2899 0022 22E0 b .L190
2900 .L189:
2901 .loc 1 1119 46 is_stmt 0 discriminator 2
2902 0024 3B68 ldr r3, [r7]
2903 0026 042B cmp r3, #4
2904 0028 09D1 bne .L191
2905 .loc 1 1119 7 is_stmt 1 discriminator 4
2906 002a 7B68 ldr r3, [r7, #4]
2907 002c 93F84530 ldrb r3, [r3, #69]
2908 0030 DBB2 uxtb r3, r3
2909 .loc 1 1119 46 discriminator 4
2910 0032 012B cmp r3, #1
2911 0034 14BF ite ne
2912 0036 0123 movne r3, #1
2913 0038 0023 moveq r3, #0
2914 003a DBB2 uxtb r3, r3
2915 003c 15E0 b .L190
2916 .L191:
2917 .loc 1 1119 46 is_stmt 0 discriminator 5
2918 003e 3B68 ldr r3, [r7]
2919 0040 082B cmp r3, #8
2920 0042 09D1 bne .L193
2921 .loc 1 1119 7 is_stmt 1 discriminator 7
2922 0044 7B68 ldr r3, [r7, #4]
2923 0046 93F84630 ldrb r3, [r3, #70]
2924 004a DBB2 uxtb r3, r3
2925 .loc 1 1119 46 discriminator 7
2926 004c 012B cmp r3, #1
2927 004e 14BF ite ne
2928 0050 0123 movne r3, #1
2929 0052 0023 moveq r3, #0
2930 0054 DBB2 uxtb r3, r3
2931 0056 08E0 b .L190
2932 .L193:
2933 .loc 1 1119 7 discriminator 8
2934 0058 7B68 ldr r3, [r7, #4]
2935 005a 93F84730 ldrb r3, [r3, #71]
2936 005e DBB2 uxtb r3, r3
2937 .loc 1 1119 46 discriminator 8
2938 0060 012B cmp r3, #1
2939 0062 14BF ite ne
2940 0064 0123 movne r3, #1
2941 0066 0023 moveq r3, #0
2942 0068 DBB2 uxtb r3, r3
2943 .L190:
2944 .loc 1 1119 6 discriminator 12
2945 006a 002B cmp r3, #0
2946 006c 01D0 beq .L195
1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
ARM GAS /tmp/ccxRWv8k.s page 72
1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
2947 .loc 1 1121 12
2948 006e 0123 movs r3, #1
2949 0070 64E0 b .L196
2950 .L195:
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_BUSY);
2951 .loc 1 1125 3
2952 0072 3B68 ldr r3, [r7]
2953 0074 002B cmp r3, #0
2954 0076 04D1 bne .L197
2955 .loc 1 1125 3 is_stmt 0 discriminator 1
2956 0078 7B68 ldr r3, [r7, #4]
2957 007a 0222 movs r2, #2
2958 007c 83F84420 strb r2, [r3, #68]
2959 0080 13E0 b .L198
2960 .L197:
2961 .loc 1 1125 3 discriminator 2
2962 0082 3B68 ldr r3, [r7]
2963 0084 042B cmp r3, #4
2964 0086 04D1 bne .L199
2965 .loc 1 1125 3 discriminator 3
2966 0088 7B68 ldr r3, [r7, #4]
2967 008a 0222 movs r2, #2
2968 008c 83F84520 strb r2, [r3, #69]
2969 0090 0BE0 b .L198
2970 .L199:
2971 .loc 1 1125 3 discriminator 4
2972 0092 3B68 ldr r3, [r7]
2973 0094 082B cmp r3, #8
2974 0096 04D1 bne .L201
2975 .loc 1 1125 3 discriminator 6
2976 0098 7B68 ldr r3, [r7, #4]
2977 009a 0222 movs r2, #2
2978 009c 83F84620 strb r2, [r3, #70]
2979 00a0 03E0 b .L198
2980 .L201:
2981 .loc 1 1125 3 discriminator 7
2982 00a2 7B68 ldr r3, [r7, #4]
2983 00a4 0222 movs r2, #2
2984 00a6 83F84720 strb r2, [r3, #71]
2985 .L198:
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the complementary PWM output */
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
2986 .loc 1 1128 3 is_stmt 1
2987 00aa 7B68 ldr r3, [r7, #4]
2988 00ac 1B68 ldr r3, [r3]
2989 00ae 0422 movs r2, #4
2990 00b0 3968 ldr r1, [r7]
2991 00b2 1846 mov r0, r3
2992 00b4 FFF7FEFF bl TIM_CCxNChannelCmd
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Main Output */
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_ENABLE(htim);
ARM GAS /tmp/ccxRWv8k.s page 73
2993 .loc 1 1131 3
2994 00b8 7B68 ldr r3, [r7, #4]
2995 00ba 1B68 ldr r3, [r3]
2996 00bc 5A6C ldr r2, [r3, #68]
2997 00be 7B68 ldr r3, [r7, #4]
2998 00c0 1B68 ldr r3, [r3]
2999 00c2 42F40042 orr r2, r2, #32768
3000 00c6 5A64 str r2, [r3, #68]
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
3001 .loc 1 1134 7
3002 00c8 7B68 ldr r3, [r7, #4]
3003 00ca 1B68 ldr r3, [r3]
3004 .loc 1 1134 6
3005 00cc 1D4A ldr r2, .L208
3006 00ce 9342 cmp r3, r2
3007 00d0 13D0 beq .L203
3008 .loc 1 1134 7 discriminator 1
3009 00d2 7B68 ldr r3, [r7, #4]
3010 00d4 1B68 ldr r3, [r3]
3011 00d6 B3F1804F cmp r3, #1073741824
3012 00da 0ED0 beq .L203
3013 .loc 1 1134 7 is_stmt 0 discriminator 2
3014 00dc 7B68 ldr r3, [r7, #4]
3015 00de 1B68 ldr r3, [r3]
3016 00e0 194A ldr r2, .L208+4
3017 00e2 9342 cmp r3, r2
3018 00e4 09D0 beq .L203
3019 .loc 1 1134 7 discriminator 3
3020 00e6 7B68 ldr r3, [r7, #4]
3021 00e8 1B68 ldr r3, [r3]
3022 00ea 184A ldr r2, .L208+8
3023 00ec 9342 cmp r3, r2
3024 00ee 04D0 beq .L203
3025 .loc 1 1134 7 discriminator 4
3026 00f0 7B68 ldr r3, [r7, #4]
3027 00f2 1B68 ldr r3, [r3]
3028 00f4 164A ldr r2, .L208+12
3029 00f6 9342 cmp r3, r2
3030 00f8 15D1 bne .L204
3031 .L203:
1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
3032 .loc 1 1136 19 is_stmt 1
3033 00fa 7B68 ldr r3, [r7, #4]
3034 00fc 1B68 ldr r3, [r3]
3035 .loc 1 1136 29
3036 00fe 9A68 ldr r2, [r3, #8]
3037 .loc 1 1136 13
3038 0100 144B ldr r3, .L208+16
3039 0102 1340 ands r3, r3, r2
3040 0104 FB60 str r3, [r7, #12]
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
3041 .loc 1 1137 8
3042 0106 FB68 ldr r3, [r7, #12]
3043 0108 062B cmp r3, #6
ARM GAS /tmp/ccxRWv8k.s page 74
3044 010a 15D0 beq .L207
3045 .loc 1 1137 9 discriminator 1
3046 010c FB68 ldr r3, [r7, #12]
3047 010e B3F5803F cmp r3, #65536
3048 0112 11D0 beq .L207
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
3049 .loc 1 1139 7
3050 0114 7B68 ldr r3, [r7, #4]
3051 0116 1B68 ldr r3, [r3]
3052 0118 1A68 ldr r2, [r3]
3053 011a 7B68 ldr r3, [r7, #4]
3054 011c 1B68 ldr r3, [r3]
3055 011e 42F00102 orr r2, r2, #1
3056 0122 1A60 str r2, [r3]
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
3057 .loc 1 1137 8
3058 0124 08E0 b .L207
3059 .L204:
1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
3060 .loc 1 1144 5
3061 0126 7B68 ldr r3, [r7, #4]
3062 0128 1B68 ldr r3, [r3]
3063 012a 1A68 ldr r2, [r3]
3064 012c 7B68 ldr r3, [r7, #4]
3065 012e 1B68 ldr r3, [r3]
3066 0130 42F00102 orr r2, r2, #1
3067 0134 1A60 str r2, [r3]
3068 0136 00E0 b .L206
3069 .L207:
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
3070 .loc 1 1137 8
3071 0138 00BF nop
3072 .L206:
1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
3073 .loc 1 1148 10
3074 013a 0023 movs r3, #0
3075 .L196:
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
3076 .loc 1 1149 1
3077 013c 1846 mov r0, r3
3078 013e 1037 adds r7, r7, #16
3079 .cfi_def_cfa_offset 8
3080 0140 BD46 mov sp, r7
3081 .cfi_def_cfa_register 13
3082 @ sp needed
3083 0142 80BD pop {r7, pc}
3084 .L209:
3085 .align 2
3086 .L208:
ARM GAS /tmp/ccxRWv8k.s page 75
3087 0144 002C0140 .word 1073818624
3088 0148 00040040 .word 1073742848
3089 014c 00080040 .word 1073743872
3090 0150 00400140 .word 1073823744
3091 0154 07000100 .word 65543
3092 .cfi_endproc
3093 .LFE146:
3095 .section .text.HAL_TIMEx_PWMN_Stop,"ax",%progbits
3096 .align 1
3097 .global HAL_TIMEx_PWMN_Stop
3098 .syntax unified
3099 .thumb
3100 .thumb_func
3102 HAL_TIMEx_PWMN_Stop:
3103 .LFB147:
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the PWM signal generation on the complementary output.
1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be disabled
1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
3104 .loc 1 1162 1
3105 .cfi_startproc
3106 @ args = 0, pretend = 0, frame = 8
3107 @ frame_needed = 1, uses_anonymous_args = 0
3108 0000 80B5 push {r7, lr}
3109 .cfi_def_cfa_offset 8
3110 .cfi_offset 7, -8
3111 .cfi_offset 14, -4
3112 0002 82B0 sub sp, sp, #8
3113 .cfi_def_cfa_offset 16
3114 0004 00AF add r7, sp, #0
3115 .cfi_def_cfa_register 7
3116 0006 7860 str r0, [r7, #4]
3117 0008 3960 str r1, [r7]
1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the complementary PWM output */
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
3118 .loc 1 1167 3
3119 000a 7B68 ldr r3, [r7, #4]
3120 000c 1B68 ldr r3, [r3]
3121 000e 0022 movs r2, #0
3122 0010 3968 ldr r1, [r7]
3123 0012 1846 mov r0, r3
3124 0014 FFF7FEFF bl TIM_CCxNChannelCmd
1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Main Output */
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_DISABLE(htim);
ARM GAS /tmp/ccxRWv8k.s page 76
3125 .loc 1 1170 3
3126 0018 7B68 ldr r3, [r7, #4]
3127 001a 1B68 ldr r3, [r3]
3128 001c 1A6A ldr r2, [r3, #32]
3129 001e 41F21113 movw r3, #4369
3130 0022 1340 ands r3, r3, r2
3131 0024 002B cmp r3, #0
3132 0026 0FD1 bne .L211
3133 .loc 1 1170 3 is_stmt 0 discriminator 1
3134 0028 7B68 ldr r3, [r7, #4]
3135 002a 1B68 ldr r3, [r3]
3136 002c 1A6A ldr r2, [r3, #32]
3137 002e 40F24443 movw r3, #1092
3138 0032 1340 ands r3, r3, r2
3139 0034 002B cmp r3, #0
3140 0036 07D1 bne .L211
3141 .loc 1 1170 3 discriminator 2
3142 0038 7B68 ldr r3, [r7, #4]
3143 003a 1B68 ldr r3, [r3]
3144 003c 5A6C ldr r2, [r3, #68]
3145 003e 7B68 ldr r3, [r7, #4]
3146 0040 1B68 ldr r3, [r3]
3147 0042 22F40042 bic r2, r2, #32768
3148 0046 5A64 str r2, [r3, #68]
3149 .L211:
1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
3150 .loc 1 1173 3 is_stmt 1
3151 0048 7B68 ldr r3, [r7, #4]
3152 004a 1B68 ldr r3, [r3]
3153 004c 1A6A ldr r2, [r3, #32]
3154 004e 41F21113 movw r3, #4369
3155 0052 1340 ands r3, r3, r2
3156 0054 002B cmp r3, #0
3157 0056 0FD1 bne .L212
3158 .loc 1 1173 3 is_stmt 0 discriminator 1
3159 0058 7B68 ldr r3, [r7, #4]
3160 005a 1B68 ldr r3, [r3]
3161 005c 1A6A ldr r2, [r3, #32]
3162 005e 40F24443 movw r3, #1092
3163 0062 1340 ands r3, r3, r2
3164 0064 002B cmp r3, #0
3165 0066 07D1 bne .L212
3166 .loc 1 1173 3 discriminator 2
3167 0068 7B68 ldr r3, [r7, #4]
3168 006a 1B68 ldr r3, [r3]
3169 006c 1A68 ldr r2, [r3]
3170 006e 7B68 ldr r3, [r7, #4]
3171 0070 1B68 ldr r3, [r3]
3172 0072 22F00102 bic r2, r2, #1
3173 0076 1A60 str r2, [r3]
3174 .L212:
1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_READY);
3175 .loc 1 1176 3 is_stmt 1
ARM GAS /tmp/ccxRWv8k.s page 77
3176 0078 3B68 ldr r3, [r7]
3177 007a 002B cmp r3, #0
3178 007c 04D1 bne .L213
3179 .loc 1 1176 3 is_stmt 0 discriminator 1
3180 007e 7B68 ldr r3, [r7, #4]
3181 0080 0122 movs r2, #1
3182 0082 83F84420 strb r2, [r3, #68]
3183 0086 13E0 b .L214
3184 .L213:
3185 .loc 1 1176 3 discriminator 2
3186 0088 3B68 ldr r3, [r7]
3187 008a 042B cmp r3, #4
3188 008c 04D1 bne .L215
3189 .loc 1 1176 3 discriminator 3
3190 008e 7B68 ldr r3, [r7, #4]
3191 0090 0122 movs r2, #1
3192 0092 83F84520 strb r2, [r3, #69]
3193 0096 0BE0 b .L214
3194 .L215:
3195 .loc 1 1176 3 discriminator 4
3196 0098 3B68 ldr r3, [r7]
3197 009a 082B cmp r3, #8
3198 009c 04D1 bne .L217
3199 .loc 1 1176 3 discriminator 6
3200 009e 7B68 ldr r3, [r7, #4]
3201 00a0 0122 movs r2, #1
3202 00a2 83F84620 strb r2, [r3, #70]
3203 00a6 03E0 b .L214
3204 .L217:
3205 .loc 1 1176 3 discriminator 7
3206 00a8 7B68 ldr r3, [r7, #4]
3207 00aa 0122 movs r2, #1
3208 00ac 83F84720 strb r2, [r3, #71]
3209 .L214:
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
3210 .loc 1 1179 10 is_stmt 1
3211 00b0 0023 movs r3, #0
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
3212 .loc 1 1180 1
3213 00b2 1846 mov r0, r3
3214 00b4 0837 adds r7, r7, #8
3215 .cfi_def_cfa_offset 8
3216 00b6 BD46 mov sp, r7
3217 .cfi_def_cfa_register 13
3218 @ sp needed
3219 00b8 80BD pop {r7, pc}
3220 .cfi_endproc
3221 .LFE147:
3223 .section .text.HAL_TIMEx_PWMN_Start_IT,"ax",%progbits
3224 .align 1
3225 .global HAL_TIMEx_PWMN_Start_IT
3226 .syntax unified
3227 .thumb
3228 .thumb_func
3230 HAL_TIMEx_PWMN_Start_IT:
ARM GAS /tmp/ccxRWv8k.s page 78
3231 .LFB148:
1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the PWM signal generation in interrupt mode on the
1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * complementary output.
1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be disabled
1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
3232 .loc 1 1194 1
3233 .cfi_startproc
3234 @ args = 0, pretend = 0, frame = 16
3235 @ frame_needed = 1, uses_anonymous_args = 0
3236 0000 80B5 push {r7, lr}
3237 .cfi_def_cfa_offset 8
3238 .cfi_offset 7, -8
3239 .cfi_offset 14, -4
3240 0002 84B0 sub sp, sp, #16
3241 .cfi_def_cfa_offset 24
3242 0004 00AF add r7, sp, #0
3243 .cfi_def_cfa_register 7
3244 0006 7860 str r0, [r7, #4]
3245 0008 3960 str r1, [r7]
1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef status = HAL_OK;
3246 .loc 1 1195 21
3247 000a 0023 movs r3, #0
3248 000c FB73 strb r3, [r7, #15]
1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the TIM complementary channel state */
1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (TIM_CHANNEL_N_STATE_GET(htim, Channel) != HAL_TIM_CHANNEL_STATE_READY)
3249 .loc 1 1202 46
3250 000e 3B68 ldr r3, [r7]
3251 0010 002B cmp r3, #0
3252 0012 09D1 bne .L221
3253 .loc 1 1202 7 discriminator 1
3254 0014 7B68 ldr r3, [r7, #4]
3255 0016 93F84430 ldrb r3, [r3, #68]
3256 001a DBB2 uxtb r3, r3
3257 .loc 1 1202 46 discriminator 1
3258 001c 012B cmp r3, #1
3259 001e 14BF ite ne
3260 0020 0123 movne r3, #1
3261 0022 0023 moveq r3, #0
3262 0024 DBB2 uxtb r3, r3
3263 0026 22E0 b .L222
3264 .L221:
3265 .loc 1 1202 46 is_stmt 0 discriminator 2
ARM GAS /tmp/ccxRWv8k.s page 79
3266 0028 3B68 ldr r3, [r7]
3267 002a 042B cmp r3, #4
3268 002c 09D1 bne .L223
3269 .loc 1 1202 7 is_stmt 1 discriminator 4
3270 002e 7B68 ldr r3, [r7, #4]
3271 0030 93F84530 ldrb r3, [r3, #69]
3272 0034 DBB2 uxtb r3, r3
3273 .loc 1 1202 46 discriminator 4
3274 0036 012B cmp r3, #1
3275 0038 14BF ite ne
3276 003a 0123 movne r3, #1
3277 003c 0023 moveq r3, #0
3278 003e DBB2 uxtb r3, r3
3279 0040 15E0 b .L222
3280 .L223:
3281 .loc 1 1202 46 is_stmt 0 discriminator 5
3282 0042 3B68 ldr r3, [r7]
3283 0044 082B cmp r3, #8
3284 0046 09D1 bne .L225
3285 .loc 1 1202 7 is_stmt 1 discriminator 7
3286 0048 7B68 ldr r3, [r7, #4]
3287 004a 93F84630 ldrb r3, [r3, #70]
3288 004e DBB2 uxtb r3, r3
3289 .loc 1 1202 46 discriminator 7
3290 0050 012B cmp r3, #1
3291 0052 14BF ite ne
3292 0054 0123 movne r3, #1
3293 0056 0023 moveq r3, #0
3294 0058 DBB2 uxtb r3, r3
3295 005a 08E0 b .L222
3296 .L225:
3297 .loc 1 1202 7 discriminator 8
3298 005c 7B68 ldr r3, [r7, #4]
3299 005e 93F84730 ldrb r3, [r3, #71]
3300 0062 DBB2 uxtb r3, r3
3301 .loc 1 1202 46 discriminator 8
3302 0064 012B cmp r3, #1
3303 0066 14BF ite ne
3304 0068 0123 movne r3, #1
3305 006a 0023 moveq r3, #0
3306 006c DBB2 uxtb r3, r3
3307 .L222:
3308 .loc 1 1202 6 discriminator 12
3309 006e 002B cmp r3, #0
3310 0070 01D0 beq .L227
1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
3311 .loc 1 1204 12
3312 0072 0123 movs r3, #1
3313 0074 9AE0 b .L228
3314 .L227:
1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_BUSY);
3315 .loc 1 1208 3
3316 0076 3B68 ldr r3, [r7]
ARM GAS /tmp/ccxRWv8k.s page 80
3317 0078 002B cmp r3, #0
3318 007a 04D1 bne .L229
3319 .loc 1 1208 3 is_stmt 0 discriminator 1
3320 007c 7B68 ldr r3, [r7, #4]
3321 007e 0222 movs r2, #2
3322 0080 83F84420 strb r2, [r3, #68]
3323 0084 13E0 b .L230
3324 .L229:
3325 .loc 1 1208 3 discriminator 2
3326 0086 3B68 ldr r3, [r7]
3327 0088 042B cmp r3, #4
3328 008a 04D1 bne .L231
3329 .loc 1 1208 3 discriminator 3
3330 008c 7B68 ldr r3, [r7, #4]
3331 008e 0222 movs r2, #2
3332 0090 83F84520 strb r2, [r3, #69]
3333 0094 0BE0 b .L230
3334 .L231:
3335 .loc 1 1208 3 discriminator 4
3336 0096 3B68 ldr r3, [r7]
3337 0098 082B cmp r3, #8
3338 009a 04D1 bne .L233
3339 .loc 1 1208 3 discriminator 6
3340 009c 7B68 ldr r3, [r7, #4]
3341 009e 0222 movs r2, #2
3342 00a0 83F84620 strb r2, [r3, #70]
3343 00a4 03E0 b .L230
3344 .L233:
3345 .loc 1 1208 3 discriminator 7
3346 00a6 7B68 ldr r3, [r7, #4]
3347 00a8 0222 movs r2, #2
3348 00aa 83F84720 strb r2, [r3, #71]
3349 .L230:
1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** switch (Channel)
3350 .loc 1 1210 3 is_stmt 1
3351 00ae 3B68 ldr r3, [r7]
3352 00b0 082B cmp r3, #8
3353 00b2 1BD0 beq .L235
3354 00b4 3B68 ldr r3, [r7]
3355 00b6 082B cmp r3, #8
3356 00b8 21D8 bhi .L236
3357 00ba 3B68 ldr r3, [r7]
3358 00bc 002B cmp r3, #0
3359 00be 03D0 beq .L237
3360 00c0 3B68 ldr r3, [r7]
3361 00c2 042B cmp r3, #4
3362 00c4 09D0 beq .L238
3363 00c6 1AE0 b .L236
3364 .L237:
1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_1:
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Capture/Compare 1 interrupt */
1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1);
3365 .loc 1 1215 7
3366 00c8 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 81
3367 00ca 1B68 ldr r3, [r3]
3368 00cc DA68 ldr r2, [r3, #12]
3369 00ce 7B68 ldr r3, [r7, #4]
3370 00d0 1B68 ldr r3, [r3]
3371 00d2 42F00202 orr r2, r2, #2
3372 00d6 DA60 str r2, [r3, #12]
1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
3373 .loc 1 1216 7
3374 00d8 14E0 b .L239
3375 .L238:
1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_2:
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Capture/Compare 2 interrupt */
1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2);
3376 .loc 1 1222 7
3377 00da 7B68 ldr r3, [r7, #4]
3378 00dc 1B68 ldr r3, [r3]
3379 00de DA68 ldr r2, [r3, #12]
3380 00e0 7B68 ldr r3, [r7, #4]
3381 00e2 1B68 ldr r3, [r3]
3382 00e4 42F00402 orr r2, r2, #4
3383 00e8 DA60 str r2, [r3, #12]
1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
3384 .loc 1 1223 7
3385 00ea 0BE0 b .L239
3386 .L235:
1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_3:
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Capture/Compare 3 interrupt */
1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC3);
3387 .loc 1 1229 7
3388 00ec 7B68 ldr r3, [r7, #4]
3389 00ee 1B68 ldr r3, [r3]
3390 00f0 DA68 ldr r2, [r3, #12]
3391 00f2 7B68 ldr r3, [r7, #4]
3392 00f4 1B68 ldr r3, [r3]
3393 00f6 42F00802 orr r2, r2, #8
3394 00fa DA60 str r2, [r3, #12]
1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
3395 .loc 1 1230 7
3396 00fc 02E0 b .L239
3397 .L236:
1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** default:
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** status = HAL_ERROR;
3398 .loc 1 1234 14
3399 00fe 0123 movs r3, #1
3400 0100 FB73 strb r3, [r7, #15]
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
3401 .loc 1 1235 7
3402 0102 00BF nop
3403 .L239:
ARM GAS /tmp/ccxRWv8k.s page 82
1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (status == HAL_OK)
3404 .loc 1 1238 6
3405 0104 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
3406 0106 002B cmp r3, #0
3407 0108 4FD1 bne .L240
1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Break interrupt */
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_BREAK);
3408 .loc 1 1241 5
3409 010a 7B68 ldr r3, [r7, #4]
3410 010c 1B68 ldr r3, [r3]
3411 010e DA68 ldr r2, [r3, #12]
3412 0110 7B68 ldr r3, [r7, #4]
3413 0112 1B68 ldr r3, [r3]
3414 0114 42F08002 orr r2, r2, #128
3415 0118 DA60 str r2, [r3, #12]
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the complementary PWM output */
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
3416 .loc 1 1244 5
3417 011a 7B68 ldr r3, [r7, #4]
3418 011c 1B68 ldr r3, [r3]
3419 011e 0422 movs r2, #4
3420 0120 3968 ldr r1, [r7]
3421 0122 1846 mov r0, r3
3422 0124 FFF7FEFF bl TIM_CCxNChannelCmd
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Main Output */
1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_ENABLE(htim);
3423 .loc 1 1247 5
3424 0128 7B68 ldr r3, [r7, #4]
3425 012a 1B68 ldr r3, [r3]
3426 012c 5A6C ldr r2, [r3, #68]
3427 012e 7B68 ldr r3, [r7, #4]
3428 0130 1B68 ldr r3, [r3]
3429 0132 42F40042 orr r2, r2, #32768
3430 0136 5A64 str r2, [r3, #68]
1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigge
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
3431 .loc 1 1250 9
3432 0138 7B68 ldr r3, [r7, #4]
3433 013a 1B68 ldr r3, [r3]
3434 .loc 1 1250 8
3435 013c 1D4A ldr r2, .L245
3436 013e 9342 cmp r3, r2
3437 0140 13D0 beq .L241
3438 .loc 1 1250 9 discriminator 1
3439 0142 7B68 ldr r3, [r7, #4]
3440 0144 1B68 ldr r3, [r3]
3441 0146 B3F1804F cmp r3, #1073741824
3442 014a 0ED0 beq .L241
3443 .loc 1 1250 9 is_stmt 0 discriminator 2
3444 014c 7B68 ldr r3, [r7, #4]
3445 014e 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 83
3446 0150 194A ldr r2, .L245+4
3447 0152 9342 cmp r3, r2
3448 0154 09D0 beq .L241
3449 .loc 1 1250 9 discriminator 3
3450 0156 7B68 ldr r3, [r7, #4]
3451 0158 1B68 ldr r3, [r3]
3452 015a 184A ldr r2, .L245+8
3453 015c 9342 cmp r3, r2
3454 015e 04D0 beq .L241
3455 .loc 1 1250 9 discriminator 4
3456 0160 7B68 ldr r3, [r7, #4]
3457 0162 1B68 ldr r3, [r3]
3458 0164 164A ldr r2, .L245+12
3459 0166 9342 cmp r3, r2
3460 0168 15D1 bne .L242
3461 .L241:
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
3462 .loc 1 1252 21 is_stmt 1
3463 016a 7B68 ldr r3, [r7, #4]
3464 016c 1B68 ldr r3, [r3]
3465 .loc 1 1252 31
3466 016e 9A68 ldr r2, [r3, #8]
3467 .loc 1 1252 15
3468 0170 144B ldr r3, .L245+16
3469 0172 1340 ands r3, r3, r2
3470 0174 BB60 str r3, [r7, #8]
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
3471 .loc 1 1253 10
3472 0176 BB68 ldr r3, [r7, #8]
3473 0178 062B cmp r3, #6
3474 017a 15D0 beq .L244
3475 .loc 1 1253 11 discriminator 1
3476 017c BB68 ldr r3, [r7, #8]
3477 017e B3F5803F cmp r3, #65536
3478 0182 11D0 beq .L244
1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
3479 .loc 1 1255 9
3480 0184 7B68 ldr r3, [r7, #4]
3481 0186 1B68 ldr r3, [r3]
3482 0188 1A68 ldr r2, [r3]
3483 018a 7B68 ldr r3, [r7, #4]
3484 018c 1B68 ldr r3, [r3]
3485 018e 42F00102 orr r2, r2, #1
3486 0192 1A60 str r2, [r3]
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
3487 .loc 1 1253 10
3488 0194 08E0 b .L244
3489 .L242:
1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
3490 .loc 1 1260 7
3491 0196 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 84
3492 0198 1B68 ldr r3, [r3]
3493 019a 1A68 ldr r2, [r3]
3494 019c 7B68 ldr r3, [r7, #4]
3495 019e 1B68 ldr r3, [r3]
3496 01a0 42F00102 orr r2, r2, #1
3497 01a4 1A60 str r2, [r3]
3498 01a6 00E0 b .L240
3499 .L244:
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
3500 .loc 1 1253 10
3501 01a8 00BF nop
3502 .L240:
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return status;
3503 .loc 1 1265 10
3504 01aa FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
3505 .L228:
1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
3506 .loc 1 1266 1
3507 01ac 1846 mov r0, r3
3508 01ae 1037 adds r7, r7, #16
3509 .cfi_def_cfa_offset 8
3510 01b0 BD46 mov sp, r7
3511 .cfi_def_cfa_register 13
3512 @ sp needed
3513 01b2 80BD pop {r7, pc}
3514 .L246:
3515 .align 2
3516 .L245:
3517 01b4 002C0140 .word 1073818624
3518 01b8 00040040 .word 1073742848
3519 01bc 00080040 .word 1073743872
3520 01c0 00400140 .word 1073823744
3521 01c4 07000100 .word 65543
3522 .cfi_endproc
3523 .LFE148:
3525 .section .text.HAL_TIMEx_PWMN_Stop_IT,"ax",%progbits
3526 .align 1
3527 .global HAL_TIMEx_PWMN_Stop_IT
3528 .syntax unified
3529 .thumb
3530 .thumb_func
3532 HAL_TIMEx_PWMN_Stop_IT:
3533 .LFB149:
1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the PWM signal generation in interrupt mode on the
1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * complementary output.
1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be disabled
1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
ARM GAS /tmp/ccxRWv8k.s page 85
1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
3534 .loc 1 1280 1
3535 .cfi_startproc
3536 @ args = 0, pretend = 0, frame = 16
3537 @ frame_needed = 1, uses_anonymous_args = 0
3538 0000 80B5 push {r7, lr}
3539 .cfi_def_cfa_offset 8
3540 .cfi_offset 7, -8
3541 .cfi_offset 14, -4
3542 0002 84B0 sub sp, sp, #16
3543 .cfi_def_cfa_offset 24
3544 0004 00AF add r7, sp, #0
3545 .cfi_def_cfa_register 7
3546 0006 7860 str r0, [r7, #4]
3547 0008 3960 str r1, [r7]
1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef status = HAL_OK;
3548 .loc 1 1281 21
3549 000a 0023 movs r3, #0
3550 000c FB73 strb r3, [r7, #15]
1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpccer;
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** switch (Channel)
3551 .loc 1 1287 3
3552 000e 3B68 ldr r3, [r7]
3553 0010 082B cmp r3, #8
3554 0012 1BD0 beq .L248
3555 0014 3B68 ldr r3, [r7]
3556 0016 082B cmp r3, #8
3557 0018 21D8 bhi .L249
3558 001a 3B68 ldr r3, [r7]
3559 001c 002B cmp r3, #0
3560 001e 03D0 beq .L250
3561 0020 3B68 ldr r3, [r7]
3562 0022 042B cmp r3, #4
3563 0024 09D0 beq .L251
3564 0026 1AE0 b .L249
3565 .L250:
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_1:
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Capture/Compare 1 interrupt */
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1);
3566 .loc 1 1292 7
3567 0028 7B68 ldr r3, [r7, #4]
3568 002a 1B68 ldr r3, [r3]
3569 002c DA68 ldr r2, [r3, #12]
3570 002e 7B68 ldr r3, [r7, #4]
3571 0030 1B68 ldr r3, [r3]
3572 0032 22F00202 bic r2, r2, #2
3573 0036 DA60 str r2, [r3, #12]
1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
ARM GAS /tmp/ccxRWv8k.s page 86
3574 .loc 1 1293 7
3575 0038 14E0 b .L252
3576 .L251:
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_2:
1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Capture/Compare 2 interrupt */
1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2);
3577 .loc 1 1299 7
3578 003a 7B68 ldr r3, [r7, #4]
3579 003c 1B68 ldr r3, [r3]
3580 003e DA68 ldr r2, [r3, #12]
3581 0040 7B68 ldr r3, [r7, #4]
3582 0042 1B68 ldr r3, [r3]
3583 0044 22F00402 bic r2, r2, #4
3584 0048 DA60 str r2, [r3, #12]
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
3585 .loc 1 1300 7
3586 004a 0BE0 b .L252
3587 .L248:
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_3:
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Capture/Compare 3 interrupt */
1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC3);
3588 .loc 1 1306 7
3589 004c 7B68 ldr r3, [r7, #4]
3590 004e 1B68 ldr r3, [r3]
3591 0050 DA68 ldr r2, [r3, #12]
3592 0052 7B68 ldr r3, [r7, #4]
3593 0054 1B68 ldr r3, [r3]
3594 0056 22F00802 bic r2, r2, #8
3595 005a DA60 str r2, [r3, #12]
1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
3596 .loc 1 1307 7
3597 005c 02E0 b .L252
3598 .L249:
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** default:
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** status = HAL_ERROR;
3599 .loc 1 1311 14
3600 005e 0123 movs r3, #1
3601 0060 FB73 strb r3, [r7, #15]
1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
3602 .loc 1 1312 7
3603 0062 00BF nop
3604 .L252:
1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (status == HAL_OK)
3605 .loc 1 1315 6
3606 0064 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
3607 0066 002B cmp r3, #0
3608 0068 64D1 bne .L253
ARM GAS /tmp/ccxRWv8k.s page 87
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the complementary PWM output */
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
3609 .loc 1 1318 5
3610 006a 7B68 ldr r3, [r7, #4]
3611 006c 1B68 ldr r3, [r3]
3612 006e 0022 movs r2, #0
3613 0070 3968 ldr r1, [r7]
3614 0072 1846 mov r0, r3
3615 0074 FFF7FEFF bl TIM_CCxNChannelCmd
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Break interrupt (only if no more channel is active) */
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpccer = htim->Instance->CCER;
3616 .loc 1 1321 19
3617 0078 7B68 ldr r3, [r7, #4]
3618 007a 1B68 ldr r3, [r3]
3619 .loc 1 1321 13
3620 007c 1B6A ldr r3, [r3, #32]
3621 007e BB60 str r3, [r7, #8]
1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((tmpccer & (TIM_CCER_CC1NE | TIM_CCER_CC2NE | TIM_CCER_CC3NE)) == (uint32_t)RESET)
3622 .loc 1 1322 18
3623 0080 BA68 ldr r2, [r7, #8]
3624 0082 40F24443 movw r3, #1092
3625 0086 1340 ands r3, r3, r2
3626 .loc 1 1322 8
3627 0088 002B cmp r3, #0
3628 008a 07D1 bne .L254
1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_BREAK);
3629 .loc 1 1324 7
3630 008c 7B68 ldr r3, [r7, #4]
3631 008e 1B68 ldr r3, [r3]
3632 0090 DA68 ldr r2, [r3, #12]
3633 0092 7B68 ldr r3, [r7, #4]
3634 0094 1B68 ldr r3, [r3]
3635 0096 22F08002 bic r2, r2, #128
3636 009a DA60 str r2, [r3, #12]
3637 .L254:
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Main Output */
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_DISABLE(htim);
3638 .loc 1 1328 5
3639 009c 7B68 ldr r3, [r7, #4]
3640 009e 1B68 ldr r3, [r3]
3641 00a0 1A6A ldr r2, [r3, #32]
3642 00a2 41F21113 movw r3, #4369
3643 00a6 1340 ands r3, r3, r2
3644 00a8 002B cmp r3, #0
3645 00aa 0FD1 bne .L255
3646 .loc 1 1328 5 is_stmt 0 discriminator 1
3647 00ac 7B68 ldr r3, [r7, #4]
3648 00ae 1B68 ldr r3, [r3]
3649 00b0 1A6A ldr r2, [r3, #32]
3650 00b2 40F24443 movw r3, #1092
3651 00b6 1340 ands r3, r3, r2
3652 00b8 002B cmp r3, #0
ARM GAS /tmp/ccxRWv8k.s page 88
3653 00ba 07D1 bne .L255
3654 .loc 1 1328 5 discriminator 2
3655 00bc 7B68 ldr r3, [r7, #4]
3656 00be 1B68 ldr r3, [r3]
3657 00c0 5A6C ldr r2, [r3, #68]
3658 00c2 7B68 ldr r3, [r7, #4]
3659 00c4 1B68 ldr r3, [r3]
3660 00c6 22F40042 bic r2, r2, #32768
3661 00ca 5A64 str r2, [r3, #68]
3662 .L255:
1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
3663 .loc 1 1331 5 is_stmt 1
3664 00cc 7B68 ldr r3, [r7, #4]
3665 00ce 1B68 ldr r3, [r3]
3666 00d0 1A6A ldr r2, [r3, #32]
3667 00d2 41F21113 movw r3, #4369
3668 00d6 1340 ands r3, r3, r2
3669 00d8 002B cmp r3, #0
3670 00da 0FD1 bne .L256
3671 .loc 1 1331 5 is_stmt 0 discriminator 1
3672 00dc 7B68 ldr r3, [r7, #4]
3673 00de 1B68 ldr r3, [r3]
3674 00e0 1A6A ldr r2, [r3, #32]
3675 00e2 40F24443 movw r3, #1092
3676 00e6 1340 ands r3, r3, r2
3677 00e8 002B cmp r3, #0
3678 00ea 07D1 bne .L256
3679 .loc 1 1331 5 discriminator 2
3680 00ec 7B68 ldr r3, [r7, #4]
3681 00ee 1B68 ldr r3, [r3]
3682 00f0 1A68 ldr r2, [r3]
3683 00f2 7B68 ldr r3, [r7, #4]
3684 00f4 1B68 ldr r3, [r3]
3685 00f6 22F00102 bic r2, r2, #1
3686 00fa 1A60 str r2, [r3]
3687 .L256:
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_READY);
3688 .loc 1 1334 5 is_stmt 1
3689 00fc 3B68 ldr r3, [r7]
3690 00fe 002B cmp r3, #0
3691 0100 04D1 bne .L257
3692 .loc 1 1334 5 is_stmt 0 discriminator 1
3693 0102 7B68 ldr r3, [r7, #4]
3694 0104 0122 movs r2, #1
3695 0106 83F84420 strb r2, [r3, #68]
3696 010a 13E0 b .L253
3697 .L257:
3698 .loc 1 1334 5 discriminator 2
3699 010c 3B68 ldr r3, [r7]
3700 010e 042B cmp r3, #4
3701 0110 04D1 bne .L258
3702 .loc 1 1334 5 discriminator 3
3703 0112 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 89
3704 0114 0122 movs r2, #1
3705 0116 83F84520 strb r2, [r3, #69]
3706 011a 0BE0 b .L253
3707 .L258:
3708 .loc 1 1334 5 discriminator 4
3709 011c 3B68 ldr r3, [r7]
3710 011e 082B cmp r3, #8
3711 0120 04D1 bne .L260
3712 .loc 1 1334 5 discriminator 6
3713 0122 7B68 ldr r3, [r7, #4]
3714 0124 0122 movs r2, #1
3715 0126 83F84620 strb r2, [r3, #70]
3716 012a 03E0 b .L253
3717 .L260:
3718 .loc 1 1334 5 discriminator 7
3719 012c 7B68 ldr r3, [r7, #4]
3720 012e 0122 movs r2, #1
3721 0130 83F84720 strb r2, [r3, #71]
3722 .L253:
1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return status;
3723 .loc 1 1338 10 is_stmt 1
3724 0134 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
3725 .loc 1 1339 1
3726 0136 1846 mov r0, r3
3727 0138 1037 adds r7, r7, #16
3728 .cfi_def_cfa_offset 8
3729 013a BD46 mov sp, r7
3730 .cfi_def_cfa_register 13
3731 @ sp needed
3732 013c 80BD pop {r7, pc}
3733 .cfi_endproc
3734 .LFE149:
3736 .section .text.HAL_TIMEx_PWMN_Start_DMA,"ax",%progbits
3737 .align 1
3738 .global HAL_TIMEx_PWMN_Start_DMA
3739 .syntax unified
3740 .thumb
3741 .thumb_func
3743 HAL_TIMEx_PWMN_Start_DMA:
3744 .LFB150:
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the TIM PWM signal generation in DMA mode on the
1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * complementary output
1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be enabled
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param pData The source Buffer address.
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Length The length of data to be transferred from memory to TIM peripheral
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
ARM GAS /tmp/ccxRWv8k.s page 90
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_PWMN_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint16_t Length)
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
3745 .loc 1 1356 1
3746 .cfi_startproc
3747 @ args = 0, pretend = 0, frame = 24
3748 @ frame_needed = 1, uses_anonymous_args = 0
3749 0000 80B5 push {r7, lr}
3750 .cfi_def_cfa_offset 8
3751 .cfi_offset 7, -8
3752 .cfi_offset 14, -4
3753 0002 86B0 sub sp, sp, #24
3754 .cfi_def_cfa_offset 32
3755 0004 00AF add r7, sp, #0
3756 .cfi_def_cfa_register 7
3757 0006 F860 str r0, [r7, #12]
3758 0008 B960 str r1, [r7, #8]
3759 000a 7A60 str r2, [r7, #4]
3760 000c 7B80 strh r3, [r7, #2] @ movhi
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef status = HAL_OK;
3761 .loc 1 1357 21
3762 000e 0023 movs r3, #0
3763 0010 FB75 strb r3, [r7, #23]
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (TIM_CHANNEL_N_STATE_GET(htim, Channel) == HAL_TIM_CHANNEL_STATE_BUSY)
3764 .loc 1 1364 46
3765 0012 BB68 ldr r3, [r7, #8]
3766 0014 002B cmp r3, #0
3767 0016 09D1 bne .L264
3768 .loc 1 1364 7 discriminator 1
3769 0018 FB68 ldr r3, [r7, #12]
3770 001a 93F84430 ldrb r3, [r3, #68]
3771 001e DBB2 uxtb r3, r3
3772 .loc 1 1364 46 discriminator 1
3773 0020 022B cmp r3, #2
3774 0022 0CBF ite eq
3775 0024 0123 moveq r3, #1
3776 0026 0023 movne r3, #0
3777 0028 DBB2 uxtb r3, r3
3778 002a 22E0 b .L265
3779 .L264:
3780 .loc 1 1364 46 is_stmt 0 discriminator 2
3781 002c BB68 ldr r3, [r7, #8]
3782 002e 042B cmp r3, #4
3783 0030 09D1 bne .L266
3784 .loc 1 1364 7 is_stmt 1 discriminator 4
3785 0032 FB68 ldr r3, [r7, #12]
3786 0034 93F84530 ldrb r3, [r3, #69]
3787 0038 DBB2 uxtb r3, r3
3788 .loc 1 1364 46 discriminator 4
3789 003a 022B cmp r3, #2
ARM GAS /tmp/ccxRWv8k.s page 91
3790 003c 0CBF ite eq
3791 003e 0123 moveq r3, #1
3792 0040 0023 movne r3, #0
3793 0042 DBB2 uxtb r3, r3
3794 0044 15E0 b .L265
3795 .L266:
3796 .loc 1 1364 46 is_stmt 0 discriminator 5
3797 0046 BB68 ldr r3, [r7, #8]
3798 0048 082B cmp r3, #8
3799 004a 09D1 bne .L268
3800 .loc 1 1364 7 is_stmt 1 discriminator 7
3801 004c FB68 ldr r3, [r7, #12]
3802 004e 93F84630 ldrb r3, [r3, #70]
3803 0052 DBB2 uxtb r3, r3
3804 .loc 1 1364 46 discriminator 7
3805 0054 022B cmp r3, #2
3806 0056 0CBF ite eq
3807 0058 0123 moveq r3, #1
3808 005a 0023 movne r3, #0
3809 005c DBB2 uxtb r3, r3
3810 005e 08E0 b .L265
3811 .L268:
3812 .loc 1 1364 7 discriminator 8
3813 0060 FB68 ldr r3, [r7, #12]
3814 0062 93F84730 ldrb r3, [r3, #71]
3815 0066 DBB2 uxtb r3, r3
3816 .loc 1 1364 46 discriminator 8
3817 0068 022B cmp r3, #2
3818 006a 0CBF ite eq
3819 006c 0123 moveq r3, #1
3820 006e 0023 movne r3, #0
3821 0070 DBB2 uxtb r3, r3
3822 .L265:
3823 .loc 1 1364 6 discriminator 12
3824 0072 002B cmp r3, #0
3825 0074 01D0 beq .L270
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_BUSY;
3826 .loc 1 1366 12
3827 0076 0223 movs r3, #2
3828 0078 20E1 b .L271
3829 .L270:
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else if (TIM_CHANNEL_N_STATE_GET(htim, Channel) == HAL_TIM_CHANNEL_STATE_READY)
3830 .loc 1 1368 51
3831 007a BB68 ldr r3, [r7, #8]
3832 007c 002B cmp r3, #0
3833 007e 09D1 bne .L272
3834 .loc 1 1368 12 discriminator 1
3835 0080 FB68 ldr r3, [r7, #12]
3836 0082 93F84430 ldrb r3, [r3, #68]
3837 0086 DBB2 uxtb r3, r3
3838 .loc 1 1368 51 discriminator 1
3839 0088 012B cmp r3, #1
3840 008a 0CBF ite eq
3841 008c 0123 moveq r3, #1
3842 008e 0023 movne r3, #0
ARM GAS /tmp/ccxRWv8k.s page 92
3843 0090 DBB2 uxtb r3, r3
3844 0092 22E0 b .L273
3845 .L272:
3846 .loc 1 1368 51 is_stmt 0 discriminator 2
3847 0094 BB68 ldr r3, [r7, #8]
3848 0096 042B cmp r3, #4
3849 0098 09D1 bne .L274
3850 .loc 1 1368 12 is_stmt 1 discriminator 4
3851 009a FB68 ldr r3, [r7, #12]
3852 009c 93F84530 ldrb r3, [r3, #69]
3853 00a0 DBB2 uxtb r3, r3
3854 .loc 1 1368 51 discriminator 4
3855 00a2 012B cmp r3, #1
3856 00a4 0CBF ite eq
3857 00a6 0123 moveq r3, #1
3858 00a8 0023 movne r3, #0
3859 00aa DBB2 uxtb r3, r3
3860 00ac 15E0 b .L273
3861 .L274:
3862 .loc 1 1368 51 is_stmt 0 discriminator 5
3863 00ae BB68 ldr r3, [r7, #8]
3864 00b0 082B cmp r3, #8
3865 00b2 09D1 bne .L276
3866 .loc 1 1368 12 is_stmt 1 discriminator 7
3867 00b4 FB68 ldr r3, [r7, #12]
3868 00b6 93F84630 ldrb r3, [r3, #70]
3869 00ba DBB2 uxtb r3, r3
3870 .loc 1 1368 51 discriminator 7
3871 00bc 012B cmp r3, #1
3872 00be 0CBF ite eq
3873 00c0 0123 moveq r3, #1
3874 00c2 0023 movne r3, #0
3875 00c4 DBB2 uxtb r3, r3
3876 00c6 08E0 b .L273
3877 .L276:
3878 .loc 1 1368 12 discriminator 8
3879 00c8 FB68 ldr r3, [r7, #12]
3880 00ca 93F84730 ldrb r3, [r3, #71]
3881 00ce DBB2 uxtb r3, r3
3882 .loc 1 1368 51 discriminator 8
3883 00d0 012B cmp r3, #1
3884 00d2 0CBF ite eq
3885 00d4 0123 moveq r3, #1
3886 00d6 0023 movne r3, #0
3887 00d8 DBB2 uxtb r3, r3
3888 .L273:
3889 .loc 1 1368 11 discriminator 12
3890 00da 002B cmp r3, #0
3891 00dc 24D0 beq .L278
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((pData == NULL) || (Length == 0U))
3892 .loc 1 1370 8
3893 00de 7B68 ldr r3, [r7, #4]
3894 00e0 002B cmp r3, #0
3895 00e2 02D0 beq .L279
3896 .loc 1 1370 25 discriminator 1
3897 00e4 7B88 ldrh r3, [r7, #2]
ARM GAS /tmp/ccxRWv8k.s page 93
3898 00e6 002B cmp r3, #0
3899 00e8 01D1 bne .L280
3900 .L279:
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
3901 .loc 1 1372 14
3902 00ea 0123 movs r3, #1
3903 00ec E6E0 b .L271
3904 .L280:
1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_BUSY);
3905 .loc 1 1376 7
3906 00ee BB68 ldr r3, [r7, #8]
3907 00f0 002B cmp r3, #0
3908 00f2 04D1 bne .L281
3909 .loc 1 1376 7 is_stmt 0 discriminator 1
3910 00f4 FB68 ldr r3, [r7, #12]
3911 00f6 0222 movs r2, #2
3912 00f8 83F84420 strb r2, [r3, #68]
3913 00fc 16E0 b .L282
3914 .L281:
3915 .loc 1 1376 7 discriminator 2
3916 00fe BB68 ldr r3, [r7, #8]
3917 0100 042B cmp r3, #4
3918 0102 04D1 bne .L283
3919 .loc 1 1376 7 discriminator 3
3920 0104 FB68 ldr r3, [r7, #12]
3921 0106 0222 movs r2, #2
3922 0108 83F84520 strb r2, [r3, #69]
3923 .loc 1 1376 7 discriminator 10
3924 010c 0EE0 b .L282
3925 .L283:
3926 .loc 1 1376 7 discriminator 4
3927 010e BB68 ldr r3, [r7, #8]
3928 0110 082B cmp r3, #8
3929 0112 04D1 bne .L285
3930 .loc 1 1376 7 discriminator 6
3931 0114 FB68 ldr r3, [r7, #12]
3932 0116 0222 movs r2, #2
3933 0118 83F84620 strb r2, [r3, #70]
3934 .loc 1 1376 7 discriminator 10
3935 011c 06E0 b .L282
3936 .L285:
3937 .loc 1 1376 7 discriminator 7
3938 011e FB68 ldr r3, [r7, #12]
3939 0120 0222 movs r2, #2
3940 0122 83F84720 strb r2, [r3, #71]
3941 0126 01E0 b .L282
3942 .L278:
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
3943 .loc 1 1381 12 is_stmt 1
ARM GAS /tmp/ccxRWv8k.s page 94
3944 0128 0123 movs r3, #1
3945 012a C7E0 b .L271
3946 .L282:
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** switch (Channel)
3947 .loc 1 1384 3
3948 012c BB68 ldr r3, [r7, #8]
3949 012e 082B cmp r3, #8
3950 0130 51D0 beq .L287
3951 0132 BB68 ldr r3, [r7, #8]
3952 0134 082B cmp r3, #8
3953 0136 72D8 bhi .L288
3954 0138 BB68 ldr r3, [r7, #8]
3955 013a 002B cmp r3, #0
3956 013c 03D0 beq .L289
3957 013e BB68 ldr r3, [r7, #8]
3958 0140 042B cmp r3, #4
3959 0142 24D0 beq .L290
3960 0144 6BE0 b .L288
3961 .L289:
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_1:
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA compare callbacks */
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC1]->XferCpltCallback = TIM_DMADelayPulseNCplt;
3962 .loc 1 1389 17
3963 0146 FB68 ldr r3, [r7, #12]
3964 0148 5B6A ldr r3, [r3, #36]
3965 .loc 1 1389 52
3966 014a 5E4A ldr r2, .L300
3967 014c 9A62 str r2, [r3, #40]
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC1]->XferHalfCpltCallback = TIM_DMADelayPulseHalfCplt;
3968 .loc 1 1390 17
3969 014e FB68 ldr r3, [r7, #12]
3970 0150 5B6A ldr r3, [r3, #36]
3971 .loc 1 1390 56
3972 0152 5D4A ldr r2, .L300+4
3973 0154 DA62 str r2, [r3, #44]
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA error callback */
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC1]->XferErrorCallback = TIM_DMAErrorCCxN ;
3974 .loc 1 1393 17
3975 0156 FB68 ldr r3, [r7, #12]
3976 0158 5B6A ldr r3, [r3, #36]
3977 .loc 1 1393 53
3978 015a 5C4A ldr r2, .L300+8
3979 015c 1A63 str r2, [r3, #48]
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the DMA channel */
1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC1], (uint32_t)pData, (uint32_t)&htim->Instance->
3980 .loc 1 1396 11
3981 015e FB68 ldr r3, [r7, #12]
3982 0160 586A ldr r0, [r3, #36]
3983 0162 7968 ldr r1, [r7, #4]
3984 .loc 1 1396 88
3985 0164 FB68 ldr r3, [r7, #12]
ARM GAS /tmp/ccxRWv8k.s page 95
3986 0166 1B68 ldr r3, [r3]
3987 .loc 1 1396 83
3988 0168 3433 adds r3, r3, #52
3989 .loc 1 1396 11
3990 016a 1A46 mov r2, r3
3991 016c 7B88 ldrh r3, [r7, #2]
3992 016e FFF7FEFF bl HAL_DMA_Start_IT
3993 0172 0346 mov r3, r0
3994 .loc 1 1396 10 discriminator 1
3995 0174 002B cmp r3, #0
3996 0176 01D0 beq .L291
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** Length) != HAL_OK)
1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return error status */
1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
3997 .loc 1 1400 16
3998 0178 0123 movs r3, #1
3999 017a 9FE0 b .L271
4000 .L291:
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Capture/Compare 1 DMA request */
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC1);
4001 .loc 1 1403 7
4002 017c FB68 ldr r3, [r7, #12]
4003 017e 1B68 ldr r3, [r3]
4004 0180 DA68 ldr r2, [r3, #12]
4005 0182 FB68 ldr r3, [r7, #12]
4006 0184 1B68 ldr r3, [r3]
4007 0186 42F40072 orr r2, r2, #512
4008 018a DA60 str r2, [r3, #12]
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
4009 .loc 1 1404 7
4010 018c 4AE0 b .L292
4011 .L290:
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_2:
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA compare callbacks */
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC2]->XferCpltCallback = TIM_DMADelayPulseNCplt;
4012 .loc 1 1410 17
4013 018e FB68 ldr r3, [r7, #12]
4014 0190 9B6A ldr r3, [r3, #40]
4015 .loc 1 1410 52
4016 0192 4C4A ldr r2, .L300
4017 0194 9A62 str r2, [r3, #40]
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC2]->XferHalfCpltCallback = TIM_DMADelayPulseHalfCplt;
4018 .loc 1 1411 17
4019 0196 FB68 ldr r3, [r7, #12]
4020 0198 9B6A ldr r3, [r3, #40]
4021 .loc 1 1411 56
4022 019a 4B4A ldr r2, .L300+4
4023 019c DA62 str r2, [r3, #44]
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA error callback */
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC2]->XferErrorCallback = TIM_DMAErrorCCxN ;
4024 .loc 1 1414 17
ARM GAS /tmp/ccxRWv8k.s page 96
4025 019e FB68 ldr r3, [r7, #12]
4026 01a0 9B6A ldr r3, [r3, #40]
4027 .loc 1 1414 53
4028 01a2 4A4A ldr r2, .L300+8
4029 01a4 1A63 str r2, [r3, #48]
1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the DMA channel */
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC2], (uint32_t)pData, (uint32_t)&htim->Instance->
4030 .loc 1 1417 11
4031 01a6 FB68 ldr r3, [r7, #12]
4032 01a8 986A ldr r0, [r3, #40]
4033 01aa 7968 ldr r1, [r7, #4]
4034 .loc 1 1417 88
4035 01ac FB68 ldr r3, [r7, #12]
4036 01ae 1B68 ldr r3, [r3]
4037 .loc 1 1417 83
4038 01b0 3833 adds r3, r3, #56
4039 .loc 1 1417 11
4040 01b2 1A46 mov r2, r3
4041 01b4 7B88 ldrh r3, [r7, #2]
4042 01b6 FFF7FEFF bl HAL_DMA_Start_IT
4043 01ba 0346 mov r3, r0
4044 .loc 1 1417 10 discriminator 1
4045 01bc 002B cmp r3, #0
4046 01be 01D0 beq .L293
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** Length) != HAL_OK)
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return error status */
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
4047 .loc 1 1421 16
4048 01c0 0123 movs r3, #1
4049 01c2 7BE0 b .L271
4050 .L293:
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Capture/Compare 2 DMA request */
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC2);
4051 .loc 1 1424 7
4052 01c4 FB68 ldr r3, [r7, #12]
4053 01c6 1B68 ldr r3, [r3]
4054 01c8 DA68 ldr r2, [r3, #12]
4055 01ca FB68 ldr r3, [r7, #12]
4056 01cc 1B68 ldr r3, [r3]
4057 01ce 42F48062 orr r2, r2, #1024
4058 01d2 DA60 str r2, [r3, #12]
1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
4059 .loc 1 1425 7
4060 01d4 26E0 b .L292
4061 .L287:
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_3:
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA compare callbacks */
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC3]->XferCpltCallback = TIM_DMADelayPulseNCplt;
4062 .loc 1 1431 17
4063 01d6 FB68 ldr r3, [r7, #12]
4064 01d8 DB6A ldr r3, [r3, #44]
ARM GAS /tmp/ccxRWv8k.s page 97
4065 .loc 1 1431 52
4066 01da 3A4A ldr r2, .L300
4067 01dc 9A62 str r2, [r3, #40]
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC3]->XferHalfCpltCallback = TIM_DMADelayPulseHalfCplt;
4068 .loc 1 1432 17
4069 01de FB68 ldr r3, [r7, #12]
4070 01e0 DB6A ldr r3, [r3, #44]
4071 .loc 1 1432 56
4072 01e2 394A ldr r2, .L300+4
4073 01e4 DA62 str r2, [r3, #44]
1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA error callback */
1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_CC3]->XferErrorCallback = TIM_DMAErrorCCxN ;
4074 .loc 1 1435 17
4075 01e6 FB68 ldr r3, [r7, #12]
4076 01e8 DB6A ldr r3, [r3, #44]
4077 .loc 1 1435 53
4078 01ea 384A ldr r2, .L300+8
4079 01ec 1A63 str r2, [r3, #48]
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the DMA channel */
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (HAL_DMA_Start_IT(htim->hdma[TIM_DMA_ID_CC3], (uint32_t)pData, (uint32_t)&htim->Instance->
4080 .loc 1 1438 11
4081 01ee FB68 ldr r3, [r7, #12]
4082 01f0 D86A ldr r0, [r3, #44]
4083 01f2 7968 ldr r1, [r7, #4]
4084 .loc 1 1438 88
4085 01f4 FB68 ldr r3, [r7, #12]
4086 01f6 1B68 ldr r3, [r3]
4087 .loc 1 1438 83
4088 01f8 3C33 adds r3, r3, #60
4089 .loc 1 1438 11
4090 01fa 1A46 mov r2, r3
4091 01fc 7B88 ldrh r3, [r7, #2]
4092 01fe FFF7FEFF bl HAL_DMA_Start_IT
4093 0202 0346 mov r3, r0
4094 .loc 1 1438 10 discriminator 1
4095 0204 002B cmp r3, #0
4096 0206 01D0 beq .L294
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** Length) != HAL_OK)
1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return error status */
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
4097 .loc 1 1442 16
4098 0208 0123 movs r3, #1
4099 020a 57E0 b .L271
4100 .L294:
1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Capture/Compare 3 DMA request */
1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_CC3);
4101 .loc 1 1445 7
4102 020c FB68 ldr r3, [r7, #12]
4103 020e 1B68 ldr r3, [r3]
4104 0210 DA68 ldr r2, [r3, #12]
4105 0212 FB68 ldr r3, [r7, #12]
4106 0214 1B68 ldr r3, [r3]
4107 0216 42F40062 orr r2, r2, #2048
ARM GAS /tmp/ccxRWv8k.s page 98
4108 021a DA60 str r2, [r3, #12]
1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
4109 .loc 1 1446 7
4110 021c 02E0 b .L292
4111 .L288:
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** default:
1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** status = HAL_ERROR;
4112 .loc 1 1450 14
4113 021e 0123 movs r3, #1
4114 0220 FB75 strb r3, [r7, #23]
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
4115 .loc 1 1451 7
4116 0222 00BF nop
4117 .L292:
1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (status == HAL_OK)
4118 .loc 1 1454 6
4119 0224 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
4120 0226 002B cmp r3, #0
4121 0228 47D1 bne .L295
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the complementary PWM output */
1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_ENABLE);
4122 .loc 1 1457 5
4123 022a FB68 ldr r3, [r7, #12]
4124 022c 1B68 ldr r3, [r3]
4125 022e 0422 movs r2, #4
4126 0230 B968 ldr r1, [r7, #8]
4127 0232 1846 mov r0, r3
4128 0234 FFF7FEFF bl TIM_CCxNChannelCmd
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Main Output */
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_ENABLE(htim);
4129 .loc 1 1460 5
4130 0238 FB68 ldr r3, [r7, #12]
4131 023a 1B68 ldr r3, [r3]
4132 023c 5A6C ldr r2, [r3, #68]
4133 023e FB68 ldr r3, [r7, #12]
4134 0240 1B68 ldr r3, [r3]
4135 0242 42F40042 orr r2, r2, #32768
4136 0246 5A64 str r2, [r3, #68]
1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigge
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
4137 .loc 1 1463 9
4138 0248 FB68 ldr r3, [r7, #12]
4139 024a 1B68 ldr r3, [r3]
4140 .loc 1 1463 8
4141 024c 204A ldr r2, .L300+12
4142 024e 9342 cmp r3, r2
4143 0250 13D0 beq .L296
4144 .loc 1 1463 9 discriminator 1
4145 0252 FB68 ldr r3, [r7, #12]
4146 0254 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 99
4147 0256 B3F1804F cmp r3, #1073741824
4148 025a 0ED0 beq .L296
4149 .loc 1 1463 9 is_stmt 0 discriminator 2
4150 025c FB68 ldr r3, [r7, #12]
4151 025e 1B68 ldr r3, [r3]
4152 0260 1C4A ldr r2, .L300+16
4153 0262 9342 cmp r3, r2
4154 0264 09D0 beq .L296
4155 .loc 1 1463 9 discriminator 3
4156 0266 FB68 ldr r3, [r7, #12]
4157 0268 1B68 ldr r3, [r3]
4158 026a 1B4A ldr r2, .L300+20
4159 026c 9342 cmp r3, r2
4160 026e 04D0 beq .L296
4161 .loc 1 1463 9 discriminator 4
4162 0270 FB68 ldr r3, [r7, #12]
4163 0272 1B68 ldr r3, [r3]
4164 0274 194A ldr r2, .L300+24
4165 0276 9342 cmp r3, r2
4166 0278 15D1 bne .L297
4167 .L296:
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS;
4168 .loc 1 1465 21 is_stmt 1
4169 027a FB68 ldr r3, [r7, #12]
4170 027c 1B68 ldr r3, [r3]
4171 .loc 1 1465 31
4172 027e 9A68 ldr r2, [r3, #8]
4173 .loc 1 1465 15
4174 0280 174B ldr r3, .L300+28
4175 0282 1340 ands r3, r3, r2
4176 0284 3B61 str r3, [r7, #16]
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
4177 .loc 1 1466 10
4178 0286 3B69 ldr r3, [r7, #16]
4179 0288 062B cmp r3, #6
4180 028a 15D0 beq .L299
4181 .loc 1 1466 11 discriminator 1
4182 028c 3B69 ldr r3, [r7, #16]
4183 028e B3F5803F cmp r3, #65536
4184 0292 11D0 beq .L299
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
4185 .loc 1 1468 9
4186 0294 FB68 ldr r3, [r7, #12]
4187 0296 1B68 ldr r3, [r3]
4188 0298 1A68 ldr r2, [r3]
4189 029a FB68 ldr r3, [r7, #12]
4190 029c 1B68 ldr r3, [r3]
4191 029e 42F00102 orr r2, r2, #1
4192 02a2 1A60 str r2, [r3]
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr))
4193 .loc 1 1466 10
4194 02a4 08E0 b .L299
4195 .L297:
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
ARM GAS /tmp/ccxRWv8k.s page 100
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE(htim);
4196 .loc 1 1473 7
4197 02a6 FB68 ldr r3, [r7, #12]
4198 02a8 1B68 ldr r3, [r3]
4199 02aa 1A68 ldr r2, [r3]
4200 02ac FB68 ldr r3, [r7, #12]
4201 02ae 1B68 ldr r3, [r3]
4202 02b0 42F00102 orr r2, r2, #1
4203 02b4 1A60 str r2, [r3]
4204 02b6 00E0 b .L295
4205 .L299:
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
4206 .loc 1 1466 10
4207 02b8 00BF nop
4208 .L295:
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return status;
4209 .loc 1 1478 10
4210 02ba FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
4211 .L271:
1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
4212 .loc 1 1479 1
4213 02bc 1846 mov r0, r3
4214 02be 1837 adds r7, r7, #24
4215 .cfi_def_cfa_offset 8
4216 02c0 BD46 mov sp, r7
4217 .cfi_def_cfa_register 13
4218 @ sp needed
4219 02c2 80BD pop {r7, pc}
4220 .L301:
4221 .align 2
4222 .L300:
4223 02c4 00000000 .word TIM_DMADelayPulseNCplt
4224 02c8 00000000 .word TIM_DMADelayPulseHalfCplt
4225 02cc 00000000 .word TIM_DMAErrorCCxN
4226 02d0 002C0140 .word 1073818624
4227 02d4 00040040 .word 1073742848
4228 02d8 00080040 .word 1073743872
4229 02dc 00400140 .word 1073823744
4230 02e0 07000100 .word 65543
4231 .cfi_endproc
4232 .LFE150:
4234 .section .text.HAL_TIMEx_PWMN_Stop_DMA,"ax",%progbits
4235 .align 1
4236 .global HAL_TIMEx_PWMN_Stop_DMA
4237 .syntax unified
4238 .thumb
4239 .thumb_func
4241 HAL_TIMEx_PWMN_Stop_DMA:
4242 .LFB151:
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
ARM GAS /tmp/ccxRWv8k.s page 101
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the TIM PWM signal generation in DMA mode on the complementary
1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * output
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel TIM Channel to be disabled
1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3 selected
1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_PWMN_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
4243 .loc 1 1493 1
4244 .cfi_startproc
4245 @ args = 0, pretend = 0, frame = 16
4246 @ frame_needed = 1, uses_anonymous_args = 0
4247 0000 80B5 push {r7, lr}
4248 .cfi_def_cfa_offset 8
4249 .cfi_offset 7, -8
4250 .cfi_offset 14, -4
4251 0002 84B0 sub sp, sp, #16
4252 .cfi_def_cfa_offset 24
4253 0004 00AF add r7, sp, #0
4254 .cfi_def_cfa_register 7
4255 0006 7860 str r0, [r7, #4]
4256 0008 3960 str r1, [r7]
1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef status = HAL_OK;
4257 .loc 1 1494 21
4258 000a 0023 movs r3, #0
4259 000c FB73 strb r3, [r7, #15]
1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, Channel));
1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** switch (Channel)
4260 .loc 1 1499 3
4261 000e 3B68 ldr r3, [r7]
4262 0010 082B cmp r3, #8
4263 0012 25D0 beq .L303
4264 0014 3B68 ldr r3, [r7]
4265 0016 082B cmp r3, #8
4266 0018 30D8 bhi .L304
4267 001a 3B68 ldr r3, [r7]
4268 001c 002B cmp r3, #0
4269 001e 03D0 beq .L305
4270 0020 3B68 ldr r3, [r7]
4271 0022 042B cmp r3, #4
4272 0024 0ED0 beq .L306
4273 0026 29E0 b .L304
4274 .L305:
1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_1:
1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Capture/Compare 1 DMA request */
1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC1);
4275 .loc 1 1504 7
4276 0028 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 102
4277 002a 1B68 ldr r3, [r3]
4278 002c DA68 ldr r2, [r3, #12]
4279 002e 7B68 ldr r3, [r7, #4]
4280 0030 1B68 ldr r3, [r3]
4281 0032 22F40072 bic r2, r2, #512
4282 0036 DA60 str r2, [r3, #12]
1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (void)HAL_DMA_Abort_IT(htim->hdma[TIM_DMA_ID_CC1]);
4283 .loc 1 1505 13
4284 0038 7B68 ldr r3, [r7, #4]
4285 003a 5B6A ldr r3, [r3, #36]
4286 003c 1846 mov r0, r3
4287 003e FFF7FEFF bl HAL_DMA_Abort_IT
1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
4288 .loc 1 1506 7
4289 0042 1EE0 b .L307
4290 .L306:
1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_2:
1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Capture/Compare 2 DMA request */
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC2);
4291 .loc 1 1512 7
4292 0044 7B68 ldr r3, [r7, #4]
4293 0046 1B68 ldr r3, [r3]
4294 0048 DA68 ldr r2, [r3, #12]
4295 004a 7B68 ldr r3, [r7, #4]
4296 004c 1B68 ldr r3, [r3]
4297 004e 22F48062 bic r2, r2, #1024
4298 0052 DA60 str r2, [r3, #12]
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (void)HAL_DMA_Abort_IT(htim->hdma[TIM_DMA_ID_CC2]);
4299 .loc 1 1513 13
4300 0054 7B68 ldr r3, [r7, #4]
4301 0056 9B6A ldr r3, [r3, #40]
4302 0058 1846 mov r0, r3
4303 005a FFF7FEFF bl HAL_DMA_Abort_IT
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
4304 .loc 1 1514 7
4305 005e 10E0 b .L307
4306 .L303:
1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** case TIM_CHANNEL_3:
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Capture/Compare 3 DMA request */
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_CC3);
4307 .loc 1 1520 7
4308 0060 7B68 ldr r3, [r7, #4]
4309 0062 1B68 ldr r3, [r3]
4310 0064 DA68 ldr r2, [r3, #12]
4311 0066 7B68 ldr r3, [r7, #4]
4312 0068 1B68 ldr r3, [r3]
4313 006a 22F40062 bic r2, r2, #2048
4314 006e DA60 str r2, [r3, #12]
1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (void)HAL_DMA_Abort_IT(htim->hdma[TIM_DMA_ID_CC3]);
4315 .loc 1 1521 13
4316 0070 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 103
4317 0072 DB6A ldr r3, [r3, #44]
4318 0074 1846 mov r0, r3
4319 0076 FFF7FEFF bl HAL_DMA_Abort_IT
1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
4320 .loc 1 1522 7
4321 007a 02E0 b .L307
4322 .L304:
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** default:
1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** status = HAL_ERROR;
4323 .loc 1 1526 14
4324 007c 0123 movs r3, #1
4325 007e FB73 strb r3, [r7, #15]
1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** break;
4326 .loc 1 1527 7
4327 0080 00BF nop
4328 .L307:
1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (status == HAL_OK)
4329 .loc 1 1530 6
4330 0082 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
4331 0084 002B cmp r3, #0
4332 0086 52D1 bne .L308
1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the complementary PWM output */
1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, Channel, TIM_CCxN_DISABLE);
4333 .loc 1 1533 5
4334 0088 7B68 ldr r3, [r7, #4]
4335 008a 1B68 ldr r3, [r3]
4336 008c 0022 movs r2, #0
4337 008e 3968 ldr r1, [r7]
4338 0090 1846 mov r0, r3
4339 0092 FFF7FEFF bl TIM_CCxNChannelCmd
1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Main Output */
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_DISABLE(htim);
4340 .loc 1 1536 5
4341 0096 7B68 ldr r3, [r7, #4]
4342 0098 1B68 ldr r3, [r3]
4343 009a 1A6A ldr r2, [r3, #32]
4344 009c 41F21113 movw r3, #4369
4345 00a0 1340 ands r3, r3, r2
4346 00a2 002B cmp r3, #0
4347 00a4 0FD1 bne .L309
4348 .loc 1 1536 5 is_stmt 0 discriminator 1
4349 00a6 7B68 ldr r3, [r7, #4]
4350 00a8 1B68 ldr r3, [r3]
4351 00aa 1A6A ldr r2, [r3, #32]
4352 00ac 40F24443 movw r3, #1092
4353 00b0 1340 ands r3, r3, r2
4354 00b2 002B cmp r3, #0
4355 00b4 07D1 bne .L309
4356 .loc 1 1536 5 discriminator 2
4357 00b6 7B68 ldr r3, [r7, #4]
4358 00b8 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 104
4359 00ba 5A6C ldr r2, [r3, #68]
4360 00bc 7B68 ldr r3, [r7, #4]
4361 00be 1B68 ldr r3, [r3]
4362 00c0 22F40042 bic r2, r2, #32768
4363 00c4 5A64 str r2, [r3, #68]
4364 .L309:
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
4365 .loc 1 1539 5 is_stmt 1
4366 00c6 7B68 ldr r3, [r7, #4]
4367 00c8 1B68 ldr r3, [r3]
4368 00ca 1A6A ldr r2, [r3, #32]
4369 00cc 41F21113 movw r3, #4369
4370 00d0 1340 ands r3, r3, r2
4371 00d2 002B cmp r3, #0
4372 00d4 0FD1 bne .L310
4373 .loc 1 1539 5 is_stmt 0 discriminator 1
4374 00d6 7B68 ldr r3, [r7, #4]
4375 00d8 1B68 ldr r3, [r3]
4376 00da 1A6A ldr r2, [r3, #32]
4377 00dc 40F24443 movw r3, #1092
4378 00e0 1340 ands r3, r3, r2
4379 00e2 002B cmp r3, #0
4380 00e4 07D1 bne .L310
4381 .loc 1 1539 5 discriminator 2
4382 00e6 7B68 ldr r3, [r7, #4]
4383 00e8 1B68 ldr r3, [r3]
4384 00ea 1A68 ldr r2, [r3]
4385 00ec 7B68 ldr r3, [r7, #4]
4386 00ee 1B68 ldr r3, [r3]
4387 00f0 22F00102 bic r2, r2, #1
4388 00f4 1A60 str r2, [r3]
4389 .L310:
1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM complementary channel state */
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, Channel, HAL_TIM_CHANNEL_STATE_READY);
4390 .loc 1 1542 5 is_stmt 1
4391 00f6 3B68 ldr r3, [r7]
4392 00f8 002B cmp r3, #0
4393 00fa 04D1 bne .L311
4394 .loc 1 1542 5 is_stmt 0 discriminator 1
4395 00fc 7B68 ldr r3, [r7, #4]
4396 00fe 0122 movs r2, #1
4397 0100 83F84420 strb r2, [r3, #68]
4398 0104 13E0 b .L308
4399 .L311:
4400 .loc 1 1542 5 discriminator 2
4401 0106 3B68 ldr r3, [r7]
4402 0108 042B cmp r3, #4
4403 010a 04D1 bne .L312
4404 .loc 1 1542 5 discriminator 3
4405 010c 7B68 ldr r3, [r7, #4]
4406 010e 0122 movs r2, #1
4407 0110 83F84520 strb r2, [r3, #69]
4408 0114 0BE0 b .L308
4409 .L312:
ARM GAS /tmp/ccxRWv8k.s page 105
4410 .loc 1 1542 5 discriminator 4
4411 0116 3B68 ldr r3, [r7]
4412 0118 082B cmp r3, #8
4413 011a 04D1 bne .L314
4414 .loc 1 1542 5 discriminator 6
4415 011c 7B68 ldr r3, [r7, #4]
4416 011e 0122 movs r2, #1
4417 0120 83F84620 strb r2, [r3, #70]
4418 0124 03E0 b .L308
4419 .L314:
4420 .loc 1 1542 5 discriminator 7
4421 0126 7B68 ldr r3, [r7, #4]
4422 0128 0122 movs r2, #1
4423 012a 83F84720 strb r2, [r3, #71]
4424 .L308:
1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return status;
4425 .loc 1 1546 10 is_stmt 1
4426 012e FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
4427 .loc 1 1547 1
4428 0130 1846 mov r0, r3
4429 0132 1037 adds r7, r7, #16
4430 .cfi_def_cfa_offset 8
4431 0134 BD46 mov sp, r7
4432 .cfi_def_cfa_register 13
4433 @ sp needed
4434 0136 80BD pop {r7, pc}
4435 .cfi_endproc
4436 .LFE151:
4438 .section .text.HAL_TIMEx_OnePulseN_Start,"ax",%progbits
4439 .align 1
4440 .global HAL_TIMEx_OnePulseN_Start
4441 .syntax unified
4442 .thumb
4443 .thumb_func
4445 HAL_TIMEx_OnePulseN_Start:
4446 .LFB152:
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @}
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx_Exported_Functions_Group4 Extended Timer Complementary One Pulse functions
1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Timer Complementary One Pulse functions
1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @verbatim
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ##### Timer Complementary One Pulse functions #####
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** [..]
1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** This section provides functions allowing to:
1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary One Pulse generation.
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary One Pulse.
1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Start the Complementary One Pulse and enable interrupts.
ARM GAS /tmp/ccxRWv8k.s page 106
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Stop the Complementary One Pulse and disable interrupts.
1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endverbatim
1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the TIM One Pulse signal generation on the complementary
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * output.
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note OutputChannel must match the pulse output channel chosen when calling
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @ref HAL_TIM_OnePulse_ConfigChannel().
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM One Pulse handle
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param OutputChannel pulse output channel to enable
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
4447 .loc 1 1584 1
4448 .cfi_startproc
4449 @ args = 0, pretend = 0, frame = 16
4450 @ frame_needed = 1, uses_anonymous_args = 0
4451 0000 80B5 push {r7, lr}
4452 .cfi_def_cfa_offset 8
4453 .cfi_offset 7, -8
4454 .cfi_offset 14, -4
4455 0002 84B0 sub sp, sp, #16
4456 .cfi_def_cfa_offset 24
4457 0004 00AF add r7, sp, #0
4458 .cfi_def_cfa_register 7
4459 0006 7860 str r0, [r7, #4]
4460 0008 3960 str r1, [r7]
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t input_channel = (OutputChannel == TIM_CHANNEL_1) ? TIM_CHANNEL_2 : TIM_CHANNEL_1;
4461 .loc 1 1585 77
4462 000a 3B68 ldr r3, [r7]
4463 000c 002B cmp r3, #0
4464 000e 01D1 bne .L318
4465 .loc 1 1585 77 is_stmt 0 discriminator 1
4466 0010 0423 movs r3, #4
4467 0012 00E0 b .L319
4468 .L318:
4469 .loc 1 1585 77 discriminator 2
4470 0014 0023 movs r3, #0
4471 .L319:
4472 .loc 1 1585 12 is_stmt 1 discriminator 4
4473 0016 FB60 str r3, [r7, #12]
1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_1_state = TIM_CHANNEL_STATE_GET(htim, TIM_CHANNEL_1);
4474 .loc 1 1586 31
4475 0018 7B68 ldr r3, [r7, #4]
4476 001a 93F83E30 ldrb r3, [r3, #62]
4477 001e FB72 strb r3, [r7, #11]
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_2_state = TIM_CHANNEL_STATE_GET(htim, TIM_CHANNEL_2);
4478 .loc 1 1587 31
4479 0020 7B68 ldr r3, [r7, #4]
4480 0022 93F83F30 ldrb r3, [r3, #63]
ARM GAS /tmp/ccxRWv8k.s page 107
4481 0026 BB72 strb r3, [r7, #10]
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef complementary_channel_1_state = TIM_CHANNEL_N_STATE_GET(htim, TIM_CHA
4482 .loc 1 1588 31
4483 0028 7B68 ldr r3, [r7, #4]
4484 002a 93F84430 ldrb r3, [r3, #68]
4485 002e 7B72 strb r3, [r7, #9]
1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef complementary_channel_2_state = TIM_CHANNEL_N_STATE_GET(htim, TIM_CHA
4486 .loc 1 1589 31
4487 0030 7B68 ldr r3, [r7, #4]
4488 0032 93F84530 ldrb r3, [r3, #69]
4489 0036 3B72 strb r3, [r7, #8]
1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel));
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the TIM channels state */
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((channel_1_state != HAL_TIM_CHANNEL_STATE_READY)
4490 .loc 1 1595 6
4491 0038 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
4492 003a 012B cmp r3, #1
4493 003c 08D1 bne .L320
1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (channel_2_state != HAL_TIM_CHANNEL_STATE_READY)
4494 .loc 1 1596 7
4495 003e BB7A ldrb r3, [r7, #10] @ zero_extendqisi2
4496 0040 012B cmp r3, #1
4497 0042 05D1 bne .L320
1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (complementary_channel_1_state != HAL_TIM_CHANNEL_STATE_READY)
4498 .loc 1 1597 7
4499 0044 7B7A ldrb r3, [r7, #9] @ zero_extendqisi2
4500 0046 012B cmp r3, #1
4501 0048 02D1 bne .L320
1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (complementary_channel_2_state != HAL_TIM_CHANNEL_STATE_READY))
4502 .loc 1 1598 7
4503 004a 3B7A ldrb r3, [r7, #8] @ zero_extendqisi2
4504 004c 012B cmp r3, #1
4505 004e 01D0 beq .L321
4506 .L320:
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
4507 .loc 1 1600 12
4508 0050 0123 movs r3, #1
4509 0052 26E0 b .L322
4510 .L321:
1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channels state */
1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
4511 .loc 1 1604 3
4512 0054 7B68 ldr r3, [r7, #4]
4513 0056 0222 movs r2, #2
4514 0058 83F83E20 strb r2, [r3, #62]
1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_BUSY);
4515 .loc 1 1605 3
4516 005c 7B68 ldr r3, [r7, #4]
4517 005e 0222 movs r2, #2
4518 0060 83F83F20 strb r2, [r3, #63]
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
ARM GAS /tmp/ccxRWv8k.s page 108
4519 .loc 1 1606 3
4520 0064 7B68 ldr r3, [r7, #4]
4521 0066 0222 movs r2, #2
4522 0068 83F84420 strb r2, [r3, #68]
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_BUSY);
4523 .loc 1 1607 3
4524 006c 7B68 ldr r3, [r7, #4]
4525 006e 0222 movs r2, #2
4526 0070 83F84520 strb r2, [r3, #69]
1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the complementary One Pulse output channel and the Input Capture channel */
1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_ENABLE);
4527 .loc 1 1610 3
4528 0074 7B68 ldr r3, [r7, #4]
4529 0076 1B68 ldr r3, [r3]
4530 0078 0422 movs r2, #4
4531 007a 3968 ldr r1, [r7]
4532 007c 1846 mov r0, r3
4533 007e FFF7FEFF bl TIM_CCxNChannelCmd
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, input_channel, TIM_CCx_ENABLE);
4534 .loc 1 1611 3
4535 0082 7B68 ldr r3, [r7, #4]
4536 0084 1B68 ldr r3, [r3]
4537 0086 0122 movs r2, #1
4538 0088 F968 ldr r1, [r7, #12]
4539 008a 1846 mov r0, r3
4540 008c FFF7FEFF bl TIM_CCxChannelCmd
1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Main Output */
1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_ENABLE(htim);
4541 .loc 1 1614 3
4542 0090 7B68 ldr r3, [r7, #4]
4543 0092 1B68 ldr r3, [r3]
4544 0094 5A6C ldr r2, [r3, #68]
4545 0096 7B68 ldr r3, [r7, #4]
4546 0098 1B68 ldr r3, [r3]
4547 009a 42F40042 orr r2, r2, #32768
4548 009e 5A64 str r2, [r3, #68]
1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
4549 .loc 1 1617 10
4550 00a0 0023 movs r3, #0
4551 .L322:
1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
4552 .loc 1 1618 1
4553 00a2 1846 mov r0, r3
4554 00a4 1037 adds r7, r7, #16
4555 .cfi_def_cfa_offset 8
4556 00a6 BD46 mov sp, r7
4557 .cfi_def_cfa_register 13
4558 @ sp needed
4559 00a8 80BD pop {r7, pc}
4560 .cfi_endproc
4561 .LFE152:
4563 .section .text.HAL_TIMEx_OnePulseN_Stop,"ax",%progbits
4564 .align 1
ARM GAS /tmp/ccxRWv8k.s page 109
4565 .global HAL_TIMEx_OnePulseN_Stop
4566 .syntax unified
4567 .thumb
4568 .thumb_func
4570 HAL_TIMEx_OnePulseN_Stop:
4571 .LFB153:
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the TIM One Pulse signal generation on the complementary
1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * output.
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note OutputChannel must match the pulse output channel chosen when calling
1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @ref HAL_TIM_OnePulse_ConfigChannel().
1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM One Pulse handle
1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param OutputChannel pulse output channel to disable
1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
4572 .loc 1 1633 1
4573 .cfi_startproc
4574 @ args = 0, pretend = 0, frame = 16
4575 @ frame_needed = 1, uses_anonymous_args = 0
4576 0000 80B5 push {r7, lr}
4577 .cfi_def_cfa_offset 8
4578 .cfi_offset 7, -8
4579 .cfi_offset 14, -4
4580 0002 84B0 sub sp, sp, #16
4581 .cfi_def_cfa_offset 24
4582 0004 00AF add r7, sp, #0
4583 .cfi_def_cfa_register 7
4584 0006 7860 str r0, [r7, #4]
4585 0008 3960 str r1, [r7]
1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t input_channel = (OutputChannel == TIM_CHANNEL_1) ? TIM_CHANNEL_2 : TIM_CHANNEL_1;
4586 .loc 1 1634 77
4587 000a 3B68 ldr r3, [r7]
4588 000c 002B cmp r3, #0
4589 000e 01D1 bne .L324
4590 .loc 1 1634 77 is_stmt 0 discriminator 1
4591 0010 0423 movs r3, #4
4592 0012 00E0 b .L325
4593 .L324:
4594 .loc 1 1634 77 discriminator 2
4595 0014 0023 movs r3, #0
4596 .L325:
4597 .loc 1 1634 12 is_stmt 1 discriminator 4
4598 0016 FB60 str r3, [r7, #12]
1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel));
1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the complementary One Pulse output channel and the Input Capture channel */
1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_DISABLE);
4599 .loc 1 1640 3
4600 0018 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 110
4601 001a 1B68 ldr r3, [r3]
4602 001c 0022 movs r2, #0
4603 001e 3968 ldr r1, [r7]
4604 0020 1846 mov r0, r3
4605 0022 FFF7FEFF bl TIM_CCxNChannelCmd
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, input_channel, TIM_CCx_DISABLE);
4606 .loc 1 1641 3
4607 0026 7B68 ldr r3, [r7, #4]
4608 0028 1B68 ldr r3, [r3]
4609 002a 0022 movs r2, #0
4610 002c F968 ldr r1, [r7, #12]
4611 002e 1846 mov r0, r3
4612 0030 FFF7FEFF bl TIM_CCxChannelCmd
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Main Output */
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_DISABLE(htim);
4613 .loc 1 1644 3
4614 0034 7B68 ldr r3, [r7, #4]
4615 0036 1B68 ldr r3, [r3]
4616 0038 1A6A ldr r2, [r3, #32]
4617 003a 41F21113 movw r3, #4369
4618 003e 1340 ands r3, r3, r2
4619 0040 002B cmp r3, #0
4620 0042 0FD1 bne .L326
4621 .loc 1 1644 3 is_stmt 0 discriminator 1
4622 0044 7B68 ldr r3, [r7, #4]
4623 0046 1B68 ldr r3, [r3]
4624 0048 1A6A ldr r2, [r3, #32]
4625 004a 40F24443 movw r3, #1092
4626 004e 1340 ands r3, r3, r2
4627 0050 002B cmp r3, #0
4628 0052 07D1 bne .L326
4629 .loc 1 1644 3 discriminator 2
4630 0054 7B68 ldr r3, [r7, #4]
4631 0056 1B68 ldr r3, [r3]
4632 0058 5A6C ldr r2, [r3, #68]
4633 005a 7B68 ldr r3, [r7, #4]
4634 005c 1B68 ldr r3, [r3]
4635 005e 22F40042 bic r2, r2, #32768
4636 0062 5A64 str r2, [r3, #68]
4637 .L326:
1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
4638 .loc 1 1647 3 is_stmt 1
4639 0064 7B68 ldr r3, [r7, #4]
4640 0066 1B68 ldr r3, [r3]
4641 0068 1A6A ldr r2, [r3, #32]
4642 006a 41F21113 movw r3, #4369
4643 006e 1340 ands r3, r3, r2
4644 0070 002B cmp r3, #0
4645 0072 0FD1 bne .L327
4646 .loc 1 1647 3 is_stmt 0 discriminator 1
4647 0074 7B68 ldr r3, [r7, #4]
4648 0076 1B68 ldr r3, [r3]
4649 0078 1A6A ldr r2, [r3, #32]
4650 007a 40F24443 movw r3, #1092
ARM GAS /tmp/ccxRWv8k.s page 111
4651 007e 1340 ands r3, r3, r2
4652 0080 002B cmp r3, #0
4653 0082 07D1 bne .L327
4654 .loc 1 1647 3 discriminator 2
4655 0084 7B68 ldr r3, [r7, #4]
4656 0086 1B68 ldr r3, [r3]
4657 0088 1A68 ldr r2, [r3]
4658 008a 7B68 ldr r3, [r7, #4]
4659 008c 1B68 ldr r3, [r3]
4660 008e 22F00102 bic r2, r2, #1
4661 0092 1A60 str r2, [r3]
4662 .L327:
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channels state */
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
4663 .loc 1 1650 3 is_stmt 1
4664 0094 7B68 ldr r3, [r7, #4]
4665 0096 0122 movs r2, #1
4666 0098 83F83E20 strb r2, [r3, #62]
1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
4667 .loc 1 1651 3
4668 009c 7B68 ldr r3, [r7, #4]
4669 009e 0122 movs r2, #1
4670 00a0 83F83F20 strb r2, [r3, #63]
1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
4671 .loc 1 1652 3
4672 00a4 7B68 ldr r3, [r7, #4]
4673 00a6 0122 movs r2, #1
4674 00a8 83F84420 strb r2, [r3, #68]
1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
4675 .loc 1 1653 3
4676 00ac 7B68 ldr r3, [r7, #4]
4677 00ae 0122 movs r2, #1
4678 00b0 83F84520 strb r2, [r3, #69]
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
4679 .loc 1 1656 10
4680 00b4 0023 movs r3, #0
1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
4681 .loc 1 1657 1
4682 00b6 1846 mov r0, r3
4683 00b8 1037 adds r7, r7, #16
4684 .cfi_def_cfa_offset 8
4685 00ba BD46 mov sp, r7
4686 .cfi_def_cfa_register 13
4687 @ sp needed
4688 00bc 80BD pop {r7, pc}
4689 .cfi_endproc
4690 .LFE153:
4692 .section .text.HAL_TIMEx_OnePulseN_Start_IT,"ax",%progbits
4693 .align 1
4694 .global HAL_TIMEx_OnePulseN_Start_IT
4695 .syntax unified
4696 .thumb
4697 .thumb_func
4699 HAL_TIMEx_OnePulseN_Start_IT:
ARM GAS /tmp/ccxRWv8k.s page 112
4700 .LFB154:
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Starts the TIM One Pulse signal generation in interrupt mode on the
1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * complementary channel.
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note OutputChannel must match the pulse output channel chosen when calling
1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @ref HAL_TIM_OnePulse_ConfigChannel().
1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM One Pulse handle
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param OutputChannel pulse output channel to enable
1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
4701 .loc 1 1672 1
4702 .cfi_startproc
4703 @ args = 0, pretend = 0, frame = 16
4704 @ frame_needed = 1, uses_anonymous_args = 0
4705 0000 80B5 push {r7, lr}
4706 .cfi_def_cfa_offset 8
4707 .cfi_offset 7, -8
4708 .cfi_offset 14, -4
4709 0002 84B0 sub sp, sp, #16
4710 .cfi_def_cfa_offset 24
4711 0004 00AF add r7, sp, #0
4712 .cfi_def_cfa_register 7
4713 0006 7860 str r0, [r7, #4]
4714 0008 3960 str r1, [r7]
1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t input_channel = (OutputChannel == TIM_CHANNEL_1) ? TIM_CHANNEL_2 : TIM_CHANNEL_1;
4715 .loc 1 1673 77
4716 000a 3B68 ldr r3, [r7]
4717 000c 002B cmp r3, #0
4718 000e 01D1 bne .L330
4719 .loc 1 1673 77 is_stmt 0 discriminator 1
4720 0010 0423 movs r3, #4
4721 0012 00E0 b .L331
4722 .L330:
4723 .loc 1 1673 77 discriminator 2
4724 0014 0023 movs r3, #0
4725 .L331:
4726 .loc 1 1673 12 is_stmt 1 discriminator 4
4727 0016 FB60 str r3, [r7, #12]
1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_1_state = TIM_CHANNEL_STATE_GET(htim, TIM_CHANNEL_1);
4728 .loc 1 1674 31
4729 0018 7B68 ldr r3, [r7, #4]
4730 001a 93F83E30 ldrb r3, [r3, #62]
4731 001e FB72 strb r3, [r7, #11]
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_2_state = TIM_CHANNEL_STATE_GET(htim, TIM_CHANNEL_2);
4732 .loc 1 1675 31
4733 0020 7B68 ldr r3, [r7, #4]
4734 0022 93F83F30 ldrb r3, [r3, #63]
4735 0026 BB72 strb r3, [r7, #10]
1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef complementary_channel_1_state = TIM_CHANNEL_N_STATE_GET(htim, TIM_CHA
4736 .loc 1 1676 31
4737 0028 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 113
4738 002a 93F84430 ldrb r3, [r3, #68]
4739 002e 7B72 strb r3, [r7, #9]
1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef complementary_channel_2_state = TIM_CHANNEL_N_STATE_GET(htim, TIM_CHA
4740 .loc 1 1677 31
4741 0030 7B68 ldr r3, [r7, #4]
4742 0032 93F84530 ldrb r3, [r3, #69]
4743 0036 3B72 strb r3, [r7, #8]
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel));
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the TIM channels state */
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((channel_1_state != HAL_TIM_CHANNEL_STATE_READY)
4744 .loc 1 1683 6
4745 0038 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
4746 003a 012B cmp r3, #1
4747 003c 08D1 bne .L332
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (channel_2_state != HAL_TIM_CHANNEL_STATE_READY)
4748 .loc 1 1684 7
4749 003e BB7A ldrb r3, [r7, #10] @ zero_extendqisi2
4750 0040 012B cmp r3, #1
4751 0042 05D1 bne .L332
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (complementary_channel_1_state != HAL_TIM_CHANNEL_STATE_READY)
4752 .loc 1 1685 7
4753 0044 7B7A ldrb r3, [r7, #9] @ zero_extendqisi2
4754 0046 012B cmp r3, #1
4755 0048 02D1 bne .L332
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** || (complementary_channel_2_state != HAL_TIM_CHANNEL_STATE_READY))
4756 .loc 1 1686 7
4757 004a 3B7A ldrb r3, [r7, #8] @ zero_extendqisi2
4758 004c 012B cmp r3, #1
4759 004e 01D0 beq .L333
4760 .L332:
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_ERROR;
4761 .loc 1 1688 12
4762 0050 0123 movs r3, #1
4763 0052 36E0 b .L334
4764 .L333:
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channels state */
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
4765 .loc 1 1692 3
4766 0054 7B68 ldr r3, [r7, #4]
4767 0056 0222 movs r2, #2
4768 0058 83F83E20 strb r2, [r3, #62]
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_BUSY);
4769 .loc 1 1693 3
4770 005c 7B68 ldr r3, [r7, #4]
4771 005e 0222 movs r2, #2
4772 0060 83F83F20 strb r2, [r3, #63]
1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_BUSY);
4773 .loc 1 1694 3
4774 0064 7B68 ldr r3, [r7, #4]
4775 0066 0222 movs r2, #2
4776 0068 83F84420 strb r2, [r3, #68]
ARM GAS /tmp/ccxRWv8k.s page 114
1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_BUSY);
4777 .loc 1 1695 3
4778 006c 7B68 ldr r3, [r7, #4]
4779 006e 0222 movs r2, #2
4780 0070 83F84520 strb r2, [r3, #69]
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Capture/Compare 1 interrupt */
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC1);
4781 .loc 1 1698 3
4782 0074 7B68 ldr r3, [r7, #4]
4783 0076 1B68 ldr r3, [r3]
4784 0078 DA68 ldr r2, [r3, #12]
4785 007a 7B68 ldr r3, [r7, #4]
4786 007c 1B68 ldr r3, [r3]
4787 007e 42F00202 orr r2, r2, #2
4788 0082 DA60 str r2, [r3, #12]
1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the TIM Capture/Compare 2 interrupt */
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_CC2);
4789 .loc 1 1701 3
4790 0084 7B68 ldr r3, [r7, #4]
4791 0086 1B68 ldr r3, [r3]
4792 0088 DA68 ldr r2, [r3, #12]
4793 008a 7B68 ldr r3, [r7, #4]
4794 008c 1B68 ldr r3, [r3]
4795 008e 42F00402 orr r2, r2, #4
4796 0092 DA60 str r2, [r3, #12]
1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the complementary One Pulse output channel and the Input Capture channel */
1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_ENABLE);
4797 .loc 1 1704 3
4798 0094 7B68 ldr r3, [r7, #4]
4799 0096 1B68 ldr r3, [r3]
4800 0098 0422 movs r2, #4
4801 009a 3968 ldr r1, [r7]
4802 009c 1846 mov r0, r3
4803 009e FFF7FEFF bl TIM_CCxNChannelCmd
1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, input_channel, TIM_CCx_ENABLE);
4804 .loc 1 1705 3
4805 00a2 7B68 ldr r3, [r7, #4]
4806 00a4 1B68 ldr r3, [r3]
4807 00a6 0122 movs r2, #1
4808 00a8 F968 ldr r1, [r7, #12]
4809 00aa 1846 mov r0, r3
4810 00ac FFF7FEFF bl TIM_CCxChannelCmd
1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Main Output */
1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_ENABLE(htim);
4811 .loc 1 1708 3
4812 00b0 7B68 ldr r3, [r7, #4]
4813 00b2 1B68 ldr r3, [r3]
4814 00b4 5A6C ldr r2, [r3, #68]
4815 00b6 7B68 ldr r3, [r7, #4]
4816 00b8 1B68 ldr r3, [r3]
4817 00ba 42F40042 orr r2, r2, #32768
4818 00be 5A64 str r2, [r3, #68]
1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
ARM GAS /tmp/ccxRWv8k.s page 115
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
4819 .loc 1 1711 10
4820 00c0 0023 movs r3, #0
4821 .L334:
1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
4822 .loc 1 1712 1
4823 00c2 1846 mov r0, r3
4824 00c4 1037 adds r7, r7, #16
4825 .cfi_def_cfa_offset 8
4826 00c6 BD46 mov sp, r7
4827 .cfi_def_cfa_register 13
4828 @ sp needed
4829 00c8 80BD pop {r7, pc}
4830 .cfi_endproc
4831 .LFE154:
4833 .section .text.HAL_TIMEx_OnePulseN_Stop_IT,"ax",%progbits
4834 .align 1
4835 .global HAL_TIMEx_OnePulseN_Stop_IT
4836 .syntax unified
4837 .thumb
4838 .thumb_func
4840 HAL_TIMEx_OnePulseN_Stop_IT:
4841 .LFB155:
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Stops the TIM One Pulse signal generation in interrupt mode on the
1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * complementary channel.
1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note OutputChannel must match the pulse output channel chosen when calling
1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @ref HAL_TIM_OnePulse_ConfigChannel().
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM One Pulse handle
1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param OutputChannel pulse output channel to disable
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1 selected
1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2 selected
1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_OnePulseN_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
4842 .loc 1 1727 1
4843 .cfi_startproc
4844 @ args = 0, pretend = 0, frame = 16
4845 @ frame_needed = 1, uses_anonymous_args = 0
4846 0000 80B5 push {r7, lr}
4847 .cfi_def_cfa_offset 8
4848 .cfi_offset 7, -8
4849 .cfi_offset 14, -4
4850 0002 84B0 sub sp, sp, #16
4851 .cfi_def_cfa_offset 24
4852 0004 00AF add r7, sp, #0
4853 .cfi_def_cfa_register 7
4854 0006 7860 str r0, [r7, #4]
4855 0008 3960 str r1, [r7]
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t input_channel = (OutputChannel == TIM_CHANNEL_1) ? TIM_CHANNEL_2 : TIM_CHANNEL_1;
4856 .loc 1 1728 77
4857 000a 3B68 ldr r3, [r7]
4858 000c 002B cmp r3, #0
ARM GAS /tmp/ccxRWv8k.s page 116
4859 000e 01D1 bne .L336
4860 .loc 1 1728 77 is_stmt 0 discriminator 1
4861 0010 0423 movs r3, #4
4862 0012 00E0 b .L337
4863 .L336:
4864 .loc 1 1728 77 discriminator 2
4865 0014 0023 movs r3, #0
4866 .L337:
4867 .loc 1 1728 12 is_stmt 1 discriminator 4
4868 0016 FB60 str r3, [r7, #12]
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, OutputChannel));
1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Capture/Compare 1 interrupt */
1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC1);
4869 .loc 1 1734 3
4870 0018 7B68 ldr r3, [r7, #4]
4871 001a 1B68 ldr r3, [r3]
4872 001c DA68 ldr r2, [r3, #12]
4873 001e 7B68 ldr r3, [r7, #4]
4874 0020 1B68 ldr r3, [r3]
4875 0022 22F00202 bic r2, r2, #2
4876 0026 DA60 str r2, [r3, #12]
1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the TIM Capture/Compare 2 interrupt */
1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_CC2);
4877 .loc 1 1737 3
4878 0028 7B68 ldr r3, [r7, #4]
4879 002a 1B68 ldr r3, [r3]
4880 002c DA68 ldr r2, [r3, #12]
4881 002e 7B68 ldr r3, [r7, #4]
4882 0030 1B68 ldr r3, [r3]
4883 0032 22F00402 bic r2, r2, #4
4884 0036 DA60 str r2, [r3, #12]
1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the complementary One Pulse output channel and the Input Capture channel */
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxNChannelCmd(htim->Instance, OutputChannel, TIM_CCxN_DISABLE);
4885 .loc 1 1740 3
4886 0038 7B68 ldr r3, [r7, #4]
4887 003a 1B68 ldr r3, [r3]
4888 003c 0022 movs r2, #0
4889 003e 3968 ldr r1, [r7]
4890 0040 1846 mov r0, r3
4891 0042 FFF7FEFF bl TIM_CCxNChannelCmd
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CCxChannelCmd(htim->Instance, input_channel, TIM_CCx_DISABLE);
4892 .loc 1 1741 3
4893 0046 7B68 ldr r3, [r7, #4]
4894 0048 1B68 ldr r3, [r3]
4895 004a 0022 movs r2, #0
4896 004c F968 ldr r1, [r7, #12]
4897 004e 1846 mov r0, r3
4898 0050 FFF7FEFF bl TIM_CCxChannelCmd
1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Main Output */
1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_MOE_DISABLE(htim);
4899 .loc 1 1744 3
ARM GAS /tmp/ccxRWv8k.s page 117
4900 0054 7B68 ldr r3, [r7, #4]
4901 0056 1B68 ldr r3, [r3]
4902 0058 1A6A ldr r2, [r3, #32]
4903 005a 41F21113 movw r3, #4369
4904 005e 1340 ands r3, r3, r2
4905 0060 002B cmp r3, #0
4906 0062 0FD1 bne .L338
4907 .loc 1 1744 3 is_stmt 0 discriminator 1
4908 0064 7B68 ldr r3, [r7, #4]
4909 0066 1B68 ldr r3, [r3]
4910 0068 1A6A ldr r2, [r3, #32]
4911 006a 40F24443 movw r3, #1092
4912 006e 1340 ands r3, r3, r2
4913 0070 002B cmp r3, #0
4914 0072 07D1 bne .L338
4915 .loc 1 1744 3 discriminator 2
4916 0074 7B68 ldr r3, [r7, #4]
4917 0076 1B68 ldr r3, [r3]
4918 0078 5A6C ldr r2, [r3, #68]
4919 007a 7B68 ldr r3, [r7, #4]
4920 007c 1B68 ldr r3, [r3]
4921 007e 22F40042 bic r2, r2, #32768
4922 0082 5A64 str r2, [r3, #68]
4923 .L338:
1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable the Peripheral */
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE(htim);
4924 .loc 1 1747 3 is_stmt 1
4925 0084 7B68 ldr r3, [r7, #4]
4926 0086 1B68 ldr r3, [r3]
4927 0088 1A6A ldr r2, [r3, #32]
4928 008a 41F21113 movw r3, #4369
4929 008e 1340 ands r3, r3, r2
4930 0090 002B cmp r3, #0
4931 0092 0FD1 bne .L339
4932 .loc 1 1747 3 is_stmt 0 discriminator 1
4933 0094 7B68 ldr r3, [r7, #4]
4934 0096 1B68 ldr r3, [r3]
4935 0098 1A6A ldr r2, [r3, #32]
4936 009a 40F24443 movw r3, #1092
4937 009e 1340 ands r3, r3, r2
4938 00a0 002B cmp r3, #0
4939 00a2 07D1 bne .L339
4940 .loc 1 1747 3 discriminator 2
4941 00a4 7B68 ldr r3, [r7, #4]
4942 00a6 1B68 ldr r3, [r3]
4943 00a8 1A68 ldr r2, [r3]
4944 00aa 7B68 ldr r3, [r7, #4]
4945 00ac 1B68 ldr r3, [r3]
4946 00ae 22F00102 bic r2, r2, #1
4947 00b2 1A60 str r2, [r3]
4948 .L339:
1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the TIM channels state */
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
4949 .loc 1 1750 3 is_stmt 1
4950 00b4 7B68 ldr r3, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 118
4951 00b6 0122 movs r2, #1
4952 00b8 83F83E20 strb r2, [r3, #62]
1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
4953 .loc 1 1751 3
4954 00bc 7B68 ldr r3, [r7, #4]
4955 00be 0122 movs r2, #1
4956 00c0 83F83F20 strb r2, [r3, #63]
1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
4957 .loc 1 1752 3
4958 00c4 7B68 ldr r3, [r7, #4]
4959 00c6 0122 movs r2, #1
4960 00c8 83F84420 strb r2, [r3, #68]
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
4961 .loc 1 1753 3
4962 00cc 7B68 ldr r3, [r7, #4]
4963 00ce 0122 movs r2, #1
4964 00d0 83F84520 strb r2, [r3, #69]
1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Return function status */
1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
4965 .loc 1 1756 10
4966 00d4 0023 movs r3, #0
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
4967 .loc 1 1757 1
4968 00d6 1846 mov r0, r3
4969 00d8 1037 adds r7, r7, #16
4970 .cfi_def_cfa_offset 8
4971 00da BD46 mov sp, r7
4972 .cfi_def_cfa_register 13
4973 @ sp needed
4974 00dc 80BD pop {r7, pc}
4975 .cfi_endproc
4976 .LFE155:
4978 .section .text.HAL_TIMEx_ConfigCommutEvent,"ax",%progbits
4979 .align 1
4980 .global HAL_TIMEx_ConfigCommutEvent
4981 .syntax unified
4982 .thumb
4983 .thumb_func
4985 HAL_TIMEx_ConfigCommutEvent:
4986 .LFB156:
1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @}
1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx_Exported_Functions_Group5 Extended Peripheral Control functions
1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Peripheral Control functions
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @verbatim
1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ##### Peripheral Control functions #####
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** [..]
1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** This section provides functions allowing to:
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Configure the commutation event in case of use of the Hall sensor interface.
1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Configure Output channels for OC and PWM mode.
ARM GAS /tmp/ccxRWv8k.s page 119
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Configure Complementary channels, break features and dead time.
1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Configure Master synchronization.
1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Configure timer remapping capabilities.
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Enable or disable channel grouping.
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endverbatim
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Configure the TIM commutation event sequence.
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note This function is mandatory to use the commutation event in order to
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * update the configuration at each commutation detection on the TRGI input of the Timer,
1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * the typical use of this feature is with the use of another Timer(interface Timer)
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * configured in Hall sensor interface, this interface Timer will generate the
1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * commutation at its TRGO output (connected to Timer used in this function) each time
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * the TI1 of the Interface Timer detect a commutation at its input TI1.
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param InputTrigger the Internal trigger corresponding to the Timer Interfacing with the Hall
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR0: Internal trigger 0 selected
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR1: Internal trigger 1 selected
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR2: Internal trigger 2 selected
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR3: Internal trigger 3 selected
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_NONE: No trigger is needed
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param CommutationSource the Commutation Event source
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_COMMUTATION_TRGI: Commutation source is the TRGI of the Interface Timer
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_COMMUTATION_SOFTWARE: Commutation source is set by software using the COMG
1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent(TIM_HandleTypeDef *htim, uint32_t InputTrigger,
1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t CommutationSource)
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
4987 .loc 1 1808 1
4988 .cfi_startproc
4989 @ args = 0, pretend = 0, frame = 16
4990 @ frame_needed = 1, uses_anonymous_args = 0
4991 @ link register save eliminated.
4992 0000 80B4 push {r7}
4993 .cfi_def_cfa_offset 4
4994 .cfi_offset 7, -4
4995 0002 85B0 sub sp, sp, #20
4996 .cfi_def_cfa_offset 24
4997 0004 00AF add r7, sp, #0
4998 .cfi_def_cfa_register 7
4999 0006 F860 str r0, [r7, #12]
5000 0008 B960 str r1, [r7, #8]
5001 000a 7A60 str r2, [r7, #4]
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_COMMUTATION_EVENT_INSTANCE(htim->Instance));
1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(InputTrigger));
1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_LOCK(htim);
5002 .loc 1 1813 3
5003 000c FB68 ldr r3, [r7, #12]
ARM GAS /tmp/ccxRWv8k.s page 120
5004 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
5005 0012 012B cmp r3, #1
5006 0014 01D1 bne .L342
5007 .loc 1 1813 3 is_stmt 0 discriminator 1
5008 0016 0223 movs r3, #2
5009 .loc 1 1813 3
5010 0018 4CE0 b .L343
5011 .L342:
5012 .loc 1 1813 3 discriminator 2
5013 001a FB68 ldr r3, [r7, #12]
5014 001c 0122 movs r2, #1
5015 001e 83F83C20 strb r2, [r3, #60]
1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((InputTrigger == TIM_TS_ITR0) || (InputTrigger == TIM_TS_ITR1) ||
5016 .loc 1 1815 6 is_stmt 1
5017 0022 BB68 ldr r3, [r7, #8]
5018 0024 002B cmp r3, #0
5019 0026 08D0 beq .L344
5020 .loc 1 1815 37 discriminator 1
5021 0028 BB68 ldr r3, [r7, #8]
5022 002a 102B cmp r3, #16
5023 002c 05D0 beq .L344
5024 .loc 1 1815 70 discriminator 2
5025 002e BB68 ldr r3, [r7, #8]
5026 0030 202B cmp r3, #32
5027 0032 02D0 beq .L344
1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (InputTrigger == TIM_TS_ITR2) || (InputTrigger == TIM_TS_ITR3))
5028 .loc 1 1816 37
5029 0034 BB68 ldr r3, [r7, #8]
5030 0036 302B cmp r3, #48
5031 0038 0FD1 bne .L345
5032 .L344:
1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the Input trigger */
1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR &= ~TIM_SMCR_TS;
5033 .loc 1 1819 9
5034 003a FB68 ldr r3, [r7, #12]
5035 003c 1B68 ldr r3, [r3]
5036 .loc 1 1819 19
5037 003e 9A68 ldr r2, [r3, #8]
5038 .loc 1 1819 9
5039 0040 FB68 ldr r3, [r7, #12]
5040 0042 1B68 ldr r3, [r3]
5041 .loc 1 1819 26
5042 0044 22F07002 bic r2, r2, #112
5043 0048 9A60 str r2, [r3, #8]
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR |= InputTrigger;
5044 .loc 1 1820 9
5045 004a FB68 ldr r3, [r7, #12]
5046 004c 1B68 ldr r3, [r3]
5047 .loc 1 1820 19
5048 004e 9968 ldr r1, [r3, #8]
5049 .loc 1 1820 9
5050 0050 FB68 ldr r3, [r7, #12]
5051 0052 1B68 ldr r3, [r3]
5052 .loc 1 1820 26
5053 0054 BA68 ldr r2, [r7, #8]
ARM GAS /tmp/ccxRWv8k.s page 121
5054 0056 0A43 orrs r2, r2, r1
5055 0058 9A60 str r2, [r3, #8]
5056 .L345:
1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the Capture Compare preload feature */
1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 |= TIM_CR2_CCPC;
5057 .loc 1 1824 7
5058 005a FB68 ldr r3, [r7, #12]
5059 005c 1B68 ldr r3, [r3]
5060 .loc 1 1824 17
5061 005e 5A68 ldr r2, [r3, #4]
5062 .loc 1 1824 7
5063 0060 FB68 ldr r3, [r7, #12]
5064 0062 1B68 ldr r3, [r3]
5065 .loc 1 1824 23
5066 0064 42F00102 orr r2, r2, #1
5067 0068 5A60 str r2, [r3, #4]
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the Commutation event source */
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 &= ~TIM_CR2_CCUS;
5068 .loc 1 1826 7
5069 006a FB68 ldr r3, [r7, #12]
5070 006c 1B68 ldr r3, [r3]
5071 .loc 1 1826 17
5072 006e 5A68 ldr r2, [r3, #4]
5073 .loc 1 1826 7
5074 0070 FB68 ldr r3, [r7, #12]
5075 0072 1B68 ldr r3, [r3]
5076 .loc 1 1826 23
5077 0074 22F00402 bic r2, r2, #4
5078 0078 5A60 str r2, [r3, #4]
1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 |= CommutationSource;
5079 .loc 1 1827 7
5080 007a FB68 ldr r3, [r7, #12]
5081 007c 1B68 ldr r3, [r3]
5082 .loc 1 1827 17
5083 007e 5968 ldr r1, [r3, #4]
5084 .loc 1 1827 7
5085 0080 FB68 ldr r3, [r7, #12]
5086 0082 1B68 ldr r3, [r3]
5087 .loc 1 1827 23
5088 0084 7A68 ldr r2, [r7, #4]
5089 0086 0A43 orrs r2, r2, r1
5090 0088 5A60 str r2, [r3, #4]
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable Commutation Interrupt */
1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_COM);
5091 .loc 1 1830 3
5092 008a FB68 ldr r3, [r7, #12]
5093 008c 1B68 ldr r3, [r3]
5094 008e DA68 ldr r2, [r3, #12]
5095 0090 FB68 ldr r3, [r7, #12]
5096 0092 1B68 ldr r3, [r3]
5097 0094 22F02002 bic r2, r2, #32
5098 0098 DA60 str r2, [r3, #12]
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable Commutation DMA request */
ARM GAS /tmp/ccxRWv8k.s page 122
1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_COM);
5099 .loc 1 1833 3
5100 009a FB68 ldr r3, [r7, #12]
5101 009c 1B68 ldr r3, [r3]
5102 009e DA68 ldr r2, [r3, #12]
5103 00a0 FB68 ldr r3, [r7, #12]
5104 00a2 1B68 ldr r3, [r3]
5105 00a4 22F40052 bic r2, r2, #8192
5106 00a8 DA60 str r2, [r3, #12]
1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_UNLOCK(htim);
5107 .loc 1 1835 3
5108 00aa FB68 ldr r3, [r7, #12]
5109 00ac 0022 movs r2, #0
5110 00ae 83F83C20 strb r2, [r3, #60]
1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
5111 .loc 1 1837 10
5112 00b2 0023 movs r3, #0
5113 .L343:
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
5114 .loc 1 1838 1
5115 00b4 1846 mov r0, r3
5116 00b6 1437 adds r7, r7, #20
5117 .cfi_def_cfa_offset 4
5118 00b8 BD46 mov sp, r7
5119 .cfi_def_cfa_register 13
5120 @ sp needed
5121 00ba 5DF8047B ldr r7, [sp], #4
5122 .cfi_restore 7
5123 .cfi_def_cfa_offset 0
5124 00be 7047 bx lr
5125 .cfi_endproc
5126 .LFE156:
5128 .section .text.HAL_TIMEx_ConfigCommutEvent_IT,"ax",%progbits
5129 .align 1
5130 .global HAL_TIMEx_ConfigCommutEvent_IT
5131 .syntax unified
5132 .thumb
5133 .thumb_func
5135 HAL_TIMEx_ConfigCommutEvent_IT:
5136 .LFB157:
1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Configure the TIM commutation event sequence with interrupt.
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note This function is mandatory to use the commutation event in order to
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * update the configuration at each commutation detection on the TRGI input of the Timer,
1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * the typical use of this feature is with the use of another Timer(interface Timer)
1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * configured in Hall sensor interface, this interface Timer will generate the
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * commutation at its TRGO output (connected to Timer used in this function) each time
1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * the TI1 of the Interface Timer detect a commutation at its input TI1.
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param InputTrigger the Internal trigger corresponding to the Timer Interfacing with the Hall
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR0: Internal trigger 0 selected
1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR1: Internal trigger 1 selected
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR2: Internal trigger 2 selected
ARM GAS /tmp/ccxRWv8k.s page 123
1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR3: Internal trigger 3 selected
1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_NONE: No trigger is needed
1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param CommutationSource the Commutation Event source
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_COMMUTATION_TRGI: Commutation source is the TRGI of the Interface Timer
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_COMMUTATION_SOFTWARE: Commutation source is set by software using the COMG
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_IT(TIM_HandleTypeDef *htim, uint32_t InputTrigger,
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t CommutationSource)
1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
5137 .loc 1 1864 1
5138 .cfi_startproc
5139 @ args = 0, pretend = 0, frame = 16
5140 @ frame_needed = 1, uses_anonymous_args = 0
5141 @ link register save eliminated.
5142 0000 80B4 push {r7}
5143 .cfi_def_cfa_offset 4
5144 .cfi_offset 7, -4
5145 0002 85B0 sub sp, sp, #20
5146 .cfi_def_cfa_offset 24
5147 0004 00AF add r7, sp, #0
5148 .cfi_def_cfa_register 7
5149 0006 F860 str r0, [r7, #12]
5150 0008 B960 str r1, [r7, #8]
5151 000a 7A60 str r2, [r7, #4]
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_COMMUTATION_EVENT_INSTANCE(htim->Instance));
1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(InputTrigger));
1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_LOCK(htim);
5152 .loc 1 1869 3
5153 000c FB68 ldr r3, [r7, #12]
5154 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
5155 0012 012B cmp r3, #1
5156 0014 01D1 bne .L347
5157 .loc 1 1869 3 is_stmt 0 discriminator 1
5158 0016 0223 movs r3, #2
5159 .loc 1 1869 3
5160 0018 4CE0 b .L348
5161 .L347:
5162 .loc 1 1869 3 discriminator 2
5163 001a FB68 ldr r3, [r7, #12]
5164 001c 0122 movs r2, #1
5165 001e 83F83C20 strb r2, [r3, #60]
1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((InputTrigger == TIM_TS_ITR0) || (InputTrigger == TIM_TS_ITR1) ||
5166 .loc 1 1871 6 is_stmt 1
5167 0022 BB68 ldr r3, [r7, #8]
5168 0024 002B cmp r3, #0
5169 0026 08D0 beq .L349
5170 .loc 1 1871 37 discriminator 1
5171 0028 BB68 ldr r3, [r7, #8]
5172 002a 102B cmp r3, #16
5173 002c 05D0 beq .L349
5174 .loc 1 1871 70 discriminator 2
5175 002e BB68 ldr r3, [r7, #8]
ARM GAS /tmp/ccxRWv8k.s page 124
5176 0030 202B cmp r3, #32
5177 0032 02D0 beq .L349
1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (InputTrigger == TIM_TS_ITR2) || (InputTrigger == TIM_TS_ITR3))
5178 .loc 1 1872 37
5179 0034 BB68 ldr r3, [r7, #8]
5180 0036 302B cmp r3, #48
5181 0038 0FD1 bne .L350
5182 .L349:
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the Input trigger */
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR &= ~TIM_SMCR_TS;
5183 .loc 1 1875 9
5184 003a FB68 ldr r3, [r7, #12]
5185 003c 1B68 ldr r3, [r3]
5186 .loc 1 1875 19
5187 003e 9A68 ldr r2, [r3, #8]
5188 .loc 1 1875 9
5189 0040 FB68 ldr r3, [r7, #12]
5190 0042 1B68 ldr r3, [r3]
5191 .loc 1 1875 26
5192 0044 22F07002 bic r2, r2, #112
5193 0048 9A60 str r2, [r3, #8]
1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR |= InputTrigger;
5194 .loc 1 1876 9
5195 004a FB68 ldr r3, [r7, #12]
5196 004c 1B68 ldr r3, [r3]
5197 .loc 1 1876 19
5198 004e 9968 ldr r1, [r3, #8]
5199 .loc 1 1876 9
5200 0050 FB68 ldr r3, [r7, #12]
5201 0052 1B68 ldr r3, [r3]
5202 .loc 1 1876 26
5203 0054 BA68 ldr r2, [r7, #8]
5204 0056 0A43 orrs r2, r2, r1
5205 0058 9A60 str r2, [r3, #8]
5206 .L350:
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the Capture Compare preload feature */
1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 |= TIM_CR2_CCPC;
5207 .loc 1 1880 7
5208 005a FB68 ldr r3, [r7, #12]
5209 005c 1B68 ldr r3, [r3]
5210 .loc 1 1880 17
5211 005e 5A68 ldr r2, [r3, #4]
5212 .loc 1 1880 7
5213 0060 FB68 ldr r3, [r7, #12]
5214 0062 1B68 ldr r3, [r3]
5215 .loc 1 1880 23
5216 0064 42F00102 orr r2, r2, #1
5217 0068 5A60 str r2, [r3, #4]
1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the Commutation event source */
1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 &= ~TIM_CR2_CCUS;
5218 .loc 1 1882 7
5219 006a FB68 ldr r3, [r7, #12]
5220 006c 1B68 ldr r3, [r3]
5221 .loc 1 1882 17
ARM GAS /tmp/ccxRWv8k.s page 125
5222 006e 5A68 ldr r2, [r3, #4]
5223 .loc 1 1882 7
5224 0070 FB68 ldr r3, [r7, #12]
5225 0072 1B68 ldr r3, [r3]
5226 .loc 1 1882 23
5227 0074 22F00402 bic r2, r2, #4
5228 0078 5A60 str r2, [r3, #4]
1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 |= CommutationSource;
5229 .loc 1 1883 7
5230 007a FB68 ldr r3, [r7, #12]
5231 007c 1B68 ldr r3, [r3]
5232 .loc 1 1883 17
5233 007e 5968 ldr r1, [r3, #4]
5234 .loc 1 1883 7
5235 0080 FB68 ldr r3, [r7, #12]
5236 0082 1B68 ldr r3, [r3]
5237 .loc 1 1883 23
5238 0084 7A68 ldr r2, [r7, #4]
5239 0086 0A43 orrs r2, r2, r1
5240 0088 5A60 str r2, [r3, #4]
1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable Commutation DMA request */
1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_DMA(htim, TIM_DMA_COM);
5241 .loc 1 1886 3
5242 008a FB68 ldr r3, [r7, #12]
5243 008c 1B68 ldr r3, [r3]
5244 008e DA68 ldr r2, [r3, #12]
5245 0090 FB68 ldr r3, [r7, #12]
5246 0092 1B68 ldr r3, [r3]
5247 0094 22F40052 bic r2, r2, #8192
5248 0098 DA60 str r2, [r3, #12]
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Commutation Interrupt */
1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_IT(htim, TIM_IT_COM);
5249 .loc 1 1889 3
5250 009a FB68 ldr r3, [r7, #12]
5251 009c 1B68 ldr r3, [r3]
5252 009e DA68 ldr r2, [r3, #12]
5253 00a0 FB68 ldr r3, [r7, #12]
5254 00a2 1B68 ldr r3, [r3]
5255 00a4 42F02002 orr r2, r2, #32
5256 00a8 DA60 str r2, [r3, #12]
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_UNLOCK(htim);
5257 .loc 1 1891 3
5258 00aa FB68 ldr r3, [r7, #12]
5259 00ac 0022 movs r2, #0
5260 00ae 83F83C20 strb r2, [r3, #60]
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
5261 .loc 1 1893 10
5262 00b2 0023 movs r3, #0
5263 .L348:
1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
5264 .loc 1 1894 1
5265 00b4 1846 mov r0, r3
5266 00b6 1437 adds r7, r7, #20
ARM GAS /tmp/ccxRWv8k.s page 126
5267 .cfi_def_cfa_offset 4
5268 00b8 BD46 mov sp, r7
5269 .cfi_def_cfa_register 13
5270 @ sp needed
5271 00ba 5DF8047B ldr r7, [sp], #4
5272 .cfi_restore 7
5273 .cfi_def_cfa_offset 0
5274 00be 7047 bx lr
5275 .cfi_endproc
5276 .LFE157:
5278 .section .text.HAL_TIMEx_ConfigCommutEvent_DMA,"ax",%progbits
5279 .align 1
5280 .global HAL_TIMEx_ConfigCommutEvent_DMA
5281 .syntax unified
5282 .thumb
5283 .thumb_func
5285 HAL_TIMEx_ConfigCommutEvent_DMA:
5286 .LFB158:
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Configure the TIM commutation event sequence with DMA.
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note This function is mandatory to use the commutation event in order to
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * update the configuration at each commutation detection on the TRGI input of the Timer,
1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * the typical use of this feature is with the use of another Timer(interface Timer)
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * configured in Hall sensor interface, this interface Timer will generate the
1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * commutation at its TRGO output (connected to Timer used in this function) each time
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * the TI1 of the Interface Timer detect a commutation at its input TI1.
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note The user should configure the DMA in his own software, in This function only the COMDE b
1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param InputTrigger the Internal trigger corresponding to the Timer Interfacing with the Hall
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR0: Internal trigger 0 selected
1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR1: Internal trigger 1 selected
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR2: Internal trigger 2 selected
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_ITR3: Internal trigger 3 selected
1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TS_NONE: No trigger is needed
1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param CommutationSource the Commutation Event source
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_COMMUTATION_TRGI: Commutation source is the TRGI of the Interface Timer
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_COMMUTATION_SOFTWARE: Commutation source is set by software using the COMG
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_ConfigCommutEvent_DMA(TIM_HandleTypeDef *htim, uint32_t InputTrigger,
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t CommutationSource)
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
5287 .loc 1 1921 1
5288 .cfi_startproc
5289 @ args = 0, pretend = 0, frame = 16
5290 @ frame_needed = 1, uses_anonymous_args = 0
5291 @ link register save eliminated.
5292 0000 80B4 push {r7}
5293 .cfi_def_cfa_offset 4
5294 .cfi_offset 7, -4
5295 0002 85B0 sub sp, sp, #20
5296 .cfi_def_cfa_offset 24
5297 0004 00AF add r7, sp, #0
5298 .cfi_def_cfa_register 7
ARM GAS /tmp/ccxRWv8k.s page 127
5299 0006 F860 str r0, [r7, #12]
5300 0008 B960 str r1, [r7, #8]
5301 000a 7A60 str r2, [r7, #4]
1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_COMMUTATION_EVENT_INSTANCE(htim->Instance));
1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_INTERNAL_TRIGGEREVENT_SELECTION(InputTrigger));
1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_LOCK(htim);
5302 .loc 1 1926 3
5303 000c FB68 ldr r3, [r7, #12]
5304 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
5305 0012 012B cmp r3, #1
5306 0014 01D1 bne .L352
5307 .loc 1 1926 3 is_stmt 0 discriminator 1
5308 0016 0223 movs r3, #2
5309 .loc 1 1926 3
5310 0018 58E0 b .L353
5311 .L352:
5312 .loc 1 1926 3 discriminator 2
5313 001a FB68 ldr r3, [r7, #12]
5314 001c 0122 movs r2, #1
5315 001e 83F83C20 strb r2, [r3, #60]
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if ((InputTrigger == TIM_TS_ITR0) || (InputTrigger == TIM_TS_ITR1) ||
5316 .loc 1 1928 6 is_stmt 1
5317 0022 BB68 ldr r3, [r7, #8]
5318 0024 002B cmp r3, #0
5319 0026 08D0 beq .L354
5320 .loc 1 1928 37 discriminator 1
5321 0028 BB68 ldr r3, [r7, #8]
5322 002a 102B cmp r3, #16
5323 002c 05D0 beq .L354
5324 .loc 1 1928 70 discriminator 2
5325 002e BB68 ldr r3, [r7, #8]
5326 0030 202B cmp r3, #32
5327 0032 02D0 beq .L354
1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (InputTrigger == TIM_TS_ITR2) || (InputTrigger == TIM_TS_ITR3))
5328 .loc 1 1929 37
5329 0034 BB68 ldr r3, [r7, #8]
5330 0036 302B cmp r3, #48
5331 0038 0FD1 bne .L355
5332 .L354:
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the Input trigger */
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR &= ~TIM_SMCR_TS;
5333 .loc 1 1932 9
5334 003a FB68 ldr r3, [r7, #12]
5335 003c 1B68 ldr r3, [r3]
5336 .loc 1 1932 19
5337 003e 9A68 ldr r2, [r3, #8]
5338 .loc 1 1932 9
5339 0040 FB68 ldr r3, [r7, #12]
5340 0042 1B68 ldr r3, [r3]
5341 .loc 1 1932 26
5342 0044 22F07002 bic r2, r2, #112
5343 0048 9A60 str r2, [r3, #8]
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR |= InputTrigger;
ARM GAS /tmp/ccxRWv8k.s page 128
5344 .loc 1 1933 9
5345 004a FB68 ldr r3, [r7, #12]
5346 004c 1B68 ldr r3, [r3]
5347 .loc 1 1933 19
5348 004e 9968 ldr r1, [r3, #8]
5349 .loc 1 1933 9
5350 0050 FB68 ldr r3, [r7, #12]
5351 0052 1B68 ldr r3, [r3]
5352 .loc 1 1933 26
5353 0054 BA68 ldr r2, [r7, #8]
5354 0056 0A43 orrs r2, r2, r1
5355 0058 9A60 str r2, [r3, #8]
5356 .L355:
1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the Capture Compare preload feature */
1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 |= TIM_CR2_CCPC;
5357 .loc 1 1937 7
5358 005a FB68 ldr r3, [r7, #12]
5359 005c 1B68 ldr r3, [r3]
5360 .loc 1 1937 17
5361 005e 5A68 ldr r2, [r3, #4]
5362 .loc 1 1937 7
5363 0060 FB68 ldr r3, [r7, #12]
5364 0062 1B68 ldr r3, [r3]
5365 .loc 1 1937 23
5366 0064 42F00102 orr r2, r2, #1
5367 0068 5A60 str r2, [r3, #4]
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the Commutation event source */
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 &= ~TIM_CR2_CCUS;
5368 .loc 1 1939 7
5369 006a FB68 ldr r3, [r7, #12]
5370 006c 1B68 ldr r3, [r3]
5371 .loc 1 1939 17
5372 006e 5A68 ldr r2, [r3, #4]
5373 .loc 1 1939 7
5374 0070 FB68 ldr r3, [r7, #12]
5375 0072 1B68 ldr r3, [r3]
5376 .loc 1 1939 23
5377 0074 22F00402 bic r2, r2, #4
5378 0078 5A60 str r2, [r3, #4]
1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 |= CommutationSource;
5379 .loc 1 1940 7
5380 007a FB68 ldr r3, [r7, #12]
5381 007c 1B68 ldr r3, [r3]
5382 .loc 1 1940 17
5383 007e 5968 ldr r1, [r3, #4]
5384 .loc 1 1940 7
5385 0080 FB68 ldr r3, [r7, #12]
5386 0082 1B68 ldr r3, [r3]
5387 .loc 1 1940 23
5388 0084 7A68 ldr r2, [r7, #4]
5389 0086 0A43 orrs r2, r2, r1
5390 0088 5A60 str r2, [r3, #4]
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Commutation DMA Request */
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA Commutation Callback */
ARM GAS /tmp/ccxRWv8k.s page 129
1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_COMMUTATION]->XferCpltCallback = TIMEx_DMACommutationCplt;
5391 .loc 1 1944 13
5392 008a FB68 ldr r3, [r7, #12]
5393 008c 5B6B ldr r3, [r3, #52]
5394 .loc 1 1944 56
5395 008e 124A ldr r2, .L356
5396 0090 9A62 str r2, [r3, #40]
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_COMMUTATION]->XferHalfCpltCallback = TIMEx_DMACommutationHalfCplt;
5397 .loc 1 1945 13
5398 0092 FB68 ldr r3, [r7, #12]
5399 0094 5B6B ldr r3, [r3, #52]
5400 .loc 1 1945 60
5401 0096 114A ldr r2, .L356+4
5402 0098 DA62 str r2, [r3, #44]
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the DMA error callback */
1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->hdma[TIM_DMA_ID_COMMUTATION]->XferErrorCallback = TIM_DMAError;
5403 .loc 1 1947 13
5404 009a FB68 ldr r3, [r7, #12]
5405 009c 5B6B ldr r3, [r3, #52]
5406 .loc 1 1947 57
5407 009e 104A ldr r2, .L356+8
5408 00a0 1A63 str r2, [r3, #48]
1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Disable Commutation Interrupt */
1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_DISABLE_IT(htim, TIM_IT_COM);
5409 .loc 1 1950 3
5410 00a2 FB68 ldr r3, [r7, #12]
5411 00a4 1B68 ldr r3, [r3]
5412 00a6 DA68 ldr r2, [r3, #12]
5413 00a8 FB68 ldr r3, [r7, #12]
5414 00aa 1B68 ldr r3, [r3]
5415 00ac 22F02002 bic r2, r2, #32
5416 00b0 DA60 str r2, [r3, #12]
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Enable the Commutation DMA Request */
1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_TIM_ENABLE_DMA(htim, TIM_DMA_COM);
5417 .loc 1 1953 3
5418 00b2 FB68 ldr r3, [r7, #12]
5419 00b4 1B68 ldr r3, [r3]
5420 00b6 DA68 ldr r2, [r3, #12]
5421 00b8 FB68 ldr r3, [r7, #12]
5422 00ba 1B68 ldr r3, [r3]
5423 00bc 42F40052 orr r2, r2, #8192
5424 00c0 DA60 str r2, [r3, #12]
1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_UNLOCK(htim);
5425 .loc 1 1955 3
5426 00c2 FB68 ldr r3, [r7, #12]
5427 00c4 0022 movs r2, #0
5428 00c6 83F83C20 strb r2, [r3, #60]
1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
5429 .loc 1 1957 10
5430 00ca 0023 movs r3, #0
5431 .L353:
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
5432 .loc 1 1958 1
ARM GAS /tmp/ccxRWv8k.s page 130
5433 00cc 1846 mov r0, r3
5434 00ce 1437 adds r7, r7, #20
5435 .cfi_def_cfa_offset 4
5436 00d0 BD46 mov sp, r7
5437 .cfi_def_cfa_register 13
5438 @ sp needed
5439 00d2 5DF8047B ldr r7, [sp], #4
5440 .cfi_restore 7
5441 .cfi_def_cfa_offset 0
5442 00d6 7047 bx lr
5443 .L357:
5444 .align 2
5445 .L356:
5446 00d8 00000000 .word TIMEx_DMACommutationCplt
5447 00dc 00000000 .word TIMEx_DMACommutationHalfCplt
5448 00e0 00000000 .word TIM_DMAError
5449 .cfi_endproc
5450 .LFE158:
5452 .section .text.HAL_TIMEx_MasterConfigSynchronization,"ax",%progbits
5453 .align 1
5454 .global HAL_TIMEx_MasterConfigSynchronization
5455 .syntax unified
5456 .thumb
5457 .thumb_func
5459 HAL_TIMEx_MasterConfigSynchronization:
5460 .LFB159:
1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Configures the TIM in master mode.
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle.
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param sMasterConfig pointer to a TIM_MasterConfigTypeDef structure that
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * contains the selected trigger output (TRGO) and the Master/Slave
1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * mode.
1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim,
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** const TIM_MasterConfigTypeDef *sMasterConfi
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
5461 .loc 1 1970 1
5462 .cfi_startproc
5463 @ args = 0, pretend = 0, frame = 16
5464 @ frame_needed = 1, uses_anonymous_args = 0
5465 @ link register save eliminated.
5466 0000 80B4 push {r7}
5467 .cfi_def_cfa_offset 4
5468 .cfi_offset 7, -4
5469 0002 85B0 sub sp, sp, #20
5470 .cfi_def_cfa_offset 24
5471 0004 00AF add r7, sp, #0
5472 .cfi_def_cfa_register 7
5473 0006 7860 str r0, [r7, #4]
5474 0008 3960 str r1, [r7]
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpcr2;
1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpsmcr;
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_MASTER_INSTANCE(htim->Instance));
ARM GAS /tmp/ccxRWv8k.s page 131
1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_TRGO_SOURCE(sMasterConfig->MasterOutputTrigger));
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_MSM_STATE(sMasterConfig->MasterSlaveMode));
1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check input state */
1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_LOCK(htim);
5475 .loc 1 1980 3
5476 000a 7B68 ldr r3, [r7, #4]
5477 000c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
5478 0010 012B cmp r3, #1
5479 0012 01D1 bne .L359
5480 .loc 1 1980 3 is_stmt 0 discriminator 1
5481 0014 0223 movs r3, #2
5482 .loc 1 1980 3
5483 0016 59E0 b .L360
5484 .L359:
5485 .loc 1 1980 3 discriminator 2
5486 0018 7B68 ldr r3, [r7, #4]
5487 001a 0122 movs r2, #1
5488 001c 83F83C20 strb r2, [r3, #60]
1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Change the handler state */
1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_BUSY;
5489 .loc 1 1983 15 is_stmt 1
5490 0020 7B68 ldr r3, [r7, #4]
5491 0022 0222 movs r2, #2
5492 0024 83F83D20 strb r2, [r3, #61]
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Get the TIMx CR2 register value */
1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpcr2 = htim->Instance->CR2;
5493 .loc 1 1986 16
5494 0028 7B68 ldr r3, [r7, #4]
5495 002a 1B68 ldr r3, [r3]
5496 .loc 1 1986 10
5497 002c 5B68 ldr r3, [r3, #4]
5498 002e FB60 str r3, [r7, #12]
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Get the TIMx SMCR register value */
1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr = htim->Instance->SMCR;
5499 .loc 1 1989 17
5500 0030 7B68 ldr r3, [r7, #4]
5501 0032 1B68 ldr r3, [r3]
5502 .loc 1 1989 11
5503 0034 9B68 ldr r3, [r3, #8]
5504 0036 BB60 str r3, [r7, #8]
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if defined(TIM_CR2_MMS2)
1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* If the timer supports ADC synchronization through TRGO2, set the master mode selection 2 */
1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_TRGO2_INSTANCE(htim->Instance))
5505 .loc 1 1993 7
5506 0038 7B68 ldr r3, [r7, #4]
5507 003a 1B68 ldr r3, [r3]
5508 .loc 1 1993 6
5509 003c 264A ldr r2, .L364
5510 003e 9342 cmp r3, r2
5511 0040 08D1 bne .L361
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
ARM GAS /tmp/ccxRWv8k.s page 132
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2));
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Clear the MMS2 bits */
1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpcr2 &= ~TIM_CR2_MMS2;
5512 .loc 1 1999 12
5513 0042 FB68 ldr r3, [r7, #12]
5514 0044 23F47003 bic r3, r3, #15728640
5515 0048 FB60 str r3, [r7, #12]
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the TRGO2 source*/
2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpcr2 |= sMasterConfig->MasterOutputTrigger2;
5516 .loc 1 2001 28
5517 004a 3B68 ldr r3, [r7]
5518 004c 5B68 ldr r3, [r3, #4]
5519 .loc 1 2001 12
5520 004e FA68 ldr r2, [r7, #12]
5521 0050 1343 orrs r3, r3, r2
5522 0052 FB60 str r3, [r7, #12]
5523 .L361:
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* TIM_CR2_MMS2 */
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Reset the MMS Bits */
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpcr2 &= ~TIM_CR2_MMS;
5524 .loc 1 2006 10
5525 0054 FB68 ldr r3, [r7, #12]
5526 0056 23F07003 bic r3, r3, #112
5527 005a FB60 str r3, [r7, #12]
2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Select the TRGO source */
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpcr2 |= sMasterConfig->MasterOutputTrigger;
5528 .loc 1 2008 27
5529 005c 3B68 ldr r3, [r7]
5530 005e 1B68 ldr r3, [r3]
5531 .loc 1 2008 10
5532 0060 FA68 ldr r2, [r7, #12]
5533 0062 1343 orrs r3, r3, r2
5534 0064 FB60 str r3, [r7, #12]
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Update TIMx CR2 */
2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CR2 = tmpcr2;
5535 .loc 1 2011 7
5536 0066 7B68 ldr r3, [r7, #4]
5537 0068 1B68 ldr r3, [r3]
5538 .loc 1 2011 23
5539 006a FA68 ldr r2, [r7, #12]
5540 006c 5A60 str r2, [r3, #4]
2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_SLAVE_INSTANCE(htim->Instance))
5541 .loc 1 2013 7
5542 006e 7B68 ldr r3, [r7, #4]
5543 0070 1B68 ldr r3, [r3]
5544 .loc 1 2013 6
5545 0072 194A ldr r2, .L364
5546 0074 9342 cmp r3, r2
5547 0076 13D0 beq .L362
5548 .loc 1 2013 7 discriminator 1
5549 0078 7B68 ldr r3, [r7, #4]
5550 007a 1B68 ldr r3, [r3]
ARM GAS /tmp/ccxRWv8k.s page 133
5551 007c B3F1804F cmp r3, #1073741824
5552 0080 0ED0 beq .L362
5553 .loc 1 2013 7 is_stmt 0 discriminator 2
5554 0082 7B68 ldr r3, [r7, #4]
5555 0084 1B68 ldr r3, [r3]
5556 0086 154A ldr r2, .L364+4
5557 0088 9342 cmp r3, r2
5558 008a 09D0 beq .L362
5559 .loc 1 2013 7 discriminator 3
5560 008c 7B68 ldr r3, [r7, #4]
5561 008e 1B68 ldr r3, [r3]
5562 0090 134A ldr r2, .L364+8
5563 0092 9342 cmp r3, r2
5564 0094 04D0 beq .L362
5565 .loc 1 2013 7 discriminator 4
5566 0096 7B68 ldr r3, [r7, #4]
5567 0098 1B68 ldr r3, [r3]
5568 009a 124A ldr r2, .L364+12
5569 009c 9342 cmp r3, r2
5570 009e 0CD1 bne .L363
5571 .L362:
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Reset the MSM Bit */
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr &= ~TIM_SMCR_MSM;
5572 .loc 1 2016 13 is_stmt 1
5573 00a0 BB68 ldr r3, [r7, #8]
5574 00a2 23F08003 bic r3, r3, #128
5575 00a6 BB60 str r3, [r7, #8]
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set master mode */
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmpsmcr |= sMasterConfig->MasterSlaveMode;
5576 .loc 1 2018 29
5577 00a8 3B68 ldr r3, [r7]
5578 00aa 9B68 ldr r3, [r3, #8]
5579 .loc 1 2018 13
5580 00ac BA68 ldr r2, [r7, #8]
5581 00ae 1343 orrs r3, r3, r2
5582 00b0 BB60 str r3, [r7, #8]
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Update TIMx SMCR */
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->SMCR = tmpsmcr;
5583 .loc 1 2021 9
5584 00b2 7B68 ldr r3, [r7, #4]
5585 00b4 1B68 ldr r3, [r3]
5586 .loc 1 2021 26
5587 00b6 BA68 ldr r2, [r7, #8]
5588 00b8 9A60 str r2, [r3, #8]
5589 .L363:
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Change the htim state */
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_READY;
5590 .loc 1 2025 15
5591 00ba 7B68 ldr r3, [r7, #4]
5592 00bc 0122 movs r2, #1
5593 00be 83F83D20 strb r2, [r3, #61]
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_UNLOCK(htim);
ARM GAS /tmp/ccxRWv8k.s page 134
5594 .loc 1 2027 3
5595 00c2 7B68 ldr r3, [r7, #4]
5596 00c4 0022 movs r2, #0
5597 00c6 83F83C20 strb r2, [r3, #60]
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
5598 .loc 1 2029 10
5599 00ca 0023 movs r3, #0
5600 .L360:
2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
5601 .loc 1 2030 1
5602 00cc 1846 mov r0, r3
5603 00ce 1437 adds r7, r7, #20
5604 .cfi_def_cfa_offset 4
5605 00d0 BD46 mov sp, r7
5606 .cfi_def_cfa_register 13
5607 @ sp needed
5608 00d2 5DF8047B ldr r7, [sp], #4
5609 .cfi_restore 7
5610 .cfi_def_cfa_offset 0
5611 00d6 7047 bx lr
5612 .L365:
5613 .align 2
5614 .L364:
5615 00d8 002C0140 .word 1073818624
5616 00dc 00040040 .word 1073742848
5617 00e0 00080040 .word 1073743872
5618 00e4 00400140 .word 1073823744
5619 .cfi_endproc
5620 .LFE159:
5622 .section .text.HAL_TIMEx_ConfigBreakDeadTime,"ax",%progbits
5623 .align 1
5624 .global HAL_TIMEx_ConfigBreakDeadTime
5625 .syntax unified
5626 .thumb
5627 .thumb_func
5629 HAL_TIMEx_ConfigBreakDeadTime:
5630 .LFB160:
2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Configures the Break feature, dead time, Lock level, OSSI/OSSR State
2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * and the AOE(automatic output enable).
2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param sBreakDeadTimeConfig pointer to a TIM_ConfigBreakDeadConfigTypeDef structure that
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * contains the BDTR Register configuration information for the TIM peripheral.
2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @note Interrupts can be generated when an active level is detected on the
2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * break input, the break 2 input or the system break input. Break
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * interrupt can be enabled by calling the @ref __HAL_TIM_ENABLE_IT macro.
2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_ConfigBreakDeadTime(TIM_HandleTypeDef *htim,
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** const TIM_BreakDeadTimeConfigTypeDef *sBreakDeadTim
2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
5631 .loc 1 2045 1
5632 .cfi_startproc
5633 @ args = 0, pretend = 0, frame = 16
5634 @ frame_needed = 1, uses_anonymous_args = 0
ARM GAS /tmp/ccxRWv8k.s page 135
5635 @ link register save eliminated.
5636 0000 80B4 push {r7}
5637 .cfi_def_cfa_offset 4
5638 .cfi_offset 7, -4
5639 0002 85B0 sub sp, sp, #20
5640 .cfi_def_cfa_offset 24
5641 0004 00AF add r7, sp, #0
5642 .cfi_def_cfa_register 7
5643 0006 7860 str r0, [r7, #4]
5644 0008 3960 str r1, [r7]
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Keep this variable initialized to 0 as it is used to configure BDTR register */
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmpbdtr = 0U;
5645 .loc 1 2047 12
5646 000a 0023 movs r3, #0
5647 000c FB60 str r3, [r7, #12]
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_BREAK_INSTANCE(htim->Instance));
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_OSSR_STATE(sBreakDeadTimeConfig->OffStateRunMode));
2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_OSSI_STATE(sBreakDeadTimeConfig->OffStateIDLEMode));
2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_LOCK_LEVEL(sBreakDeadTimeConfig->LockLevel));
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_DEADTIME(sBreakDeadTimeConfig->DeadTime));
2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_BREAK_STATE(sBreakDeadTimeConfig->BreakState));
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_BREAK_POLARITY(sBreakDeadTimeConfig->BreakPolarity));
2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if defined(TIM_BDTR_BKF)
2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_BREAK_FILTER(sBreakDeadTimeConfig->BreakFilter));
2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* TIM_BDTR_BKF */
2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_AUTOMATIC_OUTPUT_STATE(sBreakDeadTimeConfig->AutomaticOutput));
2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check input state */
2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_LOCK(htim);
5648 .loc 1 2063 3
5649 000e 7B68 ldr r3, [r7, #4]
5650 0010 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
5651 0014 012B cmp r3, #1
5652 0016 01D1 bne .L367
5653 .loc 1 2063 3 is_stmt 0 discriminator 1
5654 0018 0223 movs r3, #2
5655 .loc 1 2063 3
5656 001a 60E0 b .L368
5657 .L367:
5658 .loc 1 2063 3 discriminator 2
5659 001c 7B68 ldr r3, [r7, #4]
5660 001e 0122 movs r2, #1
5661 0020 83F83C20 strb r2, [r3, #60]
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the Lock level, the Break enable Bit and the Polarity, the OSSR State,
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** the OSSI State, the dead time value and the Automatic Output Enable Bit */
2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the BDTR bits */
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_DTG, sBreakDeadTimeConfig->DeadTime);
5662 .loc 1 2069 3 is_stmt 1
5663 0024 FB68 ldr r3, [r7, #12]
5664 0026 23F0FF02 bic r2, r3, #255
5665 002a 3B68 ldr r3, [r7]
5666 002c DB68 ldr r3, [r3, #12]
5667 002e 1343 orrs r3, r3, r2
ARM GAS /tmp/ccxRWv8k.s page 136
5668 0030 FB60 str r3, [r7, #12]
2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_LOCK, sBreakDeadTimeConfig->LockLevel);
5669 .loc 1 2070 3
5670 0032 FB68 ldr r3, [r7, #12]
5671 0034 23F44072 bic r2, r3, #768
5672 0038 3B68 ldr r3, [r7]
5673 003a 9B68 ldr r3, [r3, #8]
5674 003c 1343 orrs r3, r3, r2
5675 003e FB60 str r3, [r7, #12]
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_OSSI, sBreakDeadTimeConfig->OffStateIDLEMode);
5676 .loc 1 2071 3
5677 0040 FB68 ldr r3, [r7, #12]
5678 0042 23F48062 bic r2, r3, #1024
5679 0046 3B68 ldr r3, [r7]
5680 0048 5B68 ldr r3, [r3, #4]
5681 004a 1343 orrs r3, r3, r2
5682 004c FB60 str r3, [r7, #12]
2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_OSSR, sBreakDeadTimeConfig->OffStateRunMode);
5683 .loc 1 2072 3
5684 004e FB68 ldr r3, [r7, #12]
5685 0050 23F40062 bic r2, r3, #2048
5686 0054 3B68 ldr r3, [r7]
5687 0056 1B68 ldr r3, [r3]
5688 0058 1343 orrs r3, r3, r2
5689 005a FB60 str r3, [r7, #12]
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_BKE, sBreakDeadTimeConfig->BreakState);
5690 .loc 1 2073 3
5691 005c FB68 ldr r3, [r7, #12]
5692 005e 23F48052 bic r2, r3, #4096
5693 0062 3B68 ldr r3, [r7]
5694 0064 1B69 ldr r3, [r3, #16]
5695 0066 1343 orrs r3, r3, r2
5696 0068 FB60 str r3, [r7, #12]
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_BKP, sBreakDeadTimeConfig->BreakPolarity);
5697 .loc 1 2074 3
5698 006a FB68 ldr r3, [r7, #12]
5699 006c 23F40052 bic r2, r3, #8192
5700 0070 3B68 ldr r3, [r7]
5701 0072 5B69 ldr r3, [r3, #20]
5702 0074 1343 orrs r3, r3, r2
5703 0076 FB60 str r3, [r7, #12]
2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_AOE, sBreakDeadTimeConfig->AutomaticOutput);
5704 .loc 1 2075 3
5705 0078 FB68 ldr r3, [r7, #12]
5706 007a 23F48042 bic r2, r3, #16384
5707 007e 3B68 ldr r3, [r7]
5708 0080 9B6A ldr r3, [r3, #40]
5709 0082 1343 orrs r3, r3, r2
5710 0084 FB60 str r3, [r7, #12]
2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if defined(TIM_BDTR_BKF)
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_BKF, (sBreakDeadTimeConfig->BreakFilter << TIM_BDTR_BKF_Pos));
5711 .loc 1 2077 3
5712 0086 FB68 ldr r3, [r7, #12]
5713 0088 23F47022 bic r2, r3, #983040
5714 008c 3B68 ldr r3, [r7]
5715 008e 9B69 ldr r3, [r3, #24]
5716 0090 1B04 lsls r3, r3, #16
ARM GAS /tmp/ccxRWv8k.s page 137
5717 0092 1343 orrs r3, r3, r2
5718 0094 FB60 str r3, [r7, #12]
2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* TIM_BDTR_BKF */
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if defined(TIM_BDTR_BK2E)
2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (IS_TIM_BKIN2_INSTANCE(htim->Instance))
5719 .loc 1 2081 7
5720 0096 7B68 ldr r3, [r7, #4]
5721 0098 1B68 ldr r3, [r3]
5722 .loc 1 2081 6
5723 009a 144A ldr r2, .L370
5724 009c 9342 cmp r3, r2
5725 009e 15D1 bne .L369
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_BREAK2_STATE(sBreakDeadTimeConfig->Break2State));
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_BREAK2_POLARITY(sBreakDeadTimeConfig->Break2Polarity));
2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_BREAK_FILTER(sBreakDeadTimeConfig->Break2Filter));
2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the BREAK2 input related BDTR bits */
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_BK2F, (sBreakDeadTimeConfig->Break2Filter << TIM_BDTR_BK2F_Pos));
5726 .loc 1 2089 5
5727 00a0 FB68 ldr r3, [r7, #12]
5728 00a2 23F47002 bic r2, r3, #15728640
5729 00a6 3B68 ldr r3, [r7]
5730 00a8 5B6A ldr r3, [r3, #36]
5731 00aa 1B05 lsls r3, r3, #20
5732 00ac 1343 orrs r3, r3, r2
5733 00ae FB60 str r3, [r7, #12]
2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_BK2E, sBreakDeadTimeConfig->Break2State);
5734 .loc 1 2090 5
5735 00b0 FB68 ldr r3, [r7, #12]
5736 00b2 23F08072 bic r2, r3, #16777216
5737 00b6 3B68 ldr r3, [r7]
5738 00b8 DB69 ldr r3, [r3, #28]
5739 00ba 1343 orrs r3, r3, r2
5740 00bc FB60 str r3, [r7, #12]
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** MODIFY_REG(tmpbdtr, TIM_BDTR_BK2P, sBreakDeadTimeConfig->Break2Polarity);
5741 .loc 1 2091 5
5742 00be FB68 ldr r3, [r7, #12]
5743 00c0 23F00072 bic r2, r3, #33554432
5744 00c4 3B68 ldr r3, [r7]
5745 00c6 1B6A ldr r3, [r3, #32]
5746 00c8 1343 orrs r3, r3, r2
5747 00ca FB60 str r3, [r7, #12]
5748 .L369:
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* TIM_BDTR_BK2E */
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set TIMx_BDTR */
2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->BDTR = tmpbdtr;
5749 .loc 1 2096 7
5750 00cc 7B68 ldr r3, [r7, #4]
5751 00ce 1B68 ldr r3, [r3]
5752 .loc 1 2096 24
5753 00d0 FA68 ldr r2, [r7, #12]
5754 00d2 5A64 str r2, [r3, #68]
ARM GAS /tmp/ccxRWv8k.s page 138
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_UNLOCK(htim);
5755 .loc 1 2098 3
5756 00d4 7B68 ldr r3, [r7, #4]
5757 00d6 0022 movs r2, #0
5758 00d8 83F83C20 strb r2, [r3, #60]
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
5759 .loc 1 2100 10
5760 00dc 0023 movs r3, #0
5761 .L368:
2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
5762 .loc 1 2101 1
5763 00de 1846 mov r0, r3
5764 00e0 1437 adds r7, r7, #20
5765 .cfi_def_cfa_offset 4
5766 00e2 BD46 mov sp, r7
5767 .cfi_def_cfa_register 13
5768 @ sp needed
5769 00e4 5DF8047B ldr r7, [sp], #4
5770 .cfi_restore 7
5771 .cfi_def_cfa_offset 0
5772 00e8 7047 bx lr
5773 .L371:
5774 00ea 00BF .align 2
5775 .L370:
5776 00ec 002C0140 .word 1073818624
5777 .cfi_endproc
5778 .LFE160:
5780 .section .text.HAL_TIMEx_RemapConfig,"ax",%progbits
5781 .align 1
5782 .global HAL_TIMEx_RemapConfig
5783 .syntax unified
5784 .thumb
5785 .thumb_func
5787 HAL_TIMEx_RemapConfig:
5788 .LFB161:
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Configures the TIMx Remapping input capabilities.
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle.
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Remap specifies the TIM remapping source.
2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @if STM32F301x8
2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * For TIM1, the parameter can have the following values:
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_NONE: TIM1_ETR is not connected to any AWD (analog watchdog)
2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_AWD1: TIM1_ETR is connected to ADC1 AWD1
2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_AWD2: TIM1_ETR is connected to ADC1 AWD2
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_AWD3: TIM1_ETR is connected to ADC1 AWD2
2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @elseif STM32F303xE
2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * For TIM1, the parameter is a combination of 2 fields (field1 | field2):
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * field1 can have the following values:
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_NONE: TIM1_ETR is not connected to any AWD (analog watchdog)
2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_AWD1: TIM1_ETR is connected to ADC1 AWD1
2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_AWD2: TIM1_ETR is connected to ADC1 AWD2
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_AWD3: TIM1_ETR is connected to ADC1 AWD2
2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
ARM GAS /tmp/ccxRWv8k.s page 139
2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * field2 can have the following values:
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC4_NONE : TIM1_ETR is not connected to any AWD (analog watchdog)
2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC4_AWD1: TIM1_ETR is connected to ADC4 AWD1
2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC4_AWD2: TIM1_ETR is connected to ADC4 AWD2
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC4_AWD3: TIM1_ETR is connected to ADC4 AWD3
2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @elseif STM32F334x8
2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * For TIM1, the parameter is a combination of 2 fields (field1 | field2):
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * field1 can have the following values:
2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_NONE: TIM1_ETR is not connected to any AWD (analog watchdog)
2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_AWD1: TIM1_ETR is connected to ADC1 AWD1
2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_AWD2: TIM1_ETR is connected to ADC1 AWD2
2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC1_AWD3: TIM1_ETR is connected to ADC1 AWD2
2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * field2 can have the following values:
2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC2_NONE : TIM1_ETR is not connected to any AWD (analog watchdog)
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC2_AWD1: TIM1_ETR is connected to ADC2 AWD1
2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC2_AWD2: TIM1_ETR is connected to ADC2 AWD2
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM1_ADC2_AWD3: TIM1_ETR is connected to ADC2 AWD3
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endif
2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @if STM32F303xE
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * For TIM8, the parameter is a combination of 2 fields (field1 | field2):
2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * field1 can have the following values:
2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM8_ADC2_NONE: TIM1_ETR is not connected to any AWD (analog watchdog)
2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM8_ADC2_AWD1: TIM1_ETR is connected to ADC2 AWD1
2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM8_ADC2_AWD2: TIM1_ETR is connected to ADC2 AWD2
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM8_ADC2_AWD3: TIM1_ETR is connected to ADC2 AWD2
2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * field2 can have the following values:
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM8_ADC3_NONE : TIM1_ETR is not connected to any AWD (analog watchdog)
2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM8_ADC3_AWD1: TIM1_ETR is connected to ADC3 AWD1
2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM8_ADC3_AWD2: TIM1_ETR is connected to ADC3 AWD2
2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM8_ADC3_AWD3: TIM1_ETR is connected to ADC3 AWD3
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endif
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @if STM32F373xC
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * For TIM14, the parameter can have the following values:
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM14_GPIO: TIM14 TI1 is connected to GPIO
2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM14_RTC: TIM14 TI1 is connected to RTC_clock
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM14_HSE: TIM14 TI1 is connected to HSE/32
2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM14_MCO: TIM14 TI1 is connected to MCO
2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @else
2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * For TIM16, the parameter can have the following values:
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM16_GPIO: TIM16 TI1 is connected to GPIO
2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM16_RTC: TIM16 TI1 is connected to RTC_clock
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM16_HSE: TIM16 TI1 is connected to HSE/32
2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM16_MCO: TIM16 TI1 is connected to MCO
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endif
2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @if STM32F303xE
2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * For TIM20, the parameter is a combination of 2 fields (field1 | field2):
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * field1 can have the following values:
2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM20_ADC3_NONE: TIM1_ETR is not connected to any AWD (analog watchdog)
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM20_ADC3_AWD1: TIM1_ETR is connected to ADC3 AWD1
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM20_ADC3_AWD2: TIM1_ETR is connected to ADC3 AWD2
2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM20_ADC3_AWD3: TIM1_ETR is connected to ADC3 AWD2
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
ARM GAS /tmp/ccxRWv8k.s page 140
2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * field2 can have the following values:
2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM20_ADC4_NONE : TIM1_ETR is not connected to any AWD (analog watchdog)
2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM20_ADC4_AWD1: TIM1_ETR is connected to ADC4 AWD1
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM20_ADC4_AWD2: TIM1_ETR is connected to ADC4 AWD2
2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_TIM20_ADC4_AWD3: TIM1_ETR is connected to ADC4 AWD3
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endif
2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_RemapConfig(TIM_HandleTypeDef *htim, uint32_t Remap)
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
5789 .loc 1 2189 1
5790 .cfi_startproc
5791 @ args = 0, pretend = 0, frame = 8
5792 @ frame_needed = 1, uses_anonymous_args = 0
5793 @ link register save eliminated.
5794 0000 80B4 push {r7}
5795 .cfi_def_cfa_offset 4
5796 .cfi_offset 7, -4
5797 0002 83B0 sub sp, sp, #12
5798 .cfi_def_cfa_offset 16
5799 0004 00AF add r7, sp, #0
5800 .cfi_def_cfa_register 7
5801 0006 7860 str r0, [r7, #4]
5802 0008 3960 str r1, [r7]
2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check parameters */
2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_REMAP(htim->Instance, Remap));
2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_LOCK(htim);
5803 .loc 1 2194 3
5804 000a 7B68 ldr r3, [r7, #4]
5805 000c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
5806 0010 012B cmp r3, #1
5807 0012 01D1 bne .L373
5808 .loc 1 2194 3 is_stmt 0 discriminator 1
5809 0014 0223 movs r3, #2
5810 .loc 1 2194 3
5811 0016 0CE0 b .L374
5812 .L373:
5813 .loc 1 2194 3 discriminator 2
5814 0018 7B68 ldr r3, [r7, #4]
5815 001a 0122 movs r2, #1
5816 001c 83F83C20 strb r2, [r3, #60]
2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set the Timer remapping configuration */
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** WRITE_REG(htim->Instance->OR, Remap);
5817 .loc 1 2197 3 is_stmt 1
5818 0020 7B68 ldr r3, [r7, #4]
5819 0022 1B68 ldr r3, [r3]
5820 0024 3A68 ldr r2, [r7]
5821 0026 1A65 str r2, [r3, #80]
2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_UNLOCK(htim);
5822 .loc 1 2199 3
5823 0028 7B68 ldr r3, [r7, #4]
5824 002a 0022 movs r2, #0
ARM GAS /tmp/ccxRWv8k.s page 141
5825 002c 83F83C20 strb r2, [r3, #60]
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
5826 .loc 1 2201 10
5827 0030 0023 movs r3, #0
5828 .L374:
2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
5829 .loc 1 2202 1
5830 0032 1846 mov r0, r3
5831 0034 0C37 adds r7, r7, #12
5832 .cfi_def_cfa_offset 4
5833 0036 BD46 mov sp, r7
5834 .cfi_def_cfa_register 13
5835 @ sp needed
5836 0038 5DF8047B ldr r7, [sp], #4
5837 .cfi_restore 7
5838 .cfi_def_cfa_offset 0
5839 003c 7047 bx lr
5840 .cfi_endproc
5841 .LFE161:
5843 .section .text.HAL_TIMEx_GroupChannel5,"ax",%progbits
5844 .align 1
5845 .global HAL_TIMEx_GroupChannel5
5846 .syntax unified
5847 .thumb
5848 .thumb_func
5850 HAL_TIMEx_GroupChannel5:
5851 .LFB162:
2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if defined(TIM_CCR5_CCR5)
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Group channel 5 and channel 1, 2 or 3
2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle.
2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channels specifies the reference signal(s) the OC5REF is combined with.
2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be any combination of the following values:
2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * TIM_GROUPCH5_NONE: No effect of OC5REF on OC1REFC, OC2REFC and OC3REFC
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * TIM_GROUPCH5_OC1REFC: OC1REFC is the logical AND of OC1REFC and OC5REF
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * TIM_GROUPCH5_OC2REFC: OC2REFC is the logical AND of OC2REFC and OC5REF
2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * TIM_GROUPCH5_OC3REFC: OC3REFC is the logical AND of OC3REFC and OC5REF
2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL status
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_StatusTypeDef HAL_TIMEx_GroupChannel5(TIM_HandleTypeDef *htim, uint32_t Channels)
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
5852 .loc 1 2217 1
5853 .cfi_startproc
5854 @ args = 0, pretend = 0, frame = 8
5855 @ frame_needed = 1, uses_anonymous_args = 0
5856 @ link register save eliminated.
5857 0000 80B4 push {r7}
5858 .cfi_def_cfa_offset 4
5859 .cfi_offset 7, -4
5860 0002 83B0 sub sp, sp, #12
5861 .cfi_def_cfa_offset 16
5862 0004 00AF add r7, sp, #0
5863 .cfi_def_cfa_register 7
5864 0006 7860 str r0, [r7, #4]
5865 0008 3960 str r1, [r7]
ARM GAS /tmp/ccxRWv8k.s page 142
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check parameters */
2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_COMBINED3PHASEPWM_INSTANCE(htim->Instance));
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_GROUPCH5(Channels));
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Process Locked */
2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_LOCK(htim);
5866 .loc 1 2223 3
5867 000a 7B68 ldr r3, [r7, #4]
5868 000c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2
5869 0010 012B cmp r3, #1
5870 0012 01D1 bne .L376
5871 .loc 1 2223 3 is_stmt 0 discriminator 1
5872 0014 0223 movs r3, #2
5873 .loc 1 2223 3
5874 0016 20E0 b .L377
5875 .L376:
5876 .loc 1 2223 3 discriminator 2
5877 0018 7B68 ldr r3, [r7, #4]
5878 001a 0122 movs r2, #1
5879 001c 83F83C20 strb r2, [r3, #60]
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_BUSY;
5880 .loc 1 2225 15 is_stmt 1
5881 0020 7B68 ldr r3, [r7, #4]
5882 0022 0222 movs r2, #2
5883 0024 83F83D20 strb r2, [r3, #61]
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Clear GC5Cx bit fields */
2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CCR5 &= ~(TIM_CCR5_GC5C3 | TIM_CCR5_GC5C2 | TIM_CCR5_GC5C1);
5884 .loc 1 2228 7
5885 0028 7B68 ldr r3, [r7, #4]
5886 002a 1B68 ldr r3, [r3]
5887 .loc 1 2228 17
5888 002c 9A6D ldr r2, [r3, #88]
5889 .loc 1 2228 7
5890 002e 7B68 ldr r3, [r7, #4]
5891 0030 1B68 ldr r3, [r3]
5892 .loc 1 2228 24
5893 0032 22F06042 bic r2, r2, #-536870912
5894 0036 9A65 str r2, [r3, #88]
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set GC5Cx bit fields */
2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Instance->CCR5 |= Channels;
5895 .loc 1 2231 7
5896 0038 7B68 ldr r3, [r7, #4]
5897 003a 1B68 ldr r3, [r3]
5898 .loc 1 2231 17
5899 003c 996D ldr r1, [r3, #88]
5900 .loc 1 2231 7
5901 003e 7B68 ldr r3, [r7, #4]
5902 0040 1B68 ldr r3, [r3]
5903 .loc 1 2231 24
5904 0042 3A68 ldr r2, [r7]
5905 0044 0A43 orrs r2, r2, r1
5906 0046 9A65 str r2, [r3, #88]
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Change the htim state */
ARM GAS /tmp/ccxRWv8k.s page 143
2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_READY;
5907 .loc 1 2234 15
5908 0048 7B68 ldr r3, [r7, #4]
5909 004a 0122 movs r2, #1
5910 004c 83F83D20 strb r2, [r3, #61]
2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __HAL_UNLOCK(htim);
5911 .loc 1 2236 3
5912 0050 7B68 ldr r3, [r7, #4]
5913 0052 0022 movs r2, #0
5914 0054 83F83C20 strb r2, [r3, #60]
2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return HAL_OK;
5915 .loc 1 2238 10
5916 0058 0023 movs r3, #0
5917 .L377:
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
5918 .loc 1 2239 1
5919 005a 1846 mov r0, r3
5920 005c 0C37 adds r7, r7, #12
5921 .cfi_def_cfa_offset 4
5922 005e BD46 mov sp, r7
5923 .cfi_def_cfa_register 13
5924 @ sp needed
5925 0060 5DF8047B ldr r7, [sp], #4
5926 .cfi_restore 7
5927 .cfi_def_cfa_offset 0
5928 0064 7047 bx lr
5929 .cfi_endproc
5930 .LFE162:
5932 .section .text.HAL_TIMEx_CommutCallback,"ax",%progbits
5933 .align 1
5934 .weak HAL_TIMEx_CommutCallback
5935 .syntax unified
5936 .thumb
5937 .thumb_func
5939 HAL_TIMEx_CommutCallback:
5940 .LFB163:
2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* TIM_CCR5_CCR5 */
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @}
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx_Exported_Functions_Group6 Extended Callbacks functions
2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Extended Callbacks functions
2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @verbatim
2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ##### Extended Callbacks functions #####
2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** [..]
2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** This section provides Extended TIM callback functions:
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Timer Commutation callback
2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** (+) Timer Break callback
2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endverbatim
ARM GAS /tmp/ccxRWv8k.s page 144
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Hall commutation changed callback in non-blocking mode
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim)
2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
5941 .loc 1 2268 1
5942 .cfi_startproc
5943 @ args = 0, pretend = 0, frame = 8
5944 @ frame_needed = 1, uses_anonymous_args = 0
5945 @ link register save eliminated.
5946 0000 80B4 push {r7}
5947 .cfi_def_cfa_offset 4
5948 .cfi_offset 7, -4
5949 0002 83B0 sub sp, sp, #12
5950 .cfi_def_cfa_offset 16
5951 0004 00AF add r7, sp, #0
5952 .cfi_def_cfa_register 7
5953 0006 7860 str r0, [r7, #4]
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Prevent unused argument(s) compilation warning */
2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** UNUSED(htim);
2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** the HAL_TIMEx_CommutCallback could be implemented in the user file
2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
5954 .loc 1 2275 1
5955 0008 00BF nop
5956 000a 0C37 adds r7, r7, #12
5957 .cfi_def_cfa_offset 4
5958 000c BD46 mov sp, r7
5959 .cfi_def_cfa_register 13
5960 @ sp needed
5961 000e 5DF8047B ldr r7, [sp], #4
5962 .cfi_restore 7
5963 .cfi_def_cfa_offset 0
5964 0012 7047 bx lr
5965 .cfi_endproc
5966 .LFE163:
5968 .section .text.HAL_TIMEx_CommutHalfCpltCallback,"ax",%progbits
5969 .align 1
5970 .weak HAL_TIMEx_CommutHalfCpltCallback
5971 .syntax unified
5972 .thumb
5973 .thumb_func
5975 HAL_TIMEx_CommutHalfCpltCallback:
5976 .LFB164:
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Hall commutation changed half complete callback in non-blocking mode
2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __weak void HAL_TIMEx_CommutHalfCpltCallback(TIM_HandleTypeDef *htim)
ARM GAS /tmp/ccxRWv8k.s page 145
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
5977 .loc 1 2282 1
5978 .cfi_startproc
5979 @ args = 0, pretend = 0, frame = 8
5980 @ frame_needed = 1, uses_anonymous_args = 0
5981 @ link register save eliminated.
5982 0000 80B4 push {r7}
5983 .cfi_def_cfa_offset 4
5984 .cfi_offset 7, -4
5985 0002 83B0 sub sp, sp, #12
5986 .cfi_def_cfa_offset 16
5987 0004 00AF add r7, sp, #0
5988 .cfi_def_cfa_register 7
5989 0006 7860 str r0, [r7, #4]
2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Prevent unused argument(s) compilation warning */
2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** UNUSED(htim);
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** the HAL_TIMEx_CommutHalfCpltCallback could be implemented in the user file
2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
5990 .loc 1 2289 1
5991 0008 00BF nop
5992 000a 0C37 adds r7, r7, #12
5993 .cfi_def_cfa_offset 4
5994 000c BD46 mov sp, r7
5995 .cfi_def_cfa_register 13
5996 @ sp needed
5997 000e 5DF8047B ldr r7, [sp], #4
5998 .cfi_restore 7
5999 .cfi_def_cfa_offset 0
6000 0012 7047 bx lr
6001 .cfi_endproc
6002 .LFE164:
6004 .section .text.HAL_TIMEx_BreakCallback,"ax",%progbits
6005 .align 1
6006 .weak HAL_TIMEx_BreakCallback
6007 .syntax unified
6008 .thumb
6009 .thumb_func
6011 HAL_TIMEx_BreakCallback:
6012 .LFB165:
2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Hall Break detection callback in non-blocking mode
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim)
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
6013 .loc 1 2297 1
6014 .cfi_startproc
6015 @ args = 0, pretend = 0, frame = 8
6016 @ frame_needed = 1, uses_anonymous_args = 0
6017 @ link register save eliminated.
6018 0000 80B4 push {r7}
6019 .cfi_def_cfa_offset 4
ARM GAS /tmp/ccxRWv8k.s page 146
6020 .cfi_offset 7, -4
6021 0002 83B0 sub sp, sp, #12
6022 .cfi_def_cfa_offset 16
6023 0004 00AF add r7, sp, #0
6024 .cfi_def_cfa_register 7
6025 0006 7860 str r0, [r7, #4]
2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Prevent unused argument(s) compilation warning */
2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** UNUSED(htim);
2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** the HAL_TIMEx_BreakCallback could be implemented in the user file
2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
6026 .loc 1 2304 1
6027 0008 00BF nop
6028 000a 0C37 adds r7, r7, #12
6029 .cfi_def_cfa_offset 4
6030 000c BD46 mov sp, r7
6031 .cfi_def_cfa_register 13
6032 @ sp needed
6033 000e 5DF8047B ldr r7, [sp], #4
6034 .cfi_restore 7
6035 .cfi_def_cfa_offset 0
6036 0012 7047 bx lr
6037 .cfi_endproc
6038 .LFE165:
6040 .section .text.HAL_TIMEx_Break2Callback,"ax",%progbits
6041 .align 1
6042 .weak HAL_TIMEx_Break2Callback
6043 .syntax unified
6044 .thumb
6045 .thumb_func
6047 HAL_TIMEx_Break2Callback:
6048 .LFB166:
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if defined(TIM_BDTR_BK2E)
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Hall Break2 detection callback in non blocking mode
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim: TIM handle
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim)
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
6049 .loc 1 2313 1
6050 .cfi_startproc
6051 @ args = 0, pretend = 0, frame = 8
6052 @ frame_needed = 1, uses_anonymous_args = 0
6053 @ link register save eliminated.
6054 0000 80B4 push {r7}
6055 .cfi_def_cfa_offset 4
6056 .cfi_offset 7, -4
6057 0002 83B0 sub sp, sp, #12
6058 .cfi_def_cfa_offset 16
6059 0004 00AF add r7, sp, #0
6060 .cfi_def_cfa_register 7
6061 0006 7860 str r0, [r7, #4]
2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/ccxRWv8k.s page 147
2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** UNUSED(htim);
2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* NOTE : This function Should not be modified, when the callback is needed,
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** the HAL_TIMEx_Break2Callback could be implemented in the user file
2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
6062 .loc 1 2320 1
6063 0008 00BF nop
6064 000a 0C37 adds r7, r7, #12
6065 .cfi_def_cfa_offset 4
6066 000c BD46 mov sp, r7
6067 .cfi_def_cfa_register 13
6068 @ sp needed
6069 000e 5DF8047B ldr r7, [sp], #4
6070 .cfi_restore 7
6071 .cfi_def_cfa_offset 0
6072 0012 7047 bx lr
6073 .cfi_endproc
6074 .LFE166:
6076 .section .text.HAL_TIMEx_HallSensor_GetState,"ax",%progbits
6077 .align 1
6078 .global HAL_TIMEx_HallSensor_GetState
6079 .syntax unified
6080 .thumb
6081 .thumb_func
6083 HAL_TIMEx_HallSensor_GetState:
6084 .LFB167:
2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* TIM_BDTR_BK2E */
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @}
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx_Exported_Functions_Group7 Extended Peripheral State functions
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Extended Peripheral State functions
2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** *
2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @verbatim
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ##### Extended Peripheral State functions #####
2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** ==============================================================================
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** [..]
2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** This subsection permits to get in run-time the status of the peripheral
2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** and the data flow.
2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** @endverbatim
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Return the TIM Hall Sensor interface handle state.
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM Hall Sensor handle
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval HAL state
2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_StateTypeDef HAL_TIMEx_HallSensor_GetState(const TIM_HandleTypeDef *htim)
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
6085 .loc 1 2347 1
6086 .cfi_startproc
6087 @ args = 0, pretend = 0, frame = 8
ARM GAS /tmp/ccxRWv8k.s page 148
6088 @ frame_needed = 1, uses_anonymous_args = 0
6089 @ link register save eliminated.
6090 0000 80B4 push {r7}
6091 .cfi_def_cfa_offset 4
6092 .cfi_offset 7, -4
6093 0002 83B0 sub sp, sp, #12
6094 .cfi_def_cfa_offset 16
6095 0004 00AF add r7, sp, #0
6096 .cfi_def_cfa_register 7
6097 0006 7860 str r0, [r7, #4]
2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return htim->State;
6098 .loc 1 2348 14
6099 0008 7B68 ldr r3, [r7, #4]
6100 000a 93F83D30 ldrb r3, [r3, #61]
6101 000e DBB2 uxtb r3, r3
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
6102 .loc 1 2349 1
6103 0010 1846 mov r0, r3
6104 0012 0C37 adds r7, r7, #12
6105 .cfi_def_cfa_offset 4
6106 0014 BD46 mov sp, r7
6107 .cfi_def_cfa_register 13
6108 @ sp needed
6109 0016 5DF8047B ldr r7, [sp], #4
6110 .cfi_restore 7
6111 .cfi_def_cfa_offset 0
6112 001a 7047 bx lr
6113 .cfi_endproc
6114 .LFE167:
6116 .section .text.HAL_TIMEx_GetChannelNState,"ax",%progbits
6117 .align 1
6118 .global HAL_TIMEx_GetChannelNState
6119 .syntax unified
6120 .thumb
6121 .thumb_func
6123 HAL_TIMEx_GetChannelNState:
6124 .LFB168:
2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Return actual state of the TIM complementary channel.
2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param htim TIM handle
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param ChannelN TIM Complementary channel
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1
2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2
2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval TIM Complementary channel state
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef HAL_TIMEx_GetChannelNState(const TIM_HandleTypeDef *htim, uint32_t Cha
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
6125 .loc 1 2362 1
6126 .cfi_startproc
6127 @ args = 0, pretend = 0, frame = 16
6128 @ frame_needed = 1, uses_anonymous_args = 0
6129 @ link register save eliminated.
6130 0000 80B4 push {r7}
6131 .cfi_def_cfa_offset 4
ARM GAS /tmp/ccxRWv8k.s page 149
6132 .cfi_offset 7, -4
6133 0002 85B0 sub sp, sp, #20
6134 .cfi_def_cfa_offset 24
6135 0004 00AF add r7, sp, #0
6136 .cfi_def_cfa_register 7
6137 0006 7860 str r0, [r7, #4]
6138 0008 3960 str r1, [r7]
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ChannelStateTypeDef channel_state;
2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Check the parameters */
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** assert_param(IS_TIM_CCXN_INSTANCE(htim->Instance, ChannelN));
2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** channel_state = TIM_CHANNEL_N_STATE_GET(htim, ChannelN);
6139 .loc 1 2368 19
6140 000a 3B68 ldr r3, [r7]
6141 000c 002B cmp r3, #0
6142 000e 04D1 bne .L385
6143 .loc 1 2368 19 is_stmt 0 discriminator 1
6144 0010 7B68 ldr r3, [r7, #4]
6145 0012 93F84430 ldrb r3, [r3, #68]
6146 0016 DBB2 uxtb r3, r3
6147 0018 13E0 b .L386
6148 .L385:
6149 .loc 1 2368 19 discriminator 2
6150 001a 3B68 ldr r3, [r7]
6151 001c 042B cmp r3, #4
6152 001e 04D1 bne .L387
6153 .loc 1 2368 19 discriminator 4
6154 0020 7B68 ldr r3, [r7, #4]
6155 0022 93F84530 ldrb r3, [r3, #69]
6156 0026 DBB2 uxtb r3, r3
6157 0028 0BE0 b .L386
6158 .L387:
6159 .loc 1 2368 19 discriminator 5
6160 002a 3B68 ldr r3, [r7]
6161 002c 082B cmp r3, #8
6162 002e 04D1 bne .L389
6163 .loc 1 2368 19 discriminator 7
6164 0030 7B68 ldr r3, [r7, #4]
6165 0032 93F84630 ldrb r3, [r3, #70]
6166 0036 DBB2 uxtb r3, r3
6167 0038 03E0 b .L386
6168 .L389:
6169 .loc 1 2368 19 discriminator 8
6170 003a 7B68 ldr r3, [r7, #4]
6171 003c 93F84730 ldrb r3, [r3, #71]
6172 0040 DBB2 uxtb r3, r3
6173 .L386:
6174 .loc 1 2368 17 is_stmt 1 discriminator 12
6175 0042 FB73 strb r3, [r7, #15]
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** return channel_state;
6176 .loc 1 2370 10
6177 0044 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
6178 .loc 1 2371 1
6179 0046 1846 mov r0, r3
ARM GAS /tmp/ccxRWv8k.s page 150
6180 0048 1437 adds r7, r7, #20
6181 .cfi_def_cfa_offset 4
6182 004a BD46 mov sp, r7
6183 .cfi_def_cfa_register 13
6184 @ sp needed
6185 004c 5DF8047B ldr r7, [sp], #4
6186 .cfi_restore 7
6187 .cfi_def_cfa_offset 0
6188 0050 7047 bx lr
6189 .cfi_endproc
6190 .LFE168:
6192 .section .text.TIMEx_DMACommutationCplt,"ax",%progbits
6193 .align 1
6194 .global TIMEx_DMACommutationCplt
6195 .syntax unified
6196 .thumb
6197 .thumb_func
6199 TIMEx_DMACommutationCplt:
6200 .LFB169:
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @}
2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @}
2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Private functions ---------------------------------------------------------*/
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /** @defgroup TIMEx_Private_Functions TIM Extended Private Functions
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @{
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief TIM DMA Commutation callback.
2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param hdma pointer to DMA handle.
2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** void TIMEx_DMACommutationCplt(DMA_HandleTypeDef *hdma)
2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
6201 .loc 1 2391 1
6202 .cfi_startproc
6203 @ args = 0, pretend = 0, frame = 16
6204 @ frame_needed = 1, uses_anonymous_args = 0
6205 0000 80B5 push {r7, lr}
6206 .cfi_def_cfa_offset 8
6207 .cfi_offset 7, -8
6208 .cfi_offset 14, -4
6209 0002 84B0 sub sp, sp, #16
6210 .cfi_def_cfa_offset 24
6211 0004 00AF add r7, sp, #0
6212 .cfi_def_cfa_register 7
6213 0006 7860 str r0, [r7, #4]
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_HandleTypeDef *htim = (TIM_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6214 .loc 1 2392 22
6215 0008 7B68 ldr r3, [r7, #4]
6216 000a 5B6A ldr r3, [r3, #36]
6217 000c FB60 str r3, [r7, #12]
ARM GAS /tmp/ccxRWv8k.s page 151
2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Change the htim state */
2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_READY;
6218 .loc 1 2395 15
6219 000e FB68 ldr r3, [r7, #12]
6220 0010 0122 movs r2, #1
6221 0012 83F83D20 strb r2, [r3, #61]
2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->CommutationCallback(htim);
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #else
2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIMEx_CommutCallback(htim);
6222 .loc 1 2400 3
6223 0016 F868 ldr r0, [r7, #12]
6224 0018 FFF7FEFF bl HAL_TIMEx_CommutCallback
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
6225 .loc 1 2402 1
6226 001c 00BF nop
6227 001e 1037 adds r7, r7, #16
6228 .cfi_def_cfa_offset 8
6229 0020 BD46 mov sp, r7
6230 .cfi_def_cfa_register 13
6231 @ sp needed
6232 0022 80BD pop {r7, pc}
6233 .cfi_endproc
6234 .LFE169:
6236 .section .text.TIMEx_DMACommutationHalfCplt,"ax",%progbits
6237 .align 1
6238 .global TIMEx_DMACommutationHalfCplt
6239 .syntax unified
6240 .thumb
6241 .thumb_func
6243 TIMEx_DMACommutationHalfCplt:
6244 .LFB170:
2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief TIM DMA Commutation half complete callback.
2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param hdma pointer to DMA handle.
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** void TIMEx_DMACommutationHalfCplt(DMA_HandleTypeDef *hdma)
2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
6245 .loc 1 2410 1
6246 .cfi_startproc
6247 @ args = 0, pretend = 0, frame = 16
6248 @ frame_needed = 1, uses_anonymous_args = 0
6249 0000 80B5 push {r7, lr}
6250 .cfi_def_cfa_offset 8
6251 .cfi_offset 7, -8
6252 .cfi_offset 14, -4
6253 0002 84B0 sub sp, sp, #16
6254 .cfi_def_cfa_offset 24
6255 0004 00AF add r7, sp, #0
6256 .cfi_def_cfa_register 7
6257 0006 7860 str r0, [r7, #4]
2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_HandleTypeDef *htim = (TIM_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
ARM GAS /tmp/ccxRWv8k.s page 152
6258 .loc 1 2411 22
6259 0008 7B68 ldr r3, [r7, #4]
6260 000a 5B6A ldr r3, [r3, #36]
6261 000c FB60 str r3, [r7, #12]
2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Change the htim state */
2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->State = HAL_TIM_STATE_READY;
6262 .loc 1 2414 15
6263 000e FB68 ldr r3, [r7, #12]
6264 0010 0122 movs r2, #1
6265 0012 83F83D20 strb r2, [r3, #61]
2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->CommutationHalfCpltCallback(htim);
2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #else
2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIMEx_CommutHalfCpltCallback(htim);
6266 .loc 1 2419 3
6267 0016 F868 ldr r0, [r7, #12]
6268 0018 FFF7FEFF bl HAL_TIMEx_CommutHalfCpltCallback
2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
6269 .loc 1 2421 1
6270 001c 00BF nop
6271 001e 1037 adds r7, r7, #16
6272 .cfi_def_cfa_offset 8
6273 0020 BD46 mov sp, r7
6274 .cfi_def_cfa_register 13
6275 @ sp needed
6276 0022 80BD pop {r7, pc}
6277 .cfi_endproc
6278 .LFE170:
6280 .section .text.TIM_DMADelayPulseNCplt,"ax",%progbits
6281 .align 1
6282 .syntax unified
6283 .thumb
6284 .thumb_func
6286 TIM_DMADelayPulseNCplt:
6287 .LFB171:
2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief TIM DMA Delay Pulse complete callback (complementary channel).
2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param hdma pointer to DMA handle.
2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** static void TIM_DMADelayPulseNCplt(DMA_HandleTypeDef *hdma)
2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
6288 .loc 1 2430 1
6289 .cfi_startproc
6290 @ args = 0, pretend = 0, frame = 16
6291 @ frame_needed = 1, uses_anonymous_args = 0
6292 0000 80B5 push {r7, lr}
6293 .cfi_def_cfa_offset 8
6294 .cfi_offset 7, -8
6295 .cfi_offset 14, -4
6296 0002 84B0 sub sp, sp, #16
6297 .cfi_def_cfa_offset 24
ARM GAS /tmp/ccxRWv8k.s page 153
6298 0004 00AF add r7, sp, #0
6299 .cfi_def_cfa_register 7
6300 0006 7860 str r0, [r7, #4]
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_HandleTypeDef *htim = (TIM_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6301 .loc 1 2431 22
6302 0008 7B68 ldr r3, [r7, #4]
6303 000a 5B6A ldr r3, [r3, #36]
6304 000c FB60 str r3, [r7, #12]
2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (hdma == htim->hdma[TIM_DMA_ID_CC1])
6305 .loc 1 2433 25
6306 000e FB68 ldr r3, [r7, #12]
6307 0010 5B6A ldr r3, [r3, #36]
6308 .loc 1 2433 6
6309 0012 7A68 ldr r2, [r7, #4]
6310 0014 9A42 cmp r2, r3
6311 0016 0BD1 bne .L395
2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1;
6312 .loc 1 2435 19
6313 0018 FB68 ldr r3, [r7, #12]
6314 001a 0122 movs r2, #1
6315 001c 1A77 strb r2, [r3, #28]
2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (hdma->Init.Mode == DMA_NORMAL)
6316 .loc 1 2437 19
6317 001e 7B68 ldr r3, [r7, #4]
6318 0020 9B69 ldr r3, [r3, #24]
6319 .loc 1 2437 8
6320 0022 002B cmp r3, #0
6321 0024 36D1 bne .L396
2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
6322 .loc 1 2439 7
6323 0026 FB68 ldr r3, [r7, #12]
6324 0028 0122 movs r2, #1
6325 002a 83F84420 strb r2, [r3, #68]
6326 002e 31E0 b .L396
6327 .L395:
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else if (hdma == htim->hdma[TIM_DMA_ID_CC2])
6328 .loc 1 2442 30
6329 0030 FB68 ldr r3, [r7, #12]
6330 0032 9B6A ldr r3, [r3, #40]
6331 .loc 1 2442 11
6332 0034 7A68 ldr r2, [r7, #4]
6333 0036 9A42 cmp r2, r3
6334 0038 0BD1 bne .L397
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2;
6335 .loc 1 2444 19
6336 003a FB68 ldr r3, [r7, #12]
6337 003c 0222 movs r2, #2
6338 003e 1A77 strb r2, [r3, #28]
2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (hdma->Init.Mode == DMA_NORMAL)
ARM GAS /tmp/ccxRWv8k.s page 154
6339 .loc 1 2446 19
6340 0040 7B68 ldr r3, [r7, #4]
6341 0042 9B69 ldr r3, [r3, #24]
6342 .loc 1 2446 8
6343 0044 002B cmp r3, #0
6344 0046 25D1 bne .L396
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
6345 .loc 1 2448 7
6346 0048 FB68 ldr r3, [r7, #12]
6347 004a 0122 movs r2, #1
6348 004c 83F84520 strb r2, [r3, #69]
6349 0050 20E0 b .L396
6350 .L397:
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else if (hdma == htim->hdma[TIM_DMA_ID_CC3])
6351 .loc 1 2451 30
6352 0052 FB68 ldr r3, [r7, #12]
6353 0054 DB6A ldr r3, [r3, #44]
6354 .loc 1 2451 11
6355 0056 7A68 ldr r2, [r7, #4]
6356 0058 9A42 cmp r2, r3
6357 005a 0BD1 bne .L398
2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3;
6358 .loc 1 2453 19
6359 005c FB68 ldr r3, [r7, #12]
6360 005e 0422 movs r2, #4
6361 0060 1A77 strb r2, [r3, #28]
2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (hdma->Init.Mode == DMA_NORMAL)
6362 .loc 1 2455 19
6363 0062 7B68 ldr r3, [r7, #4]
6364 0064 9B69 ldr r3, [r3, #24]
6365 .loc 1 2455 8
6366 0066 002B cmp r3, #0
6367 0068 14D1 bne .L396
2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_3, HAL_TIM_CHANNEL_STATE_READY);
6368 .loc 1 2457 7
6369 006a FB68 ldr r3, [r7, #12]
6370 006c 0122 movs r2, #1
6371 006e 83F84620 strb r2, [r3, #70]
6372 0072 0FE0 b .L396
6373 .L398:
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else if (hdma == htim->hdma[TIM_DMA_ID_CC4])
6374 .loc 1 2460 30
6375 0074 FB68 ldr r3, [r7, #12]
6376 0076 1B6B ldr r3, [r3, #48]
6377 .loc 1 2460 11
6378 0078 7A68 ldr r2, [r7, #4]
6379 007a 9A42 cmp r2, r3
6380 007c 0AD1 bne .L396
2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
ARM GAS /tmp/ccxRWv8k.s page 155
2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4;
6381 .loc 1 2462 19
6382 007e FB68 ldr r3, [r7, #12]
6383 0080 0822 movs r2, #8
6384 0082 1A77 strb r2, [r3, #28]
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (hdma->Init.Mode == DMA_NORMAL)
6385 .loc 1 2464 19
6386 0084 7B68 ldr r3, [r7, #4]
6387 0086 9B69 ldr r3, [r3, #24]
6388 .loc 1 2464 8
6389 0088 002B cmp r3, #0
6390 008a 03D1 bne .L396
2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_4, HAL_TIM_CHANNEL_STATE_READY);
6391 .loc 1 2466 7
6392 008c FB68 ldr r3, [r7, #12]
6393 008e 0122 movs r2, #1
6394 0090 83F84720 strb r2, [r3, #71]
6395 .L396:
2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* nothing to do */
2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->PWM_PulseFinishedCallback(htim);
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #else
2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_PWM_PulseFinishedCallback(htim);
6396 .loc 1 2477 3
6397 0094 F868 ldr r0, [r7, #12]
6398 0096 FFF7FEFF bl HAL_TIM_PWM_PulseFinishedCallback
2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED;
6399 .loc 1 2480 17
6400 009a FB68 ldr r3, [r7, #12]
6401 009c 0022 movs r2, #0
6402 009e 1A77 strb r2, [r3, #28]
2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
6403 .loc 1 2481 1
6404 00a0 00BF nop
6405 00a2 1037 adds r7, r7, #16
6406 .cfi_def_cfa_offset 8
6407 00a4 BD46 mov sp, r7
6408 .cfi_def_cfa_register 13
6409 @ sp needed
6410 00a6 80BD pop {r7, pc}
6411 .cfi_endproc
6412 .LFE171:
6414 .section .text.TIM_DMAErrorCCxN,"ax",%progbits
6415 .align 1
6416 .syntax unified
6417 .thumb
6418 .thumb_func
ARM GAS /tmp/ccxRWv8k.s page 156
6420 TIM_DMAErrorCCxN:
6421 .LFB172:
2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief TIM DMA error callback (complementary channel)
2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param hdma pointer to DMA handle.
2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** static void TIM_DMAErrorCCxN(DMA_HandleTypeDef *hdma)
2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
6422 .loc 1 2489 1
6423 .cfi_startproc
6424 @ args = 0, pretend = 0, frame = 16
6425 @ frame_needed = 1, uses_anonymous_args = 0
6426 0000 80B5 push {r7, lr}
6427 .cfi_def_cfa_offset 8
6428 .cfi_offset 7, -8
6429 .cfi_offset 14, -4
6430 0002 84B0 sub sp, sp, #16
6431 .cfi_def_cfa_offset 24
6432 0004 00AF add r7, sp, #0
6433 .cfi_def_cfa_register 7
6434 0006 7860 str r0, [r7, #4]
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_HandleTypeDef *htim = (TIM_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6435 .loc 1 2490 22
6436 0008 7B68 ldr r3, [r7, #4]
6437 000a 5B6A ldr r3, [r3, #36]
6438 000c FB60 str r3, [r7, #12]
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** if (hdma == htim->hdma[TIM_DMA_ID_CC1])
6439 .loc 1 2492 25
6440 000e FB68 ldr r3, [r7, #12]
6441 0010 5B6A ldr r3, [r3, #36]
6442 .loc 1 2492 6
6443 0012 7A68 ldr r2, [r7, #4]
6444 0014 9A42 cmp r2, r3
6445 0016 07D1 bne .L400
2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1;
6446 .loc 1 2494 19
6447 0018 FB68 ldr r3, [r7, #12]
6448 001a 0122 movs r2, #1
6449 001c 1A77 strb r2, [r3, #28]
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_1, HAL_TIM_CHANNEL_STATE_READY);
6450 .loc 1 2495 5
6451 001e FB68 ldr r3, [r7, #12]
6452 0020 0122 movs r2, #1
6453 0022 83F84420 strb r2, [r3, #68]
6454 0026 18E0 b .L401
6455 .L400:
2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else if (hdma == htim->hdma[TIM_DMA_ID_CC2])
6456 .loc 1 2497 30
6457 0028 FB68 ldr r3, [r7, #12]
6458 002a 9B6A ldr r3, [r3, #40]
6459 .loc 1 2497 11
6460 002c 7A68 ldr r2, [r7, #4]
ARM GAS /tmp/ccxRWv8k.s page 157
6461 002e 9A42 cmp r2, r3
6462 0030 07D1 bne .L402
2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2;
6463 .loc 1 2499 19
6464 0032 FB68 ldr r3, [r7, #12]
6465 0034 0222 movs r2, #2
6466 0036 1A77 strb r2, [r3, #28]
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_2, HAL_TIM_CHANNEL_STATE_READY);
6467 .loc 1 2500 5
6468 0038 FB68 ldr r3, [r7, #12]
6469 003a 0122 movs r2, #1
6470 003c 83F84520 strb r2, [r3, #69]
6471 0040 0BE0 b .L401
6472 .L402:
2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else if (hdma == htim->hdma[TIM_DMA_ID_CC3])
6473 .loc 1 2502 30
6474 0042 FB68 ldr r3, [r7, #12]
6475 0044 DB6A ldr r3, [r3, #44]
6476 .loc 1 2502 11
6477 0046 7A68 ldr r2, [r7, #4]
6478 0048 9A42 cmp r2, r3
6479 004a 06D1 bne .L401
2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3;
6480 .loc 1 2504 19
6481 004c FB68 ldr r3, [r7, #12]
6482 004e 0422 movs r2, #4
6483 0050 1A77 strb r2, [r3, #28]
2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIM_CHANNEL_N_STATE_SET(htim, TIM_CHANNEL_3, HAL_TIM_CHANNEL_STATE_READY);
6484 .loc 1 2505 5
6485 0052 FB68 ldr r3, [r7, #12]
6486 0054 0122 movs r2, #1
6487 0056 83F84620 strb r2, [r3, #70]
6488 .L401:
2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** else
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* nothing to do */
2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->ErrorCallback(htim);
2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #else
2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** HAL_TIM_ErrorCallback(htim);
6489 .loc 1 2515 3
6490 005a F868 ldr r0, [r7, #12]
6491 005c FFF7FEFF bl HAL_TIM_ErrorCallback
2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED;
6492 .loc 1 2518 17
6493 0060 FB68 ldr r3, [r7, #12]
6494 0062 0022 movs r2, #0
6495 0064 1A77 strb r2, [r3, #28]
2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
ARM GAS /tmp/ccxRWv8k.s page 158
6496 .loc 1 2519 1
6497 0066 00BF nop
6498 0068 1037 adds r7, r7, #16
6499 .cfi_def_cfa_offset 8
6500 006a BD46 mov sp, r7
6501 .cfi_def_cfa_register 13
6502 @ sp needed
6503 006c 80BD pop {r7, pc}
6504 .cfi_endproc
6505 .LFE172:
6507 .section .text.TIM_CCxNChannelCmd,"ax",%progbits
6508 .align 1
6509 .syntax unified
6510 .thumb
6511 .thumb_func
6513 TIM_CCxNChannelCmd:
6514 .LFB173:
2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /**
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @brief Enables or disables the TIM Capture Compare Channel xN.
2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param TIMx to select the TIM peripheral
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param Channel specifies the TIM Channel
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be one of the following values:
2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_1: TIM Channel 1
2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_2: TIM Channel 2
2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @arg TIM_CHANNEL_3: TIM Channel 3
2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @param ChannelNState specifies the TIM Channel CCxNE bit new state.
2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * This parameter can be: TIM_CCxN_ENABLE or TIM_CCxN_Disable.
2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** * @retval None
2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** */
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** static void TIM_CCxNChannelCmd(TIM_TypeDef *TIMx, uint32_t Channel, uint32_t ChannelNState)
2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** {
6515 .loc 1 2534 1
6516 .cfi_startproc
6517 @ args = 0, pretend = 0, frame = 24
6518 @ frame_needed = 1, uses_anonymous_args = 0
6519 @ link register save eliminated.
6520 0000 80B4 push {r7}
6521 .cfi_def_cfa_offset 4
6522 .cfi_offset 7, -4
6523 0002 87B0 sub sp, sp, #28
6524 .cfi_def_cfa_offset 32
6525 0004 00AF add r7, sp, #0
6526 .cfi_def_cfa_register 7
6527 0006 F860 str r0, [r7, #12]
6528 0008 B960 str r1, [r7, #8]
6529 000a 7A60 str r2, [r7, #4]
2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** uint32_t tmp;
2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** tmp = TIM_CCER_CC1NE << (Channel & 0x1FU); /* 0x1FU = 31 bits max shift */
6530 .loc 1 2537 36
6531 000c BB68 ldr r3, [r7, #8]
6532 000e 03F01F03 and r3, r3, #31
6533 .loc 1 2537 7
6534 0012 0422 movs r2, #4
6535 0014 02FA03F3 lsl r3, r2, r3
6536 0018 7B61 str r3, [r7, #20]
ARM GAS /tmp/ccxRWv8k.s page 159
2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Reset the CCxNE Bit */
2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIMx->CCER &= ~tmp;
6537 .loc 1 2540 7
6538 001a FB68 ldr r3, [r7, #12]
6539 001c 1A6A ldr r2, [r3, #32]
6540 .loc 1 2540 18
6541 001e 7B69 ldr r3, [r7, #20]
6542 0020 DB43 mvns r3, r3
6543 .loc 1 2540 14
6544 0022 1A40 ands r2, r2, r3
6545 0024 FB68 ldr r3, [r7, #12]
6546 0026 1A62 str r2, [r3, #32]
2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c ****
2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** /* Set or reset the CCxNE Bit */
2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** TIMx->CCER |= (uint32_t)(ChannelNState << (Channel & 0x1FU)); /* 0x1FU = 31 bits max shift */
6547 .loc 1 2543 7
6548 0028 FB68 ldr r3, [r7, #12]
6549 002a 1A6A ldr r2, [r3, #32]
6550 .loc 1 2543 54
6551 002c BB68 ldr r3, [r7, #8]
6552 002e 03F01F03 and r3, r3, #31
6553 .loc 1 2543 42
6554 0032 7968 ldr r1, [r7, #4]
6555 0034 01FA03F3 lsl r3, r1, r3
6556 .loc 1 2543 14
6557 0038 1A43 orrs r2, r2, r3
6558 003a FB68 ldr r3, [r7, #12]
6559 003c 1A62 str r2, [r3, #32]
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c **** }
6560 .loc 1 2544 1
6561 003e 00BF nop
6562 0040 1C37 adds r7, r7, #28
6563 .cfi_def_cfa_offset 4
6564 0042 BD46 mov sp, r7
6565 .cfi_def_cfa_register 13
6566 @ sp needed
6567 0044 5DF8047B ldr r7, [sp], #4
6568 .cfi_restore 7
6569 .cfi_def_cfa_offset 0
6570 0048 7047 bx lr
6571 .cfi_endproc
6572 .LFE173:
6574 .text
6575 .Letext0:
6576 .file 2 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
6577 .file 3 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl
6578 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
6579 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
6580 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
6581 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
6582 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_tim.h"
6583 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_tim_ex.h"
ARM GAS /tmp/ccxRWv8k.s page 160
DEFINED SYMBOLS
*ABS*:00000000 stm32f3xx_hal_tim_ex.c
/tmp/ccxRWv8k.s:21 .text.HAL_TIMEx_HallSensor_Init:00000000 $t
/tmp/ccxRWv8k.s:27 .text.HAL_TIMEx_HallSensor_Init:00000000 HAL_TIMEx_HallSensor_Init
/tmp/ccxRWv8k.s:365 .text.HAL_TIMEx_HallSensor_MspInit:00000000 HAL_TIMEx_HallSensor_MspInit
/tmp/ccxRWv8k.s:264 .text.HAL_TIMEx_HallSensor_DeInit:00000000 $t
/tmp/ccxRWv8k.s:270 .text.HAL_TIMEx_HallSensor_DeInit:00000000 HAL_TIMEx_HallSensor_DeInit
/tmp/ccxRWv8k.s:401 .text.HAL_TIMEx_HallSensor_MspDeInit:00000000 HAL_TIMEx_HallSensor_MspDeInit
/tmp/ccxRWv8k.s:359 .text.HAL_TIMEx_HallSensor_MspInit:00000000 $t
/tmp/ccxRWv8k.s:395 .text.HAL_TIMEx_HallSensor_MspDeInit:00000000 $t
/tmp/ccxRWv8k.s:431 .text.HAL_TIMEx_HallSensor_Start:00000000 $t
/tmp/ccxRWv8k.s:437 .text.HAL_TIMEx_HallSensor_Start:00000000 HAL_TIMEx_HallSensor_Start
/tmp/ccxRWv8k.s:598 .text.HAL_TIMEx_HallSensor_Start:000000f0 $d
/tmp/ccxRWv8k.s:607 .text.HAL_TIMEx_HallSensor_Stop:00000000 $t
/tmp/ccxRWv8k.s:613 .text.HAL_TIMEx_HallSensor_Stop:00000000 HAL_TIMEx_HallSensor_Stop
/tmp/ccxRWv8k.s:690 .text.HAL_TIMEx_HallSensor_Start_IT:00000000 $t
/tmp/ccxRWv8k.s:696 .text.HAL_TIMEx_HallSensor_Start_IT:00000000 HAL_TIMEx_HallSensor_Start_IT
/tmp/ccxRWv8k.s:865 .text.HAL_TIMEx_HallSensor_Start_IT:00000100 $d
/tmp/ccxRWv8k.s:874 .text.HAL_TIMEx_HallSensor_Stop_IT:00000000 $t
/tmp/ccxRWv8k.s:880 .text.HAL_TIMEx_HallSensor_Stop_IT:00000000 HAL_TIMEx_HallSensor_Stop_IT
/tmp/ccxRWv8k.s:965 .text.HAL_TIMEx_HallSensor_Start_DMA:00000000 $t
/tmp/ccxRWv8k.s:971 .text.HAL_TIMEx_HallSensor_Start_DMA:00000000 HAL_TIMEx_HallSensor_Start_DMA
/tmp/ccxRWv8k.s:1187 .text.HAL_TIMEx_HallSensor_Start_DMA:00000134 $d
/tmp/ccxRWv8k.s:1199 .text.HAL_TIMEx_HallSensor_Stop_DMA:00000000 $t
/tmp/ccxRWv8k.s:1205 .text.HAL_TIMEx_HallSensor_Stop_DMA:00000000 HAL_TIMEx_HallSensor_Stop_DMA
/tmp/ccxRWv8k.s:1287 .text.HAL_TIMEx_OCN_Start:00000000 $t
/tmp/ccxRWv8k.s:1293 .text.HAL_TIMEx_OCN_Start:00000000 HAL_TIMEx_OCN_Start
/tmp/ccxRWv8k.s:6513 .text.TIM_CCxNChannelCmd:00000000 TIM_CCxNChannelCmd
/tmp/ccxRWv8k.s:1511 .text.HAL_TIMEx_OCN_Start:00000144 $d
/tmp/ccxRWv8k.s:1520 .text.HAL_TIMEx_OCN_Stop:00000000 $t
/tmp/ccxRWv8k.s:1526 .text.HAL_TIMEx_OCN_Stop:00000000 HAL_TIMEx_OCN_Stop
/tmp/ccxRWv8k.s:1648 .text.HAL_TIMEx_OCN_Start_IT:00000000 $t
/tmp/ccxRWv8k.s:1654 .text.HAL_TIMEx_OCN_Start_IT:00000000 HAL_TIMEx_OCN_Start_IT
/tmp/ccxRWv8k.s:1941 .text.HAL_TIMEx_OCN_Start_IT:000001b4 $d
/tmp/ccxRWv8k.s:1950 .text.HAL_TIMEx_OCN_Stop_IT:00000000 $t
/tmp/ccxRWv8k.s:1956 .text.HAL_TIMEx_OCN_Stop_IT:00000000 HAL_TIMEx_OCN_Stop_IT
/tmp/ccxRWv8k.s:2161 .text.HAL_TIMEx_OCN_Start_DMA:00000000 $t
/tmp/ccxRWv8k.s:2167 .text.HAL_TIMEx_OCN_Start_DMA:00000000 HAL_TIMEx_OCN_Start_DMA
/tmp/ccxRWv8k.s:2647 .text.HAL_TIMEx_OCN_Start_DMA:000002c4 $d
/tmp/ccxRWv8k.s:6286 .text.TIM_DMADelayPulseNCplt:00000000 TIM_DMADelayPulseNCplt
/tmp/ccxRWv8k.s:6420 .text.TIM_DMAErrorCCxN:00000000 TIM_DMAErrorCCxN
/tmp/ccxRWv8k.s:2659 .text.HAL_TIMEx_OCN_Stop_DMA:00000000 $t
/tmp/ccxRWv8k.s:2665 .text.HAL_TIMEx_OCN_Stop_DMA:00000000 HAL_TIMEx_OCN_Stop_DMA
/tmp/ccxRWv8k.s:2863 .text.HAL_TIMEx_PWMN_Start:00000000 $t
/tmp/ccxRWv8k.s:2869 .text.HAL_TIMEx_PWMN_Start:00000000 HAL_TIMEx_PWMN_Start
/tmp/ccxRWv8k.s:3087 .text.HAL_TIMEx_PWMN_Start:00000144 $d
/tmp/ccxRWv8k.s:3096 .text.HAL_TIMEx_PWMN_Stop:00000000 $t
/tmp/ccxRWv8k.s:3102 .text.HAL_TIMEx_PWMN_Stop:00000000 HAL_TIMEx_PWMN_Stop
/tmp/ccxRWv8k.s:3224 .text.HAL_TIMEx_PWMN_Start_IT:00000000 $t
/tmp/ccxRWv8k.s:3230 .text.HAL_TIMEx_PWMN_Start_IT:00000000 HAL_TIMEx_PWMN_Start_IT
/tmp/ccxRWv8k.s:3517 .text.HAL_TIMEx_PWMN_Start_IT:000001b4 $d
/tmp/ccxRWv8k.s:3526 .text.HAL_TIMEx_PWMN_Stop_IT:00000000 $t
/tmp/ccxRWv8k.s:3532 .text.HAL_TIMEx_PWMN_Stop_IT:00000000 HAL_TIMEx_PWMN_Stop_IT
/tmp/ccxRWv8k.s:3737 .text.HAL_TIMEx_PWMN_Start_DMA:00000000 $t
/tmp/ccxRWv8k.s:3743 .text.HAL_TIMEx_PWMN_Start_DMA:00000000 HAL_TIMEx_PWMN_Start_DMA
/tmp/ccxRWv8k.s:4223 .text.HAL_TIMEx_PWMN_Start_DMA:000002c4 $d
/tmp/ccxRWv8k.s:4235 .text.HAL_TIMEx_PWMN_Stop_DMA:00000000 $t
ARM GAS /tmp/ccxRWv8k.s page 161
/tmp/ccxRWv8k.s:4241 .text.HAL_TIMEx_PWMN_Stop_DMA:00000000 HAL_TIMEx_PWMN_Stop_DMA
/tmp/ccxRWv8k.s:4439 .text.HAL_TIMEx_OnePulseN_Start:00000000 $t
/tmp/ccxRWv8k.s:4445 .text.HAL_TIMEx_OnePulseN_Start:00000000 HAL_TIMEx_OnePulseN_Start
/tmp/ccxRWv8k.s:4564 .text.HAL_TIMEx_OnePulseN_Stop:00000000 $t
/tmp/ccxRWv8k.s:4570 .text.HAL_TIMEx_OnePulseN_Stop:00000000 HAL_TIMEx_OnePulseN_Stop
/tmp/ccxRWv8k.s:4693 .text.HAL_TIMEx_OnePulseN_Start_IT:00000000 $t
/tmp/ccxRWv8k.s:4699 .text.HAL_TIMEx_OnePulseN_Start_IT:00000000 HAL_TIMEx_OnePulseN_Start_IT
/tmp/ccxRWv8k.s:4834 .text.HAL_TIMEx_OnePulseN_Stop_IT:00000000 $t
/tmp/ccxRWv8k.s:4840 .text.HAL_TIMEx_OnePulseN_Stop_IT:00000000 HAL_TIMEx_OnePulseN_Stop_IT
/tmp/ccxRWv8k.s:4979 .text.HAL_TIMEx_ConfigCommutEvent:00000000 $t
/tmp/ccxRWv8k.s:4985 .text.HAL_TIMEx_ConfigCommutEvent:00000000 HAL_TIMEx_ConfigCommutEvent
/tmp/ccxRWv8k.s:5129 .text.HAL_TIMEx_ConfigCommutEvent_IT:00000000 $t
/tmp/ccxRWv8k.s:5135 .text.HAL_TIMEx_ConfigCommutEvent_IT:00000000 HAL_TIMEx_ConfigCommutEvent_IT
/tmp/ccxRWv8k.s:5279 .text.HAL_TIMEx_ConfigCommutEvent_DMA:00000000 $t
/tmp/ccxRWv8k.s:5285 .text.HAL_TIMEx_ConfigCommutEvent_DMA:00000000 HAL_TIMEx_ConfigCommutEvent_DMA
/tmp/ccxRWv8k.s:5446 .text.HAL_TIMEx_ConfigCommutEvent_DMA:000000d8 $d
/tmp/ccxRWv8k.s:6199 .text.TIMEx_DMACommutationCplt:00000000 TIMEx_DMACommutationCplt
/tmp/ccxRWv8k.s:6243 .text.TIMEx_DMACommutationHalfCplt:00000000 TIMEx_DMACommutationHalfCplt
/tmp/ccxRWv8k.s:5453 .text.HAL_TIMEx_MasterConfigSynchronization:00000000 $t
/tmp/ccxRWv8k.s:5459 .text.HAL_TIMEx_MasterConfigSynchronization:00000000 HAL_TIMEx_MasterConfigSynchronization
/tmp/ccxRWv8k.s:5615 .text.HAL_TIMEx_MasterConfigSynchronization:000000d8 $d
/tmp/ccxRWv8k.s:5623 .text.HAL_TIMEx_ConfigBreakDeadTime:00000000 $t
/tmp/ccxRWv8k.s:5629 .text.HAL_TIMEx_ConfigBreakDeadTime:00000000 HAL_TIMEx_ConfigBreakDeadTime
/tmp/ccxRWv8k.s:5776 .text.HAL_TIMEx_ConfigBreakDeadTime:000000ec $d
/tmp/ccxRWv8k.s:5781 .text.HAL_TIMEx_RemapConfig:00000000 $t
/tmp/ccxRWv8k.s:5787 .text.HAL_TIMEx_RemapConfig:00000000 HAL_TIMEx_RemapConfig
/tmp/ccxRWv8k.s:5844 .text.HAL_TIMEx_GroupChannel5:00000000 $t
/tmp/ccxRWv8k.s:5850 .text.HAL_TIMEx_GroupChannel5:00000000 HAL_TIMEx_GroupChannel5
/tmp/ccxRWv8k.s:5933 .text.HAL_TIMEx_CommutCallback:00000000 $t
/tmp/ccxRWv8k.s:5939 .text.HAL_TIMEx_CommutCallback:00000000 HAL_TIMEx_CommutCallback
/tmp/ccxRWv8k.s:5969 .text.HAL_TIMEx_CommutHalfCpltCallback:00000000 $t
/tmp/ccxRWv8k.s:5975 .text.HAL_TIMEx_CommutHalfCpltCallback:00000000 HAL_TIMEx_CommutHalfCpltCallback
/tmp/ccxRWv8k.s:6005 .text.HAL_TIMEx_BreakCallback:00000000 $t
/tmp/ccxRWv8k.s:6011 .text.HAL_TIMEx_BreakCallback:00000000 HAL_TIMEx_BreakCallback
/tmp/ccxRWv8k.s:6041 .text.HAL_TIMEx_Break2Callback:00000000 $t
/tmp/ccxRWv8k.s:6047 .text.HAL_TIMEx_Break2Callback:00000000 HAL_TIMEx_Break2Callback
/tmp/ccxRWv8k.s:6077 .text.HAL_TIMEx_HallSensor_GetState:00000000 $t
/tmp/ccxRWv8k.s:6083 .text.HAL_TIMEx_HallSensor_GetState:00000000 HAL_TIMEx_HallSensor_GetState
/tmp/ccxRWv8k.s:6117 .text.HAL_TIMEx_GetChannelNState:00000000 $t
/tmp/ccxRWv8k.s:6123 .text.HAL_TIMEx_GetChannelNState:00000000 HAL_TIMEx_GetChannelNState
/tmp/ccxRWv8k.s:6193 .text.TIMEx_DMACommutationCplt:00000000 $t
/tmp/ccxRWv8k.s:6237 .text.TIMEx_DMACommutationHalfCplt:00000000 $t
/tmp/ccxRWv8k.s:6281 .text.TIM_DMADelayPulseNCplt:00000000 $t
/tmp/ccxRWv8k.s:6415 .text.TIM_DMAErrorCCxN:00000000 $t
/tmp/ccxRWv8k.s:6508 .text.TIM_CCxNChannelCmd:00000000 $t
UNDEFINED SYMBOLS
TIM_Base_SetConfig
TIM_TI1_SetConfig
TIM_OC2_SetConfig
TIM_CCxChannelCmd
HAL_DMA_Start_IT
TIM_DMACaptureCplt
TIM_DMACaptureHalfCplt
TIM_DMAError
HAL_DMA_Abort_IT
TIM_DMADelayPulseHalfCplt
ARM GAS /tmp/ccxRWv8k.s page 162
HAL_TIM_PWM_PulseFinishedCallback
HAL_TIM_ErrorCallback