Qt for MCUs 2.0发布

QtforMCUs 2.0 版本带来了多语言文本显示支持、图形资源内存优化等功能,适用于微控制器上的高效GUI开发。新增功能包括复杂文字渲染、资源替换机制等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文翻译自Qt for MCUs 2.0 released(原文发布于2021年12月21日)
原文作者:Qt公司高级产品经理Yoann Lopes
校审:Sam Wang


Qt for MCUs推出了又一个重大更新版本。下载2.0版本,您将获得我们根据过去两年汇总的反馈所做的诸多改进。Qt for MCUs 2.0还加入了新功能,如支持对任意语言文本的渲染、用于管理和优化图形资源的新API等等。

在介绍这个新版本前,我们首先要感谢所有信任我们Qt for MCUs 1.x系列的客户,他们利用Qt Quick Ultralite的强大功能和便利性,为数百万设备创建了下一代GUI,例如两轮和四轮车辆的数字仪表盘、汽车HVAC控制系统和抬头显、工业设备、消费类电子产品、医疗设备和可穿戴设备。我们非常珍视这些反馈,它们帮助我们能够在每个版本中不断改进,最终实现这个新的里程碑。我们将继续聆听您的意见,在2022年及以后为产品添加更多功能。

如果您刚接触Qt for MCUs,想尝试一下,您可以在这里获取免费评估版本。其他用户可运行Qt Installer来升级到最新版本。

如需查看Qt for MCUs 2.0的完整更新列表,请访问在线文档中的更新日志。这是一个新的主要版本,因此没有保留与之前版本的兼容性。这份迁移指南将帮助您适配1.9的程序,使其能够在最新版本中运行。

多语言文本显示

在图形用户界面中显示多语言文本的能力是提供最佳用户体验的关键。Qt for MCUs基于文字/书写系统,已经支持多个常用语言,如拉丁文、中文、日文、韩文或西里尔文。而Qt for MCUs 2.0则更上一层楼,添加了新增的文本造型(text shaping)功能来显示复杂的语言文字,包括阿拉伯文、泰文、希伯来文,以及印度系文字中的伽里字母等。更重要的是,这些语言中的任何一种都可以在同一行文本中组合显示,使您的设备可以真正全球通用。

有哪些新功能

  • QML文本类型可以显示复杂文字和双向文字
  • 添加了CMake API以配置、启用/禁用文本造型
  • 温控器演示加入阿拉伯语和泰语翻译

我还应该了解什么

  • 该实现符合Unicode 12.1.0规范
  • 使用文本造型功能需要:
    • 在您的应用程序中启用Spark字体引擎
    • 使用带有AAT表格的字体("morx"/"kerx")
    • 约占3.5 KB的RAM(heap)
    • 约占100 KB的ROM
  • 可以使用QUL_COMPLEX_TEXT_RENDERING CMake目标属性禁用文本造型功能,以便在不需要显示复杂文字时节省内存。

了解更多信息

优化图形资源的内存位置

得益于更强大的嵌入式处理器,配备显示屏的设备提供流畅的用户体验已成为常态,但在由微控制器驱动的设备上持续保持高帧率仍是个具有挑战性的任务。对于特定类型的应用程序,通常需要细微而重要的优化才能充分发挥硬件的潜力。优化方法之一是将图形资源(如图像和字体)放置在用例的最佳内存位置。根据硬件和GUI配置,某些图像最好直接从内部闪存中读取,而其他图像可能需要存储在外部闪存中,但在运行时缓存在RAM中以获得更好的性能。
为了让开发者能够完全控制图形资源,并保持配置简洁,我们添加了用于指定存储内存的部分以及每个资源的缓存策略和位置的新API。Qt Quick Ultralite引擎和代码生成工具将负责处理其余的工作。

有哪些新功能

了解更多信息

配置内存中的资源位置

可替换的静态资源

在各种用例中,您可能希望替换在设备上使用中的图像资产,可用于GUI样式更新、品牌重塑或是可下载的GUI皮肤。在这些用例中,仅替换图像而非重刷完整固件有多个好处:避免昂贵的软件重新认证、简化更新机制或为终端用户提供更快的更新。


虽然在Qt for MCUs老版本中,您已经可以使用ImageProvider类型来动态加载图像以实现以上用例,但2.0版引入了一种简单机制来替换静态定义的图像,同时保留了所有方便的内置功能:自动缓存、压缩和优化。

有哪些新功能

  • 无需重刷整个应用即可替换静态图像资源
  • CMake构建目标可用于编译资源二进制文件


了解更多

如何使用Qt Quick Ultralite实现OTA资源更新

长周期支持

版本迭代时的稳定性和兼容性是所有软件库的一个重要特性。对于Qt for MCUs 2.x系列,我们承诺提供至少三年的错误修复更新以降低您的维护成本,并在QML、C++和CMake API的次要版本迭代时提供完整的API兼容支持。第一个长周期支持版本2.2将于2022年6月发布。后续长周期支持版本将每年发布一次,每个版本将至少支持18个月。

其他改进

改进的平台抽象层
Qt Quick Ultralite平台抽象层已得到改进,便于集成新平台或定制硬件,并支持整个核心系列而不是单个MCU型号。两个主要变化:

  • QUL平台库现在分为两个不同的库:Platform和PlatformBSP。前者包含QUL移植层,后者包含所需的驱动程序和硬件配置代码。
  • Qt Quick Ultralite核心库现在完全独立于平台。SDK中提供的预构建二进制文件可用于Cortex-M4和Cortex-M7内核。

稳定的FreeRTOS集成
FreeRTOS参考集成已从技术预览版升级至稳定版。2.0版中的更新包括QUL任务生成、启用协作调度以及一个空闲任务实现器。

平台端口改进
对参考平台端口进行了多项改进:

  • 支持动态字体渲染的Spark字体引擎现在可用于所有参考端口。增加了对NXP i.MX RT1170和Renesas RH850/D1M的支持。
  • 触控事件处理已在所有NXP平台上重新实现,并以中断驱动而非轮询驱动。
  • Renesas RH850/D1M1A端口现在基于RGL 2.0。
  • 所有NXP端口均已升级到NXP MCUXpresso SDK v2.10。

工具
Qt for MCUs 2.0兼容Qt Creator 6.0和Qt Design Studio 2.3。如果您使用的是这些工具的旧版本,请记得通过Qt Installer升级。


下一步计划

Qt for MCUs 2.0只是新系列的开始,还有更多令人兴奋的新功能即将推出,并将于明年发布。下一批功能目前正在开发中,2022年发布。新版本正在开发中,3月将推出2.1版,其中包括新的图像压缩格式RLE,提供直接到帧缓存区的快速解压缩,以及QML 文本类型的elide(省略)属性。之后,我们将专注于开发新工具,让您的开发工作流程更简单、更快捷,添加新的参考硬件平台,并将更多QML功能引入Qt Quick Ultralite。我们将在下一篇博客更新中分享更多相关信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值