WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
DMA V151

宏定义

#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
 

详细描述

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.

Description: Provides dma port
History:
2022-10-16, Create file.

宏定义说明

◆ B_DMA_CHANNEL_MAX_NUM

#define B_DMA_CHANNEL_MAX_NUM   8

Max number of M_DMA available.

◆ DMA_CHANNEL_MAX_NUM

#define DMA_CHANNEL_MAX_NUM   (S_DMA_CHANNEL_MAX_NUM + B_DMA_CHANNEL_MAX_NUM)

◆ S_DMA_CHANNEL_MAX_NUM

#define S_DMA_CHANNEL_MAX_NUM   4

Max number of SM_DMA available.

◆ S_MGPIO33

#define S_MGPIO33   33

◆ S_MGPIO34

#define S_MGPIO34   34

类型定义说明

◆ hal_dma_hardshaking_channel_t

DMA Hardshaking channel.

枚举类型说明

◆ dma_channel_t

DMA channel ID.

枚举值
DMA_CHANNEL_0 

DMA channel 0.

DMA_CHANNEL_1 

DMA channel 1.

DMA_CHANNEL_2 

DMA channel 2.

DMA_CHANNEL_3 

DMA channel 3.

DMA_CHANNEL_4 

DMA channel 4.

DMA_CHANNEL_5 

DMA channel 5.

DMA_CHANNEL_6 

DMA channel 6.

DMA_CHANNEL_7 

DMA channel 7.

DMA_CHANNEL_NONE 

◆ hal_dma_handshaking_source_t

DMA handshaking source select.

枚举值
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_DMA_HANDSHAKING_I2C0_TX 
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 

◆ hal_dma_hardshaking_channel

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 

函数说明

◆ dma_port_add_sleep_veto()

void dma_port_add_sleep_veto ( void  )

add sleep veto before dma transfer.

◆ dma_port_register_irq()

void dma_port_register_irq ( void  )

Register the interrupt of dma.

◆ dma_port_remove_sleep_veto()

void dma_port_remove_sleep_veto ( void  )

remove sleep veto after dma transfer.

◆ dma_port_set_handshaking_channel_status()

void dma_port_set_handshaking_channel_status ( hal_dma_handshaking_source_t  channel,
bool  on 
)

Set the channel status of handshaking.

参数
[in]channelThe handshaking select. For details, see hal_dma_handshaking_source_t.
[in]onSet or clear.

◆ dma_port_unregister_irq()

void dma_port_unregister_irq ( void  )

Unregister the interrupt of dma.

变量说明

◆ g_dma_base_addr

uintptr_t g_dma_base_addr
extern

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.

Description: Provides dma port
History:
2022-10-16, Create file.