RTEMS 6.1-rc6
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
stm32h7xx_hal_mdma.h File Reference

Header file of DMA HAL module. More...

#include "stm32h7xx_hal_def.h"

Go to the source code of this file.

Data Structures

struct  MDMA_InitTypeDef
 MDMA Configuration Structure definition. More...
 
struct  MDMA_LinkNodeTypeDef
 HAL MDMA linked list node structure definition. More...
 
struct  MDMA_LinkNodeConfTypeDef
 HAL MDMA linked list node configuration structure definition. More...
 
struct  __MDMA_HandleTypeDef
 MDMA handle Structure definition. More...
 

Macros

#define HAL_MDMA_ERROR_NONE   ((uint32_t)0x00000000U)
 
#define HAL_MDMA_ERROR_READ_XFER   ((uint32_t)0x00000001U)
 
#define HAL_MDMA_ERROR_WRITE_XFER   ((uint32_t)0x00000002U)
 
#define HAL_MDMA_ERROR_MASK_DATA   ((uint32_t)0x00000004U)
 
#define HAL_MDMA_ERROR_LINKED_LIST   ((uint32_t)0x00000008U)
 
#define HAL_MDMA_ERROR_ALIGNMENT   ((uint32_t)0x00000010U)
 
#define HAL_MDMA_ERROR_BLOCK_SIZE   ((uint32_t)0x00000020U)
 
#define HAL_MDMA_ERROR_TIMEOUT   ((uint32_t)0x00000040U)
 
#define HAL_MDMA_ERROR_NO_XFER   ((uint32_t)0x00000080U)
 
#define HAL_MDMA_ERROR_BUSY   ((uint32_t)0x00000100U)
 
#define MDMA_REQUEST_DMA1_Stream0_TC   ((uint32_t)0x00000000U)
 
#define MDMA_REQUEST_DMA1_Stream1_TC   ((uint32_t)0x00000001U)
 
#define MDMA_REQUEST_DMA1_Stream2_TC   ((uint32_t)0x00000002U)
 
#define MDMA_REQUEST_DMA1_Stream3_TC   ((uint32_t)0x00000003U)
 
#define MDMA_REQUEST_DMA1_Stream4_TC   ((uint32_t)0x00000004U)
 
#define MDMA_REQUEST_DMA1_Stream5_TC   ((uint32_t)0x00000005U)
 
#define MDMA_REQUEST_DMA1_Stream6_TC   ((uint32_t)0x00000006U)
 
#define MDMA_REQUEST_DMA1_Stream7_TC   ((uint32_t)0x00000007U)
 
#define MDMA_REQUEST_DMA2_Stream0_TC   ((uint32_t)0x00000008U)
 
#define MDMA_REQUEST_DMA2_Stream1_TC   ((uint32_t)0x00000009U)
 
#define MDMA_REQUEST_DMA2_Stream2_TC   ((uint32_t)0x0000000AU)
 
#define MDMA_REQUEST_DMA2_Stream3_TC   ((uint32_t)0x0000000BU)
 
#define MDMA_REQUEST_DMA2_Stream4_TC   ((uint32_t)0x0000000CU)
 
#define MDMA_REQUEST_DMA2_Stream5_TC   ((uint32_t)0x0000000DU)
 
#define MDMA_REQUEST_DMA2_Stream6_TC   ((uint32_t)0x0000000EU)
 
#define MDMA_REQUEST_DMA2_Stream7_TC   ((uint32_t)0x0000000FU)
 
#define MDMA_REQUEST_DMA2D_CLUT_TC   ((uint32_t)0x00000018U)
 
#define MDMA_REQUEST_DMA2D_TC   ((uint32_t)0x00000019U)
 
#define MDMA_REQUEST_DMA2D_TW   ((uint32_t)0x0000001AU)
 
#define MDMA_REQUEST_SDMMC1_END_DATA   ((uint32_t)0x0000001DU)
 
#define MDMA_REQUEST_SDMMC1_DMA_ENDBUFFER   ((uint32_t)0x0000001EU)
 
#define MDMA_REQUEST_SDMMC1_COMMAND_END   ((uint32_t)0x0000001FU)
 
