首页/文章/ 详情

Qt for MCUs 2.2LTS新技术与生态合作

2年前浏览1806

回顾历史版本

Since 1.0
26 new major features
9 new reference MCUs
1 new reference target OS
1 new compiler support
1 new host platform
163 bug fixes

Qt for MCUs 2.2LTS长周期支持

› Qt for MCUs 2.2 is the first LTS release
› QML APIs aligned and compatible with Qt 6.2 LTS
› 1 patch release every 6-8 weeks for 18 months, starting August 2022
支持的MCU平台

Qt for MCUs 2.2LTS新技术
文字处理
Qt for MCUs处理文字
-支持Glyph位图字体
• 编译时TTF自动转换为位图
• 极低的CPU占用
-支持Monotype Spark™字体引擎
• 专门为MCU环境设计
• 低CPU和内存占用
• 高性能矢量字体运行时绘制引擎
• 提供字体编辑工具
Monotype Spark Font Engine (TP)
国际化语言显示文本
文本溢出处理
› What is it and why is it important?
Display dynamic text and translations that are too long to fit in limited screen space. Must-have for dynamic UIs.
› What’s new?
QML property: Text.elide
Enum values: Text.ElideNone (default), Text.ElideLeft, Text.ElideMiddle, Text.ElideRight
› What should I know?
-Behavior aligned with Qt
-Text width (or right and left anchors) must be set
-Works with multiline text if Text has an explicit height
› Learn more
https://doc-snapshots.qt.io/qtformcus-dev/qml-qtquick-text.html#elide-prop

文本自动变形
› What is it and why is it important?
Automatically wrap text when it’s wider than the available space. Must-have for dynamic UIs and multi-language applications.
› What’s new?
QML property: Text.wrapMode
Enum values: Text.NoWrap(default), Text.WordWrap, Text.WrapAnywhere, Text.Wrap
› What should I know?
-Behavior aligned with Qt
-Text width (or right and left anchors) must be set.
-Not available for StaticText
› Learn more
https://doc-snapshots.qt.io/qtformcus-dev/qml-qtquick-text.html#wrapMode-prop
图片优化及资源管理
Qt for MCUs处理图片
-未压缩的RGB格式速度很快,但闪存成本非常高。
-PNG格式高压缩率闪存占用空间低,但需要更多的RAM来保存解压缩的数据。
-RLE压缩,轻量级,低闪存和低RAM,并且提供足够快的解压缩时间。

RLE压缩
OPTIMAL USE OF HARDWARE:Improved management of graphical resources
› Why is this valuable?
Achieve UX goals while keeping hardware costs to a minimum
› What’s new?
-New CMake APIs for graphical resource configuration
-Fine-grained placement of individual resources
› Why is it important?
Reaching the desired frame rate and fitting the GUI in memory often requires an optimized placement of resources
› Learn more
https://doc-snapshots.qt.io/qtformcus-dev/qtul-resources.html#resource-placement-in-memory
OTA GUI UPDATES:Replaceable resources in deployed applications
› Why is this valuable?
-Cheaper device firmware update process for specific use cases
-Full software recertification is not needed
› What are the use cases?
-GUI style update
-Device (re-)branding
-Downloadable GUI skins
› What’s new?
-Image resources can be replaced without re-flashing the complete application
-CMake build target to compile resource binaries
› Learn more
https://doc-snapshots.qt.io/qtformcus-dev/qtul-resources.html#ota-resources-update

