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

DMA接口函数

表 596 DMA接口函数
API 芯片
GR551x GR5526

app_qspi_dma_init

Y

Y

app_qspi_dma_deinit

Y

Y

app_qspi_dma_command_receive_async

Y

Y

app_qspi_dma_command_transmit_async

Y

Y

app_qspi_dma_command_async

Y

Y

app_qspi_dma_transmit_async

Y

N

app_qspi_dma_receive_async

Y

N

app_qspi_dma_transmit_in_qpi_async

Y

N

app_qspi_dma_transmit_async_ex

Y

Y

app_qspi_dma_receive_async_ex

Y

Y

app_qspi_dma_mmap_read_block

N

Y

app_qspi_async_draw_screen

N

Y

app_qspi_async_veri_draw_screen

N

Y

app_qspi_mmap_blit_image

N

Y

app_qspi_async_llp_draw_block N Y

app_qspi_dma_init

表 597 app_qspi_dma_init接口
函数原型

uint16_t app_qspi_dma_init(app_qspi_params_t *p_params)

功能说明

初始化QSPI DMA模式

输入参数

p_params:初始化参数的结构体指针

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_qspi_dma_deinit

表 598 app_qspi_dma_deinit接口
函数原型

uint16_t app_qspi_dma_deinit(app_qspi_id_t id)

功能说明

反初始化QSPI DMA模式

输入参数

id:QSPI模块ID(详见app_qspi_params_t中描述)

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_qspi_dma_command_receive_async

表 599 app_qspi_dma_command_receive_async接口
函数原型

uint16_t app_qspi_dma_command_receive_async(app_qspi_id_t id, app_qspi_command_t *p_cmd, uint8_t *p_data)

功能说明

QSPI以DMA方式(异步)读取数据,带控制命令封装

输入参数
  • id:QSPI模块ID

  • p_cmd:封装的控制命令,参考app_qspi_command_t结构体描述

  • p_data:读取数据存放的buffer

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_qspi_dma_command_transmit_async

表 600 app_qspi_dma_command_transmit_async接口
函数原型

uint16_t app_qspi_dma_command_transmit_async(app_qspi_id_t id, app_qspi_command_t *p_cmd, uint8_t *p_data)

功能说明

QSPI以DMA方式(异步)发送数据,带控制命令封装

输入参数
  • id:QSPI模块ID

  • p_cmd:封装的控制命令,参考app_qspi_command_t结构体描述

  • p_data:待发送数据存放的buffer

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_qspi_dma_command_async

表 601 app_qspi_dma_command_async接口
函数原型

uint16_t app_qspi_dma_command_async(app_qspi_id_t id, app_qspi_command_t *p_cmd)

功能说明

QSPI以DMA方式(异步)发送命令

输入参数
  • id:QSPI模块ID

  • p_cmd:待发送命令的buffer

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_qspi_dma_transmit_async

表 602 app_qspi_dma_transmit_async接口
函数原型

uint16_t app_qspi_dma_transmit_async(app_qspi_id_t id, uint8_t *p_data, uint32_t length)

功能说明

QSPI以DMA方式(异步)发送数据

输入参数
  • id:QSPI模块ID

  • p_data:需要发送数据的buffer

  • length:待发送数据的长度,以Byte为单位

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 仅适用于GR551x

app_qspi_dma_receive_async

表 603 app_qspi_dma_receive_async接口
函数原型

uint16_t app_qspi_dma_receive_async(app_qspi_id_t id, uint8_t *p_data, uint32_t length)

功能说明

QSPI以DMA方式(异步)接收数据

输入参数
  • id:QSPI模块ID

  • p_data:接收数据的buffer

  • length:接收数据的长度,以Byte为单位

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 仅适用于GR551x

app_qspi_dma_transmit_in_qpi_async

表 604 app_qspi_dma_transmit_in_qpi_async接口
函数原型

uint16_t app_qspi_dma_transmit_in_qpi_async(app_qspi_id_t id, uint32_t data_width, uint8_t *p_data, uint32_t length)

