BLE5.2 1.0
开发文档说明
| 类型定义 | 枚举 | 函数 | 变量
xc_drv_dma.h 文件参考

The header of xc_drv_dma.c 更多...

浏览源代码.

struct  dmac_channel_config
 
struct  dmac_param_s
 
struct  dma_instance_s
 

类型定义

typedef void(* DMA_Callback) (uint8_t eCode)
 
typedef enum dmac_channel_number eDMA_Ch_Num
 
typedef enum dmac_src_dst_select eDMA_Src_Dst_Select
 
typedef enum dmac_ch_state eDMA_CH_State
 
typedef enum dmac_transfer_type eDMA_Trans_Type
 
typedef enum dw_dmac_irq eDMA_Irq
 
typedef enum dmac_burst_trans_length eDMA_Burst_Trans_Len
 
typedef enum dmac_address_increment eDMA_Addr_Increment
 
typedef enum dmac_transfer_width eDMA_Trans_Width
 
typedef enum dw_dmac_sw_hw_hs_select eDMA_SW_HW_HS_Select
 
typedef enum dmac_hs_interface eDMA_HS_Interface
 
typedef enum dmac_transfer_flow eDMA_Trans_Flow
 
typedef enum dmac_fifo_mode eDMA_Fifo_Mode
 
typedef enum dw_dmac_channel_priority eDMA_CH_Priority
 
typedef struct dmac_channel_config DMA_Chx_Cfg_t
 
typedef struct dmac_param_s DMA_Params_t
 
typedef struct dma_instance_s DMA_Instance_t
 

枚举

enum  dmac_channel_number { DMA_NO_CHANNEL = 0x0000 , DMA_CHANNEL0 = 0x0101 , DMA_CHANNEL1 = 0x0202 , DMA_ALL_CHANNELS = 0x0303 }
 
enum  dmac_src_dst_select { DMA_SRC = 0x1 , DMA_DST = 0x2 , DMA_SRC_DST = 0x3 }
 
enum  dmac_ch_state { DMA_IDLE = 0x0 , DMA_SINGLE_REGION = 0x1 , DMA_BURST_REGION = 0x2 }
 
enum  dmac_transfer_type {
  DMA_TRANSFER_ROW1 = 0x1 , DMA_TRANSFER_ROW2 = 0x2 , DMA_TRANSFER_ROW3 = 0x3 , DMA_TRANSFER_ROW4 = 0x4 ,
  DMA_TRANSFER_ROW5 = 0x5 , DMA_TRANSFER_ROW6 = 0x6 , DMA_TRANSFER_ROW7 = 0x7 , DMA_TRANSFER_ROW8 = 0x8 ,
  DMA_TRANSFER_ROW9 = 0x9 , DMA_TRANSFER_ROW10 = 0xa
}
 
enum  dw_dmac_irq {
  DMA_IRQ_NONE = 0x00 , DMA_IRQ_TRF = 0x01 , DMA_IRQ_BLOCK = 0x02 , DMA_IRQ_SRCTRAN = 0x04 ,
  DMA_IRQ_DSTTRAN = 0x08 , DMA_IRQ_ERR = 0x10 , DMA_IRQ_ALL = 0x1f
}
 
enum  dmac_burst_trans_length {
  DMA_MSIZE_1 = 0x0 , DMA_MSIZE_4 = 0x1 , DMA_MSIZE_8 = 0x2 , DMA_MSIZE_16 = 0x3 ,
  DMA_MSIZE_32 = 0x4 , DMA_MSIZE_64 = 0x5 , DMA_MSIZE_128 = 0x6 , DMA_MSIZE_256 = 0x7
}
 
enum  dmac_address_increment { DMA_ADDR_INCREMENT = 0x0 , DMA_ADDR_DECREMENT = 0x1 , DMA_ADDR_NOCHANGE = 0x2 }
 
enum  dmac_transfer_width {
  DMA_TRANS_WIDTH_8 = 0x0 , DMA_TRANS_WIDTH_16 = 0x1 , DMA_TRANS_WIDTH_32 = 0x2 , DMA_TRANS_WIDTH_64 = 0x3 ,
  DMA_TRANS_WIDTH_128 = 0x4 , DMA_TRANS_WIDTH_256 = 0x5
}
 
enum  dw_dmac_sw_hw_hs_select { DMA_HS_HARDWARE = 0x0 , DMA_HS_SOFTWARE = 0x1 }
 
