0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TouchGFX4.19免费使用框架新功能助于节省时间

星星科技指导员 来源:意法半导体 作者:意法半导体 2022-05-10 09:59 次阅读

TouchGFX 4.19现在可供下载。新版本包括静态图形功能和 TouchGFX Designer 中改进的文本管理系统,具有分组功能和处理排版设置的新方法。推动这个新版本的主旨是工作流程优化。多亏了这些新功能,创建静态图形只需单击几下,而不是一行一行的自定义代码。同样,新的文本管理界面将使类似资源的搜索和分组变得更加简单。无论是加快翻译操作还是协助为 UI 做出贡献的作者,新功能都应该有助于节省时间并使用户体验更有意义。

什么是 TouchGFX?

框架

TouchGFX 是 ST 的免费使用框架,有助于在 STM32 微控制器上创建图形用户界面。该引擎用 C++ 编写,利用了 ST 设备上的优化。TouchGFX 的工作假设是用户界面由用户导航的屏幕组成。因此,该框架是直观的并反映了用户体验。它也很广泛,因为它可以处理 2D 和 3D 对象、视频、动画、过渡等。此外,访问生成的代码的能力允许专家工程师优化他们的代码。TouchGFX文档通常是开发人员找到有关框架的 API 或可用开发工具之一的信息的第一个地方。

TouchGFX 设计师

TouchGFX Designer 通常是开发人员在启动他们的 UI 时使用的第一个工具。它是一种采用所见即所得方法的设计实用程序,设计师可以在其中创建用户将看到并与之交互的内容。开发人员可以从示例项目开始,例如时钟、仪表或动画图像。还有更多成熟的演示,如骰子动画、场景转换或游泳池监控系统。启动屏幕帮助选择演示应用程序、ST 开发板,然后配置所有内容。因此,运行示例代码和演示需要几分钟,这意味着更快地创建概念验证。TouchGFX Designer 中的 UI 元素通常采用通过实用程序界面添加和配置的小部件的形式。

TouchGFX Designer 是 TouchGFX 生态系统的一个组成部分。例如,只要用户选择3.0模板,就可以在Designer中启动项目,然后将其带到STM32CubeMX,设置Discovery板或MCU,让TouchGFX Generator(见下文)更新.IOC文件为立即应用新设置。同样,开发人员可以从 TouchGFX Generator 开始,移至 TouchGFX Designer,然后返回 STM32CubeMX 以更改显示分辨率。系统会自动更新 TouchGFX Designer,无需关闭应用程序。

TouchGFX interwetten与威廉的赔率体系

TouchGFX Simulator 可帮助开发人员在将图形用户界面运行到他们的 MCU 之前对其进行模拟。它的部分吸引力在于它提供了键盘快捷键来简化工作流程。例如,更容易拍摄各种屏幕截图并逐帧研究动画。同样,按 F2 会突出显示无效区域,即系统必须更新的帧部分。因此,开发人员可以检查他们的动画是否通过不必要地使资产无效来浪费 MCU 资源。

TouchGFX 发生器

能手表上协同工作

TouchGFX Generator 与STM32CubeMX一起生成 TouchGFX 抽象层 (AL) 的重要部分。我们支持几乎所有带显示屏的 STM32 探索套件,新插件适用于任何配备 Cortex-M0+、M4 或 M7 的 STM32 MCU。开发人员仍然需要用他们的用户代码来填补一些空白并进行优化,但是这个新插件让开始一个项目变得更加简单。实际上,Generator 创建了空函数来指导开发人员并促进电路板初始化。ST 开发板也有现有的默认设置,以加速开发并用作示例。

TouchGFX 4.19 有什么新功能?

静态图

随着可穿戴设备跟踪环境或物理数据,用户希望看到进展。图表可以跟踪心率、温度、步行步数等。TouchGFX 开发人员首先要求提供动态图形,因为它们很难实现,而且该功能自 TouchGFX 4.15 起就可用。现在,我们的团队正在发布静态图表以适应新的应用程序。事实上,不需要不断演变或只知道随时间发生轻微变化的数据更适合静态表示。新图表的工作方式略有不同。由于时间间隔是恒定的,因此开发人员只需在动态数据点上发送一个数据点。但是,对于静态的,程序员必须输入 X 轴和 Y 轴的信息。

