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

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

3天内不再提示

TouchGFX 4.12提高STM32微控制器的性能

星星科技指导员 来源:意法半导体 作者:意法半导体 2022-05-13 14:56 次阅读

我们的免费图形用户界面TouchGFX现在正在对其引擎和设计器工具进行重要更新。TouchGFX 4.12 为公众带来了可缓存容器、部分帧缓冲区和我们的L8 图形压缩格式等功能,所有这些都将提高更多 STM32 微控制器的性能。随着嵌入式系统继续渗透主流市场,显示器和ipso facto的出现图形用户界面可以极大地改善消费者的体验。它解释了为什么报告显示越来越多的嵌入式系统工程师现在使用 GUI,以及为什么业界试图将它们安装在具有更严格计算吞吐量的 MCU 上。TouchGFX Designer 是我们的桌面工具,可帮助开发人员更快地利用 TouchGFX 引擎,减少编写 C++ 代码的需要,从而促进 MCU 的 GUI 开发。

TouchGFX 4.12 也具有很高的象征意义,因为它是我们自 2018 年获得该解决方案以来的第一次重大升级,它成为我们STM32 生态系统不可或缺的一部分。我们的 MCU 背后的驱动理念之一是,无论工程师想要使用何种工具或解决方案,它们都能提供最佳性能和最广泛的功能集。这就是为什么我们很高兴也可以使用 Qt 等其他 GUI 解决方案,并且最近参加了一个研讨会,帮助想要在我们的微控制器上使用著名工具包的开发人员。但是,我们很高兴为 TouchGFX 带来有意义的更新,我们将继续致力于我们的解决方案,因为它为任何专业人士或爱好者提供了一个免费且强大的工具,目前智能手表制造商和家电制造商仅举两个例子,因此为所有 STM32 开发人员带来行业巨头。

CacheableContainers:重新思考如何渲染框架

CacheableContainer 是我们的 TouchGFX 团队在向公众提供之前开始为各种客户开发的技术。顾名思义,它使用位图缓存来显着加速图形性能,并通过大规模优化性能来实现更高的帧速率以实现更平滑的过渡。下面的视频显示了在STM32F429I 探索套件上运行的演示。如果没有 CacheableContainer 技术,简单的全屏 (240×320) 幻灯片动画以每秒 9 帧的速度运行。启用新的 TouchGFX 技术后,系统可达到每秒 60 帧,实现更平滑的过渡。 一些智能手表目前使用此功能来确保更无缝的用户体验,尽管其外形尺寸固有的重大硬件限制以及需要更长的电池寿命。当尝试为复杂的小部件(例如纹理映射器或静态背景前显示的小型动态元素)设置动画时,它可以最大限度地提高性能。

在传统系统中,动画要求系统重绘每一帧,这会导致计算量大增。在屏幕 1 和屏幕 2 之间的动画中,大约需要 20 帧,每帧重绘大约需要 100 毫秒。CacheableContainer 通过将第一帧和最后一帧以系统保存在 RAM 中的位图形式存储在单独的容器中来绕过这个问题。系统不计算动画,而是使用 DMA 从内存中检索两个图像,并通过一个简单的 DynamicBitmap 方法将它们显示在不同的位置。MCU 不再需要渲染每一帧,从而显着优化性能。开发者只需勾选Cacheable在 TouchGFX Designer 中,选择要缓存的容器在内存中的位置,并在需要时调用它们。使用这种技术,渲染时间从 100 ms 下降到 5 ms。

部分帧缓冲区:优化如何存储帧

