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