跳转到主要内容

Additional-features

如果项目配置中有任何附加功能,则会显示“附加功能”组。

TouchGFX Generator附加功能设置

外部数据读取器

对于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
仅当禁用DMA2D和LTDC时,DataReader附加功能才可用。

Vector Rendering(矢量渲染)

要在ToughGFX生成器中配置矢量渲染,帧缓存像素格式必须为RGB565、RGB888或ARGB8888。 开发人员在使用矢量渲染功能时有三个选项:

  • 禁用——禁用应用程序的Vector Rendering支持。
  • 软件——启用应用程序的软件矢量渲染支持。
  • 硬件——启用应用程序的硬件矢量渲染支持。

选择软件时,矢量渲染由CPU执行。 对于具有GPU2D(Neochrom)的MCU,可使用硬件选项,通过在GPU2D中执行矢量运算来提高性能。

Caution
如果要在应用程序中使用TouchGFX Designer的SVGImage控件,请检查是否已在TouchGFX Generator中启用Vector Rendering。 否则,编译过程中将出现“touchgfx::VectorRenderer::getInstance()未定义”错误。
Tip
如果您的设备可用GPU2D(NeoChrom)(例如:STM32U599),则启用以获得最佳矢量渲染性能。
Further reading
有关如何在TouchGFX中渲染SVG的详细信息,请参阅SVG文章。

矢量字体渲染

要在TouchGFX生成器中启用矢量字体渲染,必须启用矢量渲染软件硬件)。 开发人员在使用矢量字体渲染功能时有两个选项:

  • 禁用——禁用应用程序的矢量字体渲染支持。
  • 启用——启用应用程序的矢量字体渲染支持。

矢量渲染的绘制性能受其参数选项的影响(即硬件速度最快)。

如启用矢量字体渲染,用户可在其应用程序中选择字体的矢量格式类型。 否则,只能选择位图格式类型。

Further reading
有关矢量字体在TouchGFX中如何应用的更多信息,请参阅矢量字体说明。

8位LTDC颜色查询表

当LTDC被配置为读取L8格式的帧缓存和ABRG2222ARGB222BGRA2222、或RGBA2222中的TouchGFX渲染, TouchGFX Generator将提供一个CLUT(在TouchGFXHAL::initialize()执行期间加载到LTDC)。 有关LTDC和CLUT的用法,详见STM32 MCU参考手册。