ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.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 "stm32f4xx_hal_adc_ex.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.HAL_ADCEx_InjectedStart,"ax",%progbits 20 .align 1 21 .global HAL_ADCEx_InjectedStart 22 .syntax unified 23 .thumb 24 .thumb_func 26 HAL_ADCEx_InjectedStart: 27 .LFB235: 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c" 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @file stm32f4xx_hal_adc_ex.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief This file provides firmware functions to manage the following 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * functionalities of the ADC extension peripheral: 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * + Extended features functions 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ****************************************************************************** 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @attention 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * Copyright (c) 2017 STMicroelectronics. 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * All rights reserved. 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * This software is licensed under terms that can be found in the LICENSE file 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * in the root directory of this software component. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ****************************************************************************** 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** @verbatim 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ============================================================================== 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ##### How to use this driver ##### 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ============================================================================== 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** [..] 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (#)Initialize the ADC low level resources by implementing the HAL_ADC_MspInit(): 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (##) Enable the ADC interface clock using __HAL_RCC_ADC_CLK_ENABLE() 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (##) ADC pins configuration 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+++) Enable the clock for the ADC GPIOs using the following function: 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_RCC_GPIOx_CLK_ENABLE() 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+++) Configure these ADC pins in analog mode using HAL_GPIO_Init() ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 2 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (##) In case of using interrupts (e.g. HAL_ADC_Start_IT()) 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+++) Configure the ADC interrupt priority using HAL_NVIC_SetPriority() 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+++) Enable the ADC IRQ handler using HAL_NVIC_EnableIRQ() 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+++) In ADC IRQ handler, call HAL_ADC_IRQHandler() 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (##) In case of using DMA to control data transfer (e.g. HAL_ADC_Start_DMA()) 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+++) Enable the DMAx interface clock using __HAL_RCC_DMAx_CLK_ENABLE() 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+++) Configure and enable two DMA streams stream for managing data 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** transfer from peripheral to memory (output stream) 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+++) Associate the initialized DMA handle to the ADC DMA handle 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** using __HAL_LINKDMA() 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+++) Configure the priority and enable the NVIC for the transfer complete 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** interrupt on the two DMA Streams. The output stream should have higher 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** priority than the input stream. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (#) Configure the ADC Prescaler, conversion resolution and data alignment 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** using the HAL_ADC_Init() function. 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (#) Configure the ADC Injected channels group features, use HAL_ADC_Init() 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** and HAL_ADC_ConfigChannel() functions. 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (#) Three operation modes are available within this driver: 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** *** Polling mode IO operation *** 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ================================= 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** [..] 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Start the ADC peripheral using HAL_ADCEx_InjectedStart() 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Wait for end of conversion using HAL_ADC_PollForConversion(), at this stage 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** user can specify the value of timeout according to his end application 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) To read the ADC converted values, use the HAL_ADCEx_InjectedGetValue() function. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Stop the ADC peripheral using HAL_ADCEx_InjectedStop() 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** *** Interrupt mode IO operation *** 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** =================================== 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** [..] 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Start the ADC peripheral using HAL_ADCEx_InjectedStart_IT() 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Use HAL_ADC_IRQHandler() called under ADC_IRQHandler() Interrupt subroutine 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) At ADC end of conversion HAL_ADCEx_InjectedConvCpltCallback() function is executed and u 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** add his own code by customization of function pointer HAL_ADCEx_InjectedConvCpltCallbac 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) In case of ADC Error, HAL_ADCEx_InjectedErrorCallback() function is executed and user ca 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** add his own code by customization of function pointer HAL_ADCEx_InjectedErrorCallback 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Stop the ADC peripheral using HAL_ADCEx_InjectedStop_IT() 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** *** Multi mode ADCs Regular channels configuration *** 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ====================================================== 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** [..] 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Select the Multi mode ADC regular channels features (dual or triple mode) 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** and configure the DMA mode using HAL_ADCEx_MultiModeConfigChannel() functions. 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Start the ADC peripheral using HAL_ADCEx_MultiModeStart_DMA(), at this stage the user sp 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** of data to be transferred at each end of conversion 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Read the ADCs converted values using the HAL_ADCEx_MultiModeGetValue() function. 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** @endverbatim 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Includes ------------------------------------------------------------------*/ 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** #include "stm32f4xx_hal.h" 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 3 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** @addtogroup STM32F4xx_HAL_Driver 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @{ 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** @defgroup ADCEx ADCEx 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief ADC Extended driver modules 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @{ 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** #ifdef HAL_ADC_MODULE_ENABLED 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Private typedef -----------------------------------------------------------*/ 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Private define ------------------------------------------------------------*/ 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Private macro -------------------------------------------------------------*/ 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Private variables ---------------------------------------------------------*/ 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** @addtogroup ADCEx_Private_Functions 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @{ 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Private function prototypes -----------------------------------------------*/ 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** static void ADC_MultiModeDMAConvCplt(DMA_HandleTypeDef *hdma); 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** static void ADC_MultiModeDMAError(DMA_HandleTypeDef *hdma); 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** static void ADC_MultiModeDMAHalfConvCplt(DMA_HandleTypeDef *hdma); 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @} 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Exported functions --------------------------------------------------------*/ 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** @defgroup ADCEx_Exported_Functions ADC Exported Functions 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @{ 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** @defgroup ADCEx_Exported_Functions_Group1 Extended features functions 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Extended features functions 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** @verbatim 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** =============================================================================== 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ##### Extended features functions ##### 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** =============================================================================== 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** [..] This section provides functions allowing to: 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Start conversion of injected channel. 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Stop conversion of injected channel. 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Start multimode and enable DMA transfer. 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Stop multimode and disable DMA transfer. 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Get result of injected channel conversion. 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Get result of multimode conversion. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Configure injected channels. 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (+) Configure multimode. 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** @endverbatim 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @{ 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Enables the selected ADC software start conversion of the injected channels. 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval HAL status ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 4 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_InjectedStart(ADC_HandleTypeDef* hadc) 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 29 .loc 1 147 1 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 24 32 @ frame_needed = 1, uses_anonymous_args = 0 33 @ link register save eliminated. 34 0000 80B4 push {r7} 35 .LCFI0: 36 .cfi_def_cfa_offset 4 37 .cfi_offset 7, -4 38 0002 87B0 sub sp, sp, #28 39 .LCFI1: 40 .cfi_def_cfa_offset 32 41 0004 00AF add r7, sp, #0 42 .LCFI2: 43 .cfi_def_cfa_register 7 44 0006 7860 str r0, [r7, #4] 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __IO uint32_t counter = 0U; 45 .loc 1 148 17 46 0008 0023 movs r3, #0 47 000a BB60 str r3, [r7, #8] 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** uint32_t tmp1 = 0U, tmp2 = 0U; 48 .loc 1 149 12 49 000c 0023 movs r3, #0 50 000e 7B61 str r3, [r7, #20] 51 .loc 1 149 23 52 0010 0023 movs r3, #0 53 0012 3B61 str r3, [r7, #16] 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_Common_TypeDef *tmpADC_Common; 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process locked */ 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_LOCK(hadc); 54 .loc 1 153 3 55 0014 7B68 ldr r3, [r7, #4] 56 0016 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 57 001a 012B cmp r3, #1 58 001c 01D1 bne .L2 59 .loc 1 153 3 is_stmt 0 discriminator 1 60 001e 0223 movs r3, #2 61 0020 AAE0 b .L3 62 .L2: 63 .loc 1 153 3 discriminator 2 64 0022 7B68 ldr r3, [r7, #4] 65 0024 0122 movs r2, #1 66 0026 83F83C20 strb r2, [r3, #60] 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the ADC peripheral */ 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** Tstab time the ADC's stabilization */ 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 67 .loc 1 159 11 is_stmt 1 discriminator 2 68 002a 7B68 ldr r3, [r7, #4] 69 002c 1B68 ldr r3, [r3] 70 .loc 1 159 21 discriminator 2 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 5 71 002e 9B68 ldr r3, [r3, #8] 72 .loc 1 159 27 discriminator 2 73 0030 03F00103 and r3, r3, #1 74 .loc 1 159 5 discriminator 2 75 0034 012B cmp r3, #1 76 0036 18D0 beq .L4 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the Peripheral */ 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_ENABLE(hadc); 77 .loc 1 162 5 78 0038 7B68 ldr r3, [r7, #4] 79 003a 1B68 ldr r3, [r3] 80 003c 9A68 ldr r2, [r3, #8] 81 003e 7B68 ldr r3, [r7, #4] 82 0040 1B68 ldr r3, [r3] 83 0042 42F00102 orr r2, r2, #1 84 0046 9A60 str r2, [r3, #8] 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Delay for ADC stabilization time */ 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Compute number of CPU cycles to wait for */ 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); 85 .loc 1 166 53 86 0048 4E4B ldr r3, .L11 87 004a 1B68 ldr r3, [r3] 88 004c 4E4A ldr r2, .L11+4 89 004e A2FB0323 umull r2, r3, r2, r3 90 0052 9A0C lsrs r2, r3, #18 91 .loc 1 166 34 92 0054 1346 mov r3, r2 93 0056 5B00 lsls r3, r3, #1 94 0058 1344 add r3, r3, r2 95 .loc 1 166 13 96 005a BB60 str r3, [r7, #8] 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(counter != 0U) 97 .loc 1 167 10 98 005c 02E0 b .L5 99 .L6: 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** counter--; 100 .loc 1 169 14 101 005e BB68 ldr r3, [r7, #8] 102 0060 013B subs r3, r3, #1 103 0062 BB60 str r3, [r7, #8] 104 .L5: 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(counter != 0U) 105 .loc 1 167 19 106 0064 BB68 ldr r3, [r7, #8] 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(counter != 0U) 107 .loc 1 167 10 108 0066 002B cmp r3, #0 109 0068 F9D1 bne .L6 110 .L4: 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Start conversion if ADC is effectively enabled */ 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 6 111 .loc 1 174 6 112 006a 7B68 ldr r3, [r7, #4] 113 006c 1B68 ldr r3, [r3] 114 006e 9B68 ldr r3, [r3, #8] 115 0070 03F00103 and r3, r3, #1 116 .loc 1 174 5 117 0074 012B cmp r3, #1 118 0076 72D1 bne .L7 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC state */ 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - Clear state bitfield related to injected group conversion results */ 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - Set state bitfield related to injected operation */ 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State, 119 .loc 1 179 5 120 0078 7B68 ldr r3, [r7, #4] 121 007a 1B6C ldr r3, [r3, #64] 122 007c 23F44053 bic r3, r3, #12288 123 0080 23F00103 bic r3, r3, #1 124 0084 43F48052 orr r2, r3, #4096 125 0088 7B68 ldr r3, [r7, #4] 126 008a 1A64 str r2, [r3, #64] 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_INJ_EOC, 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_INJ_BUSY); 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if a regular conversion is ongoing */ 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Note: On this device, there is no ADC error code fields related to */ 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* conversions on group injected only. In case of conversion on */ 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* going on group regular, no error code is reset. */ 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_REG_BUSY)) 127 .loc 1 187 9 128 008c 7B68 ldr r3, [r7, #4] 129 008e 1B6C ldr r3, [r3, #64] 130 0090 03F48073 and r3, r3, #256 131 .loc 1 187 8 132 0094 002B cmp r3, #0 133 0096 02D1 bne .L8 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Reset ADC all error code fields */ 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_CLEAR_ERRORCODE(hadc); 134 .loc 1 190 7 135 0098 7B68 ldr r3, [r7, #4] 136 009a 0022 movs r2, #0 137 009c 5A64 str r2, [r3, #68] 138 .L8: 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process unlocked */ 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Unlock before starting ADC conversions: in case of potential */ 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* interruption, to let the process to ADC IRQ Handler. */ 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc); 139 .loc 1 196 5 140 009e 7B68 ldr r3, [r7, #4] 141 00a0 0022 movs r2, #0 142 00a2 83F83C20 strb r2, [r3, #60] 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Clear injected group conversion flag */ 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (To ensure of no unknown state from potential previous ADC operations) */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 7 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC); 143 .loc 1 200 5 144 00a6 7B68 ldr r3, [r7, #4] 145 00a8 1B68 ldr r3, [r3] 146 00aa 6FF00402 mvn r2, #4 147 00ae 1A60 str r2, [r3] 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Pointer to the common control register to which is belonging hadc */ 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (Depending on STM32F4 product, there may be up to 3 ADC and 1 common */ 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* control register) */ 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 148 .loc 1 205 19 149 00b0 364B ldr r3, .L11+8 150 00b2 FB60 str r3, [r7, #12] 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if Multimode enabled */ 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI)) 151 .loc 1 208 8 152 00b4 FB68 ldr r3, [r7, #12] 153 00b6 5B68 ldr r3, [r3, #4] 154 00b8 03F01F03 and r3, r3, #31 155 .loc 1 208 7 156 00bc 002B cmp r3, #0 157 00be 24D1 bne .L9 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp1 = HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_JEXTEN); 158 .loc 1 210 14 159 00c0 7B68 ldr r3, [r7, #4] 160 00c2 1B68 ldr r3, [r3] 161 00c4 9B68 ldr r3, [r3, #8] 162 00c6 03F44013 and r3, r3, #3145728 163 00ca 002B cmp r3, #0 164 00cc 0CBF ite eq 165 00ce 0123 moveq r3, #1 166 00d0 0023 movne r3, #0 167 00d2 DBB2 uxtb r3, r3 168 .loc 1 210 12 169 00d4 7B61 str r3, [r7, #20] 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp2 = HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO); 170 .loc 1 211 14 171 00d6 7B68 ldr r3, [r7, #4] 172 00d8 1B68 ldr r3, [r3] 173 00da 5B68 ldr r3, [r3, #4] 174 00dc 03F48063 and r3, r3, #1024 175 00e0 002B cmp r3, #0 176 00e2 0CBF ite eq 177 00e4 0123 moveq r3, #1 178 00e6 0023 movne r3, #0 179 00e8 DBB2 uxtb r3, r3 180 .loc 1 211 12 181 00ea 3B61 str r3, [r7, #16] 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(tmp1 && tmp2) 182 .loc 1 212 9 183 00ec 7B69 ldr r3, [r7, #20] 184 00ee 002B cmp r3, #0 185 00f0 41D0 beq .L10 186 .loc 1 212 15 discriminator 1 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 8 187 00f2 3B69 ldr r3, [r7, #16] 188 00f4 002B cmp r3, #0 189 00f6 3ED0 beq .L10 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the selected ADC software conversion for injected group */ 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 |= ADC_CR2_JSWSTART; 190 .loc 1 215 13 191 00f8 7B68 ldr r3, [r7, #4] 192 00fa 1B68 ldr r3, [r3] 193 .loc 1 215 29 194 00fc 9A68 ldr r2, [r3, #8] 195 .loc 1 215 13 196 00fe 7B68 ldr r3, [r7, #4] 197 0100 1B68 ldr r3, [r3] 198 .loc 1 215 29 199 0102 42F48002 orr r2, r2, #4194304 200 0106 9A60 str r2, [r3, #8] 201 0108 35E0 b .L10 202 .L9: 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp1 = HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_JEXTEN); 203 .loc 1 220 14 204 010a 7B68 ldr r3, [r7, #4] 205 010c 1B68 ldr r3, [r3] 206 010e 9B68 ldr r3, [r3, #8] 207 0110 03F44013 and r3, r3, #3145728 208 0114 002B cmp r3, #0 209 0116 0CBF ite eq 210 0118 0123 moveq r3, #1 211 011a 0023 movne r3, #0 212 011c DBB2 uxtb r3, r3 213 .loc 1 220 12 214 011e 7B61 str r3, [r7, #20] 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp2 = HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO); 215 .loc 1 221 14 216 0120 7B68 ldr r3, [r7, #4] 217 0122 1B68 ldr r3, [r3] 218 0124 5B68 ldr r3, [r3, #4] 219 0126 03F48063 and r3, r3, #1024 220 012a 002B cmp r3, #0 221 012c 0CBF ite eq 222 012e 0123 moveq r3, #1 223 0130 0023 movne r3, #0 224 0132 DBB2 uxtb r3, r3 225 .loc 1 221 12 226 0134 3B61 str r3, [r7, #16] 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if((hadc->Instance == ADC1) && tmp1 && tmp2) 227 .loc 1 222 15 228 0136 7B68 ldr r3, [r7, #4] 229 0138 1B68 ldr r3, [r3] 230 .loc 1 222 9 231 013a 154A ldr r2, .L11+12 232 013c 9342 cmp r3, r2 233 013e 1AD1 bne .L10 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 9 234 .loc 1 222 35 discriminator 1 235 0140 7B69 ldr r3, [r7, #20] 236 0142 002B cmp r3, #0 237 0144 17D0 beq .L10 238 .loc 1 222 43 discriminator 2 239 0146 3B69 ldr r3, [r7, #16] 240 0148 002B cmp r3, #0 241 014a 14D0 beq .L10 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the selected ADC software conversion for injected group */ 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 |= ADC_CR2_JSWSTART; 242 .loc 1 225 13 243 014c 7B68 ldr r3, [r7, #4] 244 014e 1B68 ldr r3, [r3] 245 .loc 1 225 29 246 0150 9A68 ldr r2, [r3, #8] 247 .loc 1 225 13 248 0152 7B68 ldr r3, [r7, #4] 249 0154 1B68 ldr r3, [r3] 250 .loc 1 225 29 251 0156 42F48002 orr r2, r2, #4194304 252 015a 9A60 str r2, [r3, #8] 253 015c 0BE0 b .L10 254 .L7: 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Update ADC state machine to error */ 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 255 .loc 1 232 5 256 015e 7B68 ldr r3, [r7, #4] 257 0160 1B6C ldr r3, [r3, #64] 258 0162 43F01002 orr r2, r3, #16 259 0166 7B68 ldr r3, [r7, #4] 260 0168 1A64 str r2, [r3, #64] 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC error code to ADC IP internal error */ 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 261 .loc 1 235 5 262 016a 7B68 ldr r3, [r7, #4] 263 016c 5B6C ldr r3, [r3, #68] 264 016e 43F00102 orr r2, r3, #1 265 0172 7B68 ldr r3, [r7, #4] 266 0174 5A64 str r2, [r3, #68] 267 .L10: 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return function status */ 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return HAL_OK; 268 .loc 1 239 10 269 0176 0023 movs r3, #0 270 .L3: 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 271 .loc 1 240 1 272 0178 1846 mov r0, r3 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 10 273 017a 1C37 adds r7, r7, #28 274 .LCFI3: 275 .cfi_def_cfa_offset 4 276 017c BD46 mov sp, r7 277 .LCFI4: 278 .cfi_def_cfa_register 13 279 @ sp needed 280 017e 5DF8047B ldr r7, [sp], #4 281 .LCFI5: 282 .cfi_restore 7 283 .cfi_def_cfa_offset 0 284 0182 7047 bx lr 285 .L12: 286 .align 2 287 .L11: 288 0184 00000000 .word SystemCoreClock 289 0188 83DE1B43 .word 1125899907 290 018c 00230140 .word 1073816320 291 0190 00200140 .word 1073815552 292 .cfi_endproc 293 .LFE235: 295 .section .text.HAL_ADCEx_InjectedStart_IT,"ax",%progbits 296 .align 1 297 .global HAL_ADCEx_InjectedStart_IT 298 .syntax unified 299 .thumb 300 .thumb_func 302 HAL_ADCEx_InjectedStart_IT: 303 .LFB236: 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Enables the interrupt and starts ADC conversion of injected channels. 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval HAL status. 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_InjectedStart_IT(ADC_HandleTypeDef* hadc) 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 304 .loc 1 250 1 305 .cfi_startproc 306 @ args = 0, pretend = 0, frame = 24 307 @ frame_needed = 1, uses_anonymous_args = 0 308 @ link register save eliminated. 309 0000 80B4 push {r7} 310 .LCFI6: 311 .cfi_def_cfa_offset 4 312 .cfi_offset 7, -4 313 0002 87B0 sub sp, sp, #28 314 .LCFI7: 315 .cfi_def_cfa_offset 32 316 0004 00AF add r7, sp, #0 317 .LCFI8: 318 .cfi_def_cfa_register 7 319 0006 7860 str r0, [r7, #4] 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __IO uint32_t counter = 0U; 320 .loc 1 251 17 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 11 321 0008 0023 movs r3, #0 322 000a BB60 str r3, [r7, #8] 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** uint32_t tmp1 = 0U, tmp2 = 0U; 323 .loc 1 252 12 324 000c 0023 movs r3, #0 325 000e 7B61 str r3, [r7, #20] 326 .loc 1 252 23 327 0010 0023 movs r3, #0 328 0012 3B61 str r3, [r7, #16] 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_Common_TypeDef *tmpADC_Common; 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process locked */ 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_LOCK(hadc); 329 .loc 1 256 3 330 0014 7B68 ldr r3, [r7, #4] 331 0016 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 332 001a 012B cmp r3, #1 333 001c 01D1 bne .L14 334 .loc 1 256 3 is_stmt 0 discriminator 1 335 001e 0223 movs r3, #2 336 0020 B2E0 b .L15 337 .L14: 338 .loc 1 256 3 discriminator 2 339 0022 7B68 ldr r3, [r7, #4] 340 0024 0122 movs r2, #1 341 0026 83F83C20 strb r2, [r3, #60] 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the ADC peripheral */ 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** Tstab time the ADC's stabilization */ 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 342 .loc 1 262 11 is_stmt 1 discriminator 2 343 002a 7B68 ldr r3, [r7, #4] 344 002c 1B68 ldr r3, [r3] 345 .loc 1 262 21 discriminator 2 346 002e 9B68 ldr r3, [r3, #8] 347 .loc 1 262 27 discriminator 2 348 0030 03F00103 and r3, r3, #1 349 .loc 1 262 5 discriminator 2 350 0034 012B cmp r3, #1 351 0036 18D0 beq .L16 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the Peripheral */ 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_ENABLE(hadc); 352 .loc 1 265 5 353 0038 7B68 ldr r3, [r7, #4] 354 003a 1B68 ldr r3, [r3] 355 003c 9A68 ldr r2, [r3, #8] 356 003e 7B68 ldr r3, [r7, #4] 357 0040 1B68 ldr r3, [r3] 358 0042 42F00102 orr r2, r2, #1 359 0046 9A60 str r2, [r3, #8] 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Delay for ADC stabilization time */ 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Compute number of CPU cycles to wait for */ 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 12 360 .loc 1 269 53 361 0048 524B ldr r3, .L23 362 004a 1B68 ldr r3, [r3] 363 004c 524A ldr r2, .L23+4 364 004e A2FB0323 umull r2, r3, r2, r3 365 0052 9A0C lsrs r2, r3, #18 366 .loc 1 269 34 367 0054 1346 mov r3, r2 368 0056 5B00 lsls r3, r3, #1 369 0058 1344 add r3, r3, r2 370 .loc 1 269 13 371 005a BB60 str r3, [r7, #8] 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(counter != 0U) 372 .loc 1 270 10 373 005c 02E0 b .L17 374 .L18: 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** counter--; 375 .loc 1 272 14 376 005e BB68 ldr r3, [r7, #8] 377 0060 013B subs r3, r3, #1 378 0062 BB60 str r3, [r7, #8] 379 .L17: 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(counter != 0U) 380 .loc 1 270 19 381 0064 BB68 ldr r3, [r7, #8] 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(counter != 0U) 382 .loc 1 270 10 383 0066 002B cmp r3, #0 384 0068 F9D1 bne .L18 385 .L16: 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Start conversion if ADC is effectively enabled */ 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 386 .loc 1 277 6 387 006a 7B68 ldr r3, [r7, #4] 388 006c 1B68 ldr r3, [r3] 389 006e 9B68 ldr r3, [r3, #8] 390 0070 03F00103 and r3, r3, #1 391 .loc 1 277 5 392 0074 012B cmp r3, #1 393 0076 7AD1 bne .L19 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC state */ 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - Clear state bitfield related to injected group conversion results */ 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - Set state bitfield related to injected operation */ 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State, 394 .loc 1 282 5 395 0078 7B68 ldr r3, [r7, #4] 396 007a 1B6C ldr r3, [r3, #64] 397 007c 23F44053 bic r3, r3, #12288 398 0080 23F00103 bic r3, r3, #1 399 0084 43F48052 orr r2, r3, #4096 400 0088 7B68 ldr r3, [r7, #4] 401 008a 1A64 str r2, [r3, #64] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 13 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_INJ_EOC, 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_INJ_BUSY); 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if a regular conversion is ongoing */ 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Note: On this device, there is no ADC error code fields related to */ 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* conversions on group injected only. In case of conversion on */ 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* going on group regular, no error code is reset. */ 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_REG_BUSY)) 402 .loc 1 290 9 403 008c 7B68 ldr r3, [r7, #4] 404 008e 1B6C ldr r3, [r3, #64] 405 0090 03F48073 and r3, r3, #256 406 .loc 1 290 8 407 0094 002B cmp r3, #0 408 0096 02D1 bne .L20 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Reset ADC all error code fields */ 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_CLEAR_ERRORCODE(hadc); 409 .loc 1 293 7 410 0098 7B68 ldr r3, [r7, #4] 411 009a 0022 movs r2, #0 412 009c 5A64 str r2, [r3, #68] 413 .L20: 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process unlocked */ 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Unlock before starting ADC conversions: in case of potential */ 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* interruption, to let the process to ADC IRQ Handler. */ 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc); 414 .loc 1 299 5 415 009e 7B68 ldr r3, [r7, #4] 416 00a0 0022 movs r2, #0 417 00a2 83F83C20 strb r2, [r3, #60] 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Clear injected group conversion flag */ 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (To ensure of no unknown state from potential previous ADC operations) */ 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC); 418 .loc 1 303 5 419 00a6 7B68 ldr r3, [r7, #4] 420 00a8 1B68 ldr r3, [r3] 421 00aa 6FF00402 mvn r2, #4 422 00ae 1A60 str r2, [r3] 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable end of conversion interrupt for injected channels */ 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_JEOC); 423 .loc 1 306 5 424 00b0 7B68 ldr r3, [r7, #4] 425 00b2 1B68 ldr r3, [r3] 426 00b4 5A68 ldr r2, [r3, #4] 427 00b6 7B68 ldr r3, [r7, #4] 428 00b8 1B68 ldr r3, [r3] 429 00ba 42F08002 orr r2, r2, #128 430 00be 5A60 str r2, [r3, #4] 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Pointer to the common control register to which is belonging hadc */ 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (Depending on STM32F4 product, there may be up to 3 ADC and 1 common */ 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* control register) */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 14 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 431 .loc 1 311 19 432 00c0 364B ldr r3, .L23+8 433 00c2 FB60 str r3, [r7, #12] 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if Multimode enabled */ 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI)) 434 .loc 1 314 8 435 00c4 FB68 ldr r3, [r7, #12] 436 00c6 5B68 ldr r3, [r3, #4] 437 00c8 03F01F03 and r3, r3, #31 438 .loc 1 314 7 439 00cc 002B cmp r3, #0 440 00ce 24D1 bne .L21 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp1 = HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_JEXTEN); 441 .loc 1 316 14 442 00d0 7B68 ldr r3, [r7, #4] 443 00d2 1B68 ldr r3, [r3] 444 00d4 9B68 ldr r3, [r3, #8] 445 00d6 03F44013 and r3, r3, #3145728 446 00da 002B cmp r3, #0 447 00dc 0CBF ite eq 448 00de 0123 moveq r3, #1 449 00e0 0023 movne r3, #0 450 00e2 DBB2 uxtb r3, r3 451 .loc 1 316 12 452 00e4 7B61 str r3, [r7, #20] 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp2 = HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO); 453 .loc 1 317 14 454 00e6 7B68 ldr r3, [r7, #4] 455 00e8 1B68 ldr r3, [r3] 456 00ea 5B68 ldr r3, [r3, #4] 457 00ec 03F48063 and r3, r3, #1024 458 00f0 002B cmp r3, #0 459 00f2 0CBF ite eq 460 00f4 0123 moveq r3, #1 461 00f6 0023 movne r3, #0 462 00f8 DBB2 uxtb r3, r3 463 .loc 1 317 12 464 00fa 3B61 str r3, [r7, #16] 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(tmp1 && tmp2) 465 .loc 1 318 9 466 00fc 7B69 ldr r3, [r7, #20] 467 00fe 002B cmp r3, #0 468 0100 41D0 beq .L22 469 .loc 1 318 15 discriminator 1 470 0102 3B69 ldr r3, [r7, #16] 471 0104 002B cmp r3, #0 472 0106 3ED0 beq .L22 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the selected ADC software conversion for injected group */ 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 |= ADC_CR2_JSWSTART; 473 .loc 1 321 13 474 0108 7B68 ldr r3, [r7, #4] 475 010a 1B68 ldr r3, [r3] 476 .loc 1 321 29 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 15 477 010c 9A68 ldr r2, [r3, #8] 478 .loc 1 321 13 479 010e 7B68 ldr r3, [r7, #4] 480 0110 1B68 ldr r3, [r3] 481 .loc 1 321 29 482 0112 42F48002 orr r2, r2, #4194304 483 0116 9A60 str r2, [r3, #8] 484 0118 35E0 b .L22 485 .L21: 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp1 = HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_JEXTEN); 486 .loc 1 326 14 487 011a 7B68 ldr r3, [r7, #4] 488 011c 1B68 ldr r3, [r3] 489 011e 9B68 ldr r3, [r3, #8] 490 0120 03F44013 and r3, r3, #3145728 491 0124 002B cmp r3, #0 492 0126 0CBF ite eq 493 0128 0123 moveq r3, #1 494 012a 0023 movne r3, #0 495 012c DBB2 uxtb r3, r3 496 .loc 1 326 12 497 012e 7B61 str r3, [r7, #20] 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp2 = HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO); 498 .loc 1 327 14 499 0130 7B68 ldr r3, [r7, #4] 500 0132 1B68 ldr r3, [r3] 501 0134 5B68 ldr r3, [r3, #4] 502 0136 03F48063 and r3, r3, #1024 503 013a 002B cmp r3, #0 504 013c 0CBF ite eq 505 013e 0123 moveq r3, #1 506 0140 0023 movne r3, #0 507 0142 DBB2 uxtb r3, r3 508 .loc 1 327 12 509 0144 3B61 str r3, [r7, #16] 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if((hadc->Instance == ADC1) && tmp1 && tmp2) 510 .loc 1 328 15 511 0146 7B68 ldr r3, [r7, #4] 512 0148 1B68 ldr r3, [r3] 513 .loc 1 328 9 514 014a 154A ldr r2, .L23+12 515 014c 9342 cmp r3, r2 516 014e 1AD1 bne .L22 517 .loc 1 328 35 discriminator 1 518 0150 7B69 ldr r3, [r7, #20] 519 0152 002B cmp r3, #0 520 0154 17D0 beq .L22 521 .loc 1 328 43 discriminator 2 522 0156 3B69 ldr r3, [r7, #16] 523 0158 002B cmp r3, #0 524 015a 14D0 beq .L22 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the selected ADC software conversion for injected group */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 16 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 |= ADC_CR2_JSWSTART; 525 .loc 1 331 13 526 015c 7B68 ldr r3, [r7, #4] 527 015e 1B68 ldr r3, [r3] 528 .loc 1 331 29 529 0160 9A68 ldr r2, [r3, #8] 530 .loc 1 331 13 531 0162 7B68 ldr r3, [r7, #4] 532 0164 1B68 ldr r3, [r3] 533 .loc 1 331 29 534 0166 42F48002 orr r2, r2, #4194304 535 016a 9A60 str r2, [r3, #8] 536 016c 0BE0 b .L22 537 .L19: 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Update ADC state machine to error */ 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 538 .loc 1 338 5 539 016e 7B68 ldr r3, [r7, #4] 540 0170 1B6C ldr r3, [r3, #64] 541 0172 43F01002 orr r2, r3, #16 542 0176 7B68 ldr r3, [r7, #4] 543 0178 1A64 str r2, [r3, #64] 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC error code to ADC IP internal error */ 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 544 .loc 1 341 5 545 017a 7B68 ldr r3, [r7, #4] 546 017c 5B6C ldr r3, [r3, #68] 547 017e 43F00102 orr r2, r3, #1 548 0182 7B68 ldr r3, [r7, #4] 549 0184 5A64 str r2, [r3, #68] 550 .L22: 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return function status */ 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return HAL_OK; 551 .loc 1 345 10 552 0186 0023 movs r3, #0 553 .L15: 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 554 .loc 1 346 1 555 0188 1846 mov r0, r3 556 018a 1C37 adds r7, r7, #28 557 .LCFI9: 558 .cfi_def_cfa_offset 4 559 018c BD46 mov sp, r7 560 .LCFI10: 561 .cfi_def_cfa_register 13 562 @ sp needed 563 018e 5DF8047B ldr r7, [sp], #4 564 .LCFI11: 565 .cfi_restore 7 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 17 566 .cfi_def_cfa_offset 0 567 0192 7047 bx lr 568 .L24: 569 .align 2 570 .L23: 571 0194 00000000 .word SystemCoreClock 572 0198 83DE1B43 .word 1125899907 573 019c 00230140 .word 1073816320 574 01a0 00200140 .word 1073815552 575 .cfi_endproc 576 .LFE236: 578 .section .text.HAL_ADCEx_InjectedStop,"ax",%progbits 579 .align 1 580 .global HAL_ADCEx_InjectedStop 581 .syntax unified 582 .thumb 583 .thumb_func 585 HAL_ADCEx_InjectedStop: 586 .LFB237: 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Stop conversion of injected channels. Disable ADC peripheral if 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * no regular conversion is on going. 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @note If ADC must be disabled and if conversion is on going on 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * regular group, function HAL_ADC_Stop must be used to stop both 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * injected and regular groups, and disable the ADC. 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @note If injected group mode auto-injection is enabled, 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * function HAL_ADC_Stop must be used. 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @note In case of auto-injection mode, HAL_ADC_Stop must be used. 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc ADC handle 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval None 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_InjectedStop(ADC_HandleTypeDef* hadc) 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 587 .loc 1 361 1 588 .cfi_startproc 589 @ args = 0, pretend = 0, frame = 16 590 @ frame_needed = 1, uses_anonymous_args = 0 591 @ link register save eliminated. 592 0000 80B4 push {r7} 593 .LCFI12: 594 .cfi_def_cfa_offset 4 595 .cfi_offset 7, -4 596 0002 85B0 sub sp, sp, #20 597 .LCFI13: 598 .cfi_def_cfa_offset 24 599 0004 00AF add r7, sp, #0 600 .LCFI14: 601 .cfi_def_cfa_register 7 602 0006 7860 str r0, [r7, #4] 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 603 .loc 1 362 21 604 0008 0023 movs r3, #0 605 000a FB73 strb r3, [r7, #15] 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check the parameters */ 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 18 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process locked */ 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_LOCK(hadc); 606 .loc 1 368 3 607 000c 7B68 ldr r3, [r7, #4] 608 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 609 0012 012B cmp r3, #1 610 0014 01D1 bne .L26 611 .loc 1 368 3 is_stmt 0 discriminator 1 612 0016 0223 movs r3, #2 613 0018 37E0 b .L27 614 .L26: 615 .loc 1 368 3 discriminator 2 616 001a 7B68 ldr r3, [r7, #4] 617 001c 0122 movs r2, #1 618 001e 83F83C20 strb r2, [r3, #60] 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Stop potential conversion and disable ADC peripheral */ 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Conditioned to: */ 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - No conversion on the other group (regular group) is intended to */ 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* continue (injected and regular groups stop conversion and ADC disable */ 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* are common) */ 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - In case of auto-injection mode, HAL_ADC_Stop must be used. */ 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(((hadc->State & HAL_ADC_STATE_REG_BUSY) == RESET) && 619 .loc 1 376 12 is_stmt 1 discriminator 2 620 0022 7B68 ldr r3, [r7, #4] 621 0024 1B6C ldr r3, [r3, #64] 622 .loc 1 376 20 discriminator 2 623 0026 03F48073 and r3, r3, #256 624 .loc 1 376 5 discriminator 2 625 002a 002B cmp r3, #0 626 002c 20D1 bne .L28 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) ) 627 .loc 1 377 6 discriminator 1 628 002e 7B68 ldr r3, [r7, #4] 629 0030 1B68 ldr r3, [r3] 630 0032 5B68 ldr r3, [r3, #4] 631 0034 03F48063 and r3, r3, #1024 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) ) 632 .loc 1 376 57 discriminator 1 633 0038 002B cmp r3, #0 634 003a 19D1 bne .L28 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Stop potential conversion on going, on regular and injected groups */ 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable ADC peripheral */ 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_DISABLE(hadc); 635 .loc 1 381 5 636 003c 7B68 ldr r3, [r7, #4] 637 003e 1B68 ldr r3, [r3] 638 0040 9A68 ldr r2, [r3, #8] 639 0042 7B68 ldr r3, [r7, #4] 640 0044 1B68 ldr r3, [r3] 641 0046 22F00102 bic r2, r2, #1 642 004a 9A60 str r2, [r3, #8] 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if ADC is effectively disabled */ 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 19 643 .loc 1 384 8 644 004c 7B68 ldr r3, [r7, #4] 645 004e 1B68 ldr r3, [r3] 646 0050 9B68 ldr r3, [r3, #8] 647 0052 03F00103 and r3, r3, #1 648 .loc 1 384 7 649 0056 002B cmp r3, #0 650 0058 12D1 bne .L30 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC state */ 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State, 651 .loc 1 387 7 652 005a 7B68 ldr r3, [r7, #4] 653 005c 1B6C ldr r3, [r3, #64] 654 005e 23F48853 bic r3, r3, #4352 655 0062 23F00103 bic r3, r3, #1 656 0066 43F00102 orr r2, r3, #1 657 006a 7B68 ldr r3, [r7, #4] 658 006c 1A64 str r2, [r3, #64] 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 659 .loc 1 384 7 660 006e 07E0 b .L30 661 .L28: 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_READY); 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Update ADC state machine to error */ 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 662 .loc 1 395 5 663 0070 7B68 ldr r3, [r7, #4] 664 0072 1B6C ldr r3, [r3, #64] 665 0074 43F02002 orr r2, r3, #32 666 0078 7B68 ldr r3, [r7, #4] 667 007a 1A64 str r2, [r3, #64] 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp_hal_status = HAL_ERROR; 668 .loc 1 397 20 669 007c 0123 movs r3, #1 670 007e FB73 strb r3, [r7, #15] 671 .L30: 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process unlocked */ 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc); 672 .loc 1 401 3 673 0080 7B68 ldr r3, [r7, #4] 674 0082 0022 movs r2, #0 675 0084 83F83C20 strb r2, [r3, #60] 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return function status */ 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return tmp_hal_status; 676 .loc 1 404 10 677 0088 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 678 .L27: ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 20 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 679 .loc 1 405 1 680 008a 1846 mov r0, r3 681 008c 1437 adds r7, r7, #20 682 .LCFI15: 683 .cfi_def_cfa_offset 4 684 008e BD46 mov sp, r7 685 .LCFI16: 686 .cfi_def_cfa_register 13 687 @ sp needed 688 0090 5DF8047B ldr r7, [sp], #4 689 .LCFI17: 690 .cfi_restore 7 691 .cfi_def_cfa_offset 0 692 0094 7047 bx lr 693 .cfi_endproc 694 .LFE237: 696 .section .text.HAL_ADCEx_InjectedPollForConversion,"ax",%progbits 697 .align 1 698 .global HAL_ADCEx_InjectedPollForConversion 699 .syntax unified 700 .thumb 701 .thumb_func 703 HAL_ADCEx_InjectedPollForConversion: 704 .LFB238: 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Poll for injected conversion complete 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param Timeout Timeout value in millisecond. 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval HAL status 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_InjectedPollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 705 .loc 1 415 1 706 .cfi_startproc 707 @ args = 0, pretend = 0, frame = 16 708 @ frame_needed = 1, uses_anonymous_args = 0 709 0000 80B5 push {r7, lr} 710 .LCFI18: 711 .cfi_def_cfa_offset 8 712 .cfi_offset 7, -8 713 .cfi_offset 14, -4 714 0002 84B0 sub sp, sp, #16 715 .LCFI19: 716 .cfi_def_cfa_offset 24 717 0004 00AF add r7, sp, #0 718 .LCFI20: 719 .cfi_def_cfa_register 7 720 0006 7860 str r0, [r7, #4] 721 0008 3960 str r1, [r7] 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** uint32_t tickstart = 0U; 722 .loc 1 416 12 723 000a 0023 movs r3, #0 724 000c FB60 str r3, [r7, #12] 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 21 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Get tick */ 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tickstart = HAL_GetTick(); 725 .loc 1 419 15 726 000e FFF7FEFF bl HAL_GetTick 727 0012 F860 str r0, [r7, #12] 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check End of conversion flag */ 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOC))) 728 .loc 1 422 8 729 0014 1EE0 b .L32 730 .L35: 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check for the Timeout */ 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(Timeout != HAL_MAX_DELAY) 731 .loc 1 425 7 732 0016 3B68 ldr r3, [r7] 733 0018 B3F1FF3F cmp r3, #-1 734 001c 1AD0 beq .L32 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) 735 .loc 1 427 9 736 001e 3B68 ldr r3, [r7] 737 0020 002B cmp r3, #0 738 0022 07D0 beq .L33 739 .loc 1 427 29 discriminator 1 740 0024 FFF7FEFF bl HAL_GetTick 741 0028 0246 mov r2, r0 742 .loc 1 427 43 discriminator 1 743 002a FB68 ldr r3, [r7, #12] 744 002c D31A subs r3, r2, r3 745 .loc 1 427 25 discriminator 1 746 002e 3A68 ldr r2, [r7] 747 0030 9A42 cmp r2, r3 748 0032 0FD2 bcs .L32 749 .L33: 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* New check to avoid false timeout detection in case of preemption */ 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOC))) 750 .loc 1 430 14 751 0034 7B68 ldr r3, [r7, #4] 752 0036 1B68 ldr r3, [r3] 753 0038 1B68 ldr r3, [r3] 754 003a 03F00403 and r3, r3, #4 755 .loc 1 430 11 756 003e 042B cmp r3, #4 757 0040 08D0 beq .L32 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->State= HAL_ADC_STATE_TIMEOUT; 758 .loc 1 432 22 759 0042 7B68 ldr r3, [r7, #4] 760 0044 0422 movs r2, #4 761 0046 1A64 str r2, [r3, #64] 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process unlocked */ 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc); 762 .loc 1 434 11 763 0048 7B68 ldr r3, [r7, #4] 764 004a 0022 movs r2, #0 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 22 765 004c 83F83C20 strb r2, [r3, #60] 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return HAL_TIMEOUT; 766 .loc 1 435 18 767 0050 0323 movs r3, #3 768 0052 4BE0 b .L34 769 .L32: 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 770 .loc 1 422 11 771 0054 7B68 ldr r3, [r7, #4] 772 0056 1B68 ldr r3, [r3] 773 0058 1B68 ldr r3, [r3] 774 005a 03F00403 and r3, r3, #4 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 775 .loc 1 422 8 776 005e 042B cmp r3, #4 777 0060 D9D1 bne .L35 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Clear injected group conversion flag */ 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JSTRT | ADC_FLAG_JEOC); 778 .loc 1 442 3 779 0062 7B68 ldr r3, [r7, #4] 780 0064 1B68 ldr r3, [r3] 781 0066 6FF00C02 mvn r2, #12 782 006a 1A60 str r2, [r3] 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Update ADC state machine */ 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); 783 .loc 1 445 3 784 006c 7B68 ldr r3, [r7, #4] 785 006e 1B6C ldr r3, [r3, #64] 786 0070 43F40052 orr r2, r3, #8192 787 0074 7B68 ldr r3, [r7, #4] 788 0076 1A64 str r2, [r3, #64] 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Determine whether any further conversion upcoming on group injected */ 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* by external trigger, continuous mode or scan sequence on going. */ 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */ 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* The test of scan sequence on going is done either with scan */ 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* sequence disabled or with end of conversion flag set to */ 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* of end of sequence. */ 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(ADC_IS_SOFTWARE_START_INJECTED(hadc) && 789 .loc 1 453 6 790 0078 7B68 ldr r3, [r7, #4] 791 007a 1B68 ldr r3, [r3] 792 007c 9B68 ldr r3, [r3, #8] 793 007e 03F44013 and r3, r3, #3145728 794 .loc 1 453 5 795 0082 002B cmp r3, #0 796 0084 31D1 bne .L36 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 797 .loc 1 454 7 discriminator 1 798 0086 7B68 ldr r3, [r7, #4] 799 0088 1B68 ldr r3, [r3] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 23 800 008a 9B6B ldr r3, [r3, #56] 801 008c 03F44013 and r3, r3, #3145728 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 802 .loc 1 453 62 discriminator 1 803 0090 002B cmp r3, #0 804 0092 06D0 beq .L37 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) && 805 .loc 1 455 7 806 0094 7B68 ldr r3, [r7, #4] 807 0096 1B68 ldr r3, [r3] 808 0098 9B68 ldr r3, [r3, #8] 809 009a 03F48063 and r3, r3, #1024 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 810 .loc 1 454 58 811 009e 002B cmp r3, #0 812 00a0 23D1 bne .L36 813 .L37: 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) && 814 .loc 1 456 7 815 00a2 7B68 ldr r3, [r7, #4] 816 00a4 1B68 ldr r3, [r3] 817 00a6 5B68 ldr r3, [r3, #4] 818 00a8 03F48063 and r3, r3, #1024 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) && 819 .loc 1 455 62 820 00ac 002B cmp r3, #0 821 00ae 1CD1 bne .L36 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) && 822 .loc 1 457 8 823 00b0 7B68 ldr r3, [r7, #4] 824 00b2 1B68 ldr r3, [r3] 825 00b4 9B68 ldr r3, [r3, #8] 826 00b6 03F04053 and r3, r3, #805306368 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) && 827 .loc 1 456 58 828 00ba 002B cmp r3, #0 829 00bc 15D1 bne .L36 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) ) ) 830 .loc 1 458 18 831 00be 7B68 ldr r3, [r7, #4] 832 00c0 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) && 833 .loc 1 457 50 834 00c2 002B cmp r3, #0 835 00c4 11D1 bne .L36 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC state */ 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); 836 .loc 1 461 5 837 00c6 7B68 ldr r3, [r7, #4] 838 00c8 1B6C ldr r3, [r3, #64] 839 00ca 23F48052 bic r2, r3, #4096 840 00ce 7B68 ldr r3, [r7, #4] 841 00d0 1A64 str r2, [r3, #64] 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_REG_BUSY)) 842 .loc 1 463 9 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 24 843 00d2 7B68 ldr r3, [r7, #4] 844 00d4 1B6C ldr r3, [r3, #64] 845 00d6 03F48073 and r3, r3, #256 846 .loc 1 463 8 847 00da 002B cmp r3, #0 848 00dc 05D1 bne .L36 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 849 .loc 1 465 7 850 00de 7B68 ldr r3, [r7, #4] 851 00e0 1B6C ldr r3, [r3, #64] 852 00e2 43F00102 orr r2, r3, #1 853 00e6 7B68 ldr r3, [r7, #4] 854 00e8 1A64 str r2, [r3, #64] 855 .L36: 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return ADC state */ 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return HAL_OK; 856 .loc 1 470 10 857 00ea 0023 movs r3, #0 858 .L34: 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 859 .loc 1 471 1 860 00ec 1846 mov r0, r3 861 00ee 1037 adds r7, r7, #16 862 .LCFI21: 863 .cfi_def_cfa_offset 8 864 00f0 BD46 mov sp, r7 865 .LCFI22: 866 .cfi_def_cfa_register 13 867 @ sp needed 868 00f2 80BD pop {r7, pc} 869 .cfi_endproc 870 .LFE238: 872 .section .text.HAL_ADCEx_InjectedStop_IT,"ax",%progbits 873 .align 1 874 .global HAL_ADCEx_InjectedStop_IT 875 .syntax unified 876 .thumb 877 .thumb_func 879 HAL_ADCEx_InjectedStop_IT: 880 .LFB239: 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Stop conversion of injected channels, disable interruption of 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * end-of-conversion. Disable ADC peripheral if no regular conversion 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * is on going. 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @note If ADC must be disabled and if conversion is on going on 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * regular group, function HAL_ADC_Stop must be used to stop both 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * injected and regular groups, and disable the ADC. 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @note If injected group mode auto-injection is enabled, 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * function HAL_ADC_Stop must be used. 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc ADC handle 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval None 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 25 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_InjectedStop_IT(ADC_HandleTypeDef* hadc) 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 881 .loc 1 486 1 882 .cfi_startproc 883 @ args = 0, pretend = 0, frame = 16 884 @ frame_needed = 1, uses_anonymous_args = 0 885 @ link register save eliminated. 886 0000 80B4 push {r7} 887 .LCFI23: 888 .cfi_def_cfa_offset 4 889 .cfi_offset 7, -4 890 0002 85B0 sub sp, sp, #20 891 .LCFI24: 892 .cfi_def_cfa_offset 24 893 0004 00AF add r7, sp, #0 894 .LCFI25: 895 .cfi_def_cfa_register 7 896 0006 7860 str r0, [r7, #4] 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 897 .loc 1 487 21 898 0008 0023 movs r3, #0 899 000a FB73 strb r3, [r7, #15] 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check the parameters */ 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process locked */ 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_LOCK(hadc); 900 .loc 1 493 3 901 000c 7B68 ldr r3, [r7, #4] 902 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 903 0012 012B cmp r3, #1 904 0014 01D1 bne .L39 905 .loc 1 493 3 is_stmt 0 discriminator 1 906 0016 0223 movs r3, #2 907 0018 3FE0 b .L40 908 .L39: 909 .loc 1 493 3 discriminator 2 910 001a 7B68 ldr r3, [r7, #4] 911 001c 0122 movs r2, #1 912 001e 83F83C20 strb r2, [r3, #60] 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Stop potential conversion and disable ADC peripheral */ 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Conditioned to: */ 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - No conversion on the other group (regular group) is intended to */ 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* continue (injected and regular groups stop conversion and ADC disable */ 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* are common) */ 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - In case of auto-injection mode, HAL_ADC_Stop must be used. */ 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(((hadc->State & HAL_ADC_STATE_REG_BUSY) == RESET) && 913 .loc 1 501 12 is_stmt 1 discriminator 2 914 0022 7B68 ldr r3, [r7, #4] 915 0024 1B6C ldr r3, [r3, #64] 916 .loc 1 501 20 discriminator 2 917 0026 03F48073 and r3, r3, #256 918 .loc 1 501 5 discriminator 2 919 002a 002B cmp r3, #0 920 002c 28D1 bne .L41 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 26 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) ) 921 .loc 1 502 6 discriminator 1 922 002e 7B68 ldr r3, [r7, #4] 923 0030 1B68 ldr r3, [r3] 924 0032 5B68 ldr r3, [r3, #4] 925 0034 03F48063 and r3, r3, #1024 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) ) 926 .loc 1 501 57 discriminator 1 927 0038 002B cmp r3, #0 928 003a 21D1 bne .L41 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Stop potential conversion on going, on regular and injected groups */ 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable ADC peripheral */ 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_DISABLE(hadc); 929 .loc 1 506 5 930 003c 7B68 ldr r3, [r7, #4] 931 003e 1B68 ldr r3, [r3] 932 0040 9A68 ldr r2, [r3, #8] 933 0042 7B68 ldr r3, [r7, #4] 934 0044 1B68 ldr r3, [r3] 935 0046 22F00102 bic r2, r2, #1 936 004a 9A60 str r2, [r3, #8] 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if ADC is effectively disabled */ 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 937 .loc 1 509 8 938 004c 7B68 ldr r3, [r7, #4] 939 004e 1B68 ldr r3, [r3] 940 0050 9B68 ldr r3, [r3, #8] 941 0052 03F00103 and r3, r3, #1 942 .loc 1 509 7 943 0056 002B cmp r3, #0 944 0058 1AD1 bne .L43 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable ADC end of conversion interrupt for injected channels */ 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); 945 .loc 1 512 7 946 005a 7B68 ldr r3, [r7, #4] 947 005c 1B68 ldr r3, [r3] 948 005e 5A68 ldr r2, [r3, #4] 949 0060 7B68 ldr r3, [r7, #4] 950 0062 1B68 ldr r3, [r3] 951 0064 22F08002 bic r2, r2, #128 952 0068 5A60 str r2, [r3, #4] 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC state */ 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State, 953 .loc 1 515 7 954 006a 7B68 ldr r3, [r7, #4] 955 006c 1B6C ldr r3, [r3, #64] 956 006e 23F48853 bic r3, r3, #4352 957 0072 23F00103 bic r3, r3, #1 958 0076 43F00102 orr r2, r3, #1 959 007a 7B68 ldr r3, [r7, #4] 960 007c 1A64 str r2, [r3, #64] 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 961 .loc 1 509 7 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 27 962 007e 07E0 b .L43 963 .L41: 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_READY); 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Update ADC state machine to error */ 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 964 .loc 1 523 5 965 0080 7B68 ldr r3, [r7, #4] 966 0082 1B6C ldr r3, [r3, #64] 967 0084 43F02002 orr r2, r3, #32 968 0088 7B68 ldr r3, [r7, #4] 969 008a 1A64 str r2, [r3, #64] 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp_hal_status = HAL_ERROR; 970 .loc 1 525 20 971 008c 0123 movs r3, #1 972 008e FB73 strb r3, [r7, #15] 973 .L43: 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process unlocked */ 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc); 974 .loc 1 529 3 975 0090 7B68 ldr r3, [r7, #4] 976 0092 0022 movs r2, #0 977 0094 83F83C20 strb r2, [r3, #60] 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return function status */ 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return tmp_hal_status; 978 .loc 1 532 10 979 0098 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 980 .L40: 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 981 .loc 1 533 1 982 009a 1846 mov r0, r3 983 009c 1437 adds r7, r7, #20 984 .LCFI26: 985 .cfi_def_cfa_offset 4 986 009e BD46 mov sp, r7 987 .LCFI27: 988 .cfi_def_cfa_register 13 989 @ sp needed 990 00a0 5DF8047B ldr r7, [sp], #4 991 .LCFI28: 992 .cfi_restore 7 993 .cfi_def_cfa_offset 0 994 00a4 7047 bx lr 995 .cfi_endproc 996 .LFE239: 998 .section .text.HAL_ADCEx_InjectedGetValue,"ax",%progbits 999 .align 1 1000 .global HAL_ADCEx_InjectedGetValue 1001 .syntax unified ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 28 1002 .thumb 1003 .thumb_func 1005 HAL_ADCEx_InjectedGetValue: 1006 .LFB240: 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Gets the converted value from data register of injected channel. 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param InjectedRank the ADC injected rank. 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * This parameter can be one of the following values: 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @arg ADC_INJECTED_RANK_1: Injected Channel1 selected 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @arg ADC_INJECTED_RANK_2: Injected Channel2 selected 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @arg ADC_INJECTED_RANK_3: Injected Channel3 selected 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @arg ADC_INJECTED_RANK_4: Injected Channel4 selected 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval None 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** uint32_t HAL_ADCEx_InjectedGetValue(ADC_HandleTypeDef* hadc, uint32_t InjectedRank) 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 1007 .loc 1 548 1 1008 .cfi_startproc 1009 @ args = 0, pretend = 0, frame = 16 1010 @ frame_needed = 1, uses_anonymous_args = 0 1011 @ link register save eliminated. 1012 0000 80B4 push {r7} 1013 .LCFI29: 1014 .cfi_def_cfa_offset 4 1015 .cfi_offset 7, -4 1016 0002 85B0 sub sp, sp, #20 1017 .LCFI30: 1018 .cfi_def_cfa_offset 24 1019 0004 00AF add r7, sp, #0 1020 .LCFI31: 1021 .cfi_def_cfa_register 7 1022 0006 7860 str r0, [r7, #4] 1023 0008 3960 str r1, [r7] 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __IO uint32_t tmp = 0U; 1024 .loc 1 549 17 1025 000a 0023 movs r3, #0 1026 000c FB60 str r3, [r7, #12] 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check the parameters */ 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_INJECTED_RANK(InjectedRank)); 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Clear injected group conversion flag to have similar behaviour as */ 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* regular group: reading data register also clears end of conversion flag. */ 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_JEOC); 1027 .loc 1 556 3 1028 000e 7B68 ldr r3, [r7, #4] 1029 0010 1B68 ldr r3, [r3] 1030 0012 6FF00402 mvn r2, #4 1031 0016 1A60 str r2, [r3] 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return the selected ADC converted value */ 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** switch(InjectedRank) 1032 .loc 1 559 3 1033 0018 3B68 ldr r3, [r7] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 29 1034 001a 013B subs r3, r3, #1 1035 001c 032B cmp r3, #3 1036 001e 1FD8 bhi .L53 1037 0020 01A2 adr r2, .L47 1038 0022 52F823F0 ldr pc, [r2, r3, lsl #2] 1039 0026 00BF .p2align 2 1040 .L47: 1041 0028 57000000 .word .L50+1 1042 002c 4D000000 .word .L49+1 1043 0030 43000000 .word .L48+1 1044 0034 39000000 .word .L46+1 1045 .p2align 1 1046 .L46: 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** case ADC_INJECTED_RANK_4: 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp = hadc->Instance->JDR4; 1047 .loc 1 563 18 1048 0038 7B68 ldr r3, [r7, #4] 1049 003a 1B68 ldr r3, [r3] 1050 .loc 1 563 28 1051 003c 9B6C ldr r3, [r3, #72] 1052 .loc 1 563 11 1053 003e FB60 str r3, [r7, #12] 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** break; 1054 .loc 1 565 5 1055 0040 0FE0 b .L51 1056 .L48: 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** case ADC_INJECTED_RANK_3: 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp = hadc->Instance->JDR3; 1057 .loc 1 568 18 1058 0042 7B68 ldr r3, [r7, #4] 1059 0044 1B68 ldr r3, [r3] 1060 .loc 1 568 28 1061 0046 5B6C ldr r3, [r3, #68] 1062 .loc 1 568 11 1063 0048 FB60 str r3, [r7, #12] 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** break; 1064 .loc 1 570 5 1065 004a 0AE0 b .L51 1066 .L49: 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** case ADC_INJECTED_RANK_2: 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp = hadc->Instance->JDR2; 1067 .loc 1 573 18 1068 004c 7B68 ldr r3, [r7, #4] 1069 004e 1B68 ldr r3, [r3] 1070 .loc 1 573 28 1071 0050 1B6C ldr r3, [r3, #64] 1072 .loc 1 573 11 1073 0052 FB60 str r3, [r7, #12] 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** break; 1074 .loc 1 575 5 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 30 1075 0054 05E0 b .L51 1076 .L50: 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** case ADC_INJECTED_RANK_1: 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp = hadc->Instance->JDR1; 1077 .loc 1 578 18 1078 0056 7B68 ldr r3, [r7, #4] 1079 0058 1B68 ldr r3, [r3] 1080 .loc 1 578 28 1081 005a DB6B ldr r3, [r3, #60] 1082 .loc 1 578 11 1083 005c FB60 str r3, [r7, #12] 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** break; 1084 .loc 1 580 5 1085 005e 00E0 b .L51 1086 .L53: 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** default: 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** break; 1087 .loc 1 582 5 1088 0060 00BF nop 1089 .L51: 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return tmp; 1090 .loc 1 584 10 1091 0062 FB68 ldr r3, [r7, #12] 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 1092 .loc 1 585 1 1093 0064 1846 mov r0, r3 1094 0066 1437 adds r7, r7, #20 1095 .LCFI32: 1096 .cfi_def_cfa_offset 4 1097 0068 BD46 mov sp, r7 1098 .LCFI33: 1099 .cfi_def_cfa_register 13 1100 @ sp needed 1101 006a 5DF8047B ldr r7, [sp], #4 1102 .LCFI34: 1103 .cfi_restore 7 1104 .cfi_def_cfa_offset 0 1105 006e 7047 bx lr 1106 .cfi_endproc 1107 .LFE240: 1109 .section .text.HAL_ADCEx_MultiModeStart_DMA,"ax",%progbits 1110 .align 1 1111 .global HAL_ADCEx_MultiModeStart_DMA 1112 .syntax unified 1113 .thumb 1114 .thumb_func 1116 HAL_ADCEx_MultiModeStart_DMA: 1117 .LFB241: 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Enables ADC DMA request after last transfer (Multi-ADC mode) and enables ADC peripheral 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @note Caution: This function must be used only with the ADC master. 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 31 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param pData Pointer to buffer in which transferred from ADC peripheral to memory will be st 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param Length The length of data to be transferred from ADC peripheral to memory. 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval HAL status 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_MultiModeStart_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t L 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 1118 .loc 1 599 1 1119 .cfi_startproc 1120 @ args = 0, pretend = 0, frame = 24 1121 @ frame_needed = 1, uses_anonymous_args = 0 1122 0000 80B5 push {r7, lr} 1123 .LCFI35: 1124 .cfi_def_cfa_offset 8 1125 .cfi_offset 7, -8 1126 .cfi_offset 14, -4 1127 0002 86B0 sub sp, sp, #24 1128 .LCFI36: 1129 .cfi_def_cfa_offset 32 1130 0004 00AF add r7, sp, #0 1131 .LCFI37: 1132 .cfi_def_cfa_register 7 1133 0006 F860 str r0, [r7, #12] 1134 0008 B960 str r1, [r7, #8] 1135 000a 7A60 str r2, [r7, #4] 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __IO uint32_t counter = 0U; 1136 .loc 1 600 17 1137 000c 0023 movs r3, #0 1138 000e 3B61 str r3, [r7, #16] 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_Common_TypeDef *tmpADC_Common; 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check the parameters */ 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process locked */ 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_LOCK(hadc); 1139 .loc 1 609 3 1140 0010 FB68 ldr r3, [r7, #12] 1141 0012 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 1142 0016 012B cmp r3, #1 1143 0018 01D1 bne .L55 1144 .loc 1 609 3 is_stmt 0 discriminator 1 1145 001a 0223 movs r3, #2 1146 001c ABE0 b .L56 1147 .L55: 1148 .loc 1 609 3 discriminator 2 1149 001e FB68 ldr r3, [r7, #12] 1150 0020 0122 movs r2, #1 1151 0022 83F83C20 strb r2, [r3, #60] 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** Tstab time the ADC's stabilization */ 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 1152 .loc 1 613 11 is_stmt 1 discriminator 2 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 32 1153 0026 FB68 ldr r3, [r7, #12] 1154 0028 1B68 ldr r3, [r3] 1155 .loc 1 613 21 discriminator 2 1156 002a 9B68 ldr r3, [r3, #8] 1157 .loc 1 613 27 discriminator 2 1158 002c 03F00103 and r3, r3, #1 1159 .loc 1 613 5 discriminator 2 1160 0030 012B cmp r3, #1 1161 0032 18D0 beq .L57 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the Peripheral */ 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_ENABLE(hadc); 1162 .loc 1 616 5 1163 0034 FB68 ldr r3, [r7, #12] 1164 0036 1B68 ldr r3, [r3] 1165 0038 9A68 ldr r2, [r3, #8] 1166 003a FB68 ldr r3, [r7, #12] 1167 003c 1B68 ldr r3, [r3] 1168 003e 42F00102 orr r2, r2, #1 1169 0042 9A60 str r2, [r3, #8] 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Delay for temperature sensor stabilization time */ 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Compute number of CPU cycles to wait for */ 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); 1170 .loc 1 620 53 1171 0044 4E4B ldr r3, .L67 1172 0046 1B68 ldr r3, [r3] 1173 0048 4E4A ldr r2, .L67+4 1174 004a A2FB0323 umull r2, r3, r2, r3 1175 004e 9A0C lsrs r2, r3, #18 1176 .loc 1 620 34 1177 0050 1346 mov r3, r2 1178 0052 5B00 lsls r3, r3, #1 1179 0054 1344 add r3, r3, r2 1180 .loc 1 620 13 1181 0056 3B61 str r3, [r7, #16] 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(counter != 0U) 1182 .loc 1 621 10 1183 0058 02E0 b .L58 1184 .L59: 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** counter--; 1185 .loc 1 623 14 1186 005a 3B69 ldr r3, [r7, #16] 1187 005c 013B subs r3, r3, #1 1188 005e 3B61 str r3, [r7, #16] 1189 .L58: 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(counter != 0U) 1190 .loc 1 621 19 1191 0060 3B69 ldr r3, [r7, #16] 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** while(counter != 0U) 1192 .loc 1 621 10 1193 0062 002B cmp r3, #0 1194 0064 F9D1 bne .L59 1195 .L57: 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 33 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Start conversion if ADC is effectively enabled */ 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 1196 .loc 1 628 6 1197 0066 FB68 ldr r3, [r7, #12] 1198 0068 1B68 ldr r3, [r3] 1199 006a 9B68 ldr r3, [r3, #8] 1200 006c 03F00103 and r3, r3, #1 1201 .loc 1 628 5 1202 0070 012B cmp r3, #1 1203 0072 73D1 bne .L60 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC state */ 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - Clear state bitfield related to regular group conversion results */ 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* - Set state bitfield related to regular group operation */ 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State, 1204 .loc 1 633 5 1205 0074 FB68 ldr r3, [r7, #12] 1206 0076 1B6C ldr r3, [r3, #64] 1207 0078 23F4E063 bic r3, r3, #1792 1208 007c 23F00103 bic r3, r3, #1 1209 0080 43F48072 orr r2, r3, #256 1210 0084 FB68 ldr r3, [r7, #12] 1211 0086 1A64 str r2, [r3, #64] 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_REG_BUSY); 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* If conversions on group regular are also triggering group injected, */ 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* update ADC state. */ 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) 1212 .loc 1 639 9 1213 0088 FB68 ldr r3, [r7, #12] 1214 008a 1B68 ldr r3, [r3] 1215 008c 5B68 ldr r3, [r3, #4] 1216 008e 03F48063 and r3, r3, #1024 1217 .loc 1 639 8 1218 0092 002B cmp r3, #0 1219 0094 07D0 beq .L61 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 1220 .loc 1 641 7 1221 0096 FB68 ldr r3, [r7, #12] 1222 0098 1B6C ldr r3, [r3, #64] 1223 009a 23F44053 bic r3, r3, #12288 1224 009e 43F48052 orr r2, r3, #4096 1225 00a2 FB68 ldr r3, [r7, #12] 1226 00a4 1A64 str r2, [r3, #64] 1227 .L61: 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* State machine update: Check if an injected conversion is ongoing */ 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 1228 .loc 1 645 9 1229 00a6 FB68 ldr r3, [r7, #12] 1230 00a8 1B6C ldr r3, [r3, #64] 1231 00aa 03F48053 and r3, r3, #4096 1232 .loc 1 645 8 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 34 1233 00ae B3F5805F cmp r3, #4096 1234 00b2 06D1 bne .L62 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Reset ADC error code fields related to conversions on group regular */ 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 1235 .loc 1 648 7 1236 00b4 FB68 ldr r3, [r7, #12] 1237 00b6 5B6C ldr r3, [r3, #68] 1238 00b8 23F00602 bic r2, r3, #6 1239 00bc FB68 ldr r3, [r7, #12] 1240 00be 5A64 str r2, [r3, #68] 1241 00c0 02E0 b .L63 1242 .L62: 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Reset ADC all error code fields */ 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_CLEAR_ERRORCODE(hadc); 1243 .loc 1 653 7 1244 00c2 FB68 ldr r3, [r7, #12] 1245 00c4 0022 movs r2, #0 1246 00c6 5A64 str r2, [r3, #68] 1247 .L63: 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process unlocked */ 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Unlock before starting ADC conversions: in case of potential */ 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* interruption, to let the process to ADC IRQ Handler. */ 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc); 1248 .loc 1 659 5 1249 00c8 FB68 ldr r3, [r7, #12] 1250 00ca 0022 movs r2, #0 1251 00cc 83F83C20 strb r2, [r3, #60] 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set the DMA transfer complete callback */ 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->DMA_Handle->XferCpltCallback = ADC_MultiModeDMAConvCplt; 1252 .loc 1 662 9 1253 00d0 FB68 ldr r3, [r7, #12] 1254 00d2 9B6B ldr r3, [r3, #56] 1255 .loc 1 662 40 1256 00d4 2C4A ldr r2, .L67+8 1257 00d6 DA63 str r2, [r3, #60] 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set the DMA half transfer complete callback */ 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->DMA_Handle->XferHalfCpltCallback = ADC_MultiModeDMAHalfConvCplt; 1258 .loc 1 665 9 1259 00d8 FB68 ldr r3, [r7, #12] 1260 00da 9B6B ldr r3, [r3, #56] 1261 .loc 1 665 44 1262 00dc 2B4A ldr r2, .L67+12 1263 00de 1A64 str r2, [r3, #64] 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set the DMA error callback */ 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->DMA_Handle->XferErrorCallback = ADC_MultiModeDMAError ; 1264 .loc 1 668 9 1265 00e0 FB68 ldr r3, [r7, #12] 1266 00e2 9B6B ldr r3, [r3, #56] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 35 1267 .loc 1 668 41 1268 00e4 2A4A ldr r2, .L67+16 1269 00e6 DA64 str r2, [r3, #76] 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Manage ADC and DMA start: ADC overrun interruption, DMA start, ADC */ 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* start (in case of SW start): */ 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Clear regular group conversion flag and overrun flag */ 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (To ensure of no unknown state from potential previous ADC operations) */ 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC); 1270 .loc 1 675 5 1271 00e8 FB68 ldr r3, [r7, #12] 1272 00ea 1B68 ldr r3, [r3] 1273 00ec 6FF00202 mvn r2, #2 1274 00f0 1A60 str r2, [r3] 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable ADC overrun interrupt */ 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); 1275 .loc 1 678 5 1276 00f2 FB68 ldr r3, [r7, #12] 1277 00f4 1B68 ldr r3, [r3] 1278 00f6 5A68 ldr r2, [r3, #4] 1279 00f8 FB68 ldr r3, [r7, #12] 1280 00fa 1B68 ldr r3, [r3] 1281 00fc 42F08062 orr r2, r2, #67108864 1282 0100 5A60 str r2, [r3, #4] 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Pointer to the common control register to which is belonging hadc */ 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (Depending on STM32F4 product, there may be up to 3 ADC and 1 common */ 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* control register) */ 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 1283 .loc 1 683 19 1284 0102 244B ldr r3, .L67+20 1285 0104 7B61 str r3, [r7, #20] 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (hadc->Init.DMAContinuousRequests != DISABLE) 1286 .loc 1 685 19 1287 0106 FB68 ldr r3, [r7, #12] 1288 0108 93F83030 ldrb r3, [r3, #48] @ zero_extendqisi2 1289 .loc 1 685 8 1290 010c 002B cmp r3, #0 1291 010e 06D0 beq .L64 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the selected ADC DMA request after last transfer */ 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR |= ADC_CCR_DDS; 1292 .loc 1 688 26 1293 0110 7B69 ldr r3, [r7, #20] 1294 0112 5B68 ldr r3, [r3, #4] 1295 0114 43F40052 orr r2, r3, #8192 1296 0118 7B69 ldr r3, [r7, #20] 1297 011a 5A60 str r2, [r3, #4] 1298 011c 05E0 b .L65 1299 .L64: 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable the selected ADC EOC rising on each regular channel conversion */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 36 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR &= ~ADC_CCR_DDS; 1300 .loc 1 693 26 1301 011e 7B69 ldr r3, [r7, #20] 1302 0120 5B68 ldr r3, [r3, #4] 1303 0122 23F40052 bic r2, r3, #8192 1304 0126 7B69 ldr r3, [r7, #20] 1305 0128 5A60 str r2, [r3, #4] 1306 .L65: 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the DMA Stream */ 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&tmpADC_Common->CDR, (uint32_t)pData, Length); 1307 .loc 1 697 5 1308 012a FB68 ldr r3, [r7, #12] 1309 012c 986B ldr r0, [r3, #56] 1310 .loc 1 697 50 1311 012e 7B69 ldr r3, [r7, #20] 1312 0130 0833 adds r3, r3, #8 1313 .loc 1 697 5 1314 0132 1946 mov r1, r3 1315 0134 BA68 ldr r2, [r7, #8] 1316 0136 7B68 ldr r3, [r7, #4] 1317 0138 FFF7FEFF bl HAL_DMA_Start_IT 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* if no external trigger present enable software conversion of regular channels */ 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 1318 .loc 1 700 13 1319 013c FB68 ldr r3, [r7, #12] 1320 013e 1B68 ldr r3, [r3] 1321 .loc 1 700 23 1322 0140 9B68 ldr r3, [r3, #8] 1323 .loc 1 700 29 1324 0142 03F04053 and r3, r3, #805306368 1325 .loc 1 700 7 1326 0146 002B cmp r3, #0 1327 0148 14D1 bne .L66 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the selected ADC software conversion for regular group */ 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 1328 .loc 1 703 11 1329 014a FB68 ldr r3, [r7, #12] 1330 014c 1B68 ldr r3, [r3] 1331 .loc 1 703 27 1332 014e 9A68 ldr r2, [r3, #8] 1333 .loc 1 703 11 1334 0150 FB68 ldr r3, [r7, #12] 1335 0152 1B68 ldr r3, [r3] 1336 .loc 1 703 27 1337 0154 42F08042 orr r2, r2, #1073741824 1338 0158 9A60 str r2, [r3, #8] 1339 015a 0BE0 b .L66 1340 .L60: 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Update ADC state machine to error */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 37 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 1341 .loc 1 709 5 1342 015c FB68 ldr r3, [r7, #12] 1343 015e 1B6C ldr r3, [r3, #64] 1344 0160 43F01002 orr r2, r3, #16 1345 0164 FB68 ldr r3, [r7, #12] 1346 0166 1A64 str r2, [r3, #64] 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC error code to ADC IP internal error */ 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 1347 .loc 1 712 5 1348 0168 FB68 ldr r3, [r7, #12] 1349 016a 5B6C ldr r3, [r3, #68] 1350 016c 43F00102 orr r2, r3, #1 1351 0170 FB68 ldr r3, [r7, #12] 1352 0172 5A64 str r2, [r3, #68] 1353 .L66: 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return function status */ 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return HAL_OK; 1354 .loc 1 716 10 1355 0174 0023 movs r3, #0 1356 .L56: 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 1357 .loc 1 717 1 1358 0176 1846 mov r0, r3 1359 0178 1837 adds r7, r7, #24 1360 .LCFI38: 1361 .cfi_def_cfa_offset 8 1362 017a BD46 mov sp, r7 1363 .LCFI39: 1364 .cfi_def_cfa_register 13 1365 @ sp needed 1366 017c 80BD pop {r7, pc} 1367 .L68: 1368 017e 00BF .align 2 1369 .L67: 1370 0180 00000000 .word SystemCoreClock 1371 0184 83DE1B43 .word 1125899907 1372 0188 00000000 .word ADC_MultiModeDMAConvCplt 1373 018c 00000000 .word ADC_MultiModeDMAHalfConvCplt 1374 0190 00000000 .word ADC_MultiModeDMAError 1375 0194 00230140 .word 1073816320 1376 .cfi_endproc 1377 .LFE241: 1379 .section .text.HAL_ADCEx_MultiModeStop_DMA,"ax",%progbits 1380 .align 1 1381 .global HAL_ADCEx_MultiModeStop_DMA 1382 .syntax unified 1383 .thumb 1384 .thumb_func 1386 HAL_ADCEx_MultiModeStop_DMA: 1387 .LFB242: 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Disables ADC DMA (multi-ADC mode) and disables ADC peripheral ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 38 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval HAL status 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_MultiModeStop_DMA(ADC_HandleTypeDef* hadc) 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 1388 .loc 1 726 1 1389 .cfi_startproc 1390 @ args = 0, pretend = 0, frame = 16 1391 @ frame_needed = 1, uses_anonymous_args = 0 1392 0000 80B5 push {r7, lr} 1393 .LCFI40: 1394 .cfi_def_cfa_offset 8 1395 .cfi_offset 7, -8 1396 .cfi_offset 14, -4 1397 0002 84B0 sub sp, sp, #16 1398 .LCFI41: 1399 .cfi_def_cfa_offset 24 1400 0004 00AF add r7, sp, #0 1401 .LCFI42: 1402 .cfi_def_cfa_register 7 1403 0006 7860 str r0, [r7, #4] 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 1404 .loc 1 727 21 1405 0008 0023 movs r3, #0 1406 000a FB73 strb r3, [r7, #15] 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_Common_TypeDef *tmpADC_Common; 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check the parameters */ 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process locked */ 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_LOCK(hadc); 1407 .loc 1 734 3 1408 000c 7B68 ldr r3, [r7, #4] 1409 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 1410 0012 012B cmp r3, #1 1411 0014 01D1 bne .L70 1412 .loc 1 734 3 is_stmt 0 discriminator 1 1413 0016 0223 movs r3, #2 1414 0018 38E0 b .L71 1415 .L70: 1416 .loc 1 734 3 discriminator 2 1417 001a 7B68 ldr r3, [r7, #4] 1418 001c 0122 movs r2, #1 1419 001e 83F83C20 strb r2, [r3, #60] 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Stop potential conversion on going, on regular and injected groups */ 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable ADC peripheral */ 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_DISABLE(hadc); 1420 .loc 1 738 3 is_stmt 1 discriminator 2 1421 0022 7B68 ldr r3, [r7, #4] 1422 0024 1B68 ldr r3, [r3] 1423 0026 9A68 ldr r2, [r3, #8] 1424 0028 7B68 ldr r3, [r7, #4] 1425 002a 1B68 ldr r3, [r3] 1426 002c 22F00102 bic r2, r2, #1 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 39 1427 0030 9A60 str r2, [r3, #8] 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Pointer to the common control register to which is belonging hadc */ 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (Depending on STM32F4 product, there may be up to 3 ADC and 1 common */ 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* control register) */ 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 1428 .loc 1 743 17 discriminator 2 1429 0032 184B ldr r3, .L73 1430 0034 BB60 str r3, [r7, #8] 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check if ADC is effectively disabled */ 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 1431 .loc 1 746 6 discriminator 2 1432 0036 7B68 ldr r3, [r7, #4] 1433 0038 1B68 ldr r3, [r3] 1434 003a 9B68 ldr r3, [r3, #8] 1435 003c 03F00103 and r3, r3, #1 1436 .loc 1 746 5 discriminator 2 1437 0040 002B cmp r3, #0 1438 0042 1ED1 bne .L72 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable the selected ADC DMA mode for multimode */ 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR &= ~ADC_CCR_DDS; 1439 .loc 1 749 24 1440 0044 BB68 ldr r3, [r7, #8] 1441 0046 5B68 ldr r3, [r3, #4] 1442 0048 23F40052 bic r2, r3, #8192 1443 004c BB68 ldr r3, [r7, #8] 1444 004e 5A60 str r2, [r3, #4] 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable the DMA channel (in case of DMA in circular mode or stop while */ 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* DMA transfer is on going) */ 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); 1445 .loc 1 753 22 1446 0050 7B68 ldr r3, [r7, #4] 1447 0052 9B6B ldr r3, [r3, #56] 1448 0054 1846 mov r0, r3 1449 0056 FFF7FEFF bl HAL_DMA_Abort 1450 005a 0346 mov r3, r0 1451 005c FB73 strb r3, [r7, #15] 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable ADC overrun interrupt */ 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); 1452 .loc 1 756 5 1453 005e 7B68 ldr r3, [r7, #4] 1454 0060 1B68 ldr r3, [r3] 1455 0062 5A68 ldr r2, [r3, #4] 1456 0064 7B68 ldr r3, [r7, #4] 1457 0066 1B68 ldr r3, [r3] 1458 0068 22F08062 bic r2, r2, #67108864 1459 006c 5A60 str r2, [r3, #4] 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC state */ 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State, 1460 .loc 1 759 5 1461 006e 7B68 ldr r3, [r7, #4] 1462 0070 1B6C ldr r3, [r3, #64] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 40 1463 0072 23F48853 bic r3, r3, #4352 1464 0076 23F00103 bic r3, r3, #1 1465 007a 43F00102 orr r2, r3, #1 1466 007e 7B68 ldr r3, [r7, #4] 1467 0080 1A64 str r2, [r3, #64] 1468 .L72: 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_STATE_READY); 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process unlocked */ 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc); 1469 .loc 1 765 3 1470 0082 7B68 ldr r3, [r7, #4] 1471 0084 0022 movs r2, #0 1472 0086 83F83C20 strb r2, [r3, #60] 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return function status */ 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return tmp_hal_status; 1473 .loc 1 768 10 1474 008a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 1475 .L71: 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 1476 .loc 1 769 1 1477 008c 1846 mov r0, r3 1478 008e 1037 adds r7, r7, #16 1479 .LCFI43: 1480 .cfi_def_cfa_offset 8 1481 0090 BD46 mov sp, r7 1482 .LCFI44: 1483 .cfi_def_cfa_register 13 1484 @ sp needed 1485 0092 80BD pop {r7, pc} 1486 .L74: 1487 .align 2 1488 .L73: 1489 0094 00230140 .word 1073816320 1490 .cfi_endproc 1491 .LFE242: 1493 .section .text.HAL_ADCEx_MultiModeGetValue,"ax",%progbits 1494 .align 1 1495 .global HAL_ADCEx_MultiModeGetValue 1496 .syntax unified 1497 .thumb 1498 .thumb_func 1500 HAL_ADCEx_MultiModeGetValue: 1501 .LFB243: 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Returns the last ADC1, ADC2 and ADC3 regular conversions results 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * data in the selected multi mode. 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval The converted data value. 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** uint32_t HAL_ADCEx_MultiModeGetValue(ADC_HandleTypeDef* hadc) 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 41 1502 .loc 1 779 1 1503 .cfi_startproc 1504 @ args = 0, pretend = 0, frame = 16 1505 @ frame_needed = 1, uses_anonymous_args = 0 1506 @ link register save eliminated. 1507 0000 80B4 push {r7} 1508 .LCFI45: 1509 .cfi_def_cfa_offset 4 1510 .cfi_offset 7, -4 1511 0002 85B0 sub sp, sp, #20 1512 .LCFI46: 1513 .cfi_def_cfa_offset 24 1514 0004 00AF add r7, sp, #0 1515 .LCFI47: 1516 .cfi_def_cfa_register 7 1517 0006 7860 str r0, [r7, #4] 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_Common_TypeDef *tmpADC_Common; 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Pointer to the common control register to which is belonging hadc */ 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (Depending on STM32F4 product, there may be up to 3 ADC and 1 common */ 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* control register) */ 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 1518 .loc 1 785 17 1519 0008 044B ldr r3, .L77 1520 000a FB60 str r3, [r7, #12] 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return the multi mode conversion value */ 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return tmpADC_Common->CDR; 1521 .loc 1 788 23 1522 000c FB68 ldr r3, [r7, #12] 1523 000e 9B68 ldr r3, [r3, #8] 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 1524 .loc 1 789 1 1525 0010 1846 mov r0, r3 1526 0012 1437 adds r7, r7, #20 1527 .LCFI48: 1528 .cfi_def_cfa_offset 4 1529 0014 BD46 mov sp, r7 1530 .LCFI49: 1531 .cfi_def_cfa_register 13 1532 @ sp needed 1533 0016 5DF8047B ldr r7, [sp], #4 1534 .LCFI50: 1535 .cfi_restore 7 1536 .cfi_def_cfa_offset 0 1537 001a 7047 bx lr 1538 .L78: 1539 .align 2 1540 .L77: 1541 001c 00230140 .word 1073816320 1542 .cfi_endproc 1543 .LFE243: 1545 .section .text.HAL_ADCEx_InjectedConvCpltCallback,"ax",%progbits 1546 .align 1 1547 .weak HAL_ADCEx_InjectedConvCpltCallback 1548 .syntax unified 1549 .thumb ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 42 1550 .thumb_func 1552 HAL_ADCEx_InjectedConvCpltCallback: 1553 .LFB244: 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Injected conversion complete callback in non blocking mode 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval None 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __weak void HAL_ADCEx_InjectedConvCpltCallback(ADC_HandleTypeDef* hadc) 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 1554 .loc 1 798 1 1555 .cfi_startproc 1556 @ args = 0, pretend = 0, frame = 8 1557 @ frame_needed = 1, uses_anonymous_args = 0 1558 @ link register save eliminated. 1559 0000 80B4 push {r7} 1560 .LCFI51: 1561 .cfi_def_cfa_offset 4 1562 .cfi_offset 7, -4 1563 0002 83B0 sub sp, sp, #12 1564 .LCFI52: 1565 .cfi_def_cfa_offset 16 1566 0004 00AF add r7, sp, #0 1567 .LCFI53: 1568 .cfi_def_cfa_register 7 1569 0006 7860 str r0, [r7, #4] 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Prevent unused argument(s) compilation warning */ 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** UNUSED(hadc); 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* NOTE : This function Should not be modified, when the callback is needed, 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** the HAL_ADC_InjectedConvCpltCallback could be implemented in the user file 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 1570 .loc 1 804 1 1571 0008 00BF nop 1572 000a 0C37 adds r7, r7, #12 1573 .LCFI54: 1574 .cfi_def_cfa_offset 4 1575 000c BD46 mov sp, r7 1576 .LCFI55: 1577 .cfi_def_cfa_register 13 1578 @ sp needed 1579 000e 5DF8047B ldr r7, [sp], #4 1580 .LCFI56: 1581 .cfi_restore 7 1582 .cfi_def_cfa_offset 0 1583 0012 7047 bx lr 1584 .cfi_endproc 1585 .LFE244: 1587 .section .text.HAL_ADCEx_InjectedConfigChannel,"ax",%progbits 1588 .align 1 1589 .global HAL_ADCEx_InjectedConfigChannel 1590 .syntax unified 1591 .thumb 1592 .thumb_func 1594 HAL_ADCEx_InjectedConfigChannel: ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 43 1595 .LFB245: 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Configures for the selected ADC injected channel its corresponding 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * rank in the sequencer and its sample time. 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param sConfigInjected ADC configuration structure for injected channel. 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval None 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_InjectedConfigChannel(ADC_HandleTypeDef* hadc, ADC_InjectionConfTypeDef 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 1596 .loc 1 815 1 1597 .cfi_startproc 1598 @ args = 0, pretend = 0, frame = 16 1599 @ frame_needed = 1, uses_anonymous_args = 0 1600 @ link register save eliminated. 1601 0000 80B4 push {r7} 1602 .LCFI57: 1603 .cfi_def_cfa_offset 4 1604 .cfi_offset 7, -4 1605 0002 85B0 sub sp, sp, #20 1606 .LCFI58: 1607 .cfi_def_cfa_offset 24 1608 0004 00AF add r7, sp, #0 1609 .LCFI59: 1610 .cfi_def_cfa_register 7 1611 0006 7860 str r0, [r7, #4] 1612 0008 3960 str r1, [r7] 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** #ifdef USE_FULL_ASSERT 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** uint32_t tmp = 0U; 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** #endif /* USE_FULL_ASSERT */ 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_Common_TypeDef *tmpADC_Common; 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check the parameters */ 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_CHANNEL(sConfigInjected->InjectedChannel)); 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_INJECTED_RANK(sConfigInjected->InjectedRank)); 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_SAMPLE_TIME(sConfigInjected->InjectedSamplingTime)); 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_EXT_INJEC_TRIG(sConfigInjected->ExternalTrigInjecConv)); 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_INJECTED_LENGTH(sConfigInjected->InjectedNbrOfConversion)); 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_FUNCTIONAL_STATE(sConfigInjected->AutoInjectedConv)); 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_FUNCTIONAL_STATE(sConfigInjected->InjectedDiscontinuousConvMode)); 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** #ifdef USE_FULL_ASSERT 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmp = ADC_GET_RESOLUTION(hadc); 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_RANGE(tmp, sConfigInjected->InjectedOffset)); 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** #endif /* USE_FULL_ASSERT */ 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(sConfigInjected->ExternalTrigInjecConv != ADC_INJECTED_SOFTWARE_START) 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_EXT_INJEC_TRIG_EDGE(sConfigInjected->ExternalTrigInjecConvEdge)); 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process locked */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 44 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_LOCK(hadc); 1613 .loc 1 844 3 1614 000a 7B68 ldr r3, [r7, #4] 1615 000c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 1616 0010 012B cmp r3, #1 1617 0012 01D1 bne .L81 1618 .loc 1 844 3 is_stmt 0 discriminator 1 1619 0014 0223 movs r3, #2 1620 0016 7DE1 b .L82 1621 .L81: 1622 .loc 1 844 3 discriminator 2 1623 0018 7B68 ldr r3, [r7, #4] 1624 001a 0122 movs r2, #1 1625 001c 83F83C20 strb r2, [r3, #60] 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* if ADC_Channel_10 ... ADC_Channel_18 is selected */ 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (sConfigInjected->InjectedChannel > ADC_CHANNEL_9) 1626 .loc 1 847 22 is_stmt 1 discriminator 2 1627 0020 3B68 ldr r3, [r7] 1628 0022 1B68 ldr r3, [r3] 1629 .loc 1 847 6 discriminator 2 1630 0024 092B cmp r3, #9 1631 0026 25D9 bls .L83 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Clear the old sample time */ 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->SMPR1 &= ~ADC_SMPR1(ADC_SMPR1_SMP10, sConfigInjected->InjectedChannel); 1632 .loc 1 850 9 1633 0028 7B68 ldr r3, [r7, #4] 1634 002a 1B68 ldr r3, [r3] 1635 .loc 1 850 27 1636 002c D968 ldr r1, [r3, #12] 1637 .loc 1 850 31 1638 002e 3B68 ldr r3, [r7] 1639 0030 1B68 ldr r3, [r3] 1640 0032 9BB2 uxth r3, r3 1641 0034 1A46 mov r2, r3 1642 0036 1346 mov r3, r2 1643 0038 5B00 lsls r3, r3, #1 1644 003a 1344 add r3, r3, r2 1645 003c 1E3B subs r3, r3, #30 1646 003e 0722 movs r2, #7 1647 0040 02FA03F3 lsl r3, r2, r3 1648 .loc 1 850 30 1649 0044 DA43 mvns r2, r3 1650 .loc 1 850 9 1651 0046 7B68 ldr r3, [r7, #4] 1652 0048 1B68 ldr r3, [r3] 1653 .loc 1 850 27 1654 004a 0A40 ands r2, r2, r1 1655 004c DA60 str r2, [r3, #12] 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set the new sample time */ 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->SMPR1 |= ADC_SMPR1(sConfigInjected->InjectedSamplingTime, sConfigInjected->Inje 1656 .loc 1 853 9 1657 004e 7B68 ldr r3, [r7, #4] 1658 0050 1B68 ldr r3, [r3] 1659 .loc 1 853 27 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 45 1660 0052 D968 ldr r1, [r3, #12] 1661 .loc 1 853 30 1662 0054 3B68 ldr r3, [r7] 1663 0056 9A68 ldr r2, [r3, #8] 1664 0058 3B68 ldr r3, [r7] 1665 005a 1B68 ldr r3, [r3] 1666 005c 9BB2 uxth r3, r3 1667 005e 1846 mov r0, r3 1668 0060 0346 mov r3, r0 1669 0062 5B00 lsls r3, r3, #1 1670 0064 0344 add r3, r3, r0 1671 0066 1E3B subs r3, r3, #30 1672 0068 9A40 lsls r2, r2, r3 1673 .loc 1 853 9 1674 006a 7B68 ldr r3, [r7, #4] 1675 006c 1B68 ldr r3, [r3] 1676 .loc 1 853 27 1677 006e 0A43 orrs r2, r2, r1 1678 0070 DA60 str r2, [r3, #12] 1679 0072 22E0 b .L84 1680 .L83: 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else /* ADC_Channel include in ADC_Channel_[0..9] */ 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Clear the old sample time */ 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->SMPR2 &= ~ADC_SMPR2(ADC_SMPR2_SMP0, sConfigInjected->InjectedChannel); 1681 .loc 1 858 9 1682 0074 7B68 ldr r3, [r7, #4] 1683 0076 1B68 ldr r3, [r3] 1684 .loc 1 858 27 1685 0078 1969 ldr r1, [r3, #16] 1686 .loc 1 858 31 1687 007a 3B68 ldr r3, [r7] 1688 007c 1B68 ldr r3, [r3] 1689 007e 9BB2 uxth r3, r3 1690 0080 1A46 mov r2, r3 1691 0082 1346 mov r3, r2 1692 0084 5B00 lsls r3, r3, #1 1693 0086 1344 add r3, r3, r2 1694 0088 0722 movs r2, #7 1695 008a 02FA03F3 lsl r3, r2, r3 1696 .loc 1 858 30 1697 008e DA43 mvns r2, r3 1698 .loc 1 858 9 1699 0090 7B68 ldr r3, [r7, #4] 1700 0092 1B68 ldr r3, [r3] 1701 .loc 1 858 27 1702 0094 0A40 ands r2, r2, r1 1703 0096 1A61 str r2, [r3, #16] 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set the new sample time */ 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->SMPR2 |= ADC_SMPR2(sConfigInjected->InjectedSamplingTime, sConfigInjected->Inje 1704 .loc 1 861 9 1705 0098 7B68 ldr r3, [r7, #4] 1706 009a 1B68 ldr r3, [r3] 1707 .loc 1 861 27 1708 009c 1969 ldr r1, [r3, #16] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 46 1709 .loc 1 861 30 1710 009e 3B68 ldr r3, [r7] 1711 00a0 9A68 ldr r2, [r3, #8] 1712 00a2 3B68 ldr r3, [r7] 1713 00a4 1B68 ldr r3, [r3] 1714 00a6 9BB2 uxth r3, r3 1715 00a8 1846 mov r0, r3 1716 00aa 0346 mov r3, r0 1717 00ac 5B00 lsls r3, r3, #1 1718 00ae 0344 add r3, r3, r0 1719 00b0 9A40 lsls r2, r2, r3 1720 .loc 1 861 9 1721 00b2 7B68 ldr r3, [r7, #4] 1722 00b4 1B68 ldr r3, [r3] 1723 .loc 1 861 27 1724 00b6 0A43 orrs r2, r2, r1 1725 00b8 1A61 str r2, [r3, #16] 1726 .L84: 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /*---------------------------- ADCx JSQR Configuration -----------------*/ 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JSQR &= ~(ADC_JSQR_JL); 1727 .loc 1 865 7 1728 00ba 7B68 ldr r3, [r7, #4] 1729 00bc 1B68 ldr r3, [r3] 1730 .loc 1 865 24 1731 00be 9A6B ldr r2, [r3, #56] 1732 .loc 1 865 7 1733 00c0 7B68 ldr r3, [r7, #4] 1734 00c2 1B68 ldr r3, [r3] 1735 .loc 1 865 24 1736 00c4 22F44012 bic r2, r2, #3145728 1737 00c8 9A63 str r2, [r3, #56] 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JSQR |= ADC_SQR1(sConfigInjected->InjectedNbrOfConversion); 1738 .loc 1 866 7 1739 00ca 7B68 ldr r3, [r7, #4] 1740 00cc 1B68 ldr r3, [r3] 1741 .loc 1 866 24 1742 00ce 996B ldr r1, [r3, #56] 1743 .loc 1 866 28 1744 00d0 3B68 ldr r3, [r7] 1745 00d2 1B69 ldr r3, [r3, #16] 1746 00d4 013B subs r3, r3, #1 1747 00d6 1A05 lsls r2, r3, #20 1748 .loc 1 866 7 1749 00d8 7B68 ldr r3, [r7, #4] 1750 00da 1B68 ldr r3, [r3] 1751 .loc 1 866 24 1752 00dc 0A43 orrs r2, r2, r1 1753 00de 9A63 str r2, [r3, #56] 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Rank configuration */ 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Clear the old SQx bits for the selected rank */ 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JSQR &= ~ADC_JSQR(ADC_JSQR_JSQ1, sConfigInjected->InjectedRank,sConfigInjected->I 1754 .loc 1 871 7 1755 00e0 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 47 1756 00e2 1B68 ldr r3, [r3] 1757 .loc 1 871 24 1758 00e4 996B ldr r1, [r3, #56] 1759 .loc 1 871 28 1760 00e6 3B68 ldr r3, [r7] 1761 00e8 5B68 ldr r3, [r3, #4] 1762 00ea DAB2 uxtb r2, r3 1763 00ec 3B68 ldr r3, [r7] 1764 00ee 1B69 ldr r3, [r3, #16] 1765 00f0 DBB2 uxtb r3, r3 1766 00f2 D31A subs r3, r2, r3 1767 00f4 DBB2 uxtb r3, r3 1768 00f6 0333 adds r3, r3, #3 1769 00f8 DBB2 uxtb r3, r3 1770 00fa 1A46 mov r2, r3 1771 00fc 1346 mov r3, r2 1772 00fe 9B00 lsls r3, r3, #2 1773 0100 1344 add r3, r3, r2 1774 0102 1F22 movs r2, #31 1775 0104 02FA03F3 lsl r3, r2, r3 1776 .loc 1 871 27 1777 0108 DA43 mvns r2, r3 1778 .loc 1 871 7 1779 010a 7B68 ldr r3, [r7, #4] 1780 010c 1B68 ldr r3, [r3] 1781 .loc 1 871 24 1782 010e 0A40 ands r2, r2, r1 1783 0110 9A63 str r2, [r3, #56] 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set the SQx bits for the selected rank */ 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JSQR |= ADC_JSQR(sConfigInjected->InjectedChannel, sConfigInjected->InjectedRank, 1784 .loc 1 874 7 1785 0112 7B68 ldr r3, [r7, #4] 1786 0114 1B68 ldr r3, [r3] 1787 .loc 1 874 24 1788 0116 996B ldr r1, [r3, #56] 1789 .loc 1 874 27 1790 0118 3B68 ldr r3, [r7] 1791 011a 1B68 ldr r3, [r3] 1792 011c 9BB2 uxth r3, r3 1793 011e 1846 mov r0, r3 1794 0120 3B68 ldr r3, [r7] 1795 0122 5B68 ldr r3, [r3, #4] 1796 0124 DAB2 uxtb r2, r3 1797 0126 3B68 ldr r3, [r7] 1798 0128 1B69 ldr r3, [r3, #16] 1799 012a DBB2 uxtb r3, r3 1800 012c D31A subs r3, r2, r3 1801 012e DBB2 uxtb r3, r3 1802 0130 0333 adds r3, r3, #3 1803 0132 DBB2 uxtb r3, r3 1804 0134 1A46 mov r2, r3 1805 0136 1346 mov r3, r2 1806 0138 9B00 lsls r3, r3, #2 1807 013a 1344 add r3, r3, r2 1808 013c 00FA03F2 lsl r2, r0, r3 1809 .loc 1 874 7 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 48 1810 0140 7B68 ldr r3, [r7, #4] 1811 0142 1B68 ldr r3, [r3] 1812 .loc 1 874 24 1813 0144 0A43 orrs r2, r2, r1 1814 0146 9A63 str r2, [r3, #56] 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable external trigger if trigger selection is different of software */ 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* start. */ 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Note: This configuration keeps the hardware feature of parameter */ 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* ExternalTrigConvEdge "trigger edge none" equivalent to */ 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* software start. */ 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(sConfigInjected->ExternalTrigInjecConv != ADC_INJECTED_SOFTWARE_START) 1815 .loc 1 881 21 1816 0148 3B68 ldr r3, [r7] 1817 014a 9B69 ldr r3, [r3, #24] 1818 .loc 1 881 5 1819 014c 744A ldr r2, .L99 1820 014e 9342 cmp r3, r2 1821 0150 22D0 beq .L85 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Select external trigger to start conversion */ 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 &= ~(ADC_CR2_JEXTSEL); 1822 .loc 1 884 9 1823 0152 7B68 ldr r3, [r7, #4] 1824 0154 1B68 ldr r3, [r3] 1825 .loc 1 884 25 1826 0156 9A68 ldr r2, [r3, #8] 1827 .loc 1 884 9 1828 0158 7B68 ldr r3, [r7, #4] 1829 015a 1B68 ldr r3, [r3] 1830 .loc 1 884 25 1831 015c 22F47022 bic r2, r2, #983040 1832 0160 9A60 str r2, [r3, #8] 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 |= sConfigInjected->ExternalTrigInjecConv; 1833 .loc 1 885 9 1834 0162 7B68 ldr r3, [r7, #4] 1835 0164 1B68 ldr r3, [r3] 1836 .loc 1 885 25 1837 0166 9968 ldr r1, [r3, #8] 1838 .loc 1 885 44 1839 0168 3B68 ldr r3, [r7] 1840 016a 9A69 ldr r2, [r3, #24] 1841 .loc 1 885 9 1842 016c 7B68 ldr r3, [r7, #4] 1843 016e 1B68 ldr r3, [r3] 1844 .loc 1 885 25 1845 0170 0A43 orrs r2, r2, r1 1846 0172 9A60 str r2, [r3, #8] 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Select external trigger polarity */ 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 &= ~(ADC_CR2_JEXTEN); 1847 .loc 1 888 9 1848 0174 7B68 ldr r3, [r7, #4] 1849 0176 1B68 ldr r3, [r3] 1850 .loc 1 888 25 1851 0178 9A68 ldr r2, [r3, #8] 1852 .loc 1 888 9 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 49 1853 017a 7B68 ldr r3, [r7, #4] 1854 017c 1B68 ldr r3, [r3] 1855 .loc 1 888 25 1856 017e 22F44012 bic r2, r2, #3145728 1857 0182 9A60 str r2, [r3, #8] 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 |= sConfigInjected->ExternalTrigInjecConvEdge; 1858 .loc 1 889 9 1859 0184 7B68 ldr r3, [r7, #4] 1860 0186 1B68 ldr r3, [r3] 1861 .loc 1 889 25 1862 0188 9968 ldr r1, [r3, #8] 1863 .loc 1 889 43 1864 018a 3B68 ldr r3, [r7] 1865 018c DA69 ldr r2, [r3, #28] 1866 .loc 1 889 9 1867 018e 7B68 ldr r3, [r7, #4] 1868 0190 1B68 ldr r3, [r3] 1869 .loc 1 889 25 1870 0192 0A43 orrs r2, r2, r1 1871 0194 9A60 str r2, [r3, #8] 1872 0196 0FE0 b .L86 1873 .L85: 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Reset the external trigger */ 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 &= ~(ADC_CR2_JEXTSEL); 1874 .loc 1 894 9 1875 0198 7B68 ldr r3, [r7, #4] 1876 019a 1B68 ldr r3, [r3] 1877 .loc 1 894 25 1878 019c 9A68 ldr r2, [r3, #8] 1879 .loc 1 894 9 1880 019e 7B68 ldr r3, [r7, #4] 1881 01a0 1B68 ldr r3, [r3] 1882 .loc 1 894 25 1883 01a2 22F47022 bic r2, r2, #983040 1884 01a6 9A60 str r2, [r3, #8] 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR2 &= ~(ADC_CR2_JEXTEN); 1885 .loc 1 895 9 1886 01a8 7B68 ldr r3, [r7, #4] 1887 01aa 1B68 ldr r3, [r3] 1888 .loc 1 895 25 1889 01ac 9A68 ldr r2, [r3, #8] 1890 .loc 1 895 9 1891 01ae 7B68 ldr r3, [r7, #4] 1892 01b0 1B68 ldr r3, [r3] 1893 .loc 1 895 25 1894 01b2 22F44012 bic r2, r2, #3145728 1895 01b6 9A60 str r2, [r3, #8] 1896 .L86: 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (sConfigInjected->AutoInjectedConv != DISABLE) 1897 .loc 1 898 22 1898 01b8 3B68 ldr r3, [r7] 1899 01ba 5B7D ldrb r3, [r3, #21] @ zero_extendqisi2 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 50 1900 .loc 1 898 6 1901 01bc 002B cmp r3, #0 1902 01be 08D0 beq .L87 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the selected ADC automatic injected group conversion */ 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR1 |= ADC_CR1_JAUTO; 1903 .loc 1 901 9 1904 01c0 7B68 ldr r3, [r7, #4] 1905 01c2 1B68 ldr r3, [r3] 1906 .loc 1 901 25 1907 01c4 5A68 ldr r2, [r3, #4] 1908 .loc 1 901 9 1909 01c6 7B68 ldr r3, [r7, #4] 1910 01c8 1B68 ldr r3, [r3] 1911 .loc 1 901 25 1912 01ca 42F48062 orr r2, r2, #1024 1913 01ce 5A60 str r2, [r3, #4] 1914 01d0 07E0 b .L88 1915 .L87: 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable the selected ADC automatic injected group conversion */ 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR1 &= ~(ADC_CR1_JAUTO); 1916 .loc 1 906 9 1917 01d2 7B68 ldr r3, [r7, #4] 1918 01d4 1B68 ldr r3, [r3] 1919 .loc 1 906 25 1920 01d6 5A68 ldr r2, [r3, #4] 1921 .loc 1 906 9 1922 01d8 7B68 ldr r3, [r7, #4] 1923 01da 1B68 ldr r3, [r3] 1924 .loc 1 906 25 1925 01dc 22F48062 bic r2, r2, #1024 1926 01e0 5A60 str r2, [r3, #4] 1927 .L88: 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (sConfigInjected->InjectedDiscontinuousConvMode != DISABLE) 1928 .loc 1 909 22 1929 01e2 3B68 ldr r3, [r7] 1930 01e4 1B7D ldrb r3, [r3, #20] @ zero_extendqisi2 1931 .loc 1 909 6 1932 01e6 002B cmp r3, #0 1933 01e8 08D0 beq .L89 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the selected ADC injected discontinuous mode */ 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR1 |= ADC_CR1_JDISCEN; 1934 .loc 1 912 9 1935 01ea 7B68 ldr r3, [r7, #4] 1936 01ec 1B68 ldr r3, [r3] 1937 .loc 1 912 25 1938 01ee 5A68 ldr r2, [r3, #4] 1939 .loc 1 912 9 1940 01f0 7B68 ldr r3, [r7, #4] 1941 01f2 1B68 ldr r3, [r3] 1942 .loc 1 912 25 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 51 1943 01f4 42F48052 orr r2, r2, #4096 1944 01f8 5A60 str r2, [r3, #4] 1945 01fa 07E0 b .L90 1946 .L89: 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable the selected ADC injected discontinuous mode */ 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->CR1 &= ~(ADC_CR1_JDISCEN); 1947 .loc 1 917 9 1948 01fc 7B68 ldr r3, [r7, #4] 1949 01fe 1B68 ldr r3, [r3] 1950 .loc 1 917 25 1951 0200 5A68 ldr r2, [r3, #4] 1952 .loc 1 917 9 1953 0202 7B68 ldr r3, [r7, #4] 1954 0204 1B68 ldr r3, [r3] 1955 .loc 1 917 25 1956 0206 22F48052 bic r2, r2, #4096 1957 020a 5A60 str r2, [r3, #4] 1958 .L90: 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** switch(sConfigInjected->InjectedRank) 1959 .loc 1 920 25 1960 020c 3B68 ldr r3, [r7] 1961 020e 5B68 ldr r3, [r3, #4] 1962 .loc 1 920 3 1963 0210 032B cmp r3, #3 1964 0212 2ED0 beq .L91 1965 0214 032B cmp r3, #3 1966 0216 40D8 bhi .L92 1967 0218 012B cmp r3, #1 1968 021a 02D0 beq .L93 1969 021c 022B cmp r3, #2 1970 021e 14D0 beq .L94 1971 0220 3BE0 b .L92 1972 .L93: 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** case 1U: 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set injected channel 1 offset */ 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JOFR1 &= ~(ADC_JOFR1_JOFFSET1); 1973 .loc 1 924 11 1974 0222 7B68 ldr r3, [r7, #4] 1975 0224 1B68 ldr r3, [r3] 1976 .loc 1 924 29 1977 0226 5B69 ldr r3, [r3, #20] 1978 .loc 1 924 11 1979 0228 7A68 ldr r2, [r7, #4] 1980 022a 1268 ldr r2, [r2] 1981 .loc 1 924 29 1982 022c 23F47F63 bic r3, r3, #4080 1983 0230 23F00F03 bic r3, r3, #15 1984 0234 5361 str r3, [r2, #20] 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JOFR1 |= sConfigInjected->InjectedOffset; 1985 .loc 1 925 11 1986 0236 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 52 1987 0238 1B68 ldr r3, [r3] 1988 .loc 1 925 29 1989 023a 5969 ldr r1, [r3, #20] 1990 .loc 1 925 47 1991 023c 3B68 ldr r3, [r7] 1992 023e DA68 ldr r2, [r3, #12] 1993 .loc 1 925 11 1994 0240 7B68 ldr r3, [r7, #4] 1995 0242 1B68 ldr r3, [r3] 1996 .loc 1 925 29 1997 0244 0A43 orrs r2, r2, r1 1998 0246 5A61 str r2, [r3, #20] 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** break; 1999 .loc 1 926 7 2000 0248 3BE0 b .L95 2001 .L94: 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** case 2U: 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set injected channel 2 offset */ 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JOFR2 &= ~(ADC_JOFR2_JOFFSET2); 2002 .loc 1 929 11 2003 024a 7B68 ldr r3, [r7, #4] 2004 024c 1B68 ldr r3, [r3] 2005 .loc 1 929 29 2006 024e 9B69 ldr r3, [r3, #24] 2007 .loc 1 929 11 2008 0250 7A68 ldr r2, [r7, #4] 2009 0252 1268 ldr r2, [r2] 2010 .loc 1 929 29 2011 0254 23F47F63 bic r3, r3, #4080 2012 0258 23F00F03 bic r3, r3, #15 2013 025c 9361 str r3, [r2, #24] 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JOFR2 |= sConfigInjected->InjectedOffset; 2014 .loc 1 930 11 2015 025e 7B68 ldr r3, [r7, #4] 2016 0260 1B68 ldr r3, [r3] 2017 .loc 1 930 29 2018 0262 9969 ldr r1, [r3, #24] 2019 .loc 1 930 47 2020 0264 3B68 ldr r3, [r7] 2021 0266 DA68 ldr r2, [r3, #12] 2022 .loc 1 930 11 2023 0268 7B68 ldr r3, [r7, #4] 2024 026a 1B68 ldr r3, [r3] 2025 .loc 1 930 29 2026 026c 0A43 orrs r2, r2, r1 2027 026e 9A61 str r2, [r3, #24] 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** break; 2028 .loc 1 931 7 2029 0270 27E0 b .L95 2030 .L91: 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** case 3U: 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set injected channel 3 offset */ 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JOFR3 &= ~(ADC_JOFR3_JOFFSET3); 2031 .loc 1 934 11 2032 0272 7B68 ldr r3, [r7, #4] 2033 0274 1B68 ldr r3, [r3] 2034 .loc 1 934 29 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 53 2035 0276 DB69 ldr r3, [r3, #28] 2036 .loc 1 934 11 2037 0278 7A68 ldr r2, [r7, #4] 2038 027a 1268 ldr r2, [r2] 2039 .loc 1 934 29 2040 027c 23F47F63 bic r3, r3, #4080 2041 0280 23F00F03 bic r3, r3, #15 2042 0284 D361 str r3, [r2, #28] 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JOFR3 |= sConfigInjected->InjectedOffset; 2043 .loc 1 935 11 2044 0286 7B68 ldr r3, [r7, #4] 2045 0288 1B68 ldr r3, [r3] 2046 .loc 1 935 29 2047 028a D969 ldr r1, [r3, #28] 2048 .loc 1 935 47 2049 028c 3B68 ldr r3, [r7] 2050 028e DA68 ldr r2, [r3, #12] 2051 .loc 1 935 11 2052 0290 7B68 ldr r3, [r7, #4] 2053 0292 1B68 ldr r3, [r3] 2054 .loc 1 935 29 2055 0294 0A43 orrs r2, r2, r1 2056 0296 DA61 str r2, [r3, #28] 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** break; 2057 .loc 1 936 7 2058 0298 13E0 b .L95 2059 .L92: 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** default: 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set injected channel 4 offset */ 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JOFR4 &= ~(ADC_JOFR4_JOFFSET4); 2060 .loc 1 939 11 2061 029a 7B68 ldr r3, [r7, #4] 2062 029c 1B68 ldr r3, [r3] 2063 .loc 1 939 29 2064 029e 1B6A ldr r3, [r3, #32] 2065 .loc 1 939 11 2066 02a0 7A68 ldr r2, [r7, #4] 2067 02a2 1268 ldr r2, [r2] 2068 .loc 1 939 29 2069 02a4 23F47F63 bic r3, r3, #4080 2070 02a8 23F00F03 bic r3, r3, #15 2071 02ac 1362 str r3, [r2, #32] 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->Instance->JOFR4 |= sConfigInjected->InjectedOffset; 2072 .loc 1 940 11 2073 02ae 7B68 ldr r3, [r7, #4] 2074 02b0 1B68 ldr r3, [r3] 2075 .loc 1 940 29 2076 02b2 196A ldr r1, [r3, #32] 2077 .loc 1 940 47 2078 02b4 3B68 ldr r3, [r7] 2079 02b6 DA68 ldr r2, [r3, #12] 2080 .loc 1 940 11 2081 02b8 7B68 ldr r3, [r7, #4] 2082 02ba 1B68 ldr r3, [r3] 2083 .loc 1 940 29 2084 02bc 0A43 orrs r2, r2, r1 2085 02be 1A62 str r2, [r3, #32] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 54 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** break; 2086 .loc 1 941 7 2087 02c0 00BF nop 2088 .L95: 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Pointer to the common control register to which is belonging hadc */ 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (Depending on STM32F4 product, there may be up to 3 ADC and 1 common */ 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* control register) */ 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 2089 .loc 1 947 19 2090 02c2 184B ldr r3, .L99+4 2091 02c4 FB60 str r3, [r7, #12] 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* if ADC1 Channel_18 is selected enable VBAT Channel */ 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if ((hadc->Instance == ADC1) && (sConfigInjected->InjectedChannel == ADC_CHANNEL_VBAT)) 2092 .loc 1 950 12 2093 02c6 7B68 ldr r3, [r7, #4] 2094 02c8 1B68 ldr r3, [r3] 2095 .loc 1 950 6 2096 02ca 174A ldr r2, .L99+8 2097 02cc 9342 cmp r3, r2 2098 02ce 09D1 bne .L96 2099 .loc 1 950 51 discriminator 1 2100 02d0 3B68 ldr r3, [r7] 2101 02d2 1B68 ldr r3, [r3] 2102 .loc 1 950 32 discriminator 1 2103 02d4 122B cmp r3, #18 2104 02d6 05D1 bne .L96 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the VBAT channel*/ 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR |= ADC_CCR_VBATE; 2105 .loc 1 953 24 2106 02d8 FB68 ldr r3, [r7, #12] 2107 02da 5B68 ldr r3, [r3, #4] 2108 02dc 43F48002 orr r2, r3, #4194304 2109 02e0 FB68 ldr r3, [r7, #12] 2110 02e2 5A60 str r2, [r3, #4] 2111 .L96: 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* if ADC1 Channel_16 or Channel_17 is selected enable TSVREFE Channel(Temperature sensor and VRE 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if ((hadc->Instance == ADC1) && ((sConfigInjected->InjectedChannel == ADC_CHANNEL_TEMPSENSOR) || 2112 .loc 1 957 12 2113 02e4 7B68 ldr r3, [r7, #4] 2114 02e6 1B68 ldr r3, [r3] 2115 .loc 1 957 6 2116 02e8 0F4A ldr r2, .L99+8 2117 02ea 9342 cmp r3, r2 2118 02ec 0DD1 bne .L97 2119 .loc 1 957 52 discriminator 1 2120 02ee 3B68 ldr r3, [r7] 2121 02f0 1B68 ldr r3, [r3] 2122 .loc 1 957 32 discriminator 1 2123 02f2 102B cmp r3, #16 2124 02f4 03D0 beq .L98 2125 .loc 1 957 116 discriminator 2 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 55 2126 02f6 3B68 ldr r3, [r7] 2127 02f8 1B68 ldr r3, [r3] 2128 .loc 1 957 97 discriminator 2 2129 02fa 112B cmp r3, #17 2130 02fc 05D1 bne .L97 2131 .L98: 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Enable the TSVREFE channel*/ 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR |= ADC_CCR_TSVREFE; 2132 .loc 1 960 24 2133 02fe FB68 ldr r3, [r7, #12] 2134 0300 5B68 ldr r3, [r3, #4] 2135 0302 43F40002 orr r2, r3, #8388608 2136 0306 FB68 ldr r3, [r7, #12] 2137 0308 5A60 str r2, [r3, #4] 2138 .L97: 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process unlocked */ 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc); 2139 .loc 1 964 3 2140 030a 7B68 ldr r3, [r7, #4] 2141 030c 0022 movs r2, #0 2142 030e 83F83C20 strb r2, [r3, #60] 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return function status */ 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return HAL_OK; 2143 .loc 1 967 10 2144 0312 0023 movs r3, #0 2145 .L82: 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 2146 .loc 1 968 1 2147 0314 1846 mov r0, r3 2148 0316 1437 adds r7, r7, #20 2149 .LCFI60: 2150 .cfi_def_cfa_offset 4 2151 0318 BD46 mov sp, r7 2152 .LCFI61: 2153 .cfi_def_cfa_register 13 2154 @ sp needed 2155 031a 5DF8047B ldr r7, [sp], #4 2156 .LCFI62: 2157 .cfi_restore 7 2158 .cfi_def_cfa_offset 0 2159 031e 7047 bx lr 2160 .L100: 2161 .align 2 2162 .L99: 2163 0320 01000F00 .word 983041 2164 0324 00230140 .word 1073816320 2165 0328 00200140 .word 1073815552 2166 .cfi_endproc 2167 .LFE245: 2169 .section .text.HAL_ADCEx_MultiModeConfigChannel,"ax",%progbits 2170 .align 1 2171 .global HAL_ADCEx_MultiModeConfigChannel 2172 .syntax unified ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 56 2173 .thumb 2174 .thumb_func 2176 HAL_ADCEx_MultiModeConfigChannel: 2177 .LFB246: 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief Configures the ADC multi-mode 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified ADC. 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param multimode pointer to an ADC_MultiModeTypeDef structure that contains 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for multimode. 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval HAL status 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_MultiModeConfigChannel(ADC_HandleTypeDef* hadc, ADC_MultiModeTypeDef* m 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 2178 .loc 1 979 1 2179 .cfi_startproc 2180 @ args = 0, pretend = 0, frame = 16 2181 @ frame_needed = 1, uses_anonymous_args = 0 2182 @ link register save eliminated. 2183 0000 80B4 push {r7} 2184 .LCFI63: 2185 .cfi_def_cfa_offset 4 2186 .cfi_offset 7, -4 2187 0002 85B0 sub sp, sp, #20 2188 .LCFI64: 2189 .cfi_def_cfa_offset 24 2190 0004 00AF add r7, sp, #0 2191 .LCFI65: 2192 .cfi_def_cfa_register 7 2193 0006 7860 str r0, [r7, #4] 2194 0008 3960 str r1, [r7] 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_Common_TypeDef *tmpADC_Common; 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Check the parameters */ 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_MODE(multimode->Mode)); 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_DMA_ACCESS_MODE(multimode->DMAAccessMode)); 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** assert_param(IS_ADC_SAMPLING_DELAY(multimode->TwoSamplingDelay)); 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process locked */ 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_LOCK(hadc); 2195 .loc 1 989 3 2196 000a 7B68 ldr r3, [r7, #4] 2197 000c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 2198 0010 012B cmp r3, #1 2199 0012 01D1 bne .L102 2200 .loc 1 989 3 is_stmt 0 discriminator 1 2201 0014 0223 movs r3, #2 2202 0016 31E0 b .L103 2203 .L102: 2204 .loc 1 989 3 discriminator 2 2205 0018 7B68 ldr r3, [r7, #4] 2206 001a 0122 movs r2, #1 2207 001c 83F83C20 strb r2, [r3, #60] 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Pointer to the common control register to which is belonging hadc */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 57 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* (Depending on STM32F4 product, there may be up to 3 ADC and 1 common */ 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* control register) */ 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 2208 .loc 1 994 17 is_stmt 1 discriminator 2 2209 0020 194B ldr r3, .L104 2210 0022 FB60 str r3, [r7, #12] 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC mode */ 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR &= ~(ADC_CCR_MULTI); 2211 .loc 1 997 22 discriminator 2 2212 0024 FB68 ldr r3, [r7, #12] 2213 0026 5B68 ldr r3, [r3, #4] 2214 0028 23F01F02 bic r2, r3, #31 2215 002c FB68 ldr r3, [r7, #12] 2216 002e 5A60 str r2, [r3, #4] 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR |= multimode->Mode; 2217 .loc 1 998 22 discriminator 2 2218 0030 FB68 ldr r3, [r7, #12] 2219 0032 5A68 ldr r2, [r3, #4] 2220 .loc 1 998 34 discriminator 2 2221 0034 3B68 ldr r3, [r7] 2222 0036 1B68 ldr r3, [r3] 2223 .loc 1 998 22 discriminator 2 2224 0038 1A43 orrs r2, r2, r3 2225 003a FB68 ldr r3, [r7, #12] 2226 003c 5A60 str r2, [r3, #4] 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set the ADC DMA access mode */ 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR &= ~(ADC_CCR_DMA); 2227 .loc 1 1001 22 discriminator 2 2228 003e FB68 ldr r3, [r7, #12] 2229 0040 5B68 ldr r3, [r3, #4] 2230 0042 23F44042 bic r2, r3, #49152 2231 0046 FB68 ldr r3, [r7, #12] 2232 0048 5A60 str r2, [r3, #4] 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR |= multimode->DMAAccessMode; 2233 .loc 1 1002 22 discriminator 2 2234 004a FB68 ldr r3, [r7, #12] 2235 004c 5A68 ldr r2, [r3, #4] 2236 .loc 1 1002 34 discriminator 2 2237 004e 3B68 ldr r3, [r7] 2238 0050 5B68 ldr r3, [r3, #4] 2239 .loc 1 1002 22 discriminator 2 2240 0052 1A43 orrs r2, r2, r3 2241 0054 FB68 ldr r3, [r7, #12] 2242 0056 5A60 str r2, [r3, #4] 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set delay between two sampling phases */ 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR &= ~(ADC_CCR_DELAY); 2243 .loc 1 1005 22 discriminator 2 2244 0058 FB68 ldr r3, [r7, #12] 2245 005a 5B68 ldr r3, [r3, #4] 2246 005c 23F47062 bic r2, r3, #3840 2247 0060 FB68 ldr r3, [r7, #12] 2248 0062 5A60 str r2, [r3, #4] 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** tmpADC_Common->CCR |= multimode->TwoSamplingDelay; 2249 .loc 1 1006 22 discriminator 2 ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 58 2250 0064 FB68 ldr r3, [r7, #12] 2251 0066 5A68 ldr r2, [r3, #4] 2252 .loc 1 1006 34 discriminator 2 2253 0068 3B68 ldr r3, [r7] 2254 006a 9B68 ldr r3, [r3, #8] 2255 .loc 1 1006 22 discriminator 2 2256 006c 1A43 orrs r2, r2, r3 2257 006e FB68 ldr r3, [r7, #12] 2258 0070 5A60 str r2, [r3, #4] 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Process unlocked */ 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc); 2259 .loc 1 1009 3 discriminator 2 2260 0072 7B68 ldr r3, [r7, #4] 2261 0074 0022 movs r2, #0 2262 0076 83F83C20 strb r2, [r3, #60] 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Return function status */ 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** return HAL_OK; 2263 .loc 1 1012 10 discriminator 2 2264 007a 0023 movs r3, #0 2265 .L103: 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 2266 .loc 1 1013 1 2267 007c 1846 mov r0, r3 2268 007e 1437 adds r7, r7, #20 2269 .LCFI66: 2270 .cfi_def_cfa_offset 4 2271 0080 BD46 mov sp, r7 2272 .LCFI67: 2273 .cfi_def_cfa_register 13 2274 @ sp needed 2275 0082 5DF8047B ldr r7, [sp], #4 2276 .LCFI68: 2277 .cfi_restore 7 2278 .cfi_def_cfa_offset 0 2279 0086 7047 bx lr 2280 .L105: 2281 .align 2 2282 .L104: 2283 0088 00230140 .word 1073816320 2284 .cfi_endproc 2285 .LFE246: 2287 .section .text.ADC_MultiModeDMAConvCplt,"ax",%progbits 2288 .align 1 2289 .syntax unified 2290 .thumb 2291 .thumb_func 2293 ADC_MultiModeDMAConvCplt: 2294 .LFB247: 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @} 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief DMA transfer complete callback. ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 59 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified DMA module. 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval None 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** static void ADC_MultiModeDMAConvCplt(DMA_HandleTypeDef *hdma) 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 2295 .loc 1 1026 1 2296 .cfi_startproc 2297 @ args = 0, pretend = 0, frame = 16 2298 @ frame_needed = 1, uses_anonymous_args = 0 2299 0000 80B5 push {r7, lr} 2300 .LCFI69: 2301 .cfi_def_cfa_offset 8 2302 .cfi_offset 7, -8 2303 .cfi_offset 14, -4 2304 0002 84B0 sub sp, sp, #16 2305 .LCFI70: 2306 .cfi_def_cfa_offset 24 2307 0004 00AF add r7, sp, #0 2308 .LCFI71: 2309 .cfi_def_cfa_register 7 2310 0006 7860 str r0, [r7, #4] 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Retrieve ADC handle corresponding to current DMA handle */ 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 2311 .loc 1 1028 22 2312 0008 7B68 ldr r3, [r7, #4] 2313 000a 9B6B ldr r3, [r3, #56] 2314 000c FB60 str r3, [r7, #12] 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Update state machine on conversion status if not in error state */ 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) 2315 .loc 1 1031 7 2316 000e FB68 ldr r3, [r7, #12] 2317 0010 1B6C ldr r3, [r3, #64] 2318 0012 03F05003 and r3, r3, #80 2319 .loc 1 1031 6 2320 0016 002B cmp r3, #0 2321 0018 3CD1 bne .L107 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Update ADC state machine */ 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 2322 .loc 1 1034 5 2323 001a FB68 ldr r3, [r7, #12] 2324 001c 1B6C ldr r3, [r3, #64] 2325 001e 43F40072 orr r2, r3, #512 2326 0022 FB68 ldr r3, [r7, #12] 2327 0024 1A64 str r2, [r3, #64] 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Determine whether any further conversion upcoming on group regular */ 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* by external trigger, continuous mode or scan sequence on going. */ 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */ 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* The test of scan sequence on going is done either with scan */ 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* sequence disabled or with end of conversion flag set to */ 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* of end of sequence. */ 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 2328 .loc 1 1042 8 2329 0026 FB68 ldr r3, [r7, #12] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 60 2330 0028 1B68 ldr r3, [r3] 2331 002a 9B68 ldr r3, [r3, #8] 2332 002c 03F04053 and r3, r3, #805306368 2333 .loc 1 1042 7 2334 0030 002B cmp r3, #0 2335 0032 2BD1 bne .L108 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2336 .loc 1 1043 19 discriminator 1 2337 0034 FB68 ldr r3, [r7, #12] 2338 0036 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2339 .loc 1 1042 62 discriminator 1 2340 0038 002B cmp r3, #0 2341 003a 27D1 bne .L108 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 2342 .loc 1 1044 9 2343 003c FB68 ldr r3, [r7, #12] 2344 003e 1B68 ldr r3, [r3] 2345 0040 DB6A ldr r3, [r3, #44] 2346 0042 03F47003 and r3, r3, #15728640 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 2347 .loc 1 1043 62 2348 0046 002B cmp r3, #0 2349 0048 06D0 beq .L109 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 2350 .loc 1 1045 9 2351 004a FB68 ldr r3, [r7, #12] 2352 004c 1B68 ldr r3, [r3] 2353 004e 9B68 ldr r3, [r3, #8] 2354 0050 03F48063 and r3, r3, #1024 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 2355 .loc 1 1044 58 2356 0054 002B cmp r3, #0 2357 0056 19D1 bne .L108 2358 .L109: 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Disable ADC end of single conversion interrupt on group regular */ 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */ 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* HAL_ADC_Start_IT(), but is not disabled here because can be used */ 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* by overrun IRQ process below. */ 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); 2359 .loc 1 1051 7 2360 0058 FB68 ldr r3, [r7, #12] 2361 005a 1B68 ldr r3, [r3] 2362 005c 5A68 ldr r2, [r3, #4] 2363 005e FB68 ldr r3, [r7, #12] 2364 0060 1B68 ldr r3, [r3] 2365 0062 22F02002 bic r2, r2, #32 2366 0066 5A60 str r2, [r3, #4] 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC state */ 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 2367 .loc 1 1054 7 2368 0068 FB68 ldr r3, [r7, #12] 2369 006a 1B6C ldr r3, [r3, #64] 2370 006c 23F48072 bic r2, r3, #256 2371 0070 FB68 ldr r3, [r7, #12] ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 61 2372 0072 1A64 str r2, [r3, #64] 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 2373 .loc 1 1056 11 2374 0074 FB68 ldr r3, [r7, #12] 2375 0076 1B6C ldr r3, [r3, #64] 2376 0078 03F48053 and r3, r3, #4096 2377 .loc 1 1056 10 2378 007c 002B cmp r3, #0 2379 007e 05D1 bne .L108 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 2380 .loc 1 1058 9 2381 0080 FB68 ldr r3, [r7, #12] 2382 0082 1B6C ldr r3, [r3, #64] 2383 0084 43F00102 orr r2, r3, #1 2384 0088 FB68 ldr r3, [r7, #12] 2385 008a 1A64 str r2, [r3, #64] 2386 .L108: 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Conversion complete callback */ 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_ConvCpltCallback(hadc); 2387 .loc 1 1063 5 2388 008c F868 ldr r0, [r7, #12] 2389 008e FFF7FEFF bl HAL_ADC_ConvCpltCallback 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** else 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Call DMA error callback */ 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->DMA_Handle->XferErrorCallback(hdma); 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 2390 .loc 1 1070 1 2391 0092 04E0 b .L111 2392 .L107: 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 2393 .loc 1 1068 9 2394 0094 FB68 ldr r3, [r7, #12] 2395 0096 9B6B ldr r3, [r3, #56] 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 2396 .loc 1 1068 21 2397 0098 DB6C ldr r3, [r3, #76] 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 2398 .loc 1 1068 5 2399 009a 7868 ldr r0, [r7, #4] 2400 009c 9847 blx r3 2401 .LVL0: 2402 .L111: 2403 .loc 1 1070 1 2404 009e 00BF nop 2405 00a0 1037 adds r7, r7, #16 2406 .LCFI72: 2407 .cfi_def_cfa_offset 8 2408 00a2 BD46 mov sp, r7 2409 .LCFI73: ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 62 2410 .cfi_def_cfa_register 13 2411 @ sp needed 2412 00a4 80BD pop {r7, pc} 2413 .cfi_endproc 2414 .LFE247: 2416 .section .text.ADC_MultiModeDMAHalfConvCplt,"ax",%progbits 2417 .align 1 2418 .syntax unified 2419 .thumb 2420 .thumb_func 2422 ADC_MultiModeDMAHalfConvCplt: 2423 .LFB248: 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief DMA half transfer complete callback. 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified DMA module. 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval None 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** static void ADC_MultiModeDMAHalfConvCplt(DMA_HandleTypeDef *hdma) 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 2424 .loc 1 1079 1 2425 .cfi_startproc 2426 @ args = 0, pretend = 0, frame = 16 2427 @ frame_needed = 1, uses_anonymous_args = 0 2428 0000 80B5 push {r7, lr} 2429 .LCFI74: 2430 .cfi_def_cfa_offset 8 2431 .cfi_offset 7, -8 2432 .cfi_offset 14, -4 2433 0002 84B0 sub sp, sp, #16 2434 .LCFI75: 2435 .cfi_def_cfa_offset 24 2436 0004 00AF add r7, sp, #0 2437 .LCFI76: 2438 .cfi_def_cfa_register 7 2439 0006 7860 str r0, [r7, #4] 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 2440 .loc 1 1080 24 2441 0008 7B68 ldr r3, [r7, #4] 2442 000a 9B6B ldr r3, [r3, #56] 2443 000c FB60 str r3, [r7, #12] 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Conversion complete callback */ 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_ConvHalfCpltCallback(hadc); 2444 .loc 1 1082 5 2445 000e F868 ldr r0, [r7, #12] 2446 0010 FFF7FEFF bl HAL_ADC_ConvHalfCpltCallback 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 2447 .loc 1 1083 1 2448 0014 00BF nop 2449 0016 1037 adds r7, r7, #16 2450 .LCFI77: 2451 .cfi_def_cfa_offset 8 2452 0018 BD46 mov sp, r7 2453 .LCFI78: 2454 .cfi_def_cfa_register 13 2455 @ sp needed ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 63 2456 001a 80BD pop {r7, pc} 2457 .cfi_endproc 2458 .LFE248: 2460 .section .text.ADC_MultiModeDMAError,"ax",%progbits 2461 .align 1 2462 .syntax unified 2463 .thumb 2464 .thumb_func 2466 ADC_MultiModeDMAError: 2467 .LFB249: 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /** 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @brief DMA error callback 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * the configuration information for the specified DMA module. 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** * @retval None 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** */ 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** static void ADC_MultiModeDMAError(DMA_HandleTypeDef *hdma) 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** { 2468 .loc 1 1092 1 2469 .cfi_startproc 2470 @ args = 0, pretend = 0, frame = 16 2471 @ frame_needed = 1, uses_anonymous_args = 0 2472 0000 80B5 push {r7, lr} 2473 .LCFI79: 2474 .cfi_def_cfa_offset 8 2475 .cfi_offset 7, -8 2476 .cfi_offset 14, -4 2477 0002 84B0 sub sp, sp, #16 2478 .LCFI80: 2479 .cfi_def_cfa_offset 24 2480 0004 00AF add r7, sp, #0 2481 .LCFI81: 2482 .cfi_def_cfa_register 7 2483 0006 7860 str r0, [r7, #4] 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 2484 .loc 1 1093 24 2485 0008 7B68 ldr r3, [r7, #4] 2486 000a 9B6B ldr r3, [r3, #56] 2487 000c FB60 str r3, [r7, #12] 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->State= HAL_ADC_STATE_ERROR_DMA; 2488 .loc 1 1094 16 2489 000e FB68 ldr r3, [r7, #12] 2490 0010 4022 movs r2, #64 2491 0012 1A64 str r2, [r3, #64] 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** /* Set ADC error code to DMA error */ 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** hadc->ErrorCode |= HAL_ADC_ERROR_DMA; 2492 .loc 1 1096 21 2493 0014 FB68 ldr r3, [r7, #12] 2494 0016 5B6C ldr r3, [r3, #68] 2495 0018 43F00402 orr r2, r3, #4 2496 001c FB68 ldr r3, [r7, #12] 2497 001e 5A64 str r2, [r3, #68] 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** HAL_ADC_ErrorCallback(hadc); 2498 .loc 1 1097 5 2499 0020 F868 ldr r0, [r7, #12] 2500 0022 FFF7FEFF bl HAL_ADC_ErrorCallback ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 64 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c **** } 2501 .loc 1 1098 1 2502 0026 00BF nop 2503 0028 1037 adds r7, r7, #16 2504 .LCFI82: 2505 .cfi_def_cfa_offset 8 2506 002a BD46 mov sp, r7 2507 .LCFI83: 2508 .cfi_def_cfa_register 13 2509 @ sp needed 2510 002c 80BD pop {r7, pc} 2511 .cfi_endproc 2512 .LFE249: 2514 .text 2515 .Letext0: 2516 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 2517 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 2518 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h" 2519 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h" 2520 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 2521 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" 2522 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h" 2523 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h" 2524 .file 10 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h" ARM GAS C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s page 65 DEFINED SYMBOLS *ABS*:00000000 stm32f4xx_hal_adc_ex.c C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:20 .text.HAL_ADCEx_InjectedStart:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:26 .text.HAL_ADCEx_InjectedStart:00000000 HAL_ADCEx_InjectedStart C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:288 .text.HAL_ADCEx_InjectedStart:00000184 $d C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:296 .text.HAL_ADCEx_InjectedStart_IT:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:302 .text.HAL_ADCEx_InjectedStart_IT:00000000 HAL_ADCEx_InjectedStart_IT C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:571 .text.HAL_ADCEx_InjectedStart_IT:00000194 $d C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:579 .text.HAL_ADCEx_InjectedStop:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:585 .text.HAL_ADCEx_InjectedStop:00000000 HAL_ADCEx_InjectedStop C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:697 .text.HAL_ADCEx_InjectedPollForConversion:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:703 .text.HAL_ADCEx_InjectedPollForConversion:00000000 HAL_ADCEx_InjectedPollForConversion C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:873 .text.HAL_ADCEx_InjectedStop_IT:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:879 .text.HAL_ADCEx_InjectedStop_IT:00000000 HAL_ADCEx_InjectedStop_IT C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:999 .text.HAL_ADCEx_InjectedGetValue:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1005 .text.HAL_ADCEx_InjectedGetValue:00000000 HAL_ADCEx_InjectedGetValue C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1041 .text.HAL_ADCEx_InjectedGetValue:00000028 $d C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1045 .text.HAL_ADCEx_InjectedGetValue:00000038 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1110 .text.HAL_ADCEx_MultiModeStart_DMA:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1116 .text.HAL_ADCEx_MultiModeStart_DMA:00000000 HAL_ADCEx_MultiModeStart_DMA C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1370 .text.HAL_ADCEx_MultiModeStart_DMA:00000180 $d C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2293 .text.ADC_MultiModeDMAConvCplt:00000000 ADC_MultiModeDMAConvCplt C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2422 .text.ADC_MultiModeDMAHalfConvCplt:00000000 ADC_MultiModeDMAHalfConvCplt C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2466 .text.ADC_MultiModeDMAError:00000000 ADC_MultiModeDMAError C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1380 .text.HAL_ADCEx_MultiModeStop_DMA:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1386 .text.HAL_ADCEx_MultiModeStop_DMA:00000000 HAL_ADCEx_MultiModeStop_DMA C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1489 .text.HAL_ADCEx_MultiModeStop_DMA:00000094 $d C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1494 .text.HAL_ADCEx_MultiModeGetValue:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1500 .text.HAL_ADCEx_MultiModeGetValue:00000000 HAL_ADCEx_MultiModeGetValue C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1541 .text.HAL_ADCEx_MultiModeGetValue:0000001c $d C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1546 .text.HAL_ADCEx_InjectedConvCpltCallback:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1552 .text.HAL_ADCEx_InjectedConvCpltCallback:00000000 HAL_ADCEx_InjectedConvCpltCallback C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1588 .text.HAL_ADCEx_InjectedConfigChannel:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:1594 .text.HAL_ADCEx_InjectedConfigChannel:00000000 HAL_ADCEx_InjectedConfigChannel C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2163 .text.HAL_ADCEx_InjectedConfigChannel:00000320 $d C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2170 .text.HAL_ADCEx_MultiModeConfigChannel:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2176 .text.HAL_ADCEx_MultiModeConfigChannel:00000000 HAL_ADCEx_MultiModeConfigChannel C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2283 .text.HAL_ADCEx_MultiModeConfigChannel:00000088 $d C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2288 .text.ADC_MultiModeDMAConvCplt:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2417 .text.ADC_MultiModeDMAHalfConvCplt:00000000 $t C:\Users\10728\AppData\Local\Temp\ccTZWWKd.s:2461 .text.ADC_MultiModeDMAError:00000000 $t UNDEFINED SYMBOLS SystemCoreClock HAL_GetTick HAL_DMA_Start_IT HAL_DMA_Abort HAL_ADC_ConvCpltCallback HAL_ADC_ConvHalfCpltCallback HAL_ADC_ErrorCallback