高级文本管理

文本是大多数图形用户界面的重要组成部分,这解释了为什么设计师在它上面工作如此之多。他们对其进行定制、翻译和塑造。在 TouchGFX Designers 上创建的一些应用程序可以有数千个文本资源,每个资源都被翻译成多种语言。问题是使用文本可能很麻烦。因此,为了减少摩擦,TouchGFX 现在提供了开发人员可以根据其应用程序的部分或功能定义的组。新功能使在 TouchGFX Designer 中并排显示翻译文本变得更加简单。它还有助于捆绑相关信息以检查一致性和准确性。最后,小组可以更快地搜索和查找特定资源。

TouchGFX Designer 还包括Typographies在组内设置默认参数的选项。该部分允许用户选择字体规范、备用字符、通配符、对齐方式等。以前,开发人员必须覆盖每个文本资源的参数,这可能是很多工作。多亏了组,可以同时为许多资源设置参数,从而极大地优化开发。具有自定义排版的现有项目将看到其设置移至新部分。新的文本界面还显示一次性文本,并在必要时将其提升为资源。

TouchGFX 中已有哪些功能?

支持 X-NUCLEO-GFX01M2 和 X-NUCLEO-GFX02Z1

当工程师决定使用图形用户界面时,显示器通常会成为其物料清单中最昂贵的组件。一个没有触摸层的简单 2 英寸显示屏将显着改善用户体验,但它仍然比其他任何东西都更昂贵。因此,当以 5 美元或更少的 BoM 为目标时,采购价格合理的显示器是有问题的。因此,ST 推出了显示扩展板以帮助工程师找到具有成本效益的部件,并且我们为 TouchGFX Designer 中的硬件提供支持。用户选择显示器的配置,并可以开始在与其规格相匹配的界面上工作。

工程师可以选择的第一个扩展板是X-NUCLEO-GFX01M2。它使用支持 SPI 闪存的 SPI 2.2 英寸 QVGA (320 x 240) 显示器,对于带有外部闪存和两层 PCB 的典型嵌入式系统来说,这将适合大约 5 美元的 BOM。X-NUCLEO-GFX01M2 与各种 64 针 NUCLEO 板兼容。例如,工程师可以在NUCLEO-WB55RG上使用它来帮助使蓝牙应用更易于访问。

同样,X-NUCLEO-GFX02Z1是我们第一款支持并行接口、QSPI 闪存和 144 针 Nucleo 板的显示扩展板。该平台以功率更大的微控制器为目标,这解释了与提供更高带宽的接口的兼容性。开发人员可以将 X-NUCLEO-GFX02Z1 与首批 STM32U5 推出的NUCLEO-U575ZI-Q一起使用。因此,它使工程师能够利用新 MCU 更好的每瓦性能比来创建前几代 STM32 无法实现的用户界面。

在 UI 中嵌入视频

将视频带入更多 UI 的愿望是嵌入式系统显示器日益普及的自然结果。不幸的是,在带有微控制器的嵌入式系统上显示视频具有挑战性。没有带有默认媒体播放器和编解码器的操作系统。同样,编写显示 YouTube 视频的网页也是不可能的。开发人员必须完成所有繁重的工作,例如实现视频缓冲区、确定哪种格式最适合他们的微控制器,以及确定如何利用硬件加速(如果可用)。TouchGFX Designer 提供了一个视频小部件来解决这一挑战。因此,现在添加视频只需要三个简单的步骤。

可缓存容器

顾名思义,CacheableContainers 使用位图缓存来加速图形性能并启用更高的帧速率以实现更平滑的过渡。下面的演示在STM32F429I 探索套件上运行。如果没有 CacheableContainers,简单的全屏 (240 × 320) 幻灯片动画将以每秒 9 帧的速度运行。借助 TouchGFX 威廉希尔官方网站 ,系统达到每秒 60 帧。一些智能手表目前使用此功能来确保无缝的用户体验,尽管其外形尺寸固有的重大硬件限制以及需要更长的电池寿命。除了动画之外,CacheableContainers 还可以优化复杂的小部件,例如纹理映射器或静态背景前显示的小型动态元素。

