ARM GAS /tmp/ccDI3rYs.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 "stm32f3xx_hal_dma.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c" 20 .section .text.HAL_DMA_Init,"ax",%progbits 21 .align 1 22 .global HAL_DMA_Init 23 .syntax unified 24 .thumb 25 .thumb_func 27 HAL_DMA_Init: 28 .LFB130: 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ****************************************************************************** 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @file stm32f3xx_hal_dma.c 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @author MCD Application Team 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief DMA HAL module driver. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * This file provides firmware functions to manage the following 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * functionalities of the Direct Memory Access (DMA) peripheral: 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * + Initialization and de-initialization functions 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * + IO operation functions 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * + Peripheral State and errors functions 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** @verbatim 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ============================================================================== 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ##### How to use this driver ##### 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ============================================================================== 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** [..] 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (#) Enable and configure the peripheral to be connected to the DMA Channel 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (except for internal SRAM / FLASH memories: no initialization is 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** necessary). Please refer to Reference manual for connection between peripherals 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** and DMA requests . 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (#) For a given Channel, program the required configuration through the following parameters: 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** Transfer Direction, Source and Destination data formats, 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** Circular or Normal mode, Channel Priority level, Source and Destination Increment mode, 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** using HAL_DMA_Init() function. 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of er 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** detection. 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (#) Use HAL_DMA_Abort() function to abort the current transfer ARM GAS /tmp/ccDI3rYs.s page 2 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** -@- In Memory-to-Memory transfer mode, Circular mode is not allowed. 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** *** Polling mode IO operation *** 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ================================= 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** [..] 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** address and destination address and the Length of data to be transferred 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case a fixed Timeout can be configured by User depending from his application. 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** *** Interrupt mode IO operation *** 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** =================================== 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** [..] 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority() 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ() 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** Source address and destination address and the Length of data to be transferred. 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** In this case the DMA interrupt is configured 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Use HAL_DMA_Channel_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** add his own function by customization of function pointer XferCpltCallback and 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** XferErrorCallback (i.e a member of DMA handle structure). 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** *** DMA HAL driver macros list *** 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ============================================= 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** [..] 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** Below the list of most used macros in DMA HAL driver. 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** [..] 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (@) You can refer to the DMA HAL driver header file for more useful macros 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** @endverbatim 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ****************************************************************************** 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @attention 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * Copyright (c) 2016 STMicroelectronics. 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * All rights reserved. 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * This software is licensed under terms that can be found in the LICENSE file in 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the root directory of this software component. 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ****************************************************************************** 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Includes ------------------------------------------------------------------*/ 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** #include "stm32f3xx_hal.h" 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** @addtogroup STM32F3xx_HAL_Driver 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @{ 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** @defgroup DMA DMA 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief DMA HAL module driver 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @{ 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ARM GAS /tmp/ccDI3rYs.s page 3 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** #ifdef HAL_DMA_MODULE_ENABLED 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Private typedef -----------------------------------------------------------*/ 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Private define ------------------------------------------------------------*/ 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Private macro -------------------------------------------------------------*/ 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Private variables ---------------------------------------------------------*/ 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Private function prototypes -----------------------------------------------*/ 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** @defgroup DMA_Private_Functions DMA Private Functions 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @{ 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** static void DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma); 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @} 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Exported functions ---------------------------------------------------------*/ 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions DMA Exported Functions 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @{ 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions_Group1 Initialization and de-initialization functions 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Initialization and de-initialization functions 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** @verbatim 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** =============================================================================== 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ##### Initialization and de-initialization functions ##### 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** =============================================================================== 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** [..] 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** This section provides functions allowing to initialize the DMA Channel source 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** and destination addresses, incrementation and data sizes, transfer direction, 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** circular/normal mode selection, memory-to-memory mode selection and Channel priority value. 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** [..] 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** The HAL_DMA_Init() function follows the DMA configuration procedures as described in 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** reference manual. 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** @endverbatim 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @{ 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Initialize the DMA according to the specified 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * parameters in the DMA_InitTypeDef and initialize the associated handle. 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma) 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 29 .loc 1 137 1 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 16 32 @ frame_needed = 1, uses_anonymous_args = 0 33 0000 80B5 push {r7, lr} 34 .cfi_def_cfa_offset 8 35 .cfi_offset 7, -8 ARM GAS /tmp/ccDI3rYs.s page 4 36 .cfi_offset 14, -4 37 0002 84B0 sub sp, sp, #16 38 .cfi_def_cfa_offset 24 39 0004 00AF add r7, sp, #0 40 .cfi_def_cfa_register 7 41 0006 7860 str r0, [r7, #4] 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** uint32_t tmp = 0U; 42 .loc 1 138 12 43 0008 0023 movs r3, #0 44 000a FB60 str r3, [r7, #12] 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Check the DMA handle allocation */ 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(NULL == hdma) 45 .loc 1 141 5 46 000c 7B68 ldr r3, [r7, #4] 47 000e 002B cmp r3, #0 48 0010 01D1 bne .L2 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_ERROR; 49 .loc 1 143 12 50 0012 0123 movs r3, #1 51 0014 37E0 b .L3 52 .L2: 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Check the parameters */ 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance)); 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_DIRECTION(hdma->Init.Direction)); 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_INC_STATE(hdma->Init.PeriphInc)); 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_INC_STATE(hdma->Init.MemInc)); 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(hdma->Init.PeriphDataAlignment)); 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_DATA_SIZE(hdma->Init.MemDataAlignment)); 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_MODE(hdma->Init.Mode)); 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_PRIORITY(hdma->Init.Priority)); 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Change DMA peripheral state */ 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; 53 .loc 1 157 15 54 0016 7B68 ldr r3, [r7, #4] 55 0018 0222 movs r2, #2 56 001a 83F82120 strb r2, [r3, #33] 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Get the CR register value */ 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** tmp = hdma->Instance->CCR; 57 .loc 1 160 13 58 001e 7B68 ldr r3, [r7, #4] 59 0020 1B68 ldr r3, [r3] 60 .loc 1 160 7 61 0022 1B68 ldr r3, [r3] 62 0024 FB60 str r3, [r7, #12] 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR bits */ 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** tmp &= ((uint32_t)~(DMA_CCR_PL | DMA_CCR_MSIZE | DMA_CCR_PSIZE | \ 63 .loc 1 163 7 64 0026 FB68 ldr r3, [r7, #12] 65 0028 23F47F53 bic r3, r3, #16320 66 002c 23F03003 bic r3, r3, #48 ARM GAS /tmp/ccDI3rYs.s page 5 67 0030 FB60 str r3, [r7, #12] 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** DMA_CCR_MINC | DMA_CCR_PINC | DMA_CCR_CIRC | \ 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** DMA_CCR_DIR)); 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Prepare the DMA Channel configuration */ 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** tmp |= hdma->Init.Direction | 68 .loc 1 168 21 69 0032 7B68 ldr r3, [r7, #4] 70 0034 5A68 ldr r2, [r3, #4] 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 71 .loc 1 169 21 72 0036 7B68 ldr r3, [r7, #4] 73 0038 9B68 ldr r3, [r3, #8] 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 74 .loc 1 168 39 75 003a 1A43 orrs r2, r2, r3 76 .loc 1 169 54 77 003c 7B68 ldr r3, [r7, #4] 78 003e DB68 ldr r3, [r3, #12] 79 .loc 1 169 42 80 0040 1A43 orrs r2, r2, r3 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 81 .loc 1 170 21 82 0042 7B68 ldr r3, [r7, #4] 83 0044 1B69 ldr r3, [r3, #16] 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 84 .loc 1 169 72 85 0046 1A43 orrs r2, r2, r3 86 .loc 1 170 54 87 0048 7B68 ldr r3, [r7, #4] 88 004a 5B69 ldr r3, [r3, #20] 89 .loc 1 170 42 90 004c 1A43 orrs r2, r2, r3 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority; 91 .loc 1 171 21 92 004e 7B68 ldr r3, [r7, #4] 93 0050 9B69 ldr r3, [r3, #24] 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 94 .loc 1 170 72 95 0052 1A43 orrs r2, r2, r3 96 .loc 1 171 54 97 0054 7B68 ldr r3, [r7, #4] 98 0056 DB69 ldr r3, [r3, #28] 99 .loc 1 171 42 100 0058 1343 orrs r3, r3, r2 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc | 101 .loc 1 168 7 102 005a FA68 ldr r2, [r7, #12] 103 005c 1343 orrs r3, r3, r2 104 005e FB60 str r3, [r7, #12] 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Write to DMA Channel CR register */ 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR = tmp; 105 .loc 1 174 7 106 0060 7B68 ldr r3, [r7, #4] 107 0062 1B68 ldr r3, [r3] 108 .loc 1 174 23 ARM GAS /tmp/ccDI3rYs.s page 6 109 0064 FA68 ldr r2, [r7, #12] 110 0066 1A60 str r2, [r3] 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Initialize DmaBaseAddress and ChannelIndex parameters used 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */ 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** DMA_CalcBaseAndBitshift(hdma); 111 .loc 1 178 3 112 0068 7868 ldr r0, [r7, #4] 113 006a FFF7FEFF bl DMA_CalcBaseAndBitshift 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Initialise the error code */ 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 114 .loc 1 181 19 115 006e 7B68 ldr r3, [r7, #4] 116 0070 0022 movs r2, #0 117 0072 9A63 str r2, [r3, #56] 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Initialize the DMA state*/ 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 118 .loc 1 184 15 119 0074 7B68 ldr r3, [r7, #4] 120 0076 0122 movs r2, #1 121 0078 83F82120 strb r2, [r3, #33] 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Allocate lock resource and initialize it */ 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Lock = HAL_UNLOCKED; 122 .loc 1 187 14 123 007c 7B68 ldr r3, [r7, #4] 124 007e 0022 movs r2, #0 125 0080 83F82020 strb r2, [r3, #32] 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_OK; 126 .loc 1 189 10 127 0084 0023 movs r3, #0 128 .L3: 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 129 .loc 1 190 1 130 0086 1846 mov r0, r3 131 0088 1037 adds r7, r7, #16 132 .cfi_def_cfa_offset 8 133 008a BD46 mov sp, r7 134 .cfi_def_cfa_register 13 135 @ sp needed 136 008c 80BD pop {r7, pc} 137 .cfi_endproc 138 .LFE130: 140 .section .text.HAL_DMA_DeInit,"ax",%progbits 141 .align 1 142 .global HAL_DMA_DeInit 143 .syntax unified 144 .thumb 145 .thumb_func 147 HAL_DMA_DeInit: 148 .LFB131: 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief DeInitialize the DMA peripheral ARM GAS /tmp/ccDI3rYs.s page 7 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma) 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 149 .loc 1 199 1 150 .cfi_startproc 151 @ args = 0, pretend = 0, frame = 8 152 @ frame_needed = 1, uses_anonymous_args = 0 153 0000 80B5 push {r7, lr} 154 .cfi_def_cfa_offset 8 155 .cfi_offset 7, -8 156 .cfi_offset 14, -4 157 0002 82B0 sub sp, sp, #8 158 .cfi_def_cfa_offset 16 159 0004 00AF add r7, sp, #0 160 .cfi_def_cfa_register 7 161 0006 7860 str r0, [r7, #4] 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Check the DMA handle allocation */ 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(NULL == hdma) 162 .loc 1 201 5 163 0008 7B68 ldr r3, [r7, #4] 164 000a 002B cmp r3, #0 165 000c 01D1 bne .L5 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_ERROR; 166 .loc 1 203 12 167 000e 0123 movs r3, #1 168 0010 3AE0 b .L6 169 .L5: 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Check the parameters */ 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance)); 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable the selected DMA Channelx */ 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; 170 .loc 1 210 7 171 0012 7B68 ldr r3, [r7, #4] 172 0014 1B68 ldr r3, [r3] 173 .loc 1 210 17 174 0016 1A68 ldr r2, [r3] 175 .loc 1 210 7 176 0018 7B68 ldr r3, [r7, #4] 177 001a 1B68 ldr r3, [r3] 178 .loc 1 210 23 179 001c 22F00102 bic r2, r2, #1 180 0020 1A60 str r2, [r3] 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Reset DMA Channel control register */ 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR = 0U; 181 .loc 1 213 7 182 0022 7B68 ldr r3, [r7, #4] 183 0024 1B68 ldr r3, [r3] 184 .loc 1 213 24 185 0026 0022 movs r2, #0 ARM GAS /tmp/ccDI3rYs.s page 8 186 0028 1A60 str r2, [r3] 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Reset DMA Channel Number of Data to Transfer register */ 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CNDTR = 0U; 187 .loc 1 216 7 188 002a 7B68 ldr r3, [r7, #4] 189 002c 1B68 ldr r3, [r3] 190 .loc 1 216 25 191 002e 0022 movs r2, #0 192 0030 5A60 str r2, [r3, #4] 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Reset DMA Channel peripheral address register */ 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CPAR = 0U; 193 .loc 1 219 7 194 0032 7B68 ldr r3, [r7, #4] 195 0034 1B68 ldr r3, [r3] 196 .loc 1 219 25 197 0036 0022 movs r2, #0 198 0038 9A60 str r2, [r3, #8] 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Reset DMA Channel memory address register */ 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CMAR = 0U; 199 .loc 1 222 7 200 003a 7B68 ldr r3, [r7, #4] 201 003c 1B68 ldr r3, [r3] 202 .loc 1 222 24 203 003e 0022 movs r2, #0 204 0040 DA60 str r2, [r3, #12] 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Get DMA Base Address */ 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** DMA_CalcBaseAndBitshift(hdma); 205 .loc 1 225 3 206 0042 7868 ldr r0, [r7, #4] 207 0044 FFF7FEFF bl DMA_CalcBaseAndBitshift 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear all flags */ 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex; 208 .loc 1 228 52 209 0048 7B68 ldr r3, [r7, #4] 210 004a 1A6C ldr r2, [r3, #64] 211 .loc 1 228 7 212 004c 7B68 ldr r3, [r7, #4] 213 004e DB6B ldr r3, [r3, #60] 214 .loc 1 228 45 215 0050 0121 movs r1, #1 216 0052 01FA02F2 lsl r2, r1, r2 217 .loc 1 228 30 218 0056 5A60 str r2, [r3, #4] 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clean callbacks */ 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferCpltCallback = NULL; 219 .loc 1 231 26 220 0058 7B68 ldr r3, [r7, #4] 221 005a 0022 movs r2, #0 222 005c 9A62 str r2, [r3, #40] 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 223 .loc 1 232 30 ARM GAS /tmp/ccDI3rYs.s page 9 224 005e 7B68 ldr r3, [r7, #4] 225 0060 0022 movs r2, #0 226 0062 DA62 str r2, [r3, #44] 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 227 .loc 1 233 27 228 0064 7B68 ldr r3, [r7, #4] 229 0066 0022 movs r2, #0 230 0068 1A63 str r2, [r3, #48] 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 231 .loc 1 234 27 232 006a 7B68 ldr r3, [r7, #4] 233 006c 0022 movs r2, #0 234 006e 5A63 str r2, [r3, #52] 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Reset the error code */ 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 235 .loc 1 237 19 236 0070 7B68 ldr r3, [r7, #4] 237 0072 0022 movs r2, #0 238 0074 9A63 str r2, [r3, #56] 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Reset the DMA state */ 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_RESET; 239 .loc 1 240 15 240 0076 7B68 ldr r3, [r7, #4] 241 0078 0022 movs r2, #0 242 007a 83F82120 strb r2, [r3, #33] 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Release Lock */ 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 243 .loc 1 243 3 244 007e 7B68 ldr r3, [r7, #4] 245 0080 0022 movs r2, #0 246 0082 83F82020 strb r2, [r3, #32] 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_OK; 247 .loc 1 245 10 248 0086 0023 movs r3, #0 249 .L6: 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 250 .loc 1 246 1 251 0088 1846 mov r0, r3 252 008a 0837 adds r7, r7, #8 253 .cfi_def_cfa_offset 8 254 008c BD46 mov sp, r7 255 .cfi_def_cfa_register 13 256 @ sp needed 257 008e 80BD pop {r7, pc} 258 .cfi_endproc 259 .LFE131: 261 .section .text.HAL_DMA_Start,"ax",%progbits 262 .align 1 263 .global HAL_DMA_Start 264 .syntax unified 265 .thumb 266 .thumb_func 268 HAL_DMA_Start: ARM GAS /tmp/ccDI3rYs.s page 10 269 .LFB132: 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @} 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions_Group2 Input and Output operation functions 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief I/O operation functions 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** @verbatim 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** =============================================================================== 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ##### IO operation functions ##### 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** =============================================================================== 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** [..] This section provides functions allowing to: 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Configure the source, destination address and data length and Start DMA transfer 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Configure the source, destination address and data length and 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** Start DMA transfer with interrupt 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Abort DMA transfer 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Poll for transfer complete 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Handle DMA interrupt request 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** @endverbatim 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @{ 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Start the DMA Transfer. 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma : pointer to a DMA_HandleTypeDef structure that contains 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 270 .loc 1 281 1 271 .cfi_startproc 272 @ args = 0, pretend = 0, frame = 24 273 @ frame_needed = 1, uses_anonymous_args = 0 274 0000 80B5 push {r7, lr} 275 .cfi_def_cfa_offset 8 276 .cfi_offset 7, -8 277 .cfi_offset 14, -4 278 0002 86B0 sub sp, sp, #24 279 .cfi_def_cfa_offset 32 280 0004 00AF add r7, sp, #0 281 .cfi_def_cfa_register 7 282 0006 F860 str r0, [r7, #12] 283 0008 B960 str r1, [r7, #8] 284 000a 7A60 str r2, [r7, #4] 285 000c 3B60 str r3, [r7] 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 286 .loc 1 282 20 287 000e 0023 movs r3, #0 288 0010 FB75 strb r3, [r7, #23] 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ARM GAS /tmp/ccDI3rYs.s page 11 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Check the parameters */ 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength)); 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process locked */ 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_LOCK(hdma); 289 .loc 1 288 3 290 0012 FB68 ldr r3, [r7, #12] 291 0014 93F82030 ldrb r3, [r3, #32] @ zero_extendqisi2 292 0018 012B cmp r3, #1 293 001a 01D1 bne .L8 294 .loc 1 288 3 is_stmt 0 discriminator 1 295 001c 0223 movs r3, #2 296 .loc 1 288 3 297 001e 2DE0 b .L9 298 .L8: 299 .loc 1 288 3 discriminator 2 300 0020 FB68 ldr r3, [r7, #12] 301 0022 0122 movs r2, #1 302 0024 83F82020 strb r2, [r3, #32] 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 303 .loc 1 290 33 is_stmt 1 304 0028 FB68 ldr r3, [r7, #12] 305 002a 93F82130 ldrb r3, [r3, #33] @ zero_extendqisi2 306 .loc 1 290 5 307 002e 012B cmp r3, #1 308 0030 1DD1 bne .L10 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Change DMA peripheral state */ 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; 309 .loc 1 293 16 310 0032 FB68 ldr r3, [r7, #12] 311 0034 0222 movs r2, #2 312 0036 83F82120 strb r2, [r3, #33] 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 313 .loc 1 295 20 314 003a FB68 ldr r3, [r7, #12] 315 003c 0022 movs r2, #0 316 003e 9A63 str r2, [r3, #56] 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable the peripheral */ 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; 317 .loc 1 298 8 318 0040 FB68 ldr r3, [r7, #12] 319 0042 1B68 ldr r3, [r3] 320 .loc 1 298 18 321 0044 1A68 ldr r2, [r3] 322 .loc 1 298 8 323 0046 FB68 ldr r3, [r7, #12] 324 0048 1B68 ldr r3, [r3] 325 .loc 1 298 24 326 004a 22F00102 bic r2, r2, #1 327 004e 1A60 str r2, [r3] 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Configure the source, destination address and the data length */ 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); ARM GAS /tmp/ccDI3rYs.s page 12 328 .loc 1 301 4 329 0050 3B68 ldr r3, [r7] 330 0052 7A68 ldr r2, [r7, #4] 331 0054 B968 ldr r1, [r7, #8] 332 0056 F868 ldr r0, [r7, #12] 333 0058 FFF7FEFF bl DMA_SetConfig 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Enable the Peripheral */ 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR |= DMA_CCR_EN; 334 .loc 1 304 8 335 005c FB68 ldr r3, [r7, #12] 336 005e 1B68 ldr r3, [r3] 337 .loc 1 304 18 338 0060 1A68 ldr r2, [r3] 339 .loc 1 304 8 340 0062 FB68 ldr r3, [r7, #12] 341 0064 1B68 ldr r3, [r3] 342 .loc 1 304 24 343 0066 42F00102 orr r2, r2, #1 344 006a 1A60 str r2, [r3] 345 006c 05E0 b .L11 346 .L10: 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process Unlocked */ 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 347 .loc 1 309 4 348 006e FB68 ldr r3, [r7, #12] 349 0070 0022 movs r2, #0 350 0072 83F82020 strb r2, [r3, #32] 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Remain BUSY */ 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** status = HAL_BUSY; 351 .loc 1 312 11 352 0076 0223 movs r3, #2 353 0078 FB75 strb r3, [r7, #23] 354 .L11: 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return status; 355 .loc 1 315 10 356 007a FB7D ldrb r3, [r7, #23] @ zero_extendqisi2 357 .L9: 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 358 .loc 1 316 1 359 007c 1846 mov r0, r3 360 007e 1837 adds r7, r7, #24 361 .cfi_def_cfa_offset 8 362 0080 BD46 mov sp, r7 363 .cfi_def_cfa_register 13 364 @ sp needed 365 0082 80BD pop {r7, pc} 366 .cfi_endproc 367 .LFE132: 369 .section .text.HAL_DMA_Start_IT,"ax",%progbits 370 .align 1 ARM GAS /tmp/ccDI3rYs.s page 13 371 .global HAL_DMA_Start_IT 372 .syntax unified 373 .thumb 374 .thumb_func 376 HAL_DMA_Start_IT: 377 .LFB133: 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Start the DMA Transfer with interrupt enabled. 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddres 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 378 .loc 1 328 1 379 .cfi_startproc 380 @ args = 0, pretend = 0, frame = 24 381 @ frame_needed = 1, uses_anonymous_args = 0 382 0000 80B5 push {r7, lr} 383 .cfi_def_cfa_offset 8 384 .cfi_offset 7, -8 385 .cfi_offset 14, -4 386 0002 86B0 sub sp, sp, #24 387 .cfi_def_cfa_offset 32 388 0004 00AF add r7, sp, #0 389 .cfi_def_cfa_register 7 390 0006 F860 str r0, [r7, #12] 391 0008 B960 str r1, [r7, #8] 392 000a 7A60 str r2, [r7, #4] 393 000c 3B60 str r3, [r7] 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 394 .loc 1 329 20 395 000e 0023 movs r3, #0 396 0010 FB75 strb r3, [r7, #23] 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Check the parameters */ 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength)); 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process locked */ 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_LOCK(hdma); 397 .loc 1 335 3 398 0012 FB68 ldr r3, [r7, #12] 399 0014 93F82030 ldrb r3, [r3, #32] @ zero_extendqisi2 400 0018 012B cmp r3, #1 401 001a 01D1 bne .L13 402 .loc 1 335 3 is_stmt 0 discriminator 1 403 001c 0223 movs r3, #2 404 .loc 1 335 3 405 001e 4AE0 b .L14 406 .L13: 407 .loc 1 335 3 discriminator 2 408 0020 FB68 ldr r3, [r7, #12] 409 0022 0122 movs r2, #1 ARM GAS /tmp/ccDI3rYs.s page 14 410 0024 83F82020 strb r2, [r3, #32] 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 411 .loc 1 337 33 is_stmt 1 412 0028 FB68 ldr r3, [r7, #12] 413 002a 93F82130 ldrb r3, [r3, #33] @ zero_extendqisi2 414 .loc 1 337 5 415 002e 012B cmp r3, #1 416 0030 3AD1 bne .L15 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Change DMA peripheral state */ 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY; 417 .loc 1 340 16 418 0032 FB68 ldr r3, [r7, #12] 419 0034 0222 movs r2, #2 420 0036 83F82120 strb r2, [r3, #33] 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE; 421 .loc 1 342 20 422 003a FB68 ldr r3, [r7, #12] 423 003c 0022 movs r2, #0 424 003e 9A63 str r2, [r3, #56] 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable the peripheral */ 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; 425 .loc 1 345 8 426 0040 FB68 ldr r3, [r7, #12] 427 0042 1B68 ldr r3, [r3] 428 .loc 1 345 18 429 0044 1A68 ldr r2, [r3] 430 .loc 1 345 8 431 0046 FB68 ldr r3, [r7, #12] 432 0048 1B68 ldr r3, [r3] 433 .loc 1 345 24 434 004a 22F00102 bic r2, r2, #1 435 004e 1A60 str r2, [r3] 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Configure the source, destination address and the data length */ 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); 436 .loc 1 348 4 437 0050 3B68 ldr r3, [r7] 438 0052 7A68 ldr r2, [r7, #4] 439 0054 B968 ldr r1, [r7, #8] 440 0056 F868 ldr r0, [r7, #12] 441 0058 FFF7FEFF bl DMA_SetConfig 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Enable the transfer complete, & transfer error interrupts */ 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Half transfer interrupt is optional: enable it only if associated callback is available */ 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(NULL != hdma->XferHalfCpltCallback ) 442 .loc 1 352 20 443 005c FB68 ldr r3, [r7, #12] 444 005e DB6A ldr r3, [r3, #44] 445 .loc 1 352 7 446 0060 002B cmp r3, #0 447 0062 08D0 beq .L16 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR |= (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE); ARM GAS /tmp/ccDI3rYs.s page 15 448 .loc 1 354 11 449 0064 FB68 ldr r3, [r7, #12] 450 0066 1B68 ldr r3, [r3] 451 .loc 1 354 21 452 0068 1A68 ldr r2, [r3] 453 .loc 1 354 11 454 006a FB68 ldr r3, [r7, #12] 455 006c 1B68 ldr r3, [r3] 456 .loc 1 354 27 457 006e 42F00E02 orr r2, r2, #14 458 0072 1A60 str r2, [r3] 459 0074 0FE0 b .L17 460 .L16: 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR |= (DMA_IT_TC | DMA_IT_TE); 461 .loc 1 358 9 462 0076 FB68 ldr r3, [r7, #12] 463 0078 1B68 ldr r3, [r3] 464 .loc 1 358 19 465 007a 1A68 ldr r2, [r3] 466 .loc 1 358 9 467 007c FB68 ldr r3, [r7, #12] 468 007e 1B68 ldr r3, [r3] 469 .loc 1 358 25 470 0080 42F00A02 orr r2, r2, #10 471 0084 1A60 str r2, [r3] 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_IT_HT; 472 .loc 1 359 9 473 0086 FB68 ldr r3, [r7, #12] 474 0088 1B68 ldr r3, [r3] 475 .loc 1 359 19 476 008a 1A68 ldr r2, [r3] 477 .loc 1 359 9 478 008c FB68 ldr r3, [r7, #12] 479 008e 1B68 ldr r3, [r3] 480 .loc 1 359 25 481 0090 22F00402 bic r2, r2, #4 482 0094 1A60 str r2, [r3] 483 .L17: 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Enable the Peripheral */ 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR |= DMA_CCR_EN; 484 .loc 1 363 8 485 0096 FB68 ldr r3, [r7, #12] 486 0098 1B68 ldr r3, [r3] 487 .loc 1 363 18 488 009a 1A68 ldr r2, [r3] 489 .loc 1 363 8 490 009c FB68 ldr r3, [r7, #12] 491 009e 1B68 ldr r3, [r3] 492 .loc 1 363 24 493 00a0 42F00102 orr r2, r2, #1 494 00a4 1A60 str r2, [r3] 495 00a6 05E0 b .L18 ARM GAS /tmp/ccDI3rYs.s page 16 496 .L15: 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process Unlocked */ 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 497 .loc 1 368 5 498 00a8 FB68 ldr r3, [r7, #12] 499 00aa 0022 movs r2, #0 500 00ac 83F82020 strb r2, [r3, #32] 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Remain BUSY */ 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** status = HAL_BUSY; 501 .loc 1 371 12 502 00b0 0223 movs r3, #2 503 00b2 FB75 strb r3, [r7, #23] 504 .L18: 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return status; 505 .loc 1 374 10 506 00b4 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2 507 .L14: 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 508 .loc 1 375 1 509 00b6 1846 mov r0, r3 510 00b8 1837 adds r7, r7, #24 511 .cfi_def_cfa_offset 8 512 00ba BD46 mov sp, r7 513 .cfi_def_cfa_register 13 514 @ sp needed 515 00bc 80BD pop {r7, pc} 516 .cfi_endproc 517 .LFE133: 519 .section .text.HAL_DMA_Abort,"ax",%progbits 520 .align 1 521 .global HAL_DMA_Abort 522 .syntax unified 523 .thumb 524 .thumb_func 526 HAL_DMA_Abort: 527 .LFB134: 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Abort the DMA Transfer. 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma : pointer to a DMA_HandleTypeDef structure that contains 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma) 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 528 .loc 1 384 1 529 .cfi_startproc 530 @ args = 0, pretend = 0, frame = 8 531 @ frame_needed = 1, uses_anonymous_args = 0 532 @ link register save eliminated. 533 0000 80B4 push {r7} ARM GAS /tmp/ccDI3rYs.s page 17 534 .cfi_def_cfa_offset 4 535 .cfi_offset 7, -4 536 0002 83B0 sub sp, sp, #12 537 .cfi_def_cfa_offset 16 538 0004 00AF add r7, sp, #0 539 .cfi_def_cfa_register 7 540 0006 7860 str r0, [r7, #4] 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY) 541 .loc 1 385 10 542 0008 7B68 ldr r3, [r7, #4] 543 000a 93F82130 ldrb r3, [r3, #33] @ zero_extendqisi2 544 .loc 1 385 5 545 000e 022B cmp r3, #2 546 0010 08D0 beq .L20 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* no transfer ongoing */ 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 547 .loc 1 388 21 548 0012 7B68 ldr r3, [r7, #4] 549 0014 0422 movs r2, #4 550 0016 9A63 str r2, [r3, #56] 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process Unlocked */ 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 551 .loc 1 391 5 552 0018 7B68 ldr r3, [r7, #4] 553 001a 0022 movs r2, #0 554 001c 83F82020 strb r2, [r3, #32] 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_ERROR; 555 .loc 1 393 12 556 0020 0123 movs r3, #1 557 0022 20E0 b .L21 558 .L20: 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable DMA IT */ 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE); 559 .loc 1 398 10 560 0024 7B68 ldr r3, [r7, #4] 561 0026 1B68 ldr r3, [r3] 562 .loc 1 398 20 563 0028 1A68 ldr r2, [r3] 564 .loc 1 398 10 565 002a 7B68 ldr r3, [r7, #4] 566 002c 1B68 ldr r3, [r3] 567 .loc 1 398 26 568 002e 22F00E02 bic r2, r2, #14 569 0032 1A60 str r2, [r3] 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable the channel */ 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; 570 .loc 1 401 9 571 0034 7B68 ldr r3, [r7, #4] 572 0036 1B68 ldr r3, [r3] 573 .loc 1 401 19 ARM GAS /tmp/ccDI3rYs.s page 18 574 0038 1A68 ldr r2, [r3] 575 .loc 1 401 9 576 003a 7B68 ldr r3, [r7, #4] 577 003c 1B68 ldr r3, [r3] 578 .loc 1 401 25 579 003e 22F00102 bic r2, r2, #1 580 0042 1A60 str r2, [r3] 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear all flags */ 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = (DMA_FLAG_GL1 << hdma->ChannelIndex); 581 .loc 1 404 55 582 0044 7B68 ldr r3, [r7, #4] 583 0046 1A6C ldr r2, [r3, #64] 584 .loc 1 404 9 585 0048 7B68 ldr r3, [r7, #4] 586 004a DB6B ldr r3, [r3, #60] 587 .loc 1 404 48 588 004c 0121 movs r1, #1 589 004e 01FA02F2 lsl r2, r1, r2 590 .loc 1 404 32 591 0052 5A60 str r2, [r3, #4] 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Change the DMA state*/ 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 592 .loc 1 407 15 593 0054 7B68 ldr r3, [r7, #4] 594 0056 0122 movs r2, #1 595 0058 83F82120 strb r2, [r3, #33] 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process Unlocked */ 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 596 .loc 1 410 3 597 005c 7B68 ldr r3, [r7, #4] 598 005e 0022 movs r2, #0 599 0060 83F82020 strb r2, [r3, #32] 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_OK; 600 .loc 1 412 10 601 0064 0023 movs r3, #0 602 .L21: 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 603 .loc 1 413 1 604 0066 1846 mov r0, r3 605 0068 0C37 adds r7, r7, #12 606 .cfi_def_cfa_offset 4 607 006a BD46 mov sp, r7 608 .cfi_def_cfa_register 13 609 @ sp needed 610 006c 5DF8047B ldr r7, [sp], #4 611 .cfi_restore 7 612 .cfi_def_cfa_offset 0 613 0070 7047 bx lr 614 .cfi_endproc 615 .LFE134: 617 .section .text.HAL_DMA_Abort_IT,"ax",%progbits 618 .align 1 619 .global HAL_DMA_Abort_IT ARM GAS /tmp/ccDI3rYs.s page 19 620 .syntax unified 621 .thumb 622 .thumb_func 624 HAL_DMA_Abort_IT: 625 .LFB135: 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Abort the DMA Transfer in Interrupt mode. 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma : pointer to a DMA_HandleTypeDef structure that contains 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma) 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 626 .loc 1 422 1 627 .cfi_startproc 628 @ args = 0, pretend = 0, frame = 16 629 @ frame_needed = 1, uses_anonymous_args = 0 630 0000 80B5 push {r7, lr} 631 .cfi_def_cfa_offset 8 632 .cfi_offset 7, -8 633 .cfi_offset 14, -4 634 0002 84B0 sub sp, sp, #16 635 .cfi_def_cfa_offset 24 636 0004 00AF add r7, sp, #0 637 .cfi_def_cfa_register 7 638 0006 7860 str r0, [r7, #4] 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 639 .loc 1 423 21 640 0008 0023 movs r3, #0 641 000a FB73 strb r3, [r7, #15] 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State) 642 .loc 1 425 32 643 000c 7B68 ldr r3, [r7, #4] 644 000e 93F82130 ldrb r3, [r3, #33] @ zero_extendqisi2 645 .loc 1 425 5 646 0012 022B cmp r3, #2 647 0014 05D0 beq .L23 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* no transfer ongoing */ 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 648 .loc 1 428 21 649 0016 7B68 ldr r3, [r7, #4] 650 0018 0422 movs r2, #4 651 001a 9A63 str r2, [r3, #56] 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** status = HAL_ERROR; 652 .loc 1 430 12 653 001c 0123 movs r3, #1 654 001e FB73 strb r3, [r7, #15] 655 0020 27E0 b .L24 656 .L23: 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ARM GAS /tmp/ccDI3rYs.s page 20 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable DMA IT */ 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE); 657 .loc 1 436 9 658 0022 7B68 ldr r3, [r7, #4] 659 0024 1B68 ldr r3, [r3] 660 .loc 1 436 19 661 0026 1A68 ldr r2, [r3] 662 .loc 1 436 9 663 0028 7B68 ldr r3, [r7, #4] 664 002a 1B68 ldr r3, [r3] 665 .loc 1 436 25 666 002c 22F00E02 bic r2, r2, #14 667 0030 1A60 str r2, [r3] 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable the channel */ 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN; 668 .loc 1 439 9 669 0032 7B68 ldr r3, [r7, #4] 670 0034 1B68 ldr r3, [r3] 671 .loc 1 439 19 672 0036 1A68 ldr r2, [r3] 673 .loc 1 439 9 674 0038 7B68 ldr r3, [r7, #4] 675 003a 1B68 ldr r3, [r3] 676 .loc 1 439 25 677 003c 22F00102 bic r2, r2, #1 678 0040 1A60 str r2, [r3] 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear all flags */ 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex; 679 .loc 1 442 54 680 0042 7B68 ldr r3, [r7, #4] 681 0044 1A6C ldr r2, [r3, #64] 682 .loc 1 442 9 683 0046 7B68 ldr r3, [r7, #4] 684 0048 DB6B ldr r3, [r3, #60] 685 .loc 1 442 47 686 004a 0121 movs r1, #1 687 004c 01FA02F2 lsl r2, r1, r2 688 .loc 1 442 32 689 0050 5A60 str r2, [r3, #4] 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Change the DMA state */ 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 690 .loc 1 445 17 691 0052 7B68 ldr r3, [r7, #4] 692 0054 0122 movs r2, #1 693 0056 83F82120 strb r2, [r3, #33] 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process Unlocked */ 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 694 .loc 1 448 5 695 005a 7B68 ldr r3, [r7, #4] 696 005c 0022 movs r2, #0 697 005e 83F82020 strb r2, [r3, #32] 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Call User Abort callback */ ARM GAS /tmp/ccDI3rYs.s page 21 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(hdma->XferAbortCallback != NULL) 698 .loc 1 451 12 699 0062 7B68 ldr r3, [r7, #4] 700 0064 5B6B ldr r3, [r3, #52] 701 .loc 1 451 7 702 0066 002B cmp r3, #0 703 0068 03D0 beq .L24 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferAbortCallback(hdma); 704 .loc 1 453 11 705 006a 7B68 ldr r3, [r7, #4] 706 006c 5B6B ldr r3, [r3, #52] 707 .loc 1 453 7 708 006e 7868 ldr r0, [r7, #4] 709 0070 9847 blx r3 710 .LVL0: 711 .L24: 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return status; 712 .loc 1 456 10 713 0072 FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 714 .loc 1 457 1 715 0074 1846 mov r0, r3 716 0076 1037 adds r7, r7, #16 717 .cfi_def_cfa_offset 8 718 0078 BD46 mov sp, r7 719 .cfi_def_cfa_register 13 720 @ sp needed 721 007a 80BD pop {r7, pc} 722 .cfi_endproc 723 .LFE135: 725 .section .text.HAL_DMA_PollForTransfer,"ax",%progbits 726 .align 1 727 .global HAL_DMA_PollForTransfer 728 .syntax unified 729 .thumb 730 .thumb_func 732 HAL_DMA_PollForTransfer: 733 .LFB136: 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Polling for transfer complete. 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param CompleteLevel Specifies the DMA level complete. 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param Timeout Timeout duration. 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, uint32_t CompleteLevel, uint32_t 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 734 .loc 1 468 1 735 .cfi_startproc 736 @ args = 0, pretend = 0, frame = 24 737 @ frame_needed = 1, uses_anonymous_args = 0 738 0000 80B5 push {r7, lr} ARM GAS /tmp/ccDI3rYs.s page 22 739 .cfi_def_cfa_offset 8 740 .cfi_offset 7, -8 741 .cfi_offset 14, -4 742 0002 86B0 sub sp, sp, #24 743 .cfi_def_cfa_offset 32 744 0004 00AF add r7, sp, #0 745 .cfi_def_cfa_register 7 746 0006 F860 str r0, [r7, #12] 747 0008 B960 str r1, [r7, #8] 748 000a 7A60 str r2, [r7, #4] 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** uint32_t temp; 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** uint32_t tickstart = 0U; 749 .loc 1 470 12 750 000c 0023 movs r3, #0 751 000e 3B61 str r3, [r7, #16] 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State) 752 .loc 1 472 32 753 0010 FB68 ldr r3, [r7, #12] 754 0012 93F82130 ldrb r3, [r3, #33] @ zero_extendqisi2 755 .loc 1 472 5 756 0016 022B cmp r3, #2 757 0018 08D0 beq .L27 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* no transfer ongoing */ 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 758 .loc 1 475 21 759 001a FB68 ldr r3, [r7, #12] 760 001c 0422 movs r2, #4 761 001e 9A63 str r2, [r3, #56] 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 762 .loc 1 476 5 763 0020 FB68 ldr r3, [r7, #12] 764 0022 0022 movs r2, #0 765 0024 83F82020 strb r2, [r3, #32] 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_ERROR; 766 .loc 1 477 12 767 0028 0123 movs r3, #1 768 002a 80E0 b .L28 769 .L27: 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Polling mode not supported in circular mode */ 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if (RESET != (hdma->Instance->CCR & DMA_CCR_CIRC)) 770 .loc 1 481 21 771 002c FB68 ldr r3, [r7, #12] 772 002e 1B68 ldr r3, [r3] 773 .loc 1 481 31 774 0030 1B68 ldr r3, [r3] 775 .loc 1 481 37 776 0032 03F02003 and r3, r3, #32 777 .loc 1 481 6 778 0036 002B cmp r3, #0 779 0038 05D0 beq .L29 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED; 780 .loc 1 483 21 ARM GAS /tmp/ccDI3rYs.s page 23 781 003a FB68 ldr r3, [r7, #12] 782 003c 4FF48072 mov r2, #256 783 0040 9A63 str r2, [r3, #56] 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_ERROR; 784 .loc 1 484 12 785 0042 0123 movs r3, #1 786 0044 73E0 b .L28 787 .L29: 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Get the level transfer complete flag */ 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(HAL_DMA_FULL_TRANSFER == CompleteLevel) 788 .loc 1 488 5 789 0046 BB68 ldr r3, [r7, #8] 790 0048 002B cmp r3, #0 791 004a 06D1 bne .L30 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Transfer Complete flag */ 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** temp = DMA_FLAG_TC1 << hdma->ChannelIndex; 792 .loc 1 491 32 793 004c FB68 ldr r3, [r7, #12] 794 004e 1B6C ldr r3, [r3, #64] 795 .loc 1 491 10 796 0050 0222 movs r2, #2 797 0052 02FA03F3 lsl r3, r2, r3 798 0056 7B61 str r3, [r7, #20] 799 0058 05E0 b .L31 800 .L30: 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Half Transfer Complete flag */ 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** temp = DMA_FLAG_HT1 << hdma->ChannelIndex; 801 .loc 1 496 32 802 005a FB68 ldr r3, [r7, #12] 803 005c 1B6C ldr r3, [r3, #64] 804 .loc 1 496 10 805 005e 0422 movs r2, #4 806 0060 02FA03F3 lsl r3, r2, r3 807 0064 7B61 str r3, [r7, #20] 808 .L31: 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Get tick */ 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** tickstart = HAL_GetTick(); 809 .loc 1 500 15 810 0066 FFF7FEFF bl HAL_GetTick 811 006a 3861 str r0, [r7, #16] 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** while(RESET == (hdma->DmaBaseAddress->ISR & temp)) 812 .loc 1 502 8 813 006c 3BE0 b .L34 814 .L36: 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(RESET != (hdma->DmaBaseAddress->ISR & (DMA_FLAG_TE1 << hdma->ChannelIndex))) 815 .loc 1 504 22 816 006e FB68 ldr r3, [r7, #12] ARM GAS /tmp/ccDI3rYs.s page 24 817 0070 DB6B ldr r3, [r3, #60] 818 .loc 1 504 38 819 0072 1A68 ldr r2, [r3] 820 .loc 1 504 67 821 0074 FB68 ldr r3, [r7, #12] 822 0076 1B6C ldr r3, [r3, #64] 823 .loc 1 504 60 824 0078 0821 movs r1, #8 825 007a 01FA03F3 lsl r3, r1, r3 826 .loc 1 504 44 827 007e 1340 ands r3, r3, r2 828 .loc 1 504 7 829 0080 002B cmp r3, #0 830 0082 14D0 beq .L33 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* When a DMA transfer error occurs */ 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* A hardware clear of its EN bits is performed */ 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear all flags */ 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex; 831 .loc 1 509 56 832 0084 FB68 ldr r3, [r7, #12] 833 0086 1A6C ldr r2, [r3, #64] 834 .loc 1 509 11 835 0088 FB68 ldr r3, [r7, #12] 836 008a DB6B ldr r3, [r3, #60] 837 .loc 1 509 49 838 008c 0121 movs r1, #1 839 008e 01FA02F2 lsl r2, r1, r2 840 .loc 1 509 34 841 0092 5A60 str r2, [r3, #4] 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Update error code */ 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TE; 842 .loc 1 512 23 843 0094 FB68 ldr r3, [r7, #12] 844 0096 0122 movs r2, #1 845 0098 9A63 str r2, [r3, #56] 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Change the DMA state */ 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State= HAL_DMA_STATE_READY; 846 .loc 1 515 18 847 009a FB68 ldr r3, [r7, #12] 848 009c 0122 movs r2, #1 849 009e 83F82120 strb r2, [r3, #33] 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process Unlocked */ 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 850 .loc 1 518 7 851 00a2 FB68 ldr r3, [r7, #12] 852 00a4 0022 movs r2, #0 853 00a6 83F82020 strb r2, [r3, #32] 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_ERROR; 854 .loc 1 520 14 855 00aa 0123 movs r3, #1 856 00ac 3FE0 b .L28 857 .L33: ARM GAS /tmp/ccDI3rYs.s page 25 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Check for the Timeout */ 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(Timeout != HAL_MAX_DELAY) 858 .loc 1 523 7 859 00ae 7B68 ldr r3, [r7, #4] 860 00b0 B3F1FF3F cmp r3, #-1 861 00b4 17D0 beq .L34 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout)) 862 .loc 1 525 9 863 00b6 7B68 ldr r3, [r7, #4] 864 00b8 002B cmp r3, #0 865 00ba 07D0 beq .L35 866 .loc 1 525 31 discriminator 1 867 00bc FFF7FEFF bl HAL_GetTick 868 00c0 0246 mov r2, r0 869 .loc 1 525 45 discriminator 1 870 00c2 3B69 ldr r3, [r7, #16] 871 00c4 D31A subs r3, r2, r3 872 .loc 1 525 26 discriminator 1 873 00c6 7A68 ldr r2, [r7, #4] 874 00c8 9A42 cmp r2, r3 875 00ca 0CD2 bcs .L34 876 .L35: 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Update error code */ 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 877 .loc 1 528 25 878 00cc FB68 ldr r3, [r7, #12] 879 00ce 2022 movs r2, #32 880 00d0 9A63 str r2, [r3, #56] 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Change the DMA state */ 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 881 .loc 1 531 21 882 00d2 FB68 ldr r3, [r7, #12] 883 00d4 0122 movs r2, #1 884 00d6 83F82120 strb r2, [r3, #33] 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process Unlocked */ 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 885 .loc 1 534 9 886 00da FB68 ldr r3, [r7, #12] 887 00dc 0022 movs r2, #0 888 00de 83F82020 strb r2, [r3, #32] 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_ERROR; 889 .loc 1 536 16 890 00e2 0123 movs r3, #1 891 00e4 23E0 b .L28 892 .L34: 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 893 .loc 1 502 23 894 00e6 FB68 ldr r3, [r7, #12] 895 00e8 DB6B ldr r3, [r3, #60] 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 896 .loc 1 502 39 ARM GAS /tmp/ccDI3rYs.s page 26 897 00ea 1A68 ldr r2, [r3] 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 898 .loc 1 502 45 899 00ec 7B69 ldr r3, [r7, #20] 900 00ee 1340 ands r3, r3, r2 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 901 .loc 1 502 15 902 00f0 002B cmp r3, #0 903 00f2 BCD0 beq .L36 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(HAL_DMA_FULL_TRANSFER == CompleteLevel) 904 .loc 1 541 5 905 00f4 BB68 ldr r3, [r7, #8] 906 00f6 002B cmp r3, #0 907 00f8 0CD1 bne .L37 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear the transfer complete flag */ 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_TC1 << hdma->ChannelIndex; 908 .loc 1 544 54 909 00fa FB68 ldr r3, [r7, #12] 910 00fc 1A6C ldr r2, [r3, #64] 911 .loc 1 544 9 912 00fe FB68 ldr r3, [r7, #12] 913 0100 DB6B ldr r3, [r3, #60] 914 .loc 1 544 47 915 0102 0221 movs r1, #2 916 0104 01FA02F2 lsl r2, r1, r2 917 .loc 1 544 32 918 0108 5A60 str r2, [r3, #4] 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* The selected Channelx EN bit is cleared (DMA is disabled and 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** all transfers are complete) */ 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 919 .loc 1 548 17 920 010a FB68 ldr r3, [r7, #12] 921 010c 0122 movs r2, #1 922 010e 83F82120 strb r2, [r3, #33] 923 0112 07E0 b .L38 924 .L37: 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear the half transfer complete flag */ 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_HT1 << hdma->ChannelIndex; 925 .loc 1 553 54 926 0114 FB68 ldr r3, [r7, #12] 927 0116 1A6C ldr r2, [r3, #64] 928 .loc 1 553 9 929 0118 FB68 ldr r3, [r7, #12] 930 011a DB6B ldr r3, [r3, #60] 931 .loc 1 553 47 932 011c 0421 movs r1, #4 933 011e 01FA02F2 lsl r2, r1, r2 934 .loc 1 553 32 ARM GAS /tmp/ccDI3rYs.s page 27 935 0122 5A60 str r2, [r3, #4] 936 .L38: 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process unlocked */ 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 937 .loc 1 557 3 938 0124 FB68 ldr r3, [r7, #12] 939 0126 0022 movs r2, #0 940 0128 83F82020 strb r2, [r3, #32] 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return HAL_OK; 941 .loc 1 559 10 942 012c 0023 movs r3, #0 943 .L28: 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 944 .loc 1 560 1 945 012e 1846 mov r0, r3 946 0130 1837 adds r7, r7, #24 947 .cfi_def_cfa_offset 8 948 0132 BD46 mov sp, r7 949 .cfi_def_cfa_register 13 950 @ sp needed 951 0134 80BD pop {r7, pc} 952 .cfi_endproc 953 .LFE136: 955 .section .text.HAL_DMA_IRQHandler,"ax",%progbits 956 .align 1 957 .global HAL_DMA_IRQHandler 958 .syntax unified 959 .thumb 960 .thumb_func 962 HAL_DMA_IRQHandler: 963 .LFB137: 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Handle DMA interrupt request. 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval None 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma) 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 964 .loc 1 569 1 965 .cfi_startproc 966 @ args = 0, pretend = 0, frame = 16 967 @ frame_needed = 1, uses_anonymous_args = 0 968 0000 80B5 push {r7, lr} 969 .cfi_def_cfa_offset 8 970 .cfi_offset 7, -8 971 .cfi_offset 14, -4 972 0002 84B0 sub sp, sp, #16 973 .cfi_def_cfa_offset 24 974 0004 00AF add r7, sp, #0 975 .cfi_def_cfa_register 7 976 0006 7860 str r0, [r7, #4] 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** uint32_t flag_it = hdma->DmaBaseAddress->ISR; ARM GAS /tmp/ccDI3rYs.s page 28 977 .loc 1 570 25 978 0008 7B68 ldr r3, [r7, #4] 979 000a DB6B ldr r3, [r3, #60] 980 .loc 1 570 11 981 000c 1B68 ldr r3, [r3] 982 000e FB60 str r3, [r7, #12] 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** uint32_t source_it = hdma->Instance->CCR; 983 .loc 1 571 28 984 0010 7B68 ldr r3, [r7, #4] 985 0012 1B68 ldr r3, [r3] 986 .loc 1 571 12 987 0014 1B68 ldr r3, [r3] 988 0016 BB60 str r3, [r7, #8] 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Half Transfer Complete Interrupt management ******************************/ 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if ((RESET != (flag_it & (DMA_FLAG_HT1 << hdma->ChannelIndex))) && (RESET != (source_it & DMA_IT_ 989 .loc 1 574 49 990 0018 7B68 ldr r3, [r7, #4] 991 001a 1B6C ldr r3, [r3, #64] 992 .loc 1 574 42 993 001c 0422 movs r2, #4 994 001e 9A40 lsls r2, r2, r3 995 .loc 1 574 26 996 0020 FB68 ldr r3, [r7, #12] 997 0022 1340 ands r3, r3, r2 998 .loc 1 574 6 999 0024 002B cmp r3, #0 1000 0026 24D0 beq .L40 1001 .loc 1 574 91 discriminator 1 1002 0028 BB68 ldr r3, [r7, #8] 1003 002a 03F00403 and r3, r3, #4 1004 .loc 1 574 67 discriminator 1 1005 002e 002B cmp r3, #0 1006 0030 1FD0 beq .L40 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U) 1007 .loc 1 577 12 1008 0032 7B68 ldr r3, [r7, #4] 1009 0034 1B68 ldr r3, [r3] 1010 .loc 1 577 22 1011 0036 1B68 ldr r3, [r3] 1012 .loc 1 577 28 1013 0038 03F02003 and r3, r3, #32 1014 .loc 1 577 6 1015 003c 002B cmp r3, #0 1016 003e 07D1 bne .L41 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable the half transfer interrupt */ 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_IT_HT; 1017 .loc 1 580 9 1018 0040 7B68 ldr r3, [r7, #4] 1019 0042 1B68 ldr r3, [r3] 1020 .loc 1 580 19 1021 0044 1A68 ldr r2, [r3] 1022 .loc 1 580 9 1023 0046 7B68 ldr r3, [r7, #4] ARM GAS /tmp/ccDI3rYs.s page 29 1024 0048 1B68 ldr r3, [r3] 1025 .loc 1 580 25 1026 004a 22F00402 bic r2, r2, #4 1027 004e 1A60 str r2, [r3] 1028 .L41: 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear the half transfer complete flag */ 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_HT1 << hdma->ChannelIndex; 1029 .loc 1 584 53 1030 0050 7B68 ldr r3, [r7, #4] 1031 0052 1A6C ldr r2, [r3, #64] 1032 .loc 1 584 8 1033 0054 7B68 ldr r3, [r7, #4] 1034 0056 DB6B ldr r3, [r3, #60] 1035 .loc 1 584 46 1036 0058 0421 movs r1, #4 1037 005a 01FA02F2 lsl r2, r1, r2 1038 .loc 1 584 31 1039 005e 5A60 str r2, [r3, #4] 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* DMA peripheral state is not updated in Half Transfer */ 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* State is updated only in Transfer Complete case */ 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL) 1040 .loc 1 589 11 1041 0060 7B68 ldr r3, [r7, #4] 1042 0062 DB6A ldr r3, [r3, #44] 1043 .loc 1 589 6 1044 0064 002B cmp r3, #0 1045 0066 6AD0 beq .L43 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Half transfer callback */ 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma); 1046 .loc 1 592 9 1047 0068 7B68 ldr r3, [r7, #4] 1048 006a DB6A ldr r3, [r3, #44] 1049 .loc 1 592 5 1050 006c 7868 ldr r0, [r7, #4] 1051 006e 9847 blx r3 1052 .LVL1: 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 1053 .loc 1 589 6 1054 0070 65E0 b .L43 1055 .L40: 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Transfer Complete Interrupt management ***********************************/ 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else if ((RESET != (flag_it & (DMA_FLAG_TC1 << hdma->ChannelIndex))) && (RESET != (source_it & DM 1056 .loc 1 597 54 1057 0072 7B68 ldr r3, [r7, #4] 1058 0074 1B6C ldr r3, [r3, #64] 1059 .loc 1 597 47 1060 0076 0222 movs r2, #2 1061 0078 9A40 lsls r2, r2, r3 1062 .loc 1 597 31 ARM GAS /tmp/ccDI3rYs.s page 30 1063 007a FB68 ldr r3, [r7, #12] 1064 007c 1340 ands r3, r3, r2 1065 .loc 1 597 11 1066 007e 002B cmp r3, #0 1067 0080 2CD0 beq .L44 1068 .loc 1 597 96 discriminator 1 1069 0082 BB68 ldr r3, [r7, #8] 1070 0084 03F00203 and r3, r3, #2 1071 .loc 1 597 72 discriminator 1 1072 0088 002B cmp r3, #0 1073 008a 27D0 beq .L44 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U) 1074 .loc 1 599 12 1075 008c 7B68 ldr r3, [r7, #4] 1076 008e 1B68 ldr r3, [r3] 1077 .loc 1 599 22 1078 0090 1B68 ldr r3, [r3] 1079 .loc 1 599 28 1080 0092 03F02003 and r3, r3, #32 1081 .loc 1 599 6 1082 0096 002B cmp r3, #0 1083 0098 0BD1 bne .L45 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Disable the transfer complete & transfer error interrupts */ 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* if the DMA mode is not CIRCULAR */ 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_TE); 1084 .loc 1 603 9 1085 009a 7B68 ldr r3, [r7, #4] 1086 009c 1B68 ldr r3, [r3] 1087 .loc 1 603 19 1088 009e 1A68 ldr r2, [r3] 1089 .loc 1 603 9 1090 00a0 7B68 ldr r3, [r7, #4] 1091 00a2 1B68 ldr r3, [r3] 1092 .loc 1 603 25 1093 00a4 22F00A02 bic r2, r2, #10 1094 00a8 1A60 str r2, [r3] 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Change the DMA state */ 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 1095 .loc 1 606 17 1096 00aa 7B68 ldr r3, [r7, #4] 1097 00ac 0122 movs r2, #1 1098 00ae 83F82120 strb r2, [r3, #33] 1099 .L45: 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear the transfer complete flag */ 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_TC1 << hdma->ChannelIndex; 1100 .loc 1 610 53 1101 00b2 7B68 ldr r3, [r7, #4] 1102 00b4 1A6C ldr r2, [r3, #64] 1103 .loc 1 610 8 1104 00b6 7B68 ldr r3, [r7, #4] 1105 00b8 DB6B ldr r3, [r3, #60] 1106 .loc 1 610 46 ARM GAS /tmp/ccDI3rYs.s page 31 1107 00ba 0221 movs r1, #2 1108 00bc 01FA02F2 lsl r2, r1, r2 1109 .loc 1 610 31 1110 00c0 5A60 str r2, [r3, #4] 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process Unlocked */ 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 1111 .loc 1 613 4 1112 00c2 7B68 ldr r3, [r7, #4] 1113 00c4 0022 movs r2, #0 1114 00c6 83F82020 strb r2, [r3, #32] 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL) 1115 .loc 1 615 11 1116 00ca 7B68 ldr r3, [r7, #4] 1117 00cc 9B6A ldr r3, [r3, #40] 1118 .loc 1 615 6 1119 00ce 002B cmp r3, #0 1120 00d0 35D0 beq .L43 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Transfer complete callback */ 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferCpltCallback(hdma); 1121 .loc 1 618 9 1122 00d2 7B68 ldr r3, [r7, #4] 1123 00d4 9B6A ldr r3, [r3, #40] 1124 .loc 1 618 5 1125 00d6 7868 ldr r0, [r7, #4] 1126 00d8 9847 blx r3 1127 .LVL2: 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 1128 .loc 1 615 6 1129 00da 30E0 b .L43 1130 .L44: 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Transfer Error Interrupt management ***************************************/ 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else if (( RESET != (flag_it & (DMA_FLAG_TE1 << hdma->ChannelIndex))) && (RESET != (source_it & D 1131 .loc 1 623 55 1132 00dc 7B68 ldr r3, [r7, #4] 1133 00de 1B6C ldr r3, [r3, #64] 1134 .loc 1 623 48 1135 00e0 0822 movs r2, #8 1136 00e2 9A40 lsls r2, r2, r3 1137 .loc 1 623 32 1138 00e4 FB68 ldr r3, [r7, #12] 1139 00e6 1340 ands r3, r3, r2 1140 .loc 1 623 11 1141 00e8 002B cmp r3, #0 1142 00ea 28D0 beq .L47 1143 .loc 1 623 97 discriminator 1 1144 00ec BB68 ldr r3, [r7, #8] 1145 00ee 03F00803 and r3, r3, #8 1146 .loc 1 623 73 discriminator 1 1147 00f2 002B cmp r3, #0 1148 00f4 23D0 beq .L47 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { ARM GAS /tmp/ccDI3rYs.s page 32 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* When a DMA transfer error occurs */ 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* A hardware clear of its EN bits is performed */ 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Then, disable all DMA interrupts */ 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE); 1149 .loc 1 628 9 1150 00f6 7B68 ldr r3, [r7, #4] 1151 00f8 1B68 ldr r3, [r3] 1152 .loc 1 628 19 1153 00fa 1A68 ldr r2, [r3] 1154 .loc 1 628 9 1155 00fc 7B68 ldr r3, [r7, #4] 1156 00fe 1B68 ldr r3, [r3] 1157 .loc 1 628 25 1158 0100 22F00E02 bic r2, r2, #14 1159 0104 1A60 str r2, [r3] 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear all flags */ 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex; 1160 .loc 1 631 54 1161 0106 7B68 ldr r3, [r7, #4] 1162 0108 1A6C ldr r2, [r3, #64] 1163 .loc 1 631 9 1164 010a 7B68 ldr r3, [r7, #4] 1165 010c DB6B ldr r3, [r3, #60] 1166 .loc 1 631 47 1167 010e 0121 movs r1, #1 1168 0110 01FA02F2 lsl r2, r1, r2 1169 .loc 1 631 32 1170 0114 5A60 str r2, [r3, #4] 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Update error code */ 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TE; 1171 .loc 1 634 21 1172 0116 7B68 ldr r3, [r7, #4] 1173 0118 0122 movs r2, #1 1174 011a 9A63 str r2, [r3, #56] 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Change the DMA state */ 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY; 1175 .loc 1 637 17 1176 011c 7B68 ldr r3, [r7, #4] 1177 011e 0122 movs r2, #1 1178 0120 83F82120 strb r2, [r3, #33] 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process Unlocked */ 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 1179 .loc 1 640 5 1180 0124 7B68 ldr r3, [r7, #4] 1181 0126 0022 movs r2, #0 1182 0128 83F82020 strb r2, [r3, #32] 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(hdma->XferErrorCallback != NULL) 1183 .loc 1 642 12 1184 012c 7B68 ldr r3, [r7, #4] 1185 012e 1B6B ldr r3, [r3, #48] 1186 .loc 1 642 7 1187 0130 002B cmp r3, #0 ARM GAS /tmp/ccDI3rYs.s page 33 1188 0132 04D0 beq .L47 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Transfer error callback */ 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferErrorCallback(hdma); 1189 .loc 1 645 10 1190 0134 7B68 ldr r3, [r7, #4] 1191 0136 1B6B ldr r3, [r3, #48] 1192 .loc 1 645 6 1193 0138 7868 ldr r0, [r7, #4] 1194 013a 9847 blx r3 1195 .LVL3: 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1196 .loc 1 648 1 1197 013c FFE7 b .L47 1198 .L43: 1199 .L47: 1200 013e 00BF nop 1201 0140 1037 adds r7, r7, #16 1202 .cfi_def_cfa_offset 8 1203 0142 BD46 mov sp, r7 1204 .cfi_def_cfa_register 13 1205 @ sp needed 1206 0144 80BD pop {r7, pc} 1207 .cfi_endproc 1208 .LFE137: 1210 .section .text.HAL_DMA_RegisterCallback,"ax",%progbits 1211 .align 1 1212 .global HAL_DMA_RegisterCallback 1213 .syntax unified 1214 .thumb 1215 .thumb_func 1217 HAL_DMA_RegisterCallback: 1218 .LFB138: 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Register callbacks 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param CallbackID User Callback identifier 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * a HAL_DMA_CallbackIDTypeDef ENUM as parameter. 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param pCallback pointer to private callback function which has pointer to 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * a DMA_HandleTypeDef structure as parameter. 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Callb 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 1219 .loc 1 661 1 1220 .cfi_startproc 1221 @ args = 0, pretend = 0, frame = 24 1222 @ frame_needed = 1, uses_anonymous_args = 0 1223 @ link register save eliminated. 1224 0000 80B4 push {r7} 1225 .cfi_def_cfa_offset 4 1226 .cfi_offset 7, -4 1227 0002 87B0 sub sp, sp, #28 ARM GAS /tmp/ccDI3rYs.s page 34 1228 .cfi_def_cfa_offset 32 1229 0004 00AF add r7, sp, #0 1230 .cfi_def_cfa_register 7 1231 0006 F860 str r0, [r7, #12] 1232 0008 0B46 mov r3, r1 1233 000a 7A60 str r2, [r7, #4] 1234 000c FB72 strb r3, [r7, #11] 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 1235 .loc 1 662 21 1236 000e 0023 movs r3, #0 1237 0010 FB75 strb r3, [r7, #23] 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process locked */ 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_LOCK(hdma); 1238 .loc 1 665 3 1239 0012 FB68 ldr r3, [r7, #12] 1240 0014 93F82030 ldrb r3, [r3, #32] @ zero_extendqisi2 1241 0018 012B cmp r3, #1 1242 001a 01D1 bne .L49 1243 .loc 1 665 3 is_stmt 0 discriminator 1 1244 001c 0223 movs r3, #2 1245 .loc 1 665 3 1246 001e 31E0 b .L50 1247 .L49: 1248 .loc 1 665 3 discriminator 2 1249 0020 FB68 ldr r3, [r7, #12] 1250 0022 0122 movs r2, #1 1251 0024 83F82020 strb r2, [r3, #32] 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 1252 .loc 1 667 33 is_stmt 1 1253 0028 FB68 ldr r3, [r7, #12] 1254 002a 93F82130 ldrb r3, [r3, #33] @ zero_extendqisi2 1255 .loc 1 667 5 1256 002e 012B cmp r3, #1 1257 0030 21D1 bne .L51 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** switch (CallbackID) 1258 .loc 1 669 5 1259 0032 FB7A ldrb r3, [r7, #11] @ zero_extendqisi2 1260 0034 032B cmp r3, #3 1261 0036 1BD8 bhi .L52 1262 0038 01A2 adr r2, .L54 1263 003a 52F823F0 ldr pc, [r2, r3, lsl #2] 1264 003e 00BF .p2align 2 1265 .L54: 1266 0040 51000000 .word .L57+1 1267 0044 59000000 .word .L56+1 1268 0048 61000000 .word .L55+1 1269 004c 69000000 .word .L53+1 1270 .p2align 1 1271 .L57: 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID: 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferCpltCallback = pCallback; 1272 .loc 1 672 35 1273 0050 FB68 ldr r3, [r7, #12] ARM GAS /tmp/ccDI3rYs.s page 35 1274 0052 7A68 ldr r2, [r7, #4] 1275 0054 9A62 str r2, [r3, #40] 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1276 .loc 1 673 12 1277 0056 10E0 b .L59 1278 .L56: 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID: 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferHalfCpltCallback = pCallback; 1279 .loc 1 676 39 1280 0058 FB68 ldr r3, [r7, #12] 1281 005a 7A68 ldr r2, [r7, #4] 1282 005c DA62 str r2, [r3, #44] 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1283 .loc 1 677 12 1284 005e 0CE0 b .L59 1285 .L55: 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID: 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferErrorCallback = pCallback; 1286 .loc 1 680 36 1287 0060 FB68 ldr r3, [r7, #12] 1288 0062 7A68 ldr r2, [r7, #4] 1289 0064 1A63 str r2, [r3, #48] 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1290 .loc 1 681 12 1291 0066 08E0 b .L59 1292 .L53: 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID: 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferAbortCallback = pCallback; 1293 .loc 1 684 36 1294 0068 FB68 ldr r3, [r7, #12] 1295 006a 7A68 ldr r2, [r7, #4] 1296 006c 5A63 str r2, [r3, #52] 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1297 .loc 1 685 12 1298 006e 04E0 b .L59 1299 .L52: 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** default: 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** status = HAL_ERROR; 1300 .loc 1 688 19 1301 0070 0123 movs r3, #1 1302 0072 FB75 strb r3, [r7, #23] 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1303 .loc 1 689 12 1304 0074 01E0 b .L59 1305 .L51: 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** status = HAL_ERROR; 1306 .loc 1 694 12 1307 0076 0123 movs r3, #1 1308 0078 FB75 strb r3, [r7, #23] ARM GAS /tmp/ccDI3rYs.s page 36 1309 .L59: 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Release Lock */ 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 1310 .loc 1 698 3 1311 007a FB68 ldr r3, [r7, #12] 1312 007c 0022 movs r2, #0 1313 007e 83F82020 strb r2, [r3, #32] 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return status; 1314 .loc 1 700 10 1315 0082 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2 1316 .L50: 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1317 .loc 1 701 1 1318 0084 1846 mov r0, r3 1319 0086 1C37 adds r7, r7, #28 1320 .cfi_def_cfa_offset 4 1321 0088 BD46 mov sp, r7 1322 .cfi_def_cfa_register 13 1323 @ sp needed 1324 008a 5DF8047B ldr r7, [sp], #4 1325 .cfi_restore 7 1326 .cfi_def_cfa_offset 0 1327 008e 7047 bx lr 1328 .cfi_endproc 1329 .LFE138: 1331 .section .text.HAL_DMA_UnRegisterCallback,"ax",%progbits 1332 .align 1 1333 .global HAL_DMA_UnRegisterCallback 1334 .syntax unified 1335 .thumb 1336 .thumb_func 1338 HAL_DMA_UnRegisterCallback: 1339 .LFB139: 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief UnRegister callbacks 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param CallbackID User Callback identifier 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * a HAL_DMA_CallbackIDTypeDef ENUM as parameter. 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Cal 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 1340 .loc 1 712 1 1341 .cfi_startproc 1342 @ args = 0, pretend = 0, frame = 16 1343 @ frame_needed = 1, uses_anonymous_args = 0 1344 @ link register save eliminated. 1345 0000 80B4 push {r7} 1346 .cfi_def_cfa_offset 4 1347 .cfi_offset 7, -4 1348 0002 85B0 sub sp, sp, #20 1349 .cfi_def_cfa_offset 24 ARM GAS /tmp/ccDI3rYs.s page 37 1350 0004 00AF add r7, sp, #0 1351 .cfi_def_cfa_register 7 1352 0006 7860 str r0, [r7, #4] 1353 0008 0B46 mov r3, r1 1354 000a FB70 strb r3, [r7, #3] 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK; 1355 .loc 1 713 21 1356 000c 0023 movs r3, #0 1357 000e FB73 strb r3, [r7, #15] 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Process locked */ 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_LOCK(hdma); 1358 .loc 1 716 3 1359 0010 7B68 ldr r3, [r7, #4] 1360 0012 93F82030 ldrb r3, [r3, #32] @ zero_extendqisi2 1361 0016 012B cmp r3, #1 1362 0018 01D1 bne .L61 1363 .loc 1 716 3 is_stmt 0 discriminator 1 1364 001a 0223 movs r3, #2 1365 .loc 1 716 3 1366 001c 3FE0 b .L62 1367 .L61: 1368 .loc 1 716 3 discriminator 2 1369 001e 7B68 ldr r3, [r7, #4] 1370 0020 0122 movs r2, #1 1371 0022 83F82020 strb r2, [r3, #32] 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State) 1372 .loc 1 718 33 is_stmt 1 1373 0026 7B68 ldr r3, [r7, #4] 1374 0028 93F82130 ldrb r3, [r3, #33] @ zero_extendqisi2 1375 .loc 1 718 5 1376 002c 012B cmp r3, #1 1377 002e 2FD1 bne .L63 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** switch (CallbackID) 1378 .loc 1 720 5 1379 0030 FB78 ldrb r3, [r7, #3] @ zero_extendqisi2 1380 0032 042B cmp r3, #4 1381 0034 29D8 bhi .L64 1382 0036 01A2 adr r2, .L66 1383 0038 52F823F0 ldr pc, [r2, r3, lsl #2] 1384 .p2align 2 1385 .L66: 1386 003c 51000000 .word .L70+1 1387 0040 59000000 .word .L69+1 1388 0044 61000000 .word .L68+1 1389 0048 69000000 .word .L67+1 1390 004c 71000000 .word .L65+1 1391 .p2align 1 1392 .L70: 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID: 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferCpltCallback = NULL; 1393 .loc 1 723 35 1394 0050 7B68 ldr r3, [r7, #4] 1395 0052 0022 movs r2, #0 ARM GAS /tmp/ccDI3rYs.s page 38 1396 0054 9A62 str r2, [r3, #40] 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1397 .loc 1 724 12 1398 0056 1DE0 b .L72 1399 .L69: 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID: 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 1400 .loc 1 727 39 1401 0058 7B68 ldr r3, [r7, #4] 1402 005a 0022 movs r2, #0 1403 005c DA62 str r2, [r3, #44] 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1404 .loc 1 728 12 1405 005e 19E0 b .L72 1406 .L68: 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID: 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 1407 .loc 1 731 36 1408 0060 7B68 ldr r3, [r7, #4] 1409 0062 0022 movs r2, #0 1410 0064 1A63 str r2, [r3, #48] 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1411 .loc 1 732 12 1412 0066 15E0 b .L72 1413 .L67: 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID: 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 1414 .loc 1 735 36 1415 0068 7B68 ldr r3, [r7, #4] 1416 006a 0022 movs r2, #0 1417 006c 5A63 str r2, [r3, #52] 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1418 .loc 1 736 12 1419 006e 11E0 b .L72 1420 .L65: 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** case HAL_DMA_XFER_ALL_CB_ID: 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferCpltCallback = NULL; 1421 .loc 1 739 35 1422 0070 7B68 ldr r3, [r7, #4] 1423 0072 0022 movs r2, #0 1424 0074 9A62 str r2, [r3, #40] 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL; 1425 .loc 1 740 39 1426 0076 7B68 ldr r3, [r7, #4] 1427 0078 0022 movs r2, #0 1428 007a DA62 str r2, [r3, #44] 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferErrorCallback = NULL; 1429 .loc 1 741 36 1430 007c 7B68 ldr r3, [r7, #4] 1431 007e 0022 movs r2, #0 1432 0080 1A63 str r2, [r3, #48] 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->XferAbortCallback = NULL; 1433 .loc 1 742 36 ARM GAS /tmp/ccDI3rYs.s page 39 1434 0082 7B68 ldr r3, [r7, #4] 1435 0084 0022 movs r2, #0 1436 0086 5A63 str r2, [r3, #52] 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1437 .loc 1 743 12 1438 0088 04E0 b .L72 1439 .L64: 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** default: 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** status = HAL_ERROR; 1440 .loc 1 746 19 1441 008a 0123 movs r3, #1 1442 008c FB73 strb r3, [r7, #15] 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** break; 1443 .loc 1 747 12 1444 008e 01E0 b .L72 1445 .L63: 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** status = HAL_ERROR; 1446 .loc 1 752 12 1447 0090 0123 movs r3, #1 1448 0092 FB73 strb r3, [r7, #15] 1449 .L72: 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Release Lock */ 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** __HAL_UNLOCK(hdma); 1450 .loc 1 756 3 1451 0094 7B68 ldr r3, [r7, #4] 1452 0096 0022 movs r2, #0 1453 0098 83F82020 strb r2, [r3, #32] 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return status; 1454 .loc 1 758 10 1455 009c FB7B ldrb r3, [r7, #15] @ zero_extendqisi2 1456 .L62: 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1457 .loc 1 759 1 1458 009e 1846 mov r0, r3 1459 00a0 1437 adds r7, r7, #20 1460 .cfi_def_cfa_offset 4 1461 00a2 BD46 mov sp, r7 1462 .cfi_def_cfa_register 13 1463 @ sp needed 1464 00a4 5DF8047B ldr r7, [sp], #4 1465 .cfi_restore 7 1466 .cfi_def_cfa_offset 0 1467 00a8 7047 bx lr 1468 .cfi_endproc 1469 .LFE139: 1471 00aa 00BF .section .text.HAL_DMA_GetState,"ax",%progbits 1472 .align 1 1473 .global HAL_DMA_GetState 1474 .syntax unified ARM GAS /tmp/ccDI3rYs.s page 40 1475 .thumb 1476 .thumb_func 1478 HAL_DMA_GetState: 1479 .LFB140: 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @} 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions_Group3 Peripheral State functions 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Peripheral State functions 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** @verbatim 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** =============================================================================== 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** ##### State and Errors functions ##### 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** =============================================================================== 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** [..] 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** This subsection provides functions allowing to 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Check the DMA state 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** (+) Get error code 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** @endverbatim 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @{ 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Returns the DMA state. 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL state 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma) 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 1480 .loc 1 788 1 1481 .cfi_startproc 1482 @ args = 0, pretend = 0, frame = 8 1483 @ frame_needed = 1, uses_anonymous_args = 0 1484 @ link register save eliminated. 1485 0000 80B4 push {r7} 1486 .cfi_def_cfa_offset 4 1487 .cfi_offset 7, -4 1488 0002 83B0 sub sp, sp, #12 1489 .cfi_def_cfa_offset 16 1490 0004 00AF add r7, sp, #0 1491 .cfi_def_cfa_register 7 1492 0006 7860 str r0, [r7, #4] 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return hdma->State; 1493 .loc 1 789 14 1494 0008 7B68 ldr r3, [r7, #4] 1495 000a 93F82130 ldrb r3, [r3, #33] @ zero_extendqisi2 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1496 .loc 1 790 1 1497 000e 1846 mov r0, r3 1498 0010 0C37 adds r7, r7, #12 1499 .cfi_def_cfa_offset 4 1500 0012 BD46 mov sp, r7 1501 .cfi_def_cfa_register 13 ARM GAS /tmp/ccDI3rYs.s page 41 1502 @ sp needed 1503 0014 5DF8047B ldr r7, [sp], #4 1504 .cfi_restore 7 1505 .cfi_def_cfa_offset 0 1506 0018 7047 bx lr 1507 .cfi_endproc 1508 .LFE140: 1510 .section .text.HAL_DMA_GetError,"ax",%progbits 1511 .align 1 1512 .global HAL_DMA_GetError 1513 .syntax unified 1514 .thumb 1515 .thumb_func 1517 HAL_DMA_GetError: 1518 .LFB141: 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Return the DMA error code 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval DMA Error Code 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma) 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 1519 .loc 1 799 1 1520 .cfi_startproc 1521 @ args = 0, pretend = 0, frame = 8 1522 @ frame_needed = 1, uses_anonymous_args = 0 1523 @ link register save eliminated. 1524 0000 80B4 push {r7} 1525 .cfi_def_cfa_offset 4 1526 .cfi_offset 7, -4 1527 0002 83B0 sub sp, sp, #12 1528 .cfi_def_cfa_offset 16 1529 0004 00AF add r7, sp, #0 1530 .cfi_def_cfa_register 7 1531 0006 7860 str r0, [r7, #4] 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** return hdma->ErrorCode; 1532 .loc 1 800 14 1533 0008 7B68 ldr r3, [r7, #4] 1534 000a 9B6B ldr r3, [r3, #56] 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1535 .loc 1 801 1 1536 000c 1846 mov r0, r3 1537 000e 0C37 adds r7, r7, #12 1538 .cfi_def_cfa_offset 4 1539 0010 BD46 mov sp, r7 1540 .cfi_def_cfa_register 13 1541 @ sp needed 1542 0012 5DF8047B ldr r7, [sp], #4 1543 .cfi_restore 7 1544 .cfi_def_cfa_offset 0 1545 0016 7047 bx lr 1546 .cfi_endproc 1547 .LFE141: 1549 .section .text.DMA_SetConfig,"ax",%progbits 1550 .align 1 ARM GAS /tmp/ccDI3rYs.s page 42 1551 .syntax unified 1552 .thumb 1553 .thumb_func 1555 DMA_SetConfig: 1556 .LFB142: 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @} 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @} 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @{ 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Set the DMA Transfer parameters. 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Channel. 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval HAL status 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 1557 .loc 1 825 1 1558 .cfi_startproc 1559 @ args = 0, pretend = 0, frame = 16 1560 @ frame_needed = 1, uses_anonymous_args = 0 1561 @ link register save eliminated. 1562 0000 80B4 push {r7} 1563 .cfi_def_cfa_offset 4 1564 .cfi_offset 7, -4 1565 0002 85B0 sub sp, sp, #20 1566 .cfi_def_cfa_offset 24 1567 0004 00AF add r7, sp, #0 1568 .cfi_def_cfa_register 7 1569 0006 F860 str r0, [r7, #12] 1570 0008 B960 str r1, [r7, #8] 1571 000a 7A60 str r2, [r7, #4] 1572 000c 3B60 str r3, [r7] 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Clear all flags */ 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = (DMA_FLAG_GL1 << hdma->ChannelIndex); 1573 .loc 1 827 54 1574 000e FB68 ldr r3, [r7, #12] 1575 0010 1A6C ldr r2, [r3, #64] 1576 .loc 1 827 7 1577 0012 FB68 ldr r3, [r7, #12] 1578 0014 DB6B ldr r3, [r3, #60] 1579 .loc 1 827 47 1580 0016 0121 movs r1, #1 1581 0018 01FA02F2 lsl r2, r1, r2 1582 .loc 1 827 31 ARM GAS /tmp/ccDI3rYs.s page 43 1583 001c 5A60 str r2, [r3, #4] 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Configure DMA Channel data length */ 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CNDTR = DataLength; 1584 .loc 1 830 7 1585 001e FB68 ldr r3, [r7, #12] 1586 0020 1B68 ldr r3, [r3] 1587 .loc 1 830 25 1588 0022 3A68 ldr r2, [r7] 1589 0024 5A60 str r2, [r3, #4] 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Peripheral to Memory */ 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) 1590 .loc 1 833 17 1591 0026 FB68 ldr r3, [r7, #12] 1592 0028 5B68 ldr r3, [r3, #4] 1593 .loc 1 833 5 1594 002a 102B cmp r3, #16 1595 002c 08D1 bne .L78 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Configure DMA Channel destination address */ 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CPAR = DstAddress; 1596 .loc 1 836 9 1597 002e FB68 ldr r3, [r7, #12] 1598 0030 1B68 ldr r3, [r3] 1599 .loc 1 836 26 1600 0032 7A68 ldr r2, [r7, #4] 1601 0034 9A60 str r2, [r3, #8] 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Configure DMA Channel source address */ 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CMAR = SrcAddress; 1602 .loc 1 839 9 1603 0036 FB68 ldr r3, [r7, #12] 1604 0038 1B68 ldr r3, [r3] 1605 .loc 1 839 26 1606 003a BA68 ldr r2, [r7, #8] 1607 003c DA60 str r2, [r3, #12] 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Memory to Peripheral */ 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Configure DMA Channel source address */ 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CPAR = SrcAddress; 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* Configure DMA Channel destination address */ 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->Instance->CMAR = DstAddress; 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1608 .loc 1 850 1 1609 003e 07E0 b .L80 1610 .L78: 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 1611 .loc 1 845 9 1612 0040 FB68 ldr r3, [r7, #12] 1613 0042 1B68 ldr r3, [r3] 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 1614 .loc 1 845 26 ARM GAS /tmp/ccDI3rYs.s page 44 1615 0044 BA68 ldr r2, [r7, #8] 1616 0046 9A60 str r2, [r3, #8] 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1617 .loc 1 848 9 1618 0048 FB68 ldr r3, [r7, #12] 1619 004a 1B68 ldr r3, [r3] 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1620 .loc 1 848 26 1621 004c 7A68 ldr r2, [r7, #4] 1622 004e DA60 str r2, [r3, #12] 1623 .L80: 1624 .loc 1 850 1 1625 0050 00BF nop 1626 0052 1437 adds r7, r7, #20 1627 .cfi_def_cfa_offset 4 1628 0054 BD46 mov sp, r7 1629 .cfi_def_cfa_register 13 1630 @ sp needed 1631 0056 5DF8047B ldr r7, [sp], #4 1632 .cfi_restore 7 1633 .cfi_def_cfa_offset 0 1634 005a 7047 bx lr 1635 .cfi_endproc 1636 .LFE142: 1638 .section .text.DMA_CalcBaseAndBitshift,"ax",%progbits 1639 .align 1 1640 .syntax unified 1641 .thumb 1642 .thumb_func 1644 DMA_CalcBaseAndBitshift: 1645 .LFB143: 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /** 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @brief Set the DMA base address and channel index depending on DMA instance 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * the configuration information for the specified DMA Stream. 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** * @retval None 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** */ 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** static void DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma) 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 1646 .loc 1 859 1 1647 .cfi_startproc 1648 @ args = 0, pretend = 0, frame = 8 1649 @ frame_needed = 1, uses_anonymous_args = 0 1650 @ link register save eliminated. 1651 0000 80B4 push {r7} 1652 .cfi_def_cfa_offset 4 1653 .cfi_offset 7, -4 1654 0002 83B0 sub sp, sp, #12 1655 .cfi_def_cfa_offset 16 1656 0004 00AF add r7, sp, #0 1657 .cfi_def_cfa_register 7 1658 0006 7860 str r0, [r7, #4] 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** #if defined (DMA2) 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* calculation of the channel index */ 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** if ((uint32_t)(hdma->Instance) < (uint32_t)(DMA2_Channel1)) 1659 .loc 1 862 22 ARM GAS /tmp/ccDI3rYs.s page 45 1660 0008 7B68 ldr r3, [r7, #4] 1661 000a 1B68 ldr r3, [r3] 1662 .loc 1 862 7 1663 000c 1A46 mov r2, r3 1664 .loc 1 862 6 1665 000e 144B ldr r3, .L85 1666 0010 9A42 cmp r2, r3 1667 0012 0FD8 bhi .L82 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* DMA1 */ 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA1_Channel1) / ((uint32_t)DMA1_Ch 1668 .loc 1 865 42 1669 0014 7B68 ldr r3, [r7, #4] 1670 0016 1B68 ldr r3, [r3] 1671 .loc 1 865 28 1672 0018 1A46 mov r2, r3 1673 .loc 1 865 53 1674 001a 124B ldr r3, .L85+4 1675 001c 1344 add r3, r3, r2 1676 .loc 1 865 80 1677 001e 124A ldr r2, .L85+8 1678 0020 A2FB0323 umull r2, r3, r2, r3 1679 0024 1B09 lsrs r3, r3, #4 1680 .loc 1 865 135 1681 0026 9A00 lsls r2, r3, #2 1682 .loc 1 865 24 1683 0028 7B68 ldr r3, [r7, #4] 1684 002a 1A64 str r2, [r3, #64] 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress = DMA1; 1685 .loc 1 866 26 1686 002c 7B68 ldr r3, [r7, #4] 1687 002e 0F4A ldr r2, .L85+12 1688 0030 DA63 str r2, [r3, #60] 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** else 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** { 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* DMA2 */ 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA2_Channel1) / ((uint32_t)DMA2_Ch 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress = DMA2; 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** #else 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* calculation of the channel index */ 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** /* DMA1 */ 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA1_Channel1) / ((uint32_t)DMA1_Chan 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress = DMA1; 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** #endif 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1689 .loc 1 880 1 1690 0032 0EE0 b .L84 1691 .L82: 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress = DMA2; 1692 .loc 1 871 42 1693 0034 7B68 ldr r3, [r7, #4] 1694 0036 1B68 ldr r3, [r3] 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress = DMA2; 1695 .loc 1 871 28 1696 0038 1A46 mov r2, r3 ARM GAS /tmp/ccDI3rYs.s page 46 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress = DMA2; 1697 .loc 1 871 53 1698 003a 0D4B ldr r3, .L85+16 1699 003c 1344 add r3, r3, r2 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress = DMA2; 1700 .loc 1 871 80 1701 003e 0A4A ldr r2, .L85+8 1702 0040 A2FB0323 umull r2, r3, r2, r3 1703 0044 1B09 lsrs r3, r3, #4 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress = DMA2; 1704 .loc 1 871 135 1705 0046 9A00 lsls r2, r3, #2 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** hdma->DmaBaseAddress = DMA2; 1706 .loc 1 871 24 1707 0048 7B68 ldr r3, [r7, #4] 1708 004a 1A64 str r2, [r3, #64] 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c **** } 1709 .loc 1 872 26 1710 004c 7B68 ldr r3, [r7, #4] 1711 004e 094A ldr r2, .L85+20 1712 0050 DA63 str r2, [r3, #60] 1713 .L84: 1714 .loc 1 880 1 1715 0052 00BF nop 1716 0054 0C37 adds r7, r7, #12 1717 .cfi_def_cfa_offset 4 1718 0056 BD46 mov sp, r7 1719 .cfi_def_cfa_register 13 1720 @ sp needed 1721 0058 5DF8047B ldr r7, [sp], #4 1722 .cfi_restore 7 1723 .cfi_def_cfa_offset 0 1724 005c 7047 bx lr 1725 .L86: 1726 005e 00BF .align 2 1727 .L85: 1728 0060 07040240 .word 1073873927 1729 0064 F8FFFDBF .word -1073872904 1730 0068 CDCCCCCC .word -858993459 1731 006c 00000240 .word 1073872896 1732 0070 F8FBFDBF .word -1073873928 1733 0074 00040240 .word 1073873920 1734 .cfi_endproc 1735 .LFE143: 1737 .text 1738 .Letext0: 1739 .file 2 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl 1740 .file 3 "/nix/store/p8vkamc9b2vlibs9aw76vnasdbifhcbm-gcc-arm-embedded-13.2.rel1/arm-none-eabi/incl 1741 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 1742 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 1743 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 1744 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 1745 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h" ARM GAS /tmp/ccDI3rYs.s page 47 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_dma.c /tmp/ccDI3rYs.s:21 .text.HAL_DMA_Init:00000000 $t /tmp/ccDI3rYs.s:27 .text.HAL_DMA_Init:00000000 HAL_DMA_Init /tmp/ccDI3rYs.s:1644 .text.DMA_CalcBaseAndBitshift:00000000 DMA_CalcBaseAndBitshift /tmp/ccDI3rYs.s:141 .text.HAL_DMA_DeInit:00000000 $t /tmp/ccDI3rYs.s:147 .text.HAL_DMA_DeInit:00000000 HAL_DMA_DeInit /tmp/ccDI3rYs.s:262 .text.HAL_DMA_Start:00000000 $t /tmp/ccDI3rYs.s:268 .text.HAL_DMA_Start:00000000 HAL_DMA_Start /tmp/ccDI3rYs.s:1555 .text.DMA_SetConfig:00000000 DMA_SetConfig /tmp/ccDI3rYs.s:370 .text.HAL_DMA_Start_IT:00000000 $t /tmp/ccDI3rYs.s:376 .text.HAL_DMA_Start_IT:00000000 HAL_DMA_Start_IT /tmp/ccDI3rYs.s:520 .text.HAL_DMA_Abort:00000000 $t /tmp/ccDI3rYs.s:526 .text.HAL_DMA_Abort:00000000 HAL_DMA_Abort /tmp/ccDI3rYs.s:618 .text.HAL_DMA_Abort_IT:00000000 $t /tmp/ccDI3rYs.s:624 .text.HAL_DMA_Abort_IT:00000000 HAL_DMA_Abort_IT /tmp/ccDI3rYs.s:726 .text.HAL_DMA_PollForTransfer:00000000 $t /tmp/ccDI3rYs.s:732 .text.HAL_DMA_PollForTransfer:00000000 HAL_DMA_PollForTransfer /tmp/ccDI3rYs.s:956 .text.HAL_DMA_IRQHandler:00000000 $t /tmp/ccDI3rYs.s:962 .text.HAL_DMA_IRQHandler:00000000 HAL_DMA_IRQHandler /tmp/ccDI3rYs.s:1211 .text.HAL_DMA_RegisterCallback:00000000 $t /tmp/ccDI3rYs.s:1217 .text.HAL_DMA_RegisterCallback:00000000 HAL_DMA_RegisterCallback /tmp/ccDI3rYs.s:1266 .text.HAL_DMA_RegisterCallback:00000040 $d /tmp/ccDI3rYs.s:1270 .text.HAL_DMA_RegisterCallback:00000050 $t /tmp/ccDI3rYs.s:1332 .text.HAL_DMA_UnRegisterCallback:00000000 $t /tmp/ccDI3rYs.s:1338 .text.HAL_DMA_UnRegisterCallback:00000000 HAL_DMA_UnRegisterCallback /tmp/ccDI3rYs.s:1386 .text.HAL_DMA_UnRegisterCallback:0000003c $d /tmp/ccDI3rYs.s:1391 .text.HAL_DMA_UnRegisterCallback:00000050 $t /tmp/ccDI3rYs.s:1472 .text.HAL_DMA_GetState:00000000 $t /tmp/ccDI3rYs.s:1478 .text.HAL_DMA_GetState:00000000 HAL_DMA_GetState /tmp/ccDI3rYs.s:1511 .text.HAL_DMA_GetError:00000000 $t /tmp/ccDI3rYs.s:1517 .text.HAL_DMA_GetError:00000000 HAL_DMA_GetError /tmp/ccDI3rYs.s:1550 .text.DMA_SetConfig:00000000 $t /tmp/ccDI3rYs.s:1639 .text.DMA_CalcBaseAndBitshift:00000000 $t /tmp/ccDI3rYs.s:1728 .text.DMA_CalcBaseAndBitshift:00000060 $d UNDEFINED SYMBOLS HAL_GetTick