#define MDMA_REQUEST_SW   ((uint32_t)0x40000000U)
 
#define MDMA_BUFFER_TRANSFER   ((uint32_t)0x00000000U)
 
#define MDMA_BLOCK_TRANSFER   ((uint32_t)MDMA_CTCR_TRGM_0)
 
#define MDMA_REPEAT_BLOCK_TRANSFER   ((uint32_t)MDMA_CTCR_TRGM_1)
 
#define MDMA_FULL_TRANSFER   ((uint32_t)MDMA_CTCR_TRGM)
 
#define MDMA_PRIORITY_LOW   ((uint32_t)0x00000000U)
 
#define MDMA_PRIORITY_MEDIUM   ((uint32_t)MDMA_CCR_PL_0)
 
#define MDMA_PRIORITY_HIGH   ((uint32_t)MDMA_CCR_PL_1)
 
#define MDMA_PRIORITY_VERY_HIGH   ((uint32_t)MDMA_CCR_PL)
 
#define MDMA_LITTLE_ENDIANNESS_PRESERVE   ((uint32_t)0x00000000U)
 
#define MDMA_LITTLE_BYTE_ENDIANNESS_EXCHANGE   ((uint32_t)MDMA_CCR_BEX)
 
#define MDMA_LITTLE_HALFWORD_ENDIANNESS_EXCHANGE   ((uint32_t)MDMA_CCR_HEX)
 
#define MDMA_LITTLE_WORD_ENDIANNESS_EXCHANGE   ((uint32_t)MDMA_CCR_WEX)
 
#define MDMA_SRC_INC_DISABLE   ((uint32_t)0x00000000U)
 
#define MDMA_SRC_INC_BYTE   ((uint32_t)MDMA_CTCR_SINC_1)
 
#define MDMA_SRC_INC_HALFWORD   ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS_0)
 
#define MDMA_SRC_INC_WORD   ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS_1)
 
#define MDMA_SRC_INC_DOUBLEWORD   ((uint32_t)MDMA_CTCR_SINC_1 | (uint32_t)MDMA_CTCR_SINCOS)
 
#define MDMA_SRC_DEC_BYTE   ((uint32_t)MDMA_CTCR_SINC)
 
#define MDMA_SRC_DEC_HALFWORD   ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS_0)
 
#define MDMA_SRC_DEC_WORD   ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS_1)
 
#define MDMA_SRC_DEC_DOUBLEWORD   ((uint32_t)MDMA_CTCR_SINC | (uint32_t)MDMA_CTCR_SINCOS)
 
#define MDMA_DEST_INC_DISABLE   ((uint32_t)0x00000000U)
 
#define MDMA_DEST_INC_BYTE   ((uint32_t)MDMA_CTCR_DINC_1)
 
#define MDMA_DEST_INC_HALFWORD   ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS_0)
 
#define MDMA_DEST_INC_WORD   ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS_1)
 
#define MDMA_DEST_INC_DOUBLEWORD   ((uint32_t)MDMA_CTCR_DINC_1 | (uint32_t)MDMA_CTCR_DINCOS)
 
#define MDMA_DEST_DEC_BYTE   ((uint32_t)MDMA_CTCR_DINC)
 
#define MDMA_DEST_DEC_HALFWORD   ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS_0)
 
#define MDMA_DEST_DEC_WORD   ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS_1)
 
#define MDMA_DEST_DEC_DOUBLEWORD   ((uint32_t)MDMA_CTCR_DINC | (uint32_t)MDMA_CTCR_DINCOS)
 
#define MDMA_SRC_DATASIZE_BYTE   ((uint32_t)0x00000000U)
 
#define MDMA_SRC_DATASIZE_HALFWORD   ((uint32_t)MDMA_CTCR_SSIZE_0)
 
#define MDMA_SRC_DATASIZE_WORD   ((uint32_t)MDMA_CTCR_SSIZE_1)
 
#define MDMA_SRC_DATASIZE_DOUBLEWORD   ((uint32_t)MDMA_CTCR_SSIZE)
 
#define MDMA_DEST_DATASIZE_BYTE   ((uint32_t)0x00000000U)
 
