TouchGFX让微控制器更美好,TouchGFX有哪些升级

2025-04-10

TouchGFX属于Draupner Graphics公司的GUI产品,以炫酷的界面著称。目前,TouchGFX可以在微控制器上使用。为增进大家对TouchGFX的认识,本文将对微控制器以及TouchGFX的矢量优化升级予以介绍。如果你对TouchGFX具有兴趣,不妨和小编一起来继续往下阅读哦。


一、微控制器

简而言之,微控制器(通常简称为MCU或MC)是指完全独立于单个芯片的非常小的微型计算机。

如果需要使用更多的基本术语,您可以将微控制器定义成一台非常简化的计算机,一遍又一遍地运行单个基本程序。换句话说,微控制器可在单个设备中执行由用户/操作员预先编程的单个自动化任务,并重复执行这一项任务(通常是在定时循环中执行)。

这就是“嵌入式应用程序”,它不是由完整的微处理器(也称为CPU)处理的通用型应用程序。

-正如本指南所述,微控制器包含微处理器等关键组件,但与大多数独立MP相比,它是一种复杂程度更低的动态CPU。

-这是因为微控制器单元仅限于执行一项高度特定的工作,无需微处理器(个人计算机中的微处理器)提供全部功能。

为了实现这一点,微控制器通常通过印制电路板(PCB)与其他类型的组件和电子电路配合使用。通过将两种或更多基于PCB的设备组合在一起,可以使用微控制器控制、监测并影响各类系统和组件行为。

而TouchGFX 便是与微控制器相关的工具,下面我们来看看TouchGFX 有哪些升级。


二、TouchGFX 矢量优化升级

1、矢量的优化

微控制器上的大多数静态接口都使用位图,它们需要的计算吞吐量非常小。相比之下,矢量图像并不常见,因为它们需要更多的算力。UI开发的挑战在于矢量对于动画至关重要。因此,由于每秒帧数较高,开发人员可能会选择使用更多资源来实现更平滑流畅的动画。另一方式是,动画可以采用较低性能,降低画面的流畅性来处理。TouchGFX 在处理矢量图形时提供了显著的优化,在某些场景下效率提高了70%。得益于TouchGFX 不断的版本优化,开发人员可以在更小的MCU上提供更平滑的动画或使用更多的矢量元素;还将在较大的动画上获得最大的性能提升。

新的优化利用Chrom-ART在某些操作(如颜色填充)期间降低微控制器负载。ST还更新了TouchGFX计算形状边缘的算法。此外,功能更新涉及到框架对矢量图形的处理,用户也将从中受益。开发人员不仅能立即看到性能提升,还可以据此进行规划。有的开发者会选择降低应用程序的内存需求,有的会在界面中添加新动画。团队协作开发时,必须注意检查他们的UI,因为某些元素的运行速度可能比预期的快。

2、矢量字体

文本是大多数UI的重要组成部分,但却最容易被忽视。比如,许多人甚至不清楚font和typeface之间的区别。Helvetica和Avenir经常被称作font,但实际上都属于typeface。typeface是一种设计语言,用来塑造一系列字母、数字和图标的形态。font是typeface的子集,主要是限定文字的粗细或大小等属性。因此,Helvetica是一种typeface,而12磅Helvetica则是一种font。同样,12磅Helvetica Bold是另一种font。

这两者的区别为什么重要呢?因为嵌入式系统必须在编译时为每种字体渲染新的位图。PC需要使用轮廓字体(又称矢量字体),轮廓字体包含如何绘制的说明,而嵌入式系统需要使用位图。矢量字体需要很大的计算量,这对PC来说不是问题,但对微控制器来说,会造成UI运行缓慢。相反,已经完成渲染的位图不涉及任何计算,但会占用更多存储空间,因为系统必须对每种字体进行单独渲染。例如,三种Font(同一typeface所对应的三种不同大小)的位图会占用将近800字节的内存,而一个矢量文件所占用的内存不到200字节。

TouchGFX Designer能够在MCU上使用矢量字体的UI工具,为希望减少Flash占用空间的工程师带来了福音。有了这一功能,某些应用场景下,开发者只需使用MCU的内部Flash,大幅降低了BOM成本。产品或公司标识往往需要比字母文字系统用到更多的位图,因此节省存储空间的效果更加明显,实际效果因具体应用而异。此外,存储器市场价格波动频繁,而我们这个新版本可以帮助开发人员减少对外部Flash的需求。

意法半导体旗下已有多款STM32 MCU在技术上支持矢量字体,STM32U5和最新推出的STM32H7R/S内部集成了NeoChrom GPU,出色的加速矢量计算的能力让矢量计算真正切实可行。例如,STM32F7渲染一个矢量字体可能需要花费2.88 ms,而STM32U5F9仅需0.80 ms。同样,最近针对TouchGFX先前版本的矢量优化也能有效减轻负载。但并非每种UI都能从轮廓字体中受益,比如需要使用大量动画的系统。

矢量字体并不是节省存储空间的唯一方法,ST的L8压缩系统也可以缩小位图。每个项目都有不同的Flash需求,每个UI也都有特殊的渲染需求。有些项目只能使用有限的外部Flash,有些项目倾向于使用内部Flash,还有些项目仅需要缩短编程时间。但总的来说,越来越多的客户都希望UI占用的Flash空间更少。因此,矢量字体为无法通过其他方式缩减占用空间的UI提供了一个解决方案。

以上便是此次带来的TouchGFX相关内容,通过本文,希望大家对TouchGFX已经具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!

文章推荐

相关推荐