CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

结构体

app_dma_params_t

结构体定义如下:

表 35 app_dma_params_t结构体成员
成员 描述 取值

dma_regs_t *p_instance

DMA实例

该参数的取值可以是下列值中的任意一个:

GR5526/GR5x25:

  • DMA0
  • DMA1

GR551x/GR533x:

  • DMA0

dma_channel_t channel_number

DMA通道

该参数的取值可以是下列值中的任意一个:

GR5526/GR5x25:

  • DMA_Channel0
  • DMA_Channel1
  • DMA_Channel2
  • DMA_Channel3
  • DMA_Channel4
  • DMA_Channel5

GR533x:

  • DMA_Channel0
  • DMA_Channel1
  • DMA_Channel2
  • DMA_Channel3
  • DMA_Channel4

GR551x:

  • DMA_Channel0
  • DMA_Channel1
  • DMA_Channel2
  • DMA_Channel3
  • DMA_Channel4
  • DMA_Channel5
  • DMA_Channel6
  • DMA_Channel7

说明:

不采用链式传输方式,每个通道一次最大搬运长度为4095拍。

dma_init_t init

DMA配置

参考dma_init_t结构体

详细信息请参考文件:SDK_Folder\drivers\inc\app_dma.h

各Bluetooth LE芯片中DMA支持的外设如下表,外设在使用DMA传输方式时,需要根据下表选择支持的DMA实例。其中xx_M表示仅可作Master端,xx_S表示仅可作Slave端。

表 36 DMA支持的外设
芯片 DMA0 DMA1
GR551x QSPI0_M /
QSPI1_M /
SPI_M /
SPI_S /
UART0 /
UART1 /
I2C0 /
I2C1 /
I2S_M /
I2S_S /
ADC /

GR5526

QSPI0_M QSPI1_M
QSPI1_M QSPI2_M
OSPI_M OSPI_M
SPI_M SPI_M
SPI_S DSPI_M
UART0 UART0
UART1 UART3
UART2 UART4
UART3 UART5
UART4 I2S_M
I2C2 I2S_S
I2C3 PDM
I2C4 I2C0
I2C5 I2C1
ADC /
GR5x25 QSPI0_M QSPI1_M
QSPI1_M QSPI2_M
SPI_M SPI_M
SPI_S DSPI_M
UART0 UART0
UART1 UART3
UART2 I2S_M
UART3 I2S_S
I2C2 PDM
I2C3 I2C0
ADC I2C1
GR533x SPI_M /
SPI_S /
UART0 /
UART1 /
I2C0 /
I2C1 /
ADC /
PWM0 /

dma_init_t

结构体定义如下:

表 37 dma_init_t结构体成员
成员 描述 取值

uint32_t src_request

源端硬件请求信号

0x0 ~ 0xF(默认0x0)

uint32_t dst_request

目的端硬件请求信号

0x0 ~ 0xF(默认0x0)

uint32_t direction

数据传输方向

该参数的取值可以是下列值中的任意一个:

  • DMA_MEMORY_TO_MEMORY(内存到内存)
  • DMA_MEMORY_TO_PERIPH(内存到外设)
  • DMA_PERIPH_TO_MEMORY(外设到内存)
  • DMA_PERIPH_TO_PERIPH(外设到外设)

uint32_t src_increment

源地址更新方式

该参数的取值可以是下列值中的任意一个:

  • DMA_SRC_INCREMENT(源地址递增)
  • DMA_SRC_DECREMENT(源地址递减)
  • DMA_SRC_NO_CHANGE(源地址不变)

uint32_t dst_increment

目的地址更新方式

该参数的取值可以是下列值中的任意一个:

  • DMA_DST_INCREMENT(目的地址递增)
  • DMA_DST_DECREMENT(目的地址递减)
  • DMA_DST_NO_CHANGE(目的地址不变)

uint32_t src_data_alignment

源数据传输位宽

该参数的取值可以是下列值中的任意一个:

  • DMA_SDATAALIGN_BYTE(8 bits)
  • DMA_SDATAALIGN_HALFWORD(16 bits)
  • DMA_SDATAALIGN_WORD(32 bits)