#define MDMA_DEST_DATASIZE_HALFWORD   ((uint32_t)MDMA_CTCR_DSIZE_0)
 
#define MDMA_DEST_DATASIZE_WORD   ((uint32_t)MDMA_CTCR_DSIZE_1)
 
#define MDMA_DEST_DATASIZE_DOUBLEWORD   ((uint32_t)MDMA_CTCR_DSIZE)
 
#define MDMA_DATAALIGN_PACKENABLE   ((uint32_t)MDMA_CTCR_PKE)
 
#define MDMA_DATAALIGN_RIGHT   ((uint32_t)0x00000000U)
 
#define MDMA_DATAALIGN_RIGHT_SIGNED   ((uint32_t)MDMA_CTCR_PAM_0)
 
#define MDMA_DATAALIGN_LEFT   ((uint32_t)MDMA_CTCR_PAM_1)
 
#define MDMA_SOURCE_BURST_SINGLE   ((uint32_t)0x00000000U)
 
#define MDMA_SOURCE_BURST_2BEATS   ((uint32_t)MDMA_CTCR_SBURST_0)
 
#define MDMA_SOURCE_BURST_4BEATS   ((uint32_t)MDMA_CTCR_SBURST_1)
 
#define MDMA_SOURCE_BURST_8BEATS   ((uint32_t)MDMA_CTCR_SBURST_0 | (uint32_t)MDMA_CTCR_SBURST_1)
 
#define MDMA_SOURCE_BURST_16BEATS   ((uint32_t)MDMA_CTCR_SBURST_2)
 
#define MDMA_SOURCE_BURST_32BEATS   ((uint32_t)MDMA_CTCR_SBURST_0 | (uint32_t)MDMA_CTCR_SBURST_2)
 
#define MDMA_SOURCE_BURST_64BEATS   ((uint32_t)MDMA_CTCR_SBURST_1 | (uint32_t)MDMA_CTCR_SBURST_2)
 
#define MDMA_SOURCE_BURST_128BEATS   ((uint32_t)MDMA_CTCR_SBURST)
 
#define MDMA_DEST_BURST_SINGLE   ((uint32_t)0x00000000U)
 
#define MDMA_DEST_BURST_2BEATS   ((uint32_t)MDMA_CTCR_DBURST_0)
 
#define MDMA_DEST_BURST_4BEATS   ((uint32_t)MDMA_CTCR_DBURST_1)
 
#define MDMA_DEST_BURST_8BEATS   ((uint32_t)MDMA_CTCR_DBURST_0 | (uint32_t)MDMA_CTCR_DBURST_1)
 
#define MDMA_DEST_BURST_16BEATS   ((uint32_t)MDMA_CTCR_DBURST_2)
 
#define MDMA_DEST_BURST_32BEATS   ((uint32_t)MDMA_CTCR_DBURST_0 | (uint32_t)MDMA_CTCR_DBURST_2)
 
#define MDMA_DEST_BURST_64BEATS   ((uint32_t)MDMA_CTCR_DBURST_1 | (uint32_t)MDMA_CTCR_DBURST_2)
 
#define MDMA_DEST_BURST_128BEATS   ((uint32_t)MDMA_CTCR_DBURST)
 
#define MDMA_IT_TE   ((uint32_t)MDMA_CCR_TEIE)
 
#define MDMA_IT_CTC   ((uint32_t)MDMA_CCR_CTCIE)
 
#define MDMA_IT_BRT   ((uint32_t)MDMA_CCR_BRTIE)
 
#define MDMA_IT_BT   ((uint32_t)MDMA_CCR_BTIE)
 
#define MDMA_IT_BFTC   ((uint32_t)MDMA_CCR_TCIE)
 
#define MDMA_FLAG_TE   ((uint32_t)MDMA_CISR_TEIF)
 
#define MDMA_FLAG_CTC   ((uint32_t)MDMA_CISR_CTCIF)
 
#define MDMA_FLAG_BRT   ((uint32_t)MDMA_CISR_BRTIF)
 
#define MDMA_FLAG_BT   ((uint32_t)MDMA_CISR_BTIF)
 