enum  dmac_hs_interface {
  UART0_DMA_TX_HS_IF0 = 0x0 , UART1_DMA_TX_HS_IF1 = 0x1 , SSI0_DMA_TX_HS_IF2 = 0x2 , SSI1_DMA_TX_HS_IF3 = 0x3 ,
  SSI2_DMA_TX_HS_IF4 = 0x4 , I2S_DMA_TX_HS_IF5 = 0x5 , DMA_HS_IF6 = 0x6 , DMA_HS_IF7 = 0x7 ,
  UART0_DMA_RX_HS_IF8 = 0x8 , UART1_DMA_RX_HS_IF9 = 0x9 , SSI0_DMA_RX_HS_IF10 = 0xa , SSI1_DMA_RX_HS_IF11 = 0xb ,
  GPADC_DMA_RX_HS_IF12 = 0xc , CDC_DMA_RX_HS_IF13 = 0xd , SSI2_DMA_RX_HS_IF14 = 0xe , I2S_DMA_RX_HS_IF15 = 0xf
}
 
enum  dmac_transfer_flow {
  DMA_MEM2MEM_DMA = 0x0 , DMA_MEM2PRF_DMA = 0x1 , DMA_PRF2MEM_DMA = 0x2 , DMA_PRF2PRF_DMA = 0x3 ,
  DMA_PRF2MEM_PRF = 0x4 , DMA_PRF2PRF_SRCPRF = 0x5 , DMA_MEM2PRF_PRF = 0x6 , DMA_PRF2PRF_DSTPRF = 0x7
}
 
enum  dmac_fifo_mode { DMA_FIFO_MODE_SINGLE = 0x0 , DMA_FIFO_MODE_HALF = 0x1 }
 
enum  dw_dmac_channel_priority {
  DMA_PRIORITY_0 = 0x0 , DMA_PRIORITY_1 = 0x1 , DMA_PRIORITY_2 = 0x2 , DMA_PRIORITY_3 = 0x3 ,
  DMA_PRIORITY_4 = 0x4 , DMA_PRIORITY_5 = 0x5 , DMA_PRIORITY_6 = 0x6 , DMA_PRIORITY_7 = 0x7
}
 

函数

uint8_t xc_dma_init (void)
 xc_dma_init
 
void xc_dma_enable (void)
 xc_dma_enable
 
uint8_t xc_dma_disable (void)
 xc_dma_disable
 
bool xc_dma_is_enable (void)
 xc_dma_is_enable
 
uint8_t xc_dma_enable_channel (eDMA_Ch_Num ch_num)
 xc_dma_enable_channel
 
uint8_t xc_dma_disable_channel (eDMA_Ch_Num ch_num)
 xc_dma_disable_channel
 
bool xc_dma_is_channel_enabled (eDMA_Ch_Num ch_num)
 xc_dma_is_channel_enabled
 
uint8_t xc_dma_enable_channel_irq (eDMA_Ch_Num ch_num)
 xc_dma_enable_channel_irq
 
uint8_t xc_dma_set_channel_config (eDMA_Ch_Num ch_num, DMA_Chx_Cfg_t *ch)
 xc_dma_set_channel_config
 
bool xc_dma_set_listener (eDMA_Ch_Num ch_num, DMA_Callback userFunction)
 xc_dma_set_listener
 
uint8_t xc_dma_start_transfer (eDMA_Ch_Num ch_num, DMA_Callback cb_func)
 xc_dma_start_transfer
 
void xc_dma_set_test_mode (uint8_t mode)
 xc_dma_set_test_mode
 
void xc_dma_set_channel_priority_order (DMA_Instance_t *inst)
 xc_dma_set_channel_priority_order
 
void xc_dma_reset_instance (DMA_Instance_t *inst)
 xc_dma_reset_instance
 
uint8_t xc_dma_check_channel_range (eDMA_Ch_Num ch_num)
 xc_dma_check_channel_range
 
uint8_t xc_dma_get_channel_index (eDMA_Ch_Num ch_num)
 xc_dma_get_channel_index
 
bool dma_irq_handler (DMA_Instance_t *inst)
 dma_irq_handler
 

变量

DMA_Instance_t DMA_Instance
 

详细描述

The header of xc_drv_dma.c

_ __ _ ________ _
| |/ /(_)___ / ____/ /_ (_)___
| // / __ \/ / / __ \/ / __ \
/ |/ / / / / /___/ / / / / /_/ /
/_/|_/_/_/ /_/\____/_/ /_/_/ .___/
/_/
(C) 2022-2025 XinChip
作者
( XinChip ) Alex-J
( XinChip )

