WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
dma.h
浏览该文件的文档.
1
10#ifndef DMA_H
11#define DMA_H
12
13#include <stdint.h>
14#include "errcode.h"
15
16#ifdef __cplusplus
17#if __cplusplus
18extern "C" {
19#endif /* __cplusplus */
20#endif /* __cplusplus */
21
39 uint32_t src;
43 uint32_t dest;
47 uint16_t transfer_num;
51 uint8_t priority;
61 uint8_t width;
63
189
203typedef void (*dma_transfer_cb_t)(uint8_t intr, uint8_t channel, uintptr_t arg);
204
217
225void uapi_dma_deinit(void);
226
239
247void uapi_dma_close(void);
248
262errcode_t uapi_dma_start_transfer(uint8_t channel);
263
277errcode_t uapi_dma_end_transfer(uint8_t channel);
278
290uint32_t uapi_dma_get_block_ts(uint8_t channel);
291
311 dma_transfer_cb_t callback, uintptr_t arg);
312
335 uint8_t *channel, dma_transfer_cb_t callback, uintptr_t arg);
336
337#if defined(CONFIG_DMA_SUPPORT_LLI)
352uint8_t uapi_dma_get_lli_channel(uint8_t burst_length, uint8_t handshaking);
353
372 dma_transfer_cb_t callback);
373
393 dma_transfer_cb_t callback);
394
413errcode_t uapi_dma_enable_lli(uint8_t channel, dma_transfer_cb_t callback, uintptr_t arg);
414#endif /* CONFIG_DMA_SUPPORT_LLI */
415
416#ifdef CONFIG_DMA_SUPPORT_LPM
429errcode_t uapi_dma_resume(uintptr_t arg);
430
443errcode_t uapi_dma_suspend(uintptr_t arg);
444#endif
449#ifdef __cplusplus
450#if __cplusplus
451}
452#endif /* __cplusplus */
453#endif /* __cplusplus */
454
455#endif
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
errcode_t uapi_dma_end_transfer(uint8_t channel)
停止指定通道的DMA传输。
Definition dma.c:89
errcode_t uapi_dma_init(void)
初始化DMA模块。
Definition dma.c:24
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通道传输类型为内存到外设或外设到内存的数据。
Definition dma.c:264
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通道以链表模式传输类型为内存到内存的数据。
Definition dma.c:315
void uapi_dma_close(void)
关闭DMA模块。
Definition dma.c:64
void uapi_dma_deinit(void)
去初始化DMA模块。
Definition dma.c:40
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通道传输类型为内存到内存的数据。
Definition dma.c:173
errcode_t uapi_dma_start_transfer(uint8_t channel)
启动指定通道的DMA传输。
Definition dma.c:74
uint8_t uapi_dma_get_lli_channel(uint8_t burst_length, uint8_t handshaking)
获取DMA链表传输通道。
Definition dma.c:294
errcode_t uapi_dma_enable_lli(uint8_t channel, dma_transfer_cb_t callback, uintptr_t arg)
启用DMA链表传输。
Definition dma.c:360
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通道以链表模式传输类型为内存到外设或外设到内存的数据。
Definition dma.c:337
struct dma_ch_user_peripheral_config dma_ch_user_peripheral_config_t
内存到外设或外设到内存类型的DMA通道用户配置。
struct dma_ch_user_memory_config dma_ch_user_memory_config_t
内存到内存类型的DMA通道用户配置。
errcode_t uapi_dma_open(void)
开启DMA模块。
Definition dma.c:51
uint32_t uapi_dma_get_block_ts(uint8_t channel)
获取DMA传输的数据量。
Definition dma.c:103
void(* dma_transfer_cb_t)(uint8_t intr, uint8_t channel, uintptr_t arg)
DMA通道传输完成/错误所触发的回调函数指针。
Definition dma.h:203
内存到内存类型的DMA通道用户配置。
Definition dma.h:35
uint8_t width
Definition dma.h:61
uint8_t priority
Definition dma.h:51
uint16_t transfer_num
Definition dma.h:47
uint32_t src
Definition dma.h:39
uint32_t dest
Definition dma.h:43
内存到外设或外设到内存类型的DMA通道用户配置。
Definition dma.h:71
uint8_t src_increment
Definition dma.h:167
uint16_t src_handshaking
Definition dma.h:87
uint32_t dest
Definition dma.h:79
uint8_t src_width
Definition dma.h:135
uint8_t trans_type
Definition dma.h:111
uint8_t priority
Definition dma.h:125
uint8_t trans_dir
Definition dma.h:121
uint32_t src
Definition dma.h:75
uint8_t protection
Definition dma.h:187
uint16_t dest_handshaking
Definition dma.h:91
uint8_t burst_length
Definition dma.h:157
uint8_t dest_width
Definition dma.h:145
uint8_t dest_increment
Definition dma.h:177
uint16_t transfer_num
Definition dma.h:83
unsigned int uintptr_t
Definition td_type.h:65