Qt for MCUs 2.6リリース

Qt for MCUs 2.6 がリリースされました。 前回の 2.5 LTS リリースに続き、2.6 では主要なパフォーマンスの改善と、オートモーティブおよび家電製品の主要なニーズと要件に焦点を当てた貴重な機能が追加されています。

本稿は「Qt for MCUs 2.6 released」の抄訳です。

本バージョンの変更点一覧は変更履歴をご覧ください。リリースの特徴は本記事でお読みください。

Qt Quick Ultraliteの新しいQML API

アプリケーションの機能の実装を簡素化し、非MCUプラットフォーム用に書かれた既存のコードの再利用性を高めるために、非MCU Qtから直接適応された新しいQML APIを追加することで、Qt Quick Ultraliteのコア機能を拡張しました。これらのAPIは次のとおりです。

新ベンチマーク機能でパフォーマンスを中心に

包括的なパフォーマンスデータの利用は、ソフトウェア開発プロセスにおいて重要です。最高のパフォーマンスと最小のメモリフットプリントを達成するために、重要な意思決定を行い、設計や実装を調整する必要があります。QulPerf QMLタイプは、実行中のアプリケーションからフレームレート、CPU使用率、ヒープメモリ使用率、スタックメモリ使用率にアクセスと表示を行うための新しいメトリックセットで拡張されました。

さらに、いくつかのデモでは新しいベンチマーキングモードが有効になりました。これにより、カスタムプラットフォームポートのパフォーマンスレベルをリファレンスtier-1プラットフォームと比較したり、アプリケーションを新しいQt for MCUsのバージョンにアップグレードする際のパフォーマンス回帰テストに役立ちます。

ベンチマーク機能は、設定可能な時間範囲でパフォーマンスメトリックスを記録し、独自のベンチマークを作成するために、Qt for MCUsアプリケーションに簡単に統合できます。

ファイルシステムのサポート(技術プレビュー)

多くの場合、マイクロコントローラベースのデバイスでは、画像アセットはフラッシュメモリに格納され、Qt for MCUsエンジンによって直接メモリアドレスを介して取得されますが、現代のマイクロコントローラにはファイルシステムのサポートを備えた外部ストレージがしばしば存在し、QMLアプリケーションがファイルシステムからアセットを取得して動的なユースケースを実現することが便利でfilesystemす。新しいファイルシステムインターフェースAPIを使用すると、アプリケーションにお好みのファイルシステムを登録および統合し、Qt Quick Ultraliteエンジンがその中にあるイメージを検索および表示できるようになります。FATファイルシステムのリファレンス実装も提供されています。

イメージアセットは、QML内でfile://のプレフィックスを使用して参照することができます。これにより、デバイスのファームウェアを変更せずに、置き換え可能なGUIテーマなどの要件に応じて、イメージアセットを動的に置き換えることが可能になります。アプリケーションでの実装方法については、Qt for MCUsのインストールフォルダにある新しいfile-loadingのサンプルを参照してください。

安定版リリースへの次のステップとして、ファイルローディング機能をさらに改良し、カスタムイメージ形式のロードおよびデコード機能と統合する予定です。

GHS MULTI IDEの自動車用ツール統合

Qt for MCUsは、確立された開発者のワークフローやツールとシームレスに連携するプラットフォームを目指しています。Green Hills MULTI IDEは、自動車プロジェクトにおいて好まれるツールの1つであり、この新機能により、QtとGreen Hillsツールの間でシームレスなワークフローを実現します。qmlprojectexporterツールは、Qt for MCUsのすべての要素が事前に統合されたMULTIプロジェクトの作成をサポートし、QML GUIの内容が変更された場合にはMULTIプロジェクトを自動的に更新することができます。また、qmlprojectexporterによって初期に生成されていない場合でも、既存のMULTIプロジェクトにQt for MCUsを拡張することができます。

この機能に関する詳細は、Generating GHS Multi IDE projectsのページでご覧ください。

AUTOSAR Classic サポート

