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

结构体

struct  dma_ch_user_memory_config
 内存到内存类型的DMA通道用户配置。 更多...
 
struct  dma_ch_user_peripheral_config
 内存到外设或外设到内存类型的DMA通道用户配置。 更多...
 

类型定义

typedef struct dma_ch_user_memory_config dma_ch_user_memory_config_t
 内存到内存类型的DMA通道用户配置。
 
typedef struct dma_ch_user_peripheral_config dma_ch_user_peripheral_config_t
 内存到外设或外设到内存类型的DMA通道用户配置。
 
typedef void(* dma_transfer_cb_t) (uint8_t intr, uint8_t channel, uintptr_t arg)
 DMA通道传输完成/错误所触发的回调函数指针。
 

函数

errcode_t uapi_dma_init (void)
 初始化DMA模块。
 
void uapi_dma_deinit (void)
 去初始化DMA模块。
 
errcode_t uapi_dma_open (void)
 开启DMA模块。
 
void uapi_dma_close (void)
 关闭DMA模块。
 
errcode_t uapi_dma_start_transfer (uint8_t channel)
 启动指定通道的DMA传输。
 
errcode_t uapi_dma_end_transfer (uint8_t channel)
 停止指定通道的DMA传输。
 
uint32_t uapi_dma_get_block_ts (uint8_t channel)
 获取DMA传输的数据量。
 
errcode_t uapi_dma_transfer_memory_single (const dma_ch_user_memory_config_t *user_cfg, dma_transfer_cb_t callback, uintptr_t arg)
 通过DMA通道传输类型为内存到内存的数据。
 
errcode_t uapi_dma_configure_peripheral_transfer_single (const dma_ch_user_peripheral_config_t *user_cfg, uint8_t *channel, dma_transfer_cb_t callback, uintptr_t arg)
 通过DMA通道传输类型为内存到外设或外设到内存的数据。
 
uint8_t uapi_dma_get_lli_channel (uint8_t burst_length, uint8_t handshaking)
 获取DMA链表传输通道。
 
errcode_t uapi_dma_transfer_memory_lli (uint8_t channel, const dma_ch_user_memory_config_t *user_cfg, dma_transfer_cb_t callback)
 通过DMA通道以链表模式传输类型为内存到内存的数据。
 
errcode_t uapi_dma_configure_peripheral_transfer_lli (uint8_t channel, const dma_ch_user_peripheral_config_t *user_cfg, dma_transfer_cb_t callback)
 通过DMA通道以链表模式传输类型为内存到外设或外设到内存的数据。
 
errcode_t uapi_dma_enable_lli (uint8_t channel, dma_transfer_cb_t callback, uintptr_t arg)
 启用DMA链表传输。
 

详细描述

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

Description: Provides DMA driver api
History:
2022-10-16, Create file.

类型定义说明

◆ dma_ch_user_memory_config_t

内存到内存类型的DMA通道用户配置。

◆ dma_ch_user_peripheral_config_t

内存到外设或外设到内存类型的DMA通道用户配置。

◆ dma_transfer_cb_t

typedef void(* dma_transfer_cb_t) (uint8_t intr, uint8_t channel, uintptr_t arg)

DMA通道传输完成/错误所触发的回调函数指针。

函数说明

◆ uapi_dma_close()

void uapi_dma_close ( void  )

关闭DMA模块。

◆ uapi_dma_configure_peripheral_transfer_lli()

errcode_t uapi_dma_configure_peripheral_transfer_lli ( uint8_t  channel,
const dma_ch_user_peripheral_config_t user_cfg,
dma_transfer_cb_t  callback 
)

通过DMA通道以链表模式传输类型为内存到外设或外设到内存的数据。

◆ uapi_dma_configure_peripheral_transfer_single()

errcode_t uapi_dma_configure_peripheral_transfer_single ( const dma_ch_user_peripheral_config_t user_cfg,
uint8_t *  channel,
dma_transfer_cb_t  callback,
uintptr_t  arg 
)

通过DMA通道传输类型为内存到外设或外设到内存的数据。

◆ uapi_dma_deinit()

void uapi_dma_deinit ( void  )

去初始化DMA模块。

◆ uapi_dma_enable_lli()

errcode_t uapi_dma_enable_lli ( uint8_t  channel,
dma_transfer_cb_t  callback,
uintptr_t  arg 
)

启用DMA链表传输。

◆ uapi_dma_end_transfer()

errcode_t uapi_dma_end_transfer ( uint8_t  channel)

停止指定通道的DMA传输。

◆ uapi_dma_get_block_ts()

uint32_t uapi_dma_get_block_ts ( uint8_t  channel)

获取DMA传输的数据量。

◆ uapi_dma_get_lli_channel()

uint8_t uapi_dma_get_lli_channel ( uint8_t  burst_length,
uint8_t  handshaking 
)

获取DMA链表传输通道。

◆ uapi_dma_init()

errcode_t uapi_dma_init ( void  )

初始化DMA模块。

◆ uapi_dma_open()

errcode_t uapi_dma_open ( void  )

开启DMA模块。

◆ uapi_dma_start_transfer()

errcode_t uapi_dma_start_transfer ( uint8_t  channel)

启动指定通道的DMA传输。

◆ uapi_dma_transfer_memory_lli()

errcode_t uapi_dma_transfer_memory_lli ( uint8_t  channel,
const dma_ch_user_memory_config_t user_cfg,
dma_transfer_cb_t  callback 
)

通过DMA通道以链表模式传输类型为内存到内存的数据。

◆ uapi_dma_transfer_memory_single()

errcode_t uapi_dma_transfer_memory_single ( const dma_ch_user_memory_config_t user_cfg,
dma_transfer_cb_t  callback,
uintptr_t  arg 
)

通过DMA通道传输类型为内存到内存的数据。