Additional-features
如果项目配置中有任何附加功能,则会显示“附加功能”组。
外部数据读取器
对于RGB565帧缓存像素格式,TouchGFX支持数据读取器接口,该接口使开发人员能够直接从非存储映射串行Flash读取数据,而无需进行缓存,使用缓存则需要在存储器中增加额外缓冲区。 关于如何实现DataReader,从非存储映射闪存芯片中检索应用程序资源的示例,请参见SerialFlash文章。
数据读取器选项通常用于低成本解决方案(如STM32G0),这些方案没有足够的内存用于额外的缓冲区。
开发人员可进行以下配置:
- 外部数据读取器:使能或禁用此功能。 如果使能,TouchGFX将直接通过生成的接口检索应用资源。 如果禁用,则开发人员需要将图片资源缓存到内存缓冲区中。
- 外部数据读取器:内存基址:指定外部数据读取器内存的起始地址。
- 外部数据读取器:内存基址:指定外部数据读取器内存的大小。
- 外部数据读取器:行缓冲区大小:创建两个缓冲区,以便将图像或文本混合到帧缓冲中。 默认值为一个屏幕宽度4字节*,以支持ARGB8888像素格式的全尺寸图像。
- 外部数据读取器:最小DMA传输大小:设置启动DMA传输所需的最小字节。 如果请求传输的字节更少,将不使用DMA。
在使能外部数据读取器的情况下,通过TouchGFX Generator生成代码后,将创建以下附加文件,以支持直接从非存储映射闪存中检索资源。
TouchGFX/target/generated/TouchGFXGeneratedDataReader.cpp
TouchGFX/target/generated/TouchGFXGeneratedDataReader.hpp
TouchGFX/target/TouchGFXDataReader.cpp
TouchGFX/target/TouchGFXDataReader.hpp
像往常一样,对于TouchGFX Generator生成的AL架构,TouchGFXGeneratedDataReader
为只读,用户修改应在TouchGFXDataReader
类中进行。 TouchGFXGeneratedDataReader
的类型为touchgfx::FlashDataReader
。
将对以下文件进行修改,以将TouchGFX HAL配置为使用DataReader
。
TouchGFX/target/generated/TouchGFXConfiguration.cpp
TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp
TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp
Note
Vector Rendering(矢量渲染)
要在ToughGFX生成器中配置矢量渲染,帧缓存像素格式必须为RGB565、RGB888或ARGB8888。 开发人员在使用矢量渲染功能时有三个选项:
- 禁用——禁用应用程序的Vector Rendering支持。
- 软件——启用应用程序的软件矢量渲染支持。
- 硬件——启用应用程序的硬件矢量渲染支持。
选择软件时,矢量渲染由CPU执行。 对于具有GPU2D(Neochrom)的MCU,可使用硬件选项,通过在GPU2D中执行矢量运算来提高性能。
Caution
Tip
Further reading
矢量字体渲染
要在TouchGFX生成器中启用矢量字体渲染,必须启用矢量渲染(软件或硬件)。 开发人员在使用矢量字体渲染功能时有两个选项:
- 禁用——禁用应用程序的矢量字体渲染支持。
- 启用——启用应用程序的矢量字体渲染支持。
矢量渲染的绘制性能受其参数选项的影响(即硬件速度最快)。
If Vector Font Rendering is enabled, users can choose the Vector format type for typographies in their applications. Otherwise, only the Bitmap format type is selectable.
Further reading
8位LTDC颜色查询表
当LTDC被配置为读取L8格式的帧缓存和ABRG2222、ARGB222、BGRA2222、或RGBA2222中的TouchGFX渲染, TouchGFX Generator将提供一个CLUT(在TouchGFXHAL::initialize()
执行期间加载到LTDC)。 有关LTDC和CLUT的用法,详见STM32 MCU参考手册。