WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
dma_porting.h 文件参考
#include <stdint.h>
#include <stdbool.h>
#include "dma.h"
dma_porting.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#define S_DMA_CHANNEL_MAX_NUM   4
 
#define B_DMA_CHANNEL_MAX_NUM   8
 
#define S_MGPIO33   33
 
#define S_MGPIO34   34
 
#define DMA_CHANNEL_MAX_NUM   (S_DMA_CHANNEL_MAX_NUM + B_DMA_CHANNEL_MAX_NUM)
 

类型定义

typedef enum hal_dma_hardshaking_channel hal_dma_hardshaking_channel_t
 DMA Hardshaking channel.
 

枚举

enum  dma_channel_t {
  DMA_CHANNEL_0 , DMA_CHANNEL_1 , DMA_CHANNEL_2 , DMA_CHANNEL_3 ,
  DMA_CHANNEL_4 , DMA_CHANNEL_5 , DMA_CHANNEL_6 , DMA_CHANNEL_7 ,
  DMA_CHANNEL_NONE = ( 4 + 8 )
}
 DMA channel ID. 更多...
 
enum  hal_dma_handshaking_source_t {
  HAL_DMA_HANDSHAKING_TIE0 , HAL_DMA_HANDSHAKING_UART_L_TX , HAL_DMA_HANDSHAKING_UART_L_RX , HAL_DMA_HANDSHAKING_UART_H0_TX ,
  HAL_DMA_HANDSHAKING_UART_H0_RX , HAL_DMA_HANDSHAKING_UART_H1_TX , HAL_DMA_HANDSHAKING_UART_H1_RX , HAL_DMA_HANDSHAKING_SPI_MS0_TX ,
  HAL_DMA_HANDSHAKING_SPI_MS0_RX , HAL_DMA_HANDSHAKING_QSPI0_2CS_TX , HAL_DMA_HANDSHAKING_QSPI0_2CS_RX , HAL_DMA_HANDSHAKING_I2S_TX ,
  HAL_DMA_HANDSHAKING_I2S_RX , HAL_DMA_HANDSHAKING_SPI_MS1_TX , HAL_DMA_HANDSHAKING_SPI_MS1_RX , HAL_DMA_HANDSHAKING_SPI_M_TX ,
  HAL_DMA_HANDSHAKING_SPI_M_RX , HAL_DMA_HANDSHAKING_OPI_TX , HAL_DMA_HANDSHAKING_OPI_RX , HAL_DMA_HANDSHAKING_QSPI1_2CS_TX ,
  HAL_DMA_HANDSHAKING_QSPI1_2CS_RX , HAL_DMA_HANDSHAKING_QSPI2_1CS_TX , HAL_DMA_HANDSHAKING_QSPI2_1CS_RX , HAL_DMA_HANDSHAKING_SPI3_M_TX ,
  HAL_DMA_HANDSHAKING_SPI3_M_RX , HAL_DMA_HANDSHAKING_QSPI3_1CS_TX , HAL_DMA_HANDSHAKING_QSPI3_1CS_RX , HAL_DMA_HANDSHAKING_SPI4_S_RX ,
  HAL_DMA_HANDSHAKING_SPI4_S_TX , HAL_MDMA_HANDSHAKING_MAX_NUM , HAL_DMA_HANDSHAKING_SDMA = HAL_MDMA_HANDSHAKING_MAX_NUM , HAL_DMA_HANDSHAKING_I2C0_TX = HAL_DMA_HANDSHAKING_SDMA + 0 ,
  HAL_DMA_HANDSHAKING_I2C0_RX , HAL_DMA_HANDSHAKING_I2C1_TX , HAL_DMA_HANDSHAKING_I2C1_RX , HAL_DMA_HANDSHAKING_I2C2_TX ,
  HAL_DMA_HANDSHAKING_I2C2_RX , HAL_DMA_HANDSHAKING_I2C3_TX , HAL_DMA_HANDSHAKING_I2C3_RX , HAL_DMA_HANDSHAKING_IR_TX ,
  HAL_DMA_HANDSHAKING_IR_RX , HAL_DMA_HANDSHAKING_I2C4_TX , HAL_DMA_HANDSHAKING_I2C4_RX , HAL_DMA_HANDSHAKING_I2C5_TX ,
  HAL_DMA_HANDSHAKING_I2C5_RX , HAL_DMA_HANDSHAKING_I2C6_TX , HAL_DMA_HANDSHAKING_I2C6_RX , HAL_DMA_HANDSHAKING_MAX_NUM
}
 DMA handshaking source select. 更多...
 
enum  hal_dma_hardshaking_channel {
  HAL_DMA_HARDSHAKING_CHANNEL_0 , HAL_DMA_HARDSHAKING_CHANNEL_1 , HAL_DMA_HARDSHAKING_CHANNEL_2 , HAL_DMA_HARDSHAKING_CHANNEL_3 ,
  HAL_DMA_HARDSHAKING_CHANNEL_4 , HAL_DMA_HARDSHAKING_CHANNEL_5 , HAL_DMA_HARDSHAKING_CHANNEL_6 , HAL_DMA_HARDSHAKING_CHANNEL_7 ,
  HAL_DMA_HARDSHAKING_CHANNEL_MAX_NUM , HAL_DMA_HARDSHAKING_CHANNEL_NONE = HAL_DMA_HARDSHAKING_CHANNEL_MAX_NUM
}
 DMA Hardshaking channel. 更多...
 

函数

void dma_port_register_irq (void)
 Register the interrupt of dma.
 
void dma_port_unregister_irq (void)
 Unregister the interrupt of dma.
 
void dma_port_set_handshaking_channel_status (hal_dma_handshaking_source_t channel, bool on)
 Set the channel status of handshaking.
 
void dma_port_add_sleep_veto (void)
 add sleep veto before dma transfer.
 
void dma_port_remove_sleep_veto (void)
 remove sleep veto after dma transfer.
 

变量

uintptr_t g_dma_base_addr