Qtブログ(日本語)

Qt for MCUs 1.8をリリースしました

作成者: Qt Group 日本オフィス|Apr 20, 2021 3:52:10 AM

本投稿は「 Qt for MCUs 1.8 released」の抄訳です。
Qt for MCUsの新たな機能アップデートの配布を開始しました。バージョン1.8をダウンロードして、新たに対応したMCUプラットフォームや、メモリーフットプリントの削減オプション、拡張性に優れた高度なユーザーインターフェースを作れる新しいAPI、既存のプロジェクトへのQtの統合を簡素化するソリューションをご利用ください。

新規ユーザーの場合、こちらから商用版の評価ライセンス(無料)をお試しいただけます。既存のユーザーの皆様は、Qt Installerで最新バージョンへのアップデートを行ってください。

バージョン1.8の変更点をまとめたリストは、オンラインドキュメンテーションの変更履歴をご覧ください。本リリースの詳細な内容はこのブログ投稿でご紹介します。

新たな対応プラットフォーム

NXP i.MX RT1170

MX RT1170は、NXPの最も強力なクロスオーバーMCUです。最大動作1GHzのArm® Cortex®-M7コアを搭載し、高度なグラフィック機能とリアルタイム処理を提供します。Qt for MCUsはVGLite APIを介して統合GPUを利用し、プラットフォームのあらゆる機能を使用することで、モダンでなめらかなUIを非常に効率良く作ることができます。
本プラットフォームのテクノロジープレビュー版は、Qt for MCUs 1.4以降でご利用いただけます。現在、このポートはサポートの対象となっており、EVKボードでの評価を以下のデモのソースコードですぐにお試しいただけます。

本ポートの詳細は過去のブログポストでご覧ください。

Renesas RA6M3

Renesas RA6M3マイクロコントローラグループは、産業用およびIoT用のMCUで、高性能Arm® Cortex®-M4コアを搭載しています。Qt for MCUsは本MCUのLCDコントローラと2Dアクセラレータを使い、クラス最高のHMIを実現します。
他の対応プラットフォーム同様、Renesasの評価キットでお試しいただけるので、Qt Quick Ultraliteアプリケーションを実際のハードウェアでスピーディかつ容易に試作/試用することができます。

高度な2D描画

Qt Quick Ultraliteフレームワークは、画像やテキスト、長方形といった基本的なGUI構成要素に加え、ボタンやスライダーなどの一般的なコントロールを提供します。今回、機能を拡張するために、Qt Quick Ultralite Shapesモジュールを追加しました。これはQt Quick Shapes APIsのサブセットで、直線曲線円弧SVGパスといったベクトル形状を定義し、それらをQMLバインディングやアニメーションでダイナミックにモーフィングしたりできます。たとえば、複雑な動的2Dグラフィックやスケーラブルなグラフィックアセットの作成、大きな画像のRAM/ROMの使用量を減らすといった目的で、これらのAPIを利用できます。

以下の活用例で、APIの機能の一部をご確認ください。

以下は有名なGhostscriptの「虎」をQt Quick Ultralite Shapesに変換したものです。

 

このモジュールは現在、VGLite API用のハードウェアアクセラレーションが実装されたi.MX RT1170プラットフォームでのみ利用できます。Qt Quick Shapesはデスクトップに実装すればプレビューとプロトタイピングを容易に行えます。Qt for MCUsの今後のバージョンでは、適切な機能を備えたプラットフォーム向けのハードウェアアクセラレーション実装の追加と、他のプラットフォームへのソフトウェアフォールバックが含まれる予定です。

フットプリントの削減

新たなメモリーフットプリント削減オプションが加わりました。

  • Qt Quick Ultraliteエンジンは現在、8bitのカラー画像をサポートしています。アプリケーションに含まれる画像はコンフィギュレーションを使用して、8bit、16bit、または32bitに変換可能です。ビット深度が低いほど、フットプリントは小さくなりますが、その分、表現できるカラーも減ります。Qt for MCUsは8bitアセットにRGB332ピクセルフォーマットを使っています。
    RGB332データを扱えるディスプレイコントローラ内蔵のデバイスであれば、QULエンジンは8bitフレームバッファを使用して、RAMのフットプリントを削減するようにコンフィグレーションできます。
  • フォントデータは、アプリケーションで使用されるフォントエンジンに応じて、QUL_GLYPHS_COPY_TO_RAMまたはQUL_FONT_FILES_COPY_TO_RAMを使い、常にRAMから読み込むように構成できるようになりました。起動時にフォントデータをRAMにコピーしておけば、高いフレームレートが得られますが、この方法では、アプリケーションで表示する必要のある言語とフォントの数によっては、RAMの使用量が大幅に増える可能性があります。

あらゆるビルドシステムと容易に統合

Qt for MCUsは、CMakeを使ったプロジェクトのセットアップやアプリケーション構築をサポートしています。QUL GUIと非CMakeプロジェクトの統合を簡素化するために、CMakeヘルパー機能を新たに追加し、Qtプロジェクトの実行ファイルではなく、静的ライブラリを作成できるようにしました。作成された静的ライブラリには、ハードウェア固有のコードが含まれず、他の開発システムやIDEベースのプロジェクトに含めることができます。

この機能の使用例をSDKでご覧いただけます。

今後の開発予定

Qt for MCUs 1.9のリリースを6月に予定しており、Linux向け開発ツールや複雑なスクリプトや双方向テキストのサポート、Infineon(Cypress)Traveo II platform(CYT3DL/CYT4DNシリーズ)サポートなど、リクエストを多数いただいている機能を新たに追加する計画です。

Qt for MCUsは2019年12月以来、リリースを頻繁に行い、ユーザーの皆様が開発サイクルにおいていち早く新機能を活用できるように努めています。具体的には19カ月間で10回のリリースを実現しました。バージョン1.9のリリースに際しては、ユーザーの皆様からリクエストいただいた、特に優先順位の高い機能の最終セットを提供する予定で、製品開発戦略において大きなマイルストーンを達成できると考えています。バージョン1.9は1.xシリーズの最終バージョンとなります。2021年後半には、製品開発戦略の焦点をこれまでの新機能追加から、安定性やツールの向上に移行してまいります。また、2.xシリーズでは長期サポートリリースの提供も計画しています。今後のリリースについて、詳細は随時お知らせする予定です。