uint32_t dst_data_alignment

目的数据传输位宽

该参数的取值可以是下列值中的任意一个:

  • DMA_DDATAALIGN_BYTE(8 bits)
  • DMA_DDATAALIGN_HALFWORD(16 bits)
  • DMA_DDATAALIGN_WORD(32 bits)

uint32_t mode

传输模式

该参数的取值可以是下列值中的任意一个:

  • DMA_NORMAL(普通模式)
  • DMA_CIRCULAR(循环模式)

uint32_t priority

优先级

该参数的取值可以是下列值中的任意一个:

  • DMA_PRIORITY_LOW(低优先级)
  • DMA_PRIORITY_MEDIUM(中优先级)
  • DMA_PRIORITY_HIGH(高优先级)
  • DMA_PRIORITY_VERY_HIGH(最高优先级)

详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_dma.h

dma_sg_llp_config_t

结构体定义如下:

表 38 dma_sg_llp_config_t结构体成员
成员 描述 取值

dma_scatter_config_t scatter_config

分散传输配置

参考dma_scatter_config_t结构体

dma_gather_config_t gather_config

聚合传输配置

参考dma_gather_config_t结构体

dma_llp_config_t llp_config

传输链表配置

参考dma_llp_config_t结构体

详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_dma.h

dma_scatter_config_t

结构体定义如下:

表 39 dma_scatter_config_t结构体成员
成员 描述 取值

uint32_t dst_scatter_en

目的端分散使能

该参数的取值可以是下列值中的任意一个:

  • DMA_DST_SCATTER_ENABLE
  • DMA_DST_SCATTER_DISABLE

uint32_t dst_dsi

目的端分散间隔

0x0 ~ 0xFFFFF

uint32_t dst_dsc

目的端分散计数

0x0 ~ 0xFFF

详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_dma.h

dma_gather_config_t

结构体定义如下:

表 40 dma_gather_config_t结构体成员
成员 描述 取值

uint32_t src_gather_en

源端聚合使能

该参数的取值可以是下列值中的任意一个:

  • DMA_SRC_GATHER_ENABLE
  • DMA_SRC_GATHER_DISABLE

uint32_t src_sgi

源端聚合间隔

0x0 ~ 0xFFFFF

uint32_t src_sgc

源端聚合计数

0x0 ~ 0xFFF

详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_dma.h

dma_llp_config_t

结构体定义如下:

表 41 dma_llp_config_t结构体成员
成员 描述 取值

uint32_t llp_src_en

源端传输链表使能

该参数的取值可以是下列值中的任意一个:

  • DMA_LLP_SRC_ENABLE
  • DMA_LLP_SRC_DISABLE

uint32_t llp_src_writeback

源端回写状态值

0x0 ~ 0xFFFFFFFF

uint32_t llp_dst_en

目的端传输链表使能

该参数的取值可以是下列值中的任意一个:

  • DMA_LLP_DST_ENABLE
  • DMA_LLP_DST_DISABLE

uint32_t llp_dst_writeback

目的端回写状态值

0x0 ~ 0xFFFFFFFF

struct dma_block_config *head_lli

传输链表头

参考dma_block_config结构体

详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_dma.h

dma_block_config

结构体定义如下:

表 42 dma_block_config结构体成员
成员 描述 取值

uint32_t src_address

源端地址

0x0 ~ 0xFFFFFFFF

uint32_t dst_address

目的端地址

0x0 ~ 0xFFFFFFFF

struct dma_block_config *p_lli

传输链表下一个节点地址

0x0 ~ 0xFFFFFFFF

uint32_t CTL_L

控制寄存器低32位配置

0x0 ~ 0xFFFFFFFF

uint32_t CTL_H

控制寄存器高32位配置

0x0 ~ 0xFFFFFFFF

uint32_t src_status

源端传输状态(回写)

0x0 ~ 0xFFFFFFFF

uint32_t dst_status

目的端传输状态(回写)

0x0 ~ 0xFFFFFFFF

详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_dma.h

扫描关注

打开微信,使用“扫一扫”即可关注。