#define MDMA_FLAG_BFTC   ((uint32_t)MDMA_CISR_TCIF)
 
#define MDMA_FLAG_CRQA   ((uint32_t)MDMA_CISR_CRQA)
 
#define __HAL_MDMA_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->CCR |= MDMA_CCR_EN)
 Enable the specified MDMA Channel.
 
#define __HAL_MDMA_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->CCR &= ~MDMA_CCR_EN)
 Disable the specified MDMA Channel.
 
#define __HAL_MDMA_GET_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->CISR & (__FLAG__))
 Get the MDMA Channel pending flags.
 
#define __HAL_MDMA_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->CIFCR = (__FLAG__))
 Clear the MDMA Stream pending flags.
 
#define __HAL_MDMA_ENABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->CCR |= (__INTERRUPT__))
 Enables the specified MDMA Channel interrupts.
 
#define __HAL_MDMA_DISABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->CCR &= ~(__INTERRUPT__))
 Disables the specified MDMA Channel interrupts.
 
#define __HAL_MDMA_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)   (((__HANDLE__)->Instance->CCR & (__INTERRUPT__)))
 Checks whether the specified MDMA Channel interrupt is enabled or not.
 
#define __HAL_MDMA_SET_COUNTER(__HANDLE__, __COUNTER__)   ((__HANDLE__)->Instance->CBNDTR |= ((__COUNTER__) & MDMA_CBNDTR_BNDT))
 Writes the number of data in bytes to be transferred on the MDMA Channelx.
 
#define __HAL_MDMA_GET_COUNTER(__HANDLE__)   ((__HANDLE__)->Instance->CBNDTR & MDMA_CBNDTR_BNDT)
 Returns the number of remaining data in bytes in the current MDMA Channelx transfer.
 
#define IS_MDMA_LEVEL_COMPLETE(__LEVEL__)
 
#define IS_MDMA_PRIORITY(__PRIORITY__)
 
#define IS_MDMA_ENDIANNESS_MODE(__ENDIANNESS__)
 
#define IS_MDMA_REQUEST(__REQUEST__)   (((__REQUEST__) == MDMA_REQUEST_SW ) || ((__REQUEST__) <= MDMA_REQUEST_SDMMC1_COMMAND_END))
 
#define IS_MDMA_SOURCE_INC(__INC__)
 
#define IS_MDMA_DESTINATION_INC(__INC__)
 
#define IS_MDMA_SOURCE_DATASIZE(__SIZE__)
 
#define IS_MDMA_DESTINATION_DATASIZE(__SIZE__)
 
#define IS_MDMA_DATA_ALIGNMENT(__ALIGNMENT__)
 
#define IS_MDMA_SOURCE_BURST(__BURST__)
 
#define IS_MDMA_DESTINATION_BURST(__BURST__)
 
#define IS_MDMA_TRANSFER_TRIGGER_MODE(__MODE__)
 
#define IS_MDMA_BUFFER_TRANSFER_LENGTH(__LENGTH__)   (((__LENGTH__) >= 0x00000001U) && ((__LENGTH__) < 0x000000FFU))
 
#define IS_MDMA_BLOCK_COUNT(__COUNT__)   (((__COUNT__) > 0U ) && ((__COUNT__) <= 4096U))
 
#define IS_MDMA_TRANSFER_LENGTH(SIZE)   (((SIZE) > 0U) && ((SIZE) <= 65536U))
 
#define IS_MDMA_BLOCK_ADDR_OFFSET(__BLOCK_ADD_OFFSET__)   (((__BLOCK_ADD_OFFSET__) > (-65536)) && ((__BLOCK_ADD_OFFSET__) < 65536))
 

Typedefs

typedef struct __MDMA_HandleTypeDef MDMA_HandleTypeDef
 MDMA handle Structure definition.
 

Enumerations

enum  HAL_MDMA_StateTypeDef {
  HAL_MDMA_STATE_RESET = 0x00U , HAL_MDMA_STATE_READY = 0x01U , HAL_MDMA_STATE_BUSY = 0x02U , HAL_MDMA_STATE_ERROR = 0x03U ,
  HAL_MDMA_STATE_ABORT = 0x04U
}
 HAL MDMA State structure definition. More...
 
