ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.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.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.HAL_ADC_Init,"ax",%progbits 20 .align 1 21 .global HAL_ADC_Init 22 .syntax unified 23 .thumb 24 .thumb_func 26 HAL_ADC_Init: 27 .LFB235: 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c" 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @file stm32f4xx_hal_adc.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief This file provides firmware functions to manage the following 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * functionalities of the Analog to Digital Converter (ADC) peripheral: 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + Initialization and de-initialization functions 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + Peripheral Control functions 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + Peripheral State functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ****************************************************************************** 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @attention 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * Copyright (c) 2017 STMicroelectronics. 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * All rights reserved. 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This software is licensed under terms that can be found in the LICENSE file 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in the root directory of this software component. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ****************************************************************************** 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### ADC Peripheral features ##### 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) 12-bit, 10-bit, 8-bit or 6-bit configurable resolution. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Interrupt generation at the end of conversion, end of injected conversion, 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and in case of analog watchdog or overrun events 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Single and continuous conversion modes. ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 2 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Scan mode for automatic conversion of channel 0 to channel x. 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Data alignment with in-built data coherency. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Channel-wise programmable sampling time. 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) External trigger option with configurable polarity for both regular and 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** injected conversion. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Dual/Triple mode (on devices with 2 ADCs or more). 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configurable DMA data storage in Dual/Triple ADC mode. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configurable delay between conversions in Dual/Triple interleaved mode. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC conversion type (refer to the datasheets). 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC supply requirements: 2.4 V to 3.6 V at full speed and down to 1.8 V at 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** slower speed. 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC input range: VREF(minus) = VIN = VREF(plus). 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) DMA request generation during regular channel conversion. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### How to use this driver ##### 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#)Initialize the ADC low level resources by implementing the HAL_ADC_MspInit(): 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) Enable the ADC interface clock using __HAL_RCC_ADC_CLK_ENABLE() 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) ADC pins configuration 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the clock for the ADC GPIOs using the following function: 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_RCC_GPIOx_CLK_ENABLE() 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure these ADC pins in analog mode using HAL_GPIO_Init() 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) In case of using interrupts (e.g. HAL_ADC_Start_IT()) 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure the ADC interrupt priority using HAL_NVIC_SetPriority() 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the ADC IRQ handler using HAL_NVIC_EnableIRQ() 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) In ADC IRQ handler, call HAL_ADC_IRQHandler() 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) In case of using DMA to control data transfer (e.g. HAL_ADC_Start_DMA()) 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the DMAx interface clock using __HAL_RCC_DMAx_CLK_ENABLE() 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure and enable two DMA streams stream for managing data 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** transfer from peripheral to memory (output stream) 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Associate the initialized DMA handle to the CRYP DMA handle 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using __HAL_LINKDMA() 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure the priority and enable the NVIC for the transfer complete 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** interrupt on the two DMA Streams. The output stream should have higher 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** priority than the input stream. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Configuration of ADC, groups regular/injected, channels parameters *** 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configure the ADC parameters (resolution, data alignment, ...) 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and regular group parameters (conversion trigger, sequencer, ...) 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADC_Init(). 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configure the channels for regular group parameters (channel number, 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** channel rank into sequencer, ..., into regular group) 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADC_ConfigChannel(). 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, configure the injected group parameters (conversion trigger, 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** sequencer, ..., of injected group) 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and the channels for injected group parameters (channel number, 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** channel rank into sequencer, ..., into injected group) 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADCEx_InjectedConfigChannel(). 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, configure the analog watchdog parameters (channels 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** monitored, thresholds, ...) using function HAL_ADC_AnalogWDGConfig(). ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 3 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, for devices with several ADC instances: configure the 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** multimode parameters using function HAL_ADCEx_MultiModeConfigChannel(). 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Execution of ADC conversions *** 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC driver can be used among three modes: polling, interruption, 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** transfer by DMA. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Polling mode IO operation *** 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ================================= 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start() 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Wait for end of conversion using HAL_ADC_PollForConversion(), at this stage 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** user can specify the value of timeout according to his end application 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) To read the ADC converted values, use the HAL_ADC_GetValue() function. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop() 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Interrupt mode IO operation *** 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =================================== 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start_IT() 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Use HAL_ADC_IRQHandler() called under ADC_IRQHandler() Interrupt subroutine 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) At ADC end of conversion HAL_ADC_ConvCpltCallback() function is executed and user can 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ConvCpltCallback 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) In case of ADC Error, HAL_ADC_ErrorCallback() function is executed and user can 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ErrorCallback 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop_IT() 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** DMA mode IO operation *** 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================== 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start_DMA(), at this stage the user specify the l 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** of data to be transferred at each end of conversion 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) At The end of data transfer by HAL_ADC_ConvCpltCallback() function is executed and user 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ConvCpltCallback 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) In case of transfer Error, HAL_ADC_ErrorCallback() function is executed and user can 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ErrorCallback 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop_DMA() 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** ADC HAL driver macros list *** 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================= 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Below the list of most used macros in ADC HAL driver. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_ENABLE : Enable the ADC peripheral 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_DISABLE : Disable the ADC peripheral 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_ENABLE_IT: Enable the ADC end of conversion interrupt 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_DISABLE_IT: Disable the ADC end of conversion interrupt 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_GET_IT_SOURCE: Check if the specified ADC interrupt source is enabled or disabl 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_CLEAR_FLAG: Clear the ADC's pending flags 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_GET_FLAG: Get the selected ADC's flag status 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ADC_GET_RESOLUTION: Return resolution bits in CR1 register 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (@) You can refer to the ADC HAL driver header file for more useful macros ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 4 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Deinitialization of ADC *** 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Disable the ADC interface 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) ADC clock can be hard reset and disabled at RCC top level. 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Hard reset of ADC peripherals 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using macro __HAL_RCC_ADC_FORCE_RESET(), __HAL_RCC_ADC_RELEASE_RESET(). 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) ADC clock disable using the equivalent macro/functions as configuration step. 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Example: 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Into HAL_ADC_MspDeInit() (recommended code location) or with 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** other device clock parameters configuration: 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) HAL_RCC_GetOscConfig(&RCC_OscInitStructure); 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI; 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSIState = RCC_HSI_OFF; (if not used for system clock) 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure); 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC pins configuration 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the clock for the ADC GPIOs using macro __HAL_RCC_GPIOx_CLK_DISABLE() 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions: 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the NVIC for ADC using function HAL_NVIC_DisableIRQ(ADCx_IRQn) 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, in case of usage of DMA: 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Deinitialize the DMA using function HAL_DMA_DeInit(). 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the NVIC for DMA using function HAL_NVIC_DisableIRQ(DMAx_Channelx_IRQn) 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Callback registration *** 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ============================================================================== 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** The compilation flag USE_HAL_ADC_REGISTER_CALLBACKS, when set to 1, 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** allows the user to configure dynamically the driver callbacks. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Use Functions HAL_ADC_RegisterCallback() 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** to register an interrupt callback. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Function HAL_ADC_RegisterCallback() allows to register following callbacks: 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedQueueOverflowCallback : ADC group injected context queue overflow callback 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow2Callback : ADC analog watchdog 2 callback 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow3Callback : ADC analog watchdog 3 callback 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) EndOfSamplingCallback : ADC end of sampling callback 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and a pointer to the user callback function. 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Use function HAL_ADC_UnRegisterCallback to reset a callback to the default 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** weak function. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_UnRegisterCallback takes as parameters the HAL peripheral handle, ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 5 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and the Callback ID. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This function allows to reset following callbacks: 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ErrorCallback : ADC error callback 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedQueueOverflowCallback : ADC group injected context queue overflow callback 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow2Callback : ADC analog watchdog 2 callback 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow3Callback : ADC analog watchdog 3 callback 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) EndOfSamplingCallback : ADC end of sampling callback 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** By default, after the HAL_ADC_Init() and when the state is HAL_ADC_STATE_RESET 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** all callbacks are set to the corresponding weak functions: 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** examples HAL_ADC_ConvCpltCallback(), HAL_ADC_ErrorCallback(). 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Exception done for MspInit and MspDeInit functions that are 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** reset to the legacy weak functions in the HAL_ADC_Init()/ HAL_ADC_DeInit() only when 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** these callbacks are null (not registered beforehand). 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** If MspInit or MspDeInit are not null, the HAL_ADC_Init()/ HAL_ADC_DeInit() 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Callbacks can be registered/unregistered in HAL_ADC_STATE_READY state only. 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** in HAL_ADC_STATE_READY or HAL_ADC_STATE_RESET state, 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Then, the user first registers the MspInit/MspDeInit user callbacks 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using HAL_ADC_RegisterCallback() before calling HAL_ADC_DeInit() 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** or HAL_ADC_Init() function. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** When the compilation flag USE_HAL_ADC_REGISTER_CALLBACKS is set to 0 or 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** not defined, the callback registration feature is not available and all callbacks 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** are set to the corresponding weak functions. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Includes ------------------------------------------------------------------*/ 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #include "stm32f4xx_hal.h" 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @addtogroup STM32F4xx_HAL_Driver 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC ADC 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief ADC driver modules 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 6 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef HAL_ADC_MODULE_ENABLED 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private typedef -----------------------------------------------------------*/ 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private define ------------------------------------------------------------*/ 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private macro -------------------------------------------------------------*/ 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private variables ---------------------------------------------------------*/ 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @addtogroup ADC_Private_Functions 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private function prototypes -----------------------------------------------*/ 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_Init(ADC_HandleTypeDef* hadc); 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma); 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma); 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma); 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Exported functions --------------------------------------------------------*/ 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions ADC Exported Functions 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group1 Initialization and de-initialization functions 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initialization and Configuration functions 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### Initialization and de-initialization functions ##### 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] This section provides functions allowing to: 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Initialize and configure the ADC. 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) De-initialize the ADC. 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initializes the ADCx peripheral according to the specified parameters 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in the ADC_InitStruct and initializes the ADC MSP. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note This function is used to configure the global features of the ADC ( 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ClockPrescaler, Resolution, Data Alignment and number of conversion), however, 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the rest of the configuration parameters are specific to the regular 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * channels group (scan mode activation, continuous mode activation, 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * External trigger source and edge, DMA continuous request after the 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * last transfer and End of conversion selection). 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc) 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 29 .loc 1 312 1 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 16 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 7 32 @ frame_needed = 1, uses_anonymous_args = 0 33 0000 80B5 push {r7, lr} 34 .LCFI0: 35 .cfi_def_cfa_offset 8 36 .cfi_offset 7, -8 37 .cfi_offset 14, -4 38 0002 84B0 sub sp, sp, #16 39 .LCFI1: 40 .cfi_def_cfa_offset 24 41 0004 00AF add r7, sp, #0 42 .LCFI2: 43 .cfi_def_cfa_register 7 44 0006 7860 str r0, [r7, #4] 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 45 .loc 1 313 21 46 0008 0023 movs r3, #0 47 000a FB73 strb r3, [r7, #15] 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check ADC handle */ 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc == NULL) 48 .loc 1 316 5 49 000c 7B68 ldr r3, [r7, #4] 50 000e 002B cmp r3, #0 51 0010 01D1 bne .L2 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR; 52 .loc 1 318 12 53 0012 0123 movs r3, #1 54 0014 33E0 b .L3 55 .L2: 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler)); 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution)); 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ScanConvMode)); 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG(hadc->Init.ExternalTrigConv)); 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign)); 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_LENGTH(hadc->Init.NbrOfConversion)); 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests)); 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EOCSelection(hadc->Init.EOCSelection)); 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode)); 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc->State == HAL_ADC_STATE_RESET) 56 .loc 1 339 10 57 0016 7B68 ldr r3, [r7, #4] 58 0018 1B6C ldr r3, [r3, #64] 59 .loc 1 339 5 60 001a 002B cmp r3, #0 61 001c 09D1 bne .L4 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 8 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Init the ADC Callback settings */ 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->MspInitCallback == NULL) 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Init the low level hardware */ 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback(hadc); 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Init the low level hardware */ 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_MspInit(hadc); 62 .loc 1 357 5 63 001e 7868 ldr r0, [r7, #4] 64 0020 FFF7FEFF bl HAL_ADC_MspInit 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Initialize ADC error code */ 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 65 .loc 1 361 5 66 0024 7B68 ldr r3, [r7, #4] 67 0026 0022 movs r2, #0 68 0028 5A64 str r2, [r3, #68] 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Allocate lock resource and initialize it */ 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Lock = HAL_UNLOCKED; 69 .loc 1 364 16 70 002a 7B68 ldr r3, [r7, #4] 71 002c 0022 movs r2, #0 72 002e 83F83C20 strb r2, [r3, #60] 73 .L4: 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */ 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* correctly completed. */ 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) 74 .loc 1 369 7 75 0032 7B68 ldr r3, [r7, #4] 76 0034 1B6C ldr r3, [r3, #64] 77 0036 03F01003 and r3, r3, #16 78 .loc 1 369 6 79 003a 002B cmp r3, #0 80 003c 18D1 bne .L5 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 81 .loc 1 372 5 82 003e 7B68 ldr r3, [r7, #4] 83 0040 1B6C ldr r3, [r3, #64] 84 0042 23F48853 bic r3, r3, #4352 85 0046 23F00203 bic r3, r3, #2 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 9 86 004a 43F00202 orr r2, r3, #2 87 004e 7B68 ldr r3, [r7, #4] 88 0050 1A64 str r2, [r3, #64] 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL); 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC parameters */ 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Init(hadc); 89 .loc 1 377 5 90 0052 7868 ldr r0, [r7, #4] 91 0054 FFF7FEFF bl ADC_Init 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to none */ 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 92 .loc 1 380 5 93 0058 7B68 ldr r3, [r7, #4] 94 005a 0022 movs r2, #0 95 005c 5A64 str r2, [r3, #68] 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the ADC state */ 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 96 .loc 1 383 5 97 005e 7B68 ldr r3, [r7, #4] 98 0060 1B6C ldr r3, [r3, #64] 99 0062 23F00303 bic r3, r3, #3 100 0066 43F00102 orr r2, r3, #1 101 006a 7B68 ldr r3, [r7, #4] 102 006c 1A64 str r2, [r3, #64] 103 006e 01E0 b .L6 104 .L5: 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL, 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY); 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp_hal_status = HAL_ERROR; 105 .loc 1 389 20 106 0070 0123 movs r3, #1 107 0072 FB73 strb r3, [r7, #15] 108 .L6: 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Release Lock */ 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 109 .loc 1 393 3 110 0074 7B68 ldr r3, [r7, #4] 111 0076 0022 movs r2, #0 112 0078 83F83C20 strb r2, [r3, #60] 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status; 113 .loc 1 396 10 114 007c FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 115 .L3: 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 116 .loc 1 397 1 117 007e 1846 mov r0, r3 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 10 118 0080 1037 adds r7, r7, #16 119 .LCFI3: 120 .cfi_def_cfa_offset 8 121 0082 BD46 mov sp, r7 122 .LCFI4: 123 .cfi_def_cfa_register 13 124 @ sp needed 125 0084 80BD pop {r7, pc} 126 .cfi_endproc 127 .LFE235: 129 .section .text.HAL_ADC_DeInit,"ax",%progbits 130 .align 1 131 .global HAL_ADC_DeInit 132 .syntax unified 133 .thumb 134 .thumb_func 136 HAL_ADC_DeInit: 137 .LFB236: 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Deinitializes the ADCx peripheral registers to their default reset values. 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc) 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 138 .loc 1 406 1 139 .cfi_startproc 140 @ args = 0, pretend = 0, frame = 16 141 @ frame_needed = 1, uses_anonymous_args = 0 142 0000 80B5 push {r7, lr} 143 .LCFI5: 144 .cfi_def_cfa_offset 8 145 .cfi_offset 7, -8 146 .cfi_offset 14, -4 147 0002 84B0 sub sp, sp, #16 148 .LCFI6: 149 .cfi_def_cfa_offset 24 150 0004 00AF add r7, sp, #0 151 .LCFI7: 152 .cfi_def_cfa_register 7 153 0006 7860 str r0, [r7, #4] 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 154 .loc 1 407 21 155 0008 0023 movs r3, #0 156 000a FB73 strb r3, [r7, #15] 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check ADC handle */ 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc == NULL) 157 .loc 1 410 5 158 000c 7B68 ldr r3, [r7, #4] 159 000e 002B cmp r3, #0 160 0010 01D1 bne .L8 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR; 161 .loc 1 412 12 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 11 162 0012 0123 movs r3, #1 163 0014 22E0 b .L9 164 .L8: 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL); 165 .loc 1 419 3 166 0016 7B68 ldr r3, [r7, #4] 167 0018 1B6C ldr r3, [r3, #64] 168 001a 43F00202 orr r2, r3, #2 169 001e 7B68 ldr r3, [r7, #4] 170 0020 1A64 str r2, [r3, #64] 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */ 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */ 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc); 171 .loc 1 423 3 172 0022 7B68 ldr r3, [r7, #4] 173 0024 1B68 ldr r3, [r3] 174 0026 9A68 ldr r2, [r3, #8] 175 0028 7B68 ldr r3, [r7, #4] 176 002a 1B68 ldr r3, [r3] 177 002c 22F00102 bic r2, r2, #1 178 0030 9A60 str r2, [r3, #8] 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */ 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* correctly completed. */ 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 179 .loc 1 427 6 180 0032 7B68 ldr r3, [r7, #4] 181 0034 1B68 ldr r3, [r3] 182 0036 9B68 ldr r3, [r3, #8] 183 0038 03F00103 and r3, r3, #1 184 .loc 1 427 5 185 003c 002B cmp r3, #0 186 003e 08D1 bne .L10 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->MspDeInitCallback == NULL) 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* DeInit the low level hardware: RCC clock, NVIC */ 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback(hadc); 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* DeInit the low level hardware: RCC clock, NVIC */ 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_MspDeInit(hadc); 187 .loc 1 439 3 188 0040 7868 ldr r0, [r7, #4] 189 0042 FFF7FEFF bl HAL_ADC_MspDeInit 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 12 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to none */ 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 190 .loc 1 443 5 191 0046 7B68 ldr r3, [r7, #4] 192 0048 0022 movs r2, #0 193 004a 5A64 str r2, [r3, #68] 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_RESET; 194 .loc 1 446 17 195 004c 7B68 ldr r3, [r7, #4] 196 004e 0022 movs r2, #0 197 0050 1A64 str r2, [r3, #64] 198 .L10: 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 199 .loc 1 450 3 200 0052 7B68 ldr r3, [r7, #4] 201 0054 0022 movs r2, #0 202 0056 83F83C20 strb r2, [r3, #60] 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status; 203 .loc 1 453 10 204 005a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 205 .L9: 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 206 .loc 1 454 1 207 005c 1846 mov r0, r3 208 005e 1037 adds r7, r7, #16 209 .LCFI8: 210 .cfi_def_cfa_offset 8 211 0060 BD46 mov sp, r7 212 .LCFI9: 213 .cfi_def_cfa_register 13 214 @ sp needed 215 0062 80BD pop {r7, pc} 216 .cfi_endproc 217 .LFE236: 219 .section .text.HAL_ADC_MspInit,"ax",%progbits 220 .align 1 221 .weak HAL_ADC_MspInit 222 .syntax unified 223 .thumb 224 .thumb_func 226 HAL_ADC_MspInit: 227 .LFB237: 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Register a User ADC Callback 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * To be used instead of the weak predefined callback 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param CallbackID ID of the callback to be registered ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 13 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This parameter can be one of the following values: 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion DMA half-transfer call 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param pCallback pointer to the Callback function 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK; 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (pCallback == NULL) 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR; 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID) 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID : 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback = pCallback; 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID : 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback = pCallback; 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID : 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = pCallback; 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID : 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback = pCallback; 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID : 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback = pCallback; 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = pCallback; 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback; 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default : 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 14 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State) 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID) 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = pCallback; 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback; 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default : 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return status; 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Unregister a ADC Callback 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ADC callback is redirected to the weak predefined callback 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param CallbackID ID of the callback to be unregistered 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This parameter can be one of the following values: 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion DMA half-transfer call 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 15 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK; 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0UL) 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID) 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID : 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID : 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID : 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID : 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID : 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */ 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */ 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default : 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State) 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID) 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID : 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID : 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default : ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 16 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break; 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */ 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK; 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */ 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR; 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return status; 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initializes the ADC MSP. 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 228 .loc 1 663 1 229 .cfi_startproc 230 @ args = 0, pretend = 0, frame = 8 231 @ frame_needed = 1, uses_anonymous_args = 0 232 @ link register save eliminated. 233 0000 80B4 push {r7} 234 .LCFI10: 235 .cfi_def_cfa_offset 4 236 .cfi_offset 7, -4 237 0002 83B0 sub sp, sp, #12 238 .LCFI11: 239 .cfi_def_cfa_offset 16 240 0004 00AF add r7, sp, #0 241 .LCFI12: 242 .cfi_def_cfa_register 7 243 0006 7860 str r0, [r7, #4] 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_MspInit could be implemented in the user file 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 244 .loc 1 669 1 245 0008 00BF nop 246 000a 0C37 adds r7, r7, #12 247 .LCFI13: 248 .cfi_def_cfa_offset 4 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 17 249 000c BD46 mov sp, r7 250 .LCFI14: 251 .cfi_def_cfa_register 13 252 @ sp needed 253 000e 5DF8047B ldr r7, [sp], #4 254 .LCFI15: 255 .cfi_restore 7 256 .cfi_def_cfa_offset 0 257 0012 7047 bx lr 258 .cfi_endproc 259 .LFE237: 261 .section .text.HAL_ADC_MspDeInit,"ax",%progbits 262 .align 1 263 .weak HAL_ADC_MspDeInit 264 .syntax unified 265 .thumb 266 .thumb_func 268 HAL_ADC_MspDeInit: 269 .LFB238: 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DeInitializes the ADC MSP. 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 270 .loc 1 678 1 271 .cfi_startproc 272 @ args = 0, pretend = 0, frame = 8 273 @ frame_needed = 1, uses_anonymous_args = 0 274 @ link register save eliminated. 275 0000 80B4 push {r7} 276 .LCFI16: 277 .cfi_def_cfa_offset 4 278 .cfi_offset 7, -4 279 0002 83B0 sub sp, sp, #12 280 .LCFI17: 281 .cfi_def_cfa_offset 16 282 0004 00AF add r7, sp, #0 283 .LCFI18: 284 .cfi_def_cfa_register 7 285 0006 7860 str r0, [r7, #4] 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_MspDeInit could be implemented in the user file 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 286 .loc 1 684 1 287 0008 00BF nop 288 000a 0C37 adds r7, r7, #12 289 .LCFI19: 290 .cfi_def_cfa_offset 4 291 000c BD46 mov sp, r7 292 .LCFI20: ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 18 293 .cfi_def_cfa_register 13 294 @ sp needed 295 000e 5DF8047B ldr r7, [sp], #4 296 .LCFI21: 297 .cfi_restore 7 298 .cfi_def_cfa_offset 0 299 0012 7047 bx lr 300 .cfi_endproc 301 .LFE238: 303 .section .text.HAL_ADC_Start,"ax",%progbits 304 .align 1 305 .global HAL_ADC_Start 306 .syntax unified 307 .thumb 308 .thumb_func 310 HAL_ADC_Start: 311 .LFB239: 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group2 IO operation functions 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief IO operation functions 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### IO operation functions ##### 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] This section provides functions allowing to: 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start conversion of regular channel. 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop conversion of regular channel. 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start conversion of regular channel and enable interrupt. 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop conversion of regular channel and disable interrupt. 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start conversion of regular channel and enable DMA transfer. 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop conversion of regular channel and disable DMA transfer. 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Handle ADC interrupt request. 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Enables ADC and starts conversion of the regular channels. 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc) 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 312 .loc 1 717 1 313 .cfi_startproc 314 @ args = 0, pretend = 0, frame = 16 315 @ frame_needed = 1, uses_anonymous_args = 0 316 @ link register save eliminated. 317 0000 80B4 push {r7} 318 .LCFI22: ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 19 319 .cfi_def_cfa_offset 4 320 .cfi_offset 7, -4 321 0002 85B0 sub sp, sp, #20 322 .LCFI23: 323 .cfi_def_cfa_offset 24 324 0004 00AF add r7, sp, #0 325 .LCFI24: 326 .cfi_def_cfa_register 7 327 0006 7860 str r0, [r7, #4] 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 328 .loc 1 718 17 329 0008 0023 movs r3, #0 330 000a BB60 str r3, [r7, #8] 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 331 .loc 1 726 3 332 000c 7B68 ldr r3, [r7, #4] 333 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 334 0012 012B cmp r3, #1 335 0014 01D1 bne .L14 336 .loc 1 726 3 is_stmt 0 discriminator 1 337 0016 0223 movs r3, #2 338 0018 B2E0 b .L15 339 .L14: 340 .loc 1 726 3 discriminator 2 341 001a 7B68 ldr r3, [r7, #4] 342 001c 0122 movs r2, #1 343 001e 83F83C20 strb r2, [r3, #60] 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC peripheral */ 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Tstab time the ADC's stabilization */ 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 344 .loc 1 731 11 is_stmt 1 discriminator 2 345 0022 7B68 ldr r3, [r7, #4] 346 0024 1B68 ldr r3, [r3] 347 .loc 1 731 21 discriminator 2 348 0026 9B68 ldr r3, [r3, #8] 349 .loc 1 731 27 discriminator 2 350 0028 03F00103 and r3, r3, #1 351 .loc 1 731 5 discriminator 2 352 002c 012B cmp r3, #1 353 002e 18D0 beq .L16 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Peripheral */ 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc); 354 .loc 1 734 5 355 0030 7B68 ldr r3, [r7, #4] 356 0032 1B68 ldr r3, [r3] 357 0034 9A68 ldr r2, [r3, #8] 358 0036 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 20 359 0038 1B68 ldr r3, [r3] 360 003a 42F00102 orr r2, r2, #1 361 003e 9A60 str r2, [r3, #8] 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for ADC stabilization time */ 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); 362 .loc 1 738 53 363 0040 524B ldr r3, .L27 364 0042 1B68 ldr r3, [r3] 365 0044 524A ldr r2, .L27+4 366 0046 A2FB0323 umull r2, r3, r2, r3 367 004a 9A0C lsrs r2, r3, #18 368 .loc 1 738 34 369 004c 1346 mov r3, r2 370 004e 5B00 lsls r3, r3, #1 371 0050 1344 add r3, r3, r2 372 .loc 1 738 13 373 0052 BB60 str r3, [r7, #8] 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 374 .loc 1 739 10 375 0054 02E0 b .L17 376 .L18: 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--; 377 .loc 1 741 14 378 0056 BB68 ldr r3, [r7, #8] 379 0058 013B subs r3, r3, #1 380 005a BB60 str r3, [r7, #8] 381 .L17: 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 382 .loc 1 739 19 383 005c BB68 ldr r3, [r7, #8] 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 384 .loc 1 739 10 385 005e 002B cmp r3, #0 386 0060 F9D1 bne .L18 387 .L16: 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */ 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 388 .loc 1 746 6 389 0062 7B68 ldr r3, [r7, #4] 390 0064 1B68 ldr r3, [r3] 391 0066 9B68 ldr r3, [r3, #8] 392 0068 03F00103 and r3, r3, #1 393 .loc 1 746 5 394 006c 012B cmp r3, #1 395 006e 7AD1 bne .L19 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */ 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Set state bitfield related to regular group operation */ 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 396 .loc 1 751 5 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 21 397 0070 7B68 ldr r3, [r7, #4] 398 0072 1B6C ldr r3, [r3, #64] 399 0074 23F4E063 bic r3, r3, #1792 400 0078 23F00103 bic r3, r3, #1 401 007c 43F48072 orr r2, r3, #256 402 0080 7B68 ldr r3, [r7, #4] 403 0082 1A64 str r2, [r3, #64] 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY); 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* If conversions on group regular are also triggering group injected, */ 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* update ADC state. */ 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) 404 .loc 1 757 9 405 0084 7B68 ldr r3, [r7, #4] 406 0086 1B68 ldr r3, [r3] 407 0088 5B68 ldr r3, [r3, #4] 408 008a 03F48063 and r3, r3, #1024 409 .loc 1 757 8 410 008e 002B cmp r3, #0 411 0090 07D0 beq .L20 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 412 .loc 1 759 7 413 0092 7B68 ldr r3, [r7, #4] 414 0094 1B6C ldr r3, [r3, #64] 415 0096 23F44053 bic r3, r3, #12288 416 009a 43F48052 orr r2, r3, #4096 417 009e 7B68 ldr r3, [r7, #4] 418 00a0 1A64 str r2, [r3, #64] 419 .L20: 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* State machine update: Check if an injected conversion is ongoing */ 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 420 .loc 1 763 9 421 00a2 7B68 ldr r3, [r7, #4] 422 00a4 1B6C ldr r3, [r3, #64] 423 00a6 03F48053 and r3, r3, #4096 424 .loc 1 763 8 425 00aa B3F5805F cmp r3, #4096 426 00ae 06D1 bne .L21 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC error code fields related to conversions on group regular */ 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 427 .loc 1 766 7 428 00b0 7B68 ldr r3, [r7, #4] 429 00b2 5B6C ldr r3, [r3, #68] 430 00b4 23F00602 bic r2, r3, #6 431 00b8 7B68 ldr r3, [r7, #4] 432 00ba 5A64 str r2, [r3, #68] 433 00bc 02E0 b .L22 434 .L21: 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC all error code fields */ ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 22 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 435 .loc 1 771 7 436 00be 7B68 ldr r3, [r7, #4] 437 00c0 0022 movs r2, #0 438 00c2 5A64 str r2, [r3, #68] 439 .L22: 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */ 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */ 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 440 .loc 1 777 5 441 00c4 7B68 ldr r3, [r7, #4] 442 00c6 0022 movs r2, #0 443 00c8 83F83C20 strb r2, [r3, #60] 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 444 .loc 1 782 19 445 00cc 314B ldr r3, .L27+8 446 00ce FB60 str r3, [r7, #12] 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */ 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC operations) */ 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR); 447 .loc 1 786 5 448 00d0 7B68 ldr r3, [r7, #4] 449 00d2 1B68 ldr r3, [r3] 450 00d4 6FF02202 mvn r2, #34 451 00d8 1A60 str r2, [r3] 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if Multimode enabled */ 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI)) 452 .loc 1 789 8 453 00da FB68 ldr r3, [r7, #12] 454 00dc 5B68 ldr r3, [r3, #4] 455 00de 03F01F03 and r3, r3, #31 456 .loc 1 789 7 457 00e2 002B cmp r3, #0 458 00e4 2AD1 bne .L23 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) || ((hadc->Instance == ADC2) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < 459 .loc 1 792 15 460 00e6 7B68 ldr r3, [r7, #4] 461 00e8 1B68 ldr r3, [r3] 462 .loc 1 792 9 463 00ea 2B4A ldr r2, .L27+12 464 00ec 9342 cmp r3, r2 465 00ee 15D0 beq .L24 466 .loc 1 792 44 discriminator 1 467 00f0 7B68 ldr r3, [r7, #4] 468 00f2 1B68 ldr r3, [r3] 469 .loc 1 792 35 discriminator 1 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 23 470 00f4 294A ldr r2, .L27+16 471 00f6 9342 cmp r3, r2 472 00f8 05D1 bne .L25 473 .loc 1 792 72 discriminator 2 474 00fa 264B ldr r3, .L27+8 475 00fc 5B68 ldr r3, [r3, #4] 476 .loc 1 792 78 discriminator 2 477 00fe 03F01F03 and r3, r3, #31 478 .loc 1 792 64 discriminator 2 479 0102 002B cmp r3, #0 480 0104 0AD0 beq .L24 481 .L25: 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < 482 .loc 1 793 44 483 0106 7B68 ldr r3, [r7, #4] 484 0108 1B68 ldr r3, [r3] 485 .loc 1 793 35 486 010a 254A ldr r2, .L27+20 487 010c 9342 cmp r3, r2 488 010e 36D1 bne .L26 489 .loc 1 793 72 discriminator 1 490 0110 204B ldr r3, .L27+8 491 0112 5B68 ldr r3, [r3, #4] 492 .loc 1 793 99 discriminator 1 493 0114 03F01003 and r3, r3, #16 494 .loc 1 793 64 discriminator 1 495 0118 002B cmp r3, #0 496 011a 30D1 bne .L26 497 .L24: 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if no external trigger present enable software conversion of regular channels */ 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 498 .loc 1 797 17 499 011c 7B68 ldr r3, [r7, #4] 500 011e 1B68 ldr r3, [r3] 501 .loc 1 797 27 502 0120 9B68 ldr r3, [r3, #8] 503 .loc 1 797 33 504 0122 03F04053 and r3, r3, #805306368 505 .loc 1 797 11 506 0126 002B cmp r3, #0 507 0128 29D1 bne .L26 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 508 .loc 1 800 15 509 012a 7B68 ldr r3, [r7, #4] 510 012c 1B68 ldr r3, [r3] 511 .loc 1 800 31 512 012e 9A68 ldr r2, [r3, #8] 513 .loc 1 800 15 514 0130 7B68 ldr r3, [r7, #4] 515 0132 1B68 ldr r3, [r3] 516 .loc 1 800 31 517 0134 42F08042 orr r2, r2, #1073741824 518 0138 9A60 str r2, [r3, #8] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 24 519 013a 20E0 b .L26 520 .L23: 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if instance of handle correspond to ADC1 and no external trigger present enable software 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 521 .loc 1 809 15 522 013c 7B68 ldr r3, [r7, #4] 523 013e 1B68 ldr r3, [r3] 524 .loc 1 809 9 525 0140 154A ldr r2, .L27+12 526 0142 9342 cmp r3, r2 527 0144 1BD1 bne .L26 528 .loc 1 809 44 discriminator 1 529 0146 7B68 ldr r3, [r7, #4] 530 0148 1B68 ldr r3, [r3] 531 .loc 1 809 54 discriminator 1 532 014a 9B68 ldr r3, [r3, #8] 533 .loc 1 809 60 discriminator 1 534 014c 03F04053 and r3, r3, #805306368 535 .loc 1 809 35 discriminator 1 536 0150 002B cmp r3, #0 537 0152 14D1 bne .L26 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 538 .loc 1 812 15 539 0154 7B68 ldr r3, [r7, #4] 540 0156 1B68 ldr r3, [r3] 541 .loc 1 812 31 542 0158 9A68 ldr r2, [r3, #8] 543 .loc 1 812 15 544 015a 7B68 ldr r3, [r7, #4] 545 015c 1B68 ldr r3, [r3] 546 .loc 1 812 31 547 015e 42F08042 orr r2, r2, #1073741824 548 0162 9A60 str r2, [r3, #8] 549 0164 0BE0 b .L26 550 .L19: 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 551 .loc 1 819 5 552 0166 7B68 ldr r3, [r7, #4] 553 0168 1B6C ldr r3, [r3, #64] 554 016a 43F01002 orr r2, r3, #16 555 016e 7B68 ldr r3, [r7, #4] 556 0170 1A64 str r2, [r3, #64] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 25 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 557 .loc 1 822 5 558 0172 7B68 ldr r3, [r7, #4] 559 0174 5B6C ldr r3, [r3, #68] 560 0176 43F00102 orr r2, r3, #1 561 017a 7B68 ldr r3, [r7, #4] 562 017c 5A64 str r2, [r3, #68] 563 .L26: 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 564 .loc 1 826 10 565 017e 0023 movs r3, #0 566 .L15: 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 567 .loc 1 827 1 568 0180 1846 mov r0, r3 569 0182 1437 adds r7, r7, #20 570 .LCFI25: 571 .cfi_def_cfa_offset 4 572 0184 BD46 mov sp, r7 573 .LCFI26: 574 .cfi_def_cfa_register 13 575 @ sp needed 576 0186 5DF8047B ldr r7, [sp], #4 577 .LCFI27: 578 .cfi_restore 7 579 .cfi_def_cfa_offset 0 580 018a 7047 bx lr 581 .L28: 582 .align 2 583 .L27: 584 018c 00000000 .word SystemCoreClock 585 0190 83DE1B43 .word 1125899907 586 0194 00230140 .word 1073816320 587 0198 00200140 .word 1073815552 588 019c 00210140 .word 1073815808 589 01a0 00220140 .word 1073816064 590 .cfi_endproc 591 .LFE239: 593 .section .text.HAL_ADC_Stop,"ax",%progbits 594 .align 1 595 .global HAL_ADC_Stop 596 .syntax unified 597 .thumb 598 .thumb_func 600 HAL_ADC_Stop: 601 .LFB240: 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Disables ADC and stop conversion of regular channels. 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note Caution: This function will stop also injected channels. 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 26 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status. 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 602 .loc 1 840 1 603 .cfi_startproc 604 @ args = 0, pretend = 0, frame = 8 605 @ frame_needed = 1, uses_anonymous_args = 0 606 @ link register save eliminated. 607 0000 80B4 push {r7} 608 .LCFI28: 609 .cfi_def_cfa_offset 4 610 .cfi_offset 7, -4 611 0002 83B0 sub sp, sp, #12 612 .LCFI29: 613 .cfi_def_cfa_offset 16 614 0004 00AF add r7, sp, #0 615 .LCFI30: 616 .cfi_def_cfa_register 7 617 0006 7860 str r0, [r7, #4] 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 618 .loc 1 845 3 619 0008 7B68 ldr r3, [r7, #4] 620 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 621 000e 012B cmp r3, #1 622 0010 01D1 bne .L30 623 .loc 1 845 3 is_stmt 0 discriminator 1 624 0012 0223 movs r3, #2 625 0014 21E0 b .L31 626 .L30: 627 .loc 1 845 3 discriminator 2 628 0016 7B68 ldr r3, [r7, #4] 629 0018 0122 movs r2, #1 630 001a 83F83C20 strb r2, [r3, #60] 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */ 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */ 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc); 631 .loc 1 849 3 is_stmt 1 discriminator 2 632 001e 7B68 ldr r3, [r7, #4] 633 0020 1B68 ldr r3, [r3] 634 0022 9A68 ldr r2, [r3, #8] 635 0024 7B68 ldr r3, [r7, #4] 636 0026 1B68 ldr r3, [r3] 637 0028 22F00102 bic r2, r2, #1 638 002c 9A60 str r2, [r3, #8] 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 639 .loc 1 852 6 discriminator 2 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 27 640 002e 7B68 ldr r3, [r7, #4] 641 0030 1B68 ldr r3, [r3] 642 0032 9B68 ldr r3, [r3, #8] 643 0034 03F00103 and r3, r3, #1 644 .loc 1 852 5 discriminator 2 645 0038 002B cmp r3, #0 646 003a 09D1 bne .L32 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 647 .loc 1 855 5 648 003c 7B68 ldr r3, [r7, #4] 649 003e 1B6C ldr r3, [r3, #64] 650 0040 23F48853 bic r3, r3, #4352 651 0044 23F00103 bic r3, r3, #1 652 0048 43F00102 orr r2, r3, #1 653 004c 7B68 ldr r3, [r7, #4] 654 004e 1A64 str r2, [r3, #64] 655 .L32: 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY); 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 656 .loc 1 861 3 657 0050 7B68 ldr r3, [r7, #4] 658 0052 0022 movs r2, #0 659 0054 83F83C20 strb r2, [r3, #60] 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 660 .loc 1 864 10 661 0058 0023 movs r3, #0 662 .L31: 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 663 .loc 1 865 1 664 005a 1846 mov r0, r3 665 005c 0C37 adds r7, r7, #12 666 .LCFI31: 667 .cfi_def_cfa_offset 4 668 005e BD46 mov sp, r7 669 .LCFI32: 670 .cfi_def_cfa_register 13 671 @ sp needed 672 0060 5DF8047B ldr r7, [sp], #4 673 .LCFI33: 674 .cfi_restore 7 675 .cfi_def_cfa_offset 0 676 0064 7047 bx lr 677 .cfi_endproc 678 .LFE240: 680 .section .text.HAL_ADC_PollForConversion,"ax",%progbits 681 .align 1 682 .global HAL_ADC_PollForConversion 683 .syntax unified 684 .thumb ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 28 685 .thumb_func 687 HAL_ADC_PollForConversion: 688 .LFB241: 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Poll for regular conversion complete 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note ADC conversion flags EOS (end of sequence) and EOC (end of 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * conversion) are cleared by this function. 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note This function cannot be used in a particular setup: ADC configured 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in DMA mode and polling for end of each conversion (ADC init 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * parameter "EOCSelection" set to ADC_EOC_SINGLE_CONV). 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * In this case, DMA resets the flag EOC and polling cannot be 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * performed on each conversion. Nevertheless, polling can still 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * be performed on the complete sequence. 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param Timeout Timeout value in millisecond. 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 689 .loc 1 883 1 690 .cfi_startproc 691 @ args = 0, pretend = 0, frame = 16 692 @ frame_needed = 1, uses_anonymous_args = 0 693 0000 80B5 push {r7, lr} 694 .LCFI34: 695 .cfi_def_cfa_offset 8 696 .cfi_offset 7, -8 697 .cfi_offset 14, -4 698 0002 84B0 sub sp, sp, #16 699 .LCFI35: 700 .cfi_def_cfa_offset 24 701 0004 00AF add r7, sp, #0 702 .LCFI36: 703 .cfi_def_cfa_register 7 704 0006 7860 str r0, [r7, #4] 705 0008 3960 str r1, [r7] 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U; 706 .loc 1 884 12 707 000a 0023 movs r3, #0 708 000c FB60 str r3, [r7, #12] 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Verification that ADC configuration is compliant with polling for */ 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* each conversion: */ 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Particular case is ADC configured in DMA mode and ADC sequencer with */ 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* several ranks and polling for end of each conversion. */ 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For code simplicity sake, this particular case is generalized to */ 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* ADC configured in DMA mode and polling for end of each conversion. */ 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_EOCS) && 709 .loc 1 892 7 710 000e 7B68 ldr r3, [r7, #4] 711 0010 1B68 ldr r3, [r3] 712 0012 9B68 ldr r3, [r3, #8] 713 0014 03F48063 and r3, r3, #1024 714 .loc 1 892 6 715 0018 B3F5806F cmp r3, #1024 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 29 716 001c 13D1 bne .L34 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA) ) 717 .loc 1 893 7 discriminator 1 718 001e 7B68 ldr r3, [r7, #4] 719 0020 1B68 ldr r3, [r3] 720 0022 9B68 ldr r3, [r3, #8] 721 0024 03F48073 and r3, r3, #256 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA) ) 722 .loc 1 892 57 discriminator 1 723 0028 B3F5807F cmp r3, #256 724 002c 0BD1 bne .L34 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 725 .loc 1 896 5 726 002e 7B68 ldr r3, [r7, #4] 727 0030 1B6C ldr r3, [r3, #64] 728 0032 43F02002 orr r2, r3, #32 729 0036 7B68 ldr r3, [r7, #4] 730 0038 1A64 str r2, [r3, #64] 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 731 .loc 1 899 5 732 003a 7B68 ldr r3, [r7, #4] 733 003c 0022 movs r2, #0 734 003e 83F83C20 strb r2, [r3, #60] 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR; 735 .loc 1 901 12 736 0042 0123 movs r3, #1 737 0044 63E0 b .L35 738 .L34: 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Get tick */ 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tickstart = HAL_GetTick(); 739 .loc 1 905 15 740 0046 FFF7FEFF bl HAL_GetTick 741 004a F860 str r0, [r7, #12] 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag */ 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 742 .loc 1 908 8 743 004c 21E0 b .L36 744 .L38: 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if timeout is disabled (set to infinite wait) */ 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY) 745 .loc 1 911 7 746 004e 3B68 ldr r3, [r7] 747 0050 B3F1FF3F cmp r3, #-1 748 0054 1DD0 beq .L36 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((Timeout == 0U) || ((HAL_GetTick() - tickstart ) > Timeout)) 749 .loc 1 913 9 750 0056 3B68 ldr r3, [r7] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 30 751 0058 002B cmp r3, #0 752 005a 07D0 beq .L37 753 .loc 1 913 31 discriminator 1 754 005c FFF7FEFF bl HAL_GetTick 755 0060 0246 mov r2, r0 756 .loc 1 913 45 discriminator 1 757 0062 FB68 ldr r3, [r7, #12] 758 0064 D31A subs r3, r2, r3 759 .loc 1 913 26 discriminator 1 760 0066 3A68 ldr r2, [r7] 761 0068 9A42 cmp r2, r3 762 006a 12D2 bcs .L36 763 .L37: 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* New check to avoid false timeout detection in case of preemption */ 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 764 .loc 1 916 14 765 006c 7B68 ldr r3, [r7, #4] 766 006e 1B68 ldr r3, [r3] 767 0070 1B68 ldr r3, [r3] 768 0072 03F00203 and r3, r3, #2 769 .loc 1 916 11 770 0076 022B cmp r3, #2 771 0078 0BD0 beq .L36 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to timeout */ 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 772 .loc 1 919 11 773 007a 7B68 ldr r3, [r7, #4] 774 007c 1B6C ldr r3, [r3, #64] 775 007e 43F00402 orr r2, r3, #4 776 0082 7B68 ldr r3, [r7, #4] 777 0084 1A64 str r2, [r3, #64] 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 778 .loc 1 922 11 779 0086 7B68 ldr r3, [r7, #4] 780 0088 0022 movs r2, #0 781 008a 83F83C20 strb r2, [r3, #60] 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_TIMEOUT; 782 .loc 1 924 18 783 008e 0323 movs r3, #3 784 0090 3DE0 b .L35 785 .L36: 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 786 .loc 1 908 11 787 0092 7B68 ldr r3, [r7, #4] 788 0094 1B68 ldr r3, [r3] 789 0096 1B68 ldr r3, [r3] 790 0098 03F00203 and r3, r3, #2 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 791 .loc 1 908 8 792 009c 022B cmp r3, #2 793 009e D6D1 bne .L38 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 31 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag */ 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); 794 .loc 1 931 3 795 00a0 7B68 ldr r3, [r7, #4] 796 00a2 1B68 ldr r3, [r3] 797 00a4 6FF01202 mvn r2, #18 798 00a8 1A60 str r2, [r3] 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine */ 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 799 .loc 1 934 3 800 00aa 7B68 ldr r3, [r7, #4] 801 00ac 1B6C ldr r3, [r3, #64] 802 00ae 43F40072 orr r2, r3, #512 803 00b2 7B68 ldr r3, [r7, #4] 804 00b4 1A64 str r2, [r3, #64] 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */ 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */ 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */ 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* The test of scan sequence on going is done either with scan */ 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* sequence disabled or with end of conversion flag set to */ 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* of end of sequence. */ 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 805 .loc 1 942 6 806 00b6 7B68 ldr r3, [r7, #4] 807 00b8 1B68 ldr r3, [r3] 808 00ba 9B68 ldr r3, [r3, #8] 809 00bc 03F04053 and r3, r3, #805306368 810 .loc 1 942 5 811 00c0 002B cmp r3, #0 812 00c2 23D1 bne .L39 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 813 .loc 1 943 17 discriminator 1 814 00c4 7B68 ldr r3, [r7, #4] 815 00c6 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 816 .loc 1 942 60 discriminator 1 817 00c8 002B cmp r3, #0 818 00ca 1FD1 bne .L39 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 819 .loc 1 944 7 820 00cc 7B68 ldr r3, [r7, #4] 821 00ce 1B68 ldr r3, [r3] 822 00d0 DB6A ldr r3, [r3, #44] 823 00d2 03F47003 and r3, r3, #15728640 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 824 .loc 1 943 60 825 00d6 002B cmp r3, #0 826 00d8 06D0 beq .L40 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 827 .loc 1 945 7 828 00da 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 32 829 00dc 1B68 ldr r3, [r3] 830 00de 9B68 ldr r3, [r3, #8] 831 00e0 03F48063 and r3, r3, #1024 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 832 .loc 1 944 56 833 00e4 002B cmp r3, #0 834 00e6 11D1 bne .L39 835 .L40: 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 836 .loc 1 948 5 837 00e8 7B68 ldr r3, [r7, #4] 838 00ea 1B6C ldr r3, [r3, #64] 839 00ec 23F48072 bic r2, r3, #256 840 00f0 7B68 ldr r3, [r7, #4] 841 00f2 1A64 str r2, [r3, #64] 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 842 .loc 1 950 9 843 00f4 7B68 ldr r3, [r7, #4] 844 00f6 1B6C ldr r3, [r3, #64] 845 00f8 03F48053 and r3, r3, #4096 846 .loc 1 950 8 847 00fc 002B cmp r3, #0 848 00fe 05D1 bne .L39 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 849 .loc 1 952 7 850 0100 7B68 ldr r3, [r7, #4] 851 0102 1B6C ldr r3, [r3, #64] 852 0104 43F00102 orr r2, r3, #1 853 0108 7B68 ldr r3, [r7, #4] 854 010a 1A64 str r2, [r3, #64] 855 .L39: 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */ 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 856 .loc 1 957 10 857 010c 0023 movs r3, #0 858 .L35: 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 859 .loc 1 958 1 860 010e 1846 mov r0, r3 861 0110 1037 adds r7, r7, #16 862 .LCFI37: 863 .cfi_def_cfa_offset 8 864 0112 BD46 mov sp, r7 865 .LCFI38: 866 .cfi_def_cfa_register 13 867 @ sp needed 868 0114 80BD pop {r7, pc} 869 .cfi_endproc 870 .LFE241: 872 .section .text.HAL_ADC_PollForEvent,"ax",%progbits ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 33 873 .align 1 874 .global HAL_ADC_PollForEvent 875 .syntax unified 876 .thumb 877 .thumb_func 879 HAL_ADC_PollForEvent: 880 .LFB242: 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Poll for conversion event 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param EventType the ADC event type. 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This parameter can be one of the following values: 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg ADC_AWD_EVENT: ADC Analog watch Dog event. 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg ADC_OVR_EVENT: ADC Overrun event. 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param Timeout Timeout value in millisecond. 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeou 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 881 .loc 1 972 1 882 .cfi_startproc 883 @ args = 0, pretend = 0, frame = 24 884 @ frame_needed = 1, uses_anonymous_args = 0 885 0000 80B5 push {r7, lr} 886 .LCFI39: 887 .cfi_def_cfa_offset 8 888 .cfi_offset 7, -8 889 .cfi_offset 14, -4 890 0002 86B0 sub sp, sp, #24 891 .LCFI40: 892 .cfi_def_cfa_offset 32 893 0004 00AF add r7, sp, #0 894 .LCFI41: 895 .cfi_def_cfa_register 7 896 0006 F860 str r0, [r7, #12] 897 0008 B960 str r1, [r7, #8] 898 000a 7A60 str r2, [r7, #4] 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U; 899 .loc 1 973 12 900 000c 0023 movs r3, #0 901 000e 7B61 str r3, [r7, #20] 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EVENT_TYPE(EventType)); 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Get tick */ 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tickstart = HAL_GetTick(); 902 .loc 1 980 15 903 0010 FFF7FEFF bl HAL_GetTick 904 0014 7861 str r0, [r7, #20] 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check selected event flag */ 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(!(__HAL_ADC_GET_FLAG(hadc,EventType))) 905 .loc 1 983 8 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 34 906 0016 22E0 b .L42 907 .L45: 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check for the Timeout */ 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY) 908 .loc 1 986 7 909 0018 7B68 ldr r3, [r7, #4] 910 001a B3F1FF3F cmp r3, #-1 911 001e 1ED0 beq .L42 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((Timeout == 0U) || ((HAL_GetTick() - tickstart ) > Timeout)) 912 .loc 1 988 9 913 0020 7B68 ldr r3, [r7, #4] 914 0022 002B cmp r3, #0 915 0024 07D0 beq .L43 916 .loc 1 988 31 discriminator 1 917 0026 FFF7FEFF bl HAL_GetTick 918 002a 0246 mov r2, r0 919 .loc 1 988 45 discriminator 1 920 002c 7B69 ldr r3, [r7, #20] 921 002e D31A subs r3, r2, r3 922 .loc 1 988 26 discriminator 1 923 0030 7A68 ldr r2, [r7, #4] 924 0032 9A42 cmp r2, r3 925 0034 13D2 bcs .L42 926 .L43: 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* New check to avoid false timeout detection in case of preemption */ 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(!(__HAL_ADC_GET_FLAG(hadc,EventType))) 927 .loc 1 991 14 928 0036 FB68 ldr r3, [r7, #12] 929 0038 1B68 ldr r3, [r3] 930 003a 1A68 ldr r2, [r3] 931 003c BB68 ldr r3, [r7, #8] 932 003e 1340 ands r3, r3, r2 933 .loc 1 991 11 934 0040 BA68 ldr r2, [r7, #8] 935 0042 9A42 cmp r2, r3 936 0044 0BD0 beq .L42 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to timeout */ 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 937 .loc 1 994 11 938 0046 FB68 ldr r3, [r7, #12] 939 0048 1B6C ldr r3, [r3, #64] 940 004a 43F00402 orr r2, r3, #4 941 004e FB68 ldr r3, [r7, #12] 942 0050 1A64 str r2, [r3, #64] 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 943 .loc 1 997 11 944 0052 FB68 ldr r3, [r7, #12] 945 0054 0022 movs r2, #0 946 0056 83F83C20 strb r2, [r3, #60] 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_TIMEOUT; ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 35 947 .loc 1 999 18 948 005a 0323 movs r3, #3 949 005c 28E0 b .L44 950 .L42: 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 951 .loc 1 983 11 952 005e FB68 ldr r3, [r7, #12] 953 0060 1B68 ldr r3, [r3] 954 0062 1A68 ldr r2, [r3] 955 0064 BB68 ldr r3, [r7, #8] 956 0066 1340 ands r3, r3, r2 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 957 .loc 1 983 8 958 0068 BA68 ldr r2, [r7, #8] 959 006a 9A42 cmp r2, r3 960 006c D4D1 bne .L45 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Analog watchdog (level out of window) event */ 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(EventType == ADC_AWD_EVENT) 961 .loc 1 1006 5 962 006e BB68 ldr r3, [r7, #8] 963 0070 012B cmp r3, #1 964 0072 0BD1 bne .L46 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); 965 .loc 1 1009 5 966 0074 FB68 ldr r3, [r7, #12] 967 0076 1B6C ldr r3, [r3, #64] 968 0078 43F48032 orr r2, r3, #65536 969 007c FB68 ldr r3, [r7, #12] 970 007e 1A64 str r2, [r3, #64] 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear ADC analog watchdog flag */ 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); 971 .loc 1 1012 5 972 0080 FB68 ldr r3, [r7, #12] 973 0082 1B68 ldr r3, [r3] 974 0084 6FF00102 mvn r2, #1 975 0088 1A60 str r2, [r3] 976 008a 10E0 b .L47 977 .L46: 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Overrun event */ 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR); 978 .loc 1 1018 5 979 008c FB68 ldr r3, [r7, #12] 980 008e 1B6C ldr r3, [r3, #64] 981 0090 43F48062 orr r2, r3, #1024 982 0094 FB68 ldr r3, [r7, #12] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 36 983 0096 1A64 str r2, [r3, #64] 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to overrun */ 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); 984 .loc 1 1020 5 985 0098 FB68 ldr r3, [r7, #12] 986 009a 5B6C ldr r3, [r3, #68] 987 009c 43F00202 orr r2, r3, #2 988 00a0 FB68 ldr r3, [r7, #12] 989 00a2 5A64 str r2, [r3, #68] 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear ADC overrun flag */ 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); 990 .loc 1 1023 5 991 00a4 FB68 ldr r3, [r7, #12] 992 00a6 1B68 ldr r3, [r3] 993 00a8 6FF02002 mvn r2, #32 994 00ac 1A60 str r2, [r3] 995 .L47: 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */ 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 996 .loc 1 1027 10 997 00ae 0023 movs r3, #0 998 .L44: 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 999 .loc 1 1028 1 1000 00b0 1846 mov r0, r3 1001 00b2 1837 adds r7, r7, #24 1002 .LCFI42: 1003 .cfi_def_cfa_offset 8 1004 00b4 BD46 mov sp, r7 1005 .LCFI43: 1006 .cfi_def_cfa_register 13 1007 @ sp needed 1008 00b6 80BD pop {r7, pc} 1009 .cfi_endproc 1010 .LFE242: 1012 .section .text.HAL_ADC_Start_IT,"ax",%progbits 1013 .align 1 1014 .global HAL_ADC_Start_IT 1015 .syntax unified 1016 .thumb 1017 .thumb_func 1019 HAL_ADC_Start_IT: 1020 .LFB243: 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Enables the interrupt and starts ADC conversion of regular channels. 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status. 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc) 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1021 .loc 1 1038 1 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 37 1022 .cfi_startproc 1023 @ args = 0, pretend = 0, frame = 16 1024 @ frame_needed = 1, uses_anonymous_args = 0 1025 @ link register save eliminated. 1026 0000 80B4 push {r7} 1027 .LCFI44: 1028 .cfi_def_cfa_offset 4 1029 .cfi_offset 7, -4 1030 0002 85B0 sub sp, sp, #20 1031 .LCFI45: 1032 .cfi_def_cfa_offset 24 1033 0004 00AF add r7, sp, #0 1034 .LCFI46: 1035 .cfi_def_cfa_register 7 1036 0006 7860 str r0, [r7, #4] 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 1037 .loc 1 1039 17 1038 0008 0023 movs r3, #0 1039 000a BB60 str r3, [r7, #8] 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 1040 .loc 1 1047 3 1041 000c 7B68 ldr r3, [r7, #4] 1042 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 1043 0012 012B cmp r3, #1 1044 0014 01D1 bne .L49 1045 .loc 1 1047 3 is_stmt 0 discriminator 1 1046 0016 0223 movs r3, #2 1047 0018 BDE0 b .L50 1048 .L49: 1049 .loc 1 1047 3 discriminator 2 1050 001a 7B68 ldr r3, [r7, #4] 1051 001c 0122 movs r2, #1 1052 001e 83F83C20 strb r2, [r3, #60] 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC peripheral */ 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Tstab time the ADC's stabilization */ 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 1053 .loc 1 1052 11 is_stmt 1 discriminator 2 1054 0022 7B68 ldr r3, [r7, #4] 1055 0024 1B68 ldr r3, [r3] 1056 .loc 1 1052 21 discriminator 2 1057 0026 9B68 ldr r3, [r3, #8] 1058 .loc 1 1052 27 discriminator 2 1059 0028 03F00103 and r3, r3, #1 1060 .loc 1 1052 5 discriminator 2 1061 002c 012B cmp r3, #1 1062 002e 18D0 beq .L51 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Peripheral */ ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 38 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc); 1063 .loc 1 1055 5 1064 0030 7B68 ldr r3, [r7, #4] 1065 0032 1B68 ldr r3, [r3] 1066 0034 9A68 ldr r2, [r3, #8] 1067 0036 7B68 ldr r3, [r7, #4] 1068 0038 1B68 ldr r3, [r3] 1069 003a 42F00102 orr r2, r2, #1 1070 003e 9A60 str r2, [r3, #8] 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for ADC stabilization time */ 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); 1071 .loc 1 1059 53 1072 0040 584B ldr r3, .L62 1073 0042 1B68 ldr r3, [r3] 1074 0044 584A ldr r2, .L62+4 1075 0046 A2FB0323 umull r2, r3, r2, r3 1076 004a 9A0C lsrs r2, r3, #18 1077 .loc 1 1059 34 1078 004c 1346 mov r3, r2 1079 004e 5B00 lsls r3, r3, #1 1080 0050 1344 add r3, r3, r2 1081 .loc 1 1059 13 1082 0052 BB60 str r3, [r7, #8] 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 1083 .loc 1 1060 10 1084 0054 02E0 b .L52 1085 .L53: 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--; 1086 .loc 1 1062 14 1087 0056 BB68 ldr r3, [r7, #8] 1088 0058 013B subs r3, r3, #1 1089 005a BB60 str r3, [r7, #8] 1090 .L52: 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 1091 .loc 1 1060 19 1092 005c BB68 ldr r3, [r7, #8] 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 1093 .loc 1 1060 10 1094 005e 002B cmp r3, #0 1095 0060 F9D1 bne .L53 1096 .L51: 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */ 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 1097 .loc 1 1067 6 1098 0062 7B68 ldr r3, [r7, #4] 1099 0064 1B68 ldr r3, [r3] 1100 0066 9B68 ldr r3, [r3, #8] 1101 0068 03F00103 and r3, r3, #1 1102 .loc 1 1067 5 1103 006c 012B cmp r3, #1 1104 006e 40F08580 bne .L54 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 39 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */ 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Set state bitfield related to regular group operation */ 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1105 .loc 1 1072 5 1106 0072 7B68 ldr r3, [r7, #4] 1107 0074 1B6C ldr r3, [r3, #64] 1108 0076 23F4E063 bic r3, r3, #1792 1109 007a 23F00103 bic r3, r3, #1 1110 007e 43F48072 orr r2, r3, #256 1111 0082 7B68 ldr r3, [r7, #4] 1112 0084 1A64 str r2, [r3, #64] 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY); 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* If conversions on group regular are also triggering group injected, */ 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* update ADC state. */ 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) 1113 .loc 1 1078 9 1114 0086 7B68 ldr r3, [r7, #4] 1115 0088 1B68 ldr r3, [r3] 1116 008a 5B68 ldr r3, [r3, #4] 1117 008c 03F48063 and r3, r3, #1024 1118 .loc 1 1078 8 1119 0090 002B cmp r3, #0 1120 0092 07D0 beq .L55 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 1121 .loc 1 1080 7 1122 0094 7B68 ldr r3, [r7, #4] 1123 0096 1B6C ldr r3, [r3, #64] 1124 0098 23F44053 bic r3, r3, #12288 1125 009c 43F48052 orr r2, r3, #4096 1126 00a0 7B68 ldr r3, [r7, #4] 1127 00a2 1A64 str r2, [r3, #64] 1128 .L55: 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* State machine update: Check if an injected conversion is ongoing */ 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 1129 .loc 1 1084 9 1130 00a4 7B68 ldr r3, [r7, #4] 1131 00a6 1B6C ldr r3, [r3, #64] 1132 00a8 03F48053 and r3, r3, #4096 1133 .loc 1 1084 8 1134 00ac B3F5805F cmp r3, #4096 1135 00b0 06D1 bne .L56 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC error code fields related to conversions on group regular */ 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 1136 .loc 1 1087 7 1137 00b2 7B68 ldr r3, [r7, #4] 1138 00b4 5B6C ldr r3, [r3, #68] 1139 00b6 23F00602 bic r2, r3, #6 1140 00ba 7B68 ldr r3, [r7, #4] 1141 00bc 5A64 str r2, [r3, #68] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 40 1142 00be 02E0 b .L57 1143 .L56: 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC all error code fields */ 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 1144 .loc 1 1092 7 1145 00c0 7B68 ldr r3, [r7, #4] 1146 00c2 0022 movs r2, #0 1147 00c4 5A64 str r2, [r3, #68] 1148 .L57: 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */ 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */ 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1149 .loc 1 1098 5 1150 00c6 7B68 ldr r3, [r7, #4] 1151 00c8 0022 movs r2, #0 1152 00ca 83F83C20 strb r2, [r3, #60] 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 1153 .loc 1 1103 19 1154 00ce 374B ldr r3, .L62+8 1155 00d0 FB60 str r3, [r7, #12] 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */ 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC operations) */ 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR); 1156 .loc 1 1107 5 1157 00d2 7B68 ldr r3, [r7, #4] 1158 00d4 1B68 ldr r3, [r3] 1159 00d6 6FF02202 mvn r2, #34 1160 00da 1A60 str r2, [r3] 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable end of conversion interrupt for regular group */ 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_OVR)); 1161 .loc 1 1110 5 1162 00dc 7B68 ldr r3, [r7, #4] 1163 00de 1B68 ldr r3, [r3] 1164 00e0 5B68 ldr r3, [r3, #4] 1165 00e2 7A68 ldr r2, [r7, #4] 1166 00e4 1268 ldr r2, [r2] 1167 00e6 43F08063 orr r3, r3, #67108864 1168 00ea 43F02003 orr r3, r3, #32 1169 00ee 5360 str r3, [r2, #4] 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if Multimode enabled */ 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI)) 1170 .loc 1 1113 8 1171 00f0 FB68 ldr r3, [r7, #12] 1172 00f2 5B68 ldr r3, [r3, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 41 1173 00f4 03F01F03 and r3, r3, #31 1174 .loc 1 1113 7 1175 00f8 002B cmp r3, #0 1176 00fa 2AD1 bne .L58 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) || ((hadc->Instance == ADC2) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < 1177 .loc 1 1116 15 1178 00fc 7B68 ldr r3, [r7, #4] 1179 00fe 1B68 ldr r3, [r3] 1180 .loc 1 1116 9 1181 0100 2B4A ldr r2, .L62+12 1182 0102 9342 cmp r3, r2 1183 0104 15D0 beq .L59 1184 .loc 1 1116 44 discriminator 1 1185 0106 7B68 ldr r3, [r7, #4] 1186 0108 1B68 ldr r3, [r3] 1187 .loc 1 1116 35 discriminator 1 1188 010a 2A4A ldr r2, .L62+16 1189 010c 9342 cmp r3, r2 1190 010e 05D1 bne .L60 1191 .loc 1 1116 72 discriminator 2 1192 0110 264B ldr r3, .L62+8 1193 0112 5B68 ldr r3, [r3, #4] 1194 .loc 1 1116 78 discriminator 2 1195 0114 03F01F03 and r3, r3, #31 1196 .loc 1 1116 64 discriminator 2 1197 0118 002B cmp r3, #0 1198 011a 0AD0 beq .L59 1199 .L60: 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < 1200 .loc 1 1117 44 1201 011c 7B68 ldr r3, [r7, #4] 1202 011e 1B68 ldr r3, [r3] 1203 .loc 1 1117 35 1204 0120 254A ldr r2, .L62+20 1205 0122 9342 cmp r3, r2 1206 0124 36D1 bne .L61 1207 .loc 1 1117 72 discriminator 1 1208 0126 214B ldr r3, .L62+8 1209 0128 5B68 ldr r3, [r3, #4] 1210 .loc 1 1117 99 discriminator 1 1211 012a 03F01003 and r3, r3, #16 1212 .loc 1 1117 64 discriminator 1 1213 012e 002B cmp r3, #0 1214 0130 30D1 bne .L61 1215 .L59: 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if no external trigger present enable software conversion of regular channels */ 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 1216 .loc 1 1121 17 1217 0132 7B68 ldr r3, [r7, #4] 1218 0134 1B68 ldr r3, [r3] 1219 .loc 1 1121 27 1220 0136 9B68 ldr r3, [r3, #8] 1221 .loc 1 1121 33 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 42 1222 0138 03F04053 and r3, r3, #805306368 1223 .loc 1 1121 11 1224 013c 002B cmp r3, #0 1225 013e 29D1 bne .L61 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 1226 .loc 1 1124 15 1227 0140 7B68 ldr r3, [r7, #4] 1228 0142 1B68 ldr r3, [r3] 1229 .loc 1 1124 31 1230 0144 9A68 ldr r2, [r3, #8] 1231 .loc 1 1124 15 1232 0146 7B68 ldr r3, [r7, #4] 1233 0148 1B68 ldr r3, [r3] 1234 .loc 1 1124 31 1235 014a 42F08042 orr r2, r2, #1073741824 1236 014e 9A60 str r2, [r3, #8] 1237 0150 20E0 b .L61 1238 .L58: 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if instance of handle correspond to ADC1 and no external trigger present enable software 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 1239 .loc 1 1133 15 1240 0152 7B68 ldr r3, [r7, #4] 1241 0154 1B68 ldr r3, [r3] 1242 .loc 1 1133 9 1243 0156 164A ldr r2, .L62+12 1244 0158 9342 cmp r3, r2 1245 015a 1BD1 bne .L61 1246 .loc 1 1133 44 discriminator 1 1247 015c 7B68 ldr r3, [r7, #4] 1248 015e 1B68 ldr r3, [r3] 1249 .loc 1 1133 54 discriminator 1 1250 0160 9B68 ldr r3, [r3, #8] 1251 .loc 1 1133 60 discriminator 1 1252 0162 03F04053 and r3, r3, #805306368 1253 .loc 1 1133 35 discriminator 1 1254 0166 002B cmp r3, #0 1255 0168 14D1 bne .L61 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 1256 .loc 1 1136 15 1257 016a 7B68 ldr r3, [r7, #4] 1258 016c 1B68 ldr r3, [r3] 1259 .loc 1 1136 31 1260 016e 9A68 ldr r2, [r3, #8] 1261 .loc 1 1136 15 1262 0170 7B68 ldr r3, [r7, #4] 1263 0172 1B68 ldr r3, [r3] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 43 1264 .loc 1 1136 31 1265 0174 42F08042 orr r2, r2, #1073741824 1266 0178 9A60 str r2, [r3, #8] 1267 017a 0BE0 b .L61 1268 .L54: 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 1269 .loc 1 1143 5 1270 017c 7B68 ldr r3, [r7, #4] 1271 017e 1B6C ldr r3, [r3, #64] 1272 0180 43F01002 orr r2, r3, #16 1273 0184 7B68 ldr r3, [r7, #4] 1274 0186 1A64 str r2, [r3, #64] 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 1275 .loc 1 1146 5 1276 0188 7B68 ldr r3, [r7, #4] 1277 018a 5B6C ldr r3, [r3, #68] 1278 018c 43F00102 orr r2, r3, #1 1279 0190 7B68 ldr r3, [r7, #4] 1280 0192 5A64 str r2, [r3, #68] 1281 .L61: 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 1282 .loc 1 1150 10 1283 0194 0023 movs r3, #0 1284 .L50: 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1285 .loc 1 1151 1 1286 0196 1846 mov r0, r3 1287 0198 1437 adds r7, r7, #20 1288 .LCFI47: 1289 .cfi_def_cfa_offset 4 1290 019a BD46 mov sp, r7 1291 .LCFI48: 1292 .cfi_def_cfa_register 13 1293 @ sp needed 1294 019c 5DF8047B ldr r7, [sp], #4 1295 .LCFI49: 1296 .cfi_restore 7 1297 .cfi_def_cfa_offset 0 1298 01a0 7047 bx lr 1299 .L63: 1300 01a2 00BF .align 2 1301 .L62: 1302 01a4 00000000 .word SystemCoreClock 1303 01a8 83DE1B43 .word 1125899907 1304 01ac 00230140 .word 1073816320 1305 01b0 00200140 .word 1073815552 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 44 1306 01b4 00210140 .word 1073815808 1307 01b8 00220140 .word 1073816064 1308 .cfi_endproc 1309 .LFE243: 1311 .section .text.HAL_ADC_Stop_IT,"ax",%progbits 1312 .align 1 1313 .global HAL_ADC_Stop_IT 1314 .syntax unified 1315 .thumb 1316 .thumb_func 1318 HAL_ADC_Stop_IT: 1319 .LFB244: 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Disables the interrupt and stop ADC conversion of regular channels. 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note Caution: This function will stop also injected channels. 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status. 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc) 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1320 .loc 1 1163 1 1321 .cfi_startproc 1322 @ args = 0, pretend = 0, frame = 8 1323 @ frame_needed = 1, uses_anonymous_args = 0 1324 @ link register save eliminated. 1325 0000 80B4 push {r7} 1326 .LCFI50: 1327 .cfi_def_cfa_offset 4 1328 .cfi_offset 7, -4 1329 0002 83B0 sub sp, sp, #12 1330 .LCFI51: 1331 .cfi_def_cfa_offset 16 1332 0004 00AF add r7, sp, #0 1333 .LCFI52: 1334 .cfi_def_cfa_register 7 1335 0006 7860 str r0, [r7, #4] 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 1336 .loc 1 1168 3 1337 0008 7B68 ldr r3, [r7, #4] 1338 000a 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 1339 000e 012B cmp r3, #1 1340 0010 01D1 bne .L65 1341 .loc 1 1168 3 is_stmt 0 discriminator 1 1342 0012 0223 movs r3, #2 1343 0014 2BE0 b .L66 1344 .L65: 1345 .loc 1 1168 3 discriminator 2 1346 0016 7B68 ldr r3, [r7, #4] 1347 0018 0122 movs r2, #1 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 45 1348 001a 83F83C20 strb r2, [r3, #60] 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */ 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */ 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc); 1349 .loc 1 1172 3 is_stmt 1 discriminator 2 1350 001e 7B68 ldr r3, [r7, #4] 1351 0020 1B68 ldr r3, [r3] 1352 0022 9A68 ldr r2, [r3, #8] 1353 0024 7B68 ldr r3, [r7, #4] 1354 0026 1B68 ldr r3, [r3] 1355 0028 22F00102 bic r2, r2, #1 1356 002c 9A60 str r2, [r3, #8] 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 1357 .loc 1 1175 6 discriminator 2 1358 002e 7B68 ldr r3, [r7, #4] 1359 0030 1B68 ldr r3, [r3] 1360 0032 9B68 ldr r3, [r3, #8] 1361 0034 03F00103 and r3, r3, #1 1362 .loc 1 1175 5 discriminator 2 1363 0038 002B cmp r3, #0 1364 003a 13D1 bne .L67 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of conversion interrupt for regular group */ 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_OVR)); 1365 .loc 1 1178 5 1366 003c 7B68 ldr r3, [r7, #4] 1367 003e 1B68 ldr r3, [r3] 1368 0040 5B68 ldr r3, [r3, #4] 1369 0042 7A68 ldr r2, [r7, #4] 1370 0044 1268 ldr r2, [r2] 1371 0046 23F08063 bic r3, r3, #67108864 1372 004a 23F02003 bic r3, r3, #32 1373 004e 5360 str r3, [r2, #4] 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1374 .loc 1 1181 5 1375 0050 7B68 ldr r3, [r7, #4] 1376 0052 1B6C ldr r3, [r3, #64] 1377 0054 23F48853 bic r3, r3, #4352 1378 0058 23F00103 bic r3, r3, #1 1379 005c 43F00102 orr r2, r3, #1 1380 0060 7B68 ldr r3, [r7, #4] 1381 0062 1A64 str r2, [r3, #64] 1382 .L67: 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY); 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1383 .loc 1 1187 3 1384 0064 7B68 ldr r3, [r7, #4] 1385 0066 0022 movs r2, #0 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 46 1386 0068 83F83C20 strb r2, [r3, #60] 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 1387 .loc 1 1190 10 1388 006c 0023 movs r3, #0 1389 .L66: 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1390 .loc 1 1191 1 1391 006e 1846 mov r0, r3 1392 0070 0C37 adds r7, r7, #12 1393 .LCFI53: 1394 .cfi_def_cfa_offset 4 1395 0072 BD46 mov sp, r7 1396 .LCFI54: 1397 .cfi_def_cfa_register 13 1398 @ sp needed 1399 0074 5DF8047B ldr r7, [sp], #4 1400 .LCFI55: 1401 .cfi_restore 7 1402 .cfi_def_cfa_offset 0 1403 0078 7047 bx lr 1404 .cfi_endproc 1405 .LFE244: 1407 .section .text.HAL_ADC_IRQHandler,"ax",%progbits 1408 .align 1 1409 .global HAL_ADC_IRQHandler 1410 .syntax unified 1411 .thumb 1412 .thumb_func 1414 HAL_ADC_IRQHandler: 1415 .LFB245: 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Handles ADC interrupt request 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc) 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1416 .loc 1 1200 1 1417 .cfi_startproc 1418 @ args = 0, pretend = 0, frame = 24 1419 @ frame_needed = 1, uses_anonymous_args = 0 1420 0000 80B5 push {r7, lr} 1421 .LCFI56: 1422 .cfi_def_cfa_offset 8 1423 .cfi_offset 7, -8 1424 .cfi_offset 14, -4 1425 0002 86B0 sub sp, sp, #24 1426 .LCFI57: 1427 .cfi_def_cfa_offset 32 1428 0004 00AF add r7, sp, #0 1429 .LCFI58: 1430 .cfi_def_cfa_register 7 1431 0006 7860 str r0, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 47 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp1 = 0U, tmp2 = 0U; 1432 .loc 1 1201 12 1433 0008 0023 movs r3, #0 1434 000a 7B61 str r3, [r7, #20] 1435 .loc 1 1201 23 1436 000c 0023 movs r3, #0 1437 000e 3B61 str r3, [r7, #16] 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp_sr = hadc->Instance->SR; 1438 .loc 1 1203 25 1439 0010 7B68 ldr r3, [r7, #4] 1440 0012 1B68 ldr r3, [r3] 1441 .loc 1 1203 12 1442 0014 1B68 ldr r3, [r3] 1443 0016 FB60 str r3, [r7, #12] 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp_cr1 = hadc->Instance->CR1; 1444 .loc 1 1204 26 1445 0018 7B68 ldr r3, [r7, #4] 1446 001a 1B68 ldr r3, [r3] 1447 .loc 1 1204 12 1448 001c 5B68 ldr r3, [r3, #4] 1449 001e BB60 str r3, [r7, #8] 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_LENGTH(hadc->Init.NbrOfConversion)); 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EOCSelection(hadc->Init.EOCSelection)); 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = tmp_sr & ADC_FLAG_EOC; 1450 .loc 1 1211 8 1451 0020 FB68 ldr r3, [r7, #12] 1452 0022 03F00203 and r3, r3, #2 1453 0026 7B61 str r3, [r7, #20] 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_EOC; 1454 .loc 1 1212 8 1455 0028 BB68 ldr r3, [r7, #8] 1456 002a 03F02003 and r3, r3, #32 1457 002e 3B61 str r3, [r7, #16] 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for regular channels */ 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(tmp1 && tmp2) 1458 .loc 1 1214 5 1459 0030 7B69 ldr r3, [r7, #20] 1460 0032 002B cmp r3, #0 1461 0034 49D0 beq .L69 1462 .loc 1 1214 11 discriminator 1 1463 0036 3B69 ldr r3, [r7, #16] 1464 0038 002B cmp r3, #0 1465 003a 46D0 beq .L69 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */ 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) 1466 .loc 1 1217 9 1467 003c 7B68 ldr r3, [r7, #4] 1468 003e 1B6C ldr r3, [r3, #64] 1469 0040 03F01003 and r3, r3, #16 1470 .loc 1 1217 8 1471 0044 002B cmp r3, #0 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 48 1472 0046 05D1 bne .L70 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 1473 .loc 1 1220 7 1474 0048 7B68 ldr r3, [r7, #4] 1475 004a 1B6C ldr r3, [r3, #64] 1476 004c 43F40072 orr r2, r3, #512 1477 0050 7B68 ldr r3, [r7, #4] 1478 0052 1A64 str r2, [r3, #64] 1479 .L70: 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */ 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */ 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */ 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* The test of scan sequence on going is done either with scan */ 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* sequence disabled or with end of conversion flag set to */ 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* of end of sequence. */ 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 1480 .loc 1 1229 8 1481 0054 7B68 ldr r3, [r7, #4] 1482 0056 1B68 ldr r3, [r3] 1483 0058 9B68 ldr r3, [r3, #8] 1484 005a 03F04053 and r3, r3, #805306368 1485 .loc 1 1229 7 1486 005e 002B cmp r3, #0 1487 0060 2BD1 bne .L71 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 1488 .loc 1 1230 19 discriminator 1 1489 0062 7B68 ldr r3, [r7, #4] 1490 0064 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 1491 .loc 1 1229 62 discriminator 1 1492 0066 002B cmp r3, #0 1493 0068 27D1 bne .L71 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 1494 .loc 1 1231 9 1495 006a 7B68 ldr r3, [r7, #4] 1496 006c 1B68 ldr r3, [r3] 1497 006e DB6A ldr r3, [r3, #44] 1498 0070 03F47003 and r3, r3, #15728640 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 1499 .loc 1 1230 62 1500 0074 002B cmp r3, #0 1501 0076 06D0 beq .L72 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 1502 .loc 1 1232 9 1503 0078 7B68 ldr r3, [r7, #4] 1504 007a 1B68 ldr r3, [r3] 1505 007c 9B68 ldr r3, [r3, #8] 1506 007e 03F48063 and r3, r3, #1024 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 1507 .loc 1 1231 58 1508 0082 002B cmp r3, #0 1509 0084 19D1 bne .L71 1510 .L72: ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 49 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */ 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */ 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* HAL_ADC_Start_IT(), but is not disabled here because can be used */ 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by overrun IRQ process below. */ 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); 1511 .loc 1 1238 7 1512 0086 7B68 ldr r3, [r7, #4] 1513 0088 1B68 ldr r3, [r3] 1514 008a 5A68 ldr r2, [r3, #4] 1515 008c 7B68 ldr r3, [r7, #4] 1516 008e 1B68 ldr r3, [r3] 1517 0090 22F02002 bic r2, r2, #32 1518 0094 5A60 str r2, [r3, #4] 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 1519 .loc 1 1241 7 1520 0096 7B68 ldr r3, [r7, #4] 1521 0098 1B6C ldr r3, [r3, #64] 1522 009a 23F48072 bic r2, r3, #256 1523 009e 7B68 ldr r3, [r7, #4] 1524 00a0 1A64 str r2, [r3, #64] 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 1525 .loc 1 1243 11 1526 00a2 7B68 ldr r3, [r7, #4] 1527 00a4 1B6C ldr r3, [r3, #64] 1528 00a6 03F48053 and r3, r3, #4096 1529 .loc 1 1243 10 1530 00aa 002B cmp r3, #0 1531 00ac 05D1 bne .L71 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 1532 .loc 1 1245 9 1533 00ae 7B68 ldr r3, [r7, #4] 1534 00b0 1B6C ldr r3, [r3, #64] 1535 00b2 43F00102 orr r2, r3, #1 1536 00b6 7B68 ldr r3, [r7, #4] 1537 00b8 1A64 str r2, [r3, #64] 1538 .L71: 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */ 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback(hadc); 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc); 1539 .loc 1 1253 5 1540 00ba 7868 ldr r0, [r7, #4] 1541 00bc FFF7FEFF bl HAL_ADC_ConvCpltCallback 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag */ 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); 1542 .loc 1 1257 5 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 50 1543 00c0 7B68 ldr r3, [r7, #4] 1544 00c2 1B68 ldr r3, [r3] 1545 00c4 6FF01202 mvn r2, #18 1546 00c8 1A60 str r2, [r3] 1547 .L69: 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = tmp_sr & ADC_FLAG_JEOC; 1548 .loc 1 1260 8 1549 00ca FB68 ldr r3, [r7, #12] 1550 00cc 03F00403 and r3, r3, #4 1551 00d0 7B61 str r3, [r7, #20] 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_JEOC; 1552 .loc 1 1261 8 1553 00d2 BB68 ldr r3, [r7, #8] 1554 00d4 03F08003 and r3, r3, #128 1555 00d8 3B61 str r3, [r7, #16] 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for injected channels */ 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(tmp1 && tmp2) 1556 .loc 1 1263 5 1557 00da 7B69 ldr r3, [r7, #20] 1558 00dc 002B cmp r3, #0 1559 00de 57D0 beq .L73 1560 .loc 1 1263 11 discriminator 1 1561 00e0 3B69 ldr r3, [r7, #16] 1562 00e2 002B cmp r3, #0 1563 00e4 54D0 beq .L73 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */ 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) 1564 .loc 1 1266 9 1565 00e6 7B68 ldr r3, [r7, #4] 1566 00e8 1B6C ldr r3, [r3, #64] 1567 00ea 03F01003 and r3, r3, #16 1568 .loc 1 1266 8 1569 00ee 002B cmp r3, #0 1570 00f0 05D1 bne .L74 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC); 1571 .loc 1 1269 7 1572 00f2 7B68 ldr r3, [r7, #4] 1573 00f4 1B6C ldr r3, [r3, #64] 1574 00f6 43F40052 orr r2, r3, #8192 1575 00fa 7B68 ldr r3, [r7, #4] 1576 00fc 1A64 str r2, [r3, #64] 1577 .L74: 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group injected */ 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, scan sequence on going or by automatic injected */ 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* conversion from group regular (same conditions as group regular */ 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption disabling above). */ 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_INJECTED(hadc) && 1578 .loc 1 1276 8 1579 00fe 7B68 ldr r3, [r7, #4] 1580 0100 1B68 ldr r3, [r3] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 51 1581 0102 9B68 ldr r3, [r3, #8] 1582 0104 03F44013 and r3, r3, #3145728 1583 .loc 1 1276 7 1584 0108 002B cmp r3, #0 1585 010a 39D1 bne .L75 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 1586 .loc 1 1277 9 discriminator 1 1587 010c 7B68 ldr r3, [r7, #4] 1588 010e 1B68 ldr r3, [r3] 1589 0110 9B6B ldr r3, [r3, #56] 1590 0112 03F44013 and r3, r3, #3145728 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 1591 .loc 1 1276 64 discriminator 1 1592 0116 002B cmp r3, #0 1593 0118 06D0 beq .L76 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) && 1594 .loc 1 1278 9 1595 011a 7B68 ldr r3, [r7, #4] 1596 011c 1B68 ldr r3, [r3] 1597 011e 9B68 ldr r3, [r3, #8] 1598 0120 03F48063 and r3, r3, #1024 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) || 1599 .loc 1 1277 60 1600 0124 002B cmp r3, #0 1601 0126 2BD1 bne .L75 1602 .L76: 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) && 1603 .loc 1 1279 9 1604 0128 7B68 ldr r3, [r7, #4] 1605 012a 1B68 ldr r3, [r3] 1606 012c 5B68 ldr r3, [r3, #4] 1607 012e 03F48063 and r3, r3, #1024 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) && 1608 .loc 1 1278 64 1609 0132 002B cmp r3, #0 1610 0134 24D1 bne .L75 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) && 1611 .loc 1 1280 10 1612 0136 7B68 ldr r3, [r7, #4] 1613 0138 1B68 ldr r3, [r3] 1614 013a 9B68 ldr r3, [r3, #8] 1615 013c 03F04053 and r3, r3, #805306368 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) && 1616 .loc 1 1279 60 1617 0140 002B cmp r3, #0 1618 0142 1DD1 bne .L75 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) ) ) 1619 .loc 1 1281 20 1620 0144 7B68 ldr r3, [r7, #4] 1621 0146 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) && 1622 .loc 1 1280 52 1623 0148 002B cmp r3, #0 1624 014a 19D1 bne .L75 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group injected */ 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC); ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 52 1625 .loc 1 1284 7 1626 014c 7B68 ldr r3, [r7, #4] 1627 014e 1B68 ldr r3, [r3] 1628 0150 5A68 ldr r2, [r3, #4] 1629 0152 7B68 ldr r3, [r7, #4] 1630 0154 1B68 ldr r3, [r3] 1631 0156 22F08002 bic r2, r2, #128 1632 015a 5A60 str r2, [r3, #4] 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY); 1633 .loc 1 1287 7 1634 015c 7B68 ldr r3, [r7, #4] 1635 015e 1B6C ldr r3, [r3, #64] 1636 0160 23F48052 bic r2, r3, #4096 1637 0164 7B68 ldr r3, [r7, #4] 1638 0166 1A64 str r2, [r3, #64] 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_REG_BUSY)) 1639 .loc 1 1289 11 1640 0168 7B68 ldr r3, [r7, #4] 1641 016a 1B6C ldr r3, [r3, #64] 1642 016c 03F48073 and r3, r3, #256 1643 .loc 1 1289 10 1644 0170 002B cmp r3, #0 1645 0172 05D1 bne .L75 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 1646 .loc 1 1291 9 1647 0174 7B68 ldr r3, [r7, #4] 1648 0176 1B6C ldr r3, [r3, #64] 1649 0178 43F00102 orr r2, r3, #1 1650 017c 7B68 ldr r3, [r7, #4] 1651 017e 1A64 str r2, [r3, #64] 1652 .L75: 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */ 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */ 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback(hadc); 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADCEx_InjectedConvCpltCallback(hadc); 1653 .loc 1 1300 7 1654 0180 7868 ldr r0, [r7, #4] 1655 0182 FFF7FEFF bl HAL_ADCEx_InjectedConvCpltCallback 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear injected group conversion flag */ 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_JSTRT | ADC_FLAG_JEOC)); 1656 .loc 1 1304 5 1657 0186 7B68 ldr r3, [r7, #4] 1658 0188 1B68 ldr r3, [r3] 1659 018a 6FF00C02 mvn r2, #12 1660 018e 1A60 str r2, [r3] 1661 .L73: ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 53 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = tmp_sr & ADC_FLAG_AWD; 1662 .loc 1 1307 8 1663 0190 FB68 ldr r3, [r7, #12] 1664 0192 03F00103 and r3, r3, #1 1665 0196 7B61 str r3, [r7, #20] 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_AWD; 1666 .loc 1 1308 8 1667 0198 BB68 ldr r3, [r7, #8] 1668 019a 03F04003 and r3, r3, #64 1669 019e 3B61 str r3, [r7, #16] 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Analog watchdog flag */ 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(tmp1 && tmp2) 1670 .loc 1 1310 5 1671 01a0 7B69 ldr r3, [r7, #20] 1672 01a2 002B cmp r3, #0 1673 01a4 17D0 beq .L77 1674 .loc 1 1310 11 discriminator 1 1675 01a6 3B69 ldr r3, [r7, #16] 1676 01a8 002B cmp r3, #0 1677 01aa 14D0 beq .L77 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_AWD)) 1678 .loc 1 1312 8 1679 01ac 7B68 ldr r3, [r7, #4] 1680 01ae 1B68 ldr r3, [r3] 1681 01b0 1B68 ldr r3, [r3] 1682 01b2 03F00103 and r3, r3, #1 1683 .loc 1 1312 7 1684 01b6 012B cmp r3, #1 1685 01b8 0DD1 bne .L77 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1); 1686 .loc 1 1315 7 1687 01ba 7B68 ldr r3, [r7, #4] 1688 01bc 1B6C ldr r3, [r3, #64] 1689 01be 43F48032 orr r2, r3, #65536 1690 01c2 7B68 ldr r3, [r7, #4] 1691 01c4 1A64 str r2, [r3, #64] 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Level out of window callback */ 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback(hadc); 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_LevelOutOfWindowCallback(hadc); 1692 .loc 1 1321 7 1693 01c6 7868 ldr r0, [r7, #4] 1694 01c8 FFF7FEFF bl HAL_ADC_LevelOutOfWindowCallback 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the ADC analog watchdog flag */ 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD); 1695 .loc 1 1325 7 1696 01cc 7B68 ldr r3, [r7, #4] 1697 01ce 1B68 ldr r3, [r3] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 54 1698 01d0 6FF00102 mvn r2, #1 1699 01d4 1A60 str r2, [r3] 1700 .L77: 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = tmp_sr & ADC_FLAG_OVR; 1701 .loc 1 1329 8 1702 01d6 FB68 ldr r3, [r7, #12] 1703 01d8 03F02003 and r3, r3, #32 1704 01dc 7B61 str r3, [r7, #20] 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = tmp_cr1 & ADC_IT_OVR; 1705 .loc 1 1330 8 1706 01de BB68 ldr r3, [r7, #8] 1707 01e0 03F08063 and r3, r3, #67108864 1708 01e4 3B61 str r3, [r7, #16] 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Overrun flag */ 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(tmp1 && tmp2) 1709 .loc 1 1332 5 1710 01e6 7B69 ldr r3, [r7, #20] 1711 01e8 002B cmp r3, #0 1712 01ea 15D0 beq .L79 1713 .loc 1 1332 11 discriminator 1 1714 01ec 3B69 ldr r3, [r7, #16] 1715 01ee 002B cmp r3, #0 1716 01f0 12D0 beq .L79 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, ADC overrun can be set through other parameters */ 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* refer to description of parameter "EOCSelection" for more */ 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* details. */ 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to overrun */ 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR); 1717 .loc 1 1339 5 1718 01f2 7B68 ldr r3, [r7, #4] 1719 01f4 5B6C ldr r3, [r3, #68] 1720 01f6 43F00202 orr r2, r3, #2 1721 01fa 7B68 ldr r3, [r7, #4] 1722 01fc 5A64 str r2, [r3, #68] 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear ADC overrun flag */ 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); 1723 .loc 1 1342 5 1724 01fe 7B68 ldr r3, [r7, #4] 1725 0200 1B68 ldr r3, [r3] 1726 0202 6FF02002 mvn r2, #32 1727 0206 1A60 str r2, [r3] 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Error callback */ 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback(hadc); 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc); 1728 .loc 1 1348 7 1729 0208 7868 ldr r0, [r7, #4] 1730 020a FFF7FEFF bl HAL_ADC_ErrorCallback 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 55 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the Overrun flag */ 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR); 1731 .loc 1 1352 5 1732 020e 7B68 ldr r3, [r7, #4] 1733 0210 1B68 ldr r3, [r3] 1734 0212 6FF02002 mvn r2, #32 1735 0216 1A60 str r2, [r3] 1736 .L79: 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1737 .loc 1 1354 1 1738 0218 00BF nop 1739 021a 1837 adds r7, r7, #24 1740 .LCFI59: 1741 .cfi_def_cfa_offset 8 1742 021c BD46 mov sp, r7 1743 .LCFI60: 1744 .cfi_def_cfa_register 13 1745 @ sp needed 1746 021e 80BD pop {r7, pc} 1747 .cfi_endproc 1748 .LFE245: 1750 .section .text.HAL_ADC_Start_DMA,"ax",%progbits 1751 .align 1 1752 .global HAL_ADC_Start_DMA 1753 .syntax unified 1754 .thumb 1755 .thumb_func 1757 HAL_ADC_Start_DMA: 1758 .LFB246: 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Enables ADC DMA request after last transfer (Single-ADC mode) and enables ADC periphera 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param pData The destination Buffer address. 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param Length The length of data to be transferred from ADC peripheral to memory. 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length) 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1759 .loc 1 1365 1 1760 .cfi_startproc 1761 @ args = 0, pretend = 0, frame = 24 1762 @ frame_needed = 1, uses_anonymous_args = 0 1763 0000 80B5 push {r7, lr} 1764 .LCFI61: 1765 .cfi_def_cfa_offset 8 1766 .cfi_offset 7, -8 1767 .cfi_offset 14, -4 1768 0002 86B0 sub sp, sp, #24 1769 .LCFI62: 1770 .cfi_def_cfa_offset 32 1771 0004 00AF add r7, sp, #0 1772 .LCFI63: 1773 .cfi_def_cfa_register 7 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 56 1774 0006 F860 str r0, [r7, #12] 1775 0008 B960 str r1, [r7, #8] 1776 000a 7A60 str r2, [r7, #4] 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 1777 .loc 1 1366 17 1778 000c 0023 movs r3, #0 1779 000e 3B61 str r3, [r7, #16] 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 1780 .loc 1 1374 3 1781 0010 FB68 ldr r3, [r7, #12] 1782 0012 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 1783 0016 012B cmp r3, #1 1784 0018 01D1 bne .L81 1785 .loc 1 1374 3 is_stmt 0 discriminator 1 1786 001a 0223 movs r3, #2 1787 001c E9E0 b .L82 1788 .L81: 1789 .loc 1 1374 3 discriminator 2 1790 001e FB68 ldr r3, [r7, #12] 1791 0020 0122 movs r2, #1 1792 0022 83F83C20 strb r2, [r3, #60] 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC peripheral */ 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Tstab time the ADC's stabilization */ 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 1793 .loc 1 1379 11 is_stmt 1 discriminator 2 1794 0026 FB68 ldr r3, [r7, #12] 1795 0028 1B68 ldr r3, [r3] 1796 .loc 1 1379 21 discriminator 2 1797 002a 9B68 ldr r3, [r3, #8] 1798 .loc 1 1379 27 discriminator 2 1799 002c 03F00103 and r3, r3, #1 1800 .loc 1 1379 5 discriminator 2 1801 0030 012B cmp r3, #1 1802 0032 18D0 beq .L83 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Peripheral */ 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc); 1803 .loc 1 1382 5 1804 0034 FB68 ldr r3, [r7, #12] 1805 0036 1B68 ldr r3, [r3] 1806 0038 9A68 ldr r2, [r3, #8] 1807 003a FB68 ldr r3, [r7, #12] 1808 003c 1B68 ldr r3, [r3] 1809 003e 42F00102 orr r2, r2, #1 1810 0042 9A60 str r2, [r3, #8] 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for ADC stabilization time */ 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 57 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U)); 1811 .loc 1 1386 53 1812 0044 6D4B ldr r3, .L95 1813 0046 1B68 ldr r3, [r3] 1814 0048 6D4A ldr r2, .L95+4 1815 004a A2FB0323 umull r2, r3, r2, r3 1816 004e 9A0C lsrs r2, r3, #18 1817 .loc 1 1386 34 1818 0050 1346 mov r3, r2 1819 0052 5B00 lsls r3, r3, #1 1820 0054 1344 add r3, r3, r2 1821 .loc 1 1386 13 1822 0056 3B61 str r3, [r7, #16] 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 1823 .loc 1 1387 10 1824 0058 02E0 b .L84 1825 .L85: 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--; 1826 .loc 1 1389 14 1827 005a 3B69 ldr r3, [r7, #16] 1828 005c 013B subs r3, r3, #1 1829 005e 3B61 str r3, [r7, #16] 1830 .L84: 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 1831 .loc 1 1387 19 1832 0060 3B69 ldr r3, [r7, #16] 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 1833 .loc 1 1387 10 1834 0062 002B cmp r3, #0 1835 0064 F9D1 bne .L85 1836 .L83: 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check ADC DMA Mode */ 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - disable the DMA Mode if it is already enabled */ 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_DMA) == ADC_CR2_DMA) 1837 .loc 1 1395 11 1838 0066 FB68 ldr r3, [r7, #12] 1839 0068 1B68 ldr r3, [r3] 1840 .loc 1 1395 21 1841 006a 9B68 ldr r3, [r3, #8] 1842 .loc 1 1395 27 1843 006c 03F48073 and r3, r3, #256 1844 .loc 1 1395 5 1845 0070 B3F5807F cmp r3, #256 1846 0074 07D1 bne .L86 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->Instance->CR2, ADC_CR2_DMA); 1847 .loc 1 1397 5 1848 0076 FB68 ldr r3, [r7, #12] 1849 0078 1B68 ldr r3, [r3] 1850 007a 9A68 ldr r2, [r3, #8] 1851 007c FB68 ldr r3, [r7, #12] 1852 007e 1B68 ldr r3, [r3] 1853 0080 22F48072 bic r2, r2, #256 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 58 1854 0084 9A60 str r2, [r3, #8] 1855 .L86: 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */ 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 1856 .loc 1 1401 6 1857 0086 FB68 ldr r3, [r7, #12] 1858 0088 1B68 ldr r3, [r3] 1859 008a 9B68 ldr r3, [r3, #8] 1860 008c 03F00103 and r3, r3, #1 1861 .loc 1 1401 5 1862 0090 012B cmp r3, #1 1863 0092 40F0A180 bne .L87 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */ 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Set state bitfield related to regular group operation */ 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 1864 .loc 1 1406 5 1865 0096 FB68 ldr r3, [r7, #12] 1866 0098 1B6C ldr r3, [r3, #64] 1867 009a 23F4E063 bic r3, r3, #1792 1868 009e 23F00103 bic r3, r3, #1 1869 00a2 43F48072 orr r2, r3, #256 1870 00a6 FB68 ldr r3, [r7, #12] 1871 00a8 1A64 str r2, [r3, #64] 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY); 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* If conversions on group regular are also triggering group injected, */ 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* update ADC state. */ 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) 1872 .loc 1 1412 9 1873 00aa FB68 ldr r3, [r7, #12] 1874 00ac 1B68 ldr r3, [r3] 1875 00ae 5B68 ldr r3, [r3, #4] 1876 00b0 03F48063 and r3, r3, #1024 1877 .loc 1 1412 8 1878 00b4 002B cmp r3, #0 1879 00b6 07D0 beq .L88 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 1880 .loc 1 1414 7 1881 00b8 FB68 ldr r3, [r7, #12] 1882 00ba 1B6C ldr r3, [r3, #64] 1883 00bc 23F44053 bic r3, r3, #12288 1884 00c0 43F48052 orr r2, r3, #4096 1885 00c4 FB68 ldr r3, [r7, #12] 1886 00c6 1A64 str r2, [r3, #64] 1887 .L88: 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* State machine update: Check if an injected conversion is ongoing */ 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 1888 .loc 1 1418 9 1889 00c8 FB68 ldr r3, [r7, #12] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 59 1890 00ca 1B6C ldr r3, [r3, #64] 1891 00cc 03F48053 and r3, r3, #4096 1892 .loc 1 1418 8 1893 00d0 B3F5805F cmp r3, #4096 1894 00d4 06D1 bne .L89 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC error code fields related to conversions on group regular */ 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 1895 .loc 1 1421 7 1896 00d6 FB68 ldr r3, [r7, #12] 1897 00d8 5B6C ldr r3, [r3, #68] 1898 00da 23F00602 bic r2, r3, #6 1899 00de FB68 ldr r3, [r7, #12] 1900 00e0 5A64 str r2, [r3, #68] 1901 00e2 02E0 b .L90 1902 .L89: 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC all error code fields */ 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc); 1903 .loc 1 1426 7 1904 00e4 FB68 ldr r3, [r7, #12] 1905 00e6 0022 movs r2, #0 1906 00e8 5A64 str r2, [r3, #68] 1907 .L90: 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */ 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */ 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 1908 .loc 1 1432 5 1909 00ea FB68 ldr r3, [r7, #12] 1910 00ec 0022 movs r2, #0 1911 00ee 83F83C20 strb r2, [r3, #60] 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 1912 .loc 1 1437 19 1913 00f2 444B ldr r3, .L95+8 1914 00f4 7B61 str r3, [r7, #20] 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the DMA transfer complete callback */ 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; 1915 .loc 1 1440 9 1916 00f6 FB68 ldr r3, [r7, #12] 1917 00f8 9B6B ldr r3, [r3, #56] 1918 .loc 1 1440 40 1919 00fa 434A ldr r2, .L95+12 1920 00fc DA63 str r2, [r3, #60] 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the DMA half transfer complete callback */ 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; 1921 .loc 1 1443 9 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 60 1922 00fe FB68 ldr r3, [r7, #12] 1923 0100 9B6B ldr r3, [r3, #56] 1924 .loc 1 1443 44 1925 0102 424A ldr r2, .L95+16 1926 0104 1A64 str r2, [r3, #64] 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the DMA error callback */ 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; 1927 .loc 1 1446 9 1928 0106 FB68 ldr r3, [r7, #12] 1929 0108 9B6B ldr r3, [r3, #56] 1930 .loc 1 1446 41 1931 010a 414A ldr r2, .L95+20 1932 010c DA64 str r2, [r3, #76] 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Manage ADC and DMA start: ADC overrun interruption, DMA start, ADC */ 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* start (in case of SW start): */ 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */ 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC operations) */ 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR); 1933 .loc 1 1454 5 1934 010e FB68 ldr r3, [r7, #12] 1935 0110 1B68 ldr r3, [r3] 1936 0112 6FF02202 mvn r2, #34 1937 0116 1A60 str r2, [r3] 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable ADC overrun interrupt */ 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); 1938 .loc 1 1457 5 1939 0118 FB68 ldr r3, [r7, #12] 1940 011a 1B68 ldr r3, [r3] 1941 011c 5A68 ldr r2, [r3, #4] 1942 011e FB68 ldr r3, [r7, #12] 1943 0120 1B68 ldr r3, [r3] 1944 0122 42F08062 orr r2, r2, #67108864 1945 0126 5A60 str r2, [r3, #4] 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable ADC DMA mode */ 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_DMA; 1946 .loc 1 1460 9 1947 0128 FB68 ldr r3, [r7, #12] 1948 012a 1B68 ldr r3, [r3] 1949 .loc 1 1460 25 1950 012c 9A68 ldr r2, [r3, #8] 1951 .loc 1 1460 9 1952 012e FB68 ldr r3, [r7, #12] 1953 0130 1B68 ldr r3, [r3] 1954 .loc 1 1460 25 1955 0132 42F48072 orr r2, r2, #256 1956 0136 9A60 str r2, [r3, #8] 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start the DMA channel */ 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData, Length); 1957 .loc 1 1463 5 1958 0138 FB68 ldr r3, [r7, #12] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 61 1959 013a 986B ldr r0, [r3, #56] 1960 .loc 1 1463 55 1961 013c FB68 ldr r3, [r7, #12] 1962 013e 1B68 ldr r3, [r3] 1963 .loc 1 1463 50 1964 0140 4C33 adds r3, r3, #76 1965 .loc 1 1463 5 1966 0142 1946 mov r1, r3 1967 0144 BA68 ldr r2, [r7, #8] 1968 0146 7B68 ldr r3, [r7, #4] 1969 0148 FFF7FEFF bl HAL_DMA_Start_IT 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if Multimode enabled */ 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI)) 1970 .loc 1 1466 8 1971 014c 7B69 ldr r3, [r7, #20] 1972 014e 5B68 ldr r3, [r3, #4] 1973 0150 03F01F03 and r3, r3, #31 1974 .loc 1 1466 7 1975 0154 002B cmp r3, #0 1976 0156 2AD1 bne .L91 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) || ((hadc->Instance == ADC2) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < 1977 .loc 1 1469 15 1978 0158 FB68 ldr r3, [r7, #12] 1979 015a 1B68 ldr r3, [r3] 1980 .loc 1 1469 9 1981 015c 2D4A ldr r2, .L95+24 1982 015e 9342 cmp r3, r2 1983 0160 15D0 beq .L92 1984 .loc 1 1469 44 discriminator 1 1985 0162 FB68 ldr r3, [r7, #12] 1986 0164 1B68 ldr r3, [r3] 1987 .loc 1 1469 35 discriminator 1 1988 0166 2C4A ldr r2, .L95+28 1989 0168 9342 cmp r3, r2 1990 016a 05D1 bne .L93 1991 .loc 1 1469 72 discriminator 2 1992 016c 254B ldr r3, .L95+8 1993 016e 5B68 ldr r3, [r3, #4] 1994 .loc 1 1469 78 discriminator 2 1995 0170 03F01F03 and r3, r3, #31 1996 .loc 1 1469 64 discriminator 2 1997 0174 002B cmp r3, #0 1998 0176 0AD0 beq .L92 1999 .L93: 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) < 2000 .loc 1 1470 44 2001 0178 FB68 ldr r3, [r7, #12] 2002 017a 1B68 ldr r3, [r3] 2003 .loc 1 1470 35 2004 017c 274A ldr r2, .L95+32 2005 017e 9342 cmp r3, r2 2006 0180 36D1 bne .L94 2007 .loc 1 1470 72 discriminator 1 2008 0182 204B ldr r3, .L95+8 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 62 2009 0184 5B68 ldr r3, [r3, #4] 2010 .loc 1 1470 99 discriminator 1 2011 0186 03F01003 and r3, r3, #16 2012 .loc 1 1470 64 discriminator 1 2013 018a 002B cmp r3, #0 2014 018c 30D1 bne .L94 2015 .L92: 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if no external trigger present enable software conversion of regular channels */ 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 2016 .loc 1 1474 17 2017 018e FB68 ldr r3, [r7, #12] 2018 0190 1B68 ldr r3, [r3] 2019 .loc 1 1474 27 2020 0192 9B68 ldr r3, [r3, #8] 2021 .loc 1 1474 33 2022 0194 03F04053 and r3, r3, #805306368 2023 .loc 1 1474 11 2024 0198 002B cmp r3, #0 2025 019a 29D1 bne .L94 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 2026 .loc 1 1477 15 2027 019c FB68 ldr r3, [r7, #12] 2028 019e 1B68 ldr r3, [r3] 2029 .loc 1 1477 31 2030 01a0 9A68 ldr r2, [r3, #8] 2031 .loc 1 1477 15 2032 01a2 FB68 ldr r3, [r7, #12] 2033 01a4 1B68 ldr r3, [r3] 2034 .loc 1 1477 31 2035 01a6 42F08042 orr r2, r2, #1073741824 2036 01aa 9A60 str r2, [r3, #8] 2037 01ac 20E0 b .L94 2038 .L91: 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3) 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */ 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if instance of handle correspond to ADC1 and no external trigger present enable software 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 2039 .loc 1 1486 15 2040 01ae FB68 ldr r3, [r7, #12] 2041 01b0 1B68 ldr r3, [r3] 2042 .loc 1 1486 9 2043 01b2 184A ldr r2, .L95+24 2044 01b4 9342 cmp r3, r2 2045 01b6 1BD1 bne .L94 2046 .loc 1 1486 44 discriminator 1 2047 01b8 FB68 ldr r3, [r7, #12] 2048 01ba 1B68 ldr r3, [r3] 2049 .loc 1 1486 54 discriminator 1 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 63 2050 01bc 9B68 ldr r3, [r3, #8] 2051 .loc 1 1486 60 discriminator 1 2052 01be 03F04053 and r3, r3, #805306368 2053 .loc 1 1486 35 discriminator 1 2054 01c2 002B cmp r3, #0 2055 01c4 14D1 bne .L94 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */ 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 2056 .loc 1 1489 15 2057 01c6 FB68 ldr r3, [r7, #12] 2058 01c8 1B68 ldr r3, [r3] 2059 .loc 1 1489 31 2060 01ca 9A68 ldr r2, [r3, #8] 2061 .loc 1 1489 15 2062 01cc FB68 ldr r3, [r7, #12] 2063 01ce 1B68 ldr r3, [r3] 2064 .loc 1 1489 31 2065 01d0 42F08042 orr r2, r2, #1073741824 2066 01d4 9A60 str r2, [r3, #8] 2067 01d6 0BE0 b .L94 2068 .L87: 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 2069 .loc 1 1496 5 2070 01d8 FB68 ldr r3, [r7, #12] 2071 01da 1B6C ldr r3, [r3, #64] 2072 01dc 43F01002 orr r2, r3, #16 2073 01e0 FB68 ldr r3, [r7, #12] 2074 01e2 1A64 str r2, [r3, #64] 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */ 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 2075 .loc 1 1499 5 2076 01e4 FB68 ldr r3, [r7, #12] 2077 01e6 5B6C ldr r3, [r3, #68] 2078 01e8 43F00102 orr r2, r3, #1 2079 01ec FB68 ldr r3, [r7, #12] 2080 01ee 5A64 str r2, [r3, #68] 2081 .L94: 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 2082 .loc 1 1503 10 2083 01f0 0023 movs r3, #0 2084 .L82: 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2085 .loc 1 1504 1 2086 01f2 1846 mov r0, r3 2087 01f4 1837 adds r7, r7, #24 2088 .LCFI64: ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 64 2089 .cfi_def_cfa_offset 8 2090 01f6 BD46 mov sp, r7 2091 .LCFI65: 2092 .cfi_def_cfa_register 13 2093 @ sp needed 2094 01f8 80BD pop {r7, pc} 2095 .L96: 2096 01fa 00BF .align 2 2097 .L95: 2098 01fc 00000000 .word SystemCoreClock 2099 0200 83DE1B43 .word 1125899907 2100 0204 00230140 .word 1073816320 2101 0208 00000000 .word ADC_DMAConvCplt 2102 020c 00000000 .word ADC_DMAHalfConvCplt 2103 0210 00000000 .word ADC_DMAError 2104 0214 00200140 .word 1073815552 2105 0218 00210140 .word 1073815808 2106 021c 00220140 .word 1073816064 2107 .cfi_endproc 2108 .LFE246: 2110 .section .text.HAL_ADC_Stop_DMA,"ax",%progbits 2111 .align 1 2112 .global HAL_ADC_Stop_DMA 2113 .syntax unified 2114 .thumb 2115 .thumb_func 2117 HAL_ADC_Stop_DMA: 2118 .LFB247: 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Disables ADC DMA (Single-ADC mode) and disables ADC peripheral 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc) 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2119 .loc 1 1513 1 2120 .cfi_startproc 2121 @ args = 0, pretend = 0, frame = 16 2122 @ frame_needed = 1, uses_anonymous_args = 0 2123 0000 80B5 push {r7, lr} 2124 .LCFI66: 2125 .cfi_def_cfa_offset 8 2126 .cfi_offset 7, -8 2127 .cfi_offset 14, -4 2128 0002 84B0 sub sp, sp, #16 2129 .LCFI67: 2130 .cfi_def_cfa_offset 24 2131 0004 00AF add r7, sp, #0 2132 .LCFI68: 2133 .cfi_def_cfa_register 7 2134 0006 7860 str r0, [r7, #4] 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK; 2135 .loc 1 1514 21 2136 0008 0023 movs r3, #0 2137 000a FB73 strb r3, [r7, #15] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 65 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 2138 .loc 1 1520 3 2139 000c 7B68 ldr r3, [r7, #4] 2140 000e 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 2141 0012 012B cmp r3, #1 2142 0014 01D1 bne .L98 2143 .loc 1 1520 3 is_stmt 0 discriminator 1 2144 0016 0223 movs r3, #2 2145 0018 48E0 b .L99 2146 .L98: 2147 .loc 1 1520 3 discriminator 2 2148 001a 7B68 ldr r3, [r7, #4] 2149 001c 0122 movs r2, #1 2150 001e 83F83C20 strb r2, [r3, #60] 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */ 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */ 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc); 2151 .loc 1 1524 3 is_stmt 1 discriminator 2 2152 0022 7B68 ldr r3, [r7, #4] 2153 0024 1B68 ldr r3, [r3] 2154 0026 9A68 ldr r2, [r3, #8] 2155 0028 7B68 ldr r3, [r7, #4] 2156 002a 1B68 ldr r3, [r3] 2157 002c 22F00102 bic r2, r2, #1 2158 0030 9A60 str r2, [r3, #8] 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC is effectively disabled */ 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 2159 .loc 1 1527 6 discriminator 2 2160 0032 7B68 ldr r3, [r7, #4] 2161 0034 1B68 ldr r3, [r3] 2162 0036 9B68 ldr r3, [r3, #8] 2163 0038 03F00103 and r3, r3, #1 2164 .loc 1 1527 5 discriminator 2 2165 003c 002B cmp r3, #0 2166 003e 30D1 bne .L100 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the selected ADC DMA mode */ 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~ADC_CR2_DMA; 2167 .loc 1 1530 9 2168 0040 7B68 ldr r3, [r7, #4] 2169 0042 1B68 ldr r3, [r3] 2170 .loc 1 1530 25 2171 0044 9A68 ldr r2, [r3, #8] 2172 .loc 1 1530 9 2173 0046 7B68 ldr r3, [r7, #4] 2174 0048 1B68 ldr r3, [r3] 2175 .loc 1 1530 25 2176 004a 22F48072 bic r2, r2, #256 2177 004e 9A60 str r2, [r3, #8] 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 66 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the DMA channel (in case of DMA in circular mode or stop while */ 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* DMA transfer is on going) */ 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) 2178 .loc 1 1534 13 2179 0050 7B68 ldr r3, [r7, #4] 2180 0052 9B6B ldr r3, [r3, #56] 2181 .loc 1 1534 25 2182 0054 93F83530 ldrb r3, [r3, #53] 2183 0058 DBB2 uxtb r3, r3 2184 .loc 1 1534 8 2185 005a 022B cmp r3, #2 2186 005c 0FD1 bne .L101 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); 2187 .loc 1 1536 24 2188 005e 7B68 ldr r3, [r7, #4] 2189 0060 9B6B ldr r3, [r3, #56] 2190 0062 1846 mov r0, r3 2191 0064 FFF7FEFF bl HAL_DMA_Abort 2192 0068 0346 mov r3, r0 2193 006a FB73 strb r3, [r7, #15] 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if DMA channel effectively disabled */ 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (tmp_hal_status != HAL_OK) 2194 .loc 1 1539 10 2195 006c FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 2196 006e 002B cmp r3, #0 2197 0070 05D0 beq .L101 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */ 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); 2198 .loc 1 1542 9 2199 0072 7B68 ldr r3, [r7, #4] 2200 0074 1B6C ldr r3, [r3, #64] 2201 0076 43F04002 orr r2, r3, #64 2202 007a 7B68 ldr r3, [r7, #4] 2203 007c 1A64 str r2, [r3, #64] 2204 .L101: 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC overrun interrupt */ 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); 2205 .loc 1 1547 5 2206 007e 7B68 ldr r3, [r7, #4] 2207 0080 1B68 ldr r3, [r3] 2208 0082 5A68 ldr r2, [r3, #4] 2209 0084 7B68 ldr r3, [r7, #4] 2210 0086 1B68 ldr r3, [r3] 2211 0088 22F08062 bic r2, r2, #67108864 2212 008c 5A60 str r2, [r3, #4] 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, 2213 .loc 1 1550 5 2214 008e 7B68 ldr r3, [r7, #4] 2215 0090 1B6C ldr r3, [r3, #64] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 67 2216 0092 23F48853 bic r3, r3, #4352 2217 0096 23F00103 bic r3, r3, #1 2218 009a 43F00102 orr r2, r3, #1 2219 009e 7B68 ldr r3, [r7, #4] 2220 00a0 1A64 str r2, [r3, #64] 2221 .L100: 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY); 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 2222 .loc 1 1556 3 2223 00a2 7B68 ldr r3, [r7, #4] 2224 00a4 0022 movs r2, #0 2225 00a6 83F83C20 strb r2, [r3, #60] 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status; 2226 .loc 1 1559 10 2227 00aa FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 2228 .L99: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2229 .loc 1 1560 1 2230 00ac 1846 mov r0, r3 2231 00ae 1037 adds r7, r7, #16 2232 .LCFI69: 2233 .cfi_def_cfa_offset 8 2234 00b0 BD46 mov sp, r7 2235 .LCFI70: 2236 .cfi_def_cfa_register 13 2237 @ sp needed 2238 00b2 80BD pop {r7, pc} 2239 .cfi_endproc 2240 .LFE247: 2242 .section .text.HAL_ADC_GetValue,"ax",%progbits 2243 .align 1 2244 .global HAL_ADC_GetValue 2245 .syntax unified 2246 .thumb 2247 .thumb_func 2249 HAL_ADC_GetValue: 2250 .LFB248: 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Gets the converted value from data register of regular channel. 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval Converted value 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc) 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2251 .loc 1 1569 1 2252 .cfi_startproc 2253 @ args = 0, pretend = 0, frame = 8 2254 @ frame_needed = 1, uses_anonymous_args = 0 2255 @ link register save eliminated. ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 68 2256 0000 80B4 push {r7} 2257 .LCFI71: 2258 .cfi_def_cfa_offset 4 2259 .cfi_offset 7, -4 2260 0002 83B0 sub sp, sp, #12 2261 .LCFI72: 2262 .cfi_def_cfa_offset 16 2263 0004 00AF add r7, sp, #0 2264 .LCFI73: 2265 .cfi_def_cfa_register 7 2266 0006 7860 str r0, [r7, #4] 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return the selected ADC converted value */ 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->Instance->DR; 2267 .loc 1 1571 14 2268 0008 7B68 ldr r3, [r7, #4] 2269 000a 1B68 ldr r3, [r3] 2270 .loc 1 1571 24 2271 000c DB6C ldr r3, [r3, #76] 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2272 .loc 1 1572 1 2273 000e 1846 mov r0, r3 2274 0010 0C37 adds r7, r7, #12 2275 .LCFI74: 2276 .cfi_def_cfa_offset 4 2277 0012 BD46 mov sp, r7 2278 .LCFI75: 2279 .cfi_def_cfa_register 13 2280 @ sp needed 2281 0014 5DF8047B ldr r7, [sp], #4 2282 .LCFI76: 2283 .cfi_restore 7 2284 .cfi_def_cfa_offset 0 2285 0018 7047 bx lr 2286 .cfi_endproc 2287 .LFE248: 2289 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits 2290 .align 1 2291 .weak HAL_ADC_ConvCpltCallback 2292 .syntax unified 2293 .thumb 2294 .thumb_func 2296 HAL_ADC_ConvCpltCallback: 2297 .LFB249: 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Regular conversion complete callback in non blocking mode 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2298 .loc 1 1581 1 2299 .cfi_startproc 2300 @ args = 0, pretend = 0, frame = 8 2301 @ frame_needed = 1, uses_anonymous_args = 0 2302 @ link register save eliminated. ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 69 2303 0000 80B4 push {r7} 2304 .LCFI77: 2305 .cfi_def_cfa_offset 4 2306 .cfi_offset 7, -4 2307 0002 83B0 sub sp, sp, #12 2308 .LCFI78: 2309 .cfi_def_cfa_offset 16 2310 0004 00AF add r7, sp, #0 2311 .LCFI79: 2312 .cfi_def_cfa_register 7 2313 0006 7860 str r0, [r7, #4] 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_ConvCpltCallback could be implemented in the user file 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2314 .loc 1 1587 1 2315 0008 00BF nop 2316 000a 0C37 adds r7, r7, #12 2317 .LCFI80: 2318 .cfi_def_cfa_offset 4 2319 000c BD46 mov sp, r7 2320 .LCFI81: 2321 .cfi_def_cfa_register 13 2322 @ sp needed 2323 000e 5DF8047B ldr r7, [sp], #4 2324 .LCFI82: 2325 .cfi_restore 7 2326 .cfi_def_cfa_offset 0 2327 0012 7047 bx lr 2328 .cfi_endproc 2329 .LFE249: 2331 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits 2332 .align 1 2333 .weak HAL_ADC_ConvHalfCpltCallback 2334 .syntax unified 2335 .thumb 2336 .thumb_func 2338 HAL_ADC_ConvHalfCpltCallback: 2339 .LFB250: 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Regular conversion half DMA transfer callback in non blocking mode 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2340 .loc 1 1596 1 2341 .cfi_startproc 2342 @ args = 0, pretend = 0, frame = 8 2343 @ frame_needed = 1, uses_anonymous_args = 0 2344 @ link register save eliminated. 2345 0000 80B4 push {r7} 2346 .LCFI83: ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 70 2347 .cfi_def_cfa_offset 4 2348 .cfi_offset 7, -4 2349 0002 83B0 sub sp, sp, #12 2350 .LCFI84: 2351 .cfi_def_cfa_offset 16 2352 0004 00AF add r7, sp, #0 2353 .LCFI85: 2354 .cfi_def_cfa_register 7 2355 0006 7860 str r0, [r7, #4] 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_ConvHalfCpltCallback could be implemented in the user file 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2356 .loc 1 1602 1 2357 0008 00BF nop 2358 000a 0C37 adds r7, r7, #12 2359 .LCFI86: 2360 .cfi_def_cfa_offset 4 2361 000c BD46 mov sp, r7 2362 .LCFI87: 2363 .cfi_def_cfa_register 13 2364 @ sp needed 2365 000e 5DF8047B ldr r7, [sp], #4 2366 .LCFI88: 2367 .cfi_restore 7 2368 .cfi_def_cfa_offset 0 2369 0012 7047 bx lr 2370 .cfi_endproc 2371 .LFE250: 2373 .section .text.HAL_ADC_LevelOutOfWindowCallback,"ax",%progbits 2374 .align 1 2375 .weak HAL_ADC_LevelOutOfWindowCallback 2376 .syntax unified 2377 .thumb 2378 .thumb_func 2380 HAL_ADC_LevelOutOfWindowCallback: 2381 .LFB251: 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Analog watchdog callback in non blocking mode 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc) 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2382 .loc 1 1611 1 2383 .cfi_startproc 2384 @ args = 0, pretend = 0, frame = 8 2385 @ frame_needed = 1, uses_anonymous_args = 0 2386 @ link register save eliminated. 2387 0000 80B4 push {r7} 2388 .LCFI89: 2389 .cfi_def_cfa_offset 4 2390 .cfi_offset 7, -4 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 71 2391 0002 83B0 sub sp, sp, #12 2392 .LCFI90: 2393 .cfi_def_cfa_offset 16 2394 0004 00AF add r7, sp, #0 2395 .LCFI91: 2396 .cfi_def_cfa_register 7 2397 0006 7860 str r0, [r7, #4] 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_LevelOoutOfWindowCallback could be implemented in the user file 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2398 .loc 1 1617 1 2399 0008 00BF nop 2400 000a 0C37 adds r7, r7, #12 2401 .LCFI92: 2402 .cfi_def_cfa_offset 4 2403 000c BD46 mov sp, r7 2404 .LCFI93: 2405 .cfi_def_cfa_register 13 2406 @ sp needed 2407 000e 5DF8047B ldr r7, [sp], #4 2408 .LCFI94: 2409 .cfi_restore 7 2410 .cfi_def_cfa_offset 0 2411 0012 7047 bx lr 2412 .cfi_endproc 2413 .LFE251: 2415 .section .text.HAL_ADC_ErrorCallback,"ax",%progbits 2416 .align 1 2417 .weak HAL_ADC_ErrorCallback 2418 .syntax unified 2419 .thumb 2420 .thumb_func 2422 HAL_ADC_ErrorCallback: 2423 .LFB252: 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Error ADC callback. 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note In case of error due to overrun when using ADC with DMA transfer 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * (HAL ADC handle parameter "ErrorCode" to state "HAL_ADC_ERROR_OVR"): 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * - Reinitialize the DMA using function "HAL_ADC_Stop_DMA()". 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * - If needed, restart a new ADC conversion using function 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * "HAL_ADC_Start_DMA()" 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * (this function is also clearing overrun flag) 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2424 .loc 1 1632 1 2425 .cfi_startproc 2426 @ args = 0, pretend = 0, frame = 8 2427 @ frame_needed = 1, uses_anonymous_args = 0 2428 @ link register save eliminated. ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 72 2429 0000 80B4 push {r7} 2430 .LCFI95: 2431 .cfi_def_cfa_offset 4 2432 .cfi_offset 7, -4 2433 0002 83B0 sub sp, sp, #12 2434 .LCFI96: 2435 .cfi_def_cfa_offset 16 2436 0004 00AF add r7, sp, #0 2437 .LCFI97: 2438 .cfi_def_cfa_register 7 2439 0006 7860 str r0, [r7, #4] 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */ 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc); 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed, 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_ErrorCallback could be implemented in the user file 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2440 .loc 1 1638 1 2441 0008 00BF nop 2442 000a 0C37 adds r7, r7, #12 2443 .LCFI98: 2444 .cfi_def_cfa_offset 4 2445 000c BD46 mov sp, r7 2446 .LCFI99: 2447 .cfi_def_cfa_register 13 2448 @ sp needed 2449 000e 5DF8047B ldr r7, [sp], #4 2450 .LCFI100: 2451 .cfi_restore 7 2452 .cfi_def_cfa_offset 0 2453 0012 7047 bx lr 2454 .cfi_endproc 2455 .LFE252: 2457 .section .text.HAL_ADC_ConfigChannel,"ax",%progbits 2458 .align 1 2459 .global HAL_ADC_ConfigChannel 2460 .syntax unified 2461 .thumb 2462 .thumb_func 2464 HAL_ADC_ConfigChannel: 2465 .LFB253: 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group3 Peripheral Control functions 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Peripheral Control functions 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### Peripheral Control functions ##### 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] This section provides functions allowing to: 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure regular channels. 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure injected channels. 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure multimode. ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 73 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure the analog watch dog. 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Configures for the selected ADC regular channel its corresponding 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * rank in the sequencer and its sample time. 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param sConfig ADC configuration structure. 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig) 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2466 .loc 1 1670 1 2467 .cfi_startproc 2468 @ args = 0, pretend = 0, frame = 16 2469 @ frame_needed = 1, uses_anonymous_args = 0 2470 @ link register save eliminated. 2471 0000 80B4 push {r7} 2472 .LCFI101: 2473 .cfi_def_cfa_offset 4 2474 .cfi_offset 7, -4 2475 0002 85B0 sub sp, sp, #20 2476 .LCFI102: 2477 .cfi_def_cfa_offset 24 2478 0004 00AF add r7, sp, #0 2479 .LCFI103: 2480 .cfi_def_cfa_register 7 2481 0006 7860 str r0, [r7, #4] 2482 0008 3960 str r1, [r7] 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U; 2483 .loc 1 1671 17 2484 000a 0023 movs r3, #0 2485 000c BB60 str r3, [r7, #8] 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(sConfig->Channel)); 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_RANK(sConfig->Rank)); 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_SAMPLE_TIME(sConfig->SamplingTime)); 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 2486 .loc 1 1680 3 2487 000e 7B68 ldr r3, [r7, #4] 2488 0010 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 2489 0014 012B cmp r3, #1 2490 0016 01D1 bne .L109 2491 .loc 1 1680 3 is_stmt 0 discriminator 1 2492 0018 0223 movs r3, #2 2493 001a 05E1 b .L110 2494 .L109: 2495 .loc 1 1680 3 discriminator 2 2496 001c 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 74 2497 001e 0122 movs r2, #1 2498 0020 83F83C20 strb r2, [r3, #60] 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if ADC_Channel_10 ... ADC_Channel_18 is selected */ 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (sConfig->Channel > ADC_CHANNEL_9) 2499 .loc 1 1683 14 is_stmt 1 discriminator 2 2500 0024 3B68 ldr r3, [r7] 2501 0026 1B68 ldr r3, [r3] 2502 .loc 1 1683 6 discriminator 2 2503 0028 092B cmp r3, #9 2504 002a 25D9 bls .L111 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old sample time */ 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR1 &= ~ADC_SMPR1(ADC_SMPR1_SMP10, sConfig->Channel); 2505 .loc 1 1686 9 2506 002c 7B68 ldr r3, [r7, #4] 2507 002e 1B68 ldr r3, [r3] 2508 .loc 1 1686 27 2509 0030 D968 ldr r1, [r3, #12] 2510 .loc 1 1686 31 2511 0032 3B68 ldr r3, [r7] 2512 0034 1B68 ldr r3, [r3] 2513 0036 9BB2 uxth r3, r3 2514 0038 1A46 mov r2, r3 2515 003a 1346 mov r3, r2 2516 003c 5B00 lsls r3, r3, #1 2517 003e 1344 add r3, r3, r2 2518 0040 1E3B subs r3, r3, #30 2519 0042 0722 movs r2, #7 2520 0044 02FA03F3 lsl r3, r2, r3 2521 .loc 1 1686 30 2522 0048 DA43 mvns r2, r3 2523 .loc 1 1686 9 2524 004a 7B68 ldr r3, [r7, #4] 2525 004c 1B68 ldr r3, [r3] 2526 .loc 1 1686 27 2527 004e 0A40 ands r2, r2, r1 2528 0050 DA60 str r2, [r3, #12] 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the new sample time */ 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, sConfig->Channel); 2529 .loc 1 1689 9 2530 0052 7B68 ldr r3, [r7, #4] 2531 0054 1B68 ldr r3, [r3] 2532 .loc 1 1689 27 2533 0056 D968 ldr r1, [r3, #12] 2534 .loc 1 1689 30 2535 0058 3B68 ldr r3, [r7] 2536 005a 9A68 ldr r2, [r3, #8] 2537 005c 3B68 ldr r3, [r7] 2538 005e 1B68 ldr r3, [r3] 2539 0060 9BB2 uxth r3, r3 2540 0062 1846 mov r0, r3 2541 0064 0346 mov r3, r0 2542 0066 5B00 lsls r3, r3, #1 2543 0068 0344 add r3, r3, r0 2544 006a 1E3B subs r3, r3, #30 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 75 2545 006c 9A40 lsls r2, r2, r3 2546 .loc 1 1689 9 2547 006e 7B68 ldr r3, [r7, #4] 2548 0070 1B68 ldr r3, [r3] 2549 .loc 1 1689 27 2550 0072 0A43 orrs r2, r2, r1 2551 0074 DA60 str r2, [r3, #12] 2552 0076 22E0 b .L112 2553 .L111: 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else /* ADC_Channel include in ADC_Channel_[0..9] */ 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old sample time */ 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR2 &= ~ADC_SMPR2(ADC_SMPR2_SMP0, sConfig->Channel); 2554 .loc 1 1694 9 2555 0078 7B68 ldr r3, [r7, #4] 2556 007a 1B68 ldr r3, [r3] 2557 .loc 1 1694 27 2558 007c 1969 ldr r1, [r3, #16] 2559 .loc 1 1694 31 2560 007e 3B68 ldr r3, [r7] 2561 0080 1B68 ldr r3, [r3] 2562 0082 9BB2 uxth r3, r3 2563 0084 1A46 mov r2, r3 2564 0086 1346 mov r3, r2 2565 0088 5B00 lsls r3, r3, #1 2566 008a 1344 add r3, r3, r2 2567 008c 0722 movs r2, #7 2568 008e 02FA03F3 lsl r3, r2, r3 2569 .loc 1 1694 30 2570 0092 DA43 mvns r2, r3 2571 .loc 1 1694 9 2572 0094 7B68 ldr r3, [r7, #4] 2573 0096 1B68 ldr r3, [r3] 2574 .loc 1 1694 27 2575 0098 0A40 ands r2, r2, r1 2576 009a 1A61 str r2, [r3, #16] 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the new sample time */ 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR2 |= ADC_SMPR2(sConfig->SamplingTime, sConfig->Channel); 2577 .loc 1 1697 9 2578 009c 7B68 ldr r3, [r7, #4] 2579 009e 1B68 ldr r3, [r3] 2580 .loc 1 1697 27 2581 00a0 1969 ldr r1, [r3, #16] 2582 .loc 1 1697 30 2583 00a2 3B68 ldr r3, [r7] 2584 00a4 9A68 ldr r2, [r3, #8] 2585 00a6 3B68 ldr r3, [r7] 2586 00a8 1B68 ldr r3, [r3] 2587 00aa 9BB2 uxth r3, r3 2588 00ac 1846 mov r0, r3 2589 00ae 0346 mov r3, r0 2590 00b0 5B00 lsls r3, r3, #1 2591 00b2 0344 add r3, r3, r0 2592 00b4 9A40 lsls r2, r2, r3 2593 .loc 1 1697 9 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 76 2594 00b6 7B68 ldr r3, [r7, #4] 2595 00b8 1B68 ldr r3, [r3] 2596 .loc 1 1697 27 2597 00ba 0A43 orrs r2, r2, r1 2598 00bc 1A61 str r2, [r3, #16] 2599 .L112: 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For Rank 1 to 6 */ 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (sConfig->Rank < 7U) 2600 .loc 1 1701 14 2601 00be 3B68 ldr r3, [r7] 2602 00c0 5B68 ldr r3, [r3, #4] 2603 .loc 1 1701 6 2604 00c2 062B cmp r3, #6 2605 00c4 24D8 bhi .L113 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old SQx bits for the selected rank */ 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR3 &= ~ADC_SQR3_RK(ADC_SQR3_SQ1, sConfig->Rank); 2606 .loc 1 1704 9 2607 00c6 7B68 ldr r3, [r7, #4] 2608 00c8 1B68 ldr r3, [r3] 2609 .loc 1 1704 26 2610 00ca 596B ldr r1, [r3, #52] 2611 .loc 1 1704 30 2612 00cc 3B68 ldr r3, [r7] 2613 00ce 5A68 ldr r2, [r3, #4] 2614 00d0 1346 mov r3, r2 2615 00d2 9B00 lsls r3, r3, #2 2616 00d4 1344 add r3, r3, r2 2617 00d6 053B subs r3, r3, #5 2618 00d8 1F22 movs r2, #31 2619 00da 02FA03F3 lsl r3, r2, r3 2620 .loc 1 1704 29 2621 00de DA43 mvns r2, r3 2622 .loc 1 1704 9 2623 00e0 7B68 ldr r3, [r7, #4] 2624 00e2 1B68 ldr r3, [r3] 2625 .loc 1 1704 26 2626 00e4 0A40 ands r2, r2, r1 2627 00e6 5A63 str r2, [r3, #52] 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the SQx bits for the selected rank */ 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR3 |= ADC_SQR3_RK(sConfig->Channel, sConfig->Rank); 2628 .loc 1 1707 9 2629 00e8 7B68 ldr r3, [r7, #4] 2630 00ea 1B68 ldr r3, [r3] 2631 .loc 1 1707 26 2632 00ec 596B ldr r1, [r3, #52] 2633 .loc 1 1707 29 2634 00ee 3B68 ldr r3, [r7] 2635 00f0 1B68 ldr r3, [r3] 2636 00f2 9BB2 uxth r3, r3 2637 00f4 1846 mov r0, r3 2638 00f6 3B68 ldr r3, [r7] 2639 00f8 5A68 ldr r2, [r3, #4] 2640 00fa 1346 mov r3, r2 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 77 2641 00fc 9B00 lsls r3, r3, #2 2642 00fe 1344 add r3, r3, r2 2643 0100 053B subs r3, r3, #5 2644 0102 00FA03F2 lsl r2, r0, r3 2645 .loc 1 1707 9 2646 0106 7B68 ldr r3, [r7, #4] 2647 0108 1B68 ldr r3, [r3] 2648 .loc 1 1707 26 2649 010a 0A43 orrs r2, r2, r1 2650 010c 5A63 str r2, [r3, #52] 2651 010e 4CE0 b .L114 2652 .L113: 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For Rank 7 to 12 */ 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else if (sConfig->Rank < 13U) 2653 .loc 1 1710 19 2654 0110 3B68 ldr r3, [r7] 2655 0112 5B68 ldr r3, [r3, #4] 2656 .loc 1 1710 11 2657 0114 0C2B cmp r3, #12 2658 0116 24D8 bhi .L115 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old SQx bits for the selected rank */ 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR2 &= ~ADC_SQR2_RK(ADC_SQR2_SQ7, sConfig->Rank); 2659 .loc 1 1713 9 2660 0118 7B68 ldr r3, [r7, #4] 2661 011a 1B68 ldr r3, [r3] 2662 .loc 1 1713 26 2663 011c 196B ldr r1, [r3, #48] 2664 .loc 1 1713 30 2665 011e 3B68 ldr r3, [r7] 2666 0120 5A68 ldr r2, [r3, #4] 2667 0122 1346 mov r3, r2 2668 0124 9B00 lsls r3, r3, #2 2669 0126 1344 add r3, r3, r2 2670 0128 233B subs r3, r3, #35 2671 012a 1F22 movs r2, #31 2672 012c 02FA03F3 lsl r3, r2, r3 2673 .loc 1 1713 29 2674 0130 DA43 mvns r2, r3 2675 .loc 1 1713 9 2676 0132 7B68 ldr r3, [r7, #4] 2677 0134 1B68 ldr r3, [r3] 2678 .loc 1 1713 26 2679 0136 0A40 ands r2, r2, r1 2680 0138 1A63 str r2, [r3, #48] 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the SQx bits for the selected rank */ 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR2 |= ADC_SQR2_RK(sConfig->Channel, sConfig->Rank); 2681 .loc 1 1716 9 2682 013a 7B68 ldr r3, [r7, #4] 2683 013c 1B68 ldr r3, [r3] 2684 .loc 1 1716 26 2685 013e 196B ldr r1, [r3, #48] 2686 .loc 1 1716 29 2687 0140 3B68 ldr r3, [r7] 2688 0142 1B68 ldr r3, [r3] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 78 2689 0144 9BB2 uxth r3, r3 2690 0146 1846 mov r0, r3 2691 0148 3B68 ldr r3, [r7] 2692 014a 5A68 ldr r2, [r3, #4] 2693 014c 1346 mov r3, r2 2694 014e 9B00 lsls r3, r3, #2 2695 0150 1344 add r3, r3, r2 2696 0152 233B subs r3, r3, #35 2697 0154 00FA03F2 lsl r2, r0, r3 2698 .loc 1 1716 9 2699 0158 7B68 ldr r3, [r7, #4] 2700 015a 1B68 ldr r3, [r3] 2701 .loc 1 1716 26 2702 015c 0A43 orrs r2, r2, r1 2703 015e 1A63 str r2, [r3, #48] 2704 0160 23E0 b .L114 2705 .L115: 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For Rank 13 to 16 */ 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old SQx bits for the selected rank */ 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 &= ~ADC_SQR1_RK(ADC_SQR1_SQ13, sConfig->Rank); 2706 .loc 1 1722 9 2707 0162 7B68 ldr r3, [r7, #4] 2708 0164 1B68 ldr r3, [r3] 2709 .loc 1 1722 26 2710 0166 D96A ldr r1, [r3, #44] 2711 .loc 1 1722 30 2712 0168 3B68 ldr r3, [r7] 2713 016a 5A68 ldr r2, [r3, #4] 2714 016c 1346 mov r3, r2 2715 016e 9B00 lsls r3, r3, #2 2716 0170 1344 add r3, r3, r2 2717 0172 413B subs r3, r3, #65 2718 0174 1F22 movs r2, #31 2719 0176 02FA03F3 lsl r3, r2, r3 2720 .loc 1 1722 29 2721 017a DA43 mvns r2, r3 2722 .loc 1 1722 9 2723 017c 7B68 ldr r3, [r7, #4] 2724 017e 1B68 ldr r3, [r3] 2725 .loc 1 1722 26 2726 0180 0A40 ands r2, r2, r1 2727 0182 DA62 str r2, [r3, #44] 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the SQx bits for the selected rank */ 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 |= ADC_SQR1_RK(sConfig->Channel, sConfig->Rank); 2728 .loc 1 1725 9 2729 0184 7B68 ldr r3, [r7, #4] 2730 0186 1B68 ldr r3, [r3] 2731 .loc 1 1725 26 2732 0188 D96A ldr r1, [r3, #44] 2733 .loc 1 1725 29 2734 018a 3B68 ldr r3, [r7] 2735 018c 1B68 ldr r3, [r3] 2736 018e 9BB2 uxth r3, r3 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 79 2737 0190 1846 mov r0, r3 2738 0192 3B68 ldr r3, [r7] 2739 0194 5A68 ldr r2, [r3, #4] 2740 0196 1346 mov r3, r2 2741 0198 9B00 lsls r3, r3, #2 2742 019a 1344 add r3, r3, r2 2743 019c 413B subs r3, r3, #65 2744 019e 00FA03F2 lsl r2, r0, r3 2745 .loc 1 1725 9 2746 01a2 7B68 ldr r3, [r7, #4] 2747 01a4 1B68 ldr r3, [r3] 2748 .loc 1 1725 26 2749 01a6 0A43 orrs r2, r2, r1 2750 01a8 DA62 str r2, [r3, #44] 2751 .L114: 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 2752 .loc 1 1731 19 2753 01aa 224B ldr r3, .L121 2754 01ac FB60 str r3, [r7, #12] 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if ADC1 Channel_18 is selected for VBAT Channel ennable VBATE */ 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_CHANNEL_VBAT)) 2755 .loc 1 1734 12 2756 01ae 7B68 ldr r3, [r7, #4] 2757 01b0 1B68 ldr r3, [r3] 2758 .loc 1 1734 6 2759 01b2 214A ldr r2, .L121+4 2760 01b4 9342 cmp r3, r2 2761 01b6 09D1 bne .L116 2762 .loc 1 1734 43 discriminator 1 2763 01b8 3B68 ldr r3, [r7] 2764 01ba 1B68 ldr r3, [r3] 2765 .loc 1 1734 32 discriminator 1 2766 01bc 122B cmp r3, #18 2767 01be 05D1 bne .L116 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the TEMPSENSOR channel in case of using board with multiplixed ADC_CHANNEL_VBAT & AD 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((uint16_t)ADC_CHANNEL_TEMPSENSOR == (uint16_t)ADC_CHANNEL_VBAT) 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR &= ~ADC_CCR_TSVREFE; 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the VBAT channel*/ 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR |= ADC_CCR_VBATE; 2768 .loc 1 1742 24 2769 01c0 FB68 ldr r3, [r7, #12] 2770 01c2 5B68 ldr r3, [r3, #4] 2771 01c4 43F48002 orr r2, r3, #4194304 2772 01c8 FB68 ldr r3, [r7, #12] 2773 01ca 5A60 str r2, [r3, #4] 2774 .L116: 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 80 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if ADC1 Channel_16 or Channel_18 is selected for Temperature sensor or 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Channel_17 is selected for VREFINT enable TSVREFE */ 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) && ((sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) || (sConfig->Channe 2775 .loc 1 1747 12 2776 01cc 7B68 ldr r3, [r7, #4] 2777 01ce 1B68 ldr r3, [r3] 2778 .loc 1 1747 6 2779 01d0 194A ldr r2, .L121+4 2780 01d2 9342 cmp r3, r2 2781 01d4 23D1 bne .L117 2782 .loc 1 1747 44 discriminator 1 2783 01d6 3B68 ldr r3, [r7] 2784 01d8 1B68 ldr r3, [r3] 2785 .loc 1 1747 32 discriminator 1 2786 01da 102B cmp r3, #16 2787 01dc 03D0 beq .L118 2788 .loc 1 1747 92 discriminator 2 2789 01de 3B68 ldr r3, [r7] 2790 01e0 1B68 ldr r3, [r3] 2791 .loc 1 1747 81 discriminator 2 2792 01e2 112B cmp r3, #17 2793 01e4 1BD1 bne .L117 2794 .L118: 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the VBAT channel in case of using board with multiplixed ADC_CHANNEL_VBAT & ADC_CHAN 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((uint16_t)ADC_CHANNEL_TEMPSENSOR == (uint16_t)ADC_CHANNEL_VBAT) 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR &= ~ADC_CCR_VBATE; 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Temperature sensor and VREFINT channel*/ 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR |= ADC_CCR_TSVREFE; 2795 .loc 1 1755 24 2796 01e6 FB68 ldr r3, [r7, #12] 2797 01e8 5B68 ldr r3, [r3, #4] 2798 01ea 43F40002 orr r2, r3, #8388608 2799 01ee FB68 ldr r3, [r7, #12] 2800 01f0 5A60 str r2, [r3, #4] 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 2801 .loc 1 1757 15 2802 01f2 3B68 ldr r3, [r7] 2803 01f4 1B68 ldr r3, [r3] 2804 .loc 1 1757 7 2805 01f6 102B cmp r3, #16 2806 01f8 11D1 bne .L117 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for temperature sensor stabilization time */ 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */ 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000U)); 2807 .loc 1 1761 61 2808 01fa 104B ldr r3, .L121+8 2809 01fc 1B68 ldr r3, [r3] 2810 01fe 104A ldr r2, .L121+12 2811 0200 A2FB0323 umull r2, r3, r2, r3 2812 0204 9A0C lsrs r2, r3, #18 2813 .loc 1 1761 42 2814 0206 1346 mov r3, r2 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 81 2815 0208 9B00 lsls r3, r3, #2 2816 020a 1344 add r3, r3, r2 2817 020c 5B00 lsls r3, r3, #1 2818 .loc 1 1761 15 2819 020e BB60 str r3, [r7, #8] 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 2820 .loc 1 1762 12 2821 0210 02E0 b .L119 2822 .L120: 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--; 2823 .loc 1 1764 16 2824 0212 BB68 ldr r3, [r7, #8] 2825 0214 013B subs r3, r3, #1 2826 0216 BB60 str r3, [r7, #8] 2827 .L119: 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 2828 .loc 1 1762 21 2829 0218 BB68 ldr r3, [r7, #8] 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U) 2830 .loc 1 1762 12 2831 021a 002B cmp r3, #0 2832 021c F9D1 bne .L120 2833 .L117: 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 2834 .loc 1 1770 3 2835 021e 7B68 ldr r3, [r7, #4] 2836 0220 0022 movs r2, #0 2837 0222 83F83C20 strb r2, [r3, #60] 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 2838 .loc 1 1773 10 2839 0226 0023 movs r3, #0 2840 .L110: 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2841 .loc 1 1774 1 2842 0228 1846 mov r0, r3 2843 022a 1437 adds r7, r7, #20 2844 .LCFI104: 2845 .cfi_def_cfa_offset 4 2846 022c BD46 mov sp, r7 2847 .LCFI105: 2848 .cfi_def_cfa_register 13 2849 @ sp needed 2850 022e 5DF8047B ldr r7, [sp], #4 2851 .LCFI106: 2852 .cfi_restore 7 2853 .cfi_def_cfa_offset 0 2854 0232 7047 bx lr 2855 .L122: 2856 .align 2 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 82 2857 .L121: 2858 0234 00230140 .word 1073816320 2859 0238 00200140 .word 1073815552 2860 023c 00000000 .word SystemCoreClock 2861 0240 83DE1B43 .word 1125899907 2862 .cfi_endproc 2863 .LFE253: 2865 .section .text.HAL_ADC_AnalogWDGConfig,"ax",%progbits 2866 .align 1 2867 .global HAL_ADC_AnalogWDGConfig 2868 .syntax unified 2869 .thumb 2870 .thumb_func 2872 HAL_ADC_AnalogWDGConfig: 2873 .LFB254: 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Configures the analog watchdog. 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note Analog watchdog thresholds can be modified while ADC conversion 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * is on going. 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * In this case, some constraints must be taken into account: 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * The programmed threshold values are effective from the next 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ADC EOC (end of unitary conversion). 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * Considering that registers write delay may happen due to 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * bus activity, this might cause an uncertainty on the 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * effective timing of the new programmed threshold values. 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param AnalogWDGConfig pointer to an ADC_AnalogWDGConfTypeDef structure 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * that contains the configuration information of ADC analog watchdog. 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* Analog 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2874 .loc 1 1793 1 2875 .cfi_startproc 2876 @ args = 0, pretend = 0, frame = 8 2877 @ frame_needed = 1, uses_anonymous_args = 0 2878 @ link register save eliminated. 2879 0000 80B4 push {r7} 2880 .LCFI107: 2881 .cfi_def_cfa_offset 4 2882 .cfi_offset 7, -4 2883 0002 83B0 sub sp, sp, #12 2884 .LCFI108: 2885 .cfi_def_cfa_offset 16 2886 0004 00AF add r7, sp, #0 2887 .LCFI109: 2888 .cfi_def_cfa_register 7 2889 0006 7860 str r0, [r7, #4] 2890 0008 3960 str r1, [r7] 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp = 0U; 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_FULL_ASSERT */ 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */ 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ANALOG_WATCHDOG(AnalogWDGConfig->WatchdogMode)); ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 83 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(AnalogWDGConfig->Channel)); 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(AnalogWDGConfig->ITMode)); 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp = ADC_GET_RESOLUTION(hadc); 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RANGE(tmp, AnalogWDGConfig->HighThreshold)); 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RANGE(tmp, AnalogWDGConfig->LowThreshold)); 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_FULL_ASSERT */ 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */ 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc); 2891 .loc 1 1810 3 2892 000a 7B68 ldr r3, [r7, #4] 2893 000c 93F83C30 ldrb r3, [r3, #60] @ zero_extendqisi2 2894 0010 012B cmp r3, #1 2895 0012 01D1 bne .L124 2896 .loc 1 1810 3 is_stmt 0 discriminator 1 2897 0014 0223 movs r3, #2 2898 0016 4DE0 b .L125 2899 .L124: 2900 .loc 1 1810 3 discriminator 2 2901 0018 7B68 ldr r3, [r7, #4] 2902 001a 0122 movs r2, #1 2903 001c 83F83C20 strb r2, [r3, #60] 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(AnalogWDGConfig->ITMode == ENABLE) 2904 .loc 1 1812 21 is_stmt 1 discriminator 2 2905 0020 3B68 ldr r3, [r7] 2906 0022 1B7C ldrb r3, [r3, #16] @ zero_extendqisi2 2907 .loc 1 1812 5 discriminator 2 2908 0024 012B cmp r3, #1 2909 0026 08D1 bne .L126 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC Analog watchdog interrupt */ 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_AWD); 2910 .loc 1 1815 5 2911 0028 7B68 ldr r3, [r7, #4] 2912 002a 1B68 ldr r3, [r3] 2913 002c 5A68 ldr r2, [r3, #4] 2914 002e 7B68 ldr r3, [r7, #4] 2915 0030 1B68 ldr r3, [r3] 2916 0032 42F04002 orr r2, r2, #64 2917 0036 5A60 str r2, [r3, #4] 2918 0038 07E0 b .L127 2919 .L126: 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the ADC Analog watchdog interrupt */ 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_AWD); 2920 .loc 1 1820 5 2921 003a 7B68 ldr r3, [r7, #4] 2922 003c 1B68 ldr r3, [r3] 2923 003e 5A68 ldr r2, [r3, #4] 2924 0040 7B68 ldr r3, [r7, #4] 2925 0042 1B68 ldr r3, [r3] 2926 0044 22F04002 bic r2, r2, #64 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 84 2927 0048 5A60 str r2, [r3, #4] 2928 .L127: 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear AWDEN, JAWDEN and AWDSGL bits */ 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_AWDSGL | ADC_CR1_JAWDEN | ADC_CR1_AWDEN); 2929 .loc 1 1824 7 2930 004a 7B68 ldr r3, [r7, #4] 2931 004c 1B68 ldr r3, [r3] 2932 .loc 1 1824 23 2933 004e 5B68 ldr r3, [r3, #4] 2934 .loc 1 1824 7 2935 0050 7A68 ldr r2, [r7, #4] 2936 0052 1268 ldr r2, [r2] 2937 .loc 1 1824 23 2938 0054 23F44003 bic r3, r3, #12582912 2939 0058 23F40073 bic r3, r3, #512 2940 005c 5360 str r3, [r2, #4] 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the analog watchdog enable mode */ 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= AnalogWDGConfig->WatchdogMode; 2941 .loc 1 1827 7 2942 005e 7B68 ldr r3, [r7, #4] 2943 0060 1B68 ldr r3, [r3] 2944 .loc 1 1827 23 2945 0062 5968 ldr r1, [r3, #4] 2946 .loc 1 1827 41 2947 0064 3B68 ldr r3, [r7] 2948 0066 1A68 ldr r2, [r3] 2949 .loc 1 1827 7 2950 0068 7B68 ldr r3, [r7, #4] 2951 006a 1B68 ldr r3, [r3] 2952 .loc 1 1827 23 2953 006c 0A43 orrs r2, r2, r1 2954 006e 5A60 str r2, [r3, #4] 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the high threshold */ 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->HTR = AnalogWDGConfig->HighThreshold; 2955 .loc 1 1830 7 2956 0070 7B68 ldr r3, [r7, #4] 2957 0072 1B68 ldr r3, [r3] 2958 .loc 1 1830 40 2959 0074 3A68 ldr r2, [r7] 2960 0076 5268 ldr r2, [r2, #4] 2961 .loc 1 1830 23 2962 0078 5A62 str r2, [r3, #36] 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the low threshold */ 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->LTR = AnalogWDGConfig->LowThreshold; 2963 .loc 1 1833 7 2964 007a 7B68 ldr r3, [r7, #4] 2965 007c 1B68 ldr r3, [r3] 2966 .loc 1 1833 40 2967 007e 3A68 ldr r2, [r7] 2968 0080 9268 ldr r2, [r2, #8] 2969 .loc 1 1833 23 2970 0082 9A62 str r2, [r3, #40] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 85 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the Analog watchdog channel select bits */ 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~ADC_CR1_AWDCH; 2971 .loc 1 1836 7 2972 0084 7B68 ldr r3, [r7, #4] 2973 0086 1B68 ldr r3, [r3] 2974 .loc 1 1836 23 2975 0088 5A68 ldr r2, [r3, #4] 2976 .loc 1 1836 7 2977 008a 7B68 ldr r3, [r7, #4] 2978 008c 1B68 ldr r3, [r3] 2979 .loc 1 1836 23 2980 008e 22F01F02 bic r2, r2, #31 2981 0092 5A60 str r2, [r3, #4] 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the Analog watchdog channel */ 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= (uint32_t)((uint16_t)(AnalogWDGConfig->Channel)); 2982 .loc 1 1839 7 2983 0094 7B68 ldr r3, [r7, #4] 2984 0096 1B68 ldr r3, [r3] 2985 .loc 1 1839 23 2986 0098 5A68 ldr r2, [r3, #4] 2987 .loc 1 1839 63 2988 009a 3B68 ldr r3, [r7] 2989 009c DB68 ldr r3, [r3, #12] 2990 .loc 1 1839 37 2991 009e 9BB2 uxth r3, r3 2992 .loc 1 1839 26 2993 00a0 1946 mov r1, r3 2994 .loc 1 1839 7 2995 00a2 7B68 ldr r3, [r7, #4] 2996 00a4 1B68 ldr r3, [r3] 2997 .loc 1 1839 23 2998 00a6 0A43 orrs r2, r2, r1 2999 00a8 5A60 str r2, [r3, #4] 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */ 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc); 3000 .loc 1 1842 3 3001 00aa 7B68 ldr r3, [r7, #4] 3002 00ac 0022 movs r2, #0 3003 00ae 83F83C20 strb r2, [r3, #60] 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */ 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK; 3004 .loc 1 1845 10 3005 00b2 0023 movs r3, #0 3006 .L125: 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3007 .loc 1 1846 1 3008 00b4 1846 mov r0, r3 3009 00b6 0C37 adds r7, r7, #12 3010 .LCFI110: 3011 .cfi_def_cfa_offset 4 3012 00b8 BD46 mov sp, r7 3013 .LCFI111: 3014 .cfi_def_cfa_register 13 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 86 3015 @ sp needed 3016 00ba 5DF8047B ldr r7, [sp], #4 3017 .LCFI112: 3018 .cfi_restore 7 3019 .cfi_def_cfa_offset 0 3020 00be 7047 bx lr 3021 .cfi_endproc 3022 .LFE254: 3024 .section .text.HAL_ADC_GetState,"ax",%progbits 3025 .align 1 3026 .global HAL_ADC_GetState 3027 .syntax unified 3028 .thumb 3029 .thumb_func 3031 HAL_ADC_GetState: 3032 .LFB255: 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group4 ADC Peripheral State functions 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief ADC Peripheral State functions 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### Peripheral State and errors functions ##### 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================================================== 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This subsection provides functions allowing to 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Check the ADC state 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Check the ADC Error 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief return the ADC state 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL state 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc) 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 3033 .loc 1 1875 1 3034 .cfi_startproc 3035 @ args = 0, pretend = 0, frame = 8 3036 @ frame_needed = 1, uses_anonymous_args = 0 3037 @ link register save eliminated. 3038 0000 80B4 push {r7} 3039 .LCFI113: 3040 .cfi_def_cfa_offset 4 3041 .cfi_offset 7, -4 3042 0002 83B0 sub sp, sp, #12 3043 .LCFI114: 3044 .cfi_def_cfa_offset 16 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 87 3045 0004 00AF add r7, sp, #0 3046 .LCFI115: 3047 .cfi_def_cfa_register 7 3048 0006 7860 str r0, [r7, #4] 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */ 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->State; 3049 .loc 1 1877 14 3050 0008 7B68 ldr r3, [r7, #4] 3051 000a 1B6C ldr r3, [r3, #64] 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3052 .loc 1 1878 1 3053 000c 1846 mov r0, r3 3054 000e 0C37 adds r7, r7, #12 3055 .LCFI116: 3056 .cfi_def_cfa_offset 4 3057 0010 BD46 mov sp, r7 3058 .LCFI117: 3059 .cfi_def_cfa_register 13 3060 @ sp needed 3061 0012 5DF8047B ldr r7, [sp], #4 3062 .LCFI118: 3063 .cfi_restore 7 3064 .cfi_def_cfa_offset 0 3065 0016 7047 bx lr 3066 .cfi_endproc 3067 .LFE255: 3069 .section .text.HAL_ADC_GetError,"ax",%progbits 3070 .align 1 3071 .global HAL_ADC_GetError 3072 .syntax unified 3073 .thumb 3074 .thumb_func 3076 HAL_ADC_GetError: 3077 .LFB256: 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Return the ADC error code 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval ADC Error Code 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc) 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 3078 .loc 1 1887 1 3079 .cfi_startproc 3080 @ args = 0, pretend = 0, frame = 8 3081 @ frame_needed = 1, uses_anonymous_args = 0 3082 @ link register save eliminated. 3083 0000 80B4 push {r7} 3084 .LCFI119: 3085 .cfi_def_cfa_offset 4 3086 .cfi_offset 7, -4 3087 0002 83B0 sub sp, sp, #12 3088 .LCFI120: 3089 .cfi_def_cfa_offset 16 3090 0004 00AF add r7, sp, #0 3091 .LCFI121: ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 88 3092 .cfi_def_cfa_register 7 3093 0006 7860 str r0, [r7, #4] 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->ErrorCode; 3094 .loc 1 1888 14 3095 0008 7B68 ldr r3, [r7, #4] 3096 000a 5B6C ldr r3, [r3, #68] 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3097 .loc 1 1889 1 3098 000c 1846 mov r0, r3 3099 000e 0C37 adds r7, r7, #12 3100 .LCFI122: 3101 .cfi_def_cfa_offset 4 3102 0010 BD46 mov sp, r7 3103 .LCFI123: 3104 .cfi_def_cfa_register 13 3105 @ sp needed 3106 0012 5DF8047B ldr r7, [sp], #4 3107 .LCFI124: 3108 .cfi_restore 7 3109 .cfi_def_cfa_offset 0 3110 0016 7047 bx lr 3111 .cfi_endproc 3112 .LFE256: 3114 .section .text.ADC_Init,"ax",%progbits 3115 .align 1 3116 .syntax unified 3117 .thumb 3118 .thumb_func 3120 ADC_Init: 3121 .LFB257: 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @} 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @addtogroup ADC_Private_Functions 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{ 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initializes the ADCx peripheral according to the specified parameters 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in the ADC_InitStruct without initializing the ADC MSP. 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC. 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_Init(ADC_HandleTypeDef* hadc) 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 3122 .loc 1 1907 1 3123 .cfi_startproc 3124 @ args = 0, pretend = 0, frame = 16 3125 @ frame_needed = 1, uses_anonymous_args = 0 3126 @ link register save eliminated. 3127 0000 80B4 push {r7} 3128 .LCFI125: 3129 .cfi_def_cfa_offset 4 3130 .cfi_offset 7, -4 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 89 3131 0002 85B0 sub sp, sp, #20 3132 .LCFI126: 3133 .cfi_def_cfa_offset 24 3134 0004 00AF add r7, sp, #0 3135 .LCFI127: 3136 .cfi_def_cfa_register 7 3137 0006 7860 str r0, [r7, #4] 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common; 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC parameters */ 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */ 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */ 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */ 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc); 3138 .loc 1 1914 17 3139 0008 794B ldr r3, .L137 3140 000a FB60 str r3, [r7, #12] 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the ADC clock prescaler */ 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR &= ~(ADC_CCR_ADCPRE); 3141 .loc 1 1917 22 3142 000c FB68 ldr r3, [r7, #12] 3143 000e 5B68 ldr r3, [r3, #4] 3144 0010 23F44032 bic r2, r3, #196608 3145 0014 FB68 ldr r3, [r7, #12] 3146 0016 5A60 str r2, [r3, #4] 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR |= hadc->Init.ClockPrescaler; 3147 .loc 1 1918 22 3148 0018 FB68 ldr r3, [r7, #12] 3149 001a 5A68 ldr r2, [r3, #4] 3150 .loc 1 1918 36 3151 001c 7B68 ldr r3, [r7, #4] 3152 001e 5B68 ldr r3, [r3, #4] 3153 .loc 1 1918 22 3154 0020 1A43 orrs r2, r2, r3 3155 0022 FB68 ldr r3, [r7, #12] 3156 0024 5A60 str r2, [r3, #4] 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC scan mode */ 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_SCAN); 3157 .loc 1 1921 7 3158 0026 7B68 ldr r3, [r7, #4] 3159 0028 1B68 ldr r3, [r3] 3160 .loc 1 1921 23 3161 002a 5A68 ldr r2, [r3, #4] 3162 .loc 1 1921 7 3163 002c 7B68 ldr r3, [r7, #4] 3164 002e 1B68 ldr r3, [r3] 3165 .loc 1 1921 23 3166 0030 22F48072 bic r2, r2, #256 3167 0034 5A60 str r2, [r3, #4] 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= ADC_CR1_SCANCONV(hadc->Init.ScanConvMode); 3168 .loc 1 1922 7 3169 0036 7B68 ldr r3, [r7, #4] 3170 0038 1B68 ldr r3, [r3] 3171 .loc 1 1922 23 3172 003a 5968 ldr r1, [r3, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 90 3173 .loc 1 1922 27 3174 003c 7B68 ldr r3, [r7, #4] 3175 003e 1B69 ldr r3, [r3, #16] 3176 0040 1A02 lsls r2, r3, #8 3177 .loc 1 1922 7 3178 0042 7B68 ldr r3, [r7, #4] 3179 0044 1B68 ldr r3, [r3] 3180 .loc 1 1922 23 3181 0046 0A43 orrs r2, r2, r1 3182 0048 5A60 str r2, [r3, #4] 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC resolution */ 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_RES); 3183 .loc 1 1925 7 3184 004a 7B68 ldr r3, [r7, #4] 3185 004c 1B68 ldr r3, [r3] 3186 .loc 1 1925 23 3187 004e 5A68 ldr r2, [r3, #4] 3188 .loc 1 1925 7 3189 0050 7B68 ldr r3, [r7, #4] 3190 0052 1B68 ldr r3, [r3] 3191 .loc 1 1925 23 3192 0054 22F04072 bic r2, r2, #50331648 3193 0058 5A60 str r2, [r3, #4] 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= hadc->Init.Resolution; 3194 .loc 1 1926 7 3195 005a 7B68 ldr r3, [r7, #4] 3196 005c 1B68 ldr r3, [r3] 3197 .loc 1 1926 23 3198 005e 5968 ldr r1, [r3, #4] 3199 .loc 1 1926 37 3200 0060 7B68 ldr r3, [r7, #4] 3201 0062 9A68 ldr r2, [r3, #8] 3202 .loc 1 1926 7 3203 0064 7B68 ldr r3, [r7, #4] 3204 0066 1B68 ldr r3, [r3] 3205 .loc 1 1926 23 3206 0068 0A43 orrs r2, r2, r1 3207 006a 5A60 str r2, [r3, #4] 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC data alignment */ 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_ALIGN); 3208 .loc 1 1929 7 3209 006c 7B68 ldr r3, [r7, #4] 3210 006e 1B68 ldr r3, [r3] 3211 .loc 1 1929 23 3212 0070 9A68 ldr r2, [r3, #8] 3213 .loc 1 1929 7 3214 0072 7B68 ldr r3, [r7, #4] 3215 0074 1B68 ldr r3, [r3] 3216 .loc 1 1929 23 3217 0076 22F40062 bic r2, r2, #2048 3218 007a 9A60 str r2, [r3, #8] 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= hadc->Init.DataAlign; 3219 .loc 1 1930 7 3220 007c 7B68 ldr r3, [r7, #4] 3221 007e 1B68 ldr r3, [r3] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 91 3222 .loc 1 1930 23 3223 0080 9968 ldr r1, [r3, #8] 3224 .loc 1 1930 36 3225 0082 7B68 ldr r3, [r7, #4] 3226 0084 DA68 ldr r2, [r3, #12] 3227 .loc 1 1930 7 3228 0086 7B68 ldr r3, [r7, #4] 3229 0088 1B68 ldr r3, [r3] 3230 .loc 1 1930 23 3231 008a 0A43 orrs r2, r2, r1 3232 008c 9A60 str r2, [r3, #8] 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable external trigger if trigger selection is different of software */ 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* start. */ 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: This configuration keeps the hardware feature of parameter */ 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* ExternalTrigConvEdge "trigger edge none" equivalent to */ 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* software start. */ 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) 3233 .loc 1 1937 16 3234 008e 7B68 ldr r3, [r7, #4] 3235 0090 9B6A ldr r3, [r3, #40] 3236 .loc 1 1937 5 3237 0092 584A ldr r2, .L137+4 3238 0094 9342 cmp r3, r2 3239 0096 22D0 beq .L133 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Select external trigger to start conversion */ 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 3240 .loc 1 1940 9 3241 0098 7B68 ldr r3, [r7, #4] 3242 009a 1B68 ldr r3, [r3] 3243 .loc 1 1940 25 3244 009c 9A68 ldr r2, [r3, #8] 3245 .loc 1 1940 9 3246 009e 7B68 ldr r3, [r7, #4] 3247 00a0 1B68 ldr r3, [r3] 3248 .loc 1 1940 25 3249 00a2 22F07062 bic r2, r2, #251658240 3250 00a6 9A60 str r2, [r3, #8] 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= hadc->Init.ExternalTrigConv; 3251 .loc 1 1941 9 3252 00a8 7B68 ldr r3, [r7, #4] 3253 00aa 1B68 ldr r3, [r3] 3254 .loc 1 1941 25 3255 00ac 9968 ldr r1, [r3, #8] 3256 .loc 1 1941 38 3257 00ae 7B68 ldr r3, [r7, #4] 3258 00b0 9A6A ldr r2, [r3, #40] 3259 .loc 1 1941 9 3260 00b2 7B68 ldr r3, [r7, #4] 3261 00b4 1B68 ldr r3, [r3] 3262 .loc 1 1941 25 3263 00b6 0A43 orrs r2, r2, r1 3264 00b8 9A60 str r2, [r3, #8] 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Select external trigger polarity */ 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 92 3265 .loc 1 1944 9 3266 00ba 7B68 ldr r3, [r7, #4] 3267 00bc 1B68 ldr r3, [r3] 3268 .loc 1 1944 25 3269 00be 9A68 ldr r2, [r3, #8] 3270 .loc 1 1944 9 3271 00c0 7B68 ldr r3, [r7, #4] 3272 00c2 1B68 ldr r3, [r3] 3273 .loc 1 1944 25 3274 00c4 22F04052 bic r2, r2, #805306368 3275 00c8 9A60 str r2, [r3, #8] 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= hadc->Init.ExternalTrigConvEdge; 3276 .loc 1 1945 9 3277 00ca 7B68 ldr r3, [r7, #4] 3278 00cc 1B68 ldr r3, [r3] 3279 .loc 1 1945 25 3280 00ce 9968 ldr r1, [r3, #8] 3281 .loc 1 1945 38 3282 00d0 7B68 ldr r3, [r7, #4] 3283 00d2 DA6A ldr r2, [r3, #44] 3284 .loc 1 1945 9 3285 00d4 7B68 ldr r3, [r7, #4] 3286 00d6 1B68 ldr r3, [r3] 3287 .loc 1 1945 25 3288 00d8 0A43 orrs r2, r2, r1 3289 00da 9A60 str r2, [r3, #8] 3290 00dc 0FE0 b .L134 3291 .L133: 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset the external trigger */ 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 3292 .loc 1 1950 9 3293 00de 7B68 ldr r3, [r7, #4] 3294 00e0 1B68 ldr r3, [r3] 3295 .loc 1 1950 25 3296 00e2 9A68 ldr r2, [r3, #8] 3297 .loc 1 1950 9 3298 00e4 7B68 ldr r3, [r7, #4] 3299 00e6 1B68 ldr r3, [r3] 3300 .loc 1 1950 25 3301 00e8 22F07062 bic r2, r2, #251658240 3302 00ec 9A60 str r2, [r3, #8] 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 3303 .loc 1 1951 9 3304 00ee 7B68 ldr r3, [r7, #4] 3305 00f0 1B68 ldr r3, [r3] 3306 .loc 1 1951 25 3307 00f2 9A68 ldr r2, [r3, #8] 3308 .loc 1 1951 9 3309 00f4 7B68 ldr r3, [r7, #4] 3310 00f6 1B68 ldr r3, [r3] 3311 .loc 1 1951 25 3312 00f8 22F04052 bic r2, r2, #805306368 3313 00fc 9A60 str r2, [r3, #8] 3314 .L134: ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 93 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable or disable ADC continuous conversion mode */ 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_CONT); 3315 .loc 1 1955 7 3316 00fe 7B68 ldr r3, [r7, #4] 3317 0100 1B68 ldr r3, [r3] 3318 .loc 1 1955 23 3319 0102 9A68 ldr r2, [r3, #8] 3320 .loc 1 1955 7 3321 0104 7B68 ldr r3, [r7, #4] 3322 0106 1B68 ldr r3, [r3] 3323 .loc 1 1955 23 3324 0108 22F00202 bic r2, r2, #2 3325 010c 9A60 str r2, [r3, #8] 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode); 3326 .loc 1 1956 7 3327 010e 7B68 ldr r3, [r7, #4] 3328 0110 1B68 ldr r3, [r3] 3329 .loc 1 1956 23 3330 0112 9968 ldr r1, [r3, #8] 3331 .loc 1 1956 26 3332 0114 7B68 ldr r3, [r7, #4] 3333 0116 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 3334 0118 5A00 lsls r2, r3, #1 3335 .loc 1 1956 7 3336 011a 7B68 ldr r3, [r7, #4] 3337 011c 1B68 ldr r3, [r3] 3338 .loc 1 1956 23 3339 011e 0A43 orrs r2, r2, r1 3340 0120 9A60 str r2, [r3, #8] 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc->Init.DiscontinuousConvMode != DISABLE) 3341 .loc 1 1958 16 3342 0122 7B68 ldr r3, [r7, #4] 3343 0124 93F82030 ldrb r3, [r3, #32] @ zero_extendqisi2 3344 .loc 1 1958 5 3345 0128 002B cmp r3, #0 3346 012a 1BD0 beq .L135 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_DISC_NUMBER(hadc->Init.NbrOfDiscConversion)); 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC regular discontinuous mode */ 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= (uint32_t)ADC_CR1_DISCEN; 3347 .loc 1 1963 9 3348 012c 7B68 ldr r3, [r7, #4] 3349 012e 1B68 ldr r3, [r3] 3350 .loc 1 1963 25 3351 0130 5A68 ldr r2, [r3, #4] 3352 .loc 1 1963 9 3353 0132 7B68 ldr r3, [r7, #4] 3354 0134 1B68 ldr r3, [r3] 3355 .loc 1 1963 25 3356 0136 42F40062 orr r2, r2, #2048 3357 013a 5A60 str r2, [r3, #4] 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the number of channels to be converted in discontinuous mode */ ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 94 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_DISCNUM); 3358 .loc 1 1966 9 3359 013c 7B68 ldr r3, [r7, #4] 3360 013e 1B68 ldr r3, [r3] 3361 .loc 1 1966 25 3362 0140 5A68 ldr r2, [r3, #4] 3363 .loc 1 1966 9 3364 0142 7B68 ldr r3, [r7, #4] 3365 0144 1B68 ldr r3, [r3] 3366 .loc 1 1966 25 3367 0146 22F46042 bic r2, r2, #57344 3368 014a 5A60 str r2, [r3, #4] 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= ADC_CR1_DISCONTINUOUS(hadc->Init.NbrOfDiscConversion); 3369 .loc 1 1967 9 3370 014c 7B68 ldr r3, [r7, #4] 3371 014e 1B68 ldr r3, [r3] 3372 .loc 1 1967 25 3373 0150 5968 ldr r1, [r3, #4] 3374 .loc 1 1967 29 3375 0152 7B68 ldr r3, [r7, #4] 3376 0154 5B6A ldr r3, [r3, #36] 3377 0156 013B subs r3, r3, #1 3378 0158 5A03 lsls r2, r3, #13 3379 .loc 1 1967 9 3380 015a 7B68 ldr r3, [r7, #4] 3381 015c 1B68 ldr r3, [r3] 3382 .loc 1 1967 25 3383 015e 0A43 orrs r2, r2, r1 3384 0160 5A60 str r2, [r3, #4] 3385 0162 07E0 b .L136 3386 .L135: 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the selected ADC regular discontinuous mode */ 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_DISCEN); 3387 .loc 1 1972 9 3388 0164 7B68 ldr r3, [r7, #4] 3389 0166 1B68 ldr r3, [r3] 3390 .loc 1 1972 25 3391 0168 5A68 ldr r2, [r3, #4] 3392 .loc 1 1972 9 3393 016a 7B68 ldr r3, [r7, #4] 3394 016c 1B68 ldr r3, [r3] 3395 .loc 1 1972 25 3396 016e 22F40062 bic r2, r2, #2048 3397 0172 5A60 str r2, [r3, #4] 3398 .L136: 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC number of conversion */ 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 &= ~(ADC_SQR1_L); 3399 .loc 1 1976 7 3400 0174 7B68 ldr r3, [r7, #4] 3401 0176 1B68 ldr r3, [r3] 3402 .loc 1 1976 24 3403 0178 DA6A ldr r2, [r3, #44] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 95 3404 .loc 1 1976 7 3405 017a 7B68 ldr r3, [r7, #4] 3406 017c 1B68 ldr r3, [r3] 3407 .loc 1 1976 24 3408 017e 22F47002 bic r2, r2, #15728640 3409 0182 DA62 str r2, [r3, #44] 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 |= ADC_SQR1(hadc->Init.NbrOfConversion); 3410 .loc 1 1977 7 3411 0184 7B68 ldr r3, [r7, #4] 3412 0186 1B68 ldr r3, [r3] 3413 .loc 1 1977 24 3414 0188 D96A ldr r1, [r3, #44] 3415 .loc 1 1977 28 3416 018a 7B68 ldr r3, [r7, #4] 3417 018c DB69 ldr r3, [r3, #28] 3418 018e 013B subs r3, r3, #1 3419 0190 1A05 lsls r2, r3, #20 3420 .loc 1 1977 7 3421 0192 7B68 ldr r3, [r7, #4] 3422 0194 1B68 ldr r3, [r3] 3423 .loc 1 1977 24 3424 0196 0A43 orrs r2, r2, r1 3425 0198 DA62 str r2, [r3, #44] 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable or disable ADC DMA continuous request */ 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_DDS); 3426 .loc 1 1980 7 3427 019a 7B68 ldr r3, [r7, #4] 3428 019c 1B68 ldr r3, [r3] 3429 .loc 1 1980 23 3430 019e 9A68 ldr r2, [r3, #8] 3431 .loc 1 1980 7 3432 01a0 7B68 ldr r3, [r7, #4] 3433 01a2 1B68 ldr r3, [r3] 3434 .loc 1 1980 23 3435 01a4 22F40072 bic r2, r2, #512 3436 01a8 9A60 str r2, [r3, #8] 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_DMAContReq((uint32_t)hadc->Init.DMAContinuousRequests); 3437 .loc 1 1981 7 3438 01aa 7B68 ldr r3, [r7, #4] 3439 01ac 1B68 ldr r3, [r3] 3440 .loc 1 1981 23 3441 01ae 9968 ldr r1, [r3, #8] 3442 .loc 1 1981 26 3443 01b0 7B68 ldr r3, [r7, #4] 3444 01b2 93F83030 ldrb r3, [r3, #48] @ zero_extendqisi2 3445 01b6 5A02 lsls r2, r3, #9 3446 .loc 1 1981 7 3447 01b8 7B68 ldr r3, [r7, #4] 3448 01ba 1B68 ldr r3, [r3] 3449 .loc 1 1981 23 3450 01bc 0A43 orrs r2, r2, r1 3451 01be 9A60 str r2, [r3, #8] 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable or disable ADC end of conversion selection */ 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EOCS); 3452 .loc 1 1984 7 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 96 3453 01c0 7B68 ldr r3, [r7, #4] 3454 01c2 1B68 ldr r3, [r3] 3455 .loc 1 1984 23 3456 01c4 9A68 ldr r2, [r3, #8] 3457 .loc 1 1984 7 3458 01c6 7B68 ldr r3, [r7, #4] 3459 01c8 1B68 ldr r3, [r3] 3460 .loc 1 1984 23 3461 01ca 22F48062 bic r2, r2, #1024 3462 01ce 9A60 str r2, [r3, #8] 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_EOCSelection(hadc->Init.EOCSelection); 3463 .loc 1 1985 7 3464 01d0 7B68 ldr r3, [r7, #4] 3465 01d2 1B68 ldr r3, [r3] 3466 .loc 1 1985 23 3467 01d4 9968 ldr r1, [r3, #8] 3468 .loc 1 1985 26 3469 01d6 7B68 ldr r3, [r7, #4] 3470 01d8 5B69 ldr r3, [r3, #20] 3471 01da 9A02 lsls r2, r3, #10 3472 .loc 1 1985 7 3473 01dc 7B68 ldr r3, [r7, #4] 3474 01de 1B68 ldr r3, [r3] 3475 .loc 1 1985 23 3476 01e0 0A43 orrs r2, r2, r1 3477 01e2 9A60 str r2, [r3, #8] 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3478 .loc 1 1986 1 3479 01e4 00BF nop 3480 01e6 1437 adds r7, r7, #20 3481 .LCFI128: 3482 .cfi_def_cfa_offset 4 3483 01e8 BD46 mov sp, r7 3484 .LCFI129: 3485 .cfi_def_cfa_register 13 3486 @ sp needed 3487 01ea 5DF8047B ldr r7, [sp], #4 3488 .LCFI130: 3489 .cfi_restore 7 3490 .cfi_def_cfa_offset 0 3491 01ee 7047 bx lr 3492 .L138: 3493 .align 2 3494 .L137: 3495 01f0 00230140 .word 1073816320 3496 01f4 0100000F .word 251658241 3497 .cfi_endproc 3498 .LFE257: 3500 .section .text.ADC_DMAConvCplt,"ax",%progbits 3501 .align 1 3502 .syntax unified 3503 .thumb 3504 .thumb_func 3506 ADC_DMAConvCplt: 3507 .LFB258: 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 97 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DMA transfer complete callback. 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified DMA module. 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma) 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 3508 .loc 1 1995 1 3509 .cfi_startproc 3510 @ args = 0, pretend = 0, frame = 16 3511 @ frame_needed = 1, uses_anonymous_args = 0 3512 0000 80B5 push {r7, lr} 3513 .LCFI131: 3514 .cfi_def_cfa_offset 8 3515 .cfi_offset 7, -8 3516 .cfi_offset 14, -4 3517 0002 84B0 sub sp, sp, #16 3518 .LCFI132: 3519 .cfi_def_cfa_offset 24 3520 0004 00AF add r7, sp, #0 3521 .LCFI133: 3522 .cfi_def_cfa_register 7 3523 0006 7860 str r0, [r7, #4] 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */ 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 3524 .loc 1 1997 22 3525 0008 7B68 ldr r3, [r7, #4] 3526 000a 9B6B ldr r3, [r3, #56] 3527 000c FB60 str r3, [r7, #12] 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */ 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) 3528 .loc 1 2000 7 3529 000e FB68 ldr r3, [r7, #12] 3530 0010 1B6C ldr r3, [r3, #64] 3531 0012 03F05003 and r3, r3, #80 3532 .loc 1 2000 6 3533 0016 002B cmp r3, #0 3534 0018 3CD1 bne .L140 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine */ 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 3535 .loc 1 2003 5 3536 001a FB68 ldr r3, [r7, #12] 3537 001c 1B6C ldr r3, [r3, #64] 3538 001e 43F40072 orr r2, r3, #512 3539 0022 FB68 ldr r3, [r7, #12] 3540 0024 1A64 str r2, [r3, #64] 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */ 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */ 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */ 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* The test of scan sequence on going is done either with scan */ 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* sequence disabled or with end of conversion flag set to */ 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* of end of sequence. */ 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 3541 .loc 1 2011 8 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 98 3542 0026 FB68 ldr r3, [r7, #12] 3543 0028 1B68 ldr r3, [r3] 3544 002a 9B68 ldr r3, [r3, #8] 3545 002c 03F04053 and r3, r3, #805306368 3546 .loc 1 2011 7 3547 0030 002B cmp r3, #0 3548 0032 2BD1 bne .L141 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 3549 .loc 1 2012 19 discriminator 1 3550 0034 FB68 ldr r3, [r7, #12] 3551 0036 1B7E ldrb r3, [r3, #24] @ zero_extendqisi2 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 3552 .loc 1 2011 62 discriminator 1 3553 0038 002B cmp r3, #0 3554 003a 27D1 bne .L141 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 3555 .loc 1 2013 9 3556 003c FB68 ldr r3, [r7, #12] 3557 003e 1B68 ldr r3, [r3] 3558 0040 DB6A ldr r3, [r3, #44] 3559 0042 03F47003 and r3, r3, #15728640 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) && 3560 .loc 1 2012 62 3561 0046 002B cmp r3, #0 3562 0048 06D0 beq .L142 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 3563 .loc 1 2014 9 3564 004a FB68 ldr r3, [r7, #12] 3565 004c 1B68 ldr r3, [r3] 3566 004e 9B68 ldr r3, [r3, #8] 3567 0050 03F48063 and r3, r3, #1024 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 3568 .loc 1 2013 58 3569 0054 002B cmp r3, #0 3570 0056 19D1 bne .L141 3571 .L142: 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */ 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */ 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* HAL_ADC_Start_IT(), but is not disabled here because can be used */ 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by overrun IRQ process below. */ 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); 3572 .loc 1 2020 7 3573 0058 FB68 ldr r3, [r7, #12] 3574 005a 1B68 ldr r3, [r3] 3575 005c 5A68 ldr r2, [r3, #4] 3576 005e FB68 ldr r3, [r7, #12] 3577 0060 1B68 ldr r3, [r3] 3578 0062 22F02002 bic r2, r2, #32 3579 0066 5A60 str r2, [r3, #4] 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */ 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 3580 .loc 1 2023 7 3581 0068 FB68 ldr r3, [r7, #12] 3582 006a 1B6C ldr r3, [r3, #64] 3583 006c 23F48072 bic r2, r3, #256 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 99 3584 0070 FB68 ldr r3, [r7, #12] 3585 0072 1A64 str r2, [r3, #64] 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 3586 .loc 1 2025 11 3587 0074 FB68 ldr r3, [r7, #12] 3588 0076 1B6C ldr r3, [r3, #64] 3589 0078 03F48053 and r3, r3, #4096 3590 .loc 1 2025 10 3591 007c 002B cmp r3, #0 3592 007e 05D1 bne .L141 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY); 3593 .loc 1 2027 9 3594 0080 FB68 ldr r3, [r7, #12] 3595 0082 1B6C ldr r3, [r3, #64] 3596 0084 43F00102 orr r2, r3, #1 3597 0088 FB68 ldr r3, [r7, #12] 3598 008a 1A64 str r2, [r3, #64] 3599 .L141: 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */ 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback(hadc); 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc); 3600 .loc 1 2035 5 3601 008c F868 ldr r0, [r7, #12] 3602 008e FFF7FEFF bl HAL_ADC_ConvCpltCallback 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else /* DMA and-or internal error occurred */ 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Call HAL ADC Error Callback function */ 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback(hadc); 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc); 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Call DMA error callback */ 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback(hdma); 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3603 .loc 1 2055 1 3604 0092 0EE0 b .L145 3605 .L140: 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 3606 .loc 1 2040 14 3607 0094 FB68 ldr r3, [r7, #12] ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 100 3608 0096 1B6C ldr r3, [r3, #64] 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 3609 .loc 1 2040 22 3610 0098 03F01003 and r3, r3, #16 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 3611 .loc 1 2040 8 3612 009c 002B cmp r3, #0 3613 009e 03D0 beq .L144 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 3614 .loc 1 2046 7 3615 00a0 F868 ldr r0, [r7, #12] 3616 00a2 FFF7FEFF bl HAL_ADC_ErrorCallback 3617 .loc 1 2055 1 3618 00a6 04E0 b .L145 3619 .L144: 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3620 .loc 1 2052 11 3621 00a8 FB68 ldr r3, [r7, #12] 3622 00aa 9B6B ldr r3, [r3, #56] 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3623 .loc 1 2052 23 3624 00ac DB6C ldr r3, [r3, #76] 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3625 .loc 1 2052 7 3626 00ae 7868 ldr r0, [r7, #4] 3627 00b0 9847 blx r3 3628 .LVL0: 3629 .L145: 3630 .loc 1 2055 1 3631 00b2 00BF nop 3632 00b4 1037 adds r7, r7, #16 3633 .LCFI134: 3634 .cfi_def_cfa_offset 8 3635 00b6 BD46 mov sp, r7 3636 .LCFI135: 3637 .cfi_def_cfa_register 13 3638 @ sp needed 3639 00b8 80BD pop {r7, pc} 3640 .cfi_endproc 3641 .LFE258: 3643 .section .text.ADC_DMAHalfConvCplt,"ax",%progbits 3644 .align 1 3645 .syntax unified 3646 .thumb 3647 .thumb_func 3649 ADC_DMAHalfConvCplt: 3650 .LFB259: 2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DMA half transfer complete callback. 2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified DMA module. 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma) 2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 3651 .loc 1 2064 1 ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 101 3652 .cfi_startproc 3653 @ args = 0, pretend = 0, frame = 16 3654 @ frame_needed = 1, uses_anonymous_args = 0 3655 0000 80B5 push {r7, lr} 3656 .LCFI136: 3657 .cfi_def_cfa_offset 8 3658 .cfi_offset 7, -8 3659 .cfi_offset 14, -4 3660 0002 84B0 sub sp, sp, #16 3661 .LCFI137: 3662 .cfi_def_cfa_offset 24 3663 0004 00AF add r7, sp, #0 3664 .LCFI138: 3665 .cfi_def_cfa_register 7 3666 0006 7860 str r0, [r7, #4] 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 3667 .loc 1 2065 22 3668 0008 7B68 ldr r3, [r7, #4] 3669 000a 9B6B ldr r3, [r3, #56] 3670 000c FB60 str r3, [r7, #12] 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Half conversion callback */ 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback(hadc); 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ConvHalfCpltCallback(hadc); 3671 .loc 1 2070 3 3672 000e F868 ldr r0, [r7, #12] 3673 0010 FFF7FEFF bl HAL_ADC_ConvHalfCpltCallback 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3674 .loc 1 2072 1 3675 0014 00BF nop 3676 0016 1037 adds r7, r7, #16 3677 .LCFI139: 3678 .cfi_def_cfa_offset 8 3679 0018 BD46 mov sp, r7 3680 .LCFI140: 3681 .cfi_def_cfa_register 13 3682 @ sp needed 3683 001a 80BD pop {r7, pc} 3684 .cfi_endproc 3685 .LFE259: 3687 .section .text.ADC_DMAError,"ax",%progbits 3688 .align 1 3689 .syntax unified 3690 .thumb 3691 .thumb_func 3693 ADC_DMAError: 3694 .LFB260: 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DMA error callback 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified DMA module. 2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */ 2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma) ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 102 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** { 3695 .loc 1 2081 1 3696 .cfi_startproc 3697 @ args = 0, pretend = 0, frame = 16 3698 @ frame_needed = 1, uses_anonymous_args = 0 3699 0000 80B5 push {r7, lr} 3700 .LCFI141: 3701 .cfi_def_cfa_offset 8 3702 .cfi_offset 7, -8 3703 .cfi_offset 14, -4 3704 0002 84B0 sub sp, sp, #16 3705 .LCFI142: 3706 .cfi_def_cfa_offset 24 3707 0004 00AF add r7, sp, #0 3708 .LCFI143: 3709 .cfi_def_cfa_register 7 3710 0006 7860 str r0, [r7, #4] 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 3711 .loc 1 2082 22 3712 0008 7B68 ldr r3, [r7, #4] 3713 000a 9B6B ldr r3, [r3, #56] 3714 000c FB60 str r3, [r7, #12] 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->State= HAL_ADC_STATE_ERROR_DMA; 3715 .loc 1 2083 14 3716 000e FB68 ldr r3, [r7, #12] 3717 0010 4022 movs r2, #64 3718 0012 1A64 str r2, [r3, #64] 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to DMA error */ 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_DMA; 3719 .loc 1 2085 19 3720 0014 FB68 ldr r3, [r7, #12] 3721 0016 5B6C ldr r3, [r3, #68] 3722 0018 43F00402 orr r2, r3, #4 3723 001c FB68 ldr r3, [r7, #12] 3724 001e 5A64 str r2, [r3, #68] 2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Error callback */ 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback(hadc); 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc); 3725 .loc 1 2090 3 3726 0020 F868 ldr r0, [r7, #12] 3727 0022 FFF7FEFF bl HAL_ADC_ErrorCallback 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** } 3728 .loc 1 2092 1 3729 0026 00BF nop 3730 0028 1037 adds r7, r7, #16 3731 .LCFI144: 3732 .cfi_def_cfa_offset 8 3733 002a BD46 mov sp, r7 3734 .LCFI145: 3735 .cfi_def_cfa_register 13 3736 @ sp needed 3737 002c 80BD pop {r7, pc} 3738 .cfi_endproc 3739 .LFE260: ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 103 3741 .text 3742 .Letext0: 3743 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 3744 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 3745 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h" 3746 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h" 3747 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 3748 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" 3749 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h" 3750 .file 9 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h" ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 104 DEFINED SYMBOLS *ABS*:00000000 stm32f4xx_hal_adc.c C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:20 .text.HAL_ADC_Init:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:26 .text.HAL_ADC_Init:00000000 HAL_ADC_Init C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:226 .text.HAL_ADC_MspInit:00000000 HAL_ADC_MspInit C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3120 .text.ADC_Init:00000000 ADC_Init C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:130 .text.HAL_ADC_DeInit:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:136 .text.HAL_ADC_DeInit:00000000 HAL_ADC_DeInit C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:268 .text.HAL_ADC_MspDeInit:00000000 HAL_ADC_MspDeInit C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:220 .text.HAL_ADC_MspInit:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:262 .text.HAL_ADC_MspDeInit:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:304 .text.HAL_ADC_Start:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:310 .text.HAL_ADC_Start:00000000 HAL_ADC_Start C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:584 .text.HAL_ADC_Start:0000018c $d C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:594 .text.HAL_ADC_Stop:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:600 .text.HAL_ADC_Stop:00000000 HAL_ADC_Stop C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:681 .text.HAL_ADC_PollForConversion:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:687 .text.HAL_ADC_PollForConversion:00000000 HAL_ADC_PollForConversion C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:873 .text.HAL_ADC_PollForEvent:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:879 .text.HAL_ADC_PollForEvent:00000000 HAL_ADC_PollForEvent C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:1013 .text.HAL_ADC_Start_IT:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:1019 .text.HAL_ADC_Start_IT:00000000 HAL_ADC_Start_IT C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:1302 .text.HAL_ADC_Start_IT:000001a4 $d C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:1312 .text.HAL_ADC_Stop_IT:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:1318 .text.HAL_ADC_Stop_IT:00000000 HAL_ADC_Stop_IT C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:1408 .text.HAL_ADC_IRQHandler:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:1414 .text.HAL_ADC_IRQHandler:00000000 HAL_ADC_IRQHandler C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2296 .text.HAL_ADC_ConvCpltCallback:00000000 HAL_ADC_ConvCpltCallback C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2380 .text.HAL_ADC_LevelOutOfWindowCallback:00000000 HAL_ADC_LevelOutOfWindowCallback C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2422 .text.HAL_ADC_ErrorCallback:00000000 HAL_ADC_ErrorCallback C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:1751 .text.HAL_ADC_Start_DMA:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:1757 .text.HAL_ADC_Start_DMA:00000000 HAL_ADC_Start_DMA C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2098 .text.HAL_ADC_Start_DMA:000001fc $d C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3506 .text.ADC_DMAConvCplt:00000000 ADC_DMAConvCplt C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3649 .text.ADC_DMAHalfConvCplt:00000000 ADC_DMAHalfConvCplt C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3693 .text.ADC_DMAError:00000000 ADC_DMAError C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2111 .text.HAL_ADC_Stop_DMA:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2117 .text.HAL_ADC_Stop_DMA:00000000 HAL_ADC_Stop_DMA C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2243 .text.HAL_ADC_GetValue:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2249 .text.HAL_ADC_GetValue:00000000 HAL_ADC_GetValue C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2290 .text.HAL_ADC_ConvCpltCallback:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2332 .text.HAL_ADC_ConvHalfCpltCallback:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2338 .text.HAL_ADC_ConvHalfCpltCallback:00000000 HAL_ADC_ConvHalfCpltCallback C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2374 .text.HAL_ADC_LevelOutOfWindowCallback:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2416 .text.HAL_ADC_ErrorCallback:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2458 .text.HAL_ADC_ConfigChannel:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2464 .text.HAL_ADC_ConfigChannel:00000000 HAL_ADC_ConfigChannel C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2858 .text.HAL_ADC_ConfigChannel:00000234 $d C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2866 .text.HAL_ADC_AnalogWDGConfig:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:2872 .text.HAL_ADC_AnalogWDGConfig:00000000 HAL_ADC_AnalogWDGConfig C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3025 .text.HAL_ADC_GetState:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3031 .text.HAL_ADC_GetState:00000000 HAL_ADC_GetState C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3070 .text.HAL_ADC_GetError:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3076 .text.HAL_ADC_GetError:00000000 HAL_ADC_GetError C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3115 .text.ADC_Init:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3495 .text.ADC_Init:000001f0 $d C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3501 .text.ADC_DMAConvCplt:00000000 $t ARM GAS C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s page 105 C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3644 .text.ADC_DMAHalfConvCplt:00000000 $t C:\Users\10728\AppData\Local\Temp\cc9Z5K47.s:3688 .text.ADC_DMAError:00000000 $t UNDEFINED SYMBOLS SystemCoreClock HAL_GetTick HAL_ADCEx_InjectedConvCpltCallback HAL_DMA_Start_IT HAL_DMA_Abort