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

结构体

app_qspi_params_t

结构体定义如下:

表 543 app_qspi_params_t结构体成员
成员 描述 取值

app_qspi_id_t id

设置使用的QSPI模块ID

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

GR5526:

  • APP_QSPI_ID_0

  • APP_QSPI_ID_1

  • APP_QSPI_ID_2

GR551x:

  • APP_QSPI_ID_0

  • APP_QSPI_ID_1

app_qspi_pin_cfg_t pin_cfg

引脚配置

参考app_qspi_pin_cfg_t结构体

app_qspi_dma_cfg_t dma_cfg

DMA参数设置

参考app_qspi_dma_cfg_t结构体

qspi_init_t init

初始化结构体

参考qspi_init_t结构体

qspi_env_t qspi_env

仅用于记录初始化设备的句柄、相关参数和信号量等,不需要配置

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

app_qspi_pin_cfg_t

结构体定义如下:

表 544 app_qspi_pin_cfg_t结构体成员
成员 描述 取值

app_qspi_pin_t cs

片选引脚配置

参考app_qspi_pin_t结构体

app_qspi_pin_t clk

时钟引脚配置

参考app_qspi_pin_t结构体

app_qspi_pin_t io_0

IO0引脚

参考app_qspi_pin_t结构体

app_qspi_pin_t io_1

IO1引脚

参考app_qspi_pin_t结构体

app_qspi_pin_t io_2

IO2引脚

参考app_qspi_pin_t结构体

app_qspi_pin_t io_3

IO3引脚

参考app_qspi_pin_t结构体

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

app_qspi_pin_t

结构体定义如下:

表 545 app_qspi_pin_t结构体成员
成员 描述 取值

app_io_type_t type

IO类型

app_io_evt_t定义

app_io_mux_t mux

设置IO映射功能

查看app_io_init_t结构体定义,具体取值参考Datasheet中的Pin Mux

uint32_t pin

选择IO引脚

查看app_io_init_t结构体定义,具体取值参考Datasheet中的Pin Mux

app_io_mode_t mode

IO模式配置

APP_IO_MODE_MUX

app_io_pull_t pull

设置IO上拉/下拉/浮空

app_io_init_t结构体中的描述

uint8_t enable

使能/不使能引脚

  • true:使能

  • false:不使能

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

app_qspi_dma_cfg_t

结构体定义如下:

表 546 app_qspi_dma_cfg_t结构体成员
成员 描述 取值

dma_regs_t * dma_instance

DMA句柄

GR5526:

  • DMA0

  • DMA1

具体选择参考app_dma_params_t章节中,DMA0/DMA1支持的外设

GR551x:

  • DMA

dma_channel_t dma_channel

数据通道

app_dma_params_t中通道描述

uint32_t wait_timeout_ms

轮询和死机等待的超时时间,仅适用于GR5526

uint32_t extend

扩展段,仅适用于GR5526

暂未使用

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

app_qspi_command_t

结构体定义如下:

表 547 app_qspi_command_t结构体成员
成员 描述 取值

uint32_t instruction

访问从设备指令

具体根据从设备访问时序确定

uint32_t address

访问从设备地址

具体根据从设备访问时序确定

uint32_t instruction_size

访问指令宽度

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

  • QSPI_INSTSIZE_00_BITS(无指令)

  • QSPI_INSTSIZE_08_BITS(指令宽度8 bits)

  • QSPI_INSTSIZE_16_BITS(指令宽度16 bits)

uint32_t address_size

访问地址宽度

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

  • QSPI_ADDRSIZE_00_BITS(无地址部分)

  • QSPI_ADDRSIZE_08_BITS(地址宽度8 bits)

  • QSPI_ADDRSIZE_16_BITS(地址宽度16 bits)

  • QSPI_ADDRSIZE_24_BITS(地址宽度24 bits)

  • QSPI_ADDRSIZE_32_BITS(地址宽度32 bits)

uint32_t dummy_cycles

等待时钟周期数

0 ~ 31,具体根据从设备时序决定

uint32_t data_size

数据传输宽度

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

  • QSPI_DATASIZE_08_BITS(数据采用8 bits宽度传输)

  • QSPI_DATASIZE_16_BITS(数据采用16 bits宽度传输)

  • QSPI_DATASIZE_32_BITS(数据采用32 bits宽度传输)

uint32_t instruction_address_mode

指令地址发送采用的时序模式

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

  • QSPI_INST_ADDR_ALL_IN_SPI(指令/地址均使用SPI模式传输)

  • QSPI_INST_IN_SPI_ADDR_IN_SPIFRF(指令采用SPI模式传输;地址传输模式由data_mode决定)

  • QSPI_INST_ADDR_ALL_IN_SPIFRF(指令地址的传输模式均由data_mode决定)

