STMCU小助手
发布时间:2023-2-20 21:23
最近发布的TouchGFX 4.21 包含了TouchGFX Stock,这是迄今为止由微控制器GUI设计工具提供的最大的图形资产库。新版本软件为开发人员带来更多便利。它通过众多性能优化让用户更轻松地创建UI。有了TouchGFX Stock,用户不用再去寻找资产和支付昂贵的许可费。对于想创建一个更丰满原型的团队或那些请不起设计师的团队来说,TouchGFX Stock是一个理想的解决方案,并且会随着时间的推移而不断成长、更加强大。TouchGFX现在同时支持SVG文件和NeoChrom GPU加速器,以实现可扩展性和动画。4 u/ }( z. |3 J. H' E
下载TouchGFX4.21 TouchGFX 是 ST 的免费开发工具,帮助用户在 STM32 微控制器上创建图形用户界面。该引擎用 C++ 编写,充分利用了 ST 器件上的优化功能。TouchGFX 工作环境是假定用户界面由用户导航的屏幕组成,很直观地反映了用户体验。它应用广泛,可处理 2D 和 3D 对象、视频、动画、过渡等。此外,它还能访问生成代码,让专家级工程师可以优化他们的代码。开发人员如果想查找该工具的某个 API 或可用的开发工具信息,一般会先从TouchGFX 文档开始。 9 l: i) e. ]5 K0 x4 t+ n6 @! x3 c& D
% u! V! }( q( T' I* i ▲ 洗衣机上的TouchGFX界面 2 S) U$ [7 u8 B; l. i TouchGFX 4.21重要更新- w8 z. ^1 ?7 L _ H! \
- h( O% @* C, s8 a+ f5 {
▲ 基于TouchGFX UI的高保真音响系统 TouchGFX Stock提供了很多UI元素,如条形图、弹出窗口、时钟、仪表等,还为某些图形资产提供亮版和暗版。TouchGFX 4.21就像是一门设计课程。工程师无需担心调色板不匹配或设计理念过时等问题。我们提供的图形资产能够保持UI连贯性和现代性。我们还提供各种尺寸以匹配大多数的显示器,许多显示器甚至不需要自己调整大小。TouchGFX Stock上市时包含五个主题,但限于MCU上GUI的性质,还无法实现自动切换主题。由于没有与所有资产形成一一对应的关系,用户必须手动替换它们。
▲ TouchGFX Stock预览
$ Q1 m& O0 B3 {6 s F , ^! m7 W9 H2 x/ H( Y- @7 r* Y- k
▲ 可根据不同屏幕大小缩放的主控界面 为了应对这一日益增长的挑战,ST在某些STM32U5产品上集成了新的NeoChrom 2.5D加速器。该硬件对绘图动画进行了优化,减轻了与SVG文件相关的一些计算负担,从而解决了性能问题。该IP还具有更快的内存接口,加快了提取操作。因此,将文件存储在外部存储器中时,损失更小。SVG IP具有很大应用潜力,ST将继续基于其特性为用户带来更多新功能。 " @; D5 @ K7 e0 i' iTouchGFX Designer 通常是开发人员启动UI 设计时使用的第一个工具。它采用所见即所得的方法,设计者可以在其中创建用户会看到并与之交互的内容。开发人员可以从示例项目开始,例如时钟、仪表或动画图像,以及更多成熟的演示,如骰子动画、场景转换或泳池监控系统。选择演示应用程序、ST 开发板,并配置所有内容都是通过一个启动屏幕进行的。因此,只需要几分钟即可运行示例代码和演示,从而更快地创建概念验证。TouchGFX Designer 中的 UI 元素通常采用通过实用程序界面添加和配置控件的形式。 ( Y9 c3 o* A3 A4 P$ I# F . N3 w) ?6 d" M4 K& K4 r . B7 q1 J! H- A& S! q
- ?% {$ X0 k: G L, }$ ~' n ▲ TouchGFX Designer 为咖啡机创建 UI TouchGFX Designer 是 TouchGFX 生态系统的一部分。例如,只要用户选择3.0模板,就可以在Designer中启动项目,然后将其转到STM32CubeMX,设置Discovery板或MCU,让TouchGFX Generator更新 .IOC文件以立即启用新设置。开发人员也可以从 TouchGFX Generator 开始,再移至 TouchGFX Designer,然后返回 STM32CubeMX 以更改显示分辨率。系统会自动更新 TouchGFX Designer,无需关闭应用程序。在开发人员将图形用户界面运行到他们的 MCU 之前,TouchGFX Simulator 可对其进行模拟仿真。它的一个优点是提供了键盘快捷键,简化了工作流程,比如更容易进行各种截屏并逐帧研究动画。同样,按 F2 键会突出显示无效区域,即系统必须更新的帧。因此,开发人员可以检查他们的动画是否因为带来了无效资源从而浪费了 MCU 资源。/ W% w/ d9 D( D) f: Z' o- g TouchGFX Generator 与 STM32CubeMX 一起生成 TouchGFX 抽象层 (AL) 的重要部分。我们支持几乎所有带显示屏的 STM32 探索套件,新插件适用于任何基于 Cortex-M0+、M4 或 M7 的 STM32 MCU。尽管工程师仍需添加他们的用户代码并进行执行优化,这个新插件使启动项目变得简单易行。Generator通过创建空函数指导开发人员并加快开发板初始化。ST 对开发板也进行了默认设置,可加速开发并用作示例。 9 j9 t. R, M u9 V
▲ TouchGFX Generator 和 Designer 在智能手表上协同工作 4 a, i) Y9 u# g" \" ETouchGFX 主要特性
第一个扩展板是 X-NUCLEO-GFX01M2。它搭载了支持 SPI 闪存的 SPI 2.2 英寸 QVGA (320 x 240) 显示器,非常适合BOM在5美元左右、带外部闪存和两层 PCB 的典型嵌入式系统。X-NUCLEO-GFX01M2 与各种 64 引脚 NUCLEO 板兼容,例如 NUCLEO-WB55RG开发板,从而简化了蓝牙应用的开发。+ |6 a; _3 U& p- [) [- I$ } 6 Y& v b5 l6 B% O1 y: h; e$ E/ |
▲ The X-NUCLEO-GFX01M2 # s& q# t6 e7 ^* o/ k% t( f: [. a 同样,X-NUCLEO-GFX02Z1 是首款支持并行接口、QSPI 闪存和 144 引脚 Nucleo 板的显示扩展板。该平台面向功能更强的微控制器,可兼容更高带宽的接口。开发人员可以将 X-NUCLEO-GFX02Z1 与基于 STM32U5 的 NUCLEO-U575ZI-Q 搭配使用,工程师能够利用新 MCU 更出色的效率及性能创建出前几代 STM32 无法实现的用户界面。此外,ST正在更新 X-CUBE-DISPLAY 扩展软件包,无需 TouchGFX即可使用显示扩展板。" V- r0 P( k# k, [# y& U3 l! n+ H6 N/ j " i: ]7 @* j/ b7 P+ d' p5 O2 t
▲ The X-NUCLEO-GFX02Z1
) @ V2 Z" @* l* p' ^
新的优化利用Chrom-ART在某些操作(如颜色填充)期间降低微控制器负载。ST还更新了Touch GFX计算形状边缘的算法。此外,由于功能更新涉及到框架对矢量图形的处理,用户将从中受益。开发人员不仅能立即看到性能提升,还可以据此进行规划。有的开发者会选择降低应用程序的内存需求,有的会向界面添加新动画。团队协作开发时,必须注意检查他们的UI,因为某些元素的运行速度可能比预期的快。6 E& n; l/ ~& T ' `2 c- O* q( L) C3 A
在极简模式下,TouchGFX Designer通过各个控件,在屏幕实现绘制功能。该软件附带了许多预定义的控件,如仪表、时钟或图表,开发人员可以设计他们的自定义控件。为了使控件更简洁直观,设计者可以将它们分组归类到容器中。容器通常是用户界面的构建模块,帮助程序员在跨多个屏幕的场景下,复用一组控件,而无需每次重新配置它们。此外,容器的修改更新会影响映射到使用它的每个屏幕,这一功能大大简化了开发工作。
2 X5 O ?% B9 J: @
▲ 定制容器帮助企业实现跨应用的品牌策略 + O1 d6 c: V) A& J% ?" J0 D2 Q TouchGFX还提供了预定义的容器,以加快最常见的设计操作,开发人员也可以创建自定义容器。自定义容器非常受欢迎,开发人员通过使用它们实现用户界面的快速调整并呈现出精美的视觉效果。以往,设计师都不得不面对设计工具背后的固有挑战,即在一个项目上耗时精心打磨的 UI无法导出到另一个项目。而涵盖代码、图形资源、文本、附属项、甚至更多资源的自定义容器可以将这些资源打包并关联到待开发项目中。TouchGFX Designer 4.20通过提供导出功能解决了这个设计开发难题,该功能创建了一个可在其他项目上复用的文件包(.tpkg文件)。开发者可使用该工具向文件包添加诸如字体等各类资源,并通过一个XML文件列出所有内容。该列表便于开发者检查该文件并对其进行修改,以选择要导出的内容。8 K7 ?: y5 d# h; I
: f G# X4 ~; ]% g
8 |; n# U. D0 l! M/ I$ L ▲ 部分帧缓冲区优化智能手表的界面 顾名思义,Partial Framebuffer 只存储了部分帧缓冲区,因此占用的内存减少了 10 倍。开发者可以根据屏幕会变化的那一部分来配置它的大小,然后再存储多个部分缓冲区。随后工具将选择合适的那个并将其发送到显示器。这个技术最适用于短动画,例如时钟、加载条或随时间自行构建的图形。它要求屏幕使用嵌入式控制器,因为它会直接从 MCU 的 RAM 接收部分帧缓冲区,从而绕过闪存以提高性能。这一技术适用于并行/8080、DSI 和 SPI 显示器。TouchGFX 还优化了部分帧缓冲区,让资源受限的微控制器也能实现 UI功能。过去,最小的图形界面也需要大约 200 KB 的帧缓冲区。而像 STM32G071 这样的微控制器只有 36 KB 的 RAM,怎么办?TouchGFX 将部分帧缓冲区优化到仅6 KB,解决了这个难题。考虑到该工具的应用数据,入门级 UI 只需要 16 KB 的 RAM 即可运行。TouchGFX 还具有智能部分屏更新功能。该功能补充了部分帧缓冲,以优化屏幕上的更新顺序。这个过程节省了大量资源,可以在同一时间段进行更多更新。" C! ^ W5 O# ?, C4 e! k
) N: l$ q5 @5 |6 P2 |9 x, m2 `; @
* o3 W( Q% @# [7 ?7 ?9 k6 Q# ]
, X& \. J5 Z5 x
" b. [8 L, O& L0 U# K. @
: s ^# c% N& F% k' V& o8 U
7 p; D% x9 m" K; F2 |) c
7 o( ^( P+ C$ h/ \
TouchGFX Designer还包括一个排版选项,用于设置组内的默认参数。该部分允许用户选择字体规格、回退字符、通配符、对齐方式等。以前,开发人员必须覆盖每个文本资源的参数,这可能带来大量工作。而由于有了组,可以同时为许多资源设置参数,从而极大地优化了开发。具有自定义排版的现有项目将看到其设置移动到新部分。新的文本界面还显示一次性文本,并在必要时将其升级为资源。 k- n7 g% U" z+ E4 a* V; y$ h 2 W9 n. M$ ~1 u# u 转载自:TouchGFX# Q8 c9 f$ W ~# Q% i8 z# K |
【STM32H5 评测】ADC 电压表
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】介绍、环境搭建、工程测试
#双节活动 1.在CubeMX中引用touchGFX出现的问题与解决
如何将STM32CubeMX生成的CMake工程导入STM32CubeIDE
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
微信公众号
手机版