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

    文章

    4920

    浏览量

    139724
  • 控制器
    +关注

    关注

    112

    文章

    16090

    浏览量

    177017
  • 触发器
    +关注

    关注

    14

    文章

    1995

    浏览量

    61009
收藏 人收藏

    评论

    相关推荐

    简单认识意法半导体STM32C0系列微控制器

    ‍‍‍‍‍‍‍‍新微控制器STM32C071扩大闪存和RAM容量,增加USB控制器,支持TouchGFX图形软件,让终端产品变得更纤薄、小巧,更具竞争力。
    的头像 发表于 10-25 09:54 205次阅读

    STM32WB0系列无线微控制器满足低功耗蓝牙应用需求

    蓝牙技术作为应用最为广泛的2.4GHz短距离通信技术,对无线微控制器芯片的集成度、功耗、性能、安全性等有较高要求。STM32WB0系列,是兼具高性价比和低功耗的无线微控制器,可充分满足
    的头像 发表于 10-12 11:03 321次阅读
    <b class='flag-5'>STM32</b>WB0系列无线<b class='flag-5'>微控制器</b>满足低功耗蓝牙应用需求

    增强C2000™微控制器系列的计算性能

    电子发烧友网站提供《增强C2000™微控制器系列的计算性能.pdf》资料免费下载
    发表于 09-19 12:36 0次下载
    增强C2000™<b class='flag-5'>微控制器</b>系列的计算<b class='flag-5'>性能</b>

    什么是微控制器/它的关键组成部分有哪些?

    微控制器
    芯广场
    发布于 :2024年09月18日 15:02:33

    stm32g与stm32h的区别

    STM32G和STM32H是STMicroelectronics(意法半导体)推出的两个不同的微控制器系列,它们都属于STM32的广泛产品线。STM
    的头像 发表于 09-04 09:15 500次阅读

    微控制器内部的存储有哪些

    微控制器(MCU)内部的存储微控制器系统的重要组成部分,它负责存储程序代码、数据以及控制逻辑等信息。这些存储类型多样,各具特点,共同支
    的头像 发表于 08-22 10:41 625次阅读

    微控制器的结构和应用

    微控制器(Microcontroller Unit,简称MCU)作为嵌入式系统的核心部件,其原理和应用在现代科技发展中占据了举足轻重的地位。本文将从微控制器的原理、基本结构、工作原理、性能特点以及广泛的应用领域等方面进行详细阐述
    的头像 发表于 08-22 10:40 762次阅读

    微控制器与运动控制器的区别

    随着现代工业技术的快速发展,控制技术在各种机械设备中扮演着越来越重要的角色。微控制器和运动控制器作为两种常见的控制设备,在各自的领域发挥着重要作用。然而,两者在功能、应用、特点等方面存
    的头像 发表于 06-13 14:52 525次阅读

    微控制器的定义和工作原理

    微控制器,作为现代电子技术中的核心部件,其发展历程与电子技术的进步息息相关。自20世纪70年代中期诞生以来,微控制器凭借其高度集成化、低成本、高性能等优势,已广泛应用于电机控制、条码阅
    的头像 发表于 05-24 17:17 1445次阅读

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

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

    继电器光耦在微控制器中的应用

    继电器是电子系统中的重要组件,用作使用低功率信号控制高功率电路的开关。继电器与微控制器的集成在各种应用中变得越来越普遍。该领域的一个重大进步是继电器光耦合的使用,这是一种增强基于微控制器
    的头像 发表于 01-05 16:09 389次阅读
    继电器光耦在<b class='flag-5'>微控制器</b>中的应用

    基于STM32WB系列微控制器的构建射频应用

    本文档一步一步地指导设计人员基于 STM32WB 系列微控制器构建特定 Bluetooth®低功耗或802.15.4 应用。它汇集了最重要的信息,并且列出了需要处理的方面。为了充分利用本文档中的信息
    发表于 12-12 16:48 0次下载

    微控制器基础】——从历史切入,了解微控制器的五个要素(上)

    微控制器基础】——从历史切入,了解微控制器的五个要素(上)
    的头像 发表于 12-07 10:55 519次阅读
    【<b class='flag-5'>微控制器</b>基础】——从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(上)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)

    微控制器基础】—— 从历史切入,了解微控制器的五个要素(下)
    的头像 发表于 12-06 17:23 513次阅读
    【<b class='flag-5'>微控制器</b>基础】—— 从历史切入,了解<b class='flag-5'>微控制器</b>的五个要素(下)

    STM32F10xxx微控制器的闪存存储烧写手册

    本编程手册介绍了如何烧写STM32F101xx、STM32F102xx和STM32F103xx微控制器的闪存存储。为方便起见,在本文中除特
    发表于 11-28 15:16 2次下载