uint32_t data_mode

数据传输采用的时序模式

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

  • QSPI_DATA_MODE_SPI(使用SPI模式)

  • QSPI_DATA_MODE_DUALSPI(使用Dual SPI模式)

  • QSPI_DATA_MODE_QUADSPI(使用Quad SPI模式)

uint32_t length

传输数据长度,单位字节,需为data_size的整数倍

最大65535字节

uint32_t clock_stretch_en

是否启用钟摆功能,只对Dual SPI和Quad SPI模式有效

  • true:启用钟摆特征

  • false:不启用钟摆特征

qspi_init_t

结构体定义如下:

表 548 qspi_init_t结构体成员
成员 描述 取值

uint32_t clock_prescaler

基于总线时钟生成QSPI SLCK时钟的分频系数

支持2 ~ 65535之间的偶数

uint32_t clock_mode

时钟模式

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

  • QSPI_CLOCK_MODE_0(有效状态为clk处于低电平时,数据采样在第一个边沿)

  • QSPI_CLOCK_MODE_1(有效状态为clk处于低电平时,数据采样在第二个边沿)

  • QSPI_CLOCK_MODE_2(有效状态为clk处于高电平时,数据采样在第一个边沿)

  • QSPI_CLOCK_MODE_3(有效状态为clk处于高电平时,数据采样在第二个边沿)

uint32_t rx_sample_delay

RX输入端口的采样延时,以QSPI SLCK时钟周期为单位,防止频率过高,数据传输错误

0 ~ 0x7

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

app_qspi_mmap_device_t

结构体定义如下:

表 549 app_qspi_mmap_device_t结构体成员
成员 描述 取值

app_qspi_device_e dev_type

设备类型

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

  • APP_QSPI_DEVICE_UNSET = 0(无设置)

  • APP_QSPI_DEVICE_FLASH = 1(Flash设备)

  • APP_QSPI_DEVICE_PSRAM = 2(PSRAM设备)

app_qspi_psram_mmap_wr_cmd_e psram_wr

内存映射模式下,PSRAM的写命令

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

  • PSRAM_MMAP_CMD_QWRITE_02H = 0x00

  • PSRAM_MMAP_CMD_QWRITE_38H = 0x01

  • PSRAM_MMAP_CMD_WRITE_MAX

union

{

app_qspi_flash_mmap_rd_cmd_e flash_rd;

app_qspi_psram_mmap_rd_cmd_e psram_rd;

} rd;

  • 读Flash命令;
  • 读PARAM命令

Flash读命令支持:

  • FLASH_MMAP_CMD_DREAD_3BH = 0x00

  • FLASH_MMAP_CMD_2READ_BBH = 0x01

  • FLASH_MMAP_CMD_QREAD_6BH = 0x03

  • FLASH_MMAP_CMD_4READ_EBH = 0x04

PSRAM读命令支持:

  • PSRAM_MMAP_CMD_QREAD_0BH

  • PSRAM_MMAP_CMD_QREAD_EBH

void * set

保留位

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

app_qspi_screen_command_t

结构体定义如下:

表 550 app_qspi_screen_command_t结构体成员
成员 描述 取值

uint32_t instruction

刷屏控制命令

0x00 ~ 0xff的8 bits数据

uint32_t leading_address

刷屏前导地址,如0x002C00

0x00000000 ~ 0xffffffff的32 bits地址数据

uint32_t ongoing_address

刷屏跟续地址,如0x003C00

0x00000000 ~ 0xffffffff的32 bits地址数据

uint32_t instruction_size

指定指令的size

根据具体屏幕芯片手册决定,可选值参考QSPI_Instruction_Size

uint32_t address_size

刷屏地址Size

根据具体屏幕芯片手册决定,可选值参考QSPI_Address_Size

uint32_t dummy_cycles

Dummy(Wait) cycles

根据屏幕芯片手册决定,可选值0 ~ 31

uint32_t data_size

数据传输宽度

参考QSPI_Data_Size,支持8/16/32 bits宽度传输

uint32_t instruction_address_mode

指令地址发送的时序模式

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

  • QSPI_INST_ADDR_ALL_IN_SPI(地址/指令均使用单线模式发送)

  • QSPI_INST_IN_SPI_ADDR_IN_SPIFRF(指令使用单线模式发送,地址使用data_mode模式发送)

  • QSPI_INST_ADDR_ALL_IN_SPIFRF (指令/地址均使用data_mode模式发送)

uint32_t data_mode

数据发送模式

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

  • QSPI_DATA_MODE_SPI(数据使用单线模式发送)

  • QSPI_DATA_MODE_DUALSPI(数据使用Dual模式发送)

  • QSPI_DATA_MODE_QUADSPI(数据使用Quad模式发送)

bool is_one_take_cs

