ARM GAS /tmp/ccwgRvGR.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 27, 1
3 .eabi_attribute 28, 1
4 .eabi_attribute 20, 1
5 .eabi_attribute 21, 1
6 .eabi_attribute 23, 3
7 .eabi_attribute 24, 1
8 .eabi_attribute 25, 1
9 .eabi_attribute 26, 1
10 .eabi_attribute 30, 1
11 .eabi_attribute 34, 1
12 .eabi_attribute 18, 4
13 .file "stm32f4xx_hal_dma.c"
14 .text
15 .Ltext0:
16 .cfi_sections .debug_frame
17 .section .text.DMA_SetConfig,"ax",%progbits
18 .align 1
19 .syntax unified
20 .thumb
21 .thumb_func
22 .fpu fpv4-sp-d16
24 DMA_SetConfig:
25 .LFB142:
26 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c"
1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ******************************************************************************
3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @file stm32f4xx_hal_dma.c
4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @author MCD Application Team
5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DMA HAL module driver.
6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This file provides firmware functions to manage the following
8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * functionalities of the Direct Memory Access (DMA) peripheral:
9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Initialization and de-initialization functions
10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + IO operation functions
11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * + Peripheral State and errors functions
12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim
13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ==============================================================================
14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### How to use this driver #####
15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ==============================================================================
16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Enable and configure the peripheral to be connected to the DMA Stream
18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (except for internal SRAM/FLASH memories: no initialization is
19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** necessary) please refer to Reference manual for connection between peripherals
20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and DMA requests.
21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) For a given Stream, program the required configuration through the following parameters:
23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Transfer Direction, Source and Destination data formats,
24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Circular, Normal or peripheral flow control mode, Stream Priority level,
25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Source and Destination Increment mode, FIFO mode and its Threshold (if needed),
26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Burst mode for Source and/or Destination (if needed) using HAL_DMA_Init() function.
27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- Prior to HAL_DMA_Init() the clock must be enabled for DMA through the following macros:
29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_RCC_DMA1_CLK_ENABLE() or __HAL_RCC_DMA2_CLK_ENABLE().
30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** Polling mode IO operation ***
32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =================================
ARM GAS /tmp/ccwgRvGR.s page 2
33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source
35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** address and destination address and the Length of data to be transferred.
36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this
37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case a fixed Timeout can be configured by User depending from his application.
38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Abort() function to abort the current transfer.
39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** Interrupt mode IO operation ***
41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===================================
42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority()
44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ()
45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of
46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Source address and destination address and the Length of data to be transferred. In t
47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case the DMA interrupt is configured
48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Use HAL_DMA_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine
49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can
50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** add his own function by customization of function pointer XferCpltCallback and
51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** XferErrorCallback (i.e a member of DMA handle structure).
52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of
54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** detection.
55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (#) Use HAL_DMA_Abort_IT() function to abort the current transfer
57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- In Memory-to-Memory transfer mode, Circular mode is not allowed.
59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- The FIFO is used mainly to reduce bus usage and to allow data packing/unpacking: it is
61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** possible to set different Data Sizes for the Peripheral and the Memory (ie. you can set
62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Half-Word data size for the peripheral to access its data register and set Word data siz
63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** for the Memory to gain in access time. Each two half words will be packed and written in
64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** a single access to a Word in the Memory).
65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** -@- When FIFO is disabled, it is not allowed to configure different Data Sizes for Source
67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and Destination. In this case the Peripheral Data Size will be applied to both Source
68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and Destination.
69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *** DMA HAL driver macros list ***
71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** =============================================
72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Below the list of most used macros in DMA HAL driver.
74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_ENABLE: Enable the specified DMA Stream.
76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_DISABLE: Disable the specified DMA Stream.
77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) __HAL_DMA_GET_IT_SOURCE: Check whether the specified DMA Stream interrupt has occurred or
78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (@) You can refer to the DMA HAL driver header file for more useful macros
81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim
83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ******************************************************************************
84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @attention
85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
© Copyright (c) 2017 STMicroelectronics.
87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * All rights reserved.
88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This software component is licensed by ST under BSD 3-Clause license,
ARM GAS /tmp/ccwgRvGR.s page 3
90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the "License"; You may not use this file except in compliance with the
91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * License. You may obtain a copy of the License at:
92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * opensource.org/licenses/BSD-3-Clause
93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ******************************************************************************
95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Includes ------------------------------------------------------------------*/
98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #include "stm32f4xx_hal.h"
99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup STM32F4xx_HAL_Driver
101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @defgroup DMA DMA
105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DMA HAL module driver
106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #ifdef HAL_DMA_MODULE_ENABLED
110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private types -------------------------------------------------------------*/
112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** typedef struct
113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t ISR; /*!< DMA interrupt status register */
115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t Reserved0;
116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t IFCR; /*!< DMA interrupt flag clear register */
117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** } DMA_Base_Registers;
118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private variables ---------------------------------------------------------*/
120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private constants ---------------------------------------------------------*/
121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Constants
122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** #define HAL_TIMEOUT_DMA_ABORT 5U /* 5 ms */
125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private macros ------------------------------------------------------------*/
129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Private functions ---------------------------------------------------------*/
130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions
131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32
134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma);
135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma);
136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Exported functions ---------------------------------------------------------*/
142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions
143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group1
ARM GAS /tmp/ccwgRvGR.s page 4
147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim
149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### Initialization and de-initialization functions #####
151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** This section provides functions allowing to initialize the DMA Stream source
154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** and destination addresses, incrementation and data sizes, transfer direction,
155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** circular/normal mode selection, memory-to-memory mode selection and Stream priority value.
156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** The HAL_DMA_Init() function follows the DMA configuration procedures as described in
158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** reference manual.
159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim
161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Initialize the DMA according to the specified
166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * parameters in the DMA_InitTypeDef and create the associated handle.
167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma)
172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = 0U;
174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick();
175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs;
176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */
178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma == NULL)
179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */
184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance));
185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_CHANNEL(hdma->Init.Channel));
186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_DIRECTION(hdma->Init.Direction));
187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_INC_STATE(hdma->Init.PeriphInc));
188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_INC_STATE(hdma->Init.MemInc));
189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(hdma->Init.PeriphDataAlignment));
190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_DATA_SIZE(hdma->Init.MemDataAlignment));
191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MODE(hdma->Init.Mode));
192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PRIORITY(hdma->Init.Priority));
193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_FIFO_MODE_STATE(hdma->Init.FIFOMode));
194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the memory burst, peripheral burst and FIFO threshold parameters only
195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** when FIFO mode is enabled */
196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode != DMA_FIFOMODE_DISABLE)
197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_FIFO_THRESHOLD(hdma->Init.FIFOThreshold));
199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_BURST(hdma->Init.MemBurst));
200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_BURST(hdma->Init.PeriphBurst));
201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Allocate lock resource */
ARM GAS /tmp/ccwgRvGR.s page 5
204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */
207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY;
208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the peripheral */
210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check if the DMA Stream is effectively disabled */
213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET)
214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout */
216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT)
217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT;
220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_TIMEOUT;
223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT;
225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the CR register value */
229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp = hdma->Instance->CR;
230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear CHSEL, MBURST, PBURST, PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR, CT and DBM bits */
232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp &= ((uint32_t)~(DMA_SxCR_CHSEL | DMA_SxCR_MBURST | DMA_SxCR_PBURST | \
233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \
234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_MINC | DMA_SxCR_PINC | DMA_SxCR_CIRC | \
235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_DIR | DMA_SxCR_CT | DMA_SxCR_DBM));
236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Prepare the DMA Stream configuration */
238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.Channel | hdma->Init.Direction |
239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority;
242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* the Memory burst and peripheral burst are not used when the FIFO is disabled */
244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE)
245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get memory burst and peripheral burst */
247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.MemBurst | hdma->Init.PeriphBurst;
248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Write to DMA Stream CR register */
251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR = tmp;
252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the FCR register value */
254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp = hdma->Instance->FCR;
255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear Direct mode and FIFO threshold bits */
257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH);
258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Prepare the DMA Stream FIFO configuration */
260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.FIFOMode;
ARM GAS /tmp/ccwgRvGR.s page 6
261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* The FIFO threshold is not used when the FIFO mode is disabled */
263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE)
264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the FIFO threshold */
266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmp |= hdma->Init.FIFOThreshold;
267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check compatibility between FIFO threshold level and size of the memory burst */
269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* for INCR4, INCR8, INCR16 bursts */
270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst != DMA_MBURST_SINGLE)
271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (DMA_CheckFifoParam(hdma) != HAL_OK)
273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_PARAM;
276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Write to DMA Stream FCR */
286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR = tmp;
287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize StreamBaseAddress and StreamIndex parameters to be used to calculate
289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA steam Base Address needed by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */
290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma);
291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags */
293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */
296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the DMA state */
299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK;
302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief DeInitializes the DMA peripheral
306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma)
311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs;
313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */
315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma == NULL)
316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
ARM GAS /tmp/ccwgRvGR.s page 7
318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the DMA peripheral state */
321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State == HAL_DMA_STATE_BUSY)
322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */
324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_BUSY;
325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */
328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance));
329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the selected DMA Streamx */
331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx control register */
334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR = 0U;
335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx number of data to transfer register */
337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->NDTR = 0U;
338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx peripheral address register */
340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = 0U;
341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx memory 0 address register */
343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = 0U;
344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx memory 1 address register */
346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M1AR = 0U;
347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset DMA Streamx FIFO control register */
349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR = 0x00000021U;
350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get DMA steam Base Address */
352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma);
353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clean all callbacks */
355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL;
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL;
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL;
359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */
363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset the error code */
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Reset the DMA state */
369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_RESET;
370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */
372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK;
ARM GAS /tmp/ccwgRvGR.s page 8
375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group2
382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim
384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### IO operation functions #####
386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..] This section provides functions allowing to:
388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the source, destination address and data length and Start DMA transfer
389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Configure the source, destination address and data length and
390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** Start DMA transfer with interrupt
391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Abort DMA transfer
392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Poll for transfer complete
393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Handle DMA interrupt request
394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim
396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Starts the DMA Transfer.
401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address
404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address
405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination
406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress,
409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */
413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength));
414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */
416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma);
417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */
421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY;
422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */
424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure the source, destination address and the data length */
427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength);
428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable the Peripheral */
430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_ENABLE(hdma);
431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
ARM GAS /tmp/ccwgRvGR.s page 9
432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process unlocked */
435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_BUSY;
439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Start the DMA Transfer with interrupt enabled.
445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address
448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address
449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination
450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddres
453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */
457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check the parameters */
460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength));
461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */
463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma);
464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change DMA peripheral state */
468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY;
469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Initialize the error code */
471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure the source, destination address and the data length */
474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength);
475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */
477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable Common interrupts*/
480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME;
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR |= DMA_IT_FE;
482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL)
484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR |= DMA_IT_HT;
486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Enable the Peripheral */
ARM GAS /tmp/ccwgRvGR.s page 10
489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_ENABLE(hdma);
490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process unlocked */
494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */
497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_BUSY;
498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Aborts the DMA Transfer.
505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note After disabling a DMA Stream, a check for wait until the DMA Stream is
509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * effectively disabled is added. If a Stream is disabled
510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * while a data transfer is ongoing, the current data will be transferred
511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * and the Stream will be effectively disabled only after the transfer of
512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * this single data is finished.
513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */
518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick();
521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY)
523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable all the transfer interrupts */
534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME);
535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE);
536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL))
538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT);
540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */
543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check if the DMA Stream is effectively disabled */
ARM GAS /tmp/ccwgRvGR.s page 11
546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET)
547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout */
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT)
550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT;
553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_TIMEOUT;
559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT;
561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */
565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state*/
571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK;
574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Aborts the DMA Transfer in Interrupt mode.
578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY)
585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Set Abort State */
592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_ABORT;
593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */
595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_OK;
599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Polling for transfer complete.
ARM GAS /tmp/ccwgRvGR.s page 12
603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CompleteLevel Specifies the DMA level complete.
606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note The polling mode is kept in this version for legacy. it is recommanded to use the IT mo
607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * This model could be used for debug purpose.
608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @note The HAL_DMA_PollForTransfer API cannot be used in circular and double buffering mode (a
609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param Timeout Timeout duration.
610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, HAL_DMA_LevelCompleteTypeDef Com
613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t mask_cpltlevel;
616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tickstart = HAL_GetTick();
617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr;
618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */
620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs;
621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State)
623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* No transfer ongoing */
625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Polling mode not supported in circular mode and double buffering mode */
631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) != RESET)
632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED;
634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the level transfer complete flag */
638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(CompleteLevel == HAL_DMA_FULL_TRANSFER)
639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Complete flag */
641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** mask_cpltlevel = DMA_FLAG_TCIF0_4 << hdma->StreamIndex;
642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half Transfer Complete flag */
646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** mask_cpltlevel = DMA_FLAG_HTIF0_4 << hdma->StreamIndex;
647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR;
651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while(((tmpisr & mask_cpltlevel) == RESET) && ((hdma->ErrorCode & HAL_DMA_ERROR_TE) == RESET))
653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Check for the Timeout (Not applicable in circular mode)*/
655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(Timeout != HAL_MAX_DELAY)
656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((Timeout == 0U)||((HAL_GetTick() - tickstart ) > Timeout))
658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
ARM GAS /tmp/ccwgRvGR.s page 13
660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT;
661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_TIMEOUT;
669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the ISR register value */
673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR;
674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET)
676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_TE;
679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer error flag */
681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex;
682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET)
685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_FE;
688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the FIFO error flag */
690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex;
691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET)
694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_DME;
697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the Direct Mode error flag */
699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex;
700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->ErrorCode != HAL_DMA_ERROR_NONE)
704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET)
706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_DMA_Abort(hdma);
708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */
710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4 | DMA_FLAG_TCIF0_4) << hdma->StreamIndex;
711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State= HAL_DMA_STATE_READY;
ARM GAS /tmp/ccwgRvGR.s page 14
717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Get the level transfer complete flag */
723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(CompleteLevel == HAL_DMA_FULL_TRANSFER)
724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */
726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4 | DMA_FLAG_TCIF0_4) << hdma->StreamIndex;
727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer and transfer complete flags */
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = (DMA_FLAG_HTIF0_4) << hdma->StreamIndex;
737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Handles DMA interrupt request.
744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval None
747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma)
749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr;
751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __IO uint32_t count = 0U;
752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U;
753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress;
756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR;
758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Error Interrupt management ***************************************/
760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET)
761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET)
763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer error interrupt */
765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TE);
766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer error flag */
768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex;
769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_TE;
772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
ARM GAS /tmp/ccwgRvGR.s page 15
774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* FIFO Error Interrupt management ******************************************/
775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET)
776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET)
778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the FIFO error flag */
780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex;
781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_FE;
784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Direct Mode Error Interrupt management ***********************************/
787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET)
788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET)
790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the direct mode error flag */
792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex;
793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Update error code */
795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->ErrorCode |= HAL_DMA_ERROR_DME;
796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half Transfer Complete Interrupt management ******************************/
799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET)
800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET)
802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the half transfer complete flag */
804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex;
805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Multi_Buffering mode enabled */
807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET)
808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 0 */
810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CT) == RESET)
811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL)
813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */
815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma);
816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 1 */
819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferM1HalfCpltCallback != NULL)
822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */
824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback(hdma);
825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */
ARM GAS /tmp/ccwgRvGR.s page 16
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET)
832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the half transfer interrupt */
834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT);
835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL)
838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Half transfer callback */
840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma);
841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer Complete Interrupt management ***********************************/
846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET)
847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET)
849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear the transfer complete flag */
851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex;
852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_ABORT == hdma->State)
854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable all the transfer interrupts */
856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME);
857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE);
858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL))
860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_HT);
862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear all interrupt flags at correct offset within the register */
865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** regs->IFCR = 0x3FU << hdma->StreamIndex;
866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferAbortCallback != NULL)
874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback(hdma);
876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return;
878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET)
881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 0 */
883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CT) == RESET)
884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferM1CpltCallback != NULL)
886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete Callback for memory1 */
ARM GAS /tmp/ccwgRvGR.s page 17
888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback(hdma);
889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Current memory buffer used is Memory 1 */
892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL)
895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete Callback for memory0 */
897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback(hdma);
898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */
902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET)
905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the transfer complete interrupt */
907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= ~(DMA_IT_TC);
908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL)
917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer complete callback */
919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback(hdma);
920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* manage error case */
926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->ErrorCode != HAL_DMA_ERROR_NONE)
927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET)
929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_ABORT;
931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Disable the stream */
933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_DMA_DISABLE(hdma);
934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** do
936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (++count > timeout)
938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** while((hdma->Instance->CR & DMA_SxCR_EN) != RESET);
943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process Unlocked */
ARM GAS /tmp/ccwgRvGR.s page 18
945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Change the DMA state */
948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->XferErrorCallback != NULL)
952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Transfer error callback */
954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback(hdma);
955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Register callbacks
961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CallbackID User Callback identifer
964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * a DMA_HandleTypeDef structure as parameter.
965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param pCallback pointer to private callbacsk function which has pointer to
966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * a DMA_HandleTypeDef structure as parameter.
967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Callb
970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma);
976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (CallbackID)
980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID:
982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = pCallback;
983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID:
986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = pCallback;
987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1CPLT_CB_ID:
990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = pCallback;
991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1HALFCPLT_CB_ID:
994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = pCallback;
995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID:
998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = pCallback;
999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID:
ARM GAS /tmp/ccwgRvGR.s page 19
1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = pCallback;
1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Return error status */
1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */
1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief UnRegister callbacks
1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param CallbackID User Callback identifer
1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * a HAL_DMA_CallbackIDTypeDef ENUM as parameter.
1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Cal
1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Process locked */
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_LOCK(hdma);
1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (CallbackID)
1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID:
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL;
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID:
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1CPLT_CB_ID:
1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL;
1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_M1HALFCPLT_CB_ID:
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL;
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID:
1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
ARM GAS /tmp/ccwgRvGR.s page 20
1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID:
1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case HAL_DMA_XFER_ALL_CB_ID:
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferCpltCallback = NULL;
1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL;
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL;
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Release Lock */
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Exported_Functions_Group3
1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** *
1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @verbatim
1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ##### State and Errors functions #####
1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** ===============================================================================
1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** [..]
1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** This subsection provides functions allowing to
1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Check the DMA state
1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** (+) Get error code
1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** @endverbatim
1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Returns the DMA state.
1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL state
1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma)
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
ARM GAS /tmp/ccwgRvGR.s page 21
1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->State;
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Return the DMA error code
1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval DMA Error Code
1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma)
1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->ErrorCode;
1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @}
1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions
1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @{
1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Sets the DMA Transfer parameter.
1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address
1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address
1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination
1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32
1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
27 .loc 1 1152 0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
32 .LVL0:
33 0000 30B4 push {r4, r5}
34 .LCFI0:
35 .cfi_def_cfa_offset 8
36 .cfi_offset 4, -8
37 .cfi_offset 5, -4
1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Clear DBM bit */
1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM);
38 .loc 1 1154 0
39 0002 0568 ldr r5, [r0]
40 0004 2C68 ldr r4, [r5]
41 0006 24F48024 bic r4, r4, #262144
42 000a 2C60 str r4, [r5]
1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream data length */
ARM GAS /tmp/ccwgRvGR.s page 22
1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->NDTR = DataLength;
43 .loc 1 1157 0
44 000c 0468 ldr r4, [r0]
45 000e 6360 str r3, [r4, #4]
1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory to Peripheral */
1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH)
46 .loc 1 1160 0
47 0010 8368 ldr r3, [r0, #8]
48 .LVL1:
49 0012 402B cmp r3, #64
50 0014 05D0 beq .L5
1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream destination address */
1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = DstAddress;
1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream source address */
1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = SrcAddress;
1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Peripheral to Memory */
1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream source address */
1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->PAR = SrcAddress;
51 .loc 1 1172 0
52 0016 0368 ldr r3, [r0]
53 0018 9960 str r1, [r3, #8]
54 .LVL2:
1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Configure DMA Stream destination address */
1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->M0AR = DstAddress;
55 .loc 1 1175 0
56 001a 0368 ldr r3, [r0]
57 001c DA60 str r2, [r3, #12]
58 .L1:
1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
59 .loc 1 1177 0
60 001e 30BC pop {r4, r5}
61 .LCFI1:
62 .cfi_remember_state
63 .cfi_restore 5
64 .cfi_restore 4
65 .cfi_def_cfa_offset 0
66 0020 7047 bx lr
67 .LVL3:
68 .L5:
69 .LCFI2:
70 .cfi_restore_state
1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
71 .loc 1 1163 0
72 0022 0368 ldr r3, [r0]
73 0024 9A60 str r2, [r3, #8]
74 .LVL4:
1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
75 .loc 1 1166 0
76 0026 0368 ldr r3, [r0]
ARM GAS /tmp/ccwgRvGR.s page 23
77 0028 D960 str r1, [r3, #12]
78 002a F8E7 b .L1
79 .cfi_endproc
80 .LFE142:
82 .section .text.DMA_CalcBaseAndBitshift,"ax",%progbits
83 .align 1
84 .syntax unified
85 .thumb
86 .thumb_func
87 .fpu fpv4-sp-d16
89 DMA_CalcBaseAndBitshift:
90 .LFB143:
1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Returns the DMA Stream base address depending on stream number
1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval Stream base address
1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma)
1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
91 .loc 1 1186 0
92 .cfi_startproc
93 @ args = 0, pretend = 0, frame = 0
94 @ frame_needed = 0, uses_anonymous_args = 0
95 @ link register save eliminated.
96 .LVL5:
1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U;
97 .loc 1 1187 0
98 0000 0268 ldr r2, [r0]
99 0002 D3B2 uxtb r3, r2
100 0004 103B subs r3, r3, #16
101 0006 0B49 ldr r1, .L10
102 0008 A1FB0313 umull r1, r3, r1, r3
103 000c 1B09 lsrs r3, r3, #4
104 .LVL6:
1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* lookup table for necessary bitshift of flags within status registers */
1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static const uint8_t flagBitshiftOffset[8U] = {0U, 6U, 16U, 22U, 0U, 6U, 16U, 22U};
1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamIndex = flagBitshiftOffset[stream_number];
105 .loc 1 1191 0
106 000e 0A49 ldr r1, .L10+4
107 0010 C95C ldrb r1, [r1, r3] @ zero_extendqisi2
108 0012 C165 str r1, [r0, #92]
1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (stream_number > 3U)
109 .loc 1 1193 0
110 0014 032B cmp r3, #3
111 0016 06D8 bhi .L9
1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* return pointer to HISR and HIFCR */
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U);
1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* return pointer to LISR and LIFCR */
1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU));
ARM GAS /tmp/ccwgRvGR.s page 24
112 .loc 1 1201 0
113 0018 22F47F72 bic r2, r2, #1020
114 001c 22F00302 bic r2, r2, #3
115 0020 8265 str r2, [r0, #88]
116 .L8:
1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->StreamBaseAddress;
1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
117 .loc 1 1205 0
118 0022 806D ldr r0, [r0, #88]
119 .LVL7:
120 0024 7047 bx lr
121 .LVL8:
122 .L9:
1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
123 .loc 1 1196 0
124 0026 22F47F72 bic r2, r2, #1020
125 002a 22F00302 bic r2, r2, #3
126 002e 0432 adds r2, r2, #4
127 0030 8265 str r2, [r0, #88]
128 0032 F6E7 b .L8
129 .L11:
130 .align 2
131 .L10:
132 0034 ABAAAAAA .word -1431655765
133 0038 00000000 .word .LANCHOR0
134 .cfi_endproc
135 .LFE143:
137 .section .text.DMA_CheckFifoParam,"ax",%progbits
138 .align 1
139 .syntax unified
140 .thumb
141 .thumb_func
142 .fpu fpv4-sp-d16
144 DMA_CheckFifoParam:
145 .LFB144:
1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /**
1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @brief Check compatibility between FIFO threshold level and size of the memory burst
1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** * @retval HAL status
1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** */
1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma)
1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
146 .loc 1 1214 0
147 .cfi_startproc
148 @ args = 0, pretend = 0, frame = 0
149 @ frame_needed = 0, uses_anonymous_args = 0
150 @ link register save eliminated.
151 .LVL9:
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
152 .loc 1 1216 0
153 0000 836A ldr r3, [r0, #40]
154 .LVL10:
ARM GAS /tmp/ccwgRvGR.s page 25
1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory Data size equal to Byte */
1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE)
155 .loc 1 1219 0
156 0002 8269 ldr r2, [r0, #24]
157 0004 92B9 cbnz r2, .L13
1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp)
158 .loc 1 1221 0
159 0006 012B cmp r3, #1
160 0008 0AD0 beq .L15
161 000a 1BB1 cbz r3, .L16
162 000c 022B cmp r3, #2
163 000e 01D0 beq .L16
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
164 .loc 1 1215 0
165 0010 0020 movs r0, #0
166 .LVL11:
167 0012 7047 bx lr
168 .LVL12:
169 .L16:
1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_1QUARTERFULL:
1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_3QUARTERSFULL:
1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1)
170 .loc 1 1225 0
171 0014 C36A ldr r3, [r0, #44]
172 .LVL13:
173 0016 13F0807F tst r3, #16777216
174 001a 2CD1 bne .L25
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
175 .loc 1 1215 0
176 001c 0020 movs r0, #0
177 .LVL14:
178 001e 7047 bx lr
179 .LVL15:
180 .L15:
1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL:
1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst == DMA_MBURST_INC16)
181 .loc 1 1231 0
182 0020 C36A ldr r3, [r0, #44]
183 .LVL16:
184 0022 B3F1C07F cmp r3, #25165824
185 0026 28D0 beq .L26
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
186 .loc 1 1215 0
187 0028 0020 movs r0, #0
188 .LVL17:
189 002a 7047 bx lr
190 .LVL18:
191 .L13:
1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
ARM GAS /tmp/ccwgRvGR.s page 26
1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL:
1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory Data size equal to Half-Word */
1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
192 .loc 1 1244 0
193 002c B2F5005F cmp r2, #8192
194 0030 05D0 beq .L33
1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp)
1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_1QUARTERFULL:
1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_3QUARTERSFULL:
1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL:
1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1)
1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL:
1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if (hdma->Init.MemBurst == DMA_MBURST_INC16)
1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* Memory Data size equal to Word */
1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** else
1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** switch (tmp)
195 .loc 1 1272 0
196 0032 022B cmp r3, #2
197 0034 29D9 bls .L30
198 0036 032B cmp r3, #3
199 0038 15D0 beq .L23
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
200 .loc 1 1215 0
201 003a 0020 movs r0, #0
202 .LVL19:
203 003c 7047 bx lr
204 .LVL20:
205 .L33:
1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
206 .loc 1 1246 0
207 003e 032B cmp r3, #3
ARM GAS /tmp/ccwgRvGR.s page 27
208 0040 03D8 bhi .L18
209 0042 DFE803F0 tbb [pc, r3]
210 .L19:
211 0046 1C .byte (.L27-.L19)/2
212 0047 04 .byte (.L20-.L19)/2
213 0048 1C .byte (.L27-.L19)/2
214 0049 0A .byte (.L21-.L19)/2
215 .p2align 1
216 .L18:
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
217 .loc 1 1215 0
218 004a 0020 movs r0, #0
219 .LVL21:
220 004c 7047 bx lr
221 .LVL22:
222 .L20:
1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
223 .loc 1 1253 0
224 004e C36A ldr r3, [r0, #44]
225 .LVL23:
226 0050 13F0807F tst r3, #16777216
227 0054 15D1 bne .L28
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
228 .loc 1 1215 0
229 0056 0020 movs r0, #0
230 .LVL24:
231 0058 7047 bx lr
232 .LVL25:
233 .L21:
1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
234 .loc 1 1259 0
235 005a C36A ldr r3, [r0, #44]
236 .LVL26:
237 005c B3F1C07F cmp r3, #25165824
238 0060 11D0 beq .L29
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
239 .loc 1 1215 0
240 0062 0020 movs r0, #0
241 .LVL27:
242 0064 7047 bx lr
243 .LVL28:
244 .L23:
1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_1QUARTERFULL:
1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_HALFFULL:
1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_3QUARTERSFULL:
1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** case DMA_FIFO_THRESHOLD_FULL:
1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1)
245 .loc 1 1280 0
246 0066 C36A ldr r3, [r0, #44]
247 .LVL29:
248 0068 13F0807F tst r3, #16777216
249 006c 01D0 beq .L34
1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** status = HAL_ERROR;
ARM GAS /tmp/ccwgRvGR.s page 28
250 .loc 1 1282 0
251 006e 0120 movs r0, #1
252 .LVL30:
1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** default:
1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return status;
1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
253 .loc 1 1291 0
254 0070 7047 bx lr
255 .LVL31:
256 .L34:
1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = hdma->Init.FIFOThreshold;
257 .loc 1 1215 0
258 0072 0020 movs r0, #0
259 .LVL32:
260 0074 7047 bx lr
261 .LVL33:
262 .L25:
1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
263 .loc 1 1227 0
264 0076 0120 movs r0, #1
265 .LVL34:
266 0078 7047 bx lr
267 .LVL35:
268 .L26:
1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
269 .loc 1 1233 0
270 007a 0120 movs r0, #1
271 .LVL36:
272 007c 7047 bx lr
273 .LVL37:
274 .L27:
1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
275 .loc 1 1250 0
276 007e 0120 movs r0, #1
277 .LVL38:
278 0080 7047 bx lr
279 .LVL39:
280 .L28:
1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
281 .loc 1 1255 0
282 0082 0120 movs r0, #1
283 .LVL40:
284 0084 7047 bx lr
285 .LVL41:
286 .L29:
1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
287 .loc 1 1261 0
288 0086 0120 movs r0, #1
289 .LVL42:
290 0088 7047 bx lr
291 .LVL43:
ARM GAS /tmp/ccwgRvGR.s page 29
292 .L30:
1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
293 .loc 1 1277 0
294 008a 0120 movs r0, #1
295 .LVL44:
296 008c 7047 bx lr
297 .cfi_endproc
298 .LFE144:
300 .section .text.HAL_DMA_Init,"ax",%progbits
301 .align 1
302 .global HAL_DMA_Init
303 .syntax unified
304 .thumb
305 .thumb_func
306 .fpu fpv4-sp-d16
308 HAL_DMA_Init:
309 .LFB130:
172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmp = 0U;
310 .loc 1 172 0
311 .cfi_startproc
312 @ args = 0, pretend = 0, frame = 0
313 @ frame_needed = 0, uses_anonymous_args = 0
314 .LVL45:
315 0000 70B5 push {r4, r5, r6, lr}
316 .LCFI3:
317 .cfi_def_cfa_offset 16
318 .cfi_offset 4, -16
319 .cfi_offset 5, -12
320 .cfi_offset 6, -8
321 .cfi_offset 14, -4
322 0002 0446 mov r4, r0
323 .LVL46:
174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs;
324 .loc 1 174 0
325 0004 FFF7FEFF bl HAL_GetTick
326 .LVL47:
178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
327 .loc 1 178 0
328 0008 002C cmp r4, #0
329 000a 5DD0 beq .L41
330 000c 0546 mov r5, r0
204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
331 .loc 1 204 0
332 000e 0023 movs r3, #0
333 0010 84F83430 strb r3, [r4, #52]
207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
334 .loc 1 207 0
335 0014 0223 movs r3, #2
336 0016 84F83530 strb r3, [r4, #53]
210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
337 .loc 1 210 0
338 001a 2268 ldr r2, [r4]
339 001c 1368 ldr r3, [r2]
340 001e 23F00103 bic r3, r3, #1
341 0022 1360 str r3, [r2]
342 .LVL48:
343 .L37:
ARM GAS /tmp/ccwgRvGR.s page 30
213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
344 .loc 1 213 0
345 0024 2368 ldr r3, [r4]
346 0026 1A68 ldr r2, [r3]
347 0028 12F0010F tst r2, #1
348 002c 0AD0 beq .L43
216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
349 .loc 1 216 0
350 002e FFF7FEFF bl HAL_GetTick
351 .LVL49:
352 0032 401B subs r0, r0, r5
353 0034 0528 cmp r0, #5
354 0036 F5D9 bls .L37
219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
355 .loc 1 219 0
356 0038 2023 movs r3, #32
357 003a 6365 str r3, [r4, #84]
222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
358 .loc 1 222 0
359 003c 0320 movs r0, #3
360 003e 84F83500 strb r0, [r4, #53]
224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
361 .loc 1 224 0
362 0042 70BD pop {r4, r5, r6, pc}
363 .LVL50:
364 .L43:
229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
365 .loc 1 229 0
366 0044 1A68 ldr r2, [r3]
367 .LVL51:
232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \
368 .loc 1 232 0
369 0046 2149 ldr r1, .L46
370 0048 1140 ands r1, r1, r2
371 .LVL52:
238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
372 .loc 1 238 0
373 004a 6268 ldr r2, [r4, #4]
374 004c A068 ldr r0, [r4, #8]
375 004e 0243 orrs r2, r2, r0
239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
376 .loc 1 239 0
377 0050 E068 ldr r0, [r4, #12]
238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
378 .loc 1 238 0
379 0052 0243 orrs r2, r2, r0
239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
380 .loc 1 239 0
381 0054 2069 ldr r0, [r4, #16]
382 0056 0243 orrs r2, r2, r0
240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority;
383 .loc 1 240 0
384 0058 6069 ldr r0, [r4, #20]
239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
385 .loc 1 239 0
386 005a 0243 orrs r2, r2, r0
240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority;
ARM GAS /tmp/ccwgRvGR.s page 31
387 .loc 1 240 0
388 005c A069 ldr r0, [r4, #24]
389 005e 0243 orrs r2, r2, r0
241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
390 .loc 1 241 0
391 0060 E069 ldr r0, [r4, #28]
240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority;
392 .loc 1 240 0
393 0062 0243 orrs r2, r2, r0
241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
394 .loc 1 241 0
395 0064 206A ldr r0, [r4, #32]
396 0066 0243 orrs r2, r2, r0
238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
397 .loc 1 238 0
398 0068 0A43 orrs r2, r2, r1
399 .LVL53:
244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
400 .loc 1 244 0
401 006a 616A ldr r1, [r4, #36]
402 006c 0429 cmp r1, #4
403 006e 16D0 beq .L44
404 .L39:
251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
405 .loc 1 251 0
406 0070 1A60 str r2, [r3]
254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
407 .loc 1 254 0
408 0072 2668 ldr r6, [r4]
409 0074 7569 ldr r5, [r6, #20]
410 .LVL54:
257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
411 .loc 1 257 0
412 0076 25F00705 bic r5, r5, #7
413 .LVL55:
260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
414 .loc 1 260 0
415 007a 636A ldr r3, [r4, #36]
416 007c 1D43 orrs r5, r5, r3
417 .LVL56:
263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
418 .loc 1 263 0
419 007e 042B cmp r3, #4
420 0080 12D0 beq .L45
421 .L40:
286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
422 .loc 1 286 0
423 0082 7561 str r5, [r6, #20]
290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
424 .loc 1 290 0
425 0084 2046 mov r0, r4
426 0086 FFF7FEFF bl DMA_CalcBaseAndBitshift
427 .LVL57:
293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
428 .loc 1 293 0
429 008a E26D ldr r2, [r4, #92]
430 008c 3F23 movs r3, #63
ARM GAS /tmp/ccwgRvGR.s page 32
431 008e 9340 lsls r3, r3, r2
432 0090 8360 str r3, [r0, #8]
296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
433 .loc 1 296 0
434 0092 0020 movs r0, #0
435 .LVL58:
436 0094 6065 str r0, [r4, #84]
299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
437 .loc 1 299 0
438 0096 0123 movs r3, #1
439 0098 84F83530 strb r3, [r4, #53]
301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
440 .loc 1 301 0
441 009c 70BD pop {r4, r5, r6, pc}
442 .LVL59:
443 .L44:
247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
444 .loc 1 247 0
445 009e E16A ldr r1, [r4, #44]
446 00a0 206B ldr r0, [r4, #48]
447 00a2 0143 orrs r1, r1, r0
448 00a4 0A43 orrs r2, r2, r1
449 .LVL60:
450 00a6 E3E7 b .L39
451 .LVL61:
452 .L45:
266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
453 .loc 1 266 0
454 00a8 A36A ldr r3, [r4, #40]
455 00aa 1D43 orrs r5, r5, r3
456 .LVL62:
270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
457 .loc 1 270 0
458 00ac E36A ldr r3, [r4, #44]
459 00ae 002B cmp r3, #0
460 00b0 E7D0 beq .L40
272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
461 .loc 1 272 0
462 00b2 2046 mov r0, r4
463 00b4 FFF7FEFF bl DMA_CheckFifoParam
464 .LVL63:
465 00b8 0028 cmp r0, #0
466 00ba E2D0 beq .L40
275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
467 .loc 1 275 0
468 00bc 4023 movs r3, #64
469 00be 6365 str r3, [r4, #84]
278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
470 .loc 1 278 0
471 00c0 0120 movs r0, #1
472 00c2 84F83500 strb r0, [r4, #53]
280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
473 .loc 1 280 0
474 00c6 70BD pop {r4, r5, r6, pc}
475 .LVL64:
476 .L41:
180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
ARM GAS /tmp/ccwgRvGR.s page 33
477 .loc 1 180 0
478 00c8 0120 movs r0, #1
479 .LVL65:
302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
480 .loc 1 302 0
481 00ca 70BD pop {r4, r5, r6, pc}
482 .LVL66:
483 .L47:
484 .align 2
485 .L46:
486 00cc 3F8010F0 .word -267354049
487 .cfi_endproc
488 .LFE130:
490 .section .text.HAL_DMA_DeInit,"ax",%progbits
491 .align 1
492 .global HAL_DMA_DeInit
493 .syntax unified
494 .thumb
495 .thumb_func
496 .fpu fpv4-sp-d16
498 HAL_DMA_DeInit:
499 .LFB131:
311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs;
500 .loc 1 311 0
501 .cfi_startproc
502 @ args = 0, pretend = 0, frame = 0
503 @ frame_needed = 0, uses_anonymous_args = 0
504 .LVL67:
315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
505 .loc 1 315 0
506 0000 0028 cmp r0, #0
507 0002 2ED0 beq .L50
311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** DMA_Base_Registers *regs;
508 .loc 1 311 0
509 0004 38B5 push {r3, r4, r5, lr}
510 .LCFI4:
511 .cfi_def_cfa_offset 16
512 .cfi_offset 3, -16
513 .cfi_offset 4, -12
514 .cfi_offset 5, -8
515 .cfi_offset 14, -4
516 0006 0446 mov r4, r0
321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
517 .loc 1 321 0
518 0008 90F83530 ldrb r3, [r0, #53] @ zero_extendqisi2
519 000c DBB2 uxtb r3, r3
520 000e 022B cmp r3, #2
521 0010 01D1 bne .L56
324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
522 .loc 1 324 0
523 0012 0220 movs r0, #2
524 .LVL68:
375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
525 .loc 1 375 0
526 0014 38BD pop {r3, r4, r5, pc}
527 .LVL69:
528 .L56:
ARM GAS /tmp/ccwgRvGR.s page 34
331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
529 .loc 1 331 0
530 0016 0268 ldr r2, [r0]
531 0018 1368 ldr r3, [r2]
532 001a 23F00103 bic r3, r3, #1
533 001e 1360 str r3, [r2]
334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
534 .loc 1 334 0
535 0020 0368 ldr r3, [r0]
536 0022 0025 movs r5, #0
537 0024 1D60 str r5, [r3]
337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
538 .loc 1 337 0
539 0026 0368 ldr r3, [r0]
540 0028 5D60 str r5, [r3, #4]
340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
541 .loc 1 340 0
542 002a 0368 ldr r3, [r0]
543 002c 9D60 str r5, [r3, #8]
343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
544 .loc 1 343 0
545 002e 0368 ldr r3, [r0]
546 0030 DD60 str r5, [r3, #12]
346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
547 .loc 1 346 0
548 0032 0368 ldr r3, [r0]
549 0034 1D61 str r5, [r3, #16]
349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
550 .loc 1 349 0
551 0036 0368 ldr r3, [r0]
552 0038 2122 movs r2, #33
553 003a 5A61 str r2, [r3, #20]
352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
554 .loc 1 352 0
555 003c FFF7FEFF bl DMA_CalcBaseAndBitshift
556 .LVL70:
355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
557 .loc 1 355 0
558 0040 E563 str r5, [r4, #60]
356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL;
559 .loc 1 356 0
560 0042 2564 str r5, [r4, #64]
357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL;
561 .loc 1 357 0
562 0044 6564 str r5, [r4, #68]
358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
563 .loc 1 358 0
564 0046 A564 str r5, [r4, #72]
359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
565 .loc 1 359 0
566 0048 E564 str r5, [r4, #76]
360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
567 .loc 1 360 0
568 004a 2565 str r5, [r4, #80]
363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
569 .loc 1 363 0
570 004c E26D ldr r2, [r4, #92]
ARM GAS /tmp/ccwgRvGR.s page 35
571 004e 3F23 movs r3, #63
572 0050 9340 lsls r3, r3, r2
573 0052 8360 str r3, [r0, #8]
366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
574 .loc 1 366 0
575 0054 6565 str r5, [r4, #84]
369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
576 .loc 1 369 0
577 0056 84F83550 strb r5, [r4, #53]
372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
578 .loc 1 372 0
579 005a 84F83450 strb r5, [r4, #52]
374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
580 .loc 1 374 0
581 005e 2846 mov r0, r5
582 .LVL71:
583 0060 38BD pop {r3, r4, r5, pc}
584 .LVL72:
585 .L50:
586 .LCFI5:
587 .cfi_def_cfa_offset 0
588 .cfi_restore 3
589 .cfi_restore 4
590 .cfi_restore 5
591 .cfi_restore 14
317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
592 .loc 1 317 0
593 0062 0120 movs r0, #1
594 .LVL73:
595 0064 7047 bx lr
596 .cfi_endproc
597 .LFE131:
599 .section .text.HAL_DMA_Start,"ax",%progbits
600 .align 1
601 .global HAL_DMA_Start
602 .syntax unified
603 .thumb
604 .thumb_func
605 .fpu fpv4-sp-d16
607 HAL_DMA_Start:
608 .LFB132:
409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
609 .loc 1 409 0
610 .cfi_startproc
611 @ args = 0, pretend = 0, frame = 0
612 @ frame_needed = 0, uses_anonymous_args = 0
613 .LVL74:
614 0000 38B5 push {r3, r4, r5, lr}
615 .LCFI6:
616 .cfi_def_cfa_offset 16
617 .cfi_offset 3, -16
618 .cfi_offset 4, -12
619 .cfi_offset 5, -8
620 .cfi_offset 14, -4
621 .LVL75:
416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
622 .loc 1 416 0
ARM GAS /tmp/ccwgRvGR.s page 36
623 0002 90F83440 ldrb r4, [r0, #52] @ zero_extendqisi2
624 0006 012C cmp r4, #1
625 0008 1CD0 beq .L60
416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
626 .loc 1 416 0 is_stmt 0 discriminator 2
627 000a 0124 movs r4, #1
628 000c 80F83440 strb r4, [r0, #52]
418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
629 .loc 1 418 0 is_stmt 1 discriminator 2
630 0010 90F83540 ldrb r4, [r0, #53] @ zero_extendqisi2
631 0014 E4B2 uxtb r4, r4
632 0016 012C cmp r4, #1
633 0018 04D0 beq .L62
435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
634 .loc 1 435 0
635 001a 0023 movs r3, #0
636 .LVL76:
637 001c 80F83430 strb r3, [r0, #52]
638 .LVL77:
438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
639 .loc 1 438 0
640 0020 0220 movs r0, #2
641 .LVL78:
642 0022 38BD pop {r3, r4, r5, pc}
643 .LVL79:
644 .L62:
645 0024 0546 mov r5, r0
421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
646 .loc 1 421 0
647 0026 0220 movs r0, #2
648 .LVL80:
649 0028 85F83500 strb r0, [r5, #53]
424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
650 .loc 1 424 0
651 002c 0024 movs r4, #0
652 002e 6C65 str r4, [r5, #84]
427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
653 .loc 1 427 0
654 0030 2846 mov r0, r5
655 0032 FFF7FEFF bl DMA_SetConfig
656 .LVL81:
430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
657 .loc 1 430 0
658 0036 2A68 ldr r2, [r5]
659 0038 1368 ldr r3, [r2]
660 003a 43F00103 orr r3, r3, #1
661 003e 1360 str r3, [r2]
410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
662 .loc 1 410 0
663 0040 2046 mov r0, r4
664 0042 38BD pop {r3, r4, r5, pc}
665 .LVL82:
666 .L60:
416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
667 .loc 1 416 0
668 0044 0220 movs r0, #2
669 .LVL83:
ARM GAS /tmp/ccwgRvGR.s page 37
441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
670 .loc 1 441 0
671 0046 38BD pop {r3, r4, r5, pc}
672 .cfi_endproc
673 .LFE132:
675 .section .text.HAL_DMA_Start_IT,"ax",%progbits
676 .align 1
677 .global HAL_DMA_Start_IT
678 .syntax unified
679 .thumb
680 .thumb_func
681 .fpu fpv4-sp-d16
683 HAL_DMA_Start_IT:
684 .LFB133:
453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
685 .loc 1 453 0
686 .cfi_startproc
687 @ args = 0, pretend = 0, frame = 0
688 @ frame_needed = 0, uses_anonymous_args = 0
689 .LVL84:
690 0000 38B5 push {r3, r4, r5, lr}
691 .LCFI7:
692 .cfi_def_cfa_offset 16
693 .cfi_offset 3, -16
694 .cfi_offset 4, -12
695 .cfi_offset 5, -8
696 .cfi_offset 14, -4
697 .LVL85:
457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
698 .loc 1 457 0
699 0002 856D ldr r5, [r0, #88]
700 .LVL86:
463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
701 .loc 1 463 0
702 0004 90F83440 ldrb r4, [r0, #52] @ zero_extendqisi2
703 0008 012C cmp r4, #1
704 000a 31D0 beq .L67
463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
705 .loc 1 463 0 is_stmt 0 discriminator 2
706 000c 0124 movs r4, #1
707 000e 80F83440 strb r4, [r0, #52]
465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
708 .loc 1 465 0 is_stmt 1 discriminator 2
709 0012 90F83540 ldrb r4, [r0, #53] @ zero_extendqisi2
710 0016 E4B2 uxtb r4, r4
711 0018 012C cmp r4, #1
712 001a 04D0 beq .L69
494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
713 .loc 1 494 0
714 001c 0023 movs r3, #0
715 .LVL87:
716 001e 80F83430 strb r3, [r0, #52]
717 .LVL88:
497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
718 .loc 1 497 0
719 0022 0220 movs r0, #2
720 .LVL89:
ARM GAS /tmp/ccwgRvGR.s page 38
721 0024 38BD pop {r3, r4, r5, pc}
722 .LVL90:
723 .L69:
724 0026 0446 mov r4, r0
468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
725 .loc 1 468 0
726 0028 0220 movs r0, #2
727 .LVL91:
728 002a 84F83500 strb r0, [r4, #53]
471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
729 .loc 1 471 0
730 002e 0020 movs r0, #0
731 0030 6065 str r0, [r4, #84]
474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
732 .loc 1 474 0
733 0032 2046 mov r0, r4
734 0034 FFF7FEFF bl DMA_SetConfig
735 .LVL92:
477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
736 .loc 1 477 0
737 0038 E26D ldr r2, [r4, #92]
738 003a 3F23 movs r3, #63
739 003c 9340 lsls r3, r3, r2
740 003e AB60 str r3, [r5, #8]
480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR |= DMA_IT_FE;
741 .loc 1 480 0
742 0040 2268 ldr r2, [r4]
743 0042 1368 ldr r3, [r2]
744 0044 43F01603 orr r3, r3, #22
745 0048 1360 str r3, [r2]
481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
746 .loc 1 481 0
747 004a 2268 ldr r2, [r4]
748 004c 5369 ldr r3, [r2, #20]
749 004e 43F08003 orr r3, r3, #128
750 0052 5361 str r3, [r2, #20]
483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
751 .loc 1 483 0
752 0054 236C ldr r3, [r4, #64]
753 0056 23B1 cbz r3, .L66
485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
754 .loc 1 485 0
755 0058 2268 ldr r2, [r4]
756 005a 1368 ldr r3, [r2]
757 005c 43F00803 orr r3, r3, #8
758 0060 1360 str r3, [r2]
759 .L66:
489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
760 .loc 1 489 0
761 0062 2268 ldr r2, [r4]
762 0064 1368 ldr r3, [r2]
763 0066 43F00103 orr r3, r3, #1
764 006a 1360 str r3, [r2]
454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
765 .loc 1 454 0
766 006c 0020 movs r0, #0
767 006e 38BD pop {r3, r4, r5, pc}
ARM GAS /tmp/ccwgRvGR.s page 39
768 .LVL93:
769 .L67:
463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
770 .loc 1 463 0
771 0070 0220 movs r0, #2
772 .LVL94:
501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
773 .loc 1 501 0
774 0072 38BD pop {r3, r4, r5, pc}
775 .cfi_endproc
776 .LFE133:
778 .section .text.HAL_DMA_Abort,"ax",%progbits
779 .align 1
780 .global HAL_DMA_Abort
781 .syntax unified
782 .thumb
783 .thumb_func
784 .fpu fpv4-sp-d16
786 HAL_DMA_Abort:
787 .LFB134:
516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** /* calculate DMA base and stream number */
788 .loc 1 516 0
789 .cfi_startproc
790 @ args = 0, pretend = 0, frame = 0
791 @ frame_needed = 0, uses_anonymous_args = 0
792 .LVL95:
793 0000 70B5 push {r4, r5, r6, lr}
794 .LCFI8:
795 .cfi_def_cfa_offset 16
796 .cfi_offset 4, -16
797 .cfi_offset 5, -12
798 .cfi_offset 6, -8
799 .cfi_offset 14, -4
800 0002 0446 mov r4, r0
518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
801 .loc 1 518 0
802 0004 866D ldr r6, [r0, #88]
803 .LVL96:
520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
804 .loc 1 520 0
805 0006 FFF7FEFF bl HAL_GetTick
806 .LVL97:
522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
807 .loc 1 522 0
808 000a 94F83530 ldrb r3, [r4, #53] @ zero_extendqisi2
809 000e DBB2 uxtb r3, r3
810 0010 022B cmp r3, #2
811 0012 06D0 beq .L71
524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
812 .loc 1 524 0
813 0014 8023 movs r3, #128
814 0016 6365 str r3, [r4, #84]
527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
815 .loc 1 527 0
816 0018 0023 movs r3, #0
817 001a 84F83430 strb r3, [r4, #52]
529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
ARM GAS /tmp/ccwgRvGR.s page 40
818 .loc 1 529 0
819 001e 0120 movs r0, #1
820 .LVL98:
821 0020 70BD pop {r4, r5, r6, pc}
822 .LVL99:
823 .L71:
824 0022 0546 mov r5, r0
534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE);
825 .loc 1 534 0
826 0024 2268 ldr r2, [r4]
827 0026 1368 ldr r3, [r2]
828 0028 23F01603 bic r3, r3, #22
829 002c 1360 str r3, [r2]
535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
830 .loc 1 535 0
831 002e 2268 ldr r2, [r4]
832 0030 5369 ldr r3, [r2, #20]
833 0032 23F08003 bic r3, r3, #128
834 0036 5361 str r3, [r2, #20]
537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
835 .loc 1 537 0
836 0038 236C ldr r3, [r4, #64]
837 003a E3B1 cbz r3, .L78
838 .L73:
539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
839 .loc 1 539 0
840 003c 2268 ldr r2, [r4]
841 003e 1368 ldr r3, [r2]
842 0040 23F00803 bic r3, r3, #8
843 0044 1360 str r3, [r2]
844 .L74:
543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
845 .loc 1 543 0
846 0046 2268 ldr r2, [r4]
847 0048 1368 ldr r3, [r2]
848 004a 23F00103 bic r3, r3, #1
849 004e 1360 str r3, [r2]
850 .LVL100:
851 .L75:
546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
852 .loc 1 546 0
853 0050 2368 ldr r3, [r4]
854 0052 1B68 ldr r3, [r3]
855 0054 13F0010F tst r3, #1
856 0058 11D0 beq .L79
549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
857 .loc 1 549 0
858 005a FFF7FEFF bl HAL_GetTick
859 .LVL101:
860 005e 401B subs r0, r0, r5
861 0060 0528 cmp r0, #5
862 0062 F5D9 bls .L75
552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
863 .loc 1 552 0
864 0064 2023 movs r3, #32
865 0066 6365 str r3, [r4, #84]
555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
ARM GAS /tmp/ccwgRvGR.s page 41
866 .loc 1 555 0
867 0068 0023 movs r3, #0
868 006a 84F83430 strb r3, [r4, #52]
558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
869 .loc 1 558 0
870 006e 0320 movs r0, #3
871 0070 84F83500 strb r0, [r4, #53]
560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
872 .loc 1 560 0
873 0074 70BD pop {r4, r5, r6, pc}
874 .LVL102:
875 .L78:
537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
876 .loc 1 537 0 discriminator 1
877 0076 A36C ldr r3, [r4, #72]
878 0078 002B cmp r3, #0
879 007a DFD1 bne .L73
880 007c E3E7 b .L74
881 .LVL103:
882 .L79:
565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
883 .loc 1 565 0
884 007e E26D ldr r2, [r4, #92]
885 0080 3F23 movs r3, #63
886 0082 9340 lsls r3, r3, r2
887 0084 B360 str r3, [r6, #8]
568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
888 .loc 1 568 0
889 0086 0020 movs r0, #0
890 0088 84F83400 strb r0, [r4, #52]
571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
891 .loc 1 571 0
892 008c 0123 movs r3, #1
893 008e 84F83530 strb r3, [r4, #53]
574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
894 .loc 1 574 0
895 0092 70BD pop {r4, r5, r6, pc}
896 .cfi_endproc
897 .LFE134:
899 .section .text.HAL_DMA_Abort_IT,"ax",%progbits
900 .align 1
901 .global HAL_DMA_Abort_IT
902 .syntax unified
903 .thumb
904 .thumb_func
905 .fpu fpv4-sp-d16
907 HAL_DMA_Abort_IT:
908 .LFB135:
583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY)
909 .loc 1 583 0
910 .cfi_startproc
911 @ args = 0, pretend = 0, frame = 0
912 @ frame_needed = 0, uses_anonymous_args = 0
913 @ link register save eliminated.
914 .LVL104:
584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
915 .loc 1 584 0
ARM GAS /tmp/ccwgRvGR.s page 42
916 0000 90F83530 ldrb r3, [r0, #53] @ zero_extendqisi2
917 0004 DBB2 uxtb r3, r3
918 0006 022B cmp r3, #2
919 0008 03D0 beq .L81
586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
920 .loc 1 586 0
921 000a 8023 movs r3, #128
922 000c 4365 str r3, [r0, #84]
587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
923 .loc 1 587 0
924 000e 0120 movs r0, #1
925 .LVL105:
926 0010 7047 bx lr
927 .LVL106:
928 .L81:
592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
929 .loc 1 592 0
930 0012 0523 movs r3, #5
931 0014 80F83530 strb r3, [r0, #53]
595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
932 .loc 1 595 0
933 0018 0268 ldr r2, [r0]
934 001a 1368 ldr r3, [r2]
935 001c 23F00103 bic r3, r3, #1
936 0020 1360 str r3, [r2]
598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
937 .loc 1 598 0
938 0022 0020 movs r0, #0
939 .LVL107:
599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
940 .loc 1 599 0
941 0024 7047 bx lr
942 .cfi_endproc
943 .LFE135:
945 .section .text.HAL_DMA_PollForTransfer,"ax",%progbits
946 .align 1
947 .global HAL_DMA_PollForTransfer
948 .syntax unified
949 .thumb
950 .thumb_func
951 .fpu fpv4-sp-d16
953 HAL_DMA_PollForTransfer:
954 .LFB136:
613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
955 .loc 1 613 0
956 .cfi_startproc
957 @ args = 0, pretend = 0, frame = 0
958 @ frame_needed = 0, uses_anonymous_args = 0
959 .LVL108:
960 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
961 .LCFI9:
962 .cfi_def_cfa_offset 32
963 .cfi_offset 3, -32
964 .cfi_offset 4, -28
965 .cfi_offset 5, -24
966 .cfi_offset 6, -20
967 .cfi_offset 7, -16
ARM GAS /tmp/ccwgRvGR.s page 43
968 .cfi_offset 8, -12
969 .cfi_offset 9, -8
970 .cfi_offset 14, -4
971 0004 0446 mov r4, r0
972 0006 8946 mov r9, r1
973 0008 1546 mov r5, r2
974 .LVL109:
616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr;
975 .loc 1 616 0
976 000a FFF7FEFF bl HAL_GetTick
977 .LVL110:
622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
978 .loc 1 622 0
979 000e 94F83530 ldrb r3, [r4, #53] @ zero_extendqisi2
980 0012 DBB2 uxtb r3, r3
981 0014 022B cmp r3, #2
982 0016 07D0 beq .L84
625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** __HAL_UNLOCK(hdma);
983 .loc 1 625 0
984 0018 8023 movs r3, #128
985 001a 6365 str r3, [r4, #84]
626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
986 .loc 1 626 0
987 001c 0023 movs r3, #0
988 001e 84F83430 strb r3, [r4, #52]
627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
989 .loc 1 627 0
990 0022 0120 movs r0, #1
991 .LVL111:
992 0024 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
993 .LVL112:
994 .L84:
995 0028 8046 mov r8, r0
631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
996 .loc 1 631 0
997 002a 2368 ldr r3, [r4]
998 002c 1B68 ldr r3, [r3]
999 002e 13F4807F tst r3, #256
1000 0032 38D1 bne .L100
638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1001 .loc 1 638 0
1002 0034 B9F1000F cmp r9, #0
1003 0038 3BD1 bne .L87
641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1004 .loc 1 641 0
1005 003a E36D ldr r3, [r4, #92]
1006 003c 2027 movs r7, #32
1007 003e 9F40 lsls r7, r7, r3
1008 .LVL113:
1009 .L88:
649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** tmpisr = regs->ISR;
1010 .loc 1 649 0
1011 0040 A66D ldr r6, [r4, #88]
1012 .LVL114:
650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1013 .loc 1 650 0
1014 0042 3368 ldr r3, [r6]
ARM GAS /tmp/ccwgRvGR.s page 44
1015 .LVL115:
1016 .L89:
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1017 .loc 1 652 0
1018 0044 1F42 tst r7, r3
1019 0046 43D1 bne .L95
652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1020 .loc 1 652 0 is_stmt 0 discriminator 1
1021 0048 636D ldr r3, [r4, #84]
1022 .LVL116:
1023 004a 13F0010F tst r3, #1
1024 004e 3FD1 bne .L95
655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1025 .loc 1 655 0 is_stmt 1
1026 0050 B5F1FF3F cmp r5, #-1
1027 0054 07D0 beq .L90
657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1028 .loc 1 657 0
1029 0056 002D cmp r5, #0
1030 0058 2FD0 beq .L91
657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1031 .loc 1 657 0 is_stmt 0 discriminator 1
1032 005a FFF7FEFF bl HAL_GetTick
1033 .LVL117:
1034 005e A0EB0800 sub r0, r0, r8
1035 0062 8542 cmp r5, r0
1036 0064 29D3 bcc .L91
1037 .L90:
673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1038 .loc 1 673 0 is_stmt 1
1039 0066 3368 ldr r3, [r6]
1040 .LVL118:
675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1041 .loc 1 675 0
1042 0068 E16D ldr r1, [r4, #92]
1043 006a 0822 movs r2, #8
1044 006c 8A40 lsls r2, r2, r1
1045 006e 1342 tst r3, r2
1046 0070 04D0 beq .L92
678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1047 .loc 1 678 0
1048 0072 616D ldr r1, [r4, #84]
1049 0074 41F00101 orr r1, r1, #1
1050 0078 6165 str r1, [r4, #84]
681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1051 .loc 1 681 0
1052 007a B260 str r2, [r6, #8]
1053 .L92:
684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1054 .loc 1 684 0
1055 007c E16D ldr r1, [r4, #92]
1056 007e 0122 movs r2, #1
1057 0080 8A40 lsls r2, r2, r1
1058 0082 1342 tst r3, r2
1059 0084 04D0 beq .L93
687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1060 .loc 1 687 0
ARM GAS /tmp/ccwgRvGR.s page 45
1061 0086 616D ldr r1, [r4, #84]
1062 0088 41F00201 orr r1, r1, #2
1063 008c 6165 str r1, [r4, #84]
690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1064 .loc 1 690 0
1065 008e B260 str r2, [r6, #8]
1066 .L93:
693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1067 .loc 1 693 0
1068 0090 E16D ldr r1, [r4, #92]
1069 0092 0422 movs r2, #4
1070 0094 8A40 lsls r2, r2, r1
1071 0096 1342 tst r3, r2
1072 0098 D4D0 beq .L89
696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1073 .loc 1 696 0
1074 009a 616D ldr r1, [r4, #84]
1075 009c 41F00401 orr r1, r1, #4
1076 00a0 6165 str r1, [r4, #84]
699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1077 .loc 1 699 0
1078 00a2 B260 str r2, [r6, #8]
1079 00a4 CEE7 b .L89
1080 .LVL119:
1081 .L100:
633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return HAL_ERROR;
1082 .loc 1 633 0
1083 00a6 4FF48073 mov r3, #256
1084 00aa 6365 str r3, [r4, #84]
634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1085 .loc 1 634 0
1086 00ac 0120 movs r0, #1
1087 .LVL120:
1088 00ae BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1089 .LVL121:
1090 .L87:
646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1091 .loc 1 646 0
1092 00b2 E36D ldr r3, [r4, #92]
1093 00b4 1027 movs r7, #16
1094 00b6 9F40 lsls r7, r7, r3
1095 .LVL122:
1096 00b8 C2E7 b .L88
1097 .LVL123:
1098 .L91:
660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1099 .loc 1 660 0
1100 00ba 2023 movs r3, #32
1101 00bc 6365 str r3, [r4, #84]
663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1102 .loc 1 663 0
1103 00be 0023 movs r3, #0
1104 00c0 84F83430 strb r3, [r4, #52]
666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1105 .loc 1 666 0
1106 00c4 0123 movs r3, #1
1107 00c6 84F83530 strb r3, [r4, #53]
ARM GAS /tmp/ccwgRvGR.s page 46
668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1108 .loc 1 668 0
1109 00ca 0320 movs r0, #3
1110 00cc BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1111 .LVL124:
1112 .L95:
703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1113 .loc 1 703 0
1114 00d0 636D ldr r3, [r4, #84]
1115 00d2 1BB1 cbz r3, .L97
705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1116 .loc 1 705 0
1117 00d4 636D ldr r3, [r4, #84]
1118 00d6 13F0010F tst r3, #1
1119 00da 09D1 bne .L101
1120 .L97:
723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1121 .loc 1 723 0
1122 00dc B9F1000F cmp r9, #0
1123 00e0 15D0 beq .L102
736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1124 .loc 1 736 0
1125 00e2 E26D ldr r2, [r4, #92]
1126 00e4 1023 movs r3, #16
1127 00e6 9340 lsls r3, r3, r2
1128 00e8 B360 str r3, [r6, #8]
739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1129 .loc 1 739 0
1130 00ea 0020 movs r0, #0
740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1131 .loc 1 740 0
1132 00ec BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1133 .LVL125:
1134 .L101:
707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1135 .loc 1 707 0
1136 00f0 2046 mov r0, r4
1137 00f2 FFF7FEFF bl HAL_DMA_Abort
1138 .LVL126:
710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1139 .loc 1 710 0
1140 00f6 E26D ldr r2, [r4, #92]
1141 00f8 3023 movs r3, #48
1142 00fa 9340 lsls r3, r3, r2
1143 00fc B360 str r3, [r6, #8]
713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1144 .loc 1 713 0
1145 00fe 0023 movs r3, #0
1146 0100 84F83430 strb r3, [r4, #52]
716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1147 .loc 1 716 0
1148 0104 0120 movs r0, #1
1149 0106 84F83500 strb r0, [r4, #53]
718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1150 .loc 1 718 0
1151 010a BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1152 .LVL127:
ARM GAS /tmp/ccwgRvGR.s page 47
1153 .L102:
726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1154 .loc 1 726 0
1155 010e E26D ldr r2, [r4, #92]
1156 0110 3023 movs r3, #48
1157 0112 9340 lsls r3, r3, r2
1158 0114 B360 str r3, [r6, #8]
729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1159 .loc 1 729 0
1160 0116 0020 movs r0, #0
1161 0118 84F83400 strb r0, [r4, #52]
731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1162 .loc 1 731 0
1163 011c 0123 movs r3, #1
1164 011e 84F83530 strb r3, [r4, #53]
1165 0122 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
1166 .cfi_endproc
1167 .LFE136:
1169 .section .text.HAL_DMA_IRQHandler,"ax",%progbits
1170 .align 1
1171 .global HAL_DMA_IRQHandler
1172 .syntax unified
1173 .thumb
1174 .thumb_func
1175 .fpu fpv4-sp-d16
1177 HAL_DMA_IRQHandler:
1178 .LFB137:
749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t tmpisr;
1179 .loc 1 749 0
1180 .cfi_startproc
1181 @ args = 0, pretend = 0, frame = 8
1182 @ frame_needed = 0, uses_anonymous_args = 0
1183 .LVL128:
1184 0000 F0B5 push {r4, r5, r6, r7, lr}
1185 .LCFI10:
1186 .cfi_def_cfa_offset 20
1187 .cfi_offset 4, -20
1188 .cfi_offset 5, -16
1189 .cfi_offset 6, -12
1190 .cfi_offset 7, -8
1191 .cfi_offset 14, -4
1192 0002 83B0 sub sp, sp, #12
1193 .LCFI11:
1194 .cfi_def_cfa_offset 32
1195 0004 0446 mov r4, r0
751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** uint32_t timeout = SystemCoreClock / 9600U;
1196 .loc 1 751 0
1197 0006 0023 movs r3, #0
1198 0008 0193 str r3, [sp, #4]
752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1199 .loc 1 752 0
1200 000a 724B ldr r3, .L125
1201 000c 1D68 ldr r5, [r3]
1202 000e 724B ldr r3, .L125+4
1203 0010 A3FB0535 umull r3, r5, r3, r5
1204 0014 AD0A lsrs r5, r5, #10
1205 .LVL129:
ARM GAS /tmp/ccwgRvGR.s page 48
755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1206 .loc 1 755 0
1207 0016 876D ldr r7, [r0, #88]
1208 .LVL130:
757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1209 .loc 1 757 0
1210 0018 3E68 ldr r6, [r7]
1211 .LVL131:
760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1212 .loc 1 760 0
1213 001a C26D ldr r2, [r0, #92]
1214 001c 0823 movs r3, #8
1215 001e 9340 lsls r3, r3, r2
1216 0020 1E42 tst r6, r3
1217 0022 10D0 beq .L104
762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1218 .loc 1 762 0
1219 0024 0368 ldr r3, [r0]
1220 0026 1A68 ldr r2, [r3]
1221 0028 12F0040F tst r2, #4
1222 002c 0BD0 beq .L104
765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1223 .loc 1 765 0
1224 002e 1A68 ldr r2, [r3]
1225 0030 22F00402 bic r2, r2, #4
1226 0034 1A60 str r2, [r3]
768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1227 .loc 1 768 0
1228 0036 C26D ldr r2, [r0, #92]
1229 0038 0823 movs r3, #8
1230 003a 9340 lsls r3, r3, r2
1231 003c BB60 str r3, [r7, #8]
771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1232 .loc 1 771 0
1233 003e 436D ldr r3, [r0, #84]
1234 0040 43F00103 orr r3, r3, #1
1235 0044 4365 str r3, [r0, #84]
1236 .L104:
775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1237 .loc 1 775 0
1238 0046 E26D ldr r2, [r4, #92]
1239 0048 0123 movs r3, #1
1240 004a 9340 lsls r3, r3, r2
1241 004c 1E42 tst r6, r3
1242 004e 09D0 beq .L105
777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1243 .loc 1 777 0
1244 0050 2268 ldr r2, [r4]
1245 0052 5269 ldr r2, [r2, #20]
1246 0054 12F0800F tst r2, #128
1247 0058 04D0 beq .L105
780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1248 .loc 1 780 0
1249 005a BB60 str r3, [r7, #8]
783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1250 .loc 1 783 0
1251 005c 636D ldr r3, [r4, #84]
ARM GAS /tmp/ccwgRvGR.s page 49
1252 005e 43F00203 orr r3, r3, #2
1253 0062 6365 str r3, [r4, #84]
1254 .L105:
787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1255 .loc 1 787 0
1256 0064 E26D ldr r2, [r4, #92]
1257 0066 0423 movs r3, #4
1258 0068 9340 lsls r3, r3, r2
1259 006a 1E42 tst r6, r3
1260 006c 09D0 beq .L106
789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1261 .loc 1 789 0
1262 006e 2268 ldr r2, [r4]
1263 0070 1268 ldr r2, [r2]
1264 0072 12F0020F tst r2, #2
1265 0076 04D0 beq .L106
792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1266 .loc 1 792 0
1267 0078 BB60 str r3, [r7, #8]
795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1268 .loc 1 795 0
1269 007a 636D ldr r3, [r4, #84]
1270 007c 43F00403 orr r3, r3, #4
1271 0080 6365 str r3, [r4, #84]
1272 .L106:
799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1273 .loc 1 799 0
1274 0082 E26D ldr r2, [r4, #92]
1275 0084 1023 movs r3, #16
1276 0086 9340 lsls r3, r3, r2
1277 0088 1E42 tst r6, r3
1278 008a 24D0 beq .L107
801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1279 .loc 1 801 0
1280 008c 2268 ldr r2, [r4]
1281 008e 1268 ldr r2, [r2]
1282 0090 12F0080F tst r2, #8
1283 0094 1FD0 beq .L107
804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1284 .loc 1 804 0
1285 0096 BB60 str r3, [r7, #8]
807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1286 .loc 1 807 0
1287 0098 2368 ldr r3, [r4]
1288 009a 1A68 ldr r2, [r3]
1289 009c 12F4802F tst r2, #262144
1290 00a0 0DD0 beq .L108
810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1291 .loc 1 810 0
1292 00a2 1B68 ldr r3, [r3]
1293 00a4 13F4002F tst r3, #524288
1294 00a8 04D1 bne .L109
812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1295 .loc 1 812 0
1296 00aa 236C ldr r3, [r4, #64]
1297 00ac 9BB1 cbz r3, .L107
815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
ARM GAS /tmp/ccwgRvGR.s page 50
1298 .loc 1 815 0
1299 00ae 2046 mov r0, r4
1300 .LVL132:
1301 00b0 9847 blx r3
1302 .LVL133:
1303 00b2 10E0 b .L107
1304 .LVL134:
1305 .L109:
821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1306 .loc 1 821 0
1307 00b4 A36C ldr r3, [r4, #72]
1308 00b6 73B1 cbz r3, .L107
824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1309 .loc 1 824 0
1310 00b8 2046 mov r0, r4
1311 .LVL135:
1312 00ba 9847 blx r3
1313 .LVL136:
1314 00bc 0BE0 b .L107
1315 .LVL137:
1316 .L108:
831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1317 .loc 1 831 0
1318 00be 1A68 ldr r2, [r3]
1319 00c0 12F4807F tst r2, #256
1320 00c4 03D1 bne .L110
834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1321 .loc 1 834 0
1322 00c6 1A68 ldr r2, [r3]
1323 00c8 22F00802 bic r2, r2, #8
1324 00cc 1A60 str r2, [r3]
1325 .L110:
837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1326 .loc 1 837 0
1327 00ce 236C ldr r3, [r4, #64]
1328 00d0 0BB1 cbz r3, .L107
840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1329 .loc 1 840 0
1330 00d2 2046 mov r0, r4
1331 .LVL138:
1332 00d4 9847 blx r3
1333 .LVL139:
1334 .L107:
846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1335 .loc 1 846 0
1336 00d6 E26D ldr r2, [r4, #92]
1337 00d8 2023 movs r3, #32
1338 00da 9340 lsls r3, r3, r2
1339 00dc 1E42 tst r6, r3
1340 00de 55D0 beq .L111
848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1341 .loc 1 848 0
1342 00e0 2268 ldr r2, [r4]
1343 00e2 1268 ldr r2, [r2]
1344 00e4 12F0100F tst r2, #16
1345 00e8 50D0 beq .L111
851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
ARM GAS /tmp/ccwgRvGR.s page 51
1346 .loc 1 851 0
1347 00ea BB60 str r3, [r7, #8]
853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1348 .loc 1 853 0
1349 00ec 94F83530 ldrb r3, [r4, #53] @ zero_extendqisi2
1350 00f0 DBB2 uxtb r3, r3
1351 00f2 052B cmp r3, #5
1352 00f4 0ED0 beq .L123
880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1353 .loc 1 880 0
1354 00f6 2368 ldr r3, [r4]
1355 00f8 1A68 ldr r2, [r3]
1356 00fa 12F4802F tst r2, #262144
1357 00fe 33D0 beq .L116
883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1358 .loc 1 883 0
1359 0100 1B68 ldr r3, [r3]
1360 0102 13F4002F tst r3, #524288
1361 0106 2AD1 bne .L117
885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1362 .loc 1 885 0
1363 0108 636C ldr r3, [r4, #68]
1364 010a 002B cmp r3, #0
1365 010c 3ED0 beq .L111
888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1366 .loc 1 888 0
1367 010e 2046 mov r0, r4
1368 0110 9847 blx r3
1369 .LVL140:
1370 0112 3BE0 b .L111
1371 .L123:
856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->Instance->FCR &= ~(DMA_IT_FE);
1372 .loc 1 856 0
1373 0114 2268 ldr r2, [r4]
1374 0116 1368 ldr r3, [r2]
1375 0118 23F01603 bic r3, r3, #22
1376 011c 1360 str r3, [r2]
857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1377 .loc 1 857 0
1378 011e 2268 ldr r2, [r4]
1379 0120 5369 ldr r3, [r2, #20]
1380 0122 23F08003 bic r3, r3, #128
1381 0126 5361 str r3, [r2, #20]
859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1382 .loc 1 859 0
1383 0128 236C ldr r3, [r4, #64]
1384 012a A3B1 cbz r3, .L124
1385 .L113:
861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1386 .loc 1 861 0
1387 012c 2268 ldr r2, [r4]
1388 012e 1368 ldr r3, [r2]
1389 0130 23F00803 bic r3, r3, #8
1390 0134 1360 str r3, [r2]
1391 .L114:
865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1392 .loc 1 865 0
ARM GAS /tmp/ccwgRvGR.s page 52
1393 0136 E26D ldr r2, [r4, #92]
1394 0138 3F23 movs r3, #63
1395 013a 9340 lsls r3, r3, r2
1396 013c BB60 str r3, [r7, #8]
868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1397 .loc 1 868 0
1398 013e 0023 movs r3, #0
1399 0140 84F83430 strb r3, [r4, #52]
871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1400 .loc 1 871 0
1401 0144 0123 movs r3, #1
1402 0146 84F83530 strb r3, [r4, #53]
873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1403 .loc 1 873 0
1404 014a 236D ldr r3, [r4, #80]
1405 014c 002B cmp r3, #0
1406 014e 3FD0 beq .L103
875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1407 .loc 1 875 0
1408 0150 2046 mov r0, r4
1409 0152 9847 blx r3
1410 .LVL141:
1411 0154 3CE0 b .L103
1412 .L124:
859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1413 .loc 1 859 0 discriminator 1
1414 0156 A36C ldr r3, [r4, #72]
1415 0158 002B cmp r3, #0
1416 015a E7D1 bne .L113
1417 015c EBE7 b .L114
1418 .L117:
894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1419 .loc 1 894 0
1420 015e E36B ldr r3, [r4, #60]
1421 0160 A3B1 cbz r3, .L111
897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1422 .loc 1 897 0
1423 0162 2046 mov r0, r4
1424 0164 9847 blx r3
1425 .LVL142:
1426 0166 11E0 b .L111
1427 .L116:
904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1428 .loc 1 904 0
1429 0168 1A68 ldr r2, [r3]
1430 016a 12F4807F tst r2, #256
1431 016e 09D1 bne .L118
907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1432 .loc 1 907 0
1433 0170 1A68 ldr r2, [r3]
1434 0172 22F01002 bic r2, r2, #16
1435 0176 1A60 str r2, [r3]
910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1436 .loc 1 910 0
1437 0178 0023 movs r3, #0
1438 017a 84F83430 strb r3, [r4, #52]
913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
ARM GAS /tmp/ccwgRvGR.s page 53
1439 .loc 1 913 0
1440 017e 0123 movs r3, #1
1441 0180 84F83530 strb r3, [r4, #53]
1442 .L118:
916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1443 .loc 1 916 0
1444 0184 E36B ldr r3, [r4, #60]
1445 0186 0BB1 cbz r3, .L111
919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1446 .loc 1 919 0
1447 0188 2046 mov r0, r4
1448 018a 9847 blx r3
1449 .LVL143:
1450 .L111:
926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1451 .loc 1 926 0
1452 018c 636D ldr r3, [r4, #84]
1453 018e FBB1 cbz r3, .L103
928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1454 .loc 1 928 0
1455 0190 636D ldr r3, [r4, #84]
1456 0192 13F0010F tst r3, #1
1457 0196 17D0 beq .L119
930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1458 .loc 1 930 0
1459 0198 0523 movs r3, #5
1460 019a 84F83530 strb r3, [r4, #53]
933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1461 .loc 1 933 0
1462 019e 2268 ldr r2, [r4]
1463 01a0 1368 ldr r3, [r2]
1464 01a2 23F00103 bic r3, r3, #1
1465 01a6 1360 str r3, [r2]
1466 .L121:
937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1467 .loc 1 937 0
1468 01a8 019B ldr r3, [sp, #4]
1469 01aa 0133 adds r3, r3, #1
1470 01ac 0193 str r3, [sp, #4]
1471 01ae 9D42 cmp r5, r3
1472 01b0 04D3 bcc .L120
942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1473 .loc 1 942 0
1474 01b2 2368 ldr r3, [r4]
1475 01b4 1B68 ldr r3, [r3]
1476 01b6 13F0010F tst r3, #1
1477 01ba F5D1 bne .L121
1478 .L120:
945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1479 .loc 1 945 0
1480 01bc 0023 movs r3, #0
1481 01be 84F83430 strb r3, [r4, #52]
948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1482 .loc 1 948 0
1483 01c2 0123 movs r3, #1
1484 01c4 84F83530 strb r3, [r4, #53]
1485 .L119:
ARM GAS /tmp/ccwgRvGR.s page 54
951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1486 .loc 1 951 0
1487 01c8 E36C ldr r3, [r4, #76]
1488 01ca 0BB1 cbz r3, .L103
954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1489 .loc 1 954 0
1490 01cc 2046 mov r0, r4
1491 01ce 9847 blx r3
1492 .LVL144:
1493 .L103:
957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1494 .loc 1 957 0
1495 01d0 03B0 add sp, sp, #12
1496 .LCFI12:
1497 .cfi_def_cfa_offset 20
1498 @ sp needed
1499 01d2 F0BD pop {r4, r5, r6, r7, pc}
1500 .LVL145:
1501 .L126:
1502 .align 2
1503 .L125:
1504 01d4 00000000 .word SystemCoreClock
1505 01d8 B5814E1B .word 458129845
1506 .cfi_endproc
1507 .LFE137:
1509 .section .text.HAL_DMA_RegisterCallback,"ax",%progbits
1510 .align 1
1511 .global HAL_DMA_RegisterCallback
1512 .syntax unified
1513 .thumb
1514 .thumb_func
1515 .fpu fpv4-sp-d16
1517 HAL_DMA_RegisterCallback:
1518 .LFB138:
970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1519 .loc 1 970 0
1520 .cfi_startproc
1521 @ args = 0, pretend = 0, frame = 0
1522 @ frame_needed = 0, uses_anonymous_args = 0
1523 @ link register save eliminated.
1524 .LVL146:
1525 0000 0346 mov r3, r0
1526 .LVL147:
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1527 .loc 1 975 0
1528 0002 90F83400 ldrb r0, [r0, #52] @ zero_extendqisi2
1529 .LVL148:
1530 0006 0128 cmp r0, #1
1531 0008 27D0 beq .L137
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1532 .loc 1 975 0 is_stmt 0 discriminator 2
1533 000a 0120 movs r0, #1
1534 000c 83F83400 strb r0, [r3, #52]
977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1535 .loc 1 977 0 is_stmt 1 discriminator 2
1536 0010 93F83500 ldrb r0, [r3, #53] @ zero_extendqisi2
1537 0014 C0B2 uxtb r0, r0
ARM GAS /tmp/ccwgRvGR.s page 55
1538 0016 0128 cmp r0, #1
1539 0018 04D0 beq .L140
1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1540 .loc 1 1012 0
1541 001a 0120 movs r0, #1
1542 .L129:
1543 .LVL149:
1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1544 .loc 1 1016 0
1545 001c 0022 movs r2, #0
1546 .LVL150:
1547 001e 83F83420 strb r2, [r3, #52]
1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1548 .loc 1 1018 0
1549 0022 7047 bx lr
1550 .LVL151:
1551 .L140:
979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1552 .loc 1 979 0
1553 0024 0529 cmp r1, #5
1554 0026 16D8 bhi .L139
1555 0028 DFE801F0 tbb [pc, r1]
1556 .L131:
1557 002c 03 .byte (.L130-.L131)/2
1558 002d 06 .byte (.L132-.L131)/2
1559 002e 09 .byte (.L133-.L131)/2
1560 002f 0C .byte (.L134-.L131)/2
1561 0030 0F .byte (.L135-.L131)/2
1562 0031 12 .byte (.L136-.L131)/2
1563 .p2align 1
1564 .L130:
982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1565 .loc 1 982 0
1566 0032 DA63 str r2, [r3, #60]
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1567 .loc 1 972 0
1568 0034 0020 movs r0, #0
983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1569 .loc 1 983 0
1570 0036 F1E7 b .L129
1571 .L132:
986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1572 .loc 1 986 0
1573 0038 1A64 str r2, [r3, #64]
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1574 .loc 1 972 0
1575 003a 0020 movs r0, #0
987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1576 .loc 1 987 0
1577 003c EEE7 b .L129
1578 .L133:
990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1579 .loc 1 990 0
1580 003e 5A64 str r2, [r3, #68]
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1581 .loc 1 972 0
1582 0040 0020 movs r0, #0
ARM GAS /tmp/ccwgRvGR.s page 56
991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1583 .loc 1 991 0
1584 0042 EBE7 b .L129
1585 .L134:
994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1586 .loc 1 994 0
1587 0044 9A64 str r2, [r3, #72]
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1588 .loc 1 972 0
1589 0046 0020 movs r0, #0
995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1590 .loc 1 995 0
1591 0048 E8E7 b .L129
1592 .L135:
998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1593 .loc 1 998 0
1594 004a DA64 str r2, [r3, #76]
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1595 .loc 1 972 0
1596 004c 0020 movs r0, #0
999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1597 .loc 1 999 0
1598 004e E5E7 b .L129
1599 .L136:
1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1600 .loc 1 1002 0
1601 0050 1A65 str r2, [r3, #80]
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1602 .loc 1 972 0
1603 0052 0020 movs r0, #0
1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1604 .loc 1 1003 0
1605 0054 E2E7 b .L129
1606 .L139:
972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1607 .loc 1 972 0
1608 0056 0020 movs r0, #0
1609 0058 E0E7 b .L129
1610 .L137:
975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1611 .loc 1 975 0
1612 005a 0220 movs r0, #2
1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1613 .loc 1 1019 0
1614 005c 7047 bx lr
1615 .cfi_endproc
1616 .LFE138:
1618 .section .text.HAL_DMA_UnRegisterCallback,"ax",%progbits
1619 .align 1
1620 .global HAL_DMA_UnRegisterCallback
1621 .syntax unified
1622 .thumb
1623 .thumb_func
1624 .fpu fpv4-sp-d16
1626 HAL_DMA_UnRegisterCallback:
1627 .LFB139:
1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
ARM GAS /tmp/ccwgRvGR.s page 57
1628 .loc 1 1030 0
1629 .cfi_startproc
1630 @ args = 0, pretend = 0, frame = 0
1631 @ frame_needed = 0, uses_anonymous_args = 0
1632 @ link register save eliminated.
1633 .LVL152:
1634 0000 0346 mov r3, r0
1635 .LVL153:
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1636 .loc 1 1034 0
1637 0002 90F83420 ldrb r2, [r0, #52] @ zero_extendqisi2
1638 0006 012A cmp r2, #1
1639 0008 30D0 beq .L152
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1640 .loc 1 1034 0 is_stmt 0 discriminator 2
1641 000a 0122 movs r2, #1
1642 000c 80F83420 strb r2, [r0, #52]
1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1643 .loc 1 1036 0 is_stmt 1 discriminator 2
1644 0010 90F83520 ldrb r2, [r0, #53] @ zero_extendqisi2
1645 0014 D2B2 uxtb r2, r2
1646 0016 012A cmp r2, #1
1647 0018 04D0 beq .L155
1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1648 .loc 1 1080 0
1649 001a 0120 movs r0, #1
1650 .LVL154:
1651 .L143:
1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1652 .loc 1 1084 0
1653 001c 0022 movs r2, #0
1654 001e 83F83420 strb r2, [r3, #52]
1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1655 .loc 1 1086 0
1656 0022 7047 bx lr
1657 .LVL155:
1658 .L155:
1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** {
1659 .loc 1 1038 0
1660 0024 0629 cmp r1, #6
1661 0026 1FD8 bhi .L154
1662 0028 DFE801F0 tbb [pc, r1]
1663 .L145:
1664 002c 04 .byte (.L144-.L145)/2
1665 002d 07 .byte (.L146-.L145)/2
1666 002e 0A .byte (.L147-.L145)/2
1667 002f 0D .byte (.L148-.L145)/2
1668 0030 10 .byte (.L149-.L145)/2
1669 0031 13 .byte (.L150-.L145)/2
1670 0032 16 .byte (.L151-.L145)/2
1671 0033 00 .p2align 1
1672 .L144:
1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1673 .loc 1 1041 0
1674 0034 0020 movs r0, #0
1675 .LVL156:
1676 0036 D863 str r0, [r3, #60]
ARM GAS /tmp/ccwgRvGR.s page 58
1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1677 .loc 1 1042 0
1678 0038 F0E7 b .L143
1679 .LVL157:
1680 .L146:
1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1681 .loc 1 1045 0
1682 003a 0020 movs r0, #0
1683 .LVL158:
1684 003c 1864 str r0, [r3, #64]
1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1685 .loc 1 1046 0
1686 003e EDE7 b .L143
1687 .LVL159:
1688 .L147:
1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1689 .loc 1 1049 0
1690 0040 0020 movs r0, #0
1691 .LVL160:
1692 0042 5864 str r0, [r3, #68]
1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1693 .loc 1 1050 0
1694 0044 EAE7 b .L143
1695 .LVL161:
1696 .L148:
1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1697 .loc 1 1053 0
1698 0046 0020 movs r0, #0
1699 .LVL162:
1700 0048 9864 str r0, [r3, #72]
1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1701 .loc 1 1054 0
1702 004a E7E7 b .L143
1703 .LVL163:
1704 .L149:
1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1705 .loc 1 1057 0
1706 004c 0020 movs r0, #0
1707 .LVL164:
1708 004e D864 str r0, [r3, #76]
1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1709 .loc 1 1058 0
1710 0050 E4E7 b .L143
1711 .LVL165:
1712 .L150:
1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1713 .loc 1 1061 0
1714 0052 0020 movs r0, #0
1715 .LVL166:
1716 0054 1865 str r0, [r3, #80]
1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1717 .loc 1 1062 0
1718 0056 E1E7 b .L143
1719 .LVL167:
1720 .L151:
1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
1721 .loc 1 1065 0
ARM GAS /tmp/ccwgRvGR.s page 59
1722 0058 0020 movs r0, #0
1723 .LVL168:
1724 005a D863 str r0, [r3, #60]
1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1CpltCallback = NULL;
1725 .loc 1 1066 0
1726 005c 1864 str r0, [r3, #64]
1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferM1HalfCpltCallback = NULL;
1727 .loc 1 1067 0
1728 005e 5864 str r0, [r3, #68]
1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
1729 .loc 1 1068 0
1730 0060 9864 str r0, [r3, #72]
1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
1731 .loc 1 1069 0
1732 0062 D864 str r0, [r3, #76]
1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1733 .loc 1 1070 0
1734 0064 1865 str r0, [r3, #80]
1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1735 .loc 1 1071 0
1736 0066 D9E7 b .L143
1737 .LVL169:
1738 .L154:
1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** break;
1739 .loc 1 1074 0
1740 0068 0120 movs r0, #1
1741 .LVL170:
1742 006a D7E7 b .L143
1743 .LVL171:
1744 .L152:
1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1745 .loc 1 1034 0
1746 006c 0220 movs r0, #2
1747 .LVL172:
1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1748 .loc 1 1087 0
1749 006e 7047 bx lr
1750 .cfi_endproc
1751 .LFE139:
1753 .section .text.HAL_DMA_GetState,"ax",%progbits
1754 .align 1
1755 .global HAL_DMA_GetState
1756 .syntax unified
1757 .thumb
1758 .thumb_func
1759 .fpu fpv4-sp-d16
1761 HAL_DMA_GetState:
1762 .LFB140:
1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->State;
1763 .loc 1 1115 0
1764 .cfi_startproc
1765 @ args = 0, pretend = 0, frame = 0
1766 @ frame_needed = 0, uses_anonymous_args = 0
1767 @ link register save eliminated.
1768 .LVL173:
1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1769 .loc 1 1116 0
ARM GAS /tmp/ccwgRvGR.s page 60
1770 0000 90F83500 ldrb r0, [r0, #53] @ zero_extendqisi2
1771 .LVL174:
1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1772 .loc 1 1117 0
1773 0004 7047 bx lr
1774 .cfi_endproc
1775 .LFE140:
1777 .section .text.HAL_DMA_GetError,"ax",%progbits
1778 .align 1
1779 .global HAL_DMA_GetError
1780 .syntax unified
1781 .thumb
1782 .thumb_func
1783 .fpu fpv4-sp-d16
1785 HAL_DMA_GetError:
1786 .LFB141:
1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** return hdma->ErrorCode;
1787 .loc 1 1126 0
1788 .cfi_startproc
1789 @ args = 0, pretend = 0, frame = 0
1790 @ frame_needed = 0, uses_anonymous_args = 0
1791 @ link register save eliminated.
1792 .LVL175:
1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c **** }
1793 .loc 1 1127 0
1794 0000 406D ldr r0, [r0, #84]
1795 .LVL176:
1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c ****
1796 .loc 1 1128 0
1797 0002 7047 bx lr
1798 .cfi_endproc
1799 .LFE141:
1801 .section .rodata.flagBitshiftOffset.7620,"a",%progbits
1802 .align 2
1803 .set .LANCHOR0,. + 0
1806 flagBitshiftOffset.7620:
1807 0000 00 .byte 0
1808 0001 06 .byte 6
1809 0002 10 .byte 16
1810 0003 16 .byte 22
1811 0004 00 .byte 0
1812 0005 06 .byte 6
1813 0006 10 .byte 16
1814 0007 16 .byte 22
1815 .text
1816 .Letext0:
1817 .file 2 "/usr/include/newlib/machine/_default_types.h"
1818 .file 3 "/usr/include/newlib/sys/_stdint.h"
1819 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
1820 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h"
1821 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
1822 .file 7 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
1823 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
1824 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
1825 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
ARM GAS /tmp/ccwgRvGR.s page 61
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f4xx_hal_dma.c
/tmp/ccwgRvGR.s:18 .text.DMA_SetConfig:0000000000000000 $t
/tmp/ccwgRvGR.s:24 .text.DMA_SetConfig:0000000000000000 DMA_SetConfig
/tmp/ccwgRvGR.s:83 .text.DMA_CalcBaseAndBitshift:0000000000000000 $t
/tmp/ccwgRvGR.s:89 .text.DMA_CalcBaseAndBitshift:0000000000000000 DMA_CalcBaseAndBitshift
/tmp/ccwgRvGR.s:132 .text.DMA_CalcBaseAndBitshift:0000000000000034 $d
/tmp/ccwgRvGR.s:138 .text.DMA_CheckFifoParam:0000000000000000 $t
/tmp/ccwgRvGR.s:144 .text.DMA_CheckFifoParam:0000000000000000 DMA_CheckFifoParam
/tmp/ccwgRvGR.s:211 .text.DMA_CheckFifoParam:0000000000000046 $d
/tmp/ccwgRvGR.s:215 .text.DMA_CheckFifoParam:000000000000004a $t
/tmp/ccwgRvGR.s:301 .text.HAL_DMA_Init:0000000000000000 $t
/tmp/ccwgRvGR.s:308 .text.HAL_DMA_Init:0000000000000000 HAL_DMA_Init
/tmp/ccwgRvGR.s:486 .text.HAL_DMA_Init:00000000000000cc $d
/tmp/ccwgRvGR.s:491 .text.HAL_DMA_DeInit:0000000000000000 $t
/tmp/ccwgRvGR.s:498 .text.HAL_DMA_DeInit:0000000000000000 HAL_DMA_DeInit
/tmp/ccwgRvGR.s:600 .text.HAL_DMA_Start:0000000000000000 $t
/tmp/ccwgRvGR.s:607 .text.HAL_DMA_Start:0000000000000000 HAL_DMA_Start
/tmp/ccwgRvGR.s:676 .text.HAL_DMA_Start_IT:0000000000000000 $t
/tmp/ccwgRvGR.s:683 .text.HAL_DMA_Start_IT:0000000000000000 HAL_DMA_Start_IT
/tmp/ccwgRvGR.s:779 .text.HAL_DMA_Abort:0000000000000000 $t
/tmp/ccwgRvGR.s:786 .text.HAL_DMA_Abort:0000000000000000 HAL_DMA_Abort
/tmp/ccwgRvGR.s:900 .text.HAL_DMA_Abort_IT:0000000000000000 $t
/tmp/ccwgRvGR.s:907 .text.HAL_DMA_Abort_IT:0000000000000000 HAL_DMA_Abort_IT
/tmp/ccwgRvGR.s:946 .text.HAL_DMA_PollForTransfer:0000000000000000 $t
/tmp/ccwgRvGR.s:953 .text.HAL_DMA_PollForTransfer:0000000000000000 HAL_DMA_PollForTransfer
/tmp/ccwgRvGR.s:1170 .text.HAL_DMA_IRQHandler:0000000000000000 $t
/tmp/ccwgRvGR.s:1177 .text.HAL_DMA_IRQHandler:0000000000000000 HAL_DMA_IRQHandler
/tmp/ccwgRvGR.s:1504 .text.HAL_DMA_IRQHandler:00000000000001d4 $d
/tmp/ccwgRvGR.s:1510 .text.HAL_DMA_RegisterCallback:0000000000000000 $t
/tmp/ccwgRvGR.s:1517 .text.HAL_DMA_RegisterCallback:0000000000000000 HAL_DMA_RegisterCallback
/tmp/ccwgRvGR.s:1557 .text.HAL_DMA_RegisterCallback:000000000000002c $d
/tmp/ccwgRvGR.s:1563 .text.HAL_DMA_RegisterCallback:0000000000000032 $t
/tmp/ccwgRvGR.s:1619 .text.HAL_DMA_UnRegisterCallback:0000000000000000 $t
/tmp/ccwgRvGR.s:1626 .text.HAL_DMA_UnRegisterCallback:0000000000000000 HAL_DMA_UnRegisterCallback
/tmp/ccwgRvGR.s:1664 .text.HAL_DMA_UnRegisterCallback:000000000000002c $d
/tmp/ccwgRvGR.s:1754 .text.HAL_DMA_GetState:0000000000000000 $t
/tmp/ccwgRvGR.s:1761 .text.HAL_DMA_GetState:0000000000000000 HAL_DMA_GetState
/tmp/ccwgRvGR.s:1778 .text.HAL_DMA_GetError:0000000000000000 $t
/tmp/ccwgRvGR.s:1785 .text.HAL_DMA_GetError:0000000000000000 HAL_DMA_GetError
/tmp/ccwgRvGR.s:1802 .rodata.flagBitshiftOffset.7620:0000000000000000 $d
/tmp/ccwgRvGR.s:1806 .rodata.flagBitshiftOffset.7620:0000000000000000 flagBitshiftOffset.7620
.debug_frame:0000000000000010 $d
/tmp/ccwgRvGR.s:1671 .text.HAL_DMA_UnRegisterCallback:0000000000000033 $d
/tmp/ccwgRvGR.s:1671 .text.HAL_DMA_UnRegisterCallback:0000000000000034 $t
UNDEFINED SYMBOLS
HAL_GetTick
SystemCoreClock