TouchGFX本质上就是一个图形框架,大家可以通过TouchGFX实现图形化的操作,在诸如嵌入式系统等场景下都有非常广泛的应用。为增进大家对TouchGFX的认识,本文将对TouchGFX以及TouchGFX的功能予以详细介绍。如果你对TouchGFX具有兴趣,不妨和小编一起来继续往下阅读哦。
一、TouchGFX是什么
TouchGFX是一款专为STM32微控制器设计的图形界面开发工具,由ST公司推出。它通过图形化的方式设计用户界面(UI),并与STM32底层硬件紧密集成,高效利用MCU资源。TouchGFX旨在简化GUI开发,支持低资源消耗的高性能用户界面,特别适合嵌入式系统的应用。
1、功能和特性
TouchGFX具有以下主要功能和特性:
·图形设计工具:TouchGFX Designer是一个易于使用的图形构建工具,支持拖放操作,便于快速设计和评估图形界面。
·高性能引擎:TouchGFX引擎优化了图形处理,能够在最低的CPU负荷和内存消耗下提供最佳性能。
·仿真和代码生成:结合WYSIWYG仿真器和自动代码生成功能,简化了从设计到实现的整个开发流程。
·跨平台兼容性:完全兼容STM32CubeMX初始化和代码生成工具,便于在统一项目环境中开发图形和主应用程序。
2、应用场景
TouchGFX广泛应用于需要高性能图形界面的嵌入式系统中,特别适合以下场景:
HMI-of-things技术革新:通过创建类似于智能手机的图形用户界面,加速HMI技术的发展。
低资源消耗设备:在资源有限的嵌入式设备中提供高效的用户界面解决方案。
二、TouchGFX功能介绍
1、L8图像压缩
图形资源占用大量内存空间,但降低图形质量也就意味着UI的降级。因此L8 是一项必不可少的功能,它可以将图像文件压缩 75% 而无需降级,这要归功于 STM32 微控制器中的 ChromART 加速器。图形资源最多使用 256 种颜色,这在 STM32 微控制器的小型嵌入式系统上很常见,开发人员只需在 TouchGFX Designer 中勾选一个框,就可以选择使用 L8 格式压缩图形。解压缩的算法也很高效,因为它使用 ChromART 引擎在表中查找颜色,并在不损失质量的情况下对图形进行渲染。
TouchGFX Designer的新版本引入了一个关键功能:L8图像的压缩。单击左侧栏的“图像”可列出当前加载的图形资源。对于所有L8图像,软件都提供一个新的“压缩”下拉菜单,用户可以在三种方法之间进行选择:L4、LZW9(Lempel-Ziv-Welch)和游程编码(RLE)。这三个都是无损的,L4和LZW9创建压缩表,为条目分配颜色,而RLE只是对重复序列进行因子计算。这些方法都有优缺点,因此我们还提供了一个“自动”选项,让编译器根据新文件大小及其渲染时间选择最优化的压缩方法。
用户平均可将图像文件大小减少20%到80%。多数情况下,图像所需的时间是渲染的两倍。然而,由于开发人员会将此功能用于静态界面、图标或较小的资产,因此影响并不明显,渲染只需几毫秒。此外,文件更小意味着从内存中读取时间更短,这就抵消了较长的渲染时间。因此,对存储的优化平衡了解压缩的代价,在使用更少内存的同时,能提供与未压缩L8资产相同或几乎相同的性能。
升级到TouchGFX Designer 4.22 的用户必须手动选择他们的压缩方法。ST仍将未压缩格式设置为默认格式,因为我们不希望开发人员在还不了解的情况下看到平台处理L8图像的方式发生了这么大的变化。该功能充分体现了我们在优化内存占用(尤其是在闪存中)的同时还要考虑到性能所做出的努力。
2、支持可缩放矢量图形图像(SVG)
TouchGFX 推出了对SVG的支持。以往,TouchGFX 架构存储的是光栅图像,如PNG文件,因为它们易于访问和显示。而SVG文件不包含渲染,但包含绘制说明。它们的可扩展性更好,但要求更高。这对于笔记本电脑或台式机不是问题,但对于低功耗微控制器就不同了。其难点在于,设计师正在创建越来越多的动画界面,他们希望一个UI可以通过缩放适应不同尺寸的显示器。因此,设计团队希望使用SVG文件节省资源,因为一个文件可以用多种不同的方式绘制。
为了应对这一日益增长的挑战,ST在某些STM32U5产品上集成了新的NeoChrom 2.5D加速器。该硬件对绘图动画进行了优化,减轻了与SVG文件相关的一些计算负担,从而解决了性能问题。该IP还具有更快的内存接口,加快了提取操作。因此,将文件存储在外部存储器中时,损失更小。SVG IP具有很大应用潜力,ST将继续基于其特性为用户带来更多新功能。
以上便是此次带来的TouchGFX相关内容,通过本文,希望大家对TouchGFX已经具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!