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