Qt for MCUs 2.9のリリースを発表いたします。このリリースには、Qt for MCUsがIoT、家電、自動車分野においてより多くのユースケースをサポートできるようにする多くの主要機能が含まれています。本記事では2.9リリースの主なハイライトをいくつかご紹介します。
IoTと消費者向けデバイスへの注目が高まる中、Qt for MCUsは現在、汎用Zephyrプラットフォームのバックエンドを備えており、Zephyrを実行するデバイス上でスムーズなグラフィックを実現します。Linux Foundationのサポートを受け、Linuxライクな機能を備えたより強力なRTOSオプションとして、Zephyr RTOSはマイクロコントローラベースの開発の世界で非常に人気が高まっています。Qtは、IoT開発を加速させるため、Zephyrプロジェクトにシルバーメンバーとして加盟しました。
Qtは、NXP RT Crossover MCU(i.MX RT 1050、1060、1064)をサポートしており、PXPグラフィックアクセラレーションは、そのままの状態でもサポートされています。qmlprojectexporterは、WESTビルドシステムとの統合を容易にする汎用CMake形式でMCU向けQtプロジェクトをエクスポートできるよう拡張されました。Qt Quick Ultralite プロジェクトを既存の Zephyr プロジェクトに統合できるように、明確なアプリケーションのビルドフローが定義されました。
Qt は、Zephyr によるグラフィカルなユースケースに関連するプラットフォームのサポートをさらに増やすことに引き続き注力していきます。
Qt for MCUsは、これまで常に、ベアメタルまたはリアルタイムOSを実行するリソース制約のマイクロコントローラ向けのGUIフレームワークでした。2.9では、そのサポートがMPUでLinuxを実行するものにまで拡張されました。つまり、Linuxを実行するデバイスであれば、linuxFBまたはDRMグラフィックバックエンドを搭載したデバイスであれば、Qt Quick Ultraliteアプリケーションを実行できるということです。これにより、3Dグラフィックアクセラレータを搭載していないエントリーレベルのMPUでも、軽量かつ機能豊富なGUIを実装できるようになり、標準のQtと比較してパフォーマンス(RAM消費量やFPS)が向上します。
2.9の一部として、NXP i.MX93 EVK用のBoot to Qtパッケージで移植が検証されています。Qtユーザーは、Qt Creatorから2.9 Linux キットを使用して、Boot to Qt Linuxを実行しているNXPデバイスに静的リンクされたアプリケーションを展開することができます。
汎用Linuxへの移植とドキュメントも提供されており、汎用Yocto Linuxディストリビューション上でMCU用のQtをユーザーが移植する際に役立ちます。
Virtual Keyboardモジュールが、ユーザーがアプリケーションをよりアクセスしやすく、カスタマイズしやすくする実用的な機能を備えた完全安定版機能リリースとして追加されました。
レイアウトAPIが導入され、ユーザーはカスタムレイアウトを作成し、新しい言語のサポートを追加できるようになりました。これはQt6のバーチャルキーボードと一致しています。また、キーボードの外観をカスタマイズできるよう、カスタムスタイルもサポートされるようになりました。
このリリースには、簡体字中国語入力用のピンインの提案を含む、ラテン語、中国語、ヒンディー語、アラビア語、ヘブライ語など、39か国語が完全対応されています。
新機能の一覧はこちらでご覧いただけます。
機能安全の分野において、Qt for MCUs は、安全認証済みの Qt Safe Renderer (QSR)のサポートにより、画面上の安全上重要な情報や通知を処理できるようになりました。 3つの新しい QML アイテムである QSafeImage、QSafePicture、QSafeText が導入されました。 これらは、アイコン、画像、静的および動的テキストの観点から、安全なアイテムを Qt Quick Ultralite アプリケーションに含める機能を提供します。QSRの安全監視機能により、安全項目は、HWプラットフォームが提供する表示完全性チェッカーと連携して、CRCが継続的にチェックされます。この参照実装は、AUTOSAR Classicプラットフォームを実行するRenesas RH850 D1M1Aで利用可能です。
残りの Qt Safe Renderer 機能のサポートを追加する公式の Qt Safe Render リリース(2.2)をお待ちください。
これまでのリリースと同様に、生成されたC++コードの最適化により、Qt Quick UltraliteアプリケーションのROMフットプリント (フラッシュサイズ) が改善されました。当社のリファレンスアプリケーションでは、最大4%のフラッシュサイズの改善が確認されています。
ハードウェアアクセラレーションによるJPEGデコードが、Renesas RH850 D1M1Aマイクロコントローラで利用可能になりました。この新機能追加に伴い、画像デコーダのサンプルが更新されました。
改善されたプラットフォーム移植ガイドが導入され、プラットフォーム対応プロセスがよりスムーズに、段階的に行えるようになりました。パートナーおよびプラットフォーム対応者は、このガイドにより大いに助けられるでしょう。
ListModel<T>を置き換えるQMLリスト基本型が導入されました。これは Qt 6 API と整合しています。これにより、QML コンポーネント間で汎用リストを共有できるようになり、Qt Quick Ultralite と Qt Quick 間のコードの再利用性が向上します。
新しいプラットフォームサポートの一環として、ITE986x HDK の Tier-3 プラットフォームサポートを 2.9 にアップグレードし、パフォーマンスを向上させ、ITE ツールチェーンとの統合を行いました。
2025年の最初の機能リリースは、3月のQt for MCUs 2.10となります。 予定されているハイライトの一部は次のとおりです。
その他にも、来年にかけて、魅力的な新機能が追加される予定です。最新情報にご期待ください。このバージョンの変更点の一覧は、変更履歴でご覧いただけます。
すでにQt for MCUsの開発者の方は、Qt for MCUsのインストールディレクトリのルートにあるQt Maintenance ToolからQt for MCUs 2.9をダウンロードできます。初めて試してみようという方は、こちらをクリックして始めてください。いずれの場合も、新機能や改善をお楽しみいただければ幸いです。また、いつも通り、コメント欄にフィードバックや機能リクエストをお寄せください。