如果没有 CacheableContainers,动画必须重绘每一帧,这会导致计算量大。CacheableContainer 通过将第一帧和最后一帧以系统保存在 RAM 中的位图形式存储在单独的容器中来绕过这个问题。系统不是渲染动画,而是使用 DMA 从内存中检索两个图像,并通过一个简单的 DynamicBitmap 方法将它们显示在不同的位置。MCU 不再生成每一帧,从而显着优化性能。开发者只需在 TouchGFX Designer 中勾选 Cacheable 框,选择要缓存的容器在内存中的位置,需要时调用即可。使用这种威廉希尔官方网站 ,渲染时间从 100 ms 下降到 5 ms。

部分帧缓冲

帧缓冲区是一个连续的内存空间,用于存储将出现在显示器上的每个像素的表示。例如,用于智能手表显示屏的标准 24 位 390 x 390 图像需要 3,650,400 位或 456.3 KB 的帧缓冲区(

(390\times390\times24)\div8

),这是STM32L4+ 上可用 SRAM 的 70% 以上,在智能手表和可穿戴设备上表现出色。如果应用程序需要多个帧缓冲区,这个数字可能会激增。超出容量限制,较大的帧缓冲区需要更长的时间来获取,因为更多的数据必须从内存传输到显示器,从而降低性能。

顾名思义,Partial Framebuffer 只存储了部分帧缓冲区,从而减少了 10 倍的内存占用。开发者可以根据屏幕的哪一部分来配置它的大小,然后再存储多个部分缓冲区。然后框架将选择合适的并将其发送到显示器。该威廉希尔官方网站 最适用于短动画,例如时钟、加载条或随时间自行构建的图表。它还要求屏幕使用嵌入式控制器,因为它将直接从 MCU 的 RAM 接收部分帧缓冲区,从而绕过闪存以提高性能。该威廉希尔官方网站 适用于并行/8080、DSI 和 SPI 显示器。

TouchGFX 还优化了部分帧缓冲区,为资源受限的微控制器带来 UI。传统上,最小的图形界面需要大约 200 KB 的帧缓冲区。然而,当像 STM32G071 这样的微控制器只有 36 KB 的 RAM 时,这可能是一个真正的问题。TouchGFX 通过将部分帧缓冲区优化为仅 6 KB 解决了这个问题。考虑到框架的应用程序数据,入门级 UI 只需要 16 KB 的 RAM 即可运行。TouchGFX 还使用智能部分屏幕更新。该功能补充了部分帧缓冲以优化屏幕上的更新顺序。该过程节省了资源,从而允许在同一时期进行更多更新。

L8 压缩格式

图形资产占用大量内存空间,降低其质量意味着降级用户界面。因此,L8 是一项基本功能,因为它可以将图像文件压缩高达 75% 而无需降级,这要归功于 STM32 微控制器中的 ChromART 加速器。只要资产使用最多 256 种颜色,这在配备 STM32 MCU 的小型嵌入式系统上很常见,开发人员只需在 TouchGFX Designer 中勾选一个框,就可以选择使用 L8 格式压缩资产。解压缩在计算上也很高效,因为它使用 ChromART 引擎在表格中查找颜色并在不损失质量的情况下渲染资产。

文本的 XML 文件

设计团队经常将文本存储在 Excel 文件中,以便与世界各地的各种翻译人员合作。然而,与使用 Git 等版本控制系统不同,编辑人员必须手动处理更改,并确保没有人无意中覆盖了其他人的工作,这可能很麻烦。为了解决这个问题,TouchGFX 将所有文本存储在一个 XML 文件中。该格式使合并操作和冲突解决变得更加简单。TouchGFX 还包括一个 XML 到 Excel 转换器,以适应现有的工作流程。开发人员可以导出到 Excel,然后将他们的 Excel 文件重新导入 TouchGFX 及其 XML 格式。

优化的项目文件

TouchGFX 还通过小型项目文件促进协作。它们的大小使它们更容易合并和共享。以前,项目文件以 JSON 格式存储所有参数。问题是这样的文件会变得非常大。因此,ST 决定仅通过存储自定义设置来优化项目文件。因此,文件中没有的任何内容都被视为使用默认值。因此,文件要小得多,从而使 Git 上的合并操作更加直接和快速。