在文件 xc_drv_dma.h 中定义.

类型定义说明

◆ DMA_Callback

typedef void(* DMA_Callback) (uint8_t eCode)

在文件 xc_drv_dma.h65 行定义.

◆ DMA_Chx_Cfg_t

◆ DMA_Instance_t

◆ DMA_Params_t

typedef struct dmac_param_s DMA_Params_t

◆ eDMA_Addr_Increment

◆ eDMA_Burst_Trans_Len

◆ eDMA_Ch_Num

◆ eDMA_CH_Priority

◆ eDMA_CH_State

◆ eDMA_Fifo_Mode

◆ eDMA_HS_Interface

◆ eDMA_Irq

typedef enum dw_dmac_irq eDMA_Irq

◆ eDMA_Src_Dst_Select

◆ eDMA_SW_HW_HS_Select

◆ eDMA_Trans_Flow

◆ eDMA_Trans_Type

◆ eDMA_Trans_Width

枚举类型说明

◆ dmac_address_increment

枚举值
DMA_ADDR_INCREMENT 
DMA_ADDR_DECREMENT 
DMA_ADDR_NOCHANGE 

在文件 xc_drv_dma.h140 行定义.

◆ dmac_burst_trans_length

枚举值
DMA_MSIZE_1 
DMA_MSIZE_4 
DMA_MSIZE_8 
DMA_MSIZE_16 
DMA_MSIZE_32 
DMA_MSIZE_64 
DMA_MSIZE_128 
DMA_MSIZE_256 

在文件 xc_drv_dma.h128 行定义.

◆ dmac_ch_state

枚举值
DMA_IDLE 
DMA_SINGLE_REGION 
DMA_BURST_REGION 

在文件 xc_drv_dma.h86 行定义.

◆ dmac_channel_number

枚举值
DMA_NO_CHANNEL 
DMA_CHANNEL0 
DMA_CHANNEL1 
DMA_ALL_CHANNELS 

在文件 xc_drv_dma.h67 行定义.

◆ dmac_fifo_mode

枚举值
DMA_FIFO_MODE_SINGLE 
DMA_FIFO_MODE_HALF 

在文件 xc_drv_dma.h195 行定义.

◆ dmac_hs_interface

枚举值
UART0_DMA_TX_HS_IF0 
UART1_DMA_TX_HS_IF1 
SSI0_DMA_TX_HS_IF2 
SSI1_DMA_TX_HS_IF3 
SSI2_DMA_TX_HS_IF4 
I2S_DMA_TX_HS_IF5 
DMA_HS_IF6 
DMA_HS_IF7 
UART0_DMA_RX_HS_IF8 
UART1_DMA_RX_HS_IF9 
SSI0_DMA_RX_HS_IF10 
SSI1_DMA_RX_HS_IF11 
GPADC_DMA_RX_HS_IF12 
CDC_DMA_RX_HS_IF13 
SSI2_DMA_RX_HS_IF14 
I2S_DMA_RX_HS_IF15 

在文件 xc_drv_dma.h163 行定义.

◆ dmac_src_dst_select

枚举值
DMA_SRC 
DMA_DST 
DMA_SRC_DST 

在文件 xc_drv_dma.h79 行定义.

◆ dmac_transfer_flow

枚举值
DMA_MEM2MEM_DMA 
DMA_MEM2PRF_DMA 
DMA_PRF2MEM_DMA 
DMA_PRF2PRF_DMA 
DMA_PRF2MEM_PRF 
DMA_PRF2PRF_SRCPRF 
DMA_MEM2PRF_PRF 
DMA_PRF2PRF_DSTPRF 

在文件 xc_drv_dma.h183 行定义.

◆ dmac_transfer_type

枚举值
DMA_TRANSFER_ROW1 
DMA_TRANSFER_ROW2 
DMA_TRANSFER_ROW3 
DMA_TRANSFER_ROW4 
DMA_TRANSFER_ROW5 
DMA_TRANSFER_ROW6 
DMA_TRANSFER_ROW7 
DMA_TRANSFER_ROW8 
DMA_TRANSFER_ROW9 
DMA_TRANSFER_ROW10 

在文件 xc_drv_dma.h93 行定义.

◆ dmac_transfer_width

