C
NXP のIMXRT1064-EVKにおけるQt Quick Ultralite Zephyr モジュールの使用方法
NXP のi.MX RT1064 EVK向け Qt Quick Ultraliteプラットフォームのポートは「mimxrt1064-evk-zephyr 」と呼ばれ、Zephyr ボードターゲット(mimxrt1064_evk )をサポートしています。
互換性のあるバージョン
Qt Quick Ultralite のZephyr モジュールは、NXP のi.MX RT1064 EVK上で動作するZephyr 4.4.0でサポートされています。
前提条件
- Qt Quick Ultralite 2.12.3
- Qt Quick UltraliteNXP i.MX RT1064 EVK プラットフォームパッケージ
- NXP i.MX RT1064 EVK
- RK043FN66HS-CTGまたはRK043FN02H-CTディスプレイシールド
- Zephyr RTOS 4.4.0
- NXP MCUXpresso IDE に含まれる MCUXpresso LinkServer、またはSegger J-Link デバッグプローブ
ディスプレイの設定
ディスプレイシールドの選択
プラットフォームポートでは、デフォルトで RK043FN66HS-CTG シールドが使用されます。代わりに RK043FN02H-CT シールド向けにビルドするには、`--shield` を指定して、west build に渡してください:
west build -b mimxrt1064_evk app --shield rk043fn02h_ct
ピクセル形式
このプラットフォームポートは、16ビットの色深度でレンダリングを行います。
タッチ入力
タッチ入力は、Zephyr 入力サブシステムを通じて同期モードで提供されます。プラットフォームポートのqul_module.conf は、CONFIG_INPUT およびCONFIG_INPUT_MODE_SYNCHRONOUS によって有効化されます。
メモリ構成
UIツリー、画像バッファ、フォントデータなどのQt Quick Ultralite による動的割り当ては、CONFIG_HEAP_MEM_POOL_SIZE でサイズが設定されたZephyr カーネルヒープから提供されます。プラットフォームポートのデフォルト設定では、このサイズは10240000バイトに設定されています。
アプリケーションのビルド
アプリケーションの設定およびビルドに関する一般的な手順については、「新しいアプリケーションの設定」、「QUL_ROOT の設定 」、および「ビルド」を参照してください。
Qt Quick Ultralite モジュール(Zephyr )は、デフォルトでZephyr SDKを使用しており、メタデータファイルにはZephyr SDKバリアントが必要です。メタデータファイルは、west build app -t menuconfig を通じて設定するか、app/prj.conf でCONFIG_QUL_PLATFORM_METADATA を次のように設定してください:
CONFIG_QUL_PLATFORM_METADATA="/path/to/Qt/QtMCUs/2.12.3/platform/boards/nxp/mimxrt1064-evk-zephyr/mimxrt1064-evk-zephyr_zephyrsdk_16bpp_Linux_armgcc-metadata.json"
CONFIG_QUL_PLATFORM_METADATA="C:/Qt/QtMCUs/2.12.3/platform/boards/nxp/mimxrt1064-evk-zephyr/mimxrt1064-evk-zephyr_zephyrsdk_16bpp_Windows_armgcc-metadata.json"
CONFIG_QUL_DEVICELINK が有効になっている場合は、ファイルの*-metadata-devicelink.json というバリエーションを使用してください。
ボードとして「mimxrt1064_evk 」を使用してください:
west build -b mimxrt1064_evk app
必要な Kconfig オプション
このプラットフォームポートには、Qt Quick Ultraliteに必要なKconfig設定が記載されたqul_module.conf ファイルが同梱されています。この設定は、Kconfigが実行される前にEXTRA_CONF_FILE を通じて適用されます。
代わりにアプリケーション側から設定を指定するには、CONFIG_QUL_DEFAULT_CONF=n を設定し、ポートのqul_module.conf に記載されているオプションをアプリケーションのprj.conf に追加してください。
Qt Quick のUltraliteインストールでは、このファイルはplatform/boards/nxp/mimxrt1064-evk-zephyr/qul_module.conf にあります。
Qt Quick Ultralite ライブラリのビルド
デフォルトでは、Qt Quick Ultraliteはインストール時に含まれる事前ビルド済みのライブラリを使用します。これらはMinSizeRel 構成でビルドされています。このボード用に独自のライブラリをビルドするには、次のコマンドを実行してください:
west build-qul-libs --board mimxrt1064_evk --build-type MinSizeRel
コマンドラインオプションの完全な一覧および新しいワークスペースでの必要なビルド順序については、「 Qt Quick Ultralite ライブラリのビルド」を参照してください。
DeviceLink
このプラットフォーム・ポートは、lpuart1経由のDeviceLinkをサポートしています。CONFIG_QUL_DEVICELINK=y を有効にすると、プラットフォーム・ポートのdevicelink.overlay およびdevicelink.conf が適用されます。これにより、UARTが選択され、Zephyr コンソールが無効化され、Qt Quick Ultralite がUARTを独占的に使用できるようになります。
注: DeviceLinkが有効になっている間 、Zephyr のUARTコンソールは無効になるため、printf の出力およびコンソールのパフォーマンスロギングは利用できません。
一般的な手順については、「DeviceLink」を参照してください。
フラッシュ
NXP のMCUXpresso LinkServerを使用して、westでビルドしたアプリケーションをフラッシュします:
west flash --runner linkserver
デバッグ
Zephyr west を使用したデバッグに対応しており、直接デバッグを行うか、デバッグサーバーを起動してデバッガから接続するかのいずれかの方法が可能です。以下の手順では、 を使用してデバッグサーバーを実行する方法と、GNU Project Debugger (GDB) を使用してそれに接続する方法を説明します。west
west でのデバッグを有効にするには、PATH 環境変数にデバッグサーバー(LinkServer など)を指定してください:
export PATH=$PATH:/path/to/debug_server
set PATH=%PATH%;C:\path\to\debug_server
デバッグセッションを開始する:
west debug --runner linkserver
このコマンドは、デバッグサーバーを起動し、アプリケーションを読み込み、Zephyr SDKに付属するGDBをそのサーバーに接続します。ターゲット上で既に実行中のアプリケーションをデバッグするには、west attach --runner linkserver を使用してください。
代わりに、独自のデバッガーを接続するには、デバッグサーバーのみを起動してください:
west debugserver --runner linkserver
LinkServerはポート3333でリスニングするTCPソケットを設定します。別のターミナルからZephyr SDKのGDBを使用して、このソケットに接続できます:
cd build $ZEPHYR_SDK_INSTALL_DIR/gnu/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb -tui -ex "target remote localhost:3333" zephyr/zephyr.elf
cd build %ZEPHYR_SDK_INSTALL_DIR%\gnu\arm-zephyr-eabi\bin\arm-zephyr-eabi-gdb -tui -ex "target remote localhost:3333" zephyr\zephyr.elf
特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。