是否启用一次性片选发送完所有数据,需要屏幕支持;如果启用,本次所有数据会在一个CS周期内发送完成

  • true:使能

  • false:不使能

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

说明:

该结构体仅适用于GR5526。

app_qspi_evt_t

结构体定义如下:

表 551 app_qspi_evt_t结构体成员
成员 描述 取值

app_qspi_evt_type_t type

QSPI事件类型

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

  • APP_QSPI_EVT_ERROR(QSPI传输错误)

  • APP_QSPI_EVT_TX_CPLT(QSPI发送完成)

  • APP_QSPI_EVT_RX_DATA(QSPI接收完成)

  • APP_QSPI_EVT_ABORT(QSPI中断发送)

  • APP_QSPI_EVT_ASYNC_WR_SCRN_CPLT(QSPI异步传输Quad屏幕数据完成)

  • APP_QSPI_EVT_ASYNC_WR_SCRN_FAIL(QSPI异步传输Quad屏幕数据失败)

union

{

uint32_t error_code;

uint16_t size;

}data;

uint32_t error_code:发送事件返回的错误号

uint16_t size:QSPI已发送的数据长度

说明:

若事件类型为传输错误,此处返回错误码;若事件类型为发送完成,此处显示已发送的数据长度

QSPI错误码:

  • 0:无异常

  • 1:超时错误

  • 2:传输错误

  • 4:DMA错误

  • 5:参数设置异常

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

app_qspi_screen_info_t

结构体定义如下:

表 552 app_qspi_screen_info_t结构体成员
成员 描述 取值

unsigned int scrn_pixel_width

水平像素,单位:pixel

根据屏幕分辨率决定

unsigned int scrn_pixel_height

垂直像素,单位:pixel

根据屏幕分辨率决定

unsigned int scrn_pixel_depth

像素深度,单位:Byte

根据采用的像素色深决定

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

说明:

该结构体仅适用于GR5526。

blit_image_config_t

结构体定义如下:

表 553 blit_image_config_t结构体成员
成员 描述 取值

uint32_t src_img_address

源对象总线地址,需要4字节对齐

uint32_t src_img_w

源对象像素宽度

uint32_t src_img_h

源对象像素高度

uint32_t src_img_x

源对象拟截取x起始坐标

源对象的左上角为源对象坐标系原点(0,0)

uint32_t src_img_x_delta

源对象拟截取的像素宽度

注意x加x_delta不能超过源对象宽度

uint32_t src_img_y

源对象拟截取y起始坐标

源对象的左上角为源对象坐标系原点(0,0)

uint32_t src_img_y_delta

源对象拟截取的像素高度

注意y加y_delta不能超过源对象高度

uint32_t dst_buff_address

目标对象总线地址,需要4字节对齐

uint32_t dst_buff_width

目标对象像素宽度

uint32_t dst_buff_height

目标对象像素高度

uint32_t dst_buff_x

目标对象待写入x起始坐标

目标对象的左上角为源对象坐标系原点(0,0)

uint32_t dst_buff_y

目标对象待写入y起始坐标

目标对象的左上角为源对象坐标系原点(0,0)

uint32_t pixel_depth

像素深度,以Byte为单位

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

说明:

该结构体仅适用于GR5526。

app_qspi_screen_scroll_t

结构体定义如下:

表 554 app_qspi_screen_scroll_t结构体成员
成员 描述 取值

uint32_t first_frame_start_address

第一帧起始总线地址

  • 如果水平滚动屏幕:第一帧代表左图像

  • 如果垂直滚动屏幕:第一帧代表向上图像

第一帧缓存地址

uint32_t second_frame_start_address

第二帧起始总线地址

  • 如果水平滚动屏幕:第二帧代表右图像

  • 如果垂直滚动屏幕:第二帧代表向下图像

第二帧缓存地址

uint32_t scroll_coordinate

滚动点坐标

  • 如果水平滚动,为x坐标

  • 如果垂直滚动,为y坐标

  • 如果水平滚动,范围为[0, RES_X];取值为0时,只刷第一帧;取值为RES_X时,只刷第二帧;否则左右各出一部分

  • 如果垂直滚动,范围为[0, RES_Y];取值为0时,只刷第一帧;取值为RES_Y时,只刷第二帧;否则上下各出一部分

bool is_horizontal_scroll

是否水平滚动

  • true:水平

  • false:垂直

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

说明:

该结构体仅适用于GR5526。

app_qspi_screen_block_t

表 556 app_qspi_screen_block_t结构体成员
成员 描述 取值

uint32_t frame_ahb_start_address

待刷新屏幕区域的图像块起始地址

uint32_t frame_offset_lines

待刷新屏幕区域的图像块行偏移

uint32_t frame_draw_lines 待刷新屏幕区域的图像块行数量

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

扫描关注

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