AUTOSAR Classicを実行する複数ECU駆動およびソフトウェア定義型自動車(SDV)が、インストゥルメントクラスターやHVACディスプレイなどのタッチ画面ベースのディスプレイに適応しているため、Qtはお客様やAUTOSARベンダーと協力し、安全なAUTOSAR Classicアーキテクチャで実行されるGUIアプリケーションの要件を把握し、Qt for MCUsの堅牢かつ実証済みの統合を提供しています。

MicrosoftTeams-image (20)-1

Qt for MCUs 2.6では、ルネサスRH850/D1M1Aオートモーティブプラットフォーム向けのQt for MCUsの最初のAUTOSARプラットフォーム移植版がリリースされました。完全なQtスタックは、AUTOSAR Classicアーキテクチャ内のComplex Device Driverとして統合されており、業界標準のAUTOSAR向けツールソリューションでテストされています。この統合の詳細については、ドキュメントをご覧ください。C++ベースのQt for MCUs APIとCベースのAUTOSARの世界との統合を実証するために、新たに最小限のinstrument clusterサンプルを導入しました。

将来的には、より多くの車載用 MCU を Qt on AUTOSAR で使用できるようにする予定です。また、Qt for MCU がホスト PC 上で AUTOSAR/CAN データシミュレーションの統合をどのようにサポートするかも検討しています。このソリューションの詳細については、近日中に別のブログ記事を公開する予定です。

新しいプラットフォームの統合

新しいマイクロコントローラプラットフォームがいくつかQt for MCUsに移植されました。

QtとNuvotonは協力して、3つの新しいプラットフォームを利用可能にしました。

Qt for MCU は、NeoChrom GPU を搭載した低消費電力 Cortex-M33 ベース MCU の STM32U599/5A9 シリーズもサポートします。

2.5 次元変換アクセラレーションやその他の高度な機能のような特別な機能により、Qt for MCU はこのプラットフォーム上で最適な選択肢となります。

Tier-3 プラットフォームとして、Generalplus 社の GP3285xx シリーズのマイクロコントローラをサポートしました。

NXP i.MX6 および STM32MP157 シリーズ用の Boot2Qt Linux パッケージの実験的ポートが利用可能になりました。これにより、メモリリソースが限られた Linux ベースのシステムで、より柔軟に適切な Qt GUI ソリューションを選択できるようになります。

これらのプラットフォームポートへのアクセスについては、サポートセンターを通じて Qt Company にお問い合わせください。

さらに

コード生成の最適化により、生成されるC++コードの冗長性が削減され、ほとんどのアプリケーションで.textセクションのサイズが1%から8%削減されて、全体的なROM/フラッシュ要件が削減されます。

AnimatedSpriteの実装に改良が加えられ、フレーム間の複数のユニークな領域を検出し最適化することで、起動シーケンスのような複雑なアニメーションを表示するために複数のフレームを格納に必要なフラッシュのフットプリントをさらに削減します。

すべてのTier-1プラットフォーム・ポートは、最新のハードウェア・ベンダーSDKバージョンをサポートするようにアップグレードされました。

リリースの変更履歴で全機能をご確認ください。

今後は

Qt for MCUs 2.7 は来年 3 月にリリースされる予定で、新機能の追加やパフォーマンスの向上など、フレームワークの改善を継続する予定です。今後のリリースで期待される機能には、フル機能の仮想キーボード静的なフルスクリーン GUI の回転グラデーションJPEGのハードウェアアクセラレーションカスタム画像デコーダのサポート、CMSIS-packs などがあります!

Qt Quick Ultralite のサイズを常に小さくする努力を続け、より新しいプラットフォームにも簡単に対応できるよう、移植ガイドを改善していきます!

今すぐ Qt for MCUs 2.6 を入手してください!

既存の Qt for MCUs 開発者の方は、Qt for MCUs のインストールディレクトリのルートにある Qt Maintenance Tool から Qt for MCUs 2.6 をダウンロードできます。初めて Qt for MCUs をお使いになる場合は、こちらをクリックしてください。いずれにせよ、新機能や改善点を楽しんでいただければ幸いです!ご意見、ご要望がございましたら、コメントにてお寄せください。


Blog Topics:

Comments