Qtブログ(日本語)

Qt for MCUs 2.8 LTSがリリースされました

作成者: Qt Group 日本オフィス|Jun 20, 2024 1:09:46 AM
本稿は「Qt for MCUs 2.8 LTS released」の抄訳です。
 

Qt for MCUs 2.8 LTSのリリースを大変嬉しくお知らせいたします。

今回のリリースには、魅力的な新しいGUIビルディングブロック、ビルドツールのワークフローの改善、Infineon TRAVEO T2Gマイクロコントローラーのサポート拡張など、さまざまな新機能が含まれています。

Qt for MCUs 2.8は長期サポート版であり、開発期間中の安定性が向上しています。そのため、新しいプロジェクトにはこのバージョンをお勧めします。標準サポートは18ヶ月間提供され、2025年12月まで利用可能です。

このバージョンの変更点の全リストは、変更履歴でご確認いただけます。

続けて、このリリースのハイライトをご覧ください。

動的レイアウト

Qt Quick UltraliteにQt Quick Layoutsモジュールを追加し、リサイズ可能なユーザーインターフェースを簡単に作成できるようにしました。

この追加は、同名のQt 6モジュールから直接適応されたもので、Layout、GridLayout、ColumnLayout、RowLayoutのQMLタイプを含むAPIのサブセットを提供します。動作と命名は互換性があり、MCUおよび非MCUプラットフォームの両方を対象としたアプリケーション間でのコード再利用が可能です。

RowやColumnタイプとは異なり、これらのレイアウトは子要素の配置だけでなく、サイズ変更も可能です。これにより、異なる画面解像度を一つのデザインで対応する際に必要となる、リサイズ可能で応答性の高いコンポーネントに特に適しています。

新しいレイアウトのサンプルアプリも追加されており、アプリケーションへの統合の参考にしていただけます。

バーチャルキーボード(技術プレビュー)

多機能でありながら軽量な仮想キーボードコンポーネントを追加しました。一般的なすべての言語に対応する予定です。

テキストや数値の入力は、特にタッチスクリーン対応デバイスにおいて、あらゆる種類のアプリケーションで最も一般的なUI機能の一つです。さまざまな言語をサポートする柔軟な仮想キーボードの作成は容易ではありません。複雑なコンポーネントの作成に時間をかけることなく、製品の開発に専念していただけるよう、Qt for MCUsにQt Virtual Keyboardモジュールを追加しました。このモジュールは、Qt 6の同モジュールから一部の機能とAPIを取り入れています。

この機能は、Qt for MCUs 2.8 LTSで技術プレビューとしてリリースされました。英語、ドイツ語、数値入力用のキーレイアウトが組み込まれており、代替文字ビュー、動的言語切り替え、異なるサイズへのスケーラビリティといった機能を備えています。この新しいコンポーネントに対応するために、ハードウェアキーの処理も可能なTextInput QMLタイプも追加しました。

今後のリリースでは、モジュールは安定版にアップグレードされ、仮想キーボードとTextInputコンポーネントには、多言語サポート、完全なスタイルおよびレイアウトのカスタマイズ、テキスト選択などの追加機能が提供される予定です。

アプリケーションでの使用方法は簡単で、新しいtext_inputの例で確認できます。

サードパーティのビルドツールでワークフローをより迅速に

qmlprojectexporterツールは新しいエクスポートオプションが追加され、Qt for MCUsプロジェクトから自己完結型のCMSIS-PackやCMakeパッケージを作成できるようになりました。

Qt Creatorは、Qt for MCUsを使用してアプリケーションをビルドするためのすぐに使える環境を提供します。特に評価ボードでのプロトタイピングやデスクトップシミュレーターを使用したGUI開発に便利ですが、最終ターゲットデバイス向けに完全なアプリケーションを開発する際には、他の組み込みIDEやビルドシステムと併用するユーザーも多くいます。このワークフローを簡素化するために、Qtツールにエクスポートオプションを追加し、NXP MCUXpresso IDE、Zephyr、ESP-IDFなどの他のプロジェクトにインポート可能なパッケージを生成できるようにしました。

CMSIS-Pack

qmlprojectexporterによって生成されたCMSIS-Packには、Qt for MCUs GUIをCMSIS-Pack標準をサポートするIDE内でビルドするために必要なすべてが含まれています。これには、Qt Quick Ultraliteのヘッダーとライブラリ、ターゲットプラットフォームのソース、およびグラフィカルアセットが変更されたときにGUIソースを生成または再生成するためのロジック(QML、画像、フォント)が含まれています。

このオプションの使用方法については、このページおよびNXP i.MX RT1170の更新されたクイックスタートガイドで学ぶことができます。