功能说明

QSPI在QPI模式下以DMA方式(异步)发送数据

输入参数
  • id:QSPI模块ID

  • data_width:数据宽度(支持QSPI_DATASIZE_08_BITS、QSPI_DATASIZE_16_BITS、QSPI_DATASIZE_32_BITS)

  • p_data:需要发送数据的buffer

  • length:待发送数据的长度,以Byte为单位

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

仅适用于GR551x

app_qspi_dma_receive_async_ex

表 605 app_qspi_dma_receive_async_ex接口
函数原型

uint16_t app_qspi_dma_receive_async_ex(app_qspi_id_t id, uint32_t qspi_mode, uint32_t data_width, uint8_t *p_data, uint32_t length)

功能说明

QSPI以DMA方式(异步)接收数据,可设置时序模式和数据位宽

输入参数
  • id:QSPI模块ID(详见app_qspi_params_t中描述)

  • qspi_mode:数据传输采用的时序模式,可选QSPI_DATA_MODE_SPI(标准SPI模式)、QSPI_DATA_MO DE_DUALSPI(Dual SPI模式)、QSPI_DATA_MODE_QUADSPI(Quad SPI模式)

  • data_width:传输数据位宽(支持QSPI_DATASIZE_08_BITS、QSPI_DATASIZE_16_BITS、QSPI_DATASIZE_32_BITS)

  • p_data:需要接收数据的buffer

  • length:待接收数据的长度,以Byte为单位

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 当GR551x使用该函数时,qspi_mode和data_width无意义

app_qspi_dma_transmit_async_ex

表 606 app_qspi_dma_transmit_async_ex接口
函数原型

uint16_t app_qspi_dma_transmit_async_ex(app_qspi_id_t id, uint32_t qspi_mode, uint32_t data_width, uint8_t *p_data, uint32_t length)

功能说明

QSPI以DMA方式(异步)发送数据,可设置时序模式和数据位宽

输入参数
  • id:QSPI模块ID(详见app_qspi_params_t中描述)

  • qspi_mode:数据传输采用的时序模式,可选QSPI_DATA_MODE_SPI(标准SPI模式)、QSPI_DATA_MO DE_DUALSPI(Dual SPI模式)、QSPI_DATA_MODE_QUADSPI(Quad SPI模式)

  • data_width:传输数据位宽(支持QSPI_DATASIZE_08_BITS、QSPI_DATASIZE_16_BITS、QSPI_DATASIZE_32_BITS)

  • p_data:需要发送数据的buffer

  • length:待发送数据的长度,以Byte为单位

返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 当GR551x使用该函数时,qspi_mode和data_width无意义

app_qspi_dma_mmap_read_block

表 607 app_qspi_dma_mmap_read_block接口
函数原型

bool app_qspi_dma_mmap_read_block(app_qspi_id_t id, uint32_t address, uint8_t * buffer, uint32_t length)

功能说明

内存映射模式下DMA方式(异步)读取一个数据块,数据按Flash/PSRAM设备的顺序排序

输入参数
  • id:QSPI模块ID(详见app_qspi_params_t中描述)

  • address:待访问设备的偏移地址(Flash/PSRAM)

  • length:读取数据长度,以Byte为单位

返回值
  • true:成功

  • false:失败

备注

仅适用于GR5526;驱屏接口单独抽离在SDK_Folder\drivers\inc\app_graphics_qspi.h

app_qspi_async_draw_screen

表 608 app_qspi_async_draw_screen接口
函数原型

bool app_qspi_async_draw_screen(app_qspi_id_t screen_id, app_qspi_id_t storage_id, const app_qspi_screen_command_t * const p_screen_cmd, const app_qspi_screen_info_t * const p_screen_info, app_qspi_screen_scroll_t * p_scroll_config, bool is_first_call)

功能说明

异步刷屏专用接口

