このページでは

C

Qt Quick Ultralite の概要

Qt Quick Ultraliteは、Qtの主要なグラフィカルユーザーインターフェース機能を、マイクロコントローラ(MCU)を搭載したリソースに制約のある組込みシステムに提供します。流動的なGUIを構築するための豊富なQML APIセットと、Qt Quick ベースのグラフィカルユーザーインターフェース(GUI)をレンダリングするための効率的なグラフィックエンジンを提供します。

Qt Quick Ultraliteは、メモリフットプリントやCPUサイクルなど、MCUプラットフォームのリソース制約を意識しています。Ultraliteは、MCUプラットフォームで利用可能なリソースで、アプリケーションを最適に動作させます。

主な機能

表示テキスト
  • 任意の解像度
  • GPUサポート
  • ハードウェアアクセラレーションレイヤー
  • 柔軟なフレームバッファリング
  • 表示内容の90度、180度、270度回転
  • ソフトウェアベクターグラフィックス
  • ランタイムまたはコンパイル時のフォントレンダリング
  • あらゆる言語に対応
  • アンチエイリアス
  • テキストラップ
  • RTLおよびBiDi
  • テキストアイテムに画像やアイコンを追加できるリッチテキストのサポート
コントロールエフェクト
  • QMLを使った流動的なGUIを構築するための20以上の既製UIコントロール
  • 強力なアニメーションフレームワーク
  • 2.5Dエフェクト
スタイル入力
  • カスタムスタイリングとテーマ設定
  • あらゆる入力デバイスを統合
  • タッチインターフェースのバーチャルキーボード
2Dドローイングツール
  • 2Dベクトルグラフィックスとシェイプ(矩形、線、円弧、パスなど)
  • アンチエイリアス
  • C++03(ISO/IEC14882:2003)、C++11(ISO/IEC14882:2011)、C++14(ISO/IEC14882:2014)に準拠したQML、画像、フォント資産用のコードジェネレータ。
  • CMake、Zephyr 、GHS MULTI IDE、Espressif IoT Development Framework(ESP-IDF)用のプロジェクトジェネレータ。
画像対応プラットフォーム
  • さまざまな8ビット、16ビット、24ビット、32ビットのピクセルフォーマット。
  • PNGおよびRLE画像圧縮
  • アニメーション画像
  • ランタイム画像カラー化
  • JPEGデコード
  • RenesasNXPInfineon 、ST などの最も一般的な MCU 用のポート。
  • AUTOSAR、ZephyrFreeRTOS などのベアメタルまたは RTOS をサポート。
ポジショニングとロケーションその他
  • 地理座標とタイル型ウェブマップをサポート。
  • 豊富なドキュメント、チュートリアル、サンプル。

最小ハードウェア要件

Qt Quick Ultraliteには、一般的なMCUプラットフォームの評価キット用プラットフォーム実装セットが含まれています。これらのプラットフォームのリストについては、サポートされるターゲットボードと開発ホストを参照してください。

Qt Quick Ultraliteは、ディスプレイ駆動が可能で、以下の要件を満たす最新のMCUプラットフォームであれば、どのようなものにも適合させることができます:

  • マイクロコントローラ/プロセッサ:Cortex M4、M33、またはそれ以上。浮動小数点ユニット(FPU)はオプションですが、性能を大幅に向上させます。
  • RAM(内部/外部):
    • スタティック RAM:最小限のアプリケーションでは 20 Kb、一般的なアプリケーションでは 200 Kb 以上。
    • スタック:2~12Kb。
    • ヒープ:20Kb

    また、ディスプレイサイズ、色深度、フレームバッファ戦略(シングルバッファリングまたはダブルバッファリング)に応じて、フレームバッファ用に十分なRAMが必要です。

  • フラッシュ/ROM:500KB以上。
  • GPU/ハードウェア・アクセラレーションはオプションですが、アニメーションで20FPS以上のフレームレートを実現するには必須です。
  • ディスプレイ・インターフェース高解像度およびフレームレート用のRGB、MIPI-DSI、またはLVDS 低解像度および/または低フレームレート用のSPI、またはパラレル。
  • Qt Quick Ultralite がサポートするpixel formats のいずれかをサポートするグラフィックドライバ。

注: 得られる最大解像度とフレームレートは、ディスプレイインターフェースによって異なります。

ハードウェアアクセラレーション

Qt Quick Ultraliteは、ハードウェアアクセラレーションをサポートするプラットフォーム上で、ハードウェアアクセラレーションを使用します。20fps以上のフレームレートでアニメーションを実行するにはハードウェアアクセラレーションが理想的ですが、厳密な要件ではありません。

以下のグラフィック操作は、MCUプラットフォームに応じてハードウェアアクセラレーションが使用されます:

  • 画像描画
  • テキスト描画
  • 矩形描画
  • 2Dパス描画
  • 画像、テキスト、矩形、パスの2Dおよび2.5D変換
  • ブレンド(画像、テキスト、矩形、パス、レイヤー)
  • ランレングスエンコード(RLE)画像デコード

Qt Quick Ultraliteには、以下のドライバ用のハードウェアアクセラレーショングラフィックス実装が付属しています:

  • CyGfx (Infineon Traveo T2G)
  • DaveHD (Renesas RH850)
  • PxP (NXP i.MX RT)
  • VGLite (NXP i.MX RT1170)
  • Chrom-ART (STM32)

メモリフットプリント

RAMの使用量は、ディスプレイのサイズと色深度、使用するQt Quick Ultralite機能、およびアプリケーション内のGUI要素の数によって異なります。

典型的なアプリケーションは、使用する解像度と色深度の組み合わせによって、次のようなメモリーフットプリントになります:

  • 低解像度と色深度:少なくとも150~250Kb
  • 中解像度と色深度:少なくとも400~700Kb
  • 高解像度と色深度:2 Mb以上

Qt Quick UltraliteアプリケーションのFlashまたはROMの使用量は、使用する画像やフォントの数によって異なります。通常は500Kbから10MbのFlashまたはROMで十分です。

注: Qt Quick Ultraliteは、メモリフットプリントを減らすのに役立つさまざまなフレームバッファリング技術を提供します。例えば、パーシャルフレームバッファリングはRAM消費を少なくとも10%削減します。

互換性Qt Quick

バージョン1.3以降、Qt Quick Ultralite が提供するQMLサブセットは、以下のソースと互換性があります。 Qt Quick.これにより、Qt Quick を使ってQt for MCUs アプリケーションを実行することができます。また、Qt QuickQt Quick ControlsQt Quick Timelineをベースとした既存のコードを、Qt for MCUs アプリケーションで再利用することができます。

Qt Quick Ultralite コードのほとんどはQt Quick で動作しますが、いくつか注意すべき制限事項があります。以下のトピックでは、2つのQMLタイプセットの違いを説明し、効率的に使い分けるための 手助けをします:


詳細はこちら。