部分帧缓冲是我们为客户开发的另一项技术,在见证了它的巨大成果后,现在正在向公众推出。帧缓冲区是一个连续的内存空间,用于存储将出现在显示器上的每个像素的表示。例如,用于智能手表显示屏的标准 24 位 390 x 390 图像需要 3,650,400 位或 440 KB 的帧缓冲区(

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

顾名思义,一个Partial Framebuffer只存储了一部分framebuffer,它在内存中的大小平均减少了10。开发者可以根据屏幕实际变化的部分来配置它的大小,然后存储多个partial framebuffer 。 然后,TouchGFX 引擎将选择合适的引擎并将其发送到显示器。因此,系统不必获取整个缓冲区,而是使用小得多的文件,从而提高整体性能。 该技术最适用于短动画,例如时钟或随时间推移而构建的图表。它还要求屏幕使用嵌入式控制器,因为它将直接从 MCU 的 RAM 接收部分帧缓冲区,从而绕过 Flash 以进一步提高性能。该技术适用于并行/8080、DSI 和 SPI 显示器。

L8 压缩格式和 TouchGFX Designer:优化资产和工作流程

图形资源占用大量内存空间,直到现在,开发人员唯一能做的就是降低细节级别以缩小文件大小。不幸的是,这也意味着提供一个不那么引人注目的图形用户界面。L8 是独一无二的,因为它可以利用 STM32 微控制器中的 ChromART 加速器显着压缩图像文件。 只要资源最多使用 256 种颜色,这在小型嵌入式设备上的背景、图标或按钮通常是这种情况,开发人员只需在 TouchGFX Designer 中勾选一个框,就可以选择使用 L8 格式压缩资源。该系统生成的图像最多可缩小 75%,并且解压阶段的计算效率很高,因为它使用 ChromART 引擎在表格中查找各种颜色并在不损失质量的情况下解压资产。

TouchGFX Designer 也有一些令人兴奋的更新。除了使这些新功能更易于访问之外,新工具还提供了新的小部件,例如模拟和数字时钟或纹理映射器,这意味着开发人员可以通过简单的拖放开始创建他们的映射程序。他们仍然需要输入他们的 C++ 代码,但这会使整个过程更加顺畅。同样,该工具还支持添加自定义触发器和操作,以使工程师即使不具备深入研究源代码所需的编程技能也能对其进行试验和测试。最后,TouchGFX Designer 现在能够以两倍的速度生成和加载系统,并且只在请求时执行,而不是自动,这可能会减慢开发人员的工作流程。

审核编辑:郭婷

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

    关注

    21

    文章

    4737

    浏览量

    137853
  • 控制器
    +关注

    关注

    112

    文章

    15223

    浏览量

    171159
  • 触发器
    +关注

    关注

    14

    文章

    1677

    浏览量

    60402
收藏 人收藏

    评论

    相关推荐

    STM32F101xx和STM32F103xx ARM 内核32位高性能微控制器参考手册

    电子发烧友网站提供《STM32F101xx和STM32F103xx ARM 内核32位高性能微控制器参考手册.pdf》资料免费下载
    发表于 01-29 09:25 7次下载

    基于STM32微控制器上的浮点单元的性能演示

    本应用笔记介绍了如何使用STM32 Cortex®-M4和STM32 Cortex®-M7微控制器中可用的浮点单元(FPU),并对浮点运算作了简要介绍。X-CUBE-FPUDEMO固件是为改进双精度FPU而开发,并能演示使用此硬
    发表于 09-28 08:11

    STM32微控制器的技术特点和性能指标

      STM32微控制器是ST公司推出的一款基于ARM Cortex-M内核的32位微控制器,具有高性能、低功耗、高集成度等特点,广泛应用于各种嵌入式系统。本文将对
    发表于 09-25 17:16 1641次阅读

    适用于STM32微控制器的∑∆数字接口入门

    电子发烧友网站提供《适用于STM32微控制器的∑∆数字接口入门.pdf》资料免费下载
    发表于 09-25 09:15 0次下载
    适用于<b class='flag-5'>STM32</b><b class='flag-5'>微控制器</b>的∑∆数字接口入门

    使用STM32F2xx和STM32F4xx微控制器时如何提高ADC精度

    电子发烧友网站提供《使用STM32F2xx和STM32F4xx微控制器时如何提高ADC精度.pdf》资料免费下载
    发表于 09-21 11:26 0次下载
    使用<b class='flag-5'>STM32</b>F2xx和<b class='flag-5'>STM32</b>F4xx<b class='flag-5'>微控制器</b>时如何<b class='flag-5'>提高</b>ADC精度

    STM32+TouchGFX方案—助你快速创建出色的图形界面

    STM32CubeMX配置工具及初始化代码生成器协同操作,为无缝开发GUI和主应用程序创建一个统一的项目环境。为了帮助图形设计项目顺利运行,STM32CubeMX增加了新功能,包括帮助筛选适合微控制器的增强版MCU Finde
    发表于 09-20 06:32

    STM32L4、STM32L4+和STM32G4系列微控制器上的专利代码读取保护

    电子发烧友网站提供《STM32L4、STM32L4+和STM32G4系列微控制器上的专利代码读取保护.pdf》资料免费下载
    发表于 09-19 16:16 0次下载
    <b class='flag-5'>STM32</b>L4、<b class='flag-5'>STM32</b>L4+和<b class='flag-5'>STM32</b>G4系列<b class='flag-5'>微控制器</b>上的专利代码读取保护

    如何使用STM32G4系列微控制器存储和外围设备

    本参考手册面向应用程序开发人员。它提供了关于如何使用STM32G4系列微控制器存储和外围设备。 STM32G4系列是一系列具有不同内存大小和封装的
    发表于 09-08 06:59

    STM32微控制器的工作原理和应用 STM32微控制器的命名规则

    STM32微控制器是一种基于ARM Cortex-M内核的高性能、低功耗、低成本的微控制器。它广泛应用于各种嵌入式系统,包括工业控制、消费电
    发表于 09-07 16:38 931次阅读

    STM32微控制器的结构和发展历史

    STM32微控制器是由STMicroelectronics公司开发的一系列基于ARM Cortex-M内核的高性能微控制器。自从2007年推出第一代
    发表于 09-07 16:35 1047次阅读

    如何对STM32U575/585微控制器使用GPDMA

    本应用笔记与 STM32U575/585 微控制器(MCU)中嵌入的通用 DMA(GPDMA)相关。GPDMA 是一种系统外设,是 AHB 总线上的双端口主设备。它被用于通过链表在外设和/或存储
    发表于 09-07 07:36

    STM32WB系列微控制器的最小BOM

    STM32WB 系列微控制器旨在最大限度地减少所需的外部组件数量,以确保最佳 RF 性能。本文档详细介绍了 Bluetooth®低功耗应用的材料清单(BOM)。QFN48 封装用作参考,但对其有效的考虑可轻松扩展到其他封装。 。
    发表于 09-05 06:34

    STM32微控制器安全简介

    电子发烧友网站提供《STM32微控制器安全简介.pdf》资料免费下载
    发表于 08-01 14:22 0次下载
    <b class='flag-5'>STM32</b><b class='flag-5'>微控制器</b>安全简介

    STM32L4、STM32L4+和STM32G4系列微控制器上的专利代码读取保护

    电子发烧友网站提供《STM32L4、STM32L4+和STM32G4系列微控制器上的专利代码读取保护.pdf》资料免费下载
    发表于 08-01 10:03 0次下载
    <b class='flag-5'>STM32</b>L4、<b class='flag-5'>STM32</b>L4+和<b class='flag-5'>STM32</b>G4系列<b class='flag-5'>微控制器</b>上的专利代码读取保护

    如何从基于STM32微控制器接收数据到PC

    电子发烧友网站提供《如何从基于STM32微控制器接收数据到PC.zip》资料免费下载
    发表于 07-06 14:29 0次下载
    如何从基于<b class='flag-5'>STM32</b>的<b class='flag-5'>微控制器</b>接收数据到PC