枚举值
DMA_TRANS_WIDTH_8 
DMA_TRANS_WIDTH_16 
DMA_TRANS_WIDTH_32 
DMA_TRANS_WIDTH_64 
DMA_TRANS_WIDTH_128 
DMA_TRANS_WIDTH_256 

在文件 xc_drv_dma.h147 行定义.

◆ dw_dmac_channel_priority

枚举值
DMA_PRIORITY_0 
DMA_PRIORITY_1 
DMA_PRIORITY_2 
DMA_PRIORITY_3 
DMA_PRIORITY_4 
DMA_PRIORITY_5 
DMA_PRIORITY_6 
DMA_PRIORITY_7 

在文件 xc_drv_dma.h201 行定义.

◆ dw_dmac_irq

枚举值
DMA_IRQ_NONE 
DMA_IRQ_TRF 
DMA_IRQ_BLOCK 
DMA_IRQ_SRCTRAN 
DMA_IRQ_DSTTRAN 
DMA_IRQ_ERR 
DMA_IRQ_ALL 

在文件 xc_drv_dma.h117 行定义.

◆ dw_dmac_sw_hw_hs_select

枚举值
DMA_HS_HARDWARE 
DMA_HS_SOFTWARE 

在文件 xc_drv_dma.h157 行定义.

函数说明

◆ dma_irq_handler()

bool dma_irq_handler ( DMA_Instance_t inst)

dma_irq_handler

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c759 行定义.

◆ xc_dma_check_channel_range()

uint8_t xc_dma_check_channel_range ( eDMA_Ch_Num  ch_num)

xc_dma_check_channel_range

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c146 行定义.

◆ xc_dma_disable()

uint8_t xc_dma_disable ( void  )

xc_dma_disable

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c235 行定义.

◆ xc_dma_disable_channel()

uint8_t xc_dma_disable_channel ( eDMA_Ch_Num  ch_num)

xc_dma_disable_channel

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c312 行定义.

◆ xc_dma_enable()

void xc_dma_enable ( void  )

xc_dma_enable

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c222 行定义.

◆ xc_dma_enable_channel()

uint8_t xc_dma_enable_channel ( eDMA_Ch_Num  ch_num)

xc_dma_enable_channel

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c285 行定义.

◆ xc_dma_enable_channel_irq()

uint8_t xc_dma_enable_channel_irq ( eDMA_Ch_Num  ch_num)

xc_dma_enable_channel_irq

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c378 行定义.

◆ xc_dma_get_channel_index()

uint8_t xc_dma_get_channel_index ( eDMA_Ch_Num  ch_num)

xc_dma_get_channel_index

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c194 行定义.

◆ xc_dma_init()

uint8_t xc_dma_init ( void  )

xc_dma_init

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c588 行定义.

◆ xc_dma_is_channel_enabled()

bool xc_dma_is_channel_enabled ( eDMA_Ch_Num  ch_num)

xc_dma_is_channel_enabled

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c347 行定义.

◆ xc_dma_is_enable()

bool xc_dma_is_enable ( void  )

xc_dma_is_enable

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c265 行定义.

◆ xc_dma_reset_instance()

void xc_dma_reset_instance ( DMA_Instance_t inst)

xc_dma_reset_instance

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c109 行定义.

◆ xc_dma_set_channel_config()

uint8_t xc_dma_set_channel_config ( eDMA_Ch_Num  ch_num,
DMA_Chx_Cfg_t ch 
)

xc_dma_set_channel_config

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c630 行定义.

◆ xc_dma_set_channel_priority_order()

void xc_dma_set_channel_priority_order ( DMA_Instance_t inst)

xc_dma_set_channel_priority_order

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c64 行定义.

◆ xc_dma_set_listener()

bool xc_dma_set_listener ( eDMA_Ch_Num  ch_num,
DMA_Callback  userFunction 
)

xc_dma_set_listener

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c673 行定义.

◆ xc_dma_set_test_mode()

void xc_dma_set_test_mode ( uint8_t  mode)

xc_dma_set_test_mode

DMAC test mode set

参数
uint8_t- mode
返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c48 行定义.

◆ xc_dma_start_transfer()

uint8_t xc_dma_start_transfer ( eDMA_Ch_Num  ch_num,
DMA_Callback  cb_func 
)

xc_dma_start_transfer

参数

param

返回
void
返回值
void
void
注解

在文件 xc_drv_dma.c705 行定义.

变量说明

◆ DMA_Instance

DMA_Instance_t DMA_Instance
extern

在文件 xc_drv_dma.c33 行定义.