跳转到主要内容

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生成器中启用矢量字体渲染,必须启用矢量渲染软件硬件)。 开发人员在使用矢量字体渲染功能时有两个选项:

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

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

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
See the Vector Fonts article for more information on how Vector Fonts work in TouchGFX.

8位LTDC颜色查询表

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