输入参数
  • screen_id:屏幕ID

  • storage_id:指定素材所在的QSPI存储器ID

  • p_screen_cmd:指向刷屏控制命令的指针

  • p_screen_info:屏幕信息

  • p_scroll_config:屏幕滚动控制信息

  • is_first_call:用户前台调用请设置为true

返回值
  • true:成功

  • false:失败

备注
  • 仅适用于GR5526
  • 如果图片素材不是在QSPI设备上,storage_id需设定为APP_STORAGE_RAM_ID
  • storage_id和screen_id不能相同
  • 入参p_screen_info的scrn_pixel_depth只能设为2,即该接口只能处理16 bits的显示输出
  • 驱屏接口单独抽离在SDK_Folder\drivers\inc\app_graphics_qspi.h

app_qspi_async_veri_draw_screen

表 609 app_qspi_async_veri_draw_screen接口
函数原型

bool app_qspi_async_veri_draw_screen(app_qspi_id_t screen_id, app_qspi_id_t storage_id, const app_qspi_screen_command_t * const p_screen_cmd, const app_qspi_screen_info_t * const p_screen_info, app_qspi_screen_veri_link_scroll_t * p_link_scroll, bool is_first_call)

功能说明

异步链式刷屏专用接口(垂直链)

输入参数
  • screen_id:屏幕ID

  • storage_id:指定素材所在的QSPI存储器ID

  • p_screen_cmd:指向刷屏控制命令的指针

  • p_screen_info:屏幕信息

  • p_link_scroll:链式滚动参数配置

  • is_first_call:用户前台调用请设置为true

返回值
  • true:成功

  • false:失败

备注
  • 仅适用于GR5526
  • 如果图片素材不是在QSPI设备上,storage_id需设定为APP_STORAGE_RAM_ID
  • storage_id和screen_id不能相同
  • 入参p_screen_info的scrn_pixel_depth只能设为2,即该接口只能处理16 bits的显示输出
  • 驱屏接口单独抽离在SDK_Folder\drivers\inc\app_graphics_qspi.h

app_qspi_mmap_blit_image

表 610 app_qspi_mmap_blit_image接口
函数原型

bool app_qspi_mmap_blit_image(app_qspi_id_t storage_id, blit_image_config_t * p_blit_config, blit_xfer_type_e xfer_type)

功能说明

使用DMA进行二维数据搬运接口

输入参数
  • storage_id:指定素材所在的QSPI存储器ID

  • p_blit_config:Blit传输配置

  • xfer_type:传输类型,支持SG和LLP

返回值
  • true:成功
  • false:失败
备注
  • 仅适用于GR5526
  • 驱屏接口单独抽离在SDK_Folder\drivers\inc\app_graphics_qspi.h
  • 使用该接口,需要把app_qspi_user_config.h中的宏定义QSPI_BLIT_RECT_IMAGE_SUPPORT设为大于0的值(默认为0)

app_qspi_async_llp_draw_block

表 611 app_qspi_async_llp_draw_block接口
函数原型

bool app_qspi_async_llp_draw_block(app_qspi_id_t screen_id,

app_qspi_id_t storage_id,

const app_qspi_screen_command_t *const p_screen_cmd,

const app_qspi_screen_info_t *const p_screen_info,

app_qspi_screen_block_t *p_block_info,

bool is_first_call)

功能说明 使用DMA-LLP(DMA链式)方式刷新屏幕的块区域,链表的节点为待刷新图像数据块的每行数据
输入参数
  • screen_id:屏幕ID
  • storage_id:指定素材所在的QSPI存储器ID
  • p_screen_cmd:指向刷屏控制命令的指针
  • p_screen_info:屏幕信息
  • p_block_info:刷屏的图像区域块
  • is_first_call:是否第一次调用,第一次调用设置为true(设置为true表明一帧图像的开始,需要发送命令字节)
返回值
  • true:成功
  • false:失败
备注
  • 仅适用于GR5526
  • 当传输结束,会产生APP_QSPI_EVT_TX_CPLT事件
  • 驱屏接口单独抽离在SDK_Folder\drivers\inc\app_graphics_qspi.h

扫描关注

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