ARM GAS /tmp/cc3Ff6I4.s page 1 1 .cpu cortex-m4 2 .eabi_attribute 27, 1 3 .eabi_attribute 28, 1 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 1 11 .eabi_attribute 34, 1 12 .eabi_attribute 18, 4 13 .file "stm32f4xx_hal_dma.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .section .text.DMA_SetConfig,"ax",%progbits 18 .align 1 19 .arch armv7e-m 20 .syntax unified 21 .thumb 22 .thumb_func 23 .fpu fpv4-sp-d16 25 DMA_SetConfig: 26 .LVL0: 27 .LFB146: 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c" 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @file stm32f4xx_hal_dma.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DMA HAL module driver. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This file provides firmware functions to manage the following 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * functionalities of the Direct Memory Access (DMA) peripheral: 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Initialization and de-initialization functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + IO operation functions 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Peripheral State and errors functions 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ============================================================================== 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### How to use this driver ##### 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ============================================================================== 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Enable and configure the peripheral to be connected to the DMA Stream 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (except for internal SRAM/FLASH memories: no initialization is 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** necessary) please refer to Reference manual for connection between peripherals 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and DMA requests. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) For a given Stream, program the required configuration through the following parameters: 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Transfer Direction, Source and Destination data formats, 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Circular, Normal or peripheral flow control mode, Stream Priority level, 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Source and Destination Increment mode, FIFO mode and its Threshold (if needed), 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Burst mode for Source and/or Destination (if needed) using HAL_DMA_Init() function. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- Prior to HAL_DMA_Init() the clock must be enabled for DMA through the following macros: 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_RCC_DMA1_CLK_ENABLE() or __HAL_RCC_DMA2_CLK_ENABLE(). 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 2 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** Polling mode IO operation *** 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ================================= 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** address and destination address and the Length of data to be transferred. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case a fixed Timeout can be configured by User depending from his application. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Abort() function to abort the current transfer. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** Interrupt mode IO operation *** 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =================================== 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority() 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ() 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Source address and destination address and the Length of data to be transferred. In t 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case the DMA interrupt is configured 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** add his own function by customization of function pointer XferCpltCallback and 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** XferErrorCallback (i.e a member of DMA handle structure). 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** detection. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Use HAL_DMA_Abort_IT() function to abort the current transfer 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- In Memory-to-Memory transfer mode, Circular mode is not allowed. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- The FIFO is used mainly to reduce bus usage and to allow data packing/unpacking: it is 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** possible to set different Data Sizes for the Peripheral and the Memory (ie. you can set 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Half-Word data size for the peripheral to access its data register and set Word data siz 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** for the Memory to gain in access time. Each two half words will be packed and written in 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** a single access to a Word in the Memory). 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- When FIFO is disabled, it is not allowed to configure different Data Sizes for Source 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and Destination. In this case the Peripheral Data Size will be applied to both Source 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and Destination. 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** DMA HAL driver macros list *** 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ============================================= 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Below the list of most used macros in DMA HAL driver. 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_ENABLE: Enable the specified DMA Stream. 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_DISABLE: Disable the specified DMA Stream. 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_GET_IT_SOURCE: Check whether the specified DMA Stream interrupt has occurred or 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (@) You can refer to the DMA HAL driver header file for more useful macros 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ****************************************************************************** 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @attention 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * Copyright (c) 2017 STMicroelectronics. 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * All rights reserved. ARM GAS /tmp/cc3Ff6I4.s page 3 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This software is licensed under terms that can be found in the LICENSE file in 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the root directory of this software component. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ****************************************************************************** 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Includes ------------------------------------------------------------------*/ 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #include "stm32f4xx_hal.h" 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup STM32F4xx_HAL_Driver 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @defgroup DMA DMA 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DMA HAL module driver 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #ifdef HAL_DMA_MODULE_ENABLED 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private types -------------------------------------------------------------*/ 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** typedef struct 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t ISR; /*!< DMA interrupt status register */ 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t Reserved0; 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t IFCR; /*!< DMA interrupt flag clear register */ 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } DMA_Base_Registers; 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private variables ---------------------------------------------------------*/ 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private constants ---------------------------------------------------------*/ 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Constants 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #define HAL_TIMEOUT_DMA_ABORT 5U /* 5 ms */ 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @} 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private macros ------------------------------------------------------------*/ 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private functions ---------------------------------------------------------*/ 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma); 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma); 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @} 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Exported functions ---------------------------------------------------------*/ 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 4 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group1 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### Initialization and de-initialization functions ##### 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** This section provides functions allowing to initialize the DMA Stream source 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and destination addresses, incrementation and data sizes, transfer direction, 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** circular/normal mode selection, memory-to-memory mode selection and Stream priority value. 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** The HAL_DMA_Init() function follows the DMA configuration procedures as described in 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** reference manual. 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Initialize the DMA according to the specified 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * parameters in the DMA_InitTypeDef and create the associated handle. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma) 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = 0U; 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick(); 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */ 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma == NULL) 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */ 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_CHANNEL(hdma->Init.Channel)); 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_DIRECTION(hdma->Init.Direction)); 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_INC_STATE(hdma->Init.PeriphInc)); 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_INC_STATE(hdma->Init.MemInc)); 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(hdma->Init.PeriphDataAlignment)); 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_DATA_SIZE(hdma->Init.MemDataAlignment)); 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MODE(hdma->Init.Mode)); 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PRIORITY(hdma->Init.Priority)); 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_FIFO_MODE_STATE(hdma->Init.FIFOMode)); 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the memory burst, peripheral burst and FIFO threshold parameters only 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** when FIFO mode is enabled */ 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode != DMA_FIFOMODE_DISABLE) 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_FIFO_THRESHOLD(hdma->Init.FIFOThreshold)); 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_BURST(hdma->Init.MemBurst)); 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_BURST(hdma->Init.PeriphBurst)); 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 5 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */ 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Allocate lock resource */ 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the peripheral */ 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check if the DMA Stream is effectively disabled */ 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout */ 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_TIMEOUT; 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT; 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the CR register value */ 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp = hdma->Instance->CR; 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear CHSEL, MBURST, PBURST, PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR, CT and DBM bits */ 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp &= ((uint32_t)~(DMA_SxCR_CHSEL | DMA_SxCR_MBURST | DMA_SxCR_PBURST | \ 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \ 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_MINC | DMA_SxCR_PINC | DMA_SxCR_CIRC | \ 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_DIR | DMA_SxCR_CT | DMA_SxCR_DBM)); 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Prepare the DMA Stream configuration */ 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.Channel | hdma->Init.Direction | 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* the Memory burst and peripheral burst are not used when the FIFO is disabled */ 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get memory burst and peripheral burst */ 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.MemBurst | hdma->Init.PeriphBurst; 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Write to DMA Stream CR register */ 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR = tmp; 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the FCR register value */ 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp = hdma->Instance->FCR; 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear Direct mode and FIFO threshold bits */ 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH); 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Prepare the DMA Stream FIFO configuration */ ARM GAS /tmp/cc3Ff6I4.s page 6 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.FIFOMode; 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* The FIFO threshold is not used when the FIFO mode is disabled */ 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the FIFO threshold */ 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.FIFOThreshold; 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check compatibility between FIFO threshold level and size of the memory burst */ 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* for INCR4, INCR8, INCR16 bursts */ 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst != DMA_MBURST_SINGLE) 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (DMA_CheckFifoParam(hdma) != HAL_OK) 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_PARAM; 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Write to DMA Stream FCR */ 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR = tmp; 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize StreamBaseAddress and StreamIndex parameters to be used to calculate 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA steam Base Address needed by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */ 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags */ 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */ 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the DMA state */ 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DeInitializes the DMA peripheral 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma) 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */ 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma == NULL) 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/cc3Ff6I4.s page 7 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */ 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State == HAL_DMA_STATE_BUSY) 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */ 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_BUSY; 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */ 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the selected DMA Streamx */ 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx control register */ 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR = 0U; 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx number of data to transfer register */ 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->NDTR = 0U; 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx peripheral address register */ 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = 0U; 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx memory 0 address register */ 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = 0U; 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx memory 1 address register */ 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M1AR = 0U; 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx FIFO control register */ 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR = 0x00000021U; 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get DMA steam Base Address */ 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clean all callbacks */ 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL; 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */ 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset the error code */ 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset the DMA state */ 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_RESET; 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */ 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 8 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @} 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group2 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### IO operation functions ##### 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] This section provides functions allowing to: 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the source, destination address and data length and Start DMA transfer 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the source, destination address and data length and 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Start DMA transfer with interrupt 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Abort DMA transfer 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Poll for transfer complete 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Handle DMA interrupt request 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Starts the DMA Transfer. 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */ 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength)); 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */ 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma); 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */ 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */ 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure the source, destination address and the data length */ 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable the Peripheral */ 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_ENABLE(hdma); ARM GAS /tmp/cc3Ff6I4.s page 9 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process unlocked */ 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */ 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_BUSY; 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Start the DMA Transfer with interrupt enabled. 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddres 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */ 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength)); 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */ 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma); 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */ 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */ 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure the source, destination address and the data length */ 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */ 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable Common interrupts*/ 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME; 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR |= DMA_IT_HT; 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable the Peripheral */ ARM GAS /tmp/cc3Ff6I4.s page 10 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_ENABLE(hdma); 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process unlocked */ 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */ 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_BUSY; 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Aborts the DMA Transfer. 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note After disabling a DMA Stream, a check for wait until the DMA Stream is 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * effectively disabled is added. If a Stream is disabled 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * while a data transfer is ongoing, the current data will be transferred 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * and the Stream will be effectively disabled only after the transfer of 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * this single data is finished. 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma) 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick(); 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY) 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable all the transfer interrupts */ 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT); 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */ 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check if the DMA Stream is effectively disabled */ ARM GAS /tmp/cc3Ff6I4.s page 11 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout */ 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_TIMEOUT; 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT; 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */ 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state*/ 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Aborts the DMA Transfer in Interrupt mode. 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma) 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY) 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Set Abort State */ 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_ABORT; 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */ 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Polling for transfer complete. ARM GAS /tmp/cc3Ff6I4.s page 12 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CompleteLevel Specifies the DMA level complete. 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note The polling mode is kept in this version for legacy. it is recommended to use the IT mo 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This model could be used for debug purpose. 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note The HAL_DMA_PollForTransfer API cannot be used in circular and double buffering mode (a 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param Timeout Timeout duration. 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, HAL_DMA_LevelCompleteTypeDef Com 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t mask_cpltlevel; 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick(); 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr; 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State) 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* No transfer ongoing */ 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Polling mode not supported in circular mode and double buffering mode */ 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) != RESET) 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the level transfer complete flag */ 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(CompleteLevel == HAL_DMA_FULL_TRANSFER) 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Complete flag */ 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** mask_cpltlevel = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half Transfer Complete flag */ 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** mask_cpltlevel = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while(((tmpisr & mask_cpltlevel) == RESET) && ((hdma->ErrorCode & HAL_DMA_ERROR_TE) == RESET)) 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout (Not applicable in circular mode)*/ 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(Timeout != HAL_MAX_DELAY) 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout)) 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ ARM GAS /tmp/cc3Ff6I4.s page 13 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT; 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the ISR register value */ 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_TE; 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer error flag */ 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_FE; 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the FIFO error flag */ 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_DME; 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the Direct Mode error flag */ 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_DMA_Abort(hdma); 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */ 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4 | DMA_FLAG_TCIF0_4) << hdma->StreamIndex; 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State= HAL_DMA_STATE_READY; 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); ARM GAS /tmp/cc3Ff6I4.s page 14 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the level transfer complete flag */ 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(CompleteLevel == HAL_DMA_FULL_TRANSFER) 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */ 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4 | DMA_FLAG_TCIF0_4) << hdma->StreamIndex; 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */ 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4) << hdma->StreamIndex; 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Handles DMA interrupt request. 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval None 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma) 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr; 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t count = 0U; 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U; 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Error Interrupt management ***************************************/ 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET) 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer error interrupt */ 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TE); 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer error flag */ 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_TE; 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS /tmp/cc3Ff6I4.s page 15 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* FIFO Error Interrupt management ******************************************/ 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET) 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the FIFO error flag */ 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_FE; 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Direct Mode Error Interrupt management ***********************************/ 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET) 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the direct mode error flag */ 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_DME; 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half Transfer Complete Interrupt management ******************************/ 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET) 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET) 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer complete flag */ 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Multi_Buffering mode enabled */ 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 0 */ 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */ 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma); 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 1 */ 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferM1HalfCpltCallback != NULL) 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */ 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback(hdma); 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ ARM GAS /tmp/cc3Ff6I4.s page 16 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the half transfer interrupt */ 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT); 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */ 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma); 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Complete Interrupt management ***********************************/ 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET) 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET) 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer complete flag */ 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_ABORT == hdma->State) 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable all the transfer interrupts */ 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT); 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */ 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex; 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferAbortCallback != NULL) 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback(hdma); 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return; 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 0 */ 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferM1CpltCallback != NULL) 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete Callback for memory1 */ ARM GAS /tmp/cc3Ff6I4.s page 17 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback(hdma); 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 1 */ 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL) 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete Callback for memory0 */ 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback(hdma); 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */ 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer complete interrupt */ 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC); 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL) 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete callback */ 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback(hdma); 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* manage error case */ 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_ABORT; 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */ 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma); 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** do 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (++count > timeout) 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET); 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ ARM GAS /tmp/cc3Ff6I4.s page 18 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */ 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferErrorCallback != NULL) 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer error callback */ 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback(hdma); 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Register callbacks 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CallbackID User Callback identifier 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * a DMA_HandleTypeDef structure as parameter. 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param pCallback pointer to private callback function which has pointer to 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * a DMA_HandleTypeDef structure as parameter. 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Callb 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */ 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma); 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (CallbackID) 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID: 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = pCallback; 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID: 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = pCallback; 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1CPLT_CB_ID: 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = pCallback; 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1HALFCPLT_CB_ID: 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = pCallback; 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID: 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = pCallback; 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID: ARM GAS /tmp/cc3Ff6I4.s page 19 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = pCallback; 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default: 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */ 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */ 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */ 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief UnRegister callbacks 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CallbackID User Callback identifier 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * a HAL_DMA_CallbackIDTypeDef ENUM as parameter. 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Cal 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */ 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma); 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (CallbackID) 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID: 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL; 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID: 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1CPLT_CB_ID: 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1HALFCPLT_CB_ID: 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID: ARM GAS /tmp/cc3Ff6I4.s page 20 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID: 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ALL_CB_ID: 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL; 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default: 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */ 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @} 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group3 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### State and Errors functions ##### 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================================================== 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** This subsection provides functions allowing to 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Check the DMA state 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Get error code 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Returns the DMA state. 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL state 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ ARM GAS /tmp/cc3Ff6I4.s page 21 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma) 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->State; 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Return the DMA error code 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval DMA Error Code 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma) 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->ErrorCode; 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @} 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @} 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{ 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Sets the DMA Transfer parameter. 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 29 .loc 1 1152 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 33 @ link register save eliminated. 34 .loc 1 1152 1 is_stmt 0 view .LVU1 35 0000 30B4 push {r4, r5} 36 .LCFI0: 37 .cfi_def_cfa_offset 8 38 .cfi_offset 4, -8 39 .cfi_offset 5, -4 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear DBM bit */ 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM); 40 .loc 1 1154 3 is_stmt 1 view .LVU2 41 .loc 1 1154 7 is_stmt 0 view .LVU3 42 0002 0568 ldr r5, [r0] 43 .loc 1 1154 22 view .LVU4 44 0004 2C68 ldr r4, [r5] ARM GAS /tmp/cc3Ff6I4.s page 22 45 0006 24F48024 bic r4, r4, #262144 46 000a 2C60 str r4, [r5] 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream data length */ 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->NDTR = DataLength; 47 .loc 1 1157 3 is_stmt 1 view .LVU5 48 .loc 1 1157 7 is_stmt 0 view .LVU6 49 000c 0468 ldr r4, [r0] 50 .loc 1 1157 24 view .LVU7 51 000e 6360 str r3, [r4, #4] 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory to Peripheral */ 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) 52 .loc 1 1160 3 is_stmt 1 view .LVU8 53 .loc 1 1160 17 is_stmt 0 view .LVU9 54 0010 8368 ldr r3, [r0, #8] 55 .LVL1: 56 .loc 1 1160 5 view .LVU10 57 0012 402B cmp r3, #64 58 0014 05D0 beq .L5 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream destination address */ 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = DstAddress; 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream source address */ 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = SrcAddress; 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Peripheral to Memory */ 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream source address */ 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = SrcAddress; 59 .loc 1 1172 5 is_stmt 1 view .LVU11 60 .loc 1 1172 9 is_stmt 0 view .LVU12 61 0016 0368 ldr r3, [r0] 62 .loc 1 1172 25 view .LVU13 63 0018 9960 str r1, [r3, #8] 64 .LVL2: 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream destination address */ 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = DstAddress; 65 .loc 1 1175 5 is_stmt 1 view .LVU14 66 .loc 1 1175 9 is_stmt 0 view .LVU15 67 001a 0368 ldr r3, [r0] 68 .loc 1 1175 26 view .LVU16 69 001c DA60 str r2, [r3, #12] 70 .L1: 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 71 .loc 1 1177 1 view .LVU17 72 001e 30BC pop {r4, r5} 73 .LCFI1: 74 .cfi_remember_state 75 .cfi_restore 5 76 .cfi_restore 4 77 .cfi_def_cfa_offset 0 78 0020 7047 bx lr ARM GAS /tmp/cc3Ff6I4.s page 23 79 .LVL3: 80 .L5: 81 .LCFI2: 82 .cfi_restore_state 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 83 .loc 1 1163 5 is_stmt 1 view .LVU18 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 84 .loc 1 1163 9 is_stmt 0 view .LVU19 85 0022 0368 ldr r3, [r0] 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 86 .loc 1 1163 25 view .LVU20 87 0024 9A60 str r2, [r3, #8] 88 .LVL4: 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 89 .loc 1 1166 5 is_stmt 1 view .LVU21 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 90 .loc 1 1166 9 is_stmt 0 view .LVU22 91 0026 0368 ldr r3, [r0] 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 92 .loc 1 1166 26 view .LVU23 93 0028 D960 str r1, [r3, #12] 94 002a F8E7 b .L1 95 .cfi_endproc 96 .LFE146: 98 .section .text.DMA_CalcBaseAndBitshift,"ax",%progbits 99 .align 1 100 .syntax unified 101 .thumb 102 .thumb_func 103 .fpu fpv4-sp-d16 105 DMA_CalcBaseAndBitshift: 106 .LVL5: 107 .LFB147: 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Returns the DMA Stream base address depending on stream number 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval Stream base address 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma) 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 108 .loc 1 1186 1 is_stmt 1 view -0 109 .cfi_startproc 110 @ args = 0, pretend = 0, frame = 0 111 @ frame_needed = 0, uses_anonymous_args = 0 112 @ link register save eliminated. 113 .loc 1 1186 1 is_stmt 0 view .LVU25 114 0000 10B4 push {r4} 115 .LCFI3: 116 .cfi_def_cfa_offset 4 117 .cfi_offset 4, -4 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U; 118 .loc 1 1187 3 is_stmt 1 view .LVU26 119 .loc 1 1187 44 is_stmt 0 view .LVU27 120 0002 0368 ldr r3, [r0] 121 .loc 1 1187 55 view .LVU28 ARM GAS /tmp/cc3Ff6I4.s page 24 122 0004 D9B2 uxtb r1, r3 123 .loc 1 1187 64 view .LVU29 124 0006 1039 subs r1, r1, #16 125 .loc 1 1187 12 view .LVU30 126 0008 0C4A ldr r2, .L10 127 000a A2FB0142 umull r4, r2, r2, r1 128 000e 1209 lsrs r2, r2, #4 129 .LVL6: 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* lookup table for necessary bitshift of flags within status registers */ 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static const uint8_t flagBitshiftOffset[8U] = {0U, 6U, 16U, 22U, 0U, 6U, 16U, 22U}; 130 .loc 1 1190 3 is_stmt 1 view .LVU31 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamIndex = flagBitshiftOffset[stream_number]; 131 .loc 1 1191 3 view .LVU32 132 .loc 1 1191 41 is_stmt 0 view .LVU33 133 0010 0B4C ldr r4, .L10+4 134 0012 A25C ldrb r2, [r4, r2] @ zero_extendqisi2 135 .LVL7: 136 .loc 1 1191 21 view .LVU34 137 0014 C265 str r2, [r0, #92] 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (stream_number > 3U) 138 .loc 1 1193 3 is_stmt 1 view .LVU35 139 .loc 1 1193 6 is_stmt 0 view .LVU36 140 0016 5F29 cmp r1, #95 141 0018 09D9 bls .L7 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* return pointer to HISR and HIFCR */ 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U); 142 .loc 1 1196 5 is_stmt 1 view .LVU37 143 .loc 1 1196 58 is_stmt 0 view .LVU38 144 001a 23F47F73 bic r3, r3, #1020 145 001e 23F00303 bic r3, r3, #3 146 .loc 1 1196 81 view .LVU39 147 0022 0433 adds r3, r3, #4 148 .loc 1 1196 29 view .LVU40 149 0024 8365 str r3, [r0, #88] 150 .L8: 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* return pointer to LISR and LIFCR */ 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)); 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->StreamBaseAddress; 151 .loc 1 1204 3 is_stmt 1 view .LVU41 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 152 .loc 1 1205 1 is_stmt 0 view .LVU42 153 0026 806D ldr r0, [r0, #88] 154 .LVL8: 155 .loc 1 1205 1 view .LVU43 156 0028 5DF8044B ldr r4, [sp], #4 157 .LCFI4: 158 .cfi_remember_state 159 .cfi_restore 4 160 .cfi_def_cfa_offset 0 ARM GAS /tmp/cc3Ff6I4.s page 25 161 002c 7047 bx lr 162 .LVL9: 163 .L7: 164 .LCFI5: 165 .cfi_restore_state 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 166 .loc 1 1201 5 is_stmt 1 view .LVU44 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 167 .loc 1 1201 57 is_stmt 0 view .LVU45 168 002e 23F47F73 bic r3, r3, #1020 169 0032 23F00303 bic r3, r3, #3 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 170 .loc 1 1201 29 view .LVU46 171 0036 8365 str r3, [r0, #88] 172 0038 F5E7 b .L8 173 .L11: 174 003a 00BF .align 2 175 .L10: 176 003c ABAAAAAA .word -1431655765 177 0040 00000000 .word .LANCHOR0 178 .cfi_endproc 179 .LFE147: 181 .section .text.DMA_CheckFifoParam,"ax",%progbits 182 .align 1 183 .syntax unified 184 .thumb 185 .thumb_func 186 .fpu fpv4-sp-d16 188 DMA_CheckFifoParam: 189 .LVL10: 190 .LFB148: 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Check compatibility between FIFO threshold level and size of the memory burst 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */ 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma) 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 191 .loc 1 1214 1 is_stmt 1 view -0 192 .cfi_startproc 193 @ args = 0, pretend = 0, frame = 0 194 @ frame_needed = 0, uses_anonymous_args = 0 195 @ link register save eliminated. 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 196 .loc 1 1215 3 view .LVU48 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 197 .loc 1 1216 3 view .LVU49 198 .loc 1 1216 12 is_stmt 0 view .LVU50 199 0000 836A ldr r3, [r0, #40] 200 .LVL11: 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory Data size equal to Byte */ 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE) 201 .loc 1 1219 3 is_stmt 1 view .LVU51 202 .loc 1 1219 16 is_stmt 0 view .LVU52 ARM GAS /tmp/cc3Ff6I4.s page 26 203 0002 8269 ldr r2, [r0, #24] 204 .loc 1 1219 5 view .LVU53 205 0004 92B9 cbnz r2, .L13 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp) 206 .loc 1 1221 5 is_stmt 1 view .LVU54 207 0006 012B cmp r3, #1 208 0008 0AD0 beq .L14 209 000a 022B cmp r3, #2 210 000c 02D0 beq .L15 211 000e 0BB1 cbz r3, .L15 212 0010 0020 movs r0, #0 213 .LVL12: 214 .loc 1 1221 5 is_stmt 0 view .LVU55 215 0012 7047 bx lr 216 .LVL13: 217 .L15: 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_1QUARTERFULL: 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_3QUARTERSFULL: 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 218 .loc 1 1225 7 is_stmt 1 view .LVU56 219 .loc 1 1225 22 is_stmt 0 view .LVU57 220 0014 C36A ldr r3, [r0, #44] 221 .LVL14: 222 .loc 1 1225 10 view .LVU58 223 0016 13F0807F tst r3, #16777216 224 001a 28D1 bne .L23 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 225 .loc 1 1215 21 view .LVU59 226 001c 0020 movs r0, #0 227 .LVL15: 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 228 .loc 1 1215 21 view .LVU60 229 001e 7047 bx lr 230 .LVL16: 231 .L14: 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL: 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst == DMA_MBURST_INC16) 232 .loc 1 1231 7 is_stmt 1 view .LVU61 233 .loc 1 1231 21 is_stmt 0 view .LVU62 234 0020 C36A ldr r3, [r0, #44] 235 .LVL17: 236 .loc 1 1231 10 view .LVU63 237 0022 B3F1C07F cmp r3, #25165824 238 0026 24D0 beq .L24 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 239 .loc 1 1215 21 view .LVU64 240 0028 0020 movs r0, #0 241 .LVL18: 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 242 .loc 1 1215 21 view .LVU65 243 002a 7047 bx lr ARM GAS /tmp/cc3Ff6I4.s page 27 244 .LVL19: 245 .L13: 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL: 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default: 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory Data size equal to Half-Word */ 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) 246 .loc 1 1244 8 is_stmt 1 view .LVU66 247 .loc 1 1244 11 is_stmt 0 view .LVU67 248 002c B2F5005F cmp r2, #8192 249 0030 09D0 beq .L31 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp) 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_1QUARTERFULL: 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_3QUARTERSFULL: 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL: 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL: 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst == DMA_MBURST_INC16) 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default: 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory Data size equal to Word */ 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp) 250 .loc 1 1272 5 is_stmt 1 view .LVU68 251 0032 022B cmp r3, #2 252 0034 25D9 bls .L28 253 0036 032B cmp r3, #3 254 0038 25D1 bne .L29 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_1QUARTERFULL: 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL: 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_3QUARTERSFULL: 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; ARM GAS /tmp/cc3Ff6I4.s page 28 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL: 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 255 .loc 1 1280 7 view .LVU69 256 .loc 1 1280 22 is_stmt 0 view .LVU70 257 003a C36A ldr r3, [r0, #44] 258 .LVL20: 259 .loc 1 1280 10 view .LVU71 260 003c 13F0807F tst r3, #16777216 261 0040 23D1 bne .L30 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 262 .loc 1 1215 21 view .LVU72 263 0042 0020 movs r0, #0 264 .LVL21: 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 265 .loc 1 1215 21 view .LVU73 266 0044 7047 bx lr 267 .LVL22: 268 .L31: 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 269 .loc 1 1246 5 is_stmt 1 view .LVU74 270 0046 032B cmp r3, #3 271 0048 03D8 bhi .L18 272 004a DFE803F0 tbb [pc, r3] 273 .L20: 274 004e 14 .byte (.L25-.L20)/2 275 004f 04 .byte (.L21-.L20)/2 276 0050 14 .byte (.L25-.L20)/2 277 0051 0A .byte (.L19-.L20)/2 278 .p2align 1 279 .L18: 280 0052 0020 movs r0, #0 281 .LVL23: 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 282 .loc 1 1246 5 is_stmt 0 view .LVU75 283 0054 7047 bx lr 284 .LVL24: 285 .L21: 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 286 .loc 1 1253 7 is_stmt 1 view .LVU76 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 287 .loc 1 1253 22 is_stmt 0 view .LVU77 288 0056 C36A ldr r3, [r0, #44] 289 .LVL25: 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 290 .loc 1 1253 10 view .LVU78 291 0058 13F0807F tst r3, #16777216 292 005c 0DD1 bne .L26 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 293 .loc 1 1215 21 view .LVU79 294 005e 0020 movs r0, #0 295 .LVL26: 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 296 .loc 1 1215 21 view .LVU80 297 0060 7047 bx lr 298 .LVL27: 299 .L19: ARM GAS /tmp/cc3Ff6I4.s page 29 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 300 .loc 1 1259 7 is_stmt 1 view .LVU81 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 301 .loc 1 1259 21 is_stmt 0 view .LVU82 302 0062 C36A ldr r3, [r0, #44] 303 .LVL28: 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 304 .loc 1 1259 10 view .LVU83 305 0064 B3F1C07F cmp r3, #25165824 306 0068 09D0 beq .L27 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 307 .loc 1 1215 21 view .LVU84 308 006a 0020 movs r0, #0 309 .LVL29: 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 310 .loc 1 1215 21 view .LVU85 311 006c 7047 bx lr 312 .LVL30: 313 .L23: 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 314 .loc 1 1227 16 view .LVU86 315 006e 0120 movs r0, #1 316 .LVL31: 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 317 .loc 1 1227 16 view .LVU87 318 0070 7047 bx lr 319 .LVL32: 320 .L24: 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 321 .loc 1 1233 16 view .LVU88 322 0072 0120 movs r0, #1 323 .LVL33: 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 324 .loc 1 1233 16 view .LVU89 325 0074 7047 bx lr 326 .LVL34: 327 .L25: 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 328 .loc 1 1250 14 view .LVU90 329 0076 0120 movs r0, #1 330 .LVL35: 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 331 .loc 1 1250 14 view .LVU91 332 0078 7047 bx lr 333 .LVL36: 334 .L26: 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 335 .loc 1 1255 16 view .LVU92 336 007a 0120 movs r0, #1 337 .LVL37: 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 338 .loc 1 1255 16 view .LVU93 339 007c 7047 bx lr 340 .LVL38: 341 .L27: 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 342 .loc 1 1261 16 view .LVU94 ARM GAS /tmp/cc3Ff6I4.s page 30 343 007e 0120 movs r0, #1 344 .LVL39: 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 345 .loc 1 1261 16 view .LVU95 346 0080 7047 bx lr 347 .LVL40: 348 .L28: 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 349 .loc 1 1277 14 view .LVU96 350 0082 0120 movs r0, #1 351 .LVL41: 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 352 .loc 1 1277 14 view .LVU97 353 0084 7047 bx lr 354 .LVL42: 355 .L29: 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 356 .loc 1 1272 5 view .LVU98 357 0086 0020 movs r0, #0 358 .LVL43: 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 359 .loc 1 1272 5 view .LVU99 360 0088 7047 bx lr 361 .LVL44: 362 .L30: 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 363 .loc 1 1282 16 view .LVU100 364 008a 0120 movs r0, #1 365 .LVL45: 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default: 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 366 .loc 1 1290 3 is_stmt 1 view .LVU101 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 367 .loc 1 1291 1 is_stmt 0 view .LVU102 368 008c 7047 bx lr 369 .cfi_endproc 370 .LFE148: 372 .section .text.HAL_DMA_Init,"ax",%progbits 373 .align 1 374 .global HAL_DMA_Init 375 .syntax unified 376 .thumb 377 .thumb_func 378 .fpu fpv4-sp-d16 380 HAL_DMA_Init: 381 .LVL46: 382 .LFB134: 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = 0U; 383 .loc 1 171 1 is_stmt 1 view -0 384 .cfi_startproc ARM GAS /tmp/cc3Ff6I4.s page 31 385 @ args = 0, pretend = 0, frame = 0 386 @ frame_needed = 0, uses_anonymous_args = 0 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = 0U; 387 .loc 1 171 1 is_stmt 0 view .LVU104 388 0000 70B5 push {r4, r5, r6, lr} 389 .LCFI6: 390 .cfi_def_cfa_offset 16 391 .cfi_offset 4, -16 392 .cfi_offset 5, -12 393 .cfi_offset 6, -8 394 .cfi_offset 14, -4 395 0002 0446 mov r4, r0 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick(); 396 .loc 1 172 3 is_stmt 1 view .LVU105 397 .LVL47: 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 398 .loc 1 173 3 view .LVU106 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 399 .loc 1 173 24 is_stmt 0 view .LVU107 400 0004 FFF7FEFF bl HAL_GetTick 401 .LVL48: 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 402 .loc 1 174 3 is_stmt 1 view .LVU108 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 403 .loc 1 177 3 view .LVU109 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 404 .loc 1 177 5 is_stmt 0 view .LVU110 405 0008 002C cmp r4, #0 406 000a 5BD0 beq .L38 407 000c 0546 mov r5, r0 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_CHANNEL(hdma->Init.Channel)); 408 .loc 1 183 3 is_stmt 1 view .LVU111 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_DIRECTION(hdma->Init.Direction)); 409 .loc 1 184 3 view .LVU112 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_INC_STATE(hdma->Init.PeriphInc)); 410 .loc 1 185 3 view .LVU113 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_INC_STATE(hdma->Init.MemInc)); 411 .loc 1 186 3 view .LVU114 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(hdma->Init.PeriphDataAlignment)); 412 .loc 1 187 3 view .LVU115 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_DATA_SIZE(hdma->Init.MemDataAlignment)); 413 .loc 1 188 3 view .LVU116 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MODE(hdma->Init.Mode)); 414 .loc 1 189 3 view .LVU117 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PRIORITY(hdma->Init.Priority)); 415 .loc 1 190 3 view .LVU118 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_FIFO_MODE_STATE(hdma->Init.FIFOMode)); 416 .loc 1 191 3 view .LVU119 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the memory burst, peripheral burst and FIFO threshold parameters only 417 .loc 1 192 3 view .LVU120 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 418 .loc 1 195 3 view .LVU121 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_BURST(hdma->Init.MemBurst)); 419 .loc 1 197 5 view .LVU122 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_BURST(hdma->Init.PeriphBurst)); 420 .loc 1 198 5 view .LVU123 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS /tmp/cc3Ff6I4.s page 32 421 .loc 1 199 5 view .LVU124 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 422 .loc 1 203 3 view .LVU125 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 423 .loc 1 203 15 is_stmt 0 view .LVU126 424 000e 0223 movs r3, #2 425 0010 84F83530 strb r3, [r4, #53] 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 426 .loc 1 206 3 is_stmt 1 view .LVU127 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 427 .loc 1 206 3 view .LVU128 428 0014 0023 movs r3, #0 429 0016 84F83430 strb r3, [r4, #52] 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 430 .loc 1 206 3 view .LVU129 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 431 .loc 1 209 3 view .LVU130 432 001a 2268 ldr r2, [r4] 433 001c 1368 ldr r3, [r2] 434 001e 23F00103 bic r3, r3, #1 435 0022 1360 str r3, [r2] 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 436 .loc 1 212 3 view .LVU131 437 .LVL49: 438 .L34: 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 439 .loc 1 212 8 view .LVU132 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 440 .loc 1 212 14 is_stmt 0 view .LVU133 441 0024 2368 ldr r3, [r4] 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 442 .loc 1 212 24 view .LVU134 443 0026 1A68 ldr r2, [r3] 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 444 .loc 1 212 8 view .LVU135 445 0028 12F0010F tst r2, #1 446 002c 0AD0 beq .L40 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 447 .loc 1 215 5 is_stmt 1 view .LVU136 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 448 .loc 1 215 9 is_stmt 0 view .LVU137 449 002e FFF7FEFF bl HAL_GetTick 450 .LVL50: 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 451 .loc 1 215 23 view .LVU138 452 0032 431B subs r3, r0, r5 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 453 .loc 1 215 7 view .LVU139 454 0034 052B cmp r3, #5 455 0036 F5D9 bls .L34 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 456 .loc 1 218 7 is_stmt 1 view .LVU140 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 457 .loc 1 218 23 is_stmt 0 view .LVU141 458 0038 2023 movs r3, #32 459 003a 6365 str r3, [r4, #84] 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 33 460 .loc 1 221 7 is_stmt 1 view .LVU142 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 461 .loc 1 221 19 is_stmt 0 view .LVU143 462 003c 0320 movs r0, #3 463 003e 84F83500 strb r0, [r4, #53] 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 464 .loc 1 223 7 is_stmt 1 view .LVU144 465 .LVL51: 466 .L33: 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 467 .loc 1 301 1 is_stmt 0 view .LVU145 468 0042 70BD pop {r4, r5, r6, pc} 469 .LVL52: 470 .L40: 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 471 .loc 1 228 3 is_stmt 1 view .LVU146 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 472 .loc 1 228 7 is_stmt 0 view .LVU147 473 0044 1A68 ldr r2, [r3] 474 .LVL53: 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \ 475 .loc 1 231 3 is_stmt 1 view .LVU148 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \ 476 .loc 1 231 7 is_stmt 0 view .LVU149 477 0046 2048 ldr r0, .L43 478 0048 1040 ands r0, r0, r2 479 .LVL54: 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 480 .loc 1 237 3 is_stmt 1 view .LVU150 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 481 .loc 1 237 21 is_stmt 0 view .LVU151 482 004a 6168 ldr r1, [r4, #4] 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 483 .loc 1 237 54 view .LVU152 484 004c A268 ldr r2, [r4, #8] 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 485 .loc 1 237 42 view .LVU153 486 004e 0A43 orrs r2, r2, r1 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 487 .loc 1 238 21 view .LVU154 488 0050 E168 ldr r1, [r4, #12] 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 489 .loc 1 237 72 view .LVU155 490 0052 0A43 orrs r2, r2, r1 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 491 .loc 1 238 54 view .LVU156 492 0054 2169 ldr r1, [r4, #16] 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 493 .loc 1 238 42 view .LVU157 494 0056 0A43 orrs r2, r2, r1 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; 495 .loc 1 239 21 view .LVU158 496 0058 6169 ldr r1, [r4, #20] 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 497 .loc 1 238 72 view .LVU159 498 005a 0A43 orrs r2, r2, r1 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; ARM GAS /tmp/cc3Ff6I4.s page 34 499 .loc 1 239 54 view .LVU160 500 005c A169 ldr r1, [r4, #24] 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; 501 .loc 1 239 42 view .LVU161 502 005e 0A43 orrs r2, r2, r1 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 503 .loc 1 240 21 view .LVU162 504 0060 E169 ldr r1, [r4, #28] 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; 505 .loc 1 239 72 view .LVU163 506 0062 0A43 orrs r2, r2, r1 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 507 .loc 1 240 54 view .LVU164 508 0064 216A ldr r1, [r4, #32] 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 509 .loc 1 240 42 view .LVU165 510 0066 0A43 orrs r2, r2, r1 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 511 .loc 1 237 7 view .LVU166 512 0068 0243 orrs r2, r2, r0 513 .LVL55: 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 514 .loc 1 243 3 is_stmt 1 view .LVU167 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 515 .loc 1 243 16 is_stmt 0 view .LVU168 516 006a 616A ldr r1, [r4, #36] 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 517 .loc 1 243 5 view .LVU169 518 006c 0429 cmp r1, #4 519 006e 1ED0 beq .L41 520 .L36: 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 521 .loc 1 250 3 is_stmt 1 view .LVU170 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 522 .loc 1 250 22 is_stmt 0 view .LVU171 523 0070 1A60 str r2, [r3] 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 524 .loc 1 253 3 is_stmt 1 view .LVU172 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 525 .loc 1 253 13 is_stmt 0 view .LVU173 526 0072 2668 ldr r6, [r4] 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 527 .loc 1 253 7 view .LVU174 528 0074 7569 ldr r5, [r6, #20] 529 .LVL56: 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 530 .loc 1 256 3 is_stmt 1 view .LVU175 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 531 .loc 1 256 7 is_stmt 0 view .LVU176 532 0076 25F00705 bic r5, r5, #7 533 .LVL57: 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 534 .loc 1 259 3 is_stmt 1 view .LVU177 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 535 .loc 1 259 20 is_stmt 0 view .LVU178 536 007a 636A ldr r3, [r4, #36] 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 35 537 .loc 1 259 7 view .LVU179 538 007c 1D43 orrs r5, r5, r3 539 .LVL58: 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 540 .loc 1 262 3 is_stmt 1 view .LVU180 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 541 .loc 1 262 5 is_stmt 0 view .LVU181 542 007e 042B cmp r3, #4 543 0080 07D1 bne .L37 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 544 .loc 1 265 5 is_stmt 1 view .LVU182 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 545 .loc 1 265 22 is_stmt 0 view .LVU183 546 0082 A36A ldr r3, [r4, #40] 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 547 .loc 1 265 9 view .LVU184 548 0084 1D43 orrs r5, r5, r3 549 .LVL59: 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 550 .loc 1 269 5 is_stmt 1 view .LVU185 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 551 .loc 1 269 19 is_stmt 0 view .LVU186 552 0086 E36A ldr r3, [r4, #44] 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 553 .loc 1 269 8 view .LVU187 554 0088 1BB1 cbz r3, .L37 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 555 .loc 1 271 7 is_stmt 1 view .LVU188 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 556 .loc 1 271 11 is_stmt 0 view .LVU189 557 008a 2046 mov r0, r4 558 008c FFF7FEFF bl DMA_CheckFifoParam 559 .LVL60: 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 560 .loc 1 271 10 view .LVU190 561 0090 90B9 cbnz r0, .L42 562 .L37: 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 563 .loc 1 285 3 is_stmt 1 view .LVU191 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 564 .loc 1 285 23 is_stmt 0 view .LVU192 565 0092 7561 str r5, [r6, #20] 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 566 .loc 1 289 3 is_stmt 1 view .LVU193 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 567 .loc 1 289 32 is_stmt 0 view .LVU194 568 0094 2046 mov r0, r4 569 0096 FFF7FEFF bl DMA_CalcBaseAndBitshift 570 .LVL61: 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 571 .loc 1 292 3 is_stmt 1 view .LVU195 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 572 .loc 1 292 29 is_stmt 0 view .LVU196 573 009a E26D ldr r2, [r4, #92] 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 574 .loc 1 292 22 view .LVU197 575 009c 3F23 movs r3, #63 ARM GAS /tmp/cc3Ff6I4.s page 36 576 009e 9340 lsls r3, r3, r2 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 577 .loc 1 292 14 view .LVU198 578 00a0 8360 str r3, [r0, #8] 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 579 .loc 1 295 3 is_stmt 1 view .LVU199 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 580 .loc 1 295 19 is_stmt 0 view .LVU200 581 00a2 0020 movs r0, #0 582 .LVL62: 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 583 .loc 1 295 19 view .LVU201 584 00a4 6065 str r0, [r4, #84] 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 585 .loc 1 298 3 is_stmt 1 view .LVU202 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 586 .loc 1 298 15 is_stmt 0 view .LVU203 587 00a6 0123 movs r3, #1 588 00a8 84F83530 strb r3, [r4, #53] 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 589 .loc 1 300 3 is_stmt 1 view .LVU204 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 590 .loc 1 300 10 is_stmt 0 view .LVU205 591 00ac C9E7 b .L33 592 .LVL63: 593 .L41: 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 594 .loc 1 246 5 is_stmt 1 view .LVU206 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 595 .loc 1 246 23 is_stmt 0 view .LVU207 596 00ae E16A ldr r1, [r4, #44] 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 597 .loc 1 246 45 view .LVU208 598 00b0 206B ldr r0, [r4, #48] 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 599 .loc 1 246 33 view .LVU209 600 00b2 0143 orrs r1, r1, r0 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 601 .loc 1 246 9 view .LVU210 602 00b4 0A43 orrs r2, r2, r1 603 .LVL64: 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 604 .loc 1 246 9 view .LVU211 605 00b6 DBE7 b .L36 606 .LVL65: 607 .L42: 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 608 .loc 1 274 9 is_stmt 1 view .LVU212 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 609 .loc 1 274 25 is_stmt 0 view .LVU213 610 00b8 4023 movs r3, #64 611 00ba 6365 str r3, [r4, #84] 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 612 .loc 1 277 9 is_stmt 1 view .LVU214 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 613 .loc 1 277 21 is_stmt 0 view .LVU215 614 00bc 0120 movs r0, #1 ARM GAS /tmp/cc3Ff6I4.s page 37 615 00be 84F83500 strb r0, [r4, #53] 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 616 .loc 1 279 9 is_stmt 1 view .LVU216 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 617 .loc 1 279 16 is_stmt 0 view .LVU217 618 00c2 BEE7 b .L33 619 .LVL66: 620 .L38: 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 621 .loc 1 179 12 view .LVU218 622 00c4 0120 movs r0, #1 623 .LVL67: 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 624 .loc 1 179 12 view .LVU219 625 00c6 BCE7 b .L33 626 .L44: 627 .align 2 628 .L43: 629 00c8 3F8010F0 .word -267354049 630 .cfi_endproc 631 .LFE134: 633 .section .text.HAL_DMA_DeInit,"ax",%progbits 634 .align 1 635 .global HAL_DMA_DeInit 636 .syntax unified 637 .thumb 638 .thumb_func 639 .fpu fpv4-sp-d16 641 HAL_DMA_DeInit: 642 .LVL68: 643 .LFB135: 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 644 .loc 1 310 1 is_stmt 1 view -0 645 .cfi_startproc 646 @ args = 0, pretend = 0, frame = 0 647 @ frame_needed = 0, uses_anonymous_args = 0 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 648 .loc 1 311 3 view .LVU221 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 649 .loc 1 314 3 view .LVU222 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 650 .loc 1 314 5 is_stmt 0 view .LVU223 651 0000 0028 cmp r0, #0 652 0002 2DD0 beq .L47 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs; 653 .loc 1 310 1 view .LVU224 654 0004 38B5 push {r3, r4, r5, lr} 655 .LCFI7: 656 .cfi_def_cfa_offset 16 657 .cfi_offset 3, -16 658 .cfi_offset 4, -12 659 .cfi_offset 5, -8 660 .cfi_offset 14, -4 661 0006 0546 mov r5, r0 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 662 .loc 1 320 3 is_stmt 1 view .LVU225 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/cc3Ff6I4.s page 38 663 .loc 1 320 10 is_stmt 0 view .LVU226 664 0008 90F83500 ldrb r0, [r0, #53] @ zero_extendqisi2 665 .LVL69: 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 666 .loc 1 320 10 view .LVU227 667 000c C0B2 uxtb r0, r0 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 668 .loc 1 320 5 view .LVU228 669 000e 0228 cmp r0, #2 670 0010 25D0 beq .L46 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 671 .loc 1 327 3 is_stmt 1 view .LVU229 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 672 .loc 1 330 3 view .LVU230 673 0012 2A68 ldr r2, [r5] 674 0014 1368 ldr r3, [r2] 675 0016 23F00103 bic r3, r3, #1 676 001a 1360 str r3, [r2] 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 677 .loc 1 333 3 view .LVU231 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 678 .loc 1 333 7 is_stmt 0 view .LVU232 679 001c 2B68 ldr r3, [r5] 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 680 .loc 1 333 24 view .LVU233 681 001e 0024 movs r4, #0 682 0020 1C60 str r4, [r3] 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 683 .loc 1 336 3 is_stmt 1 view .LVU234 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 684 .loc 1 336 7 is_stmt 0 view .LVU235 685 0022 2B68 ldr r3, [r5] 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 686 .loc 1 336 24 view .LVU236 687 0024 5C60 str r4, [r3, #4] 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 688 .loc 1 339 3 is_stmt 1 view .LVU237 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 689 .loc 1 339 7 is_stmt 0 view .LVU238 690 0026 2B68 ldr r3, [r5] 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 691 .loc 1 339 24 view .LVU239 692 0028 9C60 str r4, [r3, #8] 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 693 .loc 1 342 3 is_stmt 1 view .LVU240 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 694 .loc 1 342 7 is_stmt 0 view .LVU241 695 002a 2B68 ldr r3, [r5] 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 696 .loc 1 342 24 view .LVU242 697 002c DC60 str r4, [r3, #12] 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 698 .loc 1 345 3 is_stmt 1 view .LVU243 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 699 .loc 1 345 7 is_stmt 0 view .LVU244 700 002e 2B68 ldr r3, [r5] 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 39 701 .loc 1 345 24 view .LVU245 702 0030 1C61 str r4, [r3, #16] 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 703 .loc 1 348 3 is_stmt 1 view .LVU246 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 704 .loc 1 348 7 is_stmt 0 view .LVU247 705 0032 2B68 ldr r3, [r5] 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 706 .loc 1 348 24 view .LVU248 707 0034 2122 movs r2, #33 708 0036 5A61 str r2, [r3, #20] 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 709 .loc 1 351 3 is_stmt 1 view .LVU249 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 710 .loc 1 351 32 is_stmt 0 view .LVU250 711 0038 2846 mov r0, r5 712 003a FFF7FEFF bl DMA_CalcBaseAndBitshift 713 .LVL70: 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 714 .loc 1 354 3 is_stmt 1 view .LVU251 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 715 .loc 1 354 26 is_stmt 0 view .LVU252 716 003e EC63 str r4, [r5, #60] 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 717 .loc 1 355 3 is_stmt 1 view .LVU253 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 718 .loc 1 355 30 is_stmt 0 view .LVU254 719 0040 2C64 str r4, [r5, #64] 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 720 .loc 1 356 3 is_stmt 1 view .LVU255 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 721 .loc 1 356 28 is_stmt 0 view .LVU256 722 0042 6C64 str r4, [r5, #68] 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 723 .loc 1 357 3 is_stmt 1 view .LVU257 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 724 .loc 1 357 32 is_stmt 0 view .LVU258 725 0044 AC64 str r4, [r5, #72] 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 726 .loc 1 358 3 is_stmt 1 view .LVU259 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 727 .loc 1 358 27 is_stmt 0 view .LVU260 728 0046 EC64 str r4, [r5, #76] 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 729 .loc 1 359 3 is_stmt 1 view .LVU261 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 730 .loc 1 359 27 is_stmt 0 view .LVU262 731 0048 2C65 str r4, [r5, #80] 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 732 .loc 1 362 3 is_stmt 1 view .LVU263 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 733 .loc 1 362 29 is_stmt 0 view .LVU264 734 004a EA6D ldr r2, [r5, #92] 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 735 .loc 1 362 22 view .LVU265 736 004c 3F23 movs r3, #63 737 004e 9340 lsls r3, r3, r2 ARM GAS /tmp/cc3Ff6I4.s page 40 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 738 .loc 1 362 14 view .LVU266 739 0050 8360 str r3, [r0, #8] 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 740 .loc 1 365 3 is_stmt 1 view .LVU267 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 741 .loc 1 365 19 is_stmt 0 view .LVU268 742 0052 6C65 str r4, [r5, #84] 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 743 .loc 1 368 3 is_stmt 1 view .LVU269 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 744 .loc 1 368 15 is_stmt 0 view .LVU270 745 0054 85F83540 strb r4, [r5, #53] 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 746 .loc 1 371 3 is_stmt 1 view .LVU271 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 747 .loc 1 371 3 view .LVU272 748 0058 85F83440 strb r4, [r5, #52] 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 749 .loc 1 371 3 view .LVU273 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 750 .loc 1 373 3 view .LVU274 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 751 .loc 1 373 10 is_stmt 0 view .LVU275 752 005c 2046 mov r0, r4 753 .LVL71: 754 .L46: 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 755 .loc 1 374 1 view .LVU276 756 005e 38BD pop {r3, r4, r5, pc} 757 .LVL72: 758 .L47: 759 .LCFI8: 760 .cfi_def_cfa_offset 0 761 .cfi_restore 3 762 .cfi_restore 4 763 .cfi_restore 5 764 .cfi_restore 14 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 765 .loc 1 316 12 view .LVU277 766 0060 0120 movs r0, #1 767 .LVL73: 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 768 .loc 1 374 1 view .LVU278 769 0062 7047 bx lr 770 .cfi_endproc 771 .LFE135: 773 .section .text.HAL_DMA_Start,"ax",%progbits 774 .align 1 775 .global HAL_DMA_Start 776 .syntax unified 777 .thumb 778 .thumb_func 779 .fpu fpv4-sp-d16 781 HAL_DMA_Start: 782 .LVL74: 783 .LFB136: ARM GAS /tmp/cc3Ff6I4.s page 41 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 784 .loc 1 408 1 is_stmt 1 view -0 785 .cfi_startproc 786 @ args = 0, pretend = 0, frame = 0 787 @ frame_needed = 0, uses_anonymous_args = 0 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 788 .loc 1 408 1 is_stmt 0 view .LVU280 789 0000 38B5 push {r3, r4, r5, lr} 790 .LCFI9: 791 .cfi_def_cfa_offset 16 792 .cfi_offset 3, -16 793 .cfi_offset 4, -12 794 .cfi_offset 5, -8 795 .cfi_offset 14, -4 796 0002 0446 mov r4, r0 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 797 .loc 1 409 3 is_stmt 1 view .LVU281 798 .LVL75: 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 799 .loc 1 412 3 view .LVU282 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 800 .loc 1 415 3 view .LVU283 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 801 .loc 1 415 3 view .LVU284 802 0004 90F83400 ldrb r0, [r0, #52] @ zero_extendqisi2 803 .LVL76: 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 804 .loc 1 415 3 is_stmt 0 view .LVU285 805 0008 0128 cmp r0, #1 806 000a 1BD0 beq .L55 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 807 .loc 1 415 3 is_stmt 1 discriminator 2 view .LVU286 808 000c 0120 movs r0, #1 809 000e 84F83400 strb r0, [r4, #52] 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 810 .loc 1 415 3 discriminator 2 view .LVU287 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 811 .loc 1 417 3 discriminator 2 view .LVU288 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 812 .loc 1 417 33 is_stmt 0 discriminator 2 view .LVU289 813 0012 94F83500 ldrb r0, [r4, #53] @ zero_extendqisi2 814 0016 C0B2 uxtb r0, r0 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 815 .loc 1 417 5 discriminator 2 view .LVU290 816 0018 0128 cmp r0, #1 817 001a 04D0 beq .L57 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 818 .loc 1 434 5 is_stmt 1 view .LVU291 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 819 .loc 1 434 5 view .LVU292 820 001c 0023 movs r3, #0 821 .LVL77: 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 822 .loc 1 434 5 is_stmt 0 view .LVU293 823 001e 84F83430 strb r3, [r4, #52] 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 824 .loc 1 434 5 is_stmt 1 view .LVU294 ARM GAS /tmp/cc3Ff6I4.s page 42 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 825 .loc 1 437 5 view .LVU295 826 .LVL78: 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 827 .loc 1 437 12 is_stmt 0 view .LVU296 828 0022 0220 movs r0, #2 829 .LVL79: 830 .L53: 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 831 .loc 1 440 1 view .LVU297 832 0024 38BD pop {r3, r4, r5, pc} 833 .LVL80: 834 .L57: 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 835 .loc 1 420 5 is_stmt 1 view .LVU298 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 836 .loc 1 420 17 is_stmt 0 view .LVU299 837 0026 0220 movs r0, #2 838 0028 84F83500 strb r0, [r4, #53] 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 839 .loc 1 423 5 is_stmt 1 view .LVU300 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 840 .loc 1 423 21 is_stmt 0 view .LVU301 841 002c 0025 movs r5, #0 842 002e 6565 str r5, [r4, #84] 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 843 .loc 1 426 5 is_stmt 1 view .LVU302 844 0030 2046 mov r0, r4 845 0032 FFF7FEFF bl DMA_SetConfig 846 .LVL81: 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 847 .loc 1 429 5 view .LVU303 848 0036 2268 ldr r2, [r4] 849 0038 1368 ldr r3, [r2] 850 003a 43F00103 orr r3, r3, #1 851 003e 1360 str r3, [r2] 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 852 .loc 1 409 21 is_stmt 0 view .LVU304 853 0040 2846 mov r0, r5 854 0042 EFE7 b .L53 855 .LVL82: 856 .L55: 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 857 .loc 1 415 3 view .LVU305 858 0044 0220 movs r0, #2 859 0046 EDE7 b .L53 860 .cfi_endproc 861 .LFE136: 863 .section .text.HAL_DMA_Start_IT,"ax",%progbits 864 .align 1 865 .global HAL_DMA_Start_IT 866 .syntax unified 867 .thumb 868 .thumb_func 869 .fpu fpv4-sp-d16 871 HAL_DMA_Start_IT: 872 .LVL83: ARM GAS /tmp/cc3Ff6I4.s page 43 873 .LFB137: 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 874 .loc 1 452 1 is_stmt 1 view -0 875 .cfi_startproc 876 @ args = 0, pretend = 0, frame = 0 877 @ frame_needed = 0, uses_anonymous_args = 0 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 878 .loc 1 452 1 is_stmt 0 view .LVU307 879 0000 38B5 push {r3, r4, r5, lr} 880 .LCFI10: 881 .cfi_def_cfa_offset 16 882 .cfi_offset 3, -16 883 .cfi_offset 4, -12 884 .cfi_offset 5, -8 885 .cfi_offset 14, -4 886 0002 0446 mov r4, r0 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 887 .loc 1 453 3 is_stmt 1 view .LVU308 888 .LVL84: 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 889 .loc 1 456 3 view .LVU309 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 890 .loc 1 456 56 is_stmt 0 view .LVU310 891 0004 856D ldr r5, [r0, #88] 892 .LVL85: 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 893 .loc 1 459 3 is_stmt 1 view .LVU311 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 894 .loc 1 462 3 view .LVU312 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 895 .loc 1 462 3 view .LVU313 896 0006 90F83400 ldrb r0, [r0, #52] @ zero_extendqisi2 897 .LVL86: 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 898 .loc 1 462 3 is_stmt 0 view .LVU314 899 000a 0128 cmp r0, #1 900 000c 2BD0 beq .L62 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 901 .loc 1 462 3 is_stmt 1 discriminator 2 view .LVU315 902 000e 0120 movs r0, #1 903 0010 84F83400 strb r0, [r4, #52] 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 904 .loc 1 462 3 discriminator 2 view .LVU316 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 905 .loc 1 464 3 discriminator 2 view .LVU317 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 906 .loc 1 464 33 is_stmt 0 discriminator 2 view .LVU318 907 0014 94F83500 ldrb r0, [r4, #53] @ zero_extendqisi2 908 0018 C0B2 uxtb r0, r0 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 909 .loc 1 464 5 discriminator 2 view .LVU319 910 001a 0128 cmp r0, #1 911 001c 04D0 beq .L64 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 912 .loc 1 492 5 is_stmt 1 view .LVU320 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 913 .loc 1 492 5 view .LVU321 ARM GAS /tmp/cc3Ff6I4.s page 44 914 001e 0023 movs r3, #0 915 .LVL87: 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 916 .loc 1 492 5 is_stmt 0 view .LVU322 917 0020 84F83430 strb r3, [r4, #52] 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 918 .loc 1 492 5 is_stmt 1 view .LVU323 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 919 .loc 1 495 5 view .LVU324 920 .LVL88: 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 921 .loc 1 495 12 is_stmt 0 view .LVU325 922 0024 0220 movs r0, #2 923 .LVL89: 924 .L59: 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 925 .loc 1 499 1 view .LVU326 926 0026 38BD pop {r3, r4, r5, pc} 927 .LVL90: 928 .L64: 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 929 .loc 1 467 5 is_stmt 1 view .LVU327 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 930 .loc 1 467 17 is_stmt 0 view .LVU328 931 0028 0220 movs r0, #2 932 002a 84F83500 strb r0, [r4, #53] 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 933 .loc 1 470 5 is_stmt 1 view .LVU329 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 934 .loc 1 470 21 is_stmt 0 view .LVU330 935 002e 0020 movs r0, #0 936 0030 6065 str r0, [r4, #84] 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 937 .loc 1 473 5 is_stmt 1 view .LVU331 938 0032 2046 mov r0, r4 939 0034 FFF7FEFF bl DMA_SetConfig 940 .LVL91: 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 941 .loc 1 476 5 view .LVU332 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 942 .loc 1 476 31 is_stmt 0 view .LVU333 943 0038 E26D ldr r2, [r4, #92] 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 944 .loc 1 476 24 view .LVU334 945 003a 3F23 movs r3, #63 946 003c 9340 lsls r3, r3, r2 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 947 .loc 1 476 16 view .LVU335 948 003e AB60 str r3, [r5, #8] 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 949 .loc 1 479 5 is_stmt 1 view .LVU336 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 950 .loc 1 479 9 is_stmt 0 view .LVU337 951 0040 2268 ldr r2, [r4] 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 952 .loc 1 479 25 view .LVU338 953 0042 1368 ldr r3, [r2] ARM GAS /tmp/cc3Ff6I4.s page 45 954 0044 43F01603 orr r3, r3, #22 955 0048 1360 str r3, [r2] 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 956 .loc 1 481 5 is_stmt 1 view .LVU339 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 957 .loc 1 481 12 is_stmt 0 view .LVU340 958 004a 236C ldr r3, [r4, #64] 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 959 .loc 1 481 7 view .LVU341 960 004c 23B1 cbz r3, .L61 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 961 .loc 1 483 7 is_stmt 1 view .LVU342 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 962 .loc 1 483 11 is_stmt 0 view .LVU343 963 004e 2268 ldr r2, [r4] 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 964 .loc 1 483 27 view .LVU344 965 0050 1368 ldr r3, [r2] 966 0052 43F00803 orr r3, r3, #8 967 0056 1360 str r3, [r2] 968 .L61: 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 969 .loc 1 487 5 is_stmt 1 view .LVU345 970 0058 2268 ldr r2, [r4] 971 005a 1368 ldr r3, [r2] 972 005c 43F00103 orr r3, r3, #1 973 0060 1360 str r3, [r2] 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 974 .loc 1 453 21 is_stmt 0 view .LVU346 975 0062 0020 movs r0, #0 976 0064 DFE7 b .L59 977 .LVL92: 978 .L62: 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 979 .loc 1 462 3 view .LVU347 980 0066 0220 movs r0, #2 981 0068 DDE7 b .L59 982 .cfi_endproc 983 .LFE137: 985 .section .text.HAL_DMA_Abort,"ax",%progbits 986 .align 1 987 .global HAL_DMA_Abort 988 .syntax unified 989 .thumb 990 .thumb_func 991 .fpu fpv4-sp-d16 993 HAL_DMA_Abort: 994 .LVL93: 995 .LFB138: 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 996 .loc 1 514 1 is_stmt 1 view -0 997 .cfi_startproc 998 @ args = 0, pretend = 0, frame = 0 999 @ frame_needed = 0, uses_anonymous_args = 0 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */ 1000 .loc 1 514 1 is_stmt 0 view .LVU349 1001 0000 70B5 push {r4, r5, r6, lr} ARM GAS /tmp/cc3Ff6I4.s page 46 1002 .LCFI11: 1003 .cfi_def_cfa_offset 16 1004 .cfi_offset 4, -16 1005 .cfi_offset 5, -12 1006 .cfi_offset 6, -8 1007 .cfi_offset 14, -4 1008 0002 0446 mov r4, r0 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1009 .loc 1 516 3 is_stmt 1 view .LVU350 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1010 .loc 1 516 56 is_stmt 0 view .LVU351 1011 0004 866D ldr r6, [r0, #88] 1012 .LVL94: 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1013 .loc 1 518 3 is_stmt 1 view .LVU352 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1014 .loc 1 518 24 is_stmt 0 view .LVU353 1015 0006 FFF7FEFF bl HAL_GetTick 1016 .LVL95: 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1017 .loc 1 520 3 is_stmt 1 view .LVU354 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1018 .loc 1 520 10 is_stmt 0 view .LVU355 1019 000a 94F83530 ldrb r3, [r4, #53] @ zero_extendqisi2 1020 000e DBB2 uxtb r3, r3 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1021 .loc 1 520 5 view .LVU356 1022 0010 022B cmp r3, #2 1023 0012 06D0 beq .L66 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1024 .loc 1 522 5 is_stmt 1 view .LVU357 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1025 .loc 1 522 21 is_stmt 0 view .LVU358 1026 0014 8023 movs r3, #128 1027 0016 6365 str r3, [r4, #84] 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1028 .loc 1 525 5 is_stmt 1 view .LVU359 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1029 .loc 1 525 5 view .LVU360 1030 0018 0023 movs r3, #0 1031 001a 84F83430 strb r3, [r4, #52] 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1032 .loc 1 525 5 view .LVU361 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1033 .loc 1 527 5 view .LVU362 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1034 .loc 1 527 12 is_stmt 0 view .LVU363 1035 001e 0120 movs r0, #1 1036 .LVL96: 1037 .L67: 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1038 .loc 1 572 1 view .LVU364 1039 0020 70BD pop {r4, r5, r6, pc} 1040 .LVL97: 1041 .L66: 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1042 .loc 1 572 1 view .LVU365 ARM GAS /tmp/cc3Ff6I4.s page 47 1043 0022 0546 mov r5, r0 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 1044 .loc 1 532 5 is_stmt 1 view .LVU366 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 1045 .loc 1 532 9 is_stmt 0 view .LVU367 1046 0024 2268 ldr r2, [r4] 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 1047 .loc 1 532 25 view .LVU368 1048 0026 1368 ldr r3, [r2] 1049 0028 23F01603 bic r3, r3, #22 1050 002c 1360 str r3, [r2] 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1051 .loc 1 533 5 is_stmt 1 view .LVU369 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1052 .loc 1 533 9 is_stmt 0 view .LVU370 1053 002e 2268 ldr r2, [r4] 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1054 .loc 1 533 25 view .LVU371 1055 0030 5369 ldr r3, [r2, #20] 1056 0032 23F08003 bic r3, r3, #128 1057 0036 5361 str r3, [r2, #20] 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1058 .loc 1 535 5 is_stmt 1 view .LVU372 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1059 .loc 1 535 13 is_stmt 0 view .LVU373 1060 0038 236C ldr r3, [r4, #64] 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1061 .loc 1 535 7 view .LVU374 1062 003a E3B1 cbz r3, .L73 1063 .L68: 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1064 .loc 1 537 7 is_stmt 1 view .LVU375 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1065 .loc 1 537 11 is_stmt 0 view .LVU376 1066 003c 2268 ldr r2, [r4] 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1067 .loc 1 537 27 view .LVU377 1068 003e 1368 ldr r3, [r2] 1069 0040 23F00803 bic r3, r3, #8 1070 0044 1360 str r3, [r2] 1071 .L69: 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1072 .loc 1 541 5 is_stmt 1 view .LVU378 1073 0046 2268 ldr r2, [r4] 1074 0048 1368 ldr r3, [r2] 1075 004a 23F00103 bic r3, r3, #1 1076 004e 1360 str r3, [r2] 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1077 .loc 1 544 5 view .LVU379 1078 .LVL98: 1079 .L70: 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1080 .loc 1 544 10 view .LVU380 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1081 .loc 1 544 16 is_stmt 0 view .LVU381 1082 0050 2368 ldr r3, [r4] 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/cc3Ff6I4.s page 48 1083 .loc 1 544 26 view .LVU382 1084 0052 1B68 ldr r3, [r3] 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1085 .loc 1 544 10 view .LVU383 1086 0054 13F0010F tst r3, #1 1087 0058 11D0 beq .L74 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1088 .loc 1 547 7 is_stmt 1 view .LVU384 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1089 .loc 1 547 11 is_stmt 0 view .LVU385 1090 005a FFF7FEFF bl HAL_GetTick 1091 .LVL99: 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1092 .loc 1 547 25 view .LVU386 1093 005e 431B subs r3, r0, r5 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1094 .loc 1 547 9 view .LVU387 1095 0060 052B cmp r3, #5 1096 0062 F5D9 bls .L70 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1097 .loc 1 550 9 is_stmt 1 view .LVU388 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1098 .loc 1 550 25 is_stmt 0 view .LVU389 1099 0064 2023 movs r3, #32 1100 0066 6365 str r3, [r4, #84] 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1101 .loc 1 553 9 is_stmt 1 view .LVU390 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1102 .loc 1 553 21 is_stmt 0 view .LVU391 1103 0068 0320 movs r0, #3 1104 006a 84F83500 strb r0, [r4, #53] 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1105 .loc 1 556 9 is_stmt 1 view .LVU392 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1106 .loc 1 556 9 view .LVU393 1107 006e 0023 movs r3, #0 1108 0070 84F83430 strb r3, [r4, #52] 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1109 .loc 1 556 9 view .LVU394 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1110 .loc 1 558 9 view .LVU395 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1111 .loc 1 558 16 is_stmt 0 view .LVU396 1112 0074 D4E7 b .L67 1113 .LVL100: 1114 .L73: 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1115 .loc 1 535 53 discriminator 1 view .LVU397 1116 0076 A36C ldr r3, [r4, #72] 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1117 .loc 1 535 45 discriminator 1 view .LVU398 1118 0078 002B cmp r3, #0 1119 007a DFD1 bne .L68 1120 007c E3E7 b .L69 1121 .LVL101: 1122 .L74: 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 49 1123 .loc 1 563 5 is_stmt 1 view .LVU399 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1124 .loc 1 563 31 is_stmt 0 view .LVU400 1125 007e E26D ldr r2, [r4, #92] 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1126 .loc 1 563 24 view .LVU401 1127 0080 3F23 movs r3, #63 1128 0082 9340 lsls r3, r3, r2 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1129 .loc 1 563 16 view .LVU402 1130 0084 B360 str r3, [r6, #8] 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1131 .loc 1 566 5 is_stmt 1 view .LVU403 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1132 .loc 1 566 17 is_stmt 0 view .LVU404 1133 0086 0123 movs r3, #1 1134 0088 84F83530 strb r3, [r4, #53] 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1135 .loc 1 569 5 is_stmt 1 view .LVU405 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1136 .loc 1 569 5 view .LVU406 1137 008c 0020 movs r0, #0 1138 008e 84F83400 strb r0, [r4, #52] 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1139 .loc 1 569 5 view .LVU407 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1140 .loc 1 571 3 view .LVU408 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1141 .loc 1 571 10 is_stmt 0 view .LVU409 1142 0092 C5E7 b .L67 1143 .cfi_endproc 1144 .LFE138: 1146 .section .text.HAL_DMA_Abort_IT,"ax",%progbits 1147 .align 1 1148 .global HAL_DMA_Abort_IT 1149 .syntax unified 1150 .thumb 1151 .thumb_func 1152 .fpu fpv4-sp-d16 1154 HAL_DMA_Abort_IT: 1155 .LVL102: 1156 .LFB139: 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY) 1157 .loc 1 581 1 is_stmt 1 view -0 1158 .cfi_startproc 1159 @ args = 0, pretend = 0, frame = 0 1160 @ frame_needed = 0, uses_anonymous_args = 0 1161 @ link register save eliminated. 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1162 .loc 1 582 3 view .LVU411 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1163 .loc 1 582 10 is_stmt 0 view .LVU412 1164 0000 90F83530 ldrb r3, [r0, #53] @ zero_extendqisi2 1165 0004 DBB2 uxtb r3, r3 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1166 .loc 1 582 5 view .LVU413 1167 0006 022B cmp r3, #2 ARM GAS /tmp/cc3Ff6I4.s page 50 1168 0008 03D0 beq .L76 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1169 .loc 1 584 5 is_stmt 1 view .LVU414 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1170 .loc 1 584 21 is_stmt 0 view .LVU415 1171 000a 8023 movs r3, #128 1172 000c 4365 str r3, [r0, #84] 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1173 .loc 1 585 5 is_stmt 1 view .LVU416 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1174 .loc 1 585 12 is_stmt 0 view .LVU417 1175 000e 0120 movs r0, #1 1176 .LVL103: 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1177 .loc 1 585 12 view .LVU418 1178 0010 7047 bx lr 1179 .LVL104: 1180 .L76: 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1181 .loc 1 590 5 is_stmt 1 view .LVU419 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1182 .loc 1 590 17 is_stmt 0 view .LVU420 1183 0012 0523 movs r3, #5 1184 0014 80F83530 strb r3, [r0, #53] 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1185 .loc 1 593 5 is_stmt 1 view .LVU421 1186 0018 0268 ldr r2, [r0] 1187 001a 1368 ldr r3, [r2] 1188 001c 23F00103 bic r3, r3, #1 1189 0020 1360 str r3, [r2] 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1190 .loc 1 596 3 view .LVU422 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1191 .loc 1 596 10 is_stmt 0 view .LVU423 1192 0022 0020 movs r0, #0 1193 .LVL105: 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1194 .loc 1 597 1 view .LVU424 1195 0024 7047 bx lr 1196 .cfi_endproc 1197 .LFE139: 1199 .section .text.HAL_DMA_PollForTransfer,"ax",%progbits 1200 .align 1 1201 .global HAL_DMA_PollForTransfer 1202 .syntax unified 1203 .thumb 1204 .thumb_func 1205 .fpu fpv4-sp-d16 1207 HAL_DMA_PollForTransfer: 1208 .LVL106: 1209 .LFB140: 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 1210 .loc 1 611 1 is_stmt 1 view -0 1211 .cfi_startproc 1212 @ args = 0, pretend = 0, frame = 0 1213 @ frame_needed = 0, uses_anonymous_args = 0 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; ARM GAS /tmp/cc3Ff6I4.s page 51 1214 .loc 1 611 1 is_stmt 0 view .LVU426 1215 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 1216 .LCFI12: 1217 .cfi_def_cfa_offset 32 1218 .cfi_offset 4, -32 1219 .cfi_offset 5, -28 1220 .cfi_offset 6, -24 1221 .cfi_offset 7, -20 1222 .cfi_offset 8, -16 1223 .cfi_offset 9, -12 1224 .cfi_offset 10, -8 1225 .cfi_offset 14, -4 1226 0004 0446 mov r4, r0 1227 0006 8846 mov r8, r1 1228 0008 1646 mov r6, r2 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t mask_cpltlevel; 1229 .loc 1 612 3 is_stmt 1 view .LVU427 1230 .LVL107: 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick(); 1231 .loc 1 613 3 view .LVU428 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr; 1232 .loc 1 614 3 view .LVU429 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr; 1233 .loc 1 614 24 is_stmt 0 view .LVU430 1234 000a FFF7FEFF bl HAL_GetTick 1235 .LVL108: 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1236 .loc 1 615 3 is_stmt 1 view .LVU431 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1237 .loc 1 618 3 view .LVU432 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1238 .loc 1 620 3 view .LVU433 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1239 .loc 1 620 32 is_stmt 0 view .LVU434 1240 000e 94F83530 ldrb r3, [r4, #53] @ zero_extendqisi2 1241 0012 DBB2 uxtb r3, r3 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1242 .loc 1 620 5 view .LVU435 1243 0014 022B cmp r3, #2 1244 0016 07D0 beq .L79 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 1245 .loc 1 623 5 is_stmt 1 view .LVU436 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 1246 .loc 1 623 21 is_stmt 0 view .LVU437 1247 0018 8023 movs r3, #128 1248 001a 6365 str r3, [r4, #84] 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1249 .loc 1 624 5 is_stmt 1 view .LVU438 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1250 .loc 1 624 5 view .LVU439 1251 001c 0023 movs r3, #0 1252 001e 84F83430 strb r3, [r4, #52] 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1253 .loc 1 624 5 view .LVU440 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1254 .loc 1 625 5 view .LVU441 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS /tmp/cc3Ff6I4.s page 52 1255 .loc 1 625 12 is_stmt 0 view .LVU442 1256 0022 0120 movs r0, #1 1257 .LVL109: 1258 .L80: 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1259 .loc 1 738 1 view .LVU443 1260 0024 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1261 .LVL110: 1262 .L79: 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1263 .loc 1 738 1 view .LVU444 1264 0028 8146 mov r9, r0 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1265 .loc 1 629 3 is_stmt 1 view .LVU445 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1266 .loc 1 629 12 is_stmt 0 view .LVU446 1267 002a 2368 ldr r3, [r4] 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1268 .loc 1 629 22 view .LVU447 1269 002c 1B68 ldr r3, [r3] 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1270 .loc 1 629 6 view .LVU448 1271 002e 13F4807F tst r3, #256 1272 0032 3BD1 bne .L95 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1273 .loc 1 636 3 is_stmt 1 view .LVU449 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1274 .loc 1 636 5 is_stmt 0 view .LVU450 1275 0034 B8F1000F cmp r8, #0 1276 0038 3DD1 bne .L82 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1277 .loc 1 639 5 is_stmt 1 view .LVU451 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1278 .loc 1 639 46 is_stmt 0 view .LVU452 1279 003a E36D ldr r3, [r4, #92] 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1280 .loc 1 639 20 view .LVU453 1281 003c 4FF0200A mov r10, #32 1282 0040 0AFA03FA lsl r10, r10, r3 1283 .LVL111: 1284 .L83: 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 1285 .loc 1 647 3 is_stmt 1 view .LVU454 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 1286 .loc 1 647 36 is_stmt 0 view .LVU455 1287 0044 A76D ldr r7, [r4, #88] 1288 .LVL112: 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1289 .loc 1 648 3 is_stmt 1 view .LVU456 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1290 .loc 1 648 10 is_stmt 0 view .LVU457 1291 0046 3B68 ldr r3, [r7] 1292 .LVL113: 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1293 .loc 1 650 3 is_stmt 1 view .LVU458 1294 .L84: 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/cc3Ff6I4.s page 53 1295 .loc 1 650 8 view .LVU459 1296 0048 1AEA030F tst r10, r3 1297 004c 43D1 bne .L90 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1298 .loc 1 650 55 is_stmt 0 discriminator 1 view .LVU460 1299 004e 636D ldr r3, [r4, #84] 1300 .LVL114: 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1301 .loc 1 650 46 discriminator 1 view .LVU461 1302 0050 13F0010F tst r3, #1 1303 0054 3FD1 bne .L90 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1304 .loc 1 653 5 is_stmt 1 view .LVU462 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1305 .loc 1 653 7 is_stmt 0 view .LVU463 1306 0056 B6F1FF3F cmp r6, #-1 1307 005a 07D0 beq .L85 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1308 .loc 1 655 7 is_stmt 1 view .LVU464 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1309 .loc 1 655 9 is_stmt 0 view .LVU465 1310 005c 002E cmp r6, #0 1311 005e 30D0 beq .L86 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1312 .loc 1 655 29 discriminator 1 view .LVU466 1313 0060 FFF7FEFF bl HAL_GetTick 1314 .LVL115: 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1315 .loc 1 655 43 discriminator 1 view .LVU467 1316 0064 A0EB0900 sub r0, r0, r9 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1317 .loc 1 655 25 discriminator 1 view .LVU468 1318 0068 B042 cmp r0, r6 1319 006a 2AD8 bhi .L86 1320 .L85: 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1321 .loc 1 671 5 is_stmt 1 view .LVU469 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1322 .loc 1 671 12 is_stmt 0 view .LVU470 1323 006c 3B68 ldr r3, [r7] 1324 .LVL116: 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1325 .loc 1 673 5 is_stmt 1 view .LVU471 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1326 .loc 1 673 43 is_stmt 0 view .LVU472 1327 006e E16D ldr r1, [r4, #92] 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1328 .loc 1 673 36 view .LVU473 1329 0070 0822 movs r2, #8 1330 0072 8A40 lsls r2, r2, r1 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1331 .loc 1 673 7 view .LVU474 1332 0074 1A42 tst r2, r3 1333 0076 04D0 beq .L87 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1334 .loc 1 676 7 is_stmt 1 view .LVU475 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 54 1335 .loc 1 676 23 is_stmt 0 view .LVU476 1336 0078 616D ldr r1, [r4, #84] 1337 007a 41F00101 orr r1, r1, #1 1338 007e 6165 str r1, [r4, #84] 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1339 .loc 1 679 7 is_stmt 1 view .LVU477 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1340 .loc 1 679 18 is_stmt 0 view .LVU478 1341 0080 BA60 str r2, [r7, #8] 1342 .L87: 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1343 .loc 1 682 5 is_stmt 1 view .LVU479 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1344 .loc 1 682 43 is_stmt 0 view .LVU480 1345 0082 E16D ldr r1, [r4, #92] 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1346 .loc 1 682 36 view .LVU481 1347 0084 0122 movs r2, #1 1348 0086 8A40 lsls r2, r2, r1 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1349 .loc 1 682 7 view .LVU482 1350 0088 1A42 tst r2, r3 1351 008a 04D0 beq .L88 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1352 .loc 1 685 7 is_stmt 1 view .LVU483 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1353 .loc 1 685 23 is_stmt 0 view .LVU484 1354 008c 616D ldr r1, [r4, #84] 1355 008e 41F00201 orr r1, r1, #2 1356 0092 6165 str r1, [r4, #84] 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1357 .loc 1 688 7 is_stmt 1 view .LVU485 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1358 .loc 1 688 18 is_stmt 0 view .LVU486 1359 0094 BA60 str r2, [r7, #8] 1360 .L88: 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1361 .loc 1 691 5 is_stmt 1 view .LVU487 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1362 .loc 1 691 44 is_stmt 0 view .LVU488 1363 0096 E26D ldr r2, [r4, #92] 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1364 .loc 1 691 37 view .LVU489 1365 0098 0425 movs r5, #4 1366 009a 9540 lsls r5, r5, r2 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1367 .loc 1 691 7 view .LVU490 1368 009c 1D42 tst r5, r3 1369 009e D3D0 beq .L84 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1370 .loc 1 694 7 is_stmt 1 view .LVU491 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1371 .loc 1 694 23 is_stmt 0 view .LVU492 1372 00a0 626D ldr r2, [r4, #84] 1373 00a2 42F00402 orr r2, r2, #4 1374 00a6 6265 str r2, [r4, #84] 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS /tmp/cc3Ff6I4.s page 55 1375 .loc 1 697 7 is_stmt 1 view .LVU493 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1376 .loc 1 697 18 is_stmt 0 view .LVU494 1377 00a8 BD60 str r5, [r7, #8] 1378 00aa CDE7 b .L84 1379 .LVL117: 1380 .L95: 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1381 .loc 1 631 5 is_stmt 1 view .LVU495 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1382 .loc 1 631 21 is_stmt 0 view .LVU496 1383 00ac 4FF48073 mov r3, #256 1384 00b0 6365 str r3, [r4, #84] 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1385 .loc 1 632 5 is_stmt 1 view .LVU497 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1386 .loc 1 632 12 is_stmt 0 view .LVU498 1387 00b2 0120 movs r0, #1 1388 .LVL118: 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1389 .loc 1 632 12 view .LVU499 1390 00b4 B6E7 b .L80 1391 .LVL119: 1392 .L82: 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1393 .loc 1 644 5 is_stmt 1 view .LVU500 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1394 .loc 1 644 46 is_stmt 0 view .LVU501 1395 00b6 E36D ldr r3, [r4, #92] 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1396 .loc 1 644 20 view .LVU502 1397 00b8 4FF0100A mov r10, #16 1398 00bc 0AFA03FA lsl r10, r10, r3 1399 .LVL120: 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1400 .loc 1 644 20 view .LVU503 1401 00c0 C0E7 b .L83 1402 .LVL121: 1403 .L86: 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1404 .loc 1 658 9 is_stmt 1 view .LVU504 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1405 .loc 1 658 25 is_stmt 0 view .LVU505 1406 00c2 2023 movs r3, #32 1407 00c4 6365 str r3, [r4, #84] 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1408 .loc 1 661 9 is_stmt 1 view .LVU506 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1409 .loc 1 661 21 is_stmt 0 view .LVU507 1410 00c6 0123 movs r3, #1 1411 00c8 84F83530 strb r3, [r4, #53] 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1412 .loc 1 664 9 is_stmt 1 view .LVU508 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1413 .loc 1 664 9 view .LVU509 1414 00cc 0023 movs r3, #0 1415 00ce 84F83430 strb r3, [r4, #52] ARM GAS /tmp/cc3Ff6I4.s page 56 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1416 .loc 1 664 9 view .LVU510 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1417 .loc 1 666 9 view .LVU511 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1418 .loc 1 666 16 is_stmt 0 view .LVU512 1419 00d2 0320 movs r0, #3 1420 00d4 A6E7 b .L80 1421 .L90: 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1422 .loc 1 701 3 is_stmt 1 view .LVU513 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1423 .loc 1 701 10 is_stmt 0 view .LVU514 1424 00d6 636D ldr r3, [r4, #84] 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1425 .loc 1 701 5 view .LVU515 1426 00d8 1BB1 cbz r3, .L92 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1427 .loc 1 703 5 is_stmt 1 view .LVU516 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1428 .loc 1 703 13 is_stmt 0 view .LVU517 1429 00da 636D ldr r3, [r4, #84] 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1430 .loc 1 703 7 view .LVU518 1431 00dc 13F0010F tst r3, #1 1432 00e0 0ED1 bne .L96 1433 .L92: 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1434 .loc 1 721 3 is_stmt 1 view .LVU519 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1435 .loc 1 721 5 is_stmt 0 view .LVU520 1436 00e2 B8F1000F cmp r8, #0 1437 00e6 19D1 bne .L93 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1438 .loc 1 724 5 is_stmt 1 view .LVU521 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1439 .loc 1 724 63 is_stmt 0 view .LVU522 1440 00e8 E26D ldr r2, [r4, #92] 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1441 .loc 1 724 56 view .LVU523 1442 00ea 3023 movs r3, #48 1443 00ec 9340 lsls r3, r3, r2 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1444 .loc 1 724 16 view .LVU524 1445 00ee BB60 str r3, [r7, #8] 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1446 .loc 1 726 5 is_stmt 1 view .LVU525 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1447 .loc 1 726 17 is_stmt 0 view .LVU526 1448 00f0 0123 movs r3, #1 1449 00f2 84F83530 strb r3, [r4, #53] 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1450 .loc 1 729 5 is_stmt 1 view .LVU527 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1451 .loc 1 729 5 view .LVU528 1452 00f6 0023 movs r3, #0 1453 00f8 84F83430 strb r3, [r4, #52] ARM GAS /tmp/cc3Ff6I4.s page 57 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1454 .loc 1 729 5 view .LVU529 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1455 .loc 1 737 10 is_stmt 0 view .LVU530 1456 00fc 4046 mov r0, r8 1457 00fe 91E7 b .L80 1458 .L96: 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1459 .loc 1 705 7 is_stmt 1 view .LVU531 1460 0100 2046 mov r0, r4 1461 0102 FFF7FEFF bl HAL_DMA_Abort 1462 .LVL122: 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1463 .loc 1 708 7 view .LVU532 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1464 .loc 1 708 65 is_stmt 0 view .LVU533 1465 0106 E26D ldr r2, [r4, #92] 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1466 .loc 1 708 58 view .LVU534 1467 0108 3023 movs r3, #48 1468 010a 9340 lsls r3, r3, r2 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1469 .loc 1 708 18 view .LVU535 1470 010c BB60 str r3, [r7, #8] 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1471 .loc 1 711 7 is_stmt 1 view .LVU536 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1472 .loc 1 711 18 is_stmt 0 view .LVU537 1473 010e 0120 movs r0, #1 1474 0110 84F83500 strb r0, [r4, #53] 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1475 .loc 1 714 7 is_stmt 1 view .LVU538 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1476 .loc 1 714 7 view .LVU539 1477 0114 0023 movs r3, #0 1478 0116 84F83430 strb r3, [r4, #52] 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1479 .loc 1 714 7 view .LVU540 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1480 .loc 1 716 7 view .LVU541 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1481 .loc 1 716 14 is_stmt 0 view .LVU542 1482 011a 83E7 b .L80 1483 .L93: 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1484 .loc 1 734 5 is_stmt 1 view .LVU543 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1485 .loc 1 734 44 is_stmt 0 view .LVU544 1486 011c E26D ldr r2, [r4, #92] 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1487 .loc 1 734 37 view .LVU545 1488 011e 1023 movs r3, #16 1489 0120 9340 lsls r3, r3, r2 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1490 .loc 1 734 16 view .LVU546 1491 0122 BB60 str r3, [r7, #8] 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS /tmp/cc3Ff6I4.s page 58 1492 .loc 1 737 10 view .LVU547 1493 0124 0020 movs r0, #0 1494 0126 7DE7 b .L80 1495 .cfi_endproc 1496 .LFE140: 1498 .section .text.HAL_DMA_IRQHandler,"ax",%progbits 1499 .align 1 1500 .global HAL_DMA_IRQHandler 1501 .syntax unified 1502 .thumb 1503 .thumb_func 1504 .fpu fpv4-sp-d16 1506 HAL_DMA_IRQHandler: 1507 .LVL123: 1508 .LFB141: 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr; 1509 .loc 1 747 1 is_stmt 1 view -0 1510 .cfi_startproc 1511 @ args = 0, pretend = 0, frame = 8 1512 @ frame_needed = 0, uses_anonymous_args = 0 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr; 1513 .loc 1 747 1 is_stmt 0 view .LVU549 1514 0000 F0B5 push {r4, r5, r6, r7, lr} 1515 .LCFI13: 1516 .cfi_def_cfa_offset 20 1517 .cfi_offset 4, -20 1518 .cfi_offset 5, -16 1519 .cfi_offset 6, -12 1520 .cfi_offset 7, -8 1521 .cfi_offset 14, -4 1522 0002 83B0 sub sp, sp, #12 1523 .LCFI14: 1524 .cfi_def_cfa_offset 32 1525 0004 0446 mov r4, r0 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t count = 0U; 1526 .loc 1 748 3 is_stmt 1 view .LVU550 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U; 1527 .loc 1 749 3 view .LVU551 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U; 1528 .loc 1 749 17 is_stmt 0 view .LVU552 1529 0006 0023 movs r3, #0 1530 0008 0193 str r3, [sp, #4] 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1531 .loc 1 750 3 is_stmt 1 view .LVU553 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1532 .loc 1 750 38 is_stmt 0 view .LVU554 1533 000a 724B ldr r3, .L120 1534 000c 1D68 ldr r5, [r3] 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1535 .loc 1 750 12 view .LVU555 1536 000e 724B ldr r3, .L120+4 1537 0010 A3FB0535 umull r3, r5, r3, r5 1538 0014 AD0A lsrs r5, r5, #10 1539 .LVL124: 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1540 .loc 1 753 3 is_stmt 1 view .LVU556 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS /tmp/cc3Ff6I4.s page 59 1541 .loc 1 753 56 is_stmt 0 view .LVU557 1542 0016 876D ldr r7, [r0, #88] 1543 .LVL125: 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1544 .loc 1 755 3 is_stmt 1 view .LVU558 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1545 .loc 1 755 10 is_stmt 0 view .LVU559 1546 0018 3E68 ldr r6, [r7] 1547 .LVL126: 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1548 .loc 1 758 3 is_stmt 1 view .LVU560 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1549 .loc 1 758 42 is_stmt 0 view .LVU561 1550 001a C26D ldr r2, [r0, #92] 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1551 .loc 1 758 35 view .LVU562 1552 001c 0823 movs r3, #8 1553 001e 9340 lsls r3, r3, r2 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1554 .loc 1 758 6 view .LVU563 1555 0020 3342 tst r3, r6 1556 0022 10D0 beq .L98 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1557 .loc 1 760 5 is_stmt 1 view .LVU564 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1558 .loc 1 760 8 is_stmt 0 view .LVU565 1559 0024 0368 ldr r3, [r0] 1560 0026 1A68 ldr r2, [r3] 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1561 .loc 1 760 7 view .LVU566 1562 0028 12F0040F tst r2, #4 1563 002c 0BD0 beq .L98 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1564 .loc 1 763 7 is_stmt 1 view .LVU567 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1565 .loc 1 763 27 is_stmt 0 view .LVU568 1566 002e 1A68 ldr r2, [r3] 1567 0030 22F00402 bic r2, r2, #4 1568 0034 1A60 str r2, [r3] 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1569 .loc 1 766 7 is_stmt 1 view .LVU569 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1570 .loc 1 766 44 is_stmt 0 view .LVU570 1571 0036 C26D ldr r2, [r0, #92] 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1572 .loc 1 766 37 view .LVU571 1573 0038 0823 movs r3, #8 1574 003a 9340 lsls r3, r3, r2 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1575 .loc 1 766 18 view .LVU572 1576 003c BB60 str r3, [r7, #8] 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1577 .loc 1 769 7 is_stmt 1 view .LVU573 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1578 .loc 1 769 23 is_stmt 0 view .LVU574 1579 003e 436D ldr r3, [r0, #84] 1580 0040 43F00103 orr r3, r3, #1 ARM GAS /tmp/cc3Ff6I4.s page 60 1581 0044 4365 str r3, [r0, #84] 1582 .L98: 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1583 .loc 1 773 3 is_stmt 1 view .LVU575 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1584 .loc 1 773 42 is_stmt 0 view .LVU576 1585 0046 E26D ldr r2, [r4, #92] 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1586 .loc 1 773 35 view .LVU577 1587 0048 0123 movs r3, #1 1588 004a 9340 lsls r3, r3, r2 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1589 .loc 1 773 6 view .LVU578 1590 004c 3342 tst r3, r6 1591 004e 09D0 beq .L99 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1592 .loc 1 775 5 is_stmt 1 view .LVU579 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1593 .loc 1 775 8 is_stmt 0 view .LVU580 1594 0050 2268 ldr r2, [r4] 1595 0052 5269 ldr r2, [r2, #20] 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1596 .loc 1 775 7 view .LVU581 1597 0054 12F0800F tst r2, #128 1598 0058 04D0 beq .L99 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1599 .loc 1 778 7 is_stmt 1 view .LVU582 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1600 .loc 1 778 18 is_stmt 0 view .LVU583 1601 005a BB60 str r3, [r7, #8] 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1602 .loc 1 781 7 is_stmt 1 view .LVU584 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1603 .loc 1 781 23 is_stmt 0 view .LVU585 1604 005c 636D ldr r3, [r4, #84] 1605 005e 43F00203 orr r3, r3, #2 1606 0062 6365 str r3, [r4, #84] 1607 .L99: 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1608 .loc 1 785 3 is_stmt 1 view .LVU586 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1609 .loc 1 785 43 is_stmt 0 view .LVU587 1610 0064 E26D ldr r2, [r4, #92] 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1611 .loc 1 785 36 view .LVU588 1612 0066 0423 movs r3, #4 1613 0068 9340 lsls r3, r3, r2 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1614 .loc 1 785 6 view .LVU589 1615 006a 3342 tst r3, r6 1616 006c 09D0 beq .L100 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1617 .loc 1 787 5 is_stmt 1 view .LVU590 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1618 .loc 1 787 8 is_stmt 0 view .LVU591 1619 006e 2268 ldr r2, [r4] 1620 0070 1268 ldr r2, [r2] ARM GAS /tmp/cc3Ff6I4.s page 61 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1621 .loc 1 787 7 view .LVU592 1622 0072 12F0020F tst r2, #2 1623 0076 04D0 beq .L100 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1624 .loc 1 790 7 is_stmt 1 view .LVU593 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1625 .loc 1 790 18 is_stmt 0 view .LVU594 1626 0078 BB60 str r3, [r7, #8] 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1627 .loc 1 793 7 is_stmt 1 view .LVU595 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1628 .loc 1 793 23 is_stmt 0 view .LVU596 1629 007a 636D ldr r3, [r4, #84] 1630 007c 43F00403 orr r3, r3, #4 1631 0080 6365 str r3, [r4, #84] 1632 .L100: 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1633 .loc 1 797 3 is_stmt 1 view .LVU597 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1634 .loc 1 797 42 is_stmt 0 view .LVU598 1635 0082 E26D ldr r2, [r4, #92] 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1636 .loc 1 797 35 view .LVU599 1637 0084 1023 movs r3, #16 1638 0086 9340 lsls r3, r3, r2 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1639 .loc 1 797 6 view .LVU600 1640 0088 3342 tst r3, r6 1641 008a 24D0 beq .L101 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1642 .loc 1 799 5 is_stmt 1 view .LVU601 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1643 .loc 1 799 8 is_stmt 0 view .LVU602 1644 008c 2268 ldr r2, [r4] 1645 008e 1268 ldr r2, [r2] 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1646 .loc 1 799 7 view .LVU603 1647 0090 12F0080F tst r2, #8 1648 0094 1FD0 beq .L101 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1649 .loc 1 802 7 is_stmt 1 view .LVU604 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1650 .loc 1 802 18 is_stmt 0 view .LVU605 1651 0096 BB60 str r3, [r7, #8] 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1652 .loc 1 805 7 is_stmt 1 view .LVU606 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1653 .loc 1 805 16 is_stmt 0 view .LVU607 1654 0098 2368 ldr r3, [r4] 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1655 .loc 1 805 26 view .LVU608 1656 009a 1A68 ldr r2, [r3] 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1657 .loc 1 805 9 view .LVU609 1658 009c 12F4802F tst r2, #262144 1659 00a0 0DD0 beq .L102 ARM GAS /tmp/cc3Ff6I4.s page 62 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1660 .loc 1 808 9 is_stmt 1 view .LVU610 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1661 .loc 1 808 27 is_stmt 0 view .LVU611 1662 00a2 1B68 ldr r3, [r3] 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1663 .loc 1 808 11 view .LVU612 1664 00a4 13F4002F tst r3, #524288 1665 00a8 04D1 bne .L103 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1666 .loc 1 810 11 is_stmt 1 view .LVU613 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1667 .loc 1 810 18 is_stmt 0 view .LVU614 1668 00aa 236C ldr r3, [r4, #64] 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1669 .loc 1 810 13 view .LVU615 1670 00ac 9BB1 cbz r3, .L101 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1671 .loc 1 813 13 is_stmt 1 view .LVU616 1672 00ae 2046 mov r0, r4 1673 .LVL127: 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1674 .loc 1 813 13 is_stmt 0 view .LVU617 1675 00b0 9847 blx r3 1676 .LVL128: 1677 00b2 10E0 b .L101 1678 .LVL129: 1679 .L103: 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1680 .loc 1 819 11 is_stmt 1 view .LVU618 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1681 .loc 1 819 18 is_stmt 0 view .LVU619 1682 00b4 A36C ldr r3, [r4, #72] 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1683 .loc 1 819 13 view .LVU620 1684 00b6 73B1 cbz r3, .L101 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1685 .loc 1 822 13 is_stmt 1 view .LVU621 1686 00b8 2046 mov r0, r4 1687 .LVL130: 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1688 .loc 1 822 13 is_stmt 0 view .LVU622 1689 00ba 9847 blx r3 1690 .LVL131: 1691 00bc 0BE0 b .L101 1692 .LVL132: 1693 .L102: 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1694 .loc 1 829 9 is_stmt 1 view .LVU623 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1695 .loc 1 829 27 is_stmt 0 view .LVU624 1696 00be 1A68 ldr r2, [r3] 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1697 .loc 1 829 11 view .LVU625 1698 00c0 12F4807F tst r2, #256 1699 00c4 03D1 bne .L104 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS /tmp/cc3Ff6I4.s page 63 1700 .loc 1 832 11 is_stmt 1 view .LVU626 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1701 .loc 1 832 31 is_stmt 0 view .LVU627 1702 00c6 1A68 ldr r2, [r3] 1703 00c8 22F00802 bic r2, r2, #8 1704 00cc 1A60 str r2, [r3] 1705 .L104: 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1706 .loc 1 835 9 is_stmt 1 view .LVU628 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1707 .loc 1 835 16 is_stmt 0 view .LVU629 1708 00ce 236C ldr r3, [r4, #64] 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1709 .loc 1 835 11 view .LVU630 1710 00d0 0BB1 cbz r3, .L101 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1711 .loc 1 838 11 is_stmt 1 view .LVU631 1712 00d2 2046 mov r0, r4 1713 .LVL133: 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1714 .loc 1 838 11 is_stmt 0 view .LVU632 1715 00d4 9847 blx r3 1716 .LVL134: 1717 .L101: 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1718 .loc 1 844 3 is_stmt 1 view .LVU633 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1719 .loc 1 844 42 is_stmt 0 view .LVU634 1720 00d6 E26D ldr r2, [r4, #92] 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1721 .loc 1 844 35 view .LVU635 1722 00d8 2023 movs r3, #32 1723 00da 9340 lsls r3, r3, r2 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1724 .loc 1 844 6 view .LVU636 1725 00dc 3342 tst r3, r6 1726 00de 55D0 beq .L105 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1727 .loc 1 846 5 is_stmt 1 view .LVU637 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1728 .loc 1 846 8 is_stmt 0 view .LVU638 1729 00e0 2268 ldr r2, [r4] 1730 00e2 1268 ldr r2, [r2] 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1731 .loc 1 846 7 view .LVU639 1732 00e4 12F0100F tst r2, #16 1733 00e8 50D0 beq .L105 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1734 .loc 1 849 7 is_stmt 1 view .LVU640 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1735 .loc 1 849 18 is_stmt 0 view .LVU641 1736 00ea BB60 str r3, [r7, #8] 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1737 .loc 1 851 7 is_stmt 1 view .LVU642 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1738 .loc 1 851 37 is_stmt 0 view .LVU643 1739 00ec 94F83530 ldrb r3, [r4, #53] @ zero_extendqisi2 ARM GAS /tmp/cc3Ff6I4.s page 64 1740 00f0 DBB2 uxtb r3, r3 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1741 .loc 1 851 9 view .LVU644 1742 00f2 052B cmp r3, #5 1743 00f4 0ED0 beq .L118 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1744 .loc 1 878 7 is_stmt 1 view .LVU645 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1745 .loc 1 878 16 is_stmt 0 view .LVU646 1746 00f6 2368 ldr r3, [r4] 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1747 .loc 1 878 26 view .LVU647 1748 00f8 1A68 ldr r2, [r3] 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1749 .loc 1 878 9 view .LVU648 1750 00fa 12F4802F tst r2, #262144 1751 00fe 33D0 beq .L111 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1752 .loc 1 881 9 is_stmt 1 view .LVU649 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1753 .loc 1 881 27 is_stmt 0 view .LVU650 1754 0100 1B68 ldr r3, [r3] 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1755 .loc 1 881 11 view .LVU651 1756 0102 13F4002F tst r3, #524288 1757 0106 2AD1 bne .L112 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1758 .loc 1 883 11 is_stmt 1 view .LVU652 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1759 .loc 1 883 18 is_stmt 0 view .LVU653 1760 0108 636C ldr r3, [r4, #68] 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1761 .loc 1 883 13 view .LVU654 1762 010a 002B cmp r3, #0 1763 010c 3ED0 beq .L105 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1764 .loc 1 886 13 is_stmt 1 view .LVU655 1765 010e 2046 mov r0, r4 1766 0110 9847 blx r3 1767 .LVL135: 1768 0112 3BE0 b .L105 1769 .L118: 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 1770 .loc 1 854 9 view .LVU656 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 1771 .loc 1 854 13 is_stmt 0 view .LVU657 1772 0114 2268 ldr r2, [r4] 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 1773 .loc 1 854 29 view .LVU658 1774 0116 1368 ldr r3, [r2] 1775 0118 23F01603 bic r3, r3, #22 1776 011c 1360 str r3, [r2] 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1777 .loc 1 855 9 is_stmt 1 view .LVU659 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1778 .loc 1 855 13 is_stmt 0 view .LVU660 1779 011e 2268 ldr r2, [r4] ARM GAS /tmp/cc3Ff6I4.s page 65 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1780 .loc 1 855 29 view .LVU661 1781 0120 5369 ldr r3, [r2, #20] 1782 0122 23F08003 bic r3, r3, #128 1783 0126 5361 str r3, [r2, #20] 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1784 .loc 1 857 9 is_stmt 1 view .LVU662 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1785 .loc 1 857 17 is_stmt 0 view .LVU663 1786 0128 236C ldr r3, [r4, #64] 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1787 .loc 1 857 11 view .LVU664 1788 012a A3B1 cbz r3, .L119 1789 .L107: 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1790 .loc 1 859 11 is_stmt 1 view .LVU665 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1791 .loc 1 859 15 is_stmt 0 view .LVU666 1792 012c 2268 ldr r2, [r4] 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1793 .loc 1 859 31 view .LVU667 1794 012e 1368 ldr r3, [r2] 1795 0130 23F00803 bic r3, r3, #8 1796 0134 1360 str r3, [r2] 1797 .L108: 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1798 .loc 1 863 9 is_stmt 1 view .LVU668 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1799 .loc 1 863 35 is_stmt 0 view .LVU669 1800 0136 E26D ldr r2, [r4, #92] 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1801 .loc 1 863 28 view .LVU670 1802 0138 3F23 movs r3, #63 1803 013a 9340 lsls r3, r3, r2 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1804 .loc 1 863 20 view .LVU671 1805 013c BB60 str r3, [r7, #8] 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1806 .loc 1 866 9 is_stmt 1 view .LVU672 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1807 .loc 1 866 21 is_stmt 0 view .LVU673 1808 013e 0123 movs r3, #1 1809 0140 84F83530 strb r3, [r4, #53] 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1810 .loc 1 869 9 is_stmt 1 view .LVU674 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1811 .loc 1 869 9 view .LVU675 1812 0144 0023 movs r3, #0 1813 0146 84F83430 strb r3, [r4, #52] 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1814 .loc 1 869 9 view .LVU676 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1815 .loc 1 871 9 view .LVU677 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1816 .loc 1 871 16 is_stmt 0 view .LVU678 1817 014a 236D ldr r3, [r4, #80] 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/cc3Ff6I4.s page 66 1818 .loc 1 871 11 view .LVU679 1819 014c 002B cmp r3, #0 1820 014e 3FD0 beq .L97 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1821 .loc 1 873 11 is_stmt 1 view .LVU680 1822 0150 2046 mov r0, r4 1823 0152 9847 blx r3 1824 .LVL136: 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1825 .loc 1 875 9 view .LVU681 1826 0154 3CE0 b .L97 1827 .L119: 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1828 .loc 1 857 57 is_stmt 0 discriminator 1 view .LVU682 1829 0156 A36C ldr r3, [r4, #72] 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1830 .loc 1 857 49 discriminator 1 view .LVU683 1831 0158 002B cmp r3, #0 1832 015a E7D1 bne .L107 1833 015c EBE7 b .L108 1834 .L112: 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1835 .loc 1 892 11 is_stmt 1 view .LVU684 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1836 .loc 1 892 18 is_stmt 0 view .LVU685 1837 015e E36B ldr r3, [r4, #60] 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1838 .loc 1 892 13 view .LVU686 1839 0160 A3B1 cbz r3, .L105 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1840 .loc 1 895 13 is_stmt 1 view .LVU687 1841 0162 2046 mov r0, r4 1842 0164 9847 blx r3 1843 .LVL137: 1844 0166 11E0 b .L105 1845 .L111: 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1846 .loc 1 902 9 view .LVU688 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1847 .loc 1 902 27 is_stmt 0 view .LVU689 1848 0168 1A68 ldr r2, [r3] 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1849 .loc 1 902 11 view .LVU690 1850 016a 12F4807F tst r2, #256 1851 016e 09D1 bne .L113 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1852 .loc 1 905 11 is_stmt 1 view .LVU691 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1853 .loc 1 905 31 is_stmt 0 view .LVU692 1854 0170 1A68 ldr r2, [r3] 1855 0172 22F01002 bic r2, r2, #16 1856 0176 1A60 str r2, [r3] 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1857 .loc 1 908 11 is_stmt 1 view .LVU693 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1858 .loc 1 908 23 is_stmt 0 view .LVU694 1859 0178 0123 movs r3, #1 ARM GAS /tmp/cc3Ff6I4.s page 67 1860 017a 84F83530 strb r3, [r4, #53] 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1861 .loc 1 911 11 is_stmt 1 view .LVU695 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1862 .loc 1 911 11 view .LVU696 1863 017e 0023 movs r3, #0 1864 0180 84F83430 strb r3, [r4, #52] 1865 .L113: 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1866 .loc 1 911 11 discriminator 1 view .LVU697 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1867 .loc 1 914 9 discriminator 1 view .LVU698 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1868 .loc 1 914 16 is_stmt 0 discriminator 1 view .LVU699 1869 0184 E36B ldr r3, [r4, #60] 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1870 .loc 1 914 11 discriminator 1 view .LVU700 1871 0186 0BB1 cbz r3, .L105 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1872 .loc 1 917 11 is_stmt 1 view .LVU701 1873 0188 2046 mov r0, r4 1874 018a 9847 blx r3 1875 .LVL138: 1876 .L105: 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1877 .loc 1 924 3 view .LVU702 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1878 .loc 1 924 10 is_stmt 0 view .LVU703 1879 018c 636D ldr r3, [r4, #84] 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1880 .loc 1 924 5 view .LVU704 1881 018e FBB1 cbz r3, .L97 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1882 .loc 1 926 5 is_stmt 1 view .LVU705 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1883 .loc 1 926 13 is_stmt 0 view .LVU706 1884 0190 636D ldr r3, [r4, #84] 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1885 .loc 1 926 7 view .LVU707 1886 0192 13F0010F tst r3, #1 1887 0196 17D0 beq .L114 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1888 .loc 1 928 7 is_stmt 1 view .LVU708 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1889 .loc 1 928 19 is_stmt 0 view .LVU709 1890 0198 0523 movs r3, #5 1891 019a 84F83530 strb r3, [r4, #53] 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1892 .loc 1 931 7 is_stmt 1 view .LVU710 1893 019e 2268 ldr r2, [r4] 1894 01a0 1368 ldr r3, [r2] 1895 01a2 23F00103 bic r3, r3, #1 1896 01a6 1360 str r3, [r2] 1897 .L116: 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1898 .loc 1 933 7 view .LVU711 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/cc3Ff6I4.s page 68 1899 .loc 1 935 9 view .LVU712 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1900 .loc 1 935 13 is_stmt 0 view .LVU713 1901 01a8 019B ldr r3, [sp, #4] 1902 01aa 0133 adds r3, r3, #1 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1903 .loc 1 935 12 view .LVU714 1904 01ac 0193 str r3, [sp, #4] 1905 01ae AB42 cmp r3, r5 1906 01b0 04D8 bhi .L115 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1907 .loc 1 940 12 is_stmt 1 view .LVU715 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1908 .loc 1 940 18 is_stmt 0 view .LVU716 1909 01b2 2368 ldr r3, [r4] 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1910 .loc 1 940 28 view .LVU717 1911 01b4 1B68 ldr r3, [r3] 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1912 .loc 1 940 7 view .LVU718 1913 01b6 13F0010F tst r3, #1 1914 01ba F5D1 bne .L116 1915 .L115: 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1916 .loc 1 943 7 is_stmt 1 view .LVU719 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1917 .loc 1 943 19 is_stmt 0 view .LVU720 1918 01bc 0123 movs r3, #1 1919 01be 84F83530 strb r3, [r4, #53] 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1920 .loc 1 946 7 is_stmt 1 view .LVU721 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1921 .loc 1 946 7 view .LVU722 1922 01c2 0023 movs r3, #0 1923 01c4 84F83430 strb r3, [r4, #52] 1924 .L114: 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1925 .loc 1 946 7 discriminator 1 view .LVU723 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1926 .loc 1 949 5 discriminator 1 view .LVU724 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1927 .loc 1 949 12 is_stmt 0 discriminator 1 view .LVU725 1928 01c8 E36C ldr r3, [r4, #76] 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1929 .loc 1 949 7 discriminator 1 view .LVU726 1930 01ca 0BB1 cbz r3, .L97 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1931 .loc 1 952 7 is_stmt 1 view .LVU727 1932 01cc 2046 mov r0, r4 1933 01ce 9847 blx r3 1934 .LVL139: 1935 .L97: 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1936 .loc 1 955 1 is_stmt 0 view .LVU728 1937 01d0 03B0 add sp, sp, #12 1938 .LCFI15: 1939 .cfi_def_cfa_offset 20 ARM GAS /tmp/cc3Ff6I4.s page 69 1940 @ sp needed 1941 01d2 F0BD pop {r4, r5, r6, r7, pc} 1942 .LVL140: 1943 .L121: 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1944 .loc 1 955 1 view .LVU729 1945 .align 2 1946 .L120: 1947 01d4 00000000 .word SystemCoreClock 1948 01d8 B5814E1B .word 458129845 1949 .cfi_endproc 1950 .LFE141: 1952 .section .text.HAL_DMA_RegisterCallback,"ax",%progbits 1953 .align 1 1954 .global HAL_DMA_RegisterCallback 1955 .syntax unified 1956 .thumb 1957 .thumb_func 1958 .fpu fpv4-sp-d16 1960 HAL_DMA_RegisterCallback: 1961 .LVL141: 1962 .LFB142: 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1963 .loc 1 968 1 is_stmt 1 view -0 1964 .cfi_startproc 1965 @ args = 0, pretend = 0, frame = 0 1966 @ frame_needed = 0, uses_anonymous_args = 0 1967 @ link register save eliminated. 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1968 .loc 1 968 1 is_stmt 0 view .LVU731 1969 0000 0346 mov r3, r0 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1970 .loc 1 970 3 is_stmt 1 view .LVU732 1971 .LVL142: 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1972 .loc 1 973 3 view .LVU733 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1973 .loc 1 973 3 view .LVU734 1974 0002 90F83400 ldrb r0, [r0, #52] @ zero_extendqisi2 1975 .LVL143: 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1976 .loc 1 973 3 is_stmt 0 view .LVU735 1977 0006 0128 cmp r0, #1 1978 0008 25D0 beq .L132 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1979 .loc 1 973 3 is_stmt 1 discriminator 2 view .LVU736 1980 000a 0120 movs r0, #1 1981 000c 83F83400 strb r0, [r3, #52] 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1982 .loc 1 973 3 discriminator 2 view .LVU737 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1983 .loc 1 975 3 discriminator 2 view .LVU738 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1984 .loc 1 975 33 is_stmt 0 discriminator 2 view .LVU739 1985 0010 93F83500 ldrb r0, [r3, #53] @ zero_extendqisi2 1986 0014 C0B2 uxtb r0, r0 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS /tmp/cc3Ff6I4.s page 70 1987 .loc 1 975 5 discriminator 2 view .LVU740 1988 0016 0128 cmp r0, #1 1989 0018 04D0 beq .L134 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1990 .loc 1 1012 12 view .LVU741 1991 001a 0120 movs r0, #1 1992 .L124: 1993 .LVL144: 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1994 .loc 1 1016 3 is_stmt 1 view .LVU742 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1995 .loc 1 1016 3 view .LVU743 1996 001c 0022 movs r2, #0 1997 .LVL145: 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1998 .loc 1 1016 3 is_stmt 0 view .LVU744 1999 001e 83F83420 strb r2, [r3, #52] 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2000 .loc 1 1016 3 is_stmt 1 view .LVU745 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2001 .loc 1 1018 3 view .LVU746 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2002 .loc 1 1018 10 is_stmt 0 view .LVU747 2003 0022 7047 bx lr 2004 .LVL146: 2005 .L134: 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2006 .loc 1 977 5 is_stmt 1 view .LVU748 2007 0024 0529 cmp r1, #5 2008 0026 F9D8 bhi .L124 2009 0028 DFE801F0 tbb [pc, r1] 2010 .L126: 2011 002c 03 .byte (.L131-.L126)/2 2012 002d 06 .byte (.L130-.L126)/2 2013 002e 09 .byte (.L129-.L126)/2 2014 002f 0C .byte (.L128-.L126)/2 2015 0030 0F .byte (.L127-.L126)/2 2016 0031 12 .byte (.L125-.L126)/2 2017 .p2align 1 2018 .L131: 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2019 .loc 1 980 7 view .LVU749 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2020 .loc 1 980 30 is_stmt 0 view .LVU750 2021 0032 DA63 str r2, [r3, #60] 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2022 .loc 1 981 7 is_stmt 1 view .LVU751 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2023 .loc 1 970 21 is_stmt 0 view .LVU752 2024 0034 0846 mov r0, r1 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2025 .loc 1 981 7 view .LVU753 2026 0036 F1E7 b .L124 2027 .L130: 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2028 .loc 1 984 7 is_stmt 1 view .LVU754 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; ARM GAS /tmp/cc3Ff6I4.s page 71 2029 .loc 1 984 34 is_stmt 0 view .LVU755 2030 0038 1A64 str r2, [r3, #64] 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2031 .loc 1 985 7 is_stmt 1 view .LVU756 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2032 .loc 1 970 21 is_stmt 0 view .LVU757 2033 003a 0020 movs r0, #0 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2034 .loc 1 985 7 view .LVU758 2035 003c EEE7 b .L124 2036 .L129: 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2037 .loc 1 988 7 is_stmt 1 view .LVU759 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2038 .loc 1 988 32 is_stmt 0 view .LVU760 2039 003e 5A64 str r2, [r3, #68] 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2040 .loc 1 989 7 is_stmt 1 view .LVU761 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2041 .loc 1 970 21 is_stmt 0 view .LVU762 2042 0040 0020 movs r0, #0 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2043 .loc 1 989 7 view .LVU763 2044 0042 EBE7 b .L124 2045 .L128: 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2046 .loc 1 992 7 is_stmt 1 view .LVU764 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2047 .loc 1 992 36 is_stmt 0 view .LVU765 2048 0044 9A64 str r2, [r3, #72] 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2049 .loc 1 993 7 is_stmt 1 view .LVU766 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2050 .loc 1 970 21 is_stmt 0 view .LVU767 2051 0046 0020 movs r0, #0 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2052 .loc 1 993 7 view .LVU768 2053 0048 E8E7 b .L124 2054 .L127: 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2055 .loc 1 996 7 is_stmt 1 view .LVU769 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2056 .loc 1 996 31 is_stmt 0 view .LVU770 2057 004a DA64 str r2, [r3, #76] 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2058 .loc 1 997 7 is_stmt 1 view .LVU771 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2059 .loc 1 970 21 is_stmt 0 view .LVU772 2060 004c 0020 movs r0, #0 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2061 .loc 1 997 7 view .LVU773 2062 004e E5E7 b .L124 2063 .L125: 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2064 .loc 1 1000 7 is_stmt 1 view .LVU774 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2065 .loc 1 1000 31 is_stmt 0 view .LVU775 ARM GAS /tmp/cc3Ff6I4.s page 72 2066 0050 1A65 str r2, [r3, #80] 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2067 .loc 1 1001 7 is_stmt 1 view .LVU776 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2068 .loc 1 970 21 is_stmt 0 view .LVU777 2069 0052 0020 movs r0, #0 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2070 .loc 1 1001 7 view .LVU778 2071 0054 E2E7 b .L124 2072 .L132: 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2073 .loc 1 973 3 view .LVU779 2074 0056 0220 movs r0, #2 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2075 .loc 1 1019 1 view .LVU780 2076 0058 7047 bx lr 2077 .cfi_endproc 2078 .LFE142: 2080 .section .text.HAL_DMA_UnRegisterCallback,"ax",%progbits 2081 .align 1 2082 .global HAL_DMA_UnRegisterCallback 2083 .syntax unified 2084 .thumb 2085 .thumb_func 2086 .fpu fpv4-sp-d16 2088 HAL_DMA_UnRegisterCallback: 2089 .LVL147: 2090 .LFB143: 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 2091 .loc 1 1030 1 is_stmt 1 view -0 2092 .cfi_startproc 2093 @ args = 0, pretend = 0, frame = 0 2094 @ frame_needed = 0, uses_anonymous_args = 0 2095 @ link register save eliminated. 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 2096 .loc 1 1030 1 is_stmt 0 view .LVU782 2097 0000 0346 mov r3, r0 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2098 .loc 1 1031 3 is_stmt 1 view .LVU783 2099 .LVL148: 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2100 .loc 1 1034 3 view .LVU784 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2101 .loc 1 1034 3 view .LVU785 2102 0002 90F83420 ldrb r2, [r0, #52] @ zero_extendqisi2 2103 0006 012A cmp r2, #1 2104 0008 2FD0 beq .L146 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2105 .loc 1 1034 3 discriminator 2 view .LVU786 2106 000a 0122 movs r2, #1 2107 000c 80F83420 strb r2, [r0, #52] 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2108 .loc 1 1034 3 discriminator 2 view .LVU787 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2109 .loc 1 1036 3 discriminator 2 view .LVU788 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2110 .loc 1 1036 33 is_stmt 0 discriminator 2 view .LVU789 ARM GAS /tmp/cc3Ff6I4.s page 73 2111 0010 90F83500 ldrb r0, [r0, #53] @ zero_extendqisi2 2112 .LVL149: 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2113 .loc 1 1036 33 discriminator 2 view .LVU790 2114 0014 C0B2 uxtb r0, r0 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2115 .loc 1 1036 5 discriminator 2 view .LVU791 2116 0016 9042 cmp r0, r2 2117 0018 04D0 beq .L148 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2118 .loc 1 1080 12 view .LVU792 2119 001a 0120 movs r0, #1 2120 .L137: 2121 .LVL150: 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2122 .loc 1 1084 3 is_stmt 1 view .LVU793 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2123 .loc 1 1084 3 view .LVU794 2124 001c 0022 movs r2, #0 2125 001e 83F83420 strb r2, [r3, #52] 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2126 .loc 1 1084 3 view .LVU795 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2127 .loc 1 1086 3 view .LVU796 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2128 .loc 1 1086 10 is_stmt 0 view .LVU797 2129 0022 7047 bx lr 2130 .LVL151: 2131 .L148: 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2132 .loc 1 1038 5 is_stmt 1 view .LVU798 2133 0024 0629 cmp r1, #6 2134 0026 F9D8 bhi .L137 2135 0028 DFE801F0 tbb [pc, r1] 2136 .L139: 2137 002c 04 .byte (.L145-.L139)/2 2138 002d 08 .byte (.L144-.L139)/2 2139 002e 0B .byte (.L143-.L139)/2 2140 002f 0E .byte (.L142-.L139)/2 2141 0030 11 .byte (.L141-.L139)/2 2142 0031 14 .byte (.L140-.L139)/2 2143 0032 17 .byte (.L138-.L139)/2 2144 0033 00 .p2align 1 2145 .L145: 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2146 .loc 1 1041 7 view .LVU799 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2147 .loc 1 1041 30 is_stmt 0 view .LVU800 2148 0034 0022 movs r2, #0 2149 0036 DA63 str r2, [r3, #60] 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2150 .loc 1 1042 7 is_stmt 1 view .LVU801 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2151 .loc 1 1031 21 is_stmt 0 view .LVU802 2152 0038 0846 mov r0, r1 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2153 .loc 1 1042 7 view .LVU803 ARM GAS /tmp/cc3Ff6I4.s page 74 2154 003a EFE7 b .L137 2155 .L144: 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2156 .loc 1 1045 7 is_stmt 1 view .LVU804 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2157 .loc 1 1045 34 is_stmt 0 view .LVU805 2158 003c 0020 movs r0, #0 2159 003e 1864 str r0, [r3, #64] 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2160 .loc 1 1046 7 is_stmt 1 view .LVU806 2161 0040 ECE7 b .L137 2162 .L143: 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2163 .loc 1 1049 7 view .LVU807 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2164 .loc 1 1049 32 is_stmt 0 view .LVU808 2165 0042 0020 movs r0, #0 2166 0044 5864 str r0, [r3, #68] 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2167 .loc 1 1050 7 is_stmt 1 view .LVU809 2168 0046 E9E7 b .L137 2169 .L142: 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2170 .loc 1 1053 7 view .LVU810 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2171 .loc 1 1053 36 is_stmt 0 view .LVU811 2172 0048 0020 movs r0, #0 2173 004a 9864 str r0, [r3, #72] 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2174 .loc 1 1054 7 is_stmt 1 view .LVU812 2175 004c E6E7 b .L137 2176 .L141: 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2177 .loc 1 1057 7 view .LVU813 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2178 .loc 1 1057 31 is_stmt 0 view .LVU814 2179 004e 0020 movs r0, #0 2180 0050 D864 str r0, [r3, #76] 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2181 .loc 1 1058 7 is_stmt 1 view .LVU815 2182 0052 E3E7 b .L137 2183 .L140: 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2184 .loc 1 1061 7 view .LVU816 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2185 .loc 1 1061 31 is_stmt 0 view .LVU817 2186 0054 0020 movs r0, #0 2187 0056 1865 str r0, [r3, #80] 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2188 .loc 1 1062 7 is_stmt 1 view .LVU818 2189 0058 E0E7 b .L137 2190 .L138: 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 2191 .loc 1 1065 7 view .LVU819 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 2192 .loc 1 1065 30 is_stmt 0 view .LVU820 2193 005a 0020 movs r0, #0 ARM GAS /tmp/cc3Ff6I4.s page 75 2194 005c D863 str r0, [r3, #60] 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 2195 .loc 1 1066 7 is_stmt 1 view .LVU821 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 2196 .loc 1 1066 34 is_stmt 0 view .LVU822 2197 005e 1864 str r0, [r3, #64] 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 2198 .loc 1 1067 7 is_stmt 1 view .LVU823 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 2199 .loc 1 1067 32 is_stmt 0 view .LVU824 2200 0060 5864 str r0, [r3, #68] 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 2201 .loc 1 1068 7 is_stmt 1 view .LVU825 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 2202 .loc 1 1068 36 is_stmt 0 view .LVU826 2203 0062 9864 str r0, [r3, #72] 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 2204 .loc 1 1069 7 is_stmt 1 view .LVU827 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 2205 .loc 1 1069 31 is_stmt 0 view .LVU828 2206 0064 D864 str r0, [r3, #76] 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2207 .loc 1 1070 7 is_stmt 1 view .LVU829 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2208 .loc 1 1070 31 is_stmt 0 view .LVU830 2209 0066 1865 str r0, [r3, #80] 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2210 .loc 1 1071 7 is_stmt 1 view .LVU831 2211 0068 D8E7 b .L137 2212 .LVL152: 2213 .L146: 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2214 .loc 1 1034 3 is_stmt 0 view .LVU832 2215 006a 0220 movs r0, #2 2216 .LVL153: 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2217 .loc 1 1087 1 view .LVU833 2218 006c 7047 bx lr 2219 .cfi_endproc 2220 .LFE143: 2222 .section .text.HAL_DMA_GetState,"ax",%progbits 2223 .align 1 2224 .global HAL_DMA_GetState 2225 .syntax unified 2226 .thumb 2227 .thumb_func 2228 .fpu fpv4-sp-d16 2230 HAL_DMA_GetState: 2231 .LVL154: 2232 .LFB144: 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->State; 2233 .loc 1 1115 1 is_stmt 1 view -0 2234 .cfi_startproc 2235 @ args = 0, pretend = 0, frame = 0 2236 @ frame_needed = 0, uses_anonymous_args = 0 2237 @ link register save eliminated. 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS /tmp/cc3Ff6I4.s page 76 2238 .loc 1 1116 3 view .LVU835 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2239 .loc 1 1116 14 is_stmt 0 view .LVU836 2240 0000 90F83500 ldrb r0, [r0, #53] @ zero_extendqisi2 2241 .LVL155: 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2242 .loc 1 1117 1 view .LVU837 2243 0004 7047 bx lr 2244 .cfi_endproc 2245 .LFE144: 2247 .section .text.HAL_DMA_GetError,"ax",%progbits 2248 .align 1 2249 .global HAL_DMA_GetError 2250 .syntax unified 2251 .thumb 2252 .thumb_func 2253 .fpu fpv4-sp-d16 2255 HAL_DMA_GetError: 2256 .LVL156: 2257 .LFB145: 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->ErrorCode; 2258 .loc 1 1126 1 is_stmt 1 view -0 2259 .cfi_startproc 2260 @ args = 0, pretend = 0, frame = 0 2261 @ frame_needed = 0, uses_anonymous_args = 0 2262 @ link register save eliminated. 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2263 .loc 1 1127 3 view .LVU839 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2264 .loc 1 1127 14 is_stmt 0 view .LVU840 2265 0000 406D ldr r0, [r0, #84] 2266 .LVL157: 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2267 .loc 1 1128 1 view .LVU841 2268 0002 7047 bx lr 2269 .cfi_endproc 2270 .LFE145: 2272 .section .rodata.flagBitshiftOffset.0,"a" 2273 .align 2 2274 .set .LANCHOR0,. + 0 2277 flagBitshiftOffset.0: 2278 0000 00061016 .ascii "\000\006\020\026\000\006\020\026" 2278 00061016 2279 .text 2280 .Letext0: 2281 .file 2 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h" 2282 .file 3 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h" 2283 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h" 2284 .file 5 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 2285 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" 2286 .file 7 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h" 2287 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h" ARM GAS /tmp/cc3Ff6I4.s page 77 DEFINED SYMBOLS *ABS*:0000000000000000 stm32f4xx_hal_dma.c /tmp/cc3Ff6I4.s:18 .text.DMA_SetConfig:0000000000000000 $t /tmp/cc3Ff6I4.s:25 .text.DMA_SetConfig:0000000000000000 DMA_SetConfig /tmp/cc3Ff6I4.s:99 .text.DMA_CalcBaseAndBitshift:0000000000000000 $t /tmp/cc3Ff6I4.s:105 .text.DMA_CalcBaseAndBitshift:0000000000000000 DMA_CalcBaseAndBitshift /tmp/cc3Ff6I4.s:176 .text.DMA_CalcBaseAndBitshift:000000000000003c $d /tmp/cc3Ff6I4.s:182 .text.DMA_CheckFifoParam:0000000000000000 $t /tmp/cc3Ff6I4.s:188 .text.DMA_CheckFifoParam:0000000000000000 DMA_CheckFifoParam /tmp/cc3Ff6I4.s:274 .text.DMA_CheckFifoParam:000000000000004e $d /tmp/cc3Ff6I4.s:278 .text.DMA_CheckFifoParam:0000000000000052 $t /tmp/cc3Ff6I4.s:373 .text.HAL_DMA_Init:0000000000000000 $t /tmp/cc3Ff6I4.s:380 .text.HAL_DMA_Init:0000000000000000 HAL_DMA_Init /tmp/cc3Ff6I4.s:629 .text.HAL_DMA_Init:00000000000000c8 $d /tmp/cc3Ff6I4.s:634 .text.HAL_DMA_DeInit:0000000000000000 $t /tmp/cc3Ff6I4.s:641 .text.HAL_DMA_DeInit:0000000000000000 HAL_DMA_DeInit /tmp/cc3Ff6I4.s:774 .text.HAL_DMA_Start:0000000000000000 $t /tmp/cc3Ff6I4.s:781 .text.HAL_DMA_Start:0000000000000000 HAL_DMA_Start /tmp/cc3Ff6I4.s:864 .text.HAL_DMA_Start_IT:0000000000000000 $t /tmp/cc3Ff6I4.s:871 .text.HAL_DMA_Start_IT:0000000000000000 HAL_DMA_Start_IT /tmp/cc3Ff6I4.s:986 .text.HAL_DMA_Abort:0000000000000000 $t /tmp/cc3Ff6I4.s:993 .text.HAL_DMA_Abort:0000000000000000 HAL_DMA_Abort /tmp/cc3Ff6I4.s:1147 .text.HAL_DMA_Abort_IT:0000000000000000 $t /tmp/cc3Ff6I4.s:1154 .text.HAL_DMA_Abort_IT:0000000000000000 HAL_DMA_Abort_IT /tmp/cc3Ff6I4.s:1200 .text.HAL_DMA_PollForTransfer:0000000000000000 $t /tmp/cc3Ff6I4.s:1207 .text.HAL_DMA_PollForTransfer:0000000000000000 HAL_DMA_PollForTransfer /tmp/cc3Ff6I4.s:1499 .text.HAL_DMA_IRQHandler:0000000000000000 $t /tmp/cc3Ff6I4.s:1506 .text.HAL_DMA_IRQHandler:0000000000000000 HAL_DMA_IRQHandler /tmp/cc3Ff6I4.s:1947 .text.HAL_DMA_IRQHandler:00000000000001d4 $d /tmp/cc3Ff6I4.s:1953 .text.HAL_DMA_RegisterCallback:0000000000000000 $t /tmp/cc3Ff6I4.s:1960 .text.HAL_DMA_RegisterCallback:0000000000000000 HAL_DMA_RegisterCallback /tmp/cc3Ff6I4.s:2011 .text.HAL_DMA_RegisterCallback:000000000000002c $d /tmp/cc3Ff6I4.s:2017 .text.HAL_DMA_RegisterCallback:0000000000000032 $t /tmp/cc3Ff6I4.s:2081 .text.HAL_DMA_UnRegisterCallback:0000000000000000 $t /tmp/cc3Ff6I4.s:2088 .text.HAL_DMA_UnRegisterCallback:0000000000000000 HAL_DMA_UnRegisterCallback /tmp/cc3Ff6I4.s:2137 .text.HAL_DMA_UnRegisterCallback:000000000000002c $d /tmp/cc3Ff6I4.s:2223 .text.HAL_DMA_GetState:0000000000000000 $t /tmp/cc3Ff6I4.s:2230 .text.HAL_DMA_GetState:0000000000000000 HAL_DMA_GetState /tmp/cc3Ff6I4.s:2248 .text.HAL_DMA_GetError:0000000000000000 $t /tmp/cc3Ff6I4.s:2255 .text.HAL_DMA_GetError:0000000000000000 HAL_DMA_GetError /tmp/cc3Ff6I4.s:2273 .rodata.flagBitshiftOffset.0:0000000000000000 $d /tmp/cc3Ff6I4.s:2277 .rodata.flagBitshiftOffset.0:0000000000000000 flagBitshiftOffset.0 /tmp/cc3Ff6I4.s:2144 .text.HAL_DMA_UnRegisterCallback:0000000000000033 $d /tmp/cc3Ff6I4.s:2144 .text.HAL_DMA_UnRegisterCallback:0000000000000034 $t UNDEFINED SYMBOLS HAL_GetTick SystemCoreClock