ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 6 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32f4xx_hal_dma.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.HAL_DMA_Init,"ax",%progbits 20 .align 1 21 .global HAL_DMA_Init 22 .syntax unified 23 .thumb 24 .thumb_func 26 HAL_DMA_Init: 27 .LFB235: 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c" 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @file stm32f4xx_hal_dma.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DMA HAL module driver. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This file provides firmware functions to manage the following 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * functionalities of the Direct Memory Access (DMA) peripheral: 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Initialization and de-initialization functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + IO operation functions 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Peripheral State and errors functions 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ============================================================================== 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### How to use this driver ##### 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ============================================================================== 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Enable and configure the peripheral to be connected to the DMA Stream 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (except for internal SRAM/FLASH memories: no initialization is 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** necessary) please refer to Reference manual for connection between peripherals 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and DMA requests. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) For a given Stream, program the required configuration through the following parameters: 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Transfer Direction, Source and Destination data formats, 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Circular, Normal or peripheral flow control mode, Stream Priority level, 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Source and Destination Increment mode, FIFO mode and its Threshold (if needed), 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Burst mode for Source and/or Destination (if needed) using HAL_DMA_Init() function. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- Prior to HAL_DMA_Init() the clock must be enabled for DMA through the following macros: 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_RCC_DMA1_CLK_ENABLE() or __HAL_RCC_DMA2_CLK_ENABLE(). 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.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 C:\Users\10728\AppData\Local\Temp\ccVNMg0J.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 C:\Users\10728\AppData\Local\Temp\ccVNMg0J.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 **** { 29 .loc 1 171 1 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 24 32 @ frame_needed = 1, uses_anonymous_args = 0 33 0000 80B5 push {r7, lr} 34 .LCFI0: 35 .cfi_def_cfa_offset 8 36 .cfi_offset 7, -8 37 .cfi_offset 14, -4 38 0002 86B0 sub sp, sp, #24 39 .LCFI1: 40 .cfi_def_cfa_offset 32 41 0004 00AF add r7, sp, #0 42 .LCFI2: 43 .cfi_def_cfa_register 7 44 0006 7860 str r0, [r7, #4] 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = 0U; 45 .loc 1 172 12 46 0008 0023 movs r3, #0 47 000a 7B61 str r3, [r7, #20] 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick(); 48 .loc 1 173 24 49 000c FFF7FEFF bl HAL_GetTick 50 0010 3861 str r0, [r7, #16] 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) 51 .loc 1 177 5 52 0012 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 5 53 0014 002B cmp r3, #0 54 0016 01D1 bne .L2 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 55 .loc 1 179 12 56 0018 0123 movs r3, #1 57 001a 99E0 b .L3 58 .L2: 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 **** 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; 59 .loc 1 203 15 60 001c 7B68 ldr r3, [r7, #4] 61 001e 0222 movs r2, #2 62 0020 83F83520 strb r2, [r3, #53] 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); 63 .loc 1 206 3 64 0024 7B68 ldr r3, [r7, #4] 65 0026 0022 movs r2, #0 66 0028 83F83420 strb r2, [r3, #52] 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); 67 .loc 1 209 3 68 002c 7B68 ldr r3, [r7, #4] 69 002e 1B68 ldr r3, [r3] 70 0030 1A68 ldr r2, [r3] 71 0032 7B68 ldr r3, [r7, #4] 72 0034 1B68 ldr r3, [r3] 73 0036 22F00102 bic r2, r2, #1 74 003a 1A60 str r2, [r3] 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) ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 6 75 .loc 1 212 8 76 003c 0FE0 b .L4 77 .L5: 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) 78 .loc 1 215 9 79 003e FFF7FEFF bl HAL_GetTick 80 0042 0246 mov r2, r0 81 .loc 1 215 23 82 0044 3B69 ldr r3, [r7, #16] 83 0046 D31A subs r3, r2, r3 84 .loc 1 215 7 85 0048 052B cmp r3, #5 86 004a 08D9 bls .L4 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; 87 .loc 1 218 23 88 004c 7B68 ldr r3, [r7, #4] 89 004e 2022 movs r2, #32 90 0050 5A65 str r2, [r3, #84] 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; 91 .loc 1 221 19 92 0052 7B68 ldr r3, [r7, #4] 93 0054 0322 movs r2, #3 94 0056 83F83520 strb r2, [r3, #53] 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT; 95 .loc 1 223 14 96 005a 0323 movs r3, #3 97 005c 78E0 b .L3 98 .L4: 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 99 .loc 1 212 14 100 005e 7B68 ldr r3, [r7, #4] 101 0060 1B68 ldr r3, [r3] 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 102 .loc 1 212 24 103 0062 1B68 ldr r3, [r3] 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 104 .loc 1 212 29 105 0064 03F00103 and r3, r3, #1 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 106 .loc 1 212 8 107 0068 002B cmp r3, #0 108 006a E8D1 bne .L5 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; 109 .loc 1 228 13 110 006c 7B68 ldr r3, [r7, #4] 111 006e 1B68 ldr r3, [r3] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 7 112 .loc 1 228 7 113 0070 1B68 ldr r3, [r3] 114 0072 7B61 str r3, [r7, #20] 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 | \ 115 .loc 1 231 7 116 0074 7A69 ldr r2, [r7, #20] 117 0076 384B ldr r3, .L8 118 0078 1340 ands r3, r3, r2 119 007a 7B61 str r3, [r7, #20] 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 | 120 .loc 1 237 21 121 007c 7B68 ldr r3, [r7, #4] 122 007e 5A68 ldr r2, [r3, #4] 123 .loc 1 237 54 124 0080 7B68 ldr r3, [r7, #4] 125 0082 9B68 ldr r3, [r3, #8] 126 .loc 1 237 42 127 0084 1A43 orrs r2, r2, r3 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 128 .loc 1 238 21 129 0086 7B68 ldr r3, [r7, #4] 130 0088 DB68 ldr r3, [r3, #12] 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 131 .loc 1 237 72 132 008a 1A43 orrs r2, r2, r3 133 .loc 1 238 54 134 008c 7B68 ldr r3, [r7, #4] 135 008e 1B69 ldr r3, [r3, #16] 136 .loc 1 238 42 137 0090 1A43 orrs r2, r2, r3 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 138 .loc 1 239 21 139 0092 7B68 ldr r3, [r7, #4] 140 0094 5B69 ldr r3, [r3, #20] 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 141 .loc 1 238 72 142 0096 1A43 orrs r2, r2, r3 143 .loc 1 239 54 144 0098 7B68 ldr r3, [r7, #4] 145 009a 9B69 ldr r3, [r3, #24] 146 .loc 1 239 42 147 009c 1A43 orrs r2, r2, r3 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; 148 .loc 1 240 21 149 009e 7B68 ldr r3, [r7, #4] 150 00a0 DB69 ldr r3, [r3, #28] 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 151 .loc 1 239 72 152 00a2 1A43 orrs r2, r2, r3 153 .loc 1 240 54 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 8 154 00a4 7B68 ldr r3, [r7, #4] 155 00a6 1B6A ldr r3, [r3, #32] 156 .loc 1 240 42 157 00a8 1343 orrs r3, r3, r2 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 158 .loc 1 237 7 159 00aa 7A69 ldr r2, [r7, #20] 160 00ac 1343 orrs r3, r3, r2 161 00ae 7B61 str r3, [r7, #20] 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) 162 .loc 1 243 16 163 00b0 7B68 ldr r3, [r7, #4] 164 00b2 5B6A ldr r3, [r3, #36] 165 .loc 1 243 5 166 00b4 042B cmp r3, #4 167 00b6 07D1 bne .L6 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; 168 .loc 1 246 23 169 00b8 7B68 ldr r3, [r7, #4] 170 00ba DA6A ldr r2, [r3, #44] 171 .loc 1 246 45 172 00bc 7B68 ldr r3, [r7, #4] 173 00be 1B6B ldr r3, [r3, #48] 174 .loc 1 246 33 175 00c0 1343 orrs r3, r3, r2 176 .loc 1 246 9 177 00c2 7A69 ldr r2, [r7, #20] 178 00c4 1343 orrs r3, r3, r2 179 00c6 7B61 str r3, [r7, #20] 180 .L6: 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; 181 .loc 1 250 7 182 00c8 7B68 ldr r3, [r7, #4] 183 00ca 1B68 ldr r3, [r3] 184 .loc 1 250 22 185 00cc 7A69 ldr r2, [r7, #20] 186 00ce 1A60 str r2, [r3] 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; 187 .loc 1 253 13 188 00d0 7B68 ldr r3, [r7, #4] 189 00d2 1B68 ldr r3, [r3] 190 .loc 1 253 7 191 00d4 5B69 ldr r3, [r3, #20] 192 00d6 7B61 str r3, [r7, #20] 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); 193 .loc 1 256 7 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 9 194 00d8 7B69 ldr r3, [r7, #20] 195 00da 23F00703 bic r3, r3, #7 196 00de 7B61 str r3, [r7, #20] 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 */ 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.FIFOMode; 197 .loc 1 259 20 198 00e0 7B68 ldr r3, [r7, #4] 199 00e2 5B6A ldr r3, [r3, #36] 200 .loc 1 259 7 201 00e4 7A69 ldr r2, [r7, #20] 202 00e6 1343 orrs r3, r3, r2 203 00e8 7B61 str r3, [r7, #20] 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) 204 .loc 1 262 16 205 00ea 7B68 ldr r3, [r7, #4] 206 00ec 5B6A ldr r3, [r3, #36] 207 .loc 1 262 5 208 00ee 042B cmp r3, #4 209 00f0 17D1 bne .L7 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; 210 .loc 1 265 22 211 00f2 7B68 ldr r3, [r7, #4] 212 00f4 9B6A ldr r3, [r3, #40] 213 .loc 1 265 9 214 00f6 7A69 ldr r2, [r7, #20] 215 00f8 1343 orrs r3, r3, r2 216 00fa 7B61 str r3, [r7, #20] 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) 217 .loc 1 269 19 218 00fc 7B68 ldr r3, [r7, #4] 219 00fe DB6A ldr r3, [r3, #44] 220 .loc 1 269 8 221 0100 002B cmp r3, #0 222 0102 0ED0 beq .L7 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) 223 .loc 1 271 11 224 0104 7868 ldr r0, [r7, #4] 225 0106 FFF7FEFF bl DMA_CheckFifoParam 226 010a 0346 mov r3, r0 227 .loc 1 271 10 228 010c 002B cmp r3, #0 229 010e 08D0 beq .L7 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; 230 .loc 1 274 25 231 0110 7B68 ldr r3, [r7, #4] 232 0112 4022 movs r2, #64 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 10 233 0114 5A65 str r2, [r3, #84] 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; 234 .loc 1 277 21 235 0116 7B68 ldr r3, [r7, #4] 236 0118 0122 movs r2, #1 237 011a 83F83520 strb r2, [r3, #53] 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 238 .loc 1 279 16 239 011e 0123 movs r3, #1 240 0120 16E0 b .L3 241 .L7: 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; 242 .loc 1 285 7 243 0122 7B68 ldr r3, [r7, #4] 244 0124 1B68 ldr r3, [r3] 245 .loc 1 285 23 246 0126 7A69 ldr r2, [r7, #20] 247 0128 5A61 str r2, [r3, #20] 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); 248 .loc 1 289 32 249 012a 7868 ldr r0, [r7, #4] 250 012c FFF7FEFF bl DMA_CalcBaseAndBitshift 251 0130 0346 mov r3, r0 252 .loc 1 289 8 253 0132 FB60 str r3, [r7, #12] 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; 254 .loc 1 292 29 255 0134 7B68 ldr r3, [r7, #4] 256 0136 DB6D ldr r3, [r3, #92] 257 .loc 1 292 22 258 0138 3F22 movs r2, #63 259 013a 9A40 lsls r2, r2, r3 260 .loc 1 292 14 261 013c FB68 ldr r3, [r7, #12] 262 013e 9A60 str r2, [r3, #8] 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; 263 .loc 1 295 19 264 0140 7B68 ldr r3, [r7, #4] 265 0142 0022 movs r2, #0 266 0144 5A65 str r2, [r3, #84] 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the DMA state */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 11 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 267 .loc 1 298 15 268 0146 7B68 ldr r3, [r7, #4] 269 0148 0122 movs r2, #1 270 014a 83F83520 strb r2, [r3, #53] 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 271 .loc 1 300 10 272 014e 0023 movs r3, #0 273 .L3: 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 274 .loc 1 301 1 275 0150 1846 mov r0, r3 276 0152 1837 adds r7, r7, #24 277 .LCFI3: 278 .cfi_def_cfa_offset 8 279 0154 BD46 mov sp, r7 280 .LCFI4: 281 .cfi_def_cfa_register 13 282 @ sp needed 283 0156 80BD pop {r7, pc} 284 .L9: 285 .align 2 286 .L8: 287 0158 3F8010F0 .word -267354049 288 .cfi_endproc 289 .LFE235: 291 .section .text.HAL_DMA_DeInit,"ax",%progbits 292 .align 1 293 .global HAL_DMA_DeInit 294 .syntax unified 295 .thumb 296 .thumb_func 298 HAL_DMA_DeInit: 299 .LFB236: 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 **** { 300 .loc 1 310 1 301 .cfi_startproc 302 @ args = 0, pretend = 0, frame = 16 303 @ frame_needed = 1, uses_anonymous_args = 0 304 0000 80B5 push {r7, lr} 305 .LCFI5: 306 .cfi_def_cfa_offset 8 307 .cfi_offset 7, -8 308 .cfi_offset 14, -4 309 0002 84B0 sub sp, sp, #16 310 .LCFI6: 311 .cfi_def_cfa_offset 24 312 0004 00AF add r7, sp, #0 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 12 313 .LCFI7: 314 .cfi_def_cfa_register 7 315 0006 7860 str r0, [r7, #4] 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) 316 .loc 1 314 5 317 0008 7B68 ldr r3, [r7, #4] 318 000a 002B cmp r3, #0 319 000c 01D1 bne .L11 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 320 .loc 1 316 12 321 000e 0123 movs r3, #1 322 0010 50E0 b .L12 323 .L11: 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) 324 .loc 1 320 10 325 0012 7B68 ldr r3, [r7, #4] 326 0014 93F83530 ldrb r3, [r3, #53] 327 0018 DBB2 uxtb r3, r3 328 .loc 1 320 5 329 001a 022B cmp r3, #2 330 001c 01D1 bne .L13 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; 331 .loc 1 323 12 332 001e 0223 movs r3, #2 333 0020 48E0 b .L12 334 .L13: 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); 335 .loc 1 330 3 336 0022 7B68 ldr r3, [r7, #4] 337 0024 1B68 ldr r3, [r3] 338 0026 1A68 ldr r2, [r3] 339 0028 7B68 ldr r3, [r7, #4] 340 002a 1B68 ldr r3, [r3] 341 002c 22F00102 bic r2, r2, #1 342 0030 1A60 str r2, [r3] 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; 343 .loc 1 333 7 344 0032 7B68 ldr r3, [r7, #4] 345 0034 1B68 ldr r3, [r3] 346 .loc 1 333 24 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 13 347 0036 0022 movs r2, #0 348 0038 1A60 str r2, [r3] 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; 349 .loc 1 336 7 350 003a 7B68 ldr r3, [r7, #4] 351 003c 1B68 ldr r3, [r3] 352 .loc 1 336 24 353 003e 0022 movs r2, #0 354 0040 5A60 str r2, [r3, #4] 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; 355 .loc 1 339 7 356 0042 7B68 ldr r3, [r7, #4] 357 0044 1B68 ldr r3, [r3] 358 .loc 1 339 24 359 0046 0022 movs r2, #0 360 0048 9A60 str r2, [r3, #8] 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; 361 .loc 1 342 7 362 004a 7B68 ldr r3, [r7, #4] 363 004c 1B68 ldr r3, [r3] 364 .loc 1 342 24 365 004e 0022 movs r2, #0 366 0050 DA60 str r2, [r3, #12] 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; 367 .loc 1 345 7 368 0052 7B68 ldr r3, [r7, #4] 369 0054 1B68 ldr r3, [r3] 370 .loc 1 345 24 371 0056 0022 movs r2, #0 372 0058 1A61 str r2, [r3, #16] 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; 373 .loc 1 348 7 374 005a 7B68 ldr r3, [r7, #4] 375 005c 1B68 ldr r3, [r3] 376 .loc 1 348 24 377 005e 2122 movs r2, #33 378 0060 5A61 str r2, [r3, #20] 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); 379 .loc 1 351 32 380 0062 7868 ldr r0, [r7, #4] 381 0064 FFF7FEFF bl DMA_CalcBaseAndBitshift 382 0068 0346 mov r3, r0 383 .loc 1 351 8 384 006a FB60 str r3, [r7, #12] 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 14 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; 385 .loc 1 354 26 386 006c 7B68 ldr r3, [r7, #4] 387 006e 0022 movs r2, #0 388 0070 DA63 str r2, [r3, #60] 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 389 .loc 1 355 30 390 0072 7B68 ldr r3, [r7, #4] 391 0074 0022 movs r2, #0 392 0076 1A64 str r2, [r3, #64] 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 393 .loc 1 356 28 394 0078 7B68 ldr r3, [r7, #4] 395 007a 0022 movs r2, #0 396 007c 5A64 str r2, [r3, #68] 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 397 .loc 1 357 32 398 007e 7B68 ldr r3, [r7, #4] 399 0080 0022 movs r2, #0 400 0082 9A64 str r2, [r3, #72] 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 401 .loc 1 358 27 402 0084 7B68 ldr r3, [r7, #4] 403 0086 0022 movs r2, #0 404 0088 DA64 str r2, [r3, #76] 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 405 .loc 1 359 27 406 008a 7B68 ldr r3, [r7, #4] 407 008c 0022 movs r2, #0 408 008e 1A65 str r2, [r3, #80] 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; 409 .loc 1 362 29 410 0090 7B68 ldr r3, [r7, #4] 411 0092 DB6D ldr r3, [r3, #92] 412 .loc 1 362 22 413 0094 3F22 movs r2, #63 414 0096 9A40 lsls r2, r2, r3 415 .loc 1 362 14 416 0098 FB68 ldr r3, [r7, #12] 417 009a 9A60 str r2, [r3, #8] 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; 418 .loc 1 365 19 419 009c 7B68 ldr r3, [r7, #4] 420 009e 0022 movs r2, #0 421 00a0 5A65 str r2, [r3, #84] 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; 422 .loc 1 368 15 423 00a2 7B68 ldr r3, [r7, #4] 424 00a4 0022 movs r2, #0 425 00a6 83F83520 strb r2, [r3, #53] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 15 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); 426 .loc 1 371 3 427 00aa 7B68 ldr r3, [r7, #4] 428 00ac 0022 movs r2, #0 429 00ae 83F83420 strb r2, [r3, #52] 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 430 .loc 1 373 10 431 00b2 0023 movs r3, #0 432 .L12: 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 433 .loc 1 374 1 434 00b4 1846 mov r0, r3 435 00b6 1037 adds r7, r7, #16 436 .LCFI8: 437 .cfi_def_cfa_offset 8 438 00b8 BD46 mov sp, r7 439 .LCFI9: 440 .cfi_def_cfa_register 13 441 @ sp needed 442 00ba 80BD pop {r7, pc} 443 .cfi_endproc 444 .LFE236: 446 .section .text.HAL_DMA_Start,"ax",%progbits 447 .align 1 448 .global HAL_DMA_Start 449 .syntax unified 450 .thumb 451 .thumb_func 453 HAL_DMA_Start: 454 .LFB237: 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 **** /** ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 16 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 **** { 455 .loc 1 408 1 456 .cfi_startproc 457 @ args = 0, pretend = 0, frame = 24 458 @ frame_needed = 1, uses_anonymous_args = 0 459 0000 80B5 push {r7, lr} 460 .LCFI10: 461 .cfi_def_cfa_offset 8 462 .cfi_offset 7, -8 463 .cfi_offset 14, -4 464 0002 86B0 sub sp, sp, #24 465 .LCFI11: 466 .cfi_def_cfa_offset 32 467 0004 00AF add r7, sp, #0 468 .LCFI12: 469 .cfi_def_cfa_register 7 470 0006 F860 str r0, [r7, #12] 471 0008 B960 str r1, [r7, #8] 472 000a 7A60 str r2, [r7, #4] 473 000c 3B60 str r3, [r7] 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 474 .loc 1 409 21 475 000e 0023 movs r3, #0 476 0010 FB75 strb r3, [r7, #23] 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); 477 .loc 1 415 3 478 0012 FB68 ldr r3, [r7, #12] 479 0014 93F83430 ldrb r3, [r3, #52] @ zero_extendqisi2 480 0018 012B cmp r3, #1 481 001a 01D1 bne .L15 482 .loc 1 415 3 is_stmt 0 discriminator 1 483 001c 0223 movs r3, #2 484 001e 26E0 b .L16 485 .L15: 486 .loc 1 415 3 discriminator 2 487 0020 FB68 ldr r3, [r7, #12] 488 0022 0122 movs r2, #1 489 0024 83F83420 strb r2, [r3, #52] 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) 490 .loc 1 417 33 is_stmt 1 discriminator 2 491 0028 FB68 ldr r3, [r7, #12] 492 002a 93F83530 ldrb r3, [r3, #53] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 17 493 002e DBB2 uxtb r3, r3 494 .loc 1 417 5 discriminator 2 495 0030 012B cmp r3, #1 496 0032 15D1 bne .L17 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; 497 .loc 1 420 17 498 0034 FB68 ldr r3, [r7, #12] 499 0036 0222 movs r2, #2 500 0038 83F83520 strb r2, [r3, #53] 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; 501 .loc 1 423 21 502 003c FB68 ldr r3, [r7, #12] 503 003e 0022 movs r2, #0 504 0040 5A65 str r2, [r3, #84] 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); 505 .loc 1 426 5 506 0042 3B68 ldr r3, [r7] 507 0044 7A68 ldr r2, [r7, #4] 508 0046 B968 ldr r1, [r7, #8] 509 0048 F868 ldr r0, [r7, #12] 510 004a FFF7FEFF bl DMA_SetConfig 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); 511 .loc 1 429 5 512 004e FB68 ldr r3, [r7, #12] 513 0050 1B68 ldr r3, [r3] 514 0052 1A68 ldr r2, [r3] 515 0054 FB68 ldr r3, [r7, #12] 516 0056 1B68 ldr r3, [r3] 517 0058 42F00102 orr r2, r2, #1 518 005c 1A60 str r2, [r3] 519 005e 05E0 b .L18 520 .L17: 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); 521 .loc 1 434 5 522 0060 FB68 ldr r3, [r7, #12] 523 0062 0022 movs r2, #0 524 0064 83F83420 strb r2, [r3, #52] 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; 525 .loc 1 437 12 526 0068 0223 movs r3, #2 527 006a FB75 strb r3, [r7, #23] 528 .L18: 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 18 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 529 .loc 1 439 10 530 006c FB7D ldrb r3, [r7, #23] @ zero_extendqisi2 531 .L16: 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 532 .loc 1 440 1 533 006e 1846 mov r0, r3 534 0070 1837 adds r7, r7, #24 535 .LCFI13: 536 .cfi_def_cfa_offset 8 537 0072 BD46 mov sp, r7 538 .LCFI14: 539 .cfi_def_cfa_register 13 540 @ sp needed 541 0074 80BD pop {r7, pc} 542 .cfi_endproc 543 .LFE237: 545 .section .text.HAL_DMA_Start_IT,"ax",%progbits 546 .align 1 547 .global HAL_DMA_Start_IT 548 .syntax unified 549 .thumb 550 .thumb_func 552 HAL_DMA_Start_IT: 553 .LFB238: 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 **** { 554 .loc 1 452 1 555 .cfi_startproc 556 @ args = 0, pretend = 0, frame = 24 557 @ frame_needed = 1, uses_anonymous_args = 0 558 0000 80B5 push {r7, lr} 559 .LCFI15: 560 .cfi_def_cfa_offset 8 561 .cfi_offset 7, -8 562 .cfi_offset 14, -4 563 0002 86B0 sub sp, sp, #24 564 .LCFI16: 565 .cfi_def_cfa_offset 32 566 0004 00AF add r7, sp, #0 567 .LCFI17: 568 .cfi_def_cfa_register 7 569 0006 F860 str r0, [r7, #12] 570 0008 B960 str r1, [r7, #8] 571 000a 7A60 str r2, [r7, #4] 572 000c 3B60 str r3, [r7] 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 19 573 .loc 1 453 21 574 000e 0023 movs r3, #0 575 0010 FB75 strb r3, [r7, #23] 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; 576 .loc 1 456 56 577 0012 FB68 ldr r3, [r7, #12] 578 0014 9B6D ldr r3, [r3, #88] 579 .loc 1 456 23 580 0016 3B61 str r3, [r7, #16] 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); 581 .loc 1 462 3 582 0018 FB68 ldr r3, [r7, #12] 583 001a 93F83430 ldrb r3, [r3, #52] @ zero_extendqisi2 584 001e 012B cmp r3, #1 585 0020 01D1 bne .L20 586 .loc 1 462 3 is_stmt 0 discriminator 1 587 0022 0223 movs r3, #2 588 0024 40E0 b .L21 589 .L20: 590 .loc 1 462 3 discriminator 2 591 0026 FB68 ldr r3, [r7, #12] 592 0028 0122 movs r2, #1 593 002a 83F83420 strb r2, [r3, #52] 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) 594 .loc 1 464 33 is_stmt 1 discriminator 2 595 002e FB68 ldr r3, [r7, #12] 596 0030 93F83530 ldrb r3, [r3, #53] 597 0034 DBB2 uxtb r3, r3 598 .loc 1 464 5 discriminator 2 599 0036 012B cmp r3, #1 600 0038 2FD1 bne .L22 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; 601 .loc 1 467 17 602 003a FB68 ldr r3, [r7, #12] 603 003c 0222 movs r2, #2 604 003e 83F83520 strb r2, [r3, #53] 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; 605 .loc 1 470 21 606 0042 FB68 ldr r3, [r7, #12] 607 0044 0022 movs r2, #0 608 0046 5A65 str r2, [r3, #84] 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); 609 .loc 1 473 5 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 20 610 0048 3B68 ldr r3, [r7] 611 004a 7A68 ldr r2, [r7, #4] 612 004c B968 ldr r1, [r7, #8] 613 004e F868 ldr r0, [r7, #12] 614 0050 FFF7FEFF bl DMA_SetConfig 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; 615 .loc 1 476 31 616 0054 FB68 ldr r3, [r7, #12] 617 0056 DB6D ldr r3, [r3, #92] 618 .loc 1 476 24 619 0058 3F22 movs r2, #63 620 005a 9A40 lsls r2, r2, r3 621 .loc 1 476 16 622 005c 3B69 ldr r3, [r7, #16] 623 005e 9A60 str r2, [r3, #8] 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; 624 .loc 1 479 9 625 0060 FB68 ldr r3, [r7, #12] 626 0062 1B68 ldr r3, [r3] 627 .loc 1 479 25 628 0064 1A68 ldr r2, [r3] 629 .loc 1 479 9 630 0066 FB68 ldr r3, [r7, #12] 631 0068 1B68 ldr r3, [r3] 632 .loc 1 479 25 633 006a 42F01602 orr r2, r2, #22 634 006e 1A60 str r2, [r3] 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) 635 .loc 1 481 12 636 0070 FB68 ldr r3, [r7, #12] 637 0072 1B6C ldr r3, [r3, #64] 638 .loc 1 481 7 639 0074 002B cmp r3, #0 640 0076 07D0 beq .L23 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; 641 .loc 1 483 11 642 0078 FB68 ldr r3, [r7, #12] 643 007a 1B68 ldr r3, [r3] 644 .loc 1 483 27 645 007c 1A68 ldr r2, [r3] 646 .loc 1 483 11 647 007e FB68 ldr r3, [r7, #12] 648 0080 1B68 ldr r3, [r3] 649 .loc 1 483 27 650 0082 42F00802 orr r2, r2, #8 651 0086 1A60 str r2, [r3] 652 .L23: 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 */ 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_ENABLE(hdma); ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 21 653 .loc 1 487 5 654 0088 FB68 ldr r3, [r7, #12] 655 008a 1B68 ldr r3, [r3] 656 008c 1A68 ldr r2, [r3] 657 008e FB68 ldr r3, [r7, #12] 658 0090 1B68 ldr r3, [r3] 659 0092 42F00102 orr r2, r2, #1 660 0096 1A60 str r2, [r3] 661 0098 05E0 b .L24 662 .L22: 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); 663 .loc 1 492 5 664 009a FB68 ldr r3, [r7, #12] 665 009c 0022 movs r2, #0 666 009e 83F83420 strb r2, [r3, #52] 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; 667 .loc 1 495 12 668 00a2 0223 movs r3, #2 669 00a4 FB75 strb r3, [r7, #23] 670 .L24: 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; 671 .loc 1 498 10 672 00a6 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2 673 .L21: 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 674 .loc 1 499 1 675 00a8 1846 mov r0, r3 676 00aa 1837 adds r7, r7, #24 677 .LCFI18: 678 .cfi_def_cfa_offset 8 679 00ac BD46 mov sp, r7 680 .LCFI19: 681 .cfi_def_cfa_register 13 682 @ sp needed 683 00ae 80BD pop {r7, pc} 684 .cfi_endproc 685 .LFE238: 687 .section .text.HAL_DMA_Abort,"ax",%progbits 688 .align 1 689 .global HAL_DMA_Abort 690 .syntax unified 691 .thumb 692 .thumb_func 694 HAL_DMA_Abort: 695 .LFB239: 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 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 22 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 **** { 696 .loc 1 514 1 697 .cfi_startproc 698 @ args = 0, pretend = 0, frame = 16 699 @ frame_needed = 1, uses_anonymous_args = 0 700 0000 80B5 push {r7, lr} 701 .LCFI20: 702 .cfi_def_cfa_offset 8 703 .cfi_offset 7, -8 704 .cfi_offset 14, -4 705 0002 84B0 sub sp, sp, #16 706 .LCFI21: 707 .cfi_def_cfa_offset 24 708 0004 00AF add r7, sp, #0 709 .LCFI22: 710 .cfi_def_cfa_register 7 711 0006 7860 str r0, [r7, #4] 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; 712 .loc 1 516 56 713 0008 7B68 ldr r3, [r7, #4] 714 000a 9B6D ldr r3, [r3, #88] 715 .loc 1 516 23 716 000c FB60 str r3, [r7, #12] 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(); 717 .loc 1 518 24 718 000e FFF7FEFF bl HAL_GetTick 719 0012 B860 str r0, [r7, #8] 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) 720 .loc 1 520 10 721 0014 7B68 ldr r3, [r7, #4] 722 0016 93F83530 ldrb r3, [r3, #53] 723 001a DBB2 uxtb r3, r3 724 .loc 1 520 5 725 001c 022B cmp r3, #2 726 001e 08D0 beq .L26 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; 727 .loc 1 522 21 728 0020 7B68 ldr r3, [r7, #4] 729 0022 8022 movs r2, #128 730 0024 5A65 str r2, [r3, #84] 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); ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 23 731 .loc 1 525 5 732 0026 7B68 ldr r3, [r7, #4] 733 0028 0022 movs r2, #0 734 002a 83F83420 strb r2, [r3, #52] 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 735 .loc 1 527 12 736 002e 0123 movs r3, #1 737 0030 52E0 b .L27 738 .L26: 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); 739 .loc 1 532 9 740 0032 7B68 ldr r3, [r7, #4] 741 0034 1B68 ldr r3, [r3] 742 .loc 1 532 25 743 0036 1A68 ldr r2, [r3] 744 .loc 1 532 9 745 0038 7B68 ldr r3, [r7, #4] 746 003a 1B68 ldr r3, [r3] 747 .loc 1 532 25 748 003c 22F01602 bic r2, r2, #22 749 0040 1A60 str r2, [r3] 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 750 .loc 1 533 9 751 0042 7B68 ldr r3, [r7, #4] 752 0044 1B68 ldr r3, [r3] 753 .loc 1 533 25 754 0046 5A69 ldr r2, [r3, #20] 755 .loc 1 533 9 756 0048 7B68 ldr r3, [r7, #4] 757 004a 1B68 ldr r3, [r3] 758 .loc 1 533 25 759 004c 22F08002 bic r2, r2, #128 760 0050 5A61 str r2, [r3, #20] 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)) 761 .loc 1 535 13 762 0052 7B68 ldr r3, [r7, #4] 763 0054 1B6C ldr r3, [r3, #64] 764 .loc 1 535 7 765 0056 002B cmp r3, #0 766 0058 03D1 bne .L28 767 .loc 1 535 53 discriminator 1 768 005a 7B68 ldr r3, [r7, #4] 769 005c 9B6C ldr r3, [r3, #72] 770 .loc 1 535 45 discriminator 1 771 005e 002B cmp r3, #0 772 0060 07D0 beq .L29 773 .L28: 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); 774 .loc 1 537 11 775 0062 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 24 776 0064 1B68 ldr r3, [r3] 777 .loc 1 537 27 778 0066 1A68 ldr r2, [r3] 779 .loc 1 537 11 780 0068 7B68 ldr r3, [r7, #4] 781 006a 1B68 ldr r3, [r3] 782 .loc 1 537 27 783 006c 22F00802 bic r2, r2, #8 784 0070 1A60 str r2, [r3] 785 .L29: 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); 786 .loc 1 541 5 787 0072 7B68 ldr r3, [r7, #4] 788 0074 1B68 ldr r3, [r3] 789 0076 1A68 ldr r2, [r3] 790 0078 7B68 ldr r3, [r7, #4] 791 007a 1B68 ldr r3, [r3] 792 007c 22F00102 bic r2, r2, #1 793 0080 1A60 str r2, [r3] 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 */ 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 794 .loc 1 544 10 795 0082 13E0 b .L30 796 .L31: 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) 797 .loc 1 547 11 798 0084 FFF7FEFF bl HAL_GetTick 799 0088 0246 mov r2, r0 800 .loc 1 547 25 801 008a BB68 ldr r3, [r7, #8] 802 008c D31A subs r3, r2, r3 803 .loc 1 547 9 804 008e 052B cmp r3, #5 805 0090 0CD9 bls .L30 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; 806 .loc 1 550 25 807 0092 7B68 ldr r3, [r7, #4] 808 0094 2022 movs r2, #32 809 0096 5A65 str r2, [r3, #84] 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; 810 .loc 1 553 21 811 0098 7B68 ldr r3, [r7, #4] 812 009a 0322 movs r2, #3 813 009c 83F83520 strb r2, [r3, #53] 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); ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 25 814 .loc 1 556 9 815 00a0 7B68 ldr r3, [r7, #4] 816 00a2 0022 movs r2, #0 817 00a4 83F83420 strb r2, [r3, #52] 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT; 818 .loc 1 558 16 819 00a8 0323 movs r3, #3 820 00aa 15E0 b .L27 821 .L30: 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 822 .loc 1 544 16 823 00ac 7B68 ldr r3, [r7, #4] 824 00ae 1B68 ldr r3, [r3] 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 825 .loc 1 544 26 826 00b0 1B68 ldr r3, [r3] 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 827 .loc 1 544 31 828 00b2 03F00103 and r3, r3, #1 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 829 .loc 1 544 10 830 00b6 002B cmp r3, #0 831 00b8 E4D1 bne .L31 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; 832 .loc 1 563 31 833 00ba 7B68 ldr r3, [r7, #4] 834 00bc DB6D ldr r3, [r3, #92] 835 .loc 1 563 24 836 00be 3F22 movs r2, #63 837 00c0 9A40 lsls r2, r2, r3 838 .loc 1 563 16 839 00c2 FB68 ldr r3, [r7, #12] 840 00c4 9A60 str r2, [r3, #8] 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; 841 .loc 1 566 17 842 00c6 7B68 ldr r3, [r7, #4] 843 00c8 0122 movs r2, #1 844 00ca 83F83520 strb r2, [r3, #53] 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); 845 .loc 1 569 5 846 00ce 7B68 ldr r3, [r7, #4] 847 00d0 0022 movs r2, #0 848 00d2 83F83420 strb r2, [r3, #52] 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK; 849 .loc 1 571 10 850 00d6 0023 movs r3, #0 851 .L27: ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 26 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 852 .loc 1 572 1 853 00d8 1846 mov r0, r3 854 00da 1037 adds r7, r7, #16 855 .LCFI23: 856 .cfi_def_cfa_offset 8 857 00dc BD46 mov sp, r7 858 .LCFI24: 859 .cfi_def_cfa_register 13 860 @ sp needed 861 00de 80BD pop {r7, pc} 862 .cfi_endproc 863 .LFE239: 865 .section .text.HAL_DMA_Abort_IT,"ax",%progbits 866 .align 1 867 .global HAL_DMA_Abort_IT 868 .syntax unified 869 .thumb 870 .thumb_func 872 HAL_DMA_Abort_IT: 873 .LFB240: 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 **** { 874 .loc 1 581 1 875 .cfi_startproc 876 @ args = 0, pretend = 0, frame = 8 877 @ frame_needed = 1, uses_anonymous_args = 0 878 @ link register save eliminated. 879 0000 80B4 push {r7} 880 .LCFI25: 881 .cfi_def_cfa_offset 4 882 .cfi_offset 7, -4 883 0002 83B0 sub sp, sp, #12 884 .LCFI26: 885 .cfi_def_cfa_offset 16 886 0004 00AF add r7, sp, #0 887 .LCFI27: 888 .cfi_def_cfa_register 7 889 0006 7860 str r0, [r7, #4] 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY) 890 .loc 1 582 10 891 0008 7B68 ldr r3, [r7, #4] 892 000a 93F83530 ldrb r3, [r3, #53] 893 000e DBB2 uxtb r3, r3 894 .loc 1 582 5 895 0010 022B cmp r3, #2 896 0012 04D0 beq .L33 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; 897 .loc 1 584 21 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 27 898 0014 7B68 ldr r3, [r7, #4] 899 0016 8022 movs r2, #128 900 0018 5A65 str r2, [r3, #84] 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 901 .loc 1 585 12 902 001a 0123 movs r3, #1 903 001c 0CE0 b .L34 904 .L33: 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; 905 .loc 1 590 17 906 001e 7B68 ldr r3, [r7, #4] 907 0020 0522 movs r2, #5 908 0022 83F83520 strb r2, [r3, #53] 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); 909 .loc 1 593 5 910 0026 7B68 ldr r3, [r7, #4] 911 0028 1B68 ldr r3, [r3] 912 002a 1A68 ldr r2, [r3] 913 002c 7B68 ldr r3, [r7, #4] 914 002e 1B68 ldr r3, [r3] 915 0030 22F00102 bic r2, r2, #1 916 0034 1A60 str r2, [r3] 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; 917 .loc 1 596 10 918 0036 0023 movs r3, #0 919 .L34: 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 920 .loc 1 597 1 921 0038 1846 mov r0, r3 922 003a 0C37 adds r7, r7, #12 923 .LCFI28: 924 .cfi_def_cfa_offset 4 925 003c BD46 mov sp, r7 926 .LCFI29: 927 .cfi_def_cfa_register 13 928 @ sp needed 929 003e 5DF8047B ldr r7, [sp], #4 930 .LCFI30: 931 .cfi_restore 7 932 .cfi_def_cfa_offset 0 933 0042 7047 bx lr 934 .cfi_endproc 935 .LFE240: 937 .section .text.HAL_DMA_PollForTransfer,"ax",%progbits 938 .align 1 939 .global HAL_DMA_PollForTransfer 940 .syntax unified 941 .thumb 942 .thumb_func ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 28 944 HAL_DMA_PollForTransfer: 945 .LFB241: 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. 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 **** { 946 .loc 1 611 1 947 .cfi_startproc 948 @ args = 0, pretend = 0, frame = 40 949 @ frame_needed = 1, uses_anonymous_args = 0 950 0000 80B5 push {r7, lr} 951 .LCFI31: 952 .cfi_def_cfa_offset 8 953 .cfi_offset 7, -8 954 .cfi_offset 14, -4 955 0002 8AB0 sub sp, sp, #40 956 .LCFI32: 957 .cfi_def_cfa_offset 48 958 0004 00AF add r7, sp, #0 959 .LCFI33: 960 .cfi_def_cfa_register 7 961 0006 F860 str r0, [r7, #12] 962 0008 0B46 mov r3, r1 963 000a 7A60 str r2, [r7, #4] 964 000c FB72 strb r3, [r7, #11] 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 965 .loc 1 612 21 966 000e 0023 movs r3, #0 967 0010 FB77 strb r3, [r7, #31] 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(); 968 .loc 1 614 24 969 0012 FFF7FEFF bl HAL_GetTick 970 0016 B861 str r0, [r7, #24] 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) 971 .loc 1 620 32 972 0018 FB68 ldr r3, [r7, #12] 973 001a 93F83530 ldrb r3, [r3, #53] 974 001e DBB2 uxtb r3, r3 975 .loc 1 620 5 976 0020 022B cmp r3, #2 977 0022 08D0 beq .L36 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 29 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; 978 .loc 1 623 21 979 0024 FB68 ldr r3, [r7, #12] 980 0026 8022 movs r2, #128 981 0028 5A65 str r2, [r3, #84] 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma); 982 .loc 1 624 5 983 002a FB68 ldr r3, [r7, #12] 984 002c 0022 movs r2, #0 985 002e 83F83420 strb r2, [r3, #52] 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 986 .loc 1 625 12 987 0032 0123 movs r3, #1 988 0034 BFE0 b .L37 989 .L36: 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) 990 .loc 1 629 12 991 0036 FB68 ldr r3, [r7, #12] 992 0038 1B68 ldr r3, [r3] 993 .loc 1 629 22 994 003a 1B68 ldr r3, [r3] 995 .loc 1 629 27 996 003c 03F48073 and r3, r3, #256 997 .loc 1 629 6 998 0040 002B cmp r3, #0 999 0042 05D0 beq .L38 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; 1000 .loc 1 631 21 1001 0044 FB68 ldr r3, [r7, #12] 1002 0046 4FF48072 mov r2, #256 1003 004a 5A65 str r2, [r3, #84] 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1004 .loc 1 632 12 1005 004c 0123 movs r3, #1 1006 004e B2E0 b .L37 1007 .L38: 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) 1008 .loc 1 636 5 1009 0050 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2 1010 0052 002B cmp r3, #0 1011 0054 06D1 bne .L39 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; 1012 .loc 1 639 46 1013 0056 FB68 ldr r3, [r7, #12] 1014 0058 DB6D ldr r3, [r3, #92] 1015 .loc 1 639 20 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 30 1016 005a 2022 movs r2, #32 1017 005c 02FA03F3 lsl r3, r2, r3 1018 0060 7B62 str r3, [r7, #36] 1019 0062 05E0 b .L40 1020 .L39: 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; 1021 .loc 1 644 46 1022 0064 FB68 ldr r3, [r7, #12] 1023 0066 DB6D ldr r3, [r3, #92] 1024 .loc 1 644 20 1025 0068 1022 movs r2, #16 1026 006a 02FA03F3 lsl r3, r2, r3 1027 006e 7B62 str r3, [r7, #36] 1028 .L40: 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; 1029 .loc 1 647 36 1030 0070 FB68 ldr r3, [r7, #12] 1031 0072 9B6D ldr r3, [r3, #88] 1032 .loc 1 647 8 1033 0074 7B61 str r3, [r7, #20] 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 1034 .loc 1 648 10 1035 0076 7B69 ldr r3, [r7, #20] 1036 0078 1B68 ldr r3, [r3] 1037 007a 3B62 str r3, [r7, #32] 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)) 1038 .loc 1 650 8 1039 007c 5AE0 b .L41 1040 .L47: 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) 1041 .loc 1 653 7 1042 007e 7B68 ldr r3, [r7, #4] 1043 0080 B3F1FF3F cmp r3, #-1 1044 0084 17D0 beq .L42 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)) 1045 .loc 1 655 9 1046 0086 7B68 ldr r3, [r7, #4] 1047 0088 002B cmp r3, #0 1048 008a 07D0 beq .L43 1049 .loc 1 655 29 discriminator 1 1050 008c FFF7FEFF bl HAL_GetTick 1051 0090 0246 mov r2, r0 1052 .loc 1 655 43 discriminator 1 1053 0092 BB69 ldr r3, [r7, #24] 1054 0094 D31A subs r3, r2, r3 1055 .loc 1 655 25 discriminator 1 1056 0096 7A68 ldr r2, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 31 1057 0098 9A42 cmp r2, r3 1058 009a 0CD2 bcs .L42 1059 .L43: 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */ 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 1060 .loc 1 658 25 1061 009c FB68 ldr r3, [r7, #12] 1062 009e 2022 movs r2, #32 1063 00a0 5A65 str r2, [r3, #84] 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; 1064 .loc 1 661 21 1065 00a2 FB68 ldr r3, [r7, #12] 1066 00a4 0122 movs r2, #1 1067 00a6 83F83520 strb r2, [r3, #53] 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); 1068 .loc 1 664 9 1069 00aa FB68 ldr r3, [r7, #12] 1070 00ac 0022 movs r2, #0 1071 00ae 83F83420 strb r2, [r3, #52] 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT; 1072 .loc 1 666 16 1073 00b2 0323 movs r3, #3 1074 00b4 7FE0 b .L37 1075 .L42: 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; 1076 .loc 1 671 12 1077 00b6 7B69 ldr r3, [r7, #20] 1078 00b8 1B68 ldr r3, [r3] 1079 00ba 3B62 str r3, [r7, #32] 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) 1080 .loc 1 673 43 1081 00bc FB68 ldr r3, [r7, #12] 1082 00be DB6D ldr r3, [r3, #92] 1083 .loc 1 673 36 1084 00c0 0822 movs r2, #8 1085 00c2 9A40 lsls r2, r2, r3 1086 .loc 1 673 16 1087 00c4 3B6A ldr r3, [r7, #32] 1088 00c6 1340 ands r3, r3, r2 1089 .loc 1 673 7 1090 00c8 002B cmp r3, #0 1091 00ca 0BD0 beq .L44 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; 1092 .loc 1 676 23 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 32 1093 00cc FB68 ldr r3, [r7, #12] 1094 00ce 5B6D ldr r3, [r3, #84] 1095 00d0 43F00102 orr r2, r3, #1 1096 00d4 FB68 ldr r3, [r7, #12] 1097 00d6 5A65 str r2, [r3, #84] 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; 1098 .loc 1 679 44 1099 00d8 FB68 ldr r3, [r7, #12] 1100 00da DB6D ldr r3, [r3, #92] 1101 .loc 1 679 37 1102 00dc 0822 movs r2, #8 1103 00de 9A40 lsls r2, r2, r3 1104 .loc 1 679 18 1105 00e0 7B69 ldr r3, [r7, #20] 1106 00e2 9A60 str r2, [r3, #8] 1107 .L44: 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) 1108 .loc 1 682 43 1109 00e4 FB68 ldr r3, [r7, #12] 1110 00e6 DB6D ldr r3, [r3, #92] 1111 .loc 1 682 36 1112 00e8 0122 movs r2, #1 1113 00ea 9A40 lsls r2, r2, r3 1114 .loc 1 682 16 1115 00ec 3B6A ldr r3, [r7, #32] 1116 00ee 1340 ands r3, r3, r2 1117 .loc 1 682 7 1118 00f0 002B cmp r3, #0 1119 00f2 0BD0 beq .L45 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; 1120 .loc 1 685 23 1121 00f4 FB68 ldr r3, [r7, #12] 1122 00f6 5B6D ldr r3, [r3, #84] 1123 00f8 43F00202 orr r2, r3, #2 1124 00fc FB68 ldr r3, [r7, #12] 1125 00fe 5A65 str r2, [r3, #84] 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; 1126 .loc 1 688 44 1127 0100 FB68 ldr r3, [r7, #12] 1128 0102 DB6D ldr r3, [r3, #92] 1129 .loc 1 688 37 1130 0104 0122 movs r2, #1 1131 0106 9A40 lsls r2, r2, r3 1132 .loc 1 688 18 1133 0108 7B69 ldr r3, [r7, #20] 1134 010a 9A60 str r2, [r3, #8] 1135 .L45: 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 33 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) 1136 .loc 1 691 44 1137 010c FB68 ldr r3, [r7, #12] 1138 010e DB6D ldr r3, [r3, #92] 1139 .loc 1 691 37 1140 0110 0422 movs r2, #4 1141 0112 9A40 lsls r2, r2, r3 1142 .loc 1 691 16 1143 0114 3B6A ldr r3, [r7, #32] 1144 0116 1340 ands r3, r3, r2 1145 .loc 1 691 7 1146 0118 002B cmp r3, #0 1147 011a 0BD0 beq .L41 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; 1148 .loc 1 694 23 1149 011c FB68 ldr r3, [r7, #12] 1150 011e 5B6D ldr r3, [r3, #84] 1151 0120 43F00402 orr r2, r3, #4 1152 0124 FB68 ldr r3, [r7, #12] 1153 0126 5A65 str r2, [r3, #84] 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; 1154 .loc 1 697 45 1155 0128 FB68 ldr r3, [r7, #12] 1156 012a DB6D ldr r3, [r3, #92] 1157 .loc 1 697 38 1158 012c 0422 movs r2, #4 1159 012e 9A40 lsls r2, r2, r3 1160 .loc 1 697 18 1161 0130 7B69 ldr r3, [r7, #20] 1162 0132 9A60 str r2, [r3, #8] 1163 .L41: 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1164 .loc 1 650 18 1165 0134 3A6A ldr r2, [r7, #32] 1166 0136 7B6A ldr r3, [r7, #36] 1167 0138 1340 ands r3, r3, r2 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1168 .loc 1 650 8 1169 013a 002B cmp r3, #0 1170 013c 05D1 bne .L46 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1171 .loc 1 650 55 discriminator 1 1172 013e FB68 ldr r3, [r7, #12] 1173 0140 5B6D ldr r3, [r3, #84] 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1174 .loc 1 650 67 discriminator 1 1175 0142 03F00103 and r3, r3, #1 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1176 .loc 1 650 46 discriminator 1 1177 0146 002B cmp r3, #0 1178 0148 99D0 beq .L47 1179 .L46: 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 34 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) 1180 .loc 1 701 10 1181 014a FB68 ldr r3, [r7, #12] 1182 014c 5B6D ldr r3, [r3, #84] 1183 .loc 1 701 5 1184 014e 002B cmp r3, #0 1185 0150 18D0 beq .L48 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) 1186 .loc 1 703 13 1187 0152 FB68 ldr r3, [r7, #12] 1188 0154 5B6D ldr r3, [r3, #84] 1189 .loc 1 703 25 1190 0156 03F00103 and r3, r3, #1 1191 .loc 1 703 7 1192 015a 002B cmp r3, #0 1193 015c 12D0 beq .L48 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_DMA_Abort(hdma); 1194 .loc 1 705 7 1195 015e F868 ldr r0, [r7, #12] 1196 0160 FFF7FEFF bl HAL_DMA_Abort 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; 1197 .loc 1 708 65 1198 0164 FB68 ldr r3, [r7, #12] 1199 0166 DB6D ldr r3, [r3, #92] 1200 .loc 1 708 58 1201 0168 3022 movs r2, #48 1202 016a 9A40 lsls r2, r2, r3 1203 .loc 1 708 18 1204 016c 7B69 ldr r3, [r7, #20] 1205 016e 9A60 str r2, [r3, #8] 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; 1206 .loc 1 711 18 1207 0170 FB68 ldr r3, [r7, #12] 1208 0172 0122 movs r2, #1 1209 0174 83F83520 strb r2, [r3, #53] 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); 1210 .loc 1 714 7 1211 0178 FB68 ldr r3, [r7, #12] 1212 017a 0022 movs r2, #0 1213 017c 83F83420 strb r2, [r3, #52] 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR; 1214 .loc 1 716 14 1215 0180 0123 movs r3, #1 1216 0182 18E0 b .L37 1217 .L48: 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 35 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) 1218 .loc 1 721 5 1219 0184 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2 1220 0186 002B cmp r3, #0 1221 0188 0ED1 bne .L49 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; 1222 .loc 1 724 63 1223 018a FB68 ldr r3, [r7, #12] 1224 018c DB6D ldr r3, [r3, #92] 1225 .loc 1 724 56 1226 018e 3022 movs r2, #48 1227 0190 9A40 lsls r2, r2, r3 1228 .loc 1 724 16 1229 0192 7B69 ldr r3, [r7, #20] 1230 0194 9A60 str r2, [r3, #8] 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; 1231 .loc 1 726 17 1232 0196 FB68 ldr r3, [r7, #12] 1233 0198 0122 movs r2, #1 1234 019a 83F83520 strb r2, [r3, #53] 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); 1235 .loc 1 729 5 1236 019e FB68 ldr r3, [r7, #12] 1237 01a0 0022 movs r2, #0 1238 01a2 83F83420 strb r2, [r3, #52] 1239 01a6 05E0 b .L50 1240 .L49: 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; 1241 .loc 1 734 44 1242 01a8 FB68 ldr r3, [r7, #12] 1243 01aa DB6D ldr r3, [r3, #92] 1244 .loc 1 734 37 1245 01ac 1022 movs r2, #16 1246 01ae 9A40 lsls r2, r2, r3 1247 .loc 1 734 16 1248 01b0 7B69 ldr r3, [r7, #20] 1249 01b2 9A60 str r2, [r3, #8] 1250 .L50: 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; 1251 .loc 1 737 10 1252 01b4 FB7F ldrb r3, [r7, #31] @ zero_extendqisi2 1253 .L37: 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 36 1254 .loc 1 738 1 1255 01b6 1846 mov r0, r3 1256 01b8 2837 adds r7, r7, #40 1257 .LCFI34: 1258 .cfi_def_cfa_offset 8 1259 01ba BD46 mov sp, r7 1260 .LCFI35: 1261 .cfi_def_cfa_register 13 1262 @ sp needed 1263 01bc 80BD pop {r7, pc} 1264 .cfi_endproc 1265 .LFE241: 1267 .section .text.HAL_DMA_IRQHandler,"ax",%progbits 1268 .align 1 1269 .global HAL_DMA_IRQHandler 1270 .syntax unified 1271 .thumb 1272 .thumb_func 1274 HAL_DMA_IRQHandler: 1275 .LFB242: 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 **** { 1276 .loc 1 747 1 1277 .cfi_startproc 1278 @ args = 0, pretend = 0, frame = 24 1279 @ frame_needed = 1, uses_anonymous_args = 0 1280 0000 80B5 push {r7, lr} 1281 .LCFI36: 1282 .cfi_def_cfa_offset 8 1283 .cfi_offset 7, -8 1284 .cfi_offset 14, -4 1285 0002 86B0 sub sp, sp, #24 1286 .LCFI37: 1287 .cfi_def_cfa_offset 32 1288 0004 00AF add r7, sp, #0 1289 .LCFI38: 1290 .cfi_def_cfa_register 7 1291 0006 7860 str r0, [r7, #4] 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; 1292 .loc 1 749 17 1293 0008 0023 movs r3, #0 1294 000a BB60 str r3, [r7, #8] 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U; 1295 .loc 1 750 38 1296 000c 8E4B ldr r3, .L74 1297 000e 1B68 ldr r3, [r3] 1298 .loc 1 750 12 1299 0010 8E4A ldr r2, .L74+4 1300 0012 A2FB0323 umull r2, r3, r2, r3 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 37 1301 0016 9B0A lsrs r3, r3, #10 1302 0018 7B61 str r3, [r7, #20] 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; 1303 .loc 1 753 56 1304 001a 7B68 ldr r3, [r7, #4] 1305 001c 9B6D ldr r3, [r3, #88] 1306 .loc 1 753 23 1307 001e 3B61 str r3, [r7, #16] 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR; 1308 .loc 1 755 10 1309 0020 3B69 ldr r3, [r7, #16] 1310 0022 1B68 ldr r3, [r3] 1311 0024 FB60 str r3, [r7, #12] 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) 1312 .loc 1 758 42 1313 0026 7B68 ldr r3, [r7, #4] 1314 0028 DB6D ldr r3, [r3, #92] 1315 .loc 1 758 35 1316 002a 0822 movs r2, #8 1317 002c 9A40 lsls r2, r2, r3 1318 .loc 1 758 15 1319 002e FB68 ldr r3, [r7, #12] 1320 0030 1340 ands r3, r3, r2 1321 .loc 1 758 6 1322 0032 002B cmp r3, #0 1323 0034 1AD0 beq .L52 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) 1324 .loc 1 760 8 1325 0036 7B68 ldr r3, [r7, #4] 1326 0038 1B68 ldr r3, [r3] 1327 003a 1B68 ldr r3, [r3] 1328 003c 03F00403 and r3, r3, #4 1329 .loc 1 760 7 1330 0040 002B cmp r3, #0 1331 0042 13D0 beq .L52 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); 1332 .loc 1 763 11 1333 0044 7B68 ldr r3, [r7, #4] 1334 0046 1B68 ldr r3, [r3] 1335 .loc 1 763 27 1336 0048 1A68 ldr r2, [r3] 1337 .loc 1 763 11 1338 004a 7B68 ldr r3, [r7, #4] 1339 004c 1B68 ldr r3, [r3] 1340 .loc 1 763 27 1341 004e 22F00402 bic r2, r2, #4 1342 0052 1A60 str r2, [r3] 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 */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 38 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; 1343 .loc 1 766 44 1344 0054 7B68 ldr r3, [r7, #4] 1345 0056 DB6D ldr r3, [r3, #92] 1346 .loc 1 766 37 1347 0058 0822 movs r2, #8 1348 005a 9A40 lsls r2, r2, r3 1349 .loc 1 766 18 1350 005c 3B69 ldr r3, [r7, #16] 1351 005e 9A60 str r2, [r3, #8] 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; 1352 .loc 1 769 23 1353 0060 7B68 ldr r3, [r7, #4] 1354 0062 5B6D ldr r3, [r3, #84] 1355 0064 43F00102 orr r2, r3, #1 1356 0068 7B68 ldr r3, [r7, #4] 1357 006a 5A65 str r2, [r3, #84] 1358 .L52: 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 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) 1359 .loc 1 773 42 1360 006c 7B68 ldr r3, [r7, #4] 1361 006e DB6D ldr r3, [r3, #92] 1362 .loc 1 773 35 1363 0070 0122 movs r2, #1 1364 0072 9A40 lsls r2, r2, r3 1365 .loc 1 773 15 1366 0074 FB68 ldr r3, [r7, #12] 1367 0076 1340 ands r3, r3, r2 1368 .loc 1 773 6 1369 0078 002B cmp r3, #0 1370 007a 12D0 beq .L53 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) 1371 .loc 1 775 8 1372 007c 7B68 ldr r3, [r7, #4] 1373 007e 1B68 ldr r3, [r3] 1374 0080 5B69 ldr r3, [r3, #20] 1375 0082 03F08003 and r3, r3, #128 1376 .loc 1 775 7 1377 0086 002B cmp r3, #0 1378 0088 0BD0 beq .L53 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; 1379 .loc 1 778 44 1380 008a 7B68 ldr r3, [r7, #4] 1381 008c DB6D ldr r3, [r3, #92] 1382 .loc 1 778 37 1383 008e 0122 movs r2, #1 1384 0090 9A40 lsls r2, r2, r3 1385 .loc 1 778 18 1386 0092 3B69 ldr r3, [r7, #16] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 39 1387 0094 9A60 str r2, [r3, #8] 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; 1388 .loc 1 781 23 1389 0096 7B68 ldr r3, [r7, #4] 1390 0098 5B6D ldr r3, [r3, #84] 1391 009a 43F00202 orr r2, r3, #2 1392 009e 7B68 ldr r3, [r7, #4] 1393 00a0 5A65 str r2, [r3, #84] 1394 .L53: 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) 1395 .loc 1 785 43 1396 00a2 7B68 ldr r3, [r7, #4] 1397 00a4 DB6D ldr r3, [r3, #92] 1398 .loc 1 785 36 1399 00a6 0422 movs r2, #4 1400 00a8 9A40 lsls r2, r2, r3 1401 .loc 1 785 15 1402 00aa FB68 ldr r3, [r7, #12] 1403 00ac 1340 ands r3, r3, r2 1404 .loc 1 785 6 1405 00ae 002B cmp r3, #0 1406 00b0 12D0 beq .L54 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) 1407 .loc 1 787 8 1408 00b2 7B68 ldr r3, [r7, #4] 1409 00b4 1B68 ldr r3, [r3] 1410 00b6 1B68 ldr r3, [r3] 1411 00b8 03F00203 and r3, r3, #2 1412 .loc 1 787 7 1413 00bc 002B cmp r3, #0 1414 00be 0BD0 beq .L54 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; 1415 .loc 1 790 45 1416 00c0 7B68 ldr r3, [r7, #4] 1417 00c2 DB6D ldr r3, [r3, #92] 1418 .loc 1 790 38 1419 00c4 0422 movs r2, #4 1420 00c6 9A40 lsls r2, r2, r3 1421 .loc 1 790 18 1422 00c8 3B69 ldr r3, [r7, #16] 1423 00ca 9A60 str r2, [r3, #8] 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; 1424 .loc 1 793 23 1425 00cc 7B68 ldr r3, [r7, #4] 1426 00ce 5B6D ldr r3, [r3, #84] 1427 00d0 43F00402 orr r2, r3, #4 1428 00d4 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 40 1429 00d6 5A65 str r2, [r3, #84] 1430 .L54: 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) 1431 .loc 1 797 42 1432 00d8 7B68 ldr r3, [r7, #4] 1433 00da DB6D ldr r3, [r3, #92] 1434 .loc 1 797 35 1435 00dc 1022 movs r2, #16 1436 00de 9A40 lsls r2, r2, r3 1437 .loc 1 797 15 1438 00e0 FB68 ldr r3, [r7, #12] 1439 00e2 1340 ands r3, r3, r2 1440 .loc 1 797 6 1441 00e4 002B cmp r3, #0 1442 00e6 43D0 beq .L55 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) 1443 .loc 1 799 8 1444 00e8 7B68 ldr r3, [r7, #4] 1445 00ea 1B68 ldr r3, [r3] 1446 00ec 1B68 ldr r3, [r3] 1447 00ee 03F00803 and r3, r3, #8 1448 .loc 1 799 7 1449 00f2 002B cmp r3, #0 1450 00f4 3CD0 beq .L55 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; 1451 .loc 1 802 44 1452 00f6 7B68 ldr r3, [r7, #4] 1453 00f8 DB6D ldr r3, [r3, #92] 1454 .loc 1 802 37 1455 00fa 1022 movs r2, #16 1456 00fc 9A40 lsls r2, r2, r3 1457 .loc 1 802 18 1458 00fe 3B69 ldr r3, [r7, #16] 1459 0100 9A60 str r2, [r3, #8] 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) 1460 .loc 1 805 16 1461 0102 7B68 ldr r3, [r7, #4] 1462 0104 1B68 ldr r3, [r3] 1463 .loc 1 805 26 1464 0106 1B68 ldr r3, [r3] 1465 .loc 1 805 32 1466 0108 03F48023 and r3, r3, #262144 1467 .loc 1 805 9 1468 010c 002B cmp r3, #0 1469 010e 18D0 beq .L56 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) 1470 .loc 1 808 17 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 41 1471 0110 7B68 ldr r3, [r7, #4] 1472 0112 1B68 ldr r3, [r3] 1473 .loc 1 808 27 1474 0114 1B68 ldr r3, [r3] 1475 .loc 1 808 32 1476 0116 03F40023 and r3, r3, #524288 1477 .loc 1 808 11 1478 011a 002B cmp r3, #0 1479 011c 08D1 bne .L57 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) 1480 .loc 1 810 18 1481 011e 7B68 ldr r3, [r7, #4] 1482 0120 1B6C ldr r3, [r3, #64] 1483 .loc 1 810 13 1484 0122 002B cmp r3, #0 1485 0124 24D0 beq .L55 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); 1486 .loc 1 813 17 1487 0126 7B68 ldr r3, [r7, #4] 1488 0128 1B6C ldr r3, [r3, #64] 1489 .loc 1 813 13 1490 012a 7868 ldr r0, [r7, #4] 1491 012c 9847 blx r3 1492 .LVL0: 1493 012e 1FE0 b .L55 1494 .L57: 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) 1495 .loc 1 819 18 1496 0130 7B68 ldr r3, [r7, #4] 1497 0132 9B6C ldr r3, [r3, #72] 1498 .loc 1 819 13 1499 0134 002B cmp r3, #0 1500 0136 1BD0 beq .L55 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); 1501 .loc 1 822 17 1502 0138 7B68 ldr r3, [r7, #4] 1503 013a 9B6C ldr r3, [r3, #72] 1504 .loc 1 822 13 1505 013c 7868 ldr r0, [r7, #4] 1506 013e 9847 blx r3 1507 .LVL1: 1508 0140 16E0 b .L55 1509 .L56: 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 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 42 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 */ 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 1510 .loc 1 829 17 1511 0142 7B68 ldr r3, [r7, #4] 1512 0144 1B68 ldr r3, [r3] 1513 .loc 1 829 27 1514 0146 1B68 ldr r3, [r3] 1515 .loc 1 829 32 1516 0148 03F48073 and r3, r3, #256 1517 .loc 1 829 11 1518 014c 002B cmp r3, #0 1519 014e 07D1 bne .L58 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); 1520 .loc 1 832 15 1521 0150 7B68 ldr r3, [r7, #4] 1522 0152 1B68 ldr r3, [r3] 1523 .loc 1 832 31 1524 0154 1A68 ldr r2, [r3] 1525 .loc 1 832 15 1526 0156 7B68 ldr r3, [r7, #4] 1527 0158 1B68 ldr r3, [r3] 1528 .loc 1 832 31 1529 015a 22F00802 bic r2, r2, #8 1530 015e 1A60 str r2, [r3] 1531 .L58: 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) 1532 .loc 1 835 16 1533 0160 7B68 ldr r3, [r7, #4] 1534 0162 1B6C ldr r3, [r3, #64] 1535 .loc 1 835 11 1536 0164 002B cmp r3, #0 1537 0166 03D0 beq .L55 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); 1538 .loc 1 838 15 1539 0168 7B68 ldr r3, [r7, #4] 1540 016a 1B6C ldr r3, [r3, #64] 1541 .loc 1 838 11 1542 016c 7868 ldr r0, [r7, #4] 1543 016e 9847 blx r3 1544 .LVL2: 1545 .L55: 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) 1546 .loc 1 844 42 1547 0170 7B68 ldr r3, [r7, #4] 1548 0172 DB6D ldr r3, [r3, #92] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 43 1549 .loc 1 844 35 1550 0174 2022 movs r2, #32 1551 0176 9A40 lsls r2, r2, r3 1552 .loc 1 844 15 1553 0178 FB68 ldr r3, [r7, #12] 1554 017a 1340 ands r3, r3, r2 1555 .loc 1 844 6 1556 017c 002B cmp r3, #0 1557 017e 00F08F80 beq .L59 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) 1558 .loc 1 846 8 1559 0182 7B68 ldr r3, [r7, #4] 1560 0184 1B68 ldr r3, [r3] 1561 0186 1B68 ldr r3, [r3] 1562 0188 03F01003 and r3, r3, #16 1563 .loc 1 846 7 1564 018c 002B cmp r3, #0 1565 018e 00F08780 beq .L59 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; 1566 .loc 1 849 44 1567 0192 7B68 ldr r3, [r7, #4] 1568 0194 DB6D ldr r3, [r3, #92] 1569 .loc 1 849 37 1570 0196 2022 movs r2, #32 1571 0198 9A40 lsls r2, r2, r3 1572 .loc 1 849 18 1573 019a 3B69 ldr r3, [r7, #16] 1574 019c 9A60 str r2, [r3, #8] 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) 1575 .loc 1 851 37 1576 019e 7B68 ldr r3, [r7, #4] 1577 01a0 93F83530 ldrb r3, [r3, #53] 1578 01a4 DBB2 uxtb r3, r3 1579 .loc 1 851 9 1580 01a6 052B cmp r3, #5 1581 01a8 36D1 bne .L60 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); 1582 .loc 1 854 13 1583 01aa 7B68 ldr r3, [r7, #4] 1584 01ac 1B68 ldr r3, [r3] 1585 .loc 1 854 29 1586 01ae 1A68 ldr r2, [r3] 1587 .loc 1 854 13 1588 01b0 7B68 ldr r3, [r7, #4] 1589 01b2 1B68 ldr r3, [r3] 1590 .loc 1 854 29 1591 01b4 22F01602 bic r2, r2, #22 1592 01b8 1A60 str r2, [r3] 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE); 1593 .loc 1 855 13 1594 01ba 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 44 1595 01bc 1B68 ldr r3, [r3] 1596 .loc 1 855 29 1597 01be 5A69 ldr r2, [r3, #20] 1598 .loc 1 855 13 1599 01c0 7B68 ldr r3, [r7, #4] 1600 01c2 1B68 ldr r3, [r3] 1601 .loc 1 855 29 1602 01c4 22F08002 bic r2, r2, #128 1603 01c8 5A61 str r2, [r3, #20] 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)) 1604 .loc 1 857 17 1605 01ca 7B68 ldr r3, [r7, #4] 1606 01cc 1B6C ldr r3, [r3, #64] 1607 .loc 1 857 11 1608 01ce 002B cmp r3, #0 1609 01d0 03D1 bne .L61 1610 .loc 1 857 57 discriminator 1 1611 01d2 7B68 ldr r3, [r7, #4] 1612 01d4 9B6C ldr r3, [r3, #72] 1613 .loc 1 857 49 discriminator 1 1614 01d6 002B cmp r3, #0 1615 01d8 07D0 beq .L62 1616 .L61: 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); 1617 .loc 1 859 15 1618 01da 7B68 ldr r3, [r7, #4] 1619 01dc 1B68 ldr r3, [r3] 1620 .loc 1 859 31 1621 01de 1A68 ldr r2, [r3] 1622 .loc 1 859 15 1623 01e0 7B68 ldr r3, [r7, #4] 1624 01e2 1B68 ldr r3, [r3] 1625 .loc 1 859 31 1626 01e4 22F00802 bic r2, r2, #8 1627 01e8 1A60 str r2, [r3] 1628 .L62: 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; 1629 .loc 1 863 35 1630 01ea 7B68 ldr r3, [r7, #4] 1631 01ec DB6D ldr r3, [r3, #92] 1632 .loc 1 863 28 1633 01ee 3F22 movs r2, #63 1634 01f0 9A40 lsls r2, r2, r3 1635 .loc 1 863 20 1636 01f2 3B69 ldr r3, [r7, #16] 1637 01f4 9A60 str r2, [r3, #8] 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; 1638 .loc 1 866 21 1639 01f6 7B68 ldr r3, [r7, #4] 1640 01f8 0122 movs r2, #1 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 45 1641 01fa 83F83520 strb r2, [r3, #53] 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); 1642 .loc 1 869 9 1643 01fe 7B68 ldr r3, [r7, #4] 1644 0200 0022 movs r2, #0 1645 0202 83F83420 strb r2, [r3, #52] 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferAbortCallback != NULL) 1646 .loc 1 871 16 1647 0206 7B68 ldr r3, [r7, #4] 1648 0208 1B6D ldr r3, [r3, #80] 1649 .loc 1 871 11 1650 020a 002B cmp r3, #0 1651 020c 7ED0 beq .L72 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback(hdma); 1652 .loc 1 873 15 1653 020e 7B68 ldr r3, [r7, #4] 1654 0210 1B6D ldr r3, [r3, #80] 1655 .loc 1 873 11 1656 0212 7868 ldr r0, [r7, #4] 1657 0214 9847 blx r3 1658 .LVL3: 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return; 1659 .loc 1 875 9 1660 0216 79E0 b .L72 1661 .L60: 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) 1662 .loc 1 878 16 1663 0218 7B68 ldr r3, [r7, #4] 1664 021a 1B68 ldr r3, [r3] 1665 .loc 1 878 26 1666 021c 1B68 ldr r3, [r3] 1667 .loc 1 878 32 1668 021e 03F48023 and r3, r3, #262144 1669 .loc 1 878 9 1670 0222 002B cmp r3, #0 1671 0224 1DD0 beq .L65 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) 1672 .loc 1 881 17 1673 0226 7B68 ldr r3, [r7, #4] 1674 0228 1B68 ldr r3, [r3] 1675 .loc 1 881 27 1676 022a 1B68 ldr r3, [r3] 1677 .loc 1 881 32 1678 022c 03F40023 and r3, r3, #524288 1679 .loc 1 881 11 1680 0230 002B cmp r3, #0 1681 0232 0DD1 bne .L66 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 46 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferM1CpltCallback != NULL) 1682 .loc 1 883 18 1683 0234 7B68 ldr r3, [r7, #4] 1684 0236 5B6C ldr r3, [r3, #68] 1685 .loc 1 883 13 1686 0238 002B cmp r3, #0 1687 023a 31D0 beq .L59 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 */ 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback(hdma); 1688 .loc 1 886 17 1689 023c 7B68 ldr r3, [r7, #4] 1690 023e 5B6C ldr r3, [r3, #68] 1691 .loc 1 886 13 1692 0240 7868 ldr r0, [r7, #4] 1693 0242 9847 blx r3 1694 .LVL4: 1695 0244 2CE0 b .L59 1696 .L75: 1697 0246 00BF .align 2 1698 .L74: 1699 0248 00000000 .word SystemCoreClock 1700 024c B5814E1B .word 458129845 1701 .L66: 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) 1702 .loc 1 892 18 1703 0250 7B68 ldr r3, [r7, #4] 1704 0252 DB6B ldr r3, [r3, #60] 1705 .loc 1 892 13 1706 0254 002B cmp r3, #0 1707 0256 23D0 beq .L59 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); 1708 .loc 1 895 17 1709 0258 7B68 ldr r3, [r7, #4] 1710 025a DB6B ldr r3, [r3, #60] 1711 .loc 1 895 13 1712 025c 7868 ldr r0, [r7, #4] 1713 025e 9847 blx r3 1714 .LVL5: 1715 0260 1EE0 b .L59 1716 .L65: 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) 1717 .loc 1 902 17 1718 0262 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 47 1719 0264 1B68 ldr r3, [r3] 1720 .loc 1 902 27 1721 0266 1B68 ldr r3, [r3] 1722 .loc 1 902 32 1723 0268 03F48073 and r3, r3, #256 1724 .loc 1 902 11 1725 026c 002B cmp r3, #0 1726 026e 0FD1 bne .L67 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); 1727 .loc 1 905 15 1728 0270 7B68 ldr r3, [r7, #4] 1729 0272 1B68 ldr r3, [r3] 1730 .loc 1 905 31 1731 0274 1A68 ldr r2, [r3] 1732 .loc 1 905 15 1733 0276 7B68 ldr r3, [r7, #4] 1734 0278 1B68 ldr r3, [r3] 1735 .loc 1 905 31 1736 027a 22F01002 bic r2, r2, #16 1737 027e 1A60 str r2, [r3] 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; 1738 .loc 1 908 23 1739 0280 7B68 ldr r3, [r7, #4] 1740 0282 0122 movs r2, #1 1741 0284 83F83520 strb r2, [r3, #53] 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); 1742 .loc 1 911 11 1743 0288 7B68 ldr r3, [r7, #4] 1744 028a 0022 movs r2, #0 1745 028c 83F83420 strb r2, [r3, #52] 1746 .L67: 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) 1747 .loc 1 914 16 1748 0290 7B68 ldr r3, [r7, #4] 1749 0292 DB6B ldr r3, [r3, #60] 1750 .loc 1 914 11 1751 0294 002B cmp r3, #0 1752 0296 03D0 beq .L59 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); 1753 .loc 1 917 15 1754 0298 7B68 ldr r3, [r7, #4] 1755 029a DB6B ldr r3, [r3, #60] 1756 .loc 1 917 11 1757 029c 7868 ldr r0, [r7, #4] 1758 029e 9847 blx r3 1759 .LVL6: 1760 .L59: ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 48 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) 1761 .loc 1 924 10 1762 02a0 7B68 ldr r3, [r7, #4] 1763 02a2 5B6D ldr r3, [r3, #84] 1764 .loc 1 924 5 1765 02a4 002B cmp r3, #0 1766 02a6 32D0 beq .L51 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) 1767 .loc 1 926 13 1768 02a8 7B68 ldr r3, [r7, #4] 1769 02aa 5B6D ldr r3, [r3, #84] 1770 .loc 1 926 25 1771 02ac 03F00103 and r3, r3, #1 1772 .loc 1 926 7 1773 02b0 002B cmp r3, #0 1774 02b2 22D0 beq .L68 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; 1775 .loc 1 928 19 1776 02b4 7B68 ldr r3, [r7, #4] 1777 02b6 0522 movs r2, #5 1778 02b8 83F83520 strb r2, [r3, #53] 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); 1779 .loc 1 931 7 1780 02bc 7B68 ldr r3, [r7, #4] 1781 02be 1B68 ldr r3, [r3] 1782 02c0 1A68 ldr r2, [r3] 1783 02c2 7B68 ldr r3, [r7, #4] 1784 02c4 1B68 ldr r3, [r3] 1785 02c6 22F00102 bic r2, r2, #1 1786 02ca 1A60 str r2, [r3] 1787 .L71: 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) 1788 .loc 1 935 13 1789 02cc BB68 ldr r3, [r7, #8] 1790 02ce 0133 adds r3, r3, #1 1791 .loc 1 935 12 1792 02d0 BB60 str r3, [r7, #8] 1793 02d2 7A69 ldr r2, [r7, #20] 1794 02d4 9A42 cmp r2, r3 1795 02d6 07D3 bcc .L73 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 **** } ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 49 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET); 1796 .loc 1 940 18 1797 02d8 7B68 ldr r3, [r7, #4] 1798 02da 1B68 ldr r3, [r3] 1799 .loc 1 940 28 1800 02dc 1B68 ldr r3, [r3] 1801 .loc 1 940 33 1802 02de 03F00103 and r3, r3, #1 1803 .loc 1 940 7 1804 02e2 002B cmp r3, #0 1805 02e4 F2D1 bne .L71 1806 02e6 00E0 b .L70 1807 .L73: 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1808 .loc 1 937 11 1809 02e8 00BF nop 1810 .L70: 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */ 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 1811 .loc 1 943 19 1812 02ea 7B68 ldr r3, [r7, #4] 1813 02ec 0122 movs r2, #1 1814 02ee 83F83520 strb r2, [r3, #53] 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); 1815 .loc 1 946 7 1816 02f2 7B68 ldr r3, [r7, #4] 1817 02f4 0022 movs r2, #0 1818 02f6 83F83420 strb r2, [r3, #52] 1819 .L68: 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) 1820 .loc 1 949 12 1821 02fa 7B68 ldr r3, [r7, #4] 1822 02fc DB6C ldr r3, [r3, #76] 1823 .loc 1 949 7 1824 02fe 002B cmp r3, #0 1825 0300 05D0 beq .L51 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); 1826 .loc 1 952 11 1827 0302 7B68 ldr r3, [r7, #4] 1828 0304 DB6C ldr r3, [r3, #76] 1829 .loc 1 952 7 1830 0306 7868 ldr r0, [r7, #4] 1831 0308 9847 blx r3 1832 .LVL7: 1833 030a 00E0 b .L51 1834 .L72: 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1835 .loc 1 875 9 1836 030c 00BF nop 1837 .L51: ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 50 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 **** } 1838 .loc 1 955 1 1839 030e 1837 adds r7, r7, #24 1840 .LCFI39: 1841 .cfi_def_cfa_offset 8 1842 0310 BD46 mov sp, r7 1843 .LCFI40: 1844 .cfi_def_cfa_register 13 1845 @ sp needed 1846 0312 80BD pop {r7, pc} 1847 .cfi_endproc 1848 .LFE242: 1850 .section .text.HAL_DMA_RegisterCallback,"ax",%progbits 1851 .align 1 1852 .global HAL_DMA_RegisterCallback 1853 .syntax unified 1854 .thumb 1855 .thumb_func 1857 HAL_DMA_RegisterCallback: 1858 .LFB243: 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 **** { 1859 .loc 1 968 1 1860 .cfi_startproc 1861 @ args = 0, pretend = 0, frame = 24 1862 @ frame_needed = 1, uses_anonymous_args = 0 1863 @ link register save eliminated. 1864 0000 80B4 push {r7} 1865 .LCFI41: 1866 .cfi_def_cfa_offset 4 1867 .cfi_offset 7, -4 1868 0002 87B0 sub sp, sp, #28 1869 .LCFI42: 1870 .cfi_def_cfa_offset 32 1871 0004 00AF add r7, sp, #0 1872 .LCFI43: 1873 .cfi_def_cfa_register 7 1874 0006 F860 str r0, [r7, #12] 1875 0008 0B46 mov r3, r1 1876 000a 7A60 str r2, [r7, #4] 1877 000c FB72 strb r3, [r7, #11] 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; 1878 .loc 1 970 21 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 51 1879 000e 0023 movs r3, #0 1880 0010 FB75 strb r3, [r7, #23] 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); 1881 .loc 1 973 3 1882 0012 FB68 ldr r3, [r7, #12] 1883 0014 93F83430 ldrb r3, [r3, #52] @ zero_extendqisi2 1884 0018 012B cmp r3, #1 1885 001a 01D1 bne .L77 1886 .loc 1 973 3 is_stmt 0 discriminator 1 1887 001c 0223 movs r3, #2 1888 001e 3DE0 b .L78 1889 .L77: 1890 .loc 1 973 3 discriminator 2 1891 0020 FB68 ldr r3, [r7, #12] 1892 0022 0122 movs r2, #1 1893 0024 83F83420 strb r2, [r3, #52] 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) 1894 .loc 1 975 33 is_stmt 1 discriminator 2 1895 0028 FB68 ldr r3, [r7, #12] 1896 002a 93F83530 ldrb r3, [r3, #53] 1897 002e DBB2 uxtb r3, r3 1898 .loc 1 975 5 discriminator 2 1899 0030 012B cmp r3, #1 1900 0032 2CD1 bne .L79 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (CallbackID) 1901 .loc 1 977 5 1902 0034 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2 1903 0036 052B cmp r3, #5 1904 0038 26D8 bhi .L80 1905 003a 01A2 adr r2, .L82 1906 003c 52F823F0 ldr pc, [r2, r3, lsl #2] 1907 .p2align 2 1908 .L82: 1909 0040 59000000 .word .L87+1 1910 0044 61000000 .word .L86+1 1911 0048 69000000 .word .L85+1 1912 004c 71000000 .word .L84+1 1913 0050 79000000 .word .L83+1 1914 0054 81000000 .word .L81+1 1915 .p2align 1 1916 .L87: 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; 1917 .loc 1 980 30 1918 0058 FB68 ldr r3, [r7, #12] 1919 005a 7A68 ldr r2, [r7, #4] 1920 005c DA63 str r2, [r3, #60] 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1921 .loc 1 981 7 1922 005e 18E0 b .L89 1923 .L86: 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 52 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; 1924 .loc 1 984 34 1925 0060 FB68 ldr r3, [r7, #12] 1926 0062 7A68 ldr r2, [r7, #4] 1927 0064 1A64 str r2, [r3, #64] 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1928 .loc 1 985 7 1929 0066 14E0 b .L89 1930 .L85: 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; 1931 .loc 1 988 32 1932 0068 FB68 ldr r3, [r7, #12] 1933 006a 7A68 ldr r2, [r7, #4] 1934 006c 5A64 str r2, [r3, #68] 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1935 .loc 1 989 7 1936 006e 10E0 b .L89 1937 .L84: 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; 1938 .loc 1 992 36 1939 0070 FB68 ldr r3, [r7, #12] 1940 0072 7A68 ldr r2, [r7, #4] 1941 0074 9A64 str r2, [r3, #72] 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1942 .loc 1 993 7 1943 0076 0CE0 b .L89 1944 .L83: 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; 1945 .loc 1 996 31 1946 0078 FB68 ldr r3, [r7, #12] 1947 007a 7A68 ldr r2, [r7, #4] 1948 007c DA64 str r2, [r3, #76] 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1949 .loc 1 997 7 1950 007e 08E0 b .L89 1951 .L81: 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: 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = pCallback; 1952 .loc 1 1000 31 1953 0080 FB68 ldr r3, [r7, #12] 1954 0082 7A68 ldr r2, [r7, #4] 1955 0084 1A65 str r2, [r3, #80] 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1956 .loc 1 1001 7 1957 0086 04E0 b .L89 1958 .L80: 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 */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 53 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 1959 .loc 1 1005 14 1960 0088 0123 movs r3, #1 1961 008a FB75 strb r3, [r7, #23] 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 1962 .loc 1 1006 7 1963 008c 01E0 b .L89 1964 .L79: 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; 1965 .loc 1 1012 12 1966 008e 0123 movs r3, #1 1967 0090 FB75 strb r3, [r7, #23] 1968 .L89: 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); 1969 .loc 1 1016 3 1970 0092 FB68 ldr r3, [r7, #12] 1971 0094 0022 movs r2, #0 1972 0096 83F83420 strb r2, [r3, #52] 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 1973 .loc 1 1018 10 1974 009a FB7D ldrb r3, [r7, #23] @ zero_extendqisi2 1975 .L78: 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1976 .loc 1 1019 1 1977 009c 1846 mov r0, r3 1978 009e 1C37 adds r7, r7, #28 1979 .LCFI44: 1980 .cfi_def_cfa_offset 4 1981 00a0 BD46 mov sp, r7 1982 .LCFI45: 1983 .cfi_def_cfa_register 13 1984 @ sp needed 1985 00a2 5DF8047B ldr r7, [sp], #4 1986 .LCFI46: 1987 .cfi_restore 7 1988 .cfi_def_cfa_offset 0 1989 00a6 7047 bx lr 1990 .cfi_endproc 1991 .LFE243: 1993 .section .text.HAL_DMA_UnRegisterCallback,"ax",%progbits 1994 .align 1 1995 .global HAL_DMA_UnRegisterCallback 1996 .syntax unified 1997 .thumb 1998 .thumb_func 2000 HAL_DMA_UnRegisterCallback: 2001 .LFB244: 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 54 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 **** { 2002 .loc 1 1030 1 2003 .cfi_startproc 2004 @ args = 0, pretend = 0, frame = 16 2005 @ frame_needed = 1, uses_anonymous_args = 0 2006 @ link register save eliminated. 2007 0000 80B4 push {r7} 2008 .LCFI47: 2009 .cfi_def_cfa_offset 4 2010 .cfi_offset 7, -4 2011 0002 85B0 sub sp, sp, #20 2012 .LCFI48: 2013 .cfi_def_cfa_offset 24 2014 0004 00AF add r7, sp, #0 2015 .LCFI49: 2016 .cfi_def_cfa_register 7 2017 0006 7860 str r0, [r7, #4] 2018 0008 0B46 mov r3, r1 2019 000a FB70 strb r3, [r7, #3] 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 2020 .loc 1 1031 21 2021 000c 0023 movs r3, #0 2022 000e FB73 strb r3, [r7, #15] 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); 2023 .loc 1 1034 3 2024 0010 7B68 ldr r3, [r7, #4] 2025 0012 93F83430 ldrb r3, [r3, #52] @ zero_extendqisi2 2026 0016 012B cmp r3, #1 2027 0018 01D1 bne .L91 2028 .loc 1 1034 3 is_stmt 0 discriminator 1 2029 001a 0223 movs r3, #2 2030 001c 53E0 b .L92 2031 .L91: 2032 .loc 1 1034 3 discriminator 2 2033 001e 7B68 ldr r3, [r7, #4] 2034 0020 0122 movs r2, #1 2035 0022 83F83420 strb r2, [r3, #52] 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) 2036 .loc 1 1036 33 is_stmt 1 discriminator 2 2037 0026 7B68 ldr r3, [r7, #4] 2038 0028 93F83530 ldrb r3, [r3, #53] 2039 002c DBB2 uxtb r3, r3 2040 .loc 1 1036 5 discriminator 2 2041 002e 012B cmp r3, #1 2042 0030 42D1 bne .L93 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 55 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (CallbackID) 2043 .loc 1 1038 5 2044 0032 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2 2045 0034 062B cmp r3, #6 2046 0036 3CD8 bhi .L94 2047 0038 01A2 adr r2, .L96 2048 003a 52F823F0 ldr pc, [r2, r3, lsl #2] 2049 003e 00BF .p2align 2 2050 .L96: 2051 0040 5D000000 .word .L102+1 2052 0044 65000000 .word .L101+1 2053 0048 6D000000 .word .L100+1 2054 004c 75000000 .word .L99+1 2055 0050 7D000000 .word .L98+1 2056 0054 85000000 .word .L97+1 2057 0058 8D000000 .word .L95+1 2058 .p2align 1 2059 .L102: 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; 2060 .loc 1 1041 30 2061 005c 7B68 ldr r3, [r7, #4] 2062 005e 0022 movs r2, #0 2063 0060 DA63 str r2, [r3, #60] 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2064 .loc 1 1042 7 2065 0062 2BE0 b .L104 2066 .L101: 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; 2067 .loc 1 1045 34 2068 0064 7B68 ldr r3, [r7, #4] 2069 0066 0022 movs r2, #0 2070 0068 1A64 str r2, [r3, #64] 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2071 .loc 1 1046 7 2072 006a 27E0 b .L104 2073 .L100: 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; 2074 .loc 1 1049 32 2075 006c 7B68 ldr r3, [r7, #4] 2076 006e 0022 movs r2, #0 2077 0070 5A64 str r2, [r3, #68] 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2078 .loc 1 1050 7 2079 0072 23E0 b .L104 2080 .L99: 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; 2081 .loc 1 1053 36 2082 0074 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 56 2083 0076 0022 movs r2, #0 2084 0078 9A64 str r2, [r3, #72] 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2085 .loc 1 1054 7 2086 007a 1FE0 b .L104 2087 .L98: 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: 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 2088 .loc 1 1057 31 2089 007c 7B68 ldr r3, [r7, #4] 2090 007e 0022 movs r2, #0 2091 0080 DA64 str r2, [r3, #76] 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2092 .loc 1 1058 7 2093 0082 1BE0 b .L104 2094 .L97: 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; 2095 .loc 1 1061 31 2096 0084 7B68 ldr r3, [r7, #4] 2097 0086 0022 movs r2, #0 2098 0088 1A65 str r2, [r3, #80] 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2099 .loc 1 1062 7 2100 008a 17E0 b .L104 2101 .L95: 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; 2102 .loc 1 1065 30 2103 008c 7B68 ldr r3, [r7, #4] 2104 008e 0022 movs r2, #0 2105 0090 DA63 str r2, [r3, #60] 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 2106 .loc 1 1066 34 2107 0092 7B68 ldr r3, [r7, #4] 2108 0094 0022 movs r2, #0 2109 0096 1A64 str r2, [r3, #64] 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL; 2110 .loc 1 1067 32 2111 0098 7B68 ldr r3, [r7, #4] 2112 009a 0022 movs r2, #0 2113 009c 5A64 str r2, [r3, #68] 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL; 2114 .loc 1 1068 36 2115 009e 7B68 ldr r3, [r7, #4] 2116 00a0 0022 movs r2, #0 2117 00a2 9A64 str r2, [r3, #72] 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 2118 .loc 1 1069 31 2119 00a4 7B68 ldr r3, [r7, #4] 2120 00a6 0022 movs r2, #0 2121 00a8 DA64 str r2, [r3, #76] 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 2122 .loc 1 1070 31 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 57 2123 00aa 7B68 ldr r3, [r7, #4] 2124 00ac 0022 movs r2, #0 2125 00ae 1A65 str r2, [r3, #80] 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2126 .loc 1 1071 7 2127 00b0 04E0 b .L104 2128 .L94: 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; 2129 .loc 1 1074 14 2130 00b2 0123 movs r3, #1 2131 00b4 FB73 strb r3, [r7, #15] 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2132 .loc 1 1075 7 2133 00b6 01E0 b .L104 2134 .L93: 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; 2135 .loc 1 1080 12 2136 00b8 0123 movs r3, #1 2137 00ba FB73 strb r3, [r7, #15] 2138 .L104: 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); 2139 .loc 1 1084 3 2140 00bc 7B68 ldr r3, [r7, #4] 2141 00be 0022 movs r2, #0 2142 00c0 83F83420 strb r2, [r3, #52] 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status; 2143 .loc 1 1086 10 2144 00c4 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 2145 .L92: 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2146 .loc 1 1087 1 2147 00c6 1846 mov r0, r3 2148 00c8 1437 adds r7, r7, #20 2149 .LCFI50: 2150 .cfi_def_cfa_offset 4 2151 00ca BD46 mov sp, r7 2152 .LCFI51: 2153 .cfi_def_cfa_register 13 2154 @ sp needed 2155 00cc 5DF8047B ldr r7, [sp], #4 2156 .LCFI52: 2157 .cfi_restore 7 2158 .cfi_def_cfa_offset 0 2159 00d0 7047 bx lr 2160 .cfi_endproc 2161 .LFE244: 2163 00d2 00BF .section .text.HAL_DMA_GetState,"ax",%progbits ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 58 2164 .align 1 2165 .global HAL_DMA_GetState 2166 .syntax unified 2167 .thumb 2168 .thumb_func 2170 HAL_DMA_GetState: 2171 .LFB245: 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 **** */ 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 **** { 2172 .loc 1 1115 1 2173 .cfi_startproc 2174 @ args = 0, pretend = 0, frame = 8 2175 @ frame_needed = 1, uses_anonymous_args = 0 2176 @ link register save eliminated. 2177 0000 80B4 push {r7} 2178 .LCFI53: 2179 .cfi_def_cfa_offset 4 2180 .cfi_offset 7, -4 2181 0002 83B0 sub sp, sp, #12 2182 .LCFI54: 2183 .cfi_def_cfa_offset 16 2184 0004 00AF add r7, sp, #0 2185 .LCFI55: 2186 .cfi_def_cfa_register 7 2187 0006 7860 str r0, [r7, #4] 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->State; 2188 .loc 1 1116 14 2189 0008 7B68 ldr r3, [r7, #4] 2190 000a 93F83530 ldrb r3, [r3, #53] 2191 000e DBB2 uxtb r3, r3 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 59 2192 .loc 1 1117 1 2193 0010 1846 mov r0, r3 2194 0012 0C37 adds r7, r7, #12 2195 .LCFI56: 2196 .cfi_def_cfa_offset 4 2197 0014 BD46 mov sp, r7 2198 .LCFI57: 2199 .cfi_def_cfa_register 13 2200 @ sp needed 2201 0016 5DF8047B ldr r7, [sp], #4 2202 .LCFI58: 2203 .cfi_restore 7 2204 .cfi_def_cfa_offset 0 2205 001a 7047 bx lr 2206 .cfi_endproc 2207 .LFE245: 2209 .section .text.HAL_DMA_GetError,"ax",%progbits 2210 .align 1 2211 .global HAL_DMA_GetError 2212 .syntax unified 2213 .thumb 2214 .thumb_func 2216 HAL_DMA_GetError: 2217 .LFB246: 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 **** { 2218 .loc 1 1126 1 2219 .cfi_startproc 2220 @ args = 0, pretend = 0, frame = 8 2221 @ frame_needed = 1, uses_anonymous_args = 0 2222 @ link register save eliminated. 2223 0000 80B4 push {r7} 2224 .LCFI59: 2225 .cfi_def_cfa_offset 4 2226 .cfi_offset 7, -4 2227 0002 83B0 sub sp, sp, #12 2228 .LCFI60: 2229 .cfi_def_cfa_offset 16 2230 0004 00AF add r7, sp, #0 2231 .LCFI61: 2232 .cfi_def_cfa_register 7 2233 0006 7860 str r0, [r7, #4] 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->ErrorCode; 2234 .loc 1 1127 14 2235 0008 7B68 ldr r3, [r7, #4] 2236 000a 5B6D ldr r3, [r3, #84] 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2237 .loc 1 1128 1 2238 000c 1846 mov r0, r3 2239 000e 0C37 adds r7, r7, #12 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 60 2240 .LCFI62: 2241 .cfi_def_cfa_offset 4 2242 0010 BD46 mov sp, r7 2243 .LCFI63: 2244 .cfi_def_cfa_register 13 2245 @ sp needed 2246 0012 5DF8047B ldr r7, [sp], #4 2247 .LCFI64: 2248 .cfi_restore 7 2249 .cfi_def_cfa_offset 0 2250 0016 7047 bx lr 2251 .cfi_endproc 2252 .LFE246: 2254 .section .text.DMA_SetConfig,"ax",%progbits 2255 .align 1 2256 .syntax unified 2257 .thumb 2258 .thumb_func 2260 DMA_SetConfig: 2261 .LFB247: 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 **** { 2262 .loc 1 1152 1 2263 .cfi_startproc 2264 @ args = 0, pretend = 0, frame = 16 2265 @ frame_needed = 1, uses_anonymous_args = 0 2266 @ link register save eliminated. 2267 0000 80B4 push {r7} 2268 .LCFI65: 2269 .cfi_def_cfa_offset 4 2270 .cfi_offset 7, -4 2271 0002 85B0 sub sp, sp, #20 2272 .LCFI66: 2273 .cfi_def_cfa_offset 24 2274 0004 00AF add r7, sp, #0 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 61 2275 .LCFI67: 2276 .cfi_def_cfa_register 7 2277 0006 F860 str r0, [r7, #12] 2278 0008 B960 str r1, [r7, #8] 2279 000a 7A60 str r2, [r7, #4] 2280 000c 3B60 str r3, [r7] 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); 2281 .loc 1 1154 7 2282 000e FB68 ldr r3, [r7, #12] 2283 0010 1B68 ldr r3, [r3] 2284 .loc 1 1154 22 2285 0012 1A68 ldr r2, [r3] 2286 .loc 1 1154 7 2287 0014 FB68 ldr r3, [r7, #12] 2288 0016 1B68 ldr r3, [r3] 2289 .loc 1 1154 22 2290 0018 22F48022 bic r2, r2, #262144 2291 001c 1A60 str r2, [r3] 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; 2292 .loc 1 1157 7 2293 001e FB68 ldr r3, [r7, #12] 2294 0020 1B68 ldr r3, [r3] 2295 .loc 1 1157 24 2296 0022 3A68 ldr r2, [r7] 2297 0024 5A60 str r2, [r3, #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) 2298 .loc 1 1160 17 2299 0026 FB68 ldr r3, [r7, #12] 2300 0028 9B68 ldr r3, [r3, #8] 2301 .loc 1 1160 5 2302 002a 402B cmp r3, #64 2303 002c 08D1 bne .L110 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; 2304 .loc 1 1163 9 2305 002e FB68 ldr r3, [r7, #12] 2306 0030 1B68 ldr r3, [r3] 2307 .loc 1 1163 25 2308 0032 7A68 ldr r2, [r7, #4] 2309 0034 9A60 str r2, [r3, #8] 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; 2310 .loc 1 1166 9 2311 0036 FB68 ldr r3, [r7, #12] 2312 0038 1B68 ldr r3, [r3] 2313 .loc 1 1166 26 2314 003a BA68 ldr r2, [r7, #8] 2315 003c DA60 str r2, [r3, #12] 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Peripheral to Memory */ ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 62 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; 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; 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2316 .loc 1 1177 1 2317 003e 07E0 b .L112 2318 .L110: 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2319 .loc 1 1172 9 2320 0040 FB68 ldr r3, [r7, #12] 2321 0042 1B68 ldr r3, [r3] 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** 2322 .loc 1 1172 25 2323 0044 BA68 ldr r2, [r7, #8] 2324 0046 9A60 str r2, [r3, #8] 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2325 .loc 1 1175 9 2326 0048 FB68 ldr r3, [r7, #12] 2327 004a 1B68 ldr r3, [r3] 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2328 .loc 1 1175 26 2329 004c 7A68 ldr r2, [r7, #4] 2330 004e DA60 str r2, [r3, #12] 2331 .L112: 2332 .loc 1 1177 1 2333 0050 00BF nop 2334 0052 1437 adds r7, r7, #20 2335 .LCFI68: 2336 .cfi_def_cfa_offset 4 2337 0054 BD46 mov sp, r7 2338 .LCFI69: 2339 .cfi_def_cfa_register 13 2340 @ sp needed 2341 0056 5DF8047B ldr r7, [sp], #4 2342 .LCFI70: 2343 .cfi_restore 7 2344 .cfi_def_cfa_offset 0 2345 005a 7047 bx lr 2346 .cfi_endproc 2347 .LFE247: 2349 .section .text.DMA_CalcBaseAndBitshift,"ax",%progbits 2350 .align 1 2351 .syntax unified 2352 .thumb 2353 .thumb_func 2355 DMA_CalcBaseAndBitshift: 2356 .LFB248: 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. ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 63 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 **** { 2357 .loc 1 1186 1 2358 .cfi_startproc 2359 @ args = 0, pretend = 0, frame = 16 2360 @ frame_needed = 1, uses_anonymous_args = 0 2361 @ link register save eliminated. 2362 0000 80B4 push {r7} 2363 .LCFI71: 2364 .cfi_def_cfa_offset 4 2365 .cfi_offset 7, -4 2366 0002 85B0 sub sp, sp, #20 2367 .LCFI72: 2368 .cfi_def_cfa_offset 24 2369 0004 00AF add r7, sp, #0 2370 .LCFI73: 2371 .cfi_def_cfa_register 7 2372 0006 7860 str r0, [r7, #4] 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U; 2373 .loc 1 1187 44 2374 0008 7B68 ldr r3, [r7, #4] 2375 000a 1B68 ldr r3, [r3] 2376 .loc 1 1187 55 2377 000c DBB2 uxtb r3, r3 2378 .loc 1 1187 64 2379 000e 103B subs r3, r3, #16 2380 .loc 1 1187 12 2381 0010 144A ldr r2, .L117 2382 0012 A2FB0323 umull r2, r3, r2, r3 2383 0016 1B09 lsrs r3, r3, #4 2384 0018 FB60 str r3, [r7, #12] 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}; 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamIndex = flagBitshiftOffset[stream_number]; 2385 .loc 1 1191 41 2386 001a 134A ldr r2, .L117+4 2387 001c FB68 ldr r3, [r7, #12] 2388 001e 1344 add r3, r3, r2 2389 0020 1B78 ldrb r3, [r3] @ zero_extendqisi2 2390 0022 1A46 mov r2, r3 2391 .loc 1 1191 21 2392 0024 7B68 ldr r3, [r7, #4] 2393 0026 DA65 str r2, [r3, #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) 2394 .loc 1 1193 6 2395 0028 FB68 ldr r3, [r7, #12] 2396 002a 032B cmp r3, #3 2397 002c 09D9 bls .L114 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); 2398 .loc 1 1196 47 2399 002e 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 64 2400 0030 1B68 ldr r3, [r3] 2401 .loc 1 1196 58 2402 0032 23F47F73 bic r3, r3, #1020 2403 0036 23F00303 bic r3, r3, #3 2404 .loc 1 1196 81 2405 003a 1A1D adds r2, r3, #4 2406 .loc 1 1196 29 2407 003c 7B68 ldr r3, [r7, #4] 2408 003e 9A65 str r2, [r3, #88] 2409 0040 07E0 b .L115 2410 .L114: 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)); 2411 .loc 1 1201 46 2412 0042 7B68 ldr r3, [r7, #4] 2413 0044 1B68 ldr r3, [r3] 2414 .loc 1 1201 57 2415 0046 23F47F73 bic r3, r3, #1020 2416 004a 23F00303 bic r3, r3, #3 2417 .loc 1 1201 29 2418 004e 7A68 ldr r2, [r7, #4] 2419 0050 9365 str r3, [r2, #88] 2420 .L115: 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; 2421 .loc 1 1204 14 2422 0052 7B68 ldr r3, [r7, #4] 2423 0054 9B6D ldr r3, [r3, #88] 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2424 .loc 1 1205 1 2425 0056 1846 mov r0, r3 2426 0058 1437 adds r7, r7, #20 2427 .LCFI74: 2428 .cfi_def_cfa_offset 4 2429 005a BD46 mov sp, r7 2430 .LCFI75: 2431 .cfi_def_cfa_register 13 2432 @ sp needed 2433 005c 5DF8047B ldr r7, [sp], #4 2434 .LCFI76: 2435 .cfi_restore 7 2436 .cfi_def_cfa_offset 0 2437 0060 7047 bx lr 2438 .L118: 2439 0062 00BF .align 2 2440 .L117: 2441 0064 ABAAAAAA .word -1431655765 2442 0068 00000000 .word flagBitshiftOffset.0 2443 .cfi_endproc 2444 .LFE248: 2446 .section .text.DMA_CheckFifoParam,"ax",%progbits 2447 .align 1 2448 .syntax unified ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 65 2449 .thumb 2450 .thumb_func 2452 DMA_CheckFifoParam: 2453 .LFB249: 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 **** { 2454 .loc 1 1214 1 2455 .cfi_startproc 2456 @ args = 0, pretend = 0, frame = 16 2457 @ frame_needed = 1, uses_anonymous_args = 0 2458 @ link register save eliminated. 2459 0000 80B4 push {r7} 2460 .LCFI77: 2461 .cfi_def_cfa_offset 4 2462 .cfi_offset 7, -4 2463 0002 85B0 sub sp, sp, #20 2464 .LCFI78: 2465 .cfi_def_cfa_offset 24 2466 0004 00AF add r7, sp, #0 2467 .LCFI79: 2468 .cfi_def_cfa_register 7 2469 0006 7860 str r0, [r7, #4] 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 2470 .loc 1 1215 21 2471 0008 0023 movs r3, #0 2472 000a FB73 strb r3, [r7, #15] 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold; 2473 .loc 1 1216 12 2474 000c 7B68 ldr r3, [r7, #4] 2475 000e 9B6A ldr r3, [r3, #40] 2476 0010 BB60 str r3, [r7, #8] 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) 2477 .loc 1 1219 16 2478 0012 7B68 ldr r3, [r7, #4] 2479 0014 9B69 ldr r3, [r3, #24] 2480 .loc 1 1219 5 2481 0016 002B cmp r3, #0 2482 0018 1FD1 bne .L120 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp) 2483 .loc 1 1221 5 2484 001a BB68 ldr r3, [r7, #8] 2485 001c 032B cmp r3, #3 2486 001e 56D8 bhi .L144 2487 0020 01A2 adr r2, .L123 2488 0022 52F823F0 ldr pc, [r2, r3, lsl #2] 2489 0026 00BF .p2align 2 2490 .L123: ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 66 2491 0028 39000000 .word .L124+1 2492 002c 4B000000 .word .L125+1 2493 0030 39000000 .word .L124+1 2494 0034 CF000000 .word .L144+1 2495 .p2align 1 2496 .L124: 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) 2497 .loc 1 1225 22 2498 0038 7B68 ldr r3, [r7, #4] 2499 003a DB6A ldr r3, [r3, #44] 2500 .loc 1 1225 32 2501 003c 03F08073 and r3, r3, #16777216 2502 .loc 1 1225 10 2503 0040 002B cmp r3, #0 2504 0042 46D0 beq .L145 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 2505 .loc 1 1227 16 2506 0044 0123 movs r3, #1 2507 0046 FB73 strb r3, [r7, #15] 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2508 .loc 1 1229 7 2509 0048 43E0 b .L145 2510 .L125: 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) 2511 .loc 1 1231 21 2512 004a 7B68 ldr r3, [r7, #4] 2513 004c DB6A ldr r3, [r3, #44] 2514 .loc 1 1231 10 2515 004e B3F1C07F cmp r3, #25165824 2516 0052 40D1 bne .L146 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 2517 .loc 1 1233 16 2518 0054 0123 movs r3, #1 2519 0056 FB73 strb r3, [r7, #15] 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2520 .loc 1 1235 7 2521 0058 3DE0 b .L146 2522 .L120: 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) 2523 .loc 1 1244 22 2524 005a 7B68 ldr r3, [r7, #4] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 67 2525 005c 9B69 ldr r3, [r3, #24] 2526 .loc 1 1244 11 2527 005e B3F5005F cmp r3, #8192 2528 0062 21D1 bne .L130 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp) 2529 .loc 1 1246 5 2530 0064 BB68 ldr r3, [r7, #8] 2531 0066 032B cmp r3, #3 2532 0068 37D8 bhi .L147 2533 006a 01A2 adr r2, .L133 2534 006c 52F823F0 ldr pc, [r2, r3, lsl #2] 2535 .p2align 2 2536 .L133: 2537 0070 81000000 .word .L134+1 2538 0074 87000000 .word .L135+1 2539 0078 81000000 .word .L134+1 2540 007c 99000000 .word .L132+1 2541 .p2align 1 2542 .L134: 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; 2543 .loc 1 1250 14 2544 0080 0123 movs r3, #1 2545 0082 FB73 strb r3, [r7, #15] 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2546 .loc 1 1251 7 2547 0084 30E0 b .L129 2548 .L135: 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) 2549 .loc 1 1253 22 2550 0086 7B68 ldr r3, [r7, #4] 2551 0088 DB6A ldr r3, [r3, #44] 2552 .loc 1 1253 32 2553 008a 03F08073 and r3, r3, #16777216 2554 .loc 1 1253 10 2555 008e 002B cmp r3, #0 2556 0090 25D0 beq .L148 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 2557 .loc 1 1255 16 2558 0092 0123 movs r3, #1 2559 0094 FB73 strb r3, [r7, #15] 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2560 .loc 1 1257 7 2561 0096 22E0 b .L148 2562 .L132: 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) 2563 .loc 1 1259 21 2564 0098 7B68 ldr r3, [r7, #4] 2565 009a DB6A ldr r3, [r3, #44] 2566 .loc 1 1259 10 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 68 2567 009c B3F1C07F cmp r3, #25165824 2568 00a0 1FD1 bne .L149 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 2569 .loc 1 1261 16 2570 00a2 0123 movs r3, #1 2571 00a4 FB73 strb r3, [r7, #15] 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2572 .loc 1 1263 7 2573 00a6 1CE0 b .L149 2574 .L130: 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) 2575 .loc 1 1272 5 2576 00a8 BB68 ldr r3, [r7, #8] 2577 00aa 022B cmp r3, #2 2578 00ac 03D9 bls .L139 2579 00ae BB68 ldr r3, [r7, #8] 2580 00b0 032B cmp r3, #3 2581 00b2 03D0 beq .L140 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) 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR; 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; 2582 .loc 1 1286 7 2583 00b4 18E0 b .L129 2584 .L139: 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break; 2585 .loc 1 1277 14 2586 00b6 0123 movs r3, #1 2587 00b8 FB73 strb r3, [r7, #15] 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL: 2588 .loc 1 1278 7 2589 00ba 15E0 b .L129 2590 .L140: 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2591 .loc 1 1280 22 2592 00bc 7B68 ldr r3, [r7, #4] 2593 00be DB6A ldr r3, [r3, #44] ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 69 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2594 .loc 1 1280 32 2595 00c0 03F08073 and r3, r3, #16777216 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** { 2596 .loc 1 1280 10 2597 00c4 002B cmp r3, #0 2598 00c6 0ED0 beq .L150 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2599 .loc 1 1282 16 2600 00c8 0123 movs r3, #1 2601 00ca FB73 strb r3, [r7, #15] 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default: 2602 .loc 1 1284 7 2603 00cc 0BE0 b .L150 2604 .L144: 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2605 .loc 1 1239 7 2606 00ce 00BF nop 2607 00d0 0AE0 b .L129 2608 .L145: 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL: 2609 .loc 1 1229 7 2610 00d2 00BF nop 2611 00d4 08E0 b .L129 2612 .L146: 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL: 2613 .loc 1 1235 7 2614 00d6 00BF nop 2615 00d8 06E0 b .L129 2616 .L147: 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2617 .loc 1 1265 7 2618 00da 00BF nop 2619 00dc 04E0 b .L129 2620 .L148: 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL: 2621 .loc 1 1257 7 2622 00de 00BF nop 2623 00e0 02E0 b .L129 2624 .L149: 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default: 2625 .loc 1 1263 7 2626 00e2 00BF nop 2627 00e4 00E0 b .L129 2628 .L150: 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default: 2629 .loc 1 1284 7 2630 00e6 00BF nop 2631 .L129: 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; 2632 .loc 1 1290 10 2633 00e8 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } 2634 .loc 1 1291 1 ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 70 2635 00ea 1846 mov r0, r3 2636 00ec 1437 adds r7, r7, #20 2637 .LCFI80: 2638 .cfi_def_cfa_offset 4 2639 00ee BD46 mov sp, r7 2640 .LCFI81: 2641 .cfi_def_cfa_register 13 2642 @ sp needed 2643 00f0 5DF8047B ldr r7, [sp], #4 2644 .LCFI82: 2645 .cfi_restore 7 2646 .cfi_def_cfa_offset 0 2647 00f4 7047 bx lr 2648 .cfi_endproc 2649 .LFE249: 2651 00f6 00BF .section .rodata.flagBitshiftOffset.0,"a" 2652 .align 2 2655 flagBitshiftOffset.0: 2656 0000 00061016 .ascii "\000\006\020\026\000\006\020\026" 2656 00061016 2657 .text 2658 .Letext0: 2659 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 2660 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 2661 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h" 2662 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h" 2663 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 2664 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" 2665 .file 8 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h" ARM GAS C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s page 71 DEFINED SYMBOLS *ABS*:00000000 stm32f4xx_hal_dma.c C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:20 .text.HAL_DMA_Init:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:26 .text.HAL_DMA_Init:00000000 HAL_DMA_Init C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2452 .text.DMA_CheckFifoParam:00000000 DMA_CheckFifoParam C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2355 .text.DMA_CalcBaseAndBitshift:00000000 DMA_CalcBaseAndBitshift C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:287 .text.HAL_DMA_Init:00000158 $d C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:292 .text.HAL_DMA_DeInit:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:298 .text.HAL_DMA_DeInit:00000000 HAL_DMA_DeInit C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:447 .text.HAL_DMA_Start:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:453 .text.HAL_DMA_Start:00000000 HAL_DMA_Start C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2260 .text.DMA_SetConfig:00000000 DMA_SetConfig C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:546 .text.HAL_DMA_Start_IT:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:552 .text.HAL_DMA_Start_IT:00000000 HAL_DMA_Start_IT C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:688 .text.HAL_DMA_Abort:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:694 .text.HAL_DMA_Abort:00000000 HAL_DMA_Abort C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:866 .text.HAL_DMA_Abort_IT:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:872 .text.HAL_DMA_Abort_IT:00000000 HAL_DMA_Abort_IT C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:938 .text.HAL_DMA_PollForTransfer:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:944 .text.HAL_DMA_PollForTransfer:00000000 HAL_DMA_PollForTransfer C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1268 .text.HAL_DMA_IRQHandler:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1274 .text.HAL_DMA_IRQHandler:00000000 HAL_DMA_IRQHandler C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1699 .text.HAL_DMA_IRQHandler:00000248 $d C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1703 .text.HAL_DMA_IRQHandler:00000250 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1851 .text.HAL_DMA_RegisterCallback:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1857 .text.HAL_DMA_RegisterCallback:00000000 HAL_DMA_RegisterCallback C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1909 .text.HAL_DMA_RegisterCallback:00000040 $d C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1915 .text.HAL_DMA_RegisterCallback:00000058 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:1994 .text.HAL_DMA_UnRegisterCallback:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2000 .text.HAL_DMA_UnRegisterCallback:00000000 HAL_DMA_UnRegisterCallback C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2051 .text.HAL_DMA_UnRegisterCallback:00000040 $d C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2058 .text.HAL_DMA_UnRegisterCallback:0000005c $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2164 .text.HAL_DMA_GetState:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2170 .text.HAL_DMA_GetState:00000000 HAL_DMA_GetState C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2210 .text.HAL_DMA_GetError:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2216 .text.HAL_DMA_GetError:00000000 HAL_DMA_GetError C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2255 .text.DMA_SetConfig:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2350 .text.DMA_CalcBaseAndBitshift:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2441 .text.DMA_CalcBaseAndBitshift:00000064 $d C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2655 .rodata.flagBitshiftOffset.0:00000000 flagBitshiftOffset.0 C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2447 .text.DMA_CheckFifoParam:00000000 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2491 .text.DMA_CheckFifoParam:00000028 $d C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2495 .text.DMA_CheckFifoParam:00000038 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2537 .text.DMA_CheckFifoParam:00000070 $d C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2541 .text.DMA_CheckFifoParam:00000080 $t C:\Users\10728\AppData\Local\Temp\ccVNMg0J.s:2652 .rodata.flagBitshiftOffset.0:00000000 $d UNDEFINED SYMBOLS HAL_GetTick SystemCoreClock