一次性文本及其随机 ID

希望使用文本的开发人员必须在 TouchGFX Designer 的文本面板中创建资源,然后在 UI 中使用文本的 ID。但是,TouchGFX 也允许“一次性文本”,它不会作为典型的文本资源出现。开发人员在测试期间或文本不重要时使用它。它可以防止用不相关的文本填满数据库,并帮助更快地制作原型。实际上,与常规文本资源不同,一次性文本功能会自动生成 ID 并在从 UI 中删除资源时从数据库中删除。TouchGFX 还使用随机字符串生成器来创建 ID。因此,同一项目中的两个一次性文本 ID 几乎不可能相同。

动画和小部件

滑入过渡和动态图

开发人员面临的挑战是利用我们不断添加到 TouchGFX 的所有功能。因此,我们提供已使用上述功能的优化动画。例如,虽然传统的滑入式过渡需要整个屏幕刷新,但 TouchGFX 的擦除动画使用的资源要少得多。同样,动态图小部件可以更好地显示顺序数据,而对 RAM 和微控制器的影响较小。

时钟和纹理映射器

TouchGFX 还具有模仿应用程序的小部件,例如模拟和数字时钟。还有一个纹理映射器,这意味着开发人员可以通过简单的拖放来开始创建他们的映射程序。他们仍然需要输入他们的 C++ 代码,但这会使整个过程更加顺畅。Texture Mapper 也是在资源受限的 MCU 上进行 TouchGFX 优化的一个很好的例子。只要图形资产在 RAM 中而不是闪存中,它就可以帮助为对象设置动画,甚至可以在STM32G0上工作。

测量

仪表模板绘制针和弧以帮助用户监控值。开发人员还可以更改其背景、针的方向、值的范围等。下面的演示展示了程序员如何在他们的 IDE 和 TouchGFX Designer 之间切换以获得更流畅的工作流程。团队可以快速检查量表,即时调整它,并立即测试他们的代码。例如,视频展示了该handleTickEvent()功能如何控制仪表的行为。只需几行代码,开发人员就可以更改值的范围以及指标接收更新的频率等。这样的优化可以在不需要不断更新显示值的应用中节省大量资源。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7552

    浏览量

    151421
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17148

    浏览量

    351193
  • 显示器
    +关注

    关注

    21

    文章

    4979

    浏览量

    139982