新的错误处理机制
错误处理
› What is it and why is it important?
APIs to be notified of errors in GUI code and react appropriately. Enables robust and traceable applications.
› What are the use cases?
Some examples:
-detailed logging for debugging or device diagnostic
-restart the device on memory allocation failure in QUL
› What’s new?
C++ API: Qul::setErrorHandler(), QUL_ASSERT()
Enum: QulError
› What should I know?
-The default error handler prints an error message in the console.
-Custom handlers can be implemented for custom logging or mitigation actions.
› Learn more
https://doc-snapshots.qt.io/qtformcus-dev/qtul-error-handling.html
代码生成工具qmlprojectexporter
技术预览: qmlprojectexporter
› What is it and why is it important?
New ways to generate C++ code from a QML project, enabling new and better workflows. Possibility to build QUL applications in any IDE or build system.
› What’s new?
New project file format: .qmlproject
New command-line tools: qmlprojectexporter, platform exporter
› What should I know?
-Optional feature, users can still use the old way of building QUL applications for compatibility reasons
-Available as Tech Preview, APIs can change in v2.3
› Learn more
https://doc-snapshots.qt.io/qtformcus-dev/qtul-qmlproject-qmlprojectexporter.html
https://doc-snapshots.qt.io/qtformcus-dev/qtul-qmlproject-qmlprojectexportercmd-qmlprojectfile.html
https://doc-snapshots.qt.io/qtformcus-dev/qtul-platform-exporter.html
构建APP静态库
Static Library Build
Example:https://doc-snapshots.qt.io/qtformcus/quickultralite-static-library-example.html
性能优化指南
Performance and footprint guide
-Achieving good performance with a low memory footprint is challenging
-New documentation with guidelines, tips, and tricks to help get the best results faster
-Instructions on how to collect performance data from the device
› Learn more
https://doc.qt.io/QtForMCUs-2.2/qtul-performance-guide.html
https://doc.qt.io/QtForMCUs-2.2/qtul-performance-logging.html

生态合作

Qt for MCUs on 杰发 ac8015:透明alpha图片显示
Qt完成芯驰最新车规级芯片适配,助力车载HMI创新加速
Qt for MCUs on SemiDrive – E3
Qt for MCUs on 乐鑫 Espressif ESp32-S3-BOX
Qt for MCUs on OneOS 国产思澈芯片
中国移动OneOS是为物联网行业打造的可裁剪、跨平台、低功耗、轻量级实时操作系统。中移物联与Qt共同推出了Qt for MCUs-OneOS,通过OneOS的芯片适配能力,针对硬件底层进行GUI适配,可广泛应用于表计、穿戴、家居、工业控制等行业。
“Qt for MCUs-OneOS拥有极致性能,让我们可以快速开发、上线新应用,大大提升了生产效率。中国移动作为一家全球领先的通信运营商,拥有大量中小型企业客户,”OneOS产品总监孙靖评价,“我们与Qt合作,一方面提升了OneOS的GUI组件平台能力,同时也让更多企业用户获得了Qt的商业软件价值,希望未来有更多的用户能和我们一起来共建国产物联网操作系统的生态圈。”
Qt for MCUs助力延锋伟世通打造单芯片车载仪表平台
HMI及图形渲染专家来自汽车仪表解决方案的知名供应商延锋伟世通,团队专注于图形渲染、车载仪表以及智能座舱项目的研发工作。
随着车载仪表的显示日益复杂,越来越多的OEM或车企更愿意使用单芯片平台来实现全液晶仪表盘的功能。在评估了市面上多个主流的GUI框架后,延锋伟世通最终选定Qt for MCUs来开发这个基于低成本芯片的车载仪表HMI平台:
- Qt for MCUs有非常强大的开发团队;
- Qt for MCUs支持跨平台方案,在开发过程中无需考虑平台迁移的问题,极大节约了开发成本。
Qt for MCUs on AUTOSAR CLASSIC
关于Qt
Qt是一套业界领先的产品开发框架,可供前端设计师和开发人员适用于各种设备和操作系统的先进的UI/UX。
Qt被广泛应用于70多个行业,并在全球范围内建立了完善的生态系统——每年下载量达数百万次。
Qt拥有强大的合作伙伴生态——全球有超过100家软件服务公司和SoC方案供应商具备Qt开发能力。




深圳市优飞迪科技有限公司成立于2010年,是一家专注于产品开发平台解决方案与物联网技术开发的国家级高新技术企业。

十多年来,优飞迪科技在数字孪生、工业软件尤其仿真技术、物联网技术开发等领域积累了丰富的经验,并在这些领域拥有数十项独立自主的知识产权。同时,优飞迪科技也与国际和国内的主要头部工业软件厂商建立了战略合作关系,能够为客户提供完整的产品开发平台解决方案。

优飞迪科技技术团队实力雄厚,主要成员均来自于国内外顶尖学府、并在相关领域有丰富的工作经验,能为客户提供“全心U+端到端服务”。


来源:IFD优飞迪
汽车芯片通信数字孪生控制渲染
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-11-04
最近编辑:2年前
优飞迪科技
赋能新仿真,创优新设计
获赞 309粉丝 285文章 391课程 4
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