C
Infineon TRAVEO T2G
注: Infineon の TRAVEO T2G用プリビルドライブラリは、GHS 2017.1.4コンパイラを使用してビルドされています。別のコンパイラバージョンを使用するには、Qt Quick のUltraliteライブラリを再ビルドする必要があります。詳細については、「ソースからQt Quick Ultraliteをビルドする」を参照してください。
評価ボードの機能
以下の詳細は、対応する評価ボードに関するものです。アクセス可能なメモリの最大容量など、デバイス固有の一般的な詳細については、ここでは記載していません。
| ハードウェアボード | CPUモデル | CPUタイプ | VRAM | 内蔵フラッシュ | 内蔵SRAM | 外部フラッシュ (ポート、タイプ) | 外部RAM(ポート、タイプ) |
|---|---|---|---|---|---|---|---|
| TRAVEO T2G CYT3DL (4M 216) | CYT3DLABHS | 240 MHz の 32 ビット Arm Cortex-M7 コア 1 つと、100 MHz の Arm Cortex-M0+ コア 1 つ。 | 2048 KB | 4160 KB | 384 KB | 64 MB の SEMPER NOR フラッシュ (SMIF0#0、S26HL512T)![]() |
|
| TRAVEO T2G CYT3DL (4M LITE KIT) | CYT3DLBBHS | 64 MB の SEMPER NOR フラッシュ (SMIF0#0、S26HL512T)![]() | 8 MB の HyperRAM (SMIF1#1、S27KL0642) 1 | ||||
| TRAVEO T2G CYT4DN (6M 327) | CYT4DNJBHS | 320 MHz の 32 ビット Arm Cortex-M7 コア 2 つと、100 MHz の Arm Cortex-M0+ コア 1 つ。 | 4096 KB | 6336 KB | 640 KB | 64 MB の HyperFlash NOR フラッシュ (SMIF0#0、S26HS512S)![]() | 8 MB の HyperRAM (SMIF1#0、S27KS0642)![]() |
| TRAVEO T2G CYT4DN (6M LITE KIT) | CYT4DNJBZS | 64 MB の HyperFlash NOR フラッシュ (SMIF0#0、S28HS512T) 1 | 8 MB の HyperRAM (SMIF1#1、S27KS0642)![]() | ||||
| TRAVEO T2G CYT4EN (6M DDR) | CYT4DNJBZS | 最大 LPDDR4 容量 |
|
|
この機能は、Qt for MCUs プラットフォームの適応版でサポートされています
1この機能は、GreenHills および IAR ツールチェーンを使用したQt for MCUs プラットフォームの適応版でサポートされています
1この機能はハードウェアではサポートされていますが、Qt for MCUs プラットフォーム・アダプテーションではサポートされていません
上記の表において、SMIFn#mポートとは、SMIFデバイスnのチャネルmを指します。SMIFポートはルーティングできませんが、使用される物理ハードウェアピンに接続されています。
サポートされる色深度
これらのボードのリファレンスポートは、1ピクセルあたり32ビットの色深度に対応しています。
また、ItemLayer APIでは1ピクセルあたり16ビットおよび24ビットの色深度もサポートされていますが、QUL_COLOR_DEPTHではサポートされていません。
詳細については、「色深度」を参照してください。
レイヤーのサポート
VRAMを最適に活用し、大画面ディスプレイへの対応を実現するため、Infineon TRAVEO T2Gは以下のレンダリングモードに対応しています:
- IBOモード - 画像ベースのレンダリングモード。描画コマンドはフレームバッファに直接実行されます
- LBOモード - ラインベース・レンダリングモード。描画コマンドはバッチ処理され、フレームバッファに対して行単位で実行されます
- OTFモード - オン・ザ・フライモード。描画コマンドはバッチ処理され、小さなラインバッファを介してディスプレイのリフレッシュサイクルごとに再生されます
概要
IBOモードでは、描画コマンドが発行された順序のまま、ターゲットのフレームバッファへ直接ブリティングが行われます。LBOモードでは、描画を1行ずつラインバッファに書き込んだ後、そのラインバッファ全体をフレームバッファに書き戻します。LBOモードは帯域幅を節約できるため、より高いパフォーマンスを実現できます。
LBOは、フレームバッファへの書き込み(LBO to memory)や、ディスプレイへの直接書き込み(LBO to display)に使用できます。 後者の方法はOTF(オン・ザ・フライ)とも呼ばれます。OTFの場合、VRAMにははるかに小さい行バッファを格納するだけで済むため、フレームバッファ全体のほんの一部しか必要としません。
IBOおよびLBO to memoryモードでは、一連のフレームバッファ(ダブルバッファ)を格納するためにwidth*height*bpp*2 バイトが必要です。OTFモードでは、width*lines*bpp バイトのみを必要とし、ここでlines はレイヤーごとのラインバッファの高さです。 デフォルトでは、TRAVEO T2G CYT3DLではlines が64に、TRAVEO T2G CYT4DNでは128に設定されています。必要に応じてlines を設定する方法の詳細については、「高度なレイヤー設定」を参照してください。これらに加えて、レンダリング命令やその他のレンダリング関連タスクには、比較的小さな追加のバッファが必要です。
OTFモードにはパフォーマンスとメモリ使用量の面でメリットがあるため、Qt Quick Ultraliteではこれがデフォルトのレイヤー設定となっています。
OTF モードの欠点は、レンダリング操作が多すぎると、LBO がラインバッファへの書き込みを時間内に完了できず、ディスプレイに視覚的な不具合が生じる可能性があることです。 そのため、OTF モードを使用する場合は、アプリケーションで同時に表示されるビジュアル要素、特に変換された画像アセット(ブリット処理に時間がかかるため)の数が多くなりすぎないように注意する必要があります。
レイヤーごとのレンダリングモードの選択
ItemLayer を作成する際、ItemLayer::renderingHints プロパティを使用して、使用するレンダリングモードを制御できます。プラットフォームのデフォルトのレンダリングヒントは、MCU.Config.platformDefaultLayerRenderingHintsで設定できます。TRAVEO T2G CYT3DLおよびCYT4DNのデフォルトはis OptimizeForSizeであり、これによりOTFレンダリングモードが採用されます。
IBOモードを使用するには、NoRenderingHint というレンダリングヒントを使用してください:
ItemLayer {
renderingHints: ItemLayer.NoRenderingHint
}また、LBO to memoryモードを使用するには、OptimizeForSpeed というレンダリングヒントを使用します:
ItemLayer {
renderingHints: ItemLayer.OptimizeForSpeed
}高度なレイヤー設定
場合によっては、Infineon TRAVEO T2G に固有の OTF レイヤー設定値の一部を上書きする必要がある場合があります。
このためには、 Qt Quick Ultralite configuration API for Infineon TRAVEO T2G を使用できます。これは、ItemLayer::platformId API を使用して、設定を変更するレイヤーに特定のプラットフォーム ID を割り当て、その後、提供されているTvii::Configuration::setConfigForOTFLayer C++ API を使用して、Qt Quick Ultralite アプリケーションの起動前にカスタムレイヤープロパティを設定することで機能します。
プラットフォーム ID の設定方法は以下の通りです:
ItemLayer {
platformId: 1
}C++ API を使用するために、正しいヘッダーをインクルードする方法は以下の通りです:
#include <tviiextras/tviiconfiguration.h>また、OTFレイヤーの設定方法は以下の通りです:
Tvii::Configuration::setConfigForOTFLayer(1, 64, 128 * 1024, 256);最初のパラメータは、QMLファイルで指定されているレイヤーのプラットフォームIDです。
2番目のパラメータはコプスの数です。これは、LBOモードで圧縮された画像をレンダリングするために使用されます。特定のレイヤーで多数の圧縮画像を使用する際にエラーが発生する場合は、この値をデフォルト値の16から増やしてみてください。
3番目のパラメータは、コマンドシーケンサの命令をバッファリングするために使用されるFIFOのサイズです。視覚要素の数が多ければ、より大きなFIFOバッファサイズが必要になる場合があります。デフォルト値は64 * 1024です。
最後のパラメータは、LBOが使用するラインバッファのサイズです。ラインバッファを大きくするとVRAMの消費量は増えますが、OTFモードで表示されるべき時刻までにラインのレンダリングが完了しなかった場合に発生しうる視覚的な不具合のリスクを低減できます。
詳細については、『TRAVEO T2G Clusterシリーズ用グラフィックスドライバ ユーザーガイド』を参照してください。
レイヤーおよびVRAMの最適化ガイド
Infineon のTRAVEO T2Gボードで Qt for MCUs を使用する際、アプリケーションのパフォーマンスを最大限に引き出す方法については、『Infineon 用TRAVEO T2GボードのレイヤーおよびVRAM最適化ガイド』を参照してください。
プラットフォームの制限事項
Layers のQML APIを使用する際には、いくつかのハードウェア上の制限があります:
- 実行時にレイヤーのz順序やサイズを変更することはサポートされていません。
- ImageLayer インスタンスの正しいZ順序は、UIの初期読み込み時にImageLayer::source プロパティが有効な画像URLに設定されている場合にのみ保証されます。
- アプリケーションで作成できるOTFレイヤーは最大2つまでです。
- サポートされるルートレイヤーの最大数は5つで、そのうちSpriteLayer レイヤータイプは最大3つまでです。
- SpriteLayer には、最大8つのサブレイヤーを含めることができます。つまり、サブレイヤーとルートレイヤーを組み合わせて使用した場合、アプリケーションにItemLayer またはImageLayer のインスタンスを26個以上持つことはできません。
- OTFレイヤーの最大サイズは1300x720であるため、これより大きなディスプレイでは複数のレイヤーを使用する必要があります。
以下のQt for MCUs APIは、Infineon TRAVEO T2Gボード上で、直接的または間接的にハードウェアアクセラレーションされたベクターグラフィックスを使用します:
- MCU.Config.fontVectorOutlinesDrawingによるテキストレンダリング用のベクターアウトライン
- Shape およびArcItem のQML API
- 半径またはグラデーションのプロパティが設定されている場合のRectangle アイテム
- Qul::PlatformInterface::DrawingEngine::blendPath PaintedItem インスタンスから呼び出される() API
ハードウェアアクセラレーションされたベクターグラフィックスを使用する際には、以下の制限事項が適用されます:
- 複雑なパスでは、エラーが発生したり、一部が欠落したりする可能性があります。欠落を防ぐには、
platform_config.h.inヘッダー(またはエクスポートされたプロジェクト内のplatform_config.hヘッダー)で、QUL_PLATFORM_TVII_DRAW_CONTEXT_ALPHA_BUFFER_WIDTH、QUL_PLATFORM_TVII_DRAW_CONTEXT_ALPHA_BUFFER_HEIGHT、およびQUL_PLATFORM_TVII_DRAW_CONTEXT_PATH_BUFFER_SIZEの値を大きくしてください。 - 自己交差するパスは、視覚的なアーティファクトを引き起こす可能性があります。これはハードウェアの制限によるものです(『TRAVEO T2G グラフィックスドライバ ユーザーガイド』を参照してください)。
- LinearGradient の場合、
ReflectSpreadおよびRepeatSpreadのスプレッドタイプは機能しません。PadSpreadのみがサポートされています。 - 透明度を持つグラデーションのカラーストップは、デスクトップバックエンドを使用する場合とは異なる方法で補間されるため、透明な領域では色が薄く表示されます。
グラフィックスドライバの制限により、現在、ソースJPEG画像でサポートされているサブサンプリングモードはYUV420のみです。 詳細については、『JPEG デコードドライバ TRAVEO T2G クラスタシリーズ ユーザーマニュアル』の「サンプルアプリケーションユーザーガイド」を参照してください。ソース画像を YUV420 サブサンプリング形式に変換するには、ImageMagick の Convert ツールを使用できます:convert input.jpg -sampling-factor 4:2:0 output.jpg 。
テキストレンダリングのための描画エンジンの使用
Monotype Spark フォントエンジンを使用する場合、テキストレンダリングにベクターアウトラインを使用するために、実験的なQt Quick Ultralite 機能を有効にすることができます。これは、TRAVEO T2G ハードウェア描画エンジンのパス描画機能を利用して、ビデオメモリに格納されたサーフェスにテキストを描画し、そのサーフェスをブレンドしてテキストを表示するものです。
ベクターアウトラインを有効にするには、QmlProjectオプション「MCU.Config.fontVectorOutlinesDrawing」を使用してください。Monotype Sparkフォントエンジンの使用方法の詳細については、「テキストレンダリングとフォント」を参照してください。
注: 自己交差するパスがサポートされていないというハードウェアの制限により 、特定のフォントをベクターアウトラインとして描画すると、視覚的なアーティファクトが生じる場合があります。自己交差するアウトラインを含まないフォントのみがサポートされています。
リソースキャッシュポリシー
デフォルトでは、アプリケーションの起動時に、アプリケーションのリソースデータがVRAMにコピーされます。リソースをフラッシュメモリに保持し、起動時にVRAMに読み込まないようにするには、ImageFiles.files を使用してアプリケーションにリソースを追加する際、QmlProject プロパティImageFiles.MCU.resourceCachePolicyに値「NoCaching 」を指定してください。
リソースの保存に関するセクション
デフォルトでは、アプリケーションのリソースデータは内部フラッシュに保存されます。代わりに、リソースデータを外部フラッシュに保存するように設定することもできます。ImageFiles.files を使用してアプリケーションにリソースを追加する際は、QmlProject プロパティImageFiles.MCU.resourceStorageSectionの値をQulResourceDataInExternalFlash に設定してください。
外部フラッシュを使用する場合は、プログラマがそれをサポートしているかどうかを確認してください。サポートされているTRAVEO T2G開発ボードを使用する場合は、「外部メモリデバイスにおけるOpenOCDベースのプログラミング」を参照してください。顧客固有のボードについても同様の原則が適用されますが、外部メモリデバイスがインターフェースと完全に互換性がない限り、追加のソフトウェアが必要となります。
HyperRAM へのリソースのキャッシュ
キャッシュポリシーが「OnStartup 」または「OnDemand 」に設定されているリソースは、デフォルトでVRAMから割り当てられます。空きVRAMが不足している場合、HyperRAMのサポートが有効になっていることを前提として、HyperRAMから割り当てられます。特定のTRAVEO T2GボードバリエーションにおけるHyperRAMのサポートに関する詳細については、「評価ボードの機能」を参照してください。
リソースをHyperRAMに明示的にキャッシュするには、ImageFiles.MCU.resourceRuntimeAllocationTypeを 129 に設定します:
ImageFiles {
files: ["qt-logo-external-ram.png"]
MCU.resourceCachePolicy: "OnStartup"
MCU.resourceRuntimeAllocationType: 129
}注: HyperRAMのメモリ帯域幅はVRAMよりも小さいため、HyperRAMにリソースをキャッシュすると パフォーマンスに影響が出る可能性があります。回転された画像や大きな画像をHyperRAMにキャッシュし、それらの画像をOTFレイヤーで使用すると、ラインバッファのアンダーランが発生する可能性があります。
圧縮されたアセットの組み込み
Infineon TRAVEO T2Gは、一部のカスタムランレングス符号化(RLE)ベースの圧縮形式をサポートしており、これらはブリットエンジンによって直接デコードできます。 この方法で圧縮されたアセットは、Qt Quick Ultraliteがサポートする標準的なPNG圧縮アセットの場合とは異なり、画像データの解凍および解凍後のコピーの保存に追加のCPU時間やメモリを必要としません。Infineon のTRAVEO T2GにおけるRLE圧縮の制限として、この方法で圧縮された画像は変形処理を行うことができません。また、RLEを使用しても十分な圧縮率を得られない画像もあります。
使用方法AutomaticCompressedLossless
Infineon TRAVEO T2GでRLE圧縮画像を使用する最も簡単な方法は、ImageFiles.MCU.resourceImagePixelFormatを AutomaticCompressedLossless に設定することです:
ImageFiles {
files: ["image.png"]
MCU.resourceImagePixelFormat: "AutomaticCompressedLossless"
}ResourceGenerator.cmake CMakeモジュールの使用
tests/manual/traveo-t2g/compressed_images を参照して、ResourceGenerator.cmake 用のCMakeモジュールについて確認してください。このモジュールを使用すると、Infineon TRAVEO T2G向けにアセットを具体的に構成し、色形式、RLE圧縮フラグ、およびアセットの保存場所を指定することができます。
AutomaticCompressedLossless と比較して、使用する圧縮方式やピクセル形式をより詳細に制御することができます。
以下に、ResourceGenerator.cmake のCMakeモジュールの使用例を示すスニペットを示します:
set(external_resources "${CMAKE_CURRENT_BINARY_DIR}/external_resources.cpp")
start_generated_external_resources_file(${external_resources})
compress_with_resource_generator(test_tvii_compressed_images images/cover01.png "VRAM" "R8G8B8" "" ${external_resources} 128 128 OFF)
compress_with_resource_generator(test_tvii_compressed_images images/cover02.png "InternalFlash" "R8G8B8" "c" ${external_resources} 128 128 OFF)
end_generated_external_resources_file(${external_resources})
target_sources(test_tvii_compressed_images PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/external_resources.cpp)
qul_add_resource(test_tvii_compressed_images
FILES
images/cover01.png
images/cover02.png)compress_with_resource_generator の最初のパラメータはターゲット、2番目のパラメータは画像の場所です。
3番目のパラメータはアセットの場所であり、その値として「InternalFlash」、「VRAM」(「VRAM」はTRAVEO T2G CYT3DLおよびCYT4DNで有効)、または「HyperRAM」を指定できます。「HyperRAM」は、以下のメモリバンクのいずれかに対応します:
| 名称 | サイズ | 開始アドレス |
|---|---|---|
| InternalFlash |
| 0x10000000 |
| VRAM |
| 0x24000000 |
| HyperRAM | 8 MB | 0x90000000 |
注: IBOフレームバッファやLBOラインバッファにもVRAM が必要です。VRAM容量が限られているプラットフォーム(TRAVEO T2G CYT3DLおよびCYT4DN)では、VRAMに画像アセットを過剰に配置すると、ハードウェアレイヤーに必要なバッファを作成するためのVRAMが不足する可能性があります。 その場合は、代わりにアセットを内部フラッシュに保存して VRAM を確保してください。これは、前述のリソースジェネレータによる方法、またはQUL_RESOURCE_CACHE_POLICYCMake プロパティを使用して行うことができます。
4番目のパラメータは色形式であり、R8G8B8A8(32 bpp RGBA)、X8B8G8R8(32 bpp BGR)、R8G8B8(24 bpp RGB)、 R6G6B6(18 bpp RGB)、R4G4B4A4(16 bpp RGBA)、A1R5G5B5(16 bpp ARGB)、A8(8 bpp アルファ形式)などがあります。 利用可能な形式の完全な一覧については、『TRAVEO T2G Clusterシリーズ用グラフィックスドライバ ユーザーガイド』を参照してください。
5番目のパラメータは圧縮タイプを指定するもので、以下のいずれかになります:
""圧縮なし。"c":圧縮なし。"cRLA"RLA圧縮。"cRLAD"RLAD圧縮。"cRLAD<rgba>"ここで、RGBAの値は、赤、緑、青、アルファ各チャンネルの最大平均ビット数を定義します。例:"cRLAD4442"。
6番目のパラメータは、圧縮されたアセットが書き込まれるソースファイルの名前です。最終的には、これをターゲットのソースとして追加する必要があります。
7番目と8番目のパラメータは、それぞれ画像アセットの幅と高さです。
最後のパラメータは、オブジェクトのパーティショニングを有効にするかどうかを制御します。これを有効にすると、LBOからIBOまたはLBOからOTFレイヤーを使用する際、圧縮されたアセットをより小さなパーティションに分割することで、ブリットエンジンのスループットを向上させることができます。非圧縮のアセットや直接IBOレイヤーの場合は、この設定によるメリットはありません。
注: トランスフォームが適用されている画像 アセットは、圧縮を行わないでください。圧縮を行うと、実行時のエラーや表示上の不具合が発生する可能性があります。
ディスプレイ出力(TRAVEO T2G CYT3DL 4M LITE KIT および CYT4DN 6M LITE KIT)
TRAVEO T2G Cluster 4M Lite (KIT_T2G_C-2D-4M_LITE) および TRAVEO T2G Cluster 6M Lite (KIT_T2G_C-2D-6M_LITE) には、オンボードの EZ-USB FX3 コントローラが搭載されており、USB ケーブルを介してグラフィックス出力をホストに直接ストリーミングすることができます。
注: USB接続がUSB 3.0のフル速度で確立されていることを確認してください 。そうしないと、デバイスがシステムに認識されていても、グラフィックスストリーミングは機能しません。
グラフィックス出力は、任意のメディアプレーヤーアプリケーション、またはOpenCVなどのキャプチャインターフェースを使用して、ホストマシン上に表示できます。Windowsでは、Infineon の「TRAVEO T2G Virtual Display Tool」ユーティリティを使用してください。
VLCメディアプレーヤーを使用する場合は、「Media > Open Media Capture... 」を選択し、以下の設定を行ってください:
- キャプチャモード:
DirectShow - ビデオデバイス名:
FX3 - オーディオデバイス名:
None - 動画サイズ:
800x480 - アスペクト比:
5:3
以下のコマンドをWindowsのターミナルから実行すると、グラフィック出力のキャプチャを自動的に開始できます。
set vlc="C:\Program Files\VideoLAN\VLC\vlc.exe"
%vlc% dshow:// :dshow-vdev=FX3 :dshow-adev=none :dshow-size=800x480 :dshow-aspect-ratio=5\:3 :live-caching=300TRAVEO T2G CYT3DL 4M LITE KIT における LVDS ディスプレイ出力
リファレンスプラットフォームのデフォルトモードはUSBディスプレイ出力です。LVDSディスプレイ出力を使用するには、platform_config.h.in ヘッダー(またはエクスポートされたプロジェクト内のplatform_config.h ヘッダー)でプリプロセッサマクロQUL_TVIIC2D4MLITE_USE_LVDS_DISPLAY を有効にした後、Platformライブラリを再ビルドする必要があります。
TRAVEO T2G CYT4DN 6M LITE KIT での HDMI ディスプレイ出力
HDMIディスプレイ出力は現在実験段階であり、Infineon から入手できる、HDMIサポートが有効化された TRAVEO T2G Cluster シリーズ用のカスタムグラフィックスドライバが必要です。
HDMIディスプレイ出力を使用するには:
platform_config.h.in(またはエクスポートされたプロジェクト内のplatform_config.hヘッダー)で、プリプロセッサマクロQUL_T2G_ENABLE_HDMI_DISPLAY_OUTPUTを有効にしてください。- カスタムグラフィックスドライバに対してPlatformライブラリを再構築します。
HDMIビデオ出力形式を選択するには、platform_config.h.in ヘッダー(またはエクスポートされたプロジェクト内のplatform_config.h ヘッダー)で、対応するプリプロセッサマクロを有効にしてください。サポートされている設定は以下の通りです:
QUL_T2G_CY_HDMI_VIDEO_OUTPUT_FORMAT_800x480p60(デフォルト)QUL_T2G_CY_HDMI_VIDEO_OUTPUT_FORMAT_1024x600w60(Waveshare 7インチディスプレイ)QUL_T2G_CY_HDMI_VIDEO_OUTPUT_FORMAT_1280x720p60(CEA-861 フォーマット 4)QUL_T2G_CY_HDMI_VIDEO_OUTPUT_FORMAT_1920x720p60(CEA-861 フォーマット 16)QUL_T2G_CY_HDMI_VIDEO_OUTPUT_FORMAT_1920x720w60(Waveshare 10インチディスプレイ)QUL_T2G_CY_HDMI_VIDEO_OUTPUT_FORMAT_1920x1080w60(未検証)
HDMIホットプラグ機能により、ボードの初回起動後に接続されたHDMIディスプレイを検出できます。ホットプラグ検出は一定の間隔で実行されますが、処理に若干の時間を要するため、実行時にアニメーションがわずかにカクつく場合があります。そのため、あまり頻繁に実行することは推奨されません。
HDMIホットプラグ機能はデフォルトで有効になっています。HDMIホットプラグ機能を無効にするには、platform_config.h.in ヘッダー(またはエクスポートされたプロジェクト内のplatform_config.h ヘッダー)で、プリプロセッサマクロQUL_T2G_DISABLE_HDMI_HOT_PLUGGING を有効にしてください。検出間隔を設定するには、同じヘッダー内のQUL_T2G_HDMI_HOT_PLUGGING_DETECTION_INTERVAL の値を変更してください。デフォルトでは、検出間隔は10秒に設定されています。
ワープ
Infineon TRAVEO T2Gはワーピングに対応しており、表示されているアプリケーションの座標系を歪めることができます。
アプリケーション側で、CYGFX_WARP_PARAM_S 構造体およびワーピングバッファを用意する必要があります。これらの準備方法については、『TRAVEO T2G Cluster Series グラフィックスドライバ ユーザーガイド』の第 3.11.6 章「ワーピングバッファ」を参照してください。
Qt Quick Ultralite warping API for Infineon TRAVEO T2Gを使用することで、特定のレイヤーでワープバッファを使用するように設定できます。
まず、必要なヘッダーファイルをインクルードします。
#include <tviiextras/layerwarping.h>次に、次のように指定されたプラットフォーム ID を持つレイヤーのワーピングバッファを設定します:
Tvii::Warping::setWarpingBufferForLayer(platformId, warpBuffer, &warpParameters);最後に、アプリケーションを Qul::PlatformTraveoIIExtras に対してリンクする必要があります。
TRAVEO T2G Extras モジュール
Qt Quick Ultralite には、TRAVEO T2G 専用の追加 API を含む TRAVEO T2G Extras モジュールが付属しています。これらの API を使用するには、Qul::PlatformTraveoIIExtras をプロジェクトにリンクしてください。
この Extras モジュールを通じて、以下の API を利用できます:
TRAVEO™ T2G レイヤーのワープ設定を行うための便利な関数を提供します | |
TRAVEO™ T2G レイヤーの設定のための追加機能を提供します |
TRAVEO T2G カスタムエフェクト
TRAVEO T2Gのハードウェアによるブレンド機能の一部を活用するには、PaintedItem APIを使用できます。
Qt Quick Ultraliteの「traveo_t2g_effects」サンプルでは、TRAVEO T2G上でPaintedItem APIを使用したいくつかのエフェクトを実演しています。このサンプルに含まれるエフェクトは、カスタムアプリケーションのコンポーネントとしても使用できます。
安全上重要なアプリケーション
TRAVEO T2Gシリーズは、CRC-32/MPEG-2 を利用して、出力される表示データのチェックサムを計算します。CRCアルゴリズムは、ボードのデフォルト設定で次のように設定されています:
MCU.Config {
safeRendererCrcAlgorithm: "CRC-32/MPEG-2"
}RGBチャネルからのCRC値を1つに統合し、Qt Safe Layout Toolによって生成されたゴールデンCRC値と一致させる。
crc = signature.sigRed ^ signature.sigGreen ^ signature.sigBlue;詳細については、安全クリティカルな項目を含む「Qt Quick Ultralite」アプリケーションを参照してください。
Squishテスト用のデバイスリンク
Squish による UI テストでデバイスリンクプロトコルを利用できるようにするには、-DQUL_PLATFORM_DEVICELINK_ENABLED=on を使用してプラットフォームをビルドしてください。これは、Green Hills および IAR のツールチェーンでサポートされています。
デバイスリンクプロトコルを介してフレームバッファデータが要求されると、画面のフレームバッファをチャンク単位でキャプチャするために、VRAM または HyperRAM から一時バッファが割り当てられます。バッファのサイズは、platform_config.h ヘッダー内のQUL_PLATFORM_TVII_DEVICELINK_BUFFER_SIZE パラメータ(またはエクスポートされたプロジェクト内のplatform_config.h.in )で設定できます。
デバイスリンク通信にはUSB-UARTが使用されます。UARTのボーレートを選択するには、-DQUL_PLATFORM_UART_BAUD_RATE=<BAUD_RATE> を指定してプラットフォームをビルドしてください。スクリーンキャプチャで最高のデータ転送速度を得るには、高いボーレートを推奨します。
以下のボーレートは、TRAVEO T2G CYT3DL および TRAVEO T2G CYT4DN での動作が確認されています:
- -DQUL_PLATFORM_UART_BAUD_RATE=115200(デフォルトのレート)
- -DQUL_PLATFORM_UART_BAUD_RATE=1000000
- -DQUL_PLATFORM_UART_BAUD_RATE=2000000
注: Windows環境において 、TRAVEO T2G 4M LITE および 6M LITE ボードに搭載された KitProg3 を使用して USB-UART を提供する場合、アプリケーションによっては(ファームウェアのバージョンによっては)シリアルターミナルが正常に動作していないように見えることがあります。 これは、ファームウェアが指定されたボーレートではなく、実際のボーレートを報告している場合に発生する可能性があります。Cygwin など、すべてのアプリケーションやレイヤーが、非標準のボーレートの読み取りや報告に対応しているわけではありません。
その他のボードリビジョン
TRAVEO T2G CYT4DN については、デフォルトでTVII-C-2D-6M-327-SET (REV-01) のボードリビジョンがサポートされています。他の TRAVEO T2G CYT4DN ボードリビジョンを使用するには、以下の CMake 設定オプションを指定して、ソースからプラットフォームを再ビルドしてください:
| ボードリビジョン | CMake 設定オプション |
|---|---|
| TVII-C-2D-6M-500-CPU | -DQUL_TVIIC2D6M_BOARD_REVISION=500-BGA |
| TVII-C-2D-6M-327-CPU REV-B | -DQUL_TVIIC2D6M_BOARD_REVISION=327-BGA-REV-B |
| TVII-C-2D-6M-327-REF(1920x720ディスプレイ搭載クラスター) | -DQUL_TVIIC2D6M_BOARD_REVISION=327-BGA-REF -DTVII_SCREEN_CONFIGURATION=1920x720 |
特定の Qt ライセンスの下で利用可能です。
詳細はこちら。