NXPのユーザー・フレンドリーなグラフィカル・ユーザー・インターフェース開発ツールGUI Guiderなら、オープンソースのLVGLグラフィックス・ライブラリにより高品質のディスプレイを迅速に開発することが可能です。
GUI GuiderではZephyrを使用してプロジェクトをエクスポートすることもできます。GUI Guiderにインストールされているドキュメント GUIGuider_User_ManualにはZephyrを使用する作業のセクションがあり、コマンドラインインターフェース(CLI)を使用する手順が記載されています。この記事では、NXPによるVS CodeのMCUXpresso拡張機能を使用して、生成したプロジェクトをインポートし、ビルドし、ボードへダウンロードする例を示します。
この記事にある手順は次の要件に基づいています。
このGUI Guiderリリースの要件は、Zephyrの古いバージョンv4.0.0です。ZephyrリポジトリがすでにVS Codeにインポートされている場合、必要とされるバージョンをMCUXpresso拡張機能でチェックアウトします。
MCUXpresso拡張機能をクリックし、更新するZephyrリポジトリを右クリックして「Update Repository or Index(リポジトリまたはインデックスを更新)」をクリックします。
ポップアップが右下隅に表示されます。「カスタム」ボタンをクリックしてリリースタグを選択してください。
プルダウンが中央上に表示されます。v4.0.0リリースタグを選択します。拡張機能で、このバージョンをチェックアウトし、「west update」を実行し、すべてのモジュールリポジトリを同期するまでは、時間がかかります。
Zephyrリポジトリを初めてインポートする場合は、v4.0.0バージョンが選択できます。拡張機能のQuickstart Panelを使用して「Import Repository(リポジトリをインポート)」します。MCUXpresso拡張機能の使用方法とZephyrのインポートに関する詳細なヘルプについては、NXP Zephyr Knowledge Hubを参照してください。
GUI Guiderを開いて新しいプロジェクトを始めてください。
プロジェクトのCコードを生成します。
Zephyrのコードをエクスポートします。
プロジェクトをZephyrリポジトリにエクスポートすることは、そのプロジェクトをVS Codeにインポートする最も簡単な方法です。
VS CodeのMCUXpresso拡張機能に戻って、リポジトリを更新し、新しく生成されたサンプルプロジェクトがあるのを確認します。
Quickstart Panelで「Import Example from Repository(リポジトリからサンプルをインポート)」して、次の設定を選択します。
インポートしたら、ディスプレイシールドもプロジェクトに追加する必要があります。これはCmake変数を追加することによって行います。詳細については、MCUXpresso Cmake wikiを参照してください。gui_guider_demoプロジェクトで、デバッグビルド設定の「Edit(編集)」ボタンをクリックします。
次の行を使用してシールド名をCMake Extra引数に追加し、「Save(保存)」ボタンをクリックします。
SHIELD="g1120b0mipi"
GUI Guiderでエクスポートしたプロジェクトには、gitパッチが含まれています。GUIGuider_User_Manualには、これらのパッチをZephyrリポジトリとLVGLリポジトリに適用する手順を掲載しています。これらのパッチを適用するにはCLIを使用しますが、この記事ではMCUXpresso拡張機能のCLI機能を使用します。
gui_guider_demoプロジェクトを右クリックし、「Open in Integrated Terminal(統合ターミナルで開く)」を選択します。これでプロジェクトフォルダのCLIターミナルが開き、Python仮想環境がアクティブになります。
次のCLIコマンドを入力してパッチを適用します。
cd ../..
git apply samples\gui_guider_demo\patches\0001-zephyr-Add-build-support-for-new-lvgl-widgets-develo.patch
cd ..\modules\lib\gui\lvgl
git apply ..\..\..\..\zephyr\samples\gui_guider_demo\patches\0001-lvgl-Add-new-widgets-developed-by-NXP.patch
エクスポートしたプロジェクトのKconfig設定の一部は、このボードとアプリケーションでは機能しません。サイズを大きくする必要があります。ここで採用するサイズは、Zephyrリポジトリのファイル/modules/lvgl/demos/prj.confにあるLVGL demoによるものです。Kconfigの概要については、NXPのZephyr Lab MCXN947 Kconfigを参照してください。
エクスポートしたgui_guider_demoプロジェクトで、プロジェクトファイルprj.confを開きます。
Kconfig設定の冒頭にある2つを次のサイズに更新します。
CONFIG_LV_Z_MEM_POOL_SIZE=49152
CONFIG_MAIN_STACK_SIZE=4096
プロジェクトをビルドする準備が整いました。プロジェクトを右クリックしてPristine Buildを実行します。
ビルドが完了したら、デバッグアイコンをクリックしてイメージをフラッシュするようにプログラムします。アプリは非常に大きなイメージで、プログラムには少し時間がかかります。
これで、GUI Guiderによって生成されたLVGLアプリケーションがターゲットボード上で実行されます。