跳转到主要内容

附加功能

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

TouchGFX Generator附加功能设置

外部数据读取器

对于RGB565帧缓存像素格式,TouchGFX支持数据读取器接口,该接口使开发人员能够直接从非存储映射串行Flash读取数据,而无需进行缓存,使用缓存则需要在存储器中增加额外缓冲区。 关于如何实现DataReader,从非存储映射闪存芯片中检索应用程序资源的示例,请参见SerialFlash文章。

数据读取器选项通常用于低成本解决方案(如STM32G0),这些方案没有足够的内存用于额外的缓冲区。

开发人员可进行以下配置:

  • 外部数据读取器:使能或禁用此功能。 如果使能,TouchGFX将直接通过生成的接口检索应用资源。 如果禁用,则开发人员需要将图片资源缓存到内存缓冲区中。
  • 外部数据读取器:内存基址:指定外部数据读取器内存的起始地址。
  • 外部数据读取器:内存基址:指定外部数据读取器内存的大小。
  • 外部数据读取器:行缓冲区大小:创建两个缓冲区,以便将图像或文本混合到帧缓冲中。 Default value is : one screen width * 4 bytes, to support full size images in ARGB8888 pixel format.
  • 外部数据读取器:最小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(矢量渲染)

To be able to configure Vector Rendering in TouchGFX Generator, the framebuffer pixel format must be RGB565 or RGB888. 开发人员在使用Vector Rendering功能时有两个选项:

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

8位LTDC颜色查询表

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