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

结构体

app_dma_params_t

结构体定义如下:

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

dma_regs_t *p_instance

DMA实例

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

GR5526:

  • DMA0
  • DMA1

说明:

GR551x无该参数

dma_channel_t channel_number

DMA通道

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

GR5526:

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

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

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

表 36 DMA0/DMA1支持的外设
芯片 DMA0 DMA1

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

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

目的端回写

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

扫描关注

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