收藏 人收藏

    评论

    相关推荐

    使用瑞萨AnalogPAK SLG47001/03节省开发时间

    在当今快速发展的威廉希尔官方网站 市场中,对更快、更高效的产品开发的需求比以往任何时候都高。企业一直在寻找简化流程和缩短上市时间的方法。有助于节省时间、简化设计和降低成本的产品对于保持竞争力至关重要。
    的头像 发表于 12-12 10:54 192次阅读
    使用瑞萨AnalogPAK SLG47001/03<b class='flag-5'>节省</b>开发<b class='flag-5'>时间</b>

    快充电线:高效充电体验的必备神器

    线是指支持快速充电威廉希尔官方网站 的充电线。它们采用优化的电路设计和高质量的材料,能够以更快的速度为设备充电,同时还能保护电池健康。 快充电线的优势 节省时间 快充电线的主要优势之一是节省时间。相比普通充电线,快充电线可以在
    的头像 发表于 08-30 18:05 1102次阅读

    DNP3设备数据 转 CCLink IE Field Basic项目案例

    网关可将DNP3协议设备数据转成CCLink协议转发,实现不同协议设备间数据交换。配置简单,节省时间和人力成本,支持多种协议和工业应用,设备长期稳定工作。
    的头像 发表于 08-20 09:34 538次阅读
    DNP3设备数据 转 CCLink IE Field Basic项目案例

    iec61850设备数据 转 CCLink IE Field Basic项目案例

    案例说明使用VFBOX网关采集IEC61850设备数据并转成CCLink协议转发。网关支持多种协议转换,实现不同设备间互联互通。通过简单配置,节省时间人力成本,设备长期稳定工作。
    的头像 发表于 08-15 09:23 302次阅读
    iec61850设备数据 转 CCLink IE Field Basic项目案例

    opc ua设备数据 转 CCLink IE Field Basic项目案例

    设置网关采集OPCUA设备数据并转为CCLink协议转发,实现不同协议设备间数据交换。网关支持多种协议转换,操作简单,节省时间人力成本,长期稳定工作。
    的头像 发表于 08-14 09:44 287次阅读
    opc ua设备数据 转 CCLink IE Field Basic项目案例

    人工智能在项目管理中的应用:Atlassian Intelligence六大自动化任务方法详解,让Jira与Confluence效率翻倍

    的情况下节省时间和金钱的有效方法之一。无论是设置提醒还是改进写作,AI都可以帮助您高效地完成工作。AtlassianIntelligence将AI的强大功能与At
    的头像 发表于 08-12 11:44 1524次阅读
    人工智能在项目管理中的应用:Atlassian Intelligence六大自动化任务方法详解,让Jira与Confluence效率翻倍

    opc da 服务器数据 转 CCLink IE Field Basic项目案例

    通过配置VFBOX网关,将OPCDA服务器数据用CCLink协议转发,实现不同协议设备间的数据交换。网关作为协议转换器,简化设备间连接,节省时间和人力成本,且不影响设备原有功能
    的头像 发表于 08-08 09:28 253次阅读
    opc da 服务器数据 转 CCLink IE Field Basic项目案例

    电力IEC104设备数据 转 CCLink IE Field Basic项目案例

    网关采集IEC104设备数据并转成CCLink协议转发。支持多种协议和现场总线,实现设备间互联互通。配置简单,不修改设备程序,长期稳定工作,节省时间和人力成本。
    的头像 发表于 08-07 09:43 310次阅读
    电力IEC104设备数据 转 CCLink IE Field Basic项目案例

    DTL698电表数据 转 CCLink IE Field Basic协议项目案例

    VFBOX网关通过协议转换实现DLT698电表数据采集并转发为CCLink协议,支持多种协议和设备,通过简单配置实现互联互通,节省时间人力成本,设备长期稳定工作。
    的头像 发表于 08-02 09:46 234次阅读
    DTL698电表数据 转 CCLink IE Field Basic协议项目案例

    微软科技Copilot新功能发布

    Microsoft Copilot 已经在帮助人们节省时间,提高工作效率和创造力。随着 Microsoft Build 2024 的发布,我们将提供一组全新的功能,以释放 Copilot 为每个组织推动底线业务成果的能力。
    的头像 发表于 08-01 11:46 650次阅读

    DLT645电表数据 转 CCLink IE Field Basic项目案例

    VFBOX网关作为协议转换工具,支持多种协议转换,通过简单配置实现DLT645电表数据采集并转发为CCLink协议,适用于不同系统间数据交换,节省时间和人力成本,确保设备长期稳定运行。
    的头像 发表于 08-01 09:27 352次阅读
    DLT645电表数据 转 CCLink IE Field Basic项目案例

    释放DOE的能量,快速确定最佳工艺设置,节省时间、成本和资源

    摘要:用统计方法优化高耗能行业的能耗和产量
    的头像 发表于 07-15 10:43 354次阅读

    Microsoft Teams最新AI功能深化智慧协作,共创高效会议

    Copilot 正在全球范围内助力用户节省时间、高效工作。微软计划于今年五月升级Microsoft Teams会议功能,借助Copilot提供更全面的会议记录与关键信息提炼能力,同时利用AI威廉希尔官方网站 优化混合会议体验,确保沟通流畅。
    的头像 发表于 05-07 10:12 677次阅读

    科技驱动未来,提升AI算力,GPU扩展正当时

    GPU可以大幅缩短AI算法的训练和推断时间,从而节省时间和成本
    的头像 发表于 04-16 18:22 969次阅读
    科技驱动未来,提升AI算力,GPU扩展正当时

    请问一下CMake和Make之间的区别有哪些?

    CMake和Make是构建软件,其工作涉及将源代码转换为可执行程序。CMake和Make是旨在实现构建过程自动化的工具,帮助开发者节省时间和精力。
    的头像 发表于 02-27 11:44 1768次阅读