CMake package

新しいCMakeエクスポートオプションを使用すると、CMSIS-Packと同じ要素を含む自己完結型のパッケージを作成できますが、これは任意のCMakeベースのプロジェクト用です。これにより、Qt for MCUs独自のCMakeビルドシステムを使用する必要がなくなります。これにより、例えばZephyrやESP-IDFとの統合が容易になります。

このオプションについての詳細は、このガイドで学ぶことができます。

今後のリリースでは、Infineon Modus Toolbox、STM32CubeMX/IDE、Renesas e² studio、IAR Embedded Workbench、Arm Keil MDKなどのツールにも同様のワークフローを提供するためのオプションを追加する予定です。

Infineon TRAVEO T2Gのサポート拡張

Infineon TRAVEO T2Gファミリーのマイクロコントローラー向けプラットフォームポートが拡張され、ハードウェアアクセラレーションによるJPEGデコードのリファレンス統合と新しい4M Lite Kitボードのサポートが追加されました。

TRAVEO T2G  Cluster 4M Lite Kit

TRAVEO T2G 4M Lite Kitは、InfineonのCYT3DLマイクロコントローラーに基づいた新しい低コスト評価ボードです。オンボードのUSBデバッグプローブとUSB経由のRGBディスプレイ出力を備えており、グラフィックスをホストコンピューターにストリーミングすることができます。これにより、物理的なディスプレイが不要となり、異なるディスプレイ解像度に設定可能なため、GUIのプロトタイピングと開発が非常に便利になります。以下のキャプチャは、VLCメディアプレーヤーが4M Lite Kit上でレンダリングされた1280x480アプリケーションのストリームを表示している様子を示しています。

このボードは、Qt for MCUs 2.8 LTSでTier-2ターゲットとして追加されました。USB経由のディスプレイ機能の使用方法については、こちらをご覧ください。

ハードウェアアクセラレーションによるJPEGデコード

CYT4DNおよびCYT4ENマイクロコントローラーには、高解像度JPEGフレームをリアルタイムでデコードできる画像デコーダーが内蔵されています。これにより、スタートアップアニメーション、事前レンダリングされた3Dアニメーション、他のデバイスからのグラフィックスストリーミングなどのユースケースを、メモリ使用量を最小限に抑えながら実現できます。

Qt for MCUsのimagedecoderの例は、TRAVEO T2G JPEGデコーダーの統合により拡張され、QMLのImagesおよびAnimatedSpritesのバックエンドとしての使用方法を示すリファレンスが提供されています。

その他の機能

Qt Quick Ultraliteをさらに軽量化するために、QMLから生成されるC++コードに追加の最適化を導入しました。これにより、バイナリの.textセクションのサイズが減少し、全体的なフラッシュメモリの使用量が削減されます。その結果、Qt for MCUs 2.8 LTSでコンパイルされた同じアプリケーションは、2.7と比較して平均で1%から3%小さく、2.5 LTSと比較して4%から10%小さくなります。

Monotype Fontmap Editorツールのバージョン3.1.1がQt for MCUsに含まれるようになりました。このツールには、動的Sparkフォントエンジンで使用するフォントから未使用のグリフデータを削除する「サブセッティング」機能が追加されました。これにより、特定のアプリケーションフォントから必要な文字セットが限られている場合、フラッシュメモリを数メガバイト節約できます。

最後に、Qt for MCUs 2.7で技術プレビューとして導入されたディスプレイ回転の設定機能が、安定版にアップグレードされました。ランタイムのパフォーマンス低下を最小限に抑えるための新しい最適化が追加され、ドキュメントも改善されました。

今後追加予定の機能

2024年の最後の機能リリースとして、Qt for MCUs 2.9が11月に予定されています。以下は、予定されている主なハイライトです :

  • Qt Quick Ultralite for embedded Linux: リソースが限られたSoC/MPUベースのシステム向けに、大規模なQtの代替となる軽量版を提供。
  • バーチャルキーボードの改善: 追加の言語とカスタマイズサポートが提供されます。
  • Zephyr RTOSおよびビルドシステムとの統合
  • QMLのリストタイプの追加

来年を通じて、他にもエキサイティングな新機能が続々と登場予定ですので、ご期待ください。

今すぐQt for MCUs 2.8 LTSを手に入れましょう!

既存のQt for MCUs開発者の方は、Qt for MCUsインストールディレクトリのルートにあるQtメンテナンストールからQt for MCUs 2.8 LTSをダウンロードできます。初めての方は、こちらから始めてください。いずれにしても、新機能と改良をお楽しみいただければ幸いです。また、コメントでフィードバックや機能リクエストをお寄せいただけると嬉しいです!