enum  HAL_MDMA_LevelCompleteTypeDef { HAL_MDMA_FULL_TRANSFER = 0x00U , HAL_MDMA_BUFFER_TRANSFER = 0x01U , HAL_MDMA_BLOCK_TRANSFER = 0x02U , HAL_MDMA_REPEAT_BLOCK_TRANSFER = 0x03U }
 HAL MDMA Level Complete structure definition. More...
 
enum  HAL_MDMA_CallbackIDTypeDef {
  HAL_MDMA_XFER_CPLT_CB_ID = 0x00U , HAL_MDMA_XFER_BUFFERCPLT_CB_ID = 0x01U , HAL_MDMA_XFER_BLOCKCPLT_CB_ID = 0x02U , HAL_MDMA_XFER_REPBLOCKCPLT_CB_ID = 0x03U ,
  HAL_MDMA_XFER_ERROR_CB_ID = 0x04U , HAL_MDMA_XFER_ABORT_CB_ID = 0x05U , HAL_MDMA_XFER_ALL_CB_ID = 0x06U
}
 HAL MDMA Callbacks IDs structure definition. More...
 

Functions

HAL_StatusTypeDef HAL_MDMA_Init (MDMA_HandleTypeDef *hmdma)
 
HAL_StatusTypeDef HAL_MDMA_DeInit (MDMA_HandleTypeDef *hmdma)
 
HAL_StatusTypeDef HAL_MDMA_ConfigPostRequestMask (MDMA_HandleTypeDef *hmdma, uint32_t MaskAddress, uint32_t MaskData)
 
HAL_StatusTypeDef HAL_MDMA_RegisterCallback (MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID, void(*pCallback)(MDMA_HandleTypeDef *_hmdma))
 
HAL_StatusTypeDef HAL_MDMA_UnRegisterCallback (MDMA_HandleTypeDef *hmdma, HAL_MDMA_CallbackIDTypeDef CallbackID)
 
HAL_StatusTypeDef HAL_MDMA_LinkedList_CreateNode (MDMA_LinkNodeTypeDef *pNode, MDMA_LinkNodeConfTypeDef *pNodeConfig)
 
HAL_StatusTypeDef HAL_MDMA_LinkedList_AddNode (MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNewNode, MDMA_LinkNodeTypeDef *pPrevNode)
 
HAL_StatusTypeDef HAL_MDMA_LinkedList_RemoveNode (MDMA_HandleTypeDef *hmdma, MDMA_LinkNodeTypeDef *pNode)
 
HAL_StatusTypeDef HAL_MDMA_LinkedList_EnableCircularMode (MDMA_HandleTypeDef *hmdma)
 
HAL_StatusTypeDef HAL_MDMA_LinkedList_DisableCircularMode (MDMA_HandleTypeDef *hmdma)
 
HAL_StatusTypeDef HAL_MDMA_Start (MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount)
 
HAL_StatusTypeDef HAL_MDMA_Start_IT (MDMA_HandleTypeDef *hmdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t BlockDataLength, uint32_t BlockCount)
 
HAL_StatusTypeDef HAL_MDMA_Abort (MDMA_HandleTypeDef *hmdma)
 
HAL_StatusTypeDef HAL_MDMA_Abort_IT (MDMA_HandleTypeDef *hmdma)
 
HAL_StatusTypeDef HAL_MDMA_PollForTransfer (MDMA_HandleTypeDef *hmdma, HAL_MDMA_LevelCompleteTypeDef CompleteLevel, uint32_t Timeout)
 
HAL_StatusTypeDef HAL_MDMA_GenerateSWRequest (MDMA_HandleTypeDef *hmdma)
 
void HAL_MDMA_IRQHandler (MDMA_HandleTypeDef *hmdma)
 
HAL_MDMA_StateTypeDef HAL_MDMA_GetState (MDMA_HandleTypeDef *hmdma)
 
uint32_t HAL_MDMA_GetError (MDMA_HandleTypeDef *hmdma)
 

Detailed Description

Header file of DMA HAL module.

Author
MCD Application Team
Attention

Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.