お客様の素早い設計とより早い製品化を実現する、技術情報と専門知識をご紹介します。
1
パッケージの内容2
ソフトウェアの入手3
ビルドと実行4
開発者エクスペリエンス次のセクションでは、FRDM-IMX93をブートする手順について説明します。
開発キットの内容:
パッケージ内容の説明ビデオを見て、FRDM-IMX93でのアプリケーションの開発を始めましょう。詳細については、i.MX 93アプリケーション・プロセッサのドキュメントをご覧ください。
Something went wrong! Please try again.
FRDM-IMX93では、ビルド済みのNXP Linuxバイナリ・デモ・イメージがeMMCに書き込まれています。内部のバイナリを変更することなく、eMMCからのブートにより、Linux上で他のアプリケーションをビルドするための特定の機能を備えたデフォルトのシステムが提供されます。
NXPの組込みLinux®の詳細については、次のセクションを参照してください。
Something went wrong! Please try again.
付属のUSB Type-Cケーブルをデバッグ用UARTポートP16に接続し、ケーブルのもう一方の端をホスト・コンピュータに接続します。
2つのUART接続がホスト・コンピュータに表示されます。最初のポートがCortex-A55コア用、2番目のポートがCortex-M33コアのシステム・デバッグ用です。
ターミナル・アプリケーションに慣れていない場合は、ステップ1.4に進む前に、Linuxのデバッグ・ターミナルまたはWindowsのデバッグ・ターミナルのいずれかのチュートリアルを参照してください。
Linuxでデバッグする場合は、CH342F Linuxドライバ がインストールされていることを確認してください。
Something went wrong! Please try again.
イメージ・バイナリに付属のユーザー・インターフェースを使用するには、HDMIコネクタ (P5) を使用してモニタを接続します。
Something went wrong! Please try again.
次の表に従って設定してください。
Something went wrong! Please try again.
電源ケーブルを電源コネクタ (P1) に接続します。
ボードは、デフォルトではeMMCからブートするように設定されています。プロセッサはeMMCからのブータブル・イメージの実行を開始します。その後、U-Bootの実行が自動的に開始されます。
Arm® Cortex®-A55のシリアル・コンソールに情報が表示されます。U-Bootプロセスを停止しない場合は、引き続きカーネルのブートが実行されます。
ボードが起動すると、モニタの左上隅に2羽のペンギンが表示され、左上にLinuxターミナルのアイコン、右上にタイマが表示されます。
これで準備が完了しました。
Something went wrong! Please try again.
FRDM-IMX93にログインするには、i.MX Linux OSのデフォルトのログイン・ユーザー名として「root」を使用します。パスワードはありません。以下のコマンドを使用して、カーネルにWi-FiとBluetoothモジュールをロードします。
root@imx93frdm:~# modprobe moal mod_para=nxp/wifi_mod_para.conf
root@imx93frdm:~# ifconfig mlan0 up
root@imx93frdm:~# modprobe btnxpuart
root@imx93frdm:~# hciconfig hci0 reset 詳細については、FRDM-IMX93コネクティビティ・トレーニング をご覧ください。
Something went wrong! Please try again.
i.MX Linuxボード・サポート・パッケージ (BSP) は、特定のi.MX開発プラットフォームで組込みLinuxイメージをブートするために使用されるバイナリ・ファイル、ソース・コード、およびサポート・ファイルの集まりです。
Linuxバイナリ・デモ・ファイルの最新のリリースは、FRDM i.MX 93開発ボードにあります。その他のドキュメントは、i.MXソフトウェアおよび開発ツールのLinuxセクションにあるi.MX Linuxドキュメント・バンドルで入手できます。
FRDM-IMX93は、eMMCおよびSDカードからのブートをサポートしています。
このスタート・ガイドでは、Linux BSPイメージをSDカードに書き込むいくつかの方法の概要を説明します。経験豊富なLinux開発者は、必要に応じて他のオプションを検討することができます。
Something went wrong! Please try again.
FRDM i.MX 93開発ボードには、FRDM-IMX93用の最新のビルド済みイメージが用意されています。
ビルド済みのNXP Linuxバイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。
Something went wrong! Please try again.
「パッケージの内容」セクションでの接続に加えて、適切なUSBケーブルを使用してUSB1 (P2) をホスト・マシンに接続します。
電源アダプタを抜きます。「1.5 ブート・スイッチの設定」セクションを参照し、シリアル・ダウンロード・プロトコル (SDP) モードでブートするようにボードを設定します。
ホスト・マシンで使用されているOSに応じて、Linux BSPイメージをSDカードに転送する方法は異なります。詳細な手順については、以下のオプションを選択してください。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUについてさらにサポートが必要な場合は、この広範なチュートリアルを参照してください。
uuulibusb1(apt-getまたは他のパッケージ・マネージャ経由)デフォルトでは、イメージがSDカードに書き込まれます。他のデバイスにイメージを書き込む方法については、UUU GitHubのページを参照してください。
ターミナル・アプリケーションを開き、uuuとFRDM-IMX93用の最新のLinuxディストリビューションが格納されている場所にディレクトリを変更します。uuuファイルに実行権限を追加し、ファイルを実行します。uuuはUSBデバイスが接続されるまで待機します
$ chmod a+x uuu
$ sudo ./uuu -b sd_all imx-image-full-imx93frdm.rootfs.wic.zst
FRDM-IMX93のブート・モードがシリアル・ダウンロード・モードに切り替わっていることを確認します。ボードの電源を入れると、uuuはSDカードへのイメージの書き込みを開始します。
完了したら、ボードの電源を切り、ターミナルを閉じます。SDカードからブートするためのボードの設定についてさらにサポートが必要な場合は、1.5 ブート・スイッチの設定を参照してください。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUについてさらにサポートが必要な場合は、この広範なチュートリアルを参照してください。
uuu.exeデフォルトでは、イメージがSDカードに書き込まれます。他のデバイスにイメージを書き込む方法については、UUU GitHubのページを参照してください。
コマンド・プロンプト・アプリケーションを開き、uuu.exeファイルとFRDM-IMX93用のLinuxリリースが格納されているディレクトリに移動します。
uuu.exe -b sd_all imx-image-full-imx93frdm.rootfs.wic.zstFRDM-IMX93のブート・モードがシリアル・ダウンロード・モードに切り替わっていることを確認します。ボードの電源を入れると、uuuはボードへのイメージのコピーを開始します。
完了したら、ボードの電源を切り、コマンド・プロンプト・アプリケーションを終了します。SDカードからブートするためのボードの設定についてさらにサポートが必要な場合は、1.5 ブート・スイッチの設定を参照してください。
Something went wrong! Please try again.
Torizonは、使いやすい産業用Linuxプラットフォームであり、Linuxデバイスの開発と保守を簡素化します。FRDM-IMX93は、Common Torizonオペレーティング・システムによってサポートされています。このOSは、オープンソースの必要最小限の組込みLinuxイメージであり、最適なコンテナ・ランタイムのほか、オフラインおよびリモートのセキュアなOTA (Over-the-Air) アップデート、デバイス・モニタリング、リモート・アクセスのための各種コンポーネント、その他の不可欠なサービスを備えています。
Common Torizonバイナリ イメージをダウンロードします。
Yocto を使用して、Common Torizonをソースからビルドします。Yoctoレイヤをダウンロードし、ビルドのセットアップを実行して、ビルド・プロセスを開始することができます。
Common TorizonをFRDM-IMX93にフラッシュします。フラッシュ手順の詳細 を参照してください。
フラッシュした後、以下の資格情報を使用してターミナルからログインできるようになります。
この後、パスワードを作成するよう求められます。
いくつかのデモ・アプリケーションを評価するために、Torizon Cloud を使用することができます。そのためには、Torizon Cloudのアカウントを作成し、アカウントにデバイスをプロビジョニングする必要があります。
これを簡単に行う方法については、次のセクションを確認してください。
Something went wrong! Please try again.
FRDM-iMX93へのCommon Torizonのフラッシュが成功したら、Torizon Cloudの使用を開始することができます。これにより、OSとアプリケーションの両方のセキュアなリモート・オンライン/オフライン・アップデート、リモート・デバイス・モニタリング、リモート・アクセス、フリート管理、脆弱性モニタリングなどが可能になります。
Torizon の詳細については、Torizonのドキュメント を参照してくだ さい。
Torizon Cloudの使用を開始するには、アカウント を作成し、Common Torizonを使用するFRDM-IMX93をアカウントに追加する必要があります。
ステップ・バイ・ステップ・ガイド に従ってください。
Torizonに関するご質問については、Toradexコミュニティ または電子メール でお気軽にお問い合わせください。
Something went wrong! Please try again.
このセクションでは、FRDM-IMX93用Yocto BSPイメージをビルドする方法に加えて、Matterのサポートを追加する方法、およびDebianのリリース・イメージをビルドする方法の概要を説明します
FRDM-IMX93 BSPリリースは、Yocto Project 5.0 (Scarthgap) を使用したi.MX SW 2024 Q3リリースがベースとなっています。ソース・コードからFRDM-IMX93イメージをビルドするには、まずi.MX Yoctoプロジェクトのユーザー・ガイドをお読みになり、YoctoプロジェクトとYoctoのビルドについて理解してください。その後、以下の手順に従ってFRDM-IMX93用のイメージをビルドしてください。
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml
$ repo sync $ cd ${MY_YOCTO}/sources
$ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git$ MACHINE=imx93frdm DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b frdm-imx93$ bitbake imx-image-full$ zstdcat imx-image-full-imx93frdm.rootfs.wic.zst | sudo dd of=/dev/sdx bs=1M && syncまたは、uuuを使用してSDカードにイメージを書き込む場合:
$ uuu -b sd_all imx-image-full-imx93frdm.rootfs.wic.zstSomething went wrong! Please try again.
FRDM-IMX93はMatterをサポートしています。Matterのサポートを追加するには、以下の手順に従ってYoctoのビルドにMatterのレイヤを含めてください。
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.36-2.1.0.xml
$ repo sync $ cd ${MY_YOCTO}/sources/meta-nxp-connectivity
$ git remote update
$ git checkout imx_matter_2024_q3$ cd ${MY_YOCTO}/sources
$ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git$ MACHINE=imx93frdm-iwxxx-matter DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-matter-setup.sh bld-xwayland-imx93$ bitbake imx-image-multimediaSomething went wrong! Please try again.
FRDM-IMX93はDebian 12 OSをサポートしています。i.MX Debian Linux SDKディストリビューションでは、NXPが提供するカーネルおよびブート・ローダとDebianディストリビューションのユーザー空間イメージが組み合わされており、これには以下のものが含まれています。
NXPのDebian Linux SDKディストリビューションの詳細については、NXPのi.MXおよびLayerscape用Debian Linux SDKディストリビューションを参照してください。
DebianでFRDM-IMX93用にSDカードを作成するには、以下の手順に従ってください。
$ wget http://www.nxp.com/lgfiles/sdk/lsdk2412/flex-installer
$ chmod +x flex-installer
$ sudo mv flex-installer /usr/bin# format SD card
$ flex-installer -i pf -d /dev/sdb
# automatically download and install images into SD card
$ flex-installer -i auto -d /dev/mmcblk1 -m imx93frdm$ dhclient -i end0$ date -s "22 Nov 2024 09:00:00"$ debian-post-install-pkg desktop$ debian-post-install-pkg serverFlexbuildを使用してFRDM-IMX93用のDebianイメージをビルドするには、以下の手順に従ってください。
$ git clone https://github.com/nxp/flexbuild
$ cd flexbuild && source setup.env
#Continue to run commands below in case you need to build in Docker due to lack of Ubuntu 22.04 or Debian 12 host
$ bld docker
$ source setup.env$ bld -m imx93frdmイメージの個々の部分をビルドするには、Flexbuildを使用するための以下のコマンド・リストを確認してください
$ bld uboot -m imx93frdm (compile u-boot image for imx93frdm)
$ bld linux (compile linux kernel for all arm64 i.MX machines)
$ bld bsp -m imx93frdm (generate BSP firmware)
$ bld boot (generate boot partition tarball including kernel, dtb, modules, distro bootscript for iMX machines)
$ bld multimedia (build multimedia components for i.MX platforms)
$ bld rfs -r debian:server (generate Debian server rootfs)
$ bld apps -r debian:server (compile apps against runtime dependencies of Debian server RootFS)
$ bld merge-apps -r debian:server (merge iMX-specific apps into target Debian server RootFS)
$ bld packrfs -r debian:server (pack and compress target debian server rootfs)Something went wrong! Please try again.
FRDM-IMX93には、あらゆるスキル・レベルのユーザーが開発を加速できるように、FRDM-IMX93のさまざまな機能や能力に基づく広範なサンプル・アプリケーションが備わっています。これには特に、FRDM-IMX93に搭載されたニューラル・プロセッシング・ユニット (NPU) によって高速化される、機械学習関連のユース・ケースが含まれます。
現時点では、FRDM-IMX93では以下の9つのサンプル・アプリケーションが提供されています。
サポートされているサンプル・アプリケーションの詳細については、アプリケーション・コード・ハブ (ACH) およびGoPointをご覧ください。
アプリケーション・コード・ハブ (ACH) リポジトリでは、NXPの社内エキスパートが開発したマイクロコントローラおよびプロセッサのソフトウェア・サンプル、コード・スニペット、アプリケーション・ソフトウェア・パック、デモなどを簡単に見つけることができます。このスペースでは、マイクロコントローラおよびプロセッサのアプリケーションをすばやく簡単に一貫した方法で検索できます。
ACHには、特定のアプリケーションをすばやく見つけるためのフィルタと検索のオプションがあります。Git機能のサポートにより、ユーザーの開発環境でアプリケーションを簡単にインポートして使用できます。
アプリケーション・コード・ハブ (ACH) の詳細については、こちらのリンクをご覧ください。
利用可能なFRDM-IMX93向けアプリケーション・サンプルを見つけるには、下図に示すように、デバイス・ファミリで「i.MX」を選択してください。
それぞれのアプリケーション・サンプルを選択して、詳細を確認してください。
各サンプル・アプリケーションのソース・コードを取得するには、画面上部の[Visit on GitHub(GitHubにアクセス)]ボタンをクリックして、NXP GitHubのコード・リポジトリにアクセスします。
Something went wrong! Please try again.
i.MXアプリケーション・プロセッサ用GoPointは、Linux BSPに含まれているビルド済みアプリケーションを起動するためのユーザー・フレンドリーなアプリケーションで、i.MX SoCのさまざまな機能をすばやく実際に体験してみることができます。GoPointは、高度な機能に加え、GitHubで提供されているアプリケーション用のソース・コードとビルド・レシピを使用して、実装のための実用的なソリューションを提供します。
GoPointの詳細については、こちらのリンクをご覧ください。
FRDM-IMX93の場合、GoPointはデフォルトでBSPリリースに含まれています。GoPoint GUIランチャーを開くには、FRDM-IMX93が起動した後、以下に示すように画面の左上隅に表示されるNXPロゴをクリックします。
利用可能なサンプル・アプリケーションは、各アプリケーションのスクリーンショットのアイコンとともに表示されています。サンプル・アプリケーションを選択すると、右側にそのサンプル・アプリケーションの簡単な説明が表示されます。選択されているアプリケーションを起動するには、[Launch Demo(デモを起動)]ボタンをクリックします。アプリケーションの起動後は、ランチャーに表示される[Stop Current Demo(現在のデモを停止)]ボタンをクリックすることで、デモを強制終了できます 。
各アプリケーションの使用方法の詳細については、i.MXアプリケーション・プロセッサ向けGoPointのユーザー・ガイドを参照してください。
Something went wrong! Please try again.
Serial-to-USBドライバは、CH342F Linuxドライバ から入手できます。
Linuxホスト・マシンのコマンド・プロンプトで、次のコマンドを実行してポート番号を確認します。
ls /dev/ttyCH343USB*最初の番号はArm® Cortex®-A55用です。
次のコマンドを使用して、Minicomプログラムをインストールし、実行します。
sudo apt-get install minicomsudo minicom /dev/ttyCH343USB * -s
図に示すようにMinicomを設定し、設定を終了します。
FRDM-IMX93のWCH USBシリアル・チップは、2つのシリアル・ポートを列挙します。ポートがCOM11、COM12であるとします。最初のポート (COM11) はArm® Cortex®-A55からのシリアル・コンソール通信用です。Serial-to-USBドライバは、CH342F Windowsドライバ から入手できます。
注:i.MXボードの仮想COMポートのポート番号を確認するには、Windowsのデバイス・マネージャを開き、[ポート (COMとLPT)]でUSBシリアル・ポートを探します。
Tera Termは、オープン・ソースのターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
PuTTYは、広く利用されているターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
FRDM-IMX93には、リアルタイムかつ低消費電力のプロセッシングに使用できる、最大250 MHzで動作する汎用Arm®Cortex®-M33が1つ搭載されています。このセクションでは、Cortex-M33コア用のプログラムのビルド、実行、デバッグの方法を示します。
注:Yoctoビルドには、rootfs /lib/firmware/フォルダに、迅速な評価と検証のための複数のCortex-M33サンプル・イメージが既に含まれています。サンプル・イメージを使用する場合は、「Cortex-M33プログラムの実行」 セクションに進んでください。
Cortex-M33 MCUXpresso SDKは、MCUXpresso Web Builderツール で配布されています。MCUXpresso SDKには、組込みアプリケーションの開発を加速および簡素化するように設計された柔軟なペリフェラル・ドライバ・セットが含まれています。MCUXpresso SDKは、ペリフェラル・ドライバに加えて、基本的なペリフェラルの使用例からデモ・アプリケーションまでをカバーする豊富なサンプル・アプリケーションのセットを提供します。MCUXpresso SDKには、FreeRTOSやAzure RTOSなどのRTOS統合オプションや、デバイスでの迅速な開発をサポートするデバイス・スタックも含まれています。
FRDM-IMX93用のMCUXpresso SDKを入手するには、以下の手順に従ってください。
ツールチェーンのセットアップ方法やCortex-M33プログラムのビルド方法については、SDKパッケージのドキュメント・フォルダにあるドキュメント「Getting Started with MCUXpresso SDK for MCIMX93-EVK.pdf」を参照してください。
コンパイル済みプログラムをCortex-M33で実行するには、U-Boot bootauxとLinux remoteprocの2つの方法があります。bootauxまたはremoteprocを使用してCortex-M33コアを起動した後は、デバッグの目的でのみ、remoteprocを使用してCortex-M33コアを停止できます。本番環境のシステムでLinux OSからCortex-M33コアを停止することは推奨されません。
Cortex-M33コアを起動する前に、デバッグ・ターミナルでCortex-M33コアのUARTデバッグ・ポートが開いていることを確認してください。
このサンプルでは、最初にU-BootのSDカードのパーティション1からCortex-M33プログラムをロードします。次に、bootauxコマンドによりCortex-M33コアを起動します。最後に、ブート・コマンドによりCortex-A55コアでLinuxを起動します。Cortex-M33プログラムのバイナリがFATパーティション形式でSDカードのパーティション1に保存されていることを確認してください。このサンプルでは、バイナリ・ファイル「imx93-11x11-evk_m33_TCM_power_mode_switch.bin」を例として使用します。
ボードの電源を投入したら、Cortex-A55のデバッグ・ターミナルで任意のキーを押してU-Bootを起動します。次に、以下のコマンドを使用してCortex-M33コアを起動します。
u-boot=> fatload mmc 1:1 ${loadaddr} imx93-11x11-evk_m33_TCM_power_mode_switch.bin
19080 bytes read in 6 ms (3 MiB/s)
u-boot=> cp.b ${loadaddr} 0x201e0000 ${filesize}
u-boot=> bootaux 0x1ffe0000 0
## Starting auxiliary core addr = 0x1FFE0000...
u-boot=> setenv mmcargs 'setenv bootargs ${jh_clk} ${mcore_clk} console=${console} root=${mmcroot} clk_ignore_unused'
u-boot=> run prepare_mcore
u-boot=> bootこのバイナリ・ファイルを使用してCortex-M33コアが正常に起動した場合、以下のログがCortex-M33のデバッグ・ターミナルに出力されます。
この例では、LinuxのrootfsからCortex-M33プログラムをロードし、remoteprocで起動します。ここでは、バイナリ・ファイル「imx93-11x11-evk_m33_TCM_power_mode_switch.elf」を例として使用します。
注:remoteprocを使ってCortex-M33コアを起動する場合は、Linux OSを起動する前に、以下のようにU-Bootで「run prepare_mcore」コマンドを実行してください。
u-boot=> run prepare_mcore
u-boot=> boot Linuxが起動したら、Cortex-A55のデバッグ・ターミナルで以下のコマンドを使用して、Cortex-M33コアを起動します。
root@imx93frdm:~# echo /lib/firmware/imx93-11x11-evk_m33_TCM_power_mode_switch.elf > /sys/class/remoteproc/remoteproc0/firmware
root@imx93frdm:~# echo start > /sys/class/remoteproc/remoteproc0/stateこのバイナリ・ファイルを使用してCortex-M33コアが正常に起動した場合、以下のログがCortex-M33のデバッグ・ターミナルに出力されます。
FRDM-IMX93には、ニューラル・ネットワーク機械学習の推論を高速化するEthos-U65 NPUが搭載されています。このNPUは1 GHzで動作し、0.5 Topsの演算能力(256 MAC/サイクル)を実現します。Ethos-U65のハードウェアおよびソフトウェア・アーキテクチャの詳細については、i.MX機械学習ユーザー・ガイドを参照してください。
Ethos-U65 NPUでの高速化を実現するには、ニューラル・ネットワークの演算子を8 ビット(符号なし/符号付き)または16 ビット(符号付き)に量子化する必要があります。モデルの量子化については、最新のeIQツールキットをダウンロードし、ユーザー・ガイドを確認してください。
量子化されたニューラル・ネットワーク (NN) モデルをEthos-U65に実装するには、最初の手順として、準備済みのモデルをVelaを使用してコンパイルします。Velaツールは、TensorFlow LiteのNNモデルを、Arm Ethos-U NPUを搭載した組込みシステムで実行できるよう最適化されたバージョンへとコンパイルするために使用されます。最適化されたモデルには、モデルの一部分をEthos-U NPUで高速化できるTFLiteカスタム演算子が含まれています。高速化できない部分は変更されず、適切なカーネルを使用してCPU(Cortex-AまたはCortex-M)で実行されます。最適化されたモデルは、コンパイル後はEthos-U NPU組込みシステムでのみ実行できます。このツールは、コンパイルされたモデルのパフォーマンス予測も生成します。
FRDM-IMX93は、Velaによるターゲットでのコンパイルとオフラインでのコンパイルをサポートしています。Velaによるターゲットでのコンパイルについては、VelaコンパイラがデフォルトでLinux BSPにインストール済みです。開発者は、Linux BSPを搭載したFRDM-IMX93で以下のコマンドをそのまま使用して、Velaによるターゲットでのコンパイルを実行できます。
root@imx93frdm:~# vela YOUR_MODEL_NAME.tflite 正常に実行されると、Velaでコンパイルされたモデル「YOUR_MODEL_NAME_vela.tflite」が出力フォルダに生成されます。
Velaによるオフラインでのコンパイルについては、最新のeIQツールキットをダウンロードし、ユーザー・ガイドを確認してください。
VelaでコンパイルされたモデルのNPUでのパフォーマンスを評価するには、Linux BSPのbenchmark_modelツールを使用するのが最も簡単な方法です。このツールは、入力としてランダム・データを使用し、指定された実行回数の平均推論時間を提供します。以下に例を示します。
root@imx93frdm:~# /usr/bin/tensorflow-lite-2.16.2/examples/benchmark_model --graph=/root/mobilenet_v1_1.0_224_quant_vela.tflite --external_delegate_path=/usr/lib/libethosu_delegate.so 正常に実行されると、デバッグ・ターミナルに以下のログが出力されます。
benchmark_modelツールは、コマンドに「--enable_op_profiling=true」を設定することで、演算子のプロファイリング・レポートも提供できます。benchmark_modelの詳しい使い方については、--helpを使用してご確認ください。
NPUでモデル推論を実行するためのコードをc++およびpythonで記述する方法については、GoPointのアプリケーション・サンプルを参照してください。
Tensorflowのほかに、PyTorchもNNモデルを構築するための人気の高いディープ・ラーニング・フレームワークです。しかし、VelaツールはTensorFlow Lite NNモデルのコンパイルのみをサポートしています。PyTorchモデルをTensorFlow Liteモデルに変換する方法については、アプリケーション・ノートAN13769「ONNXを使用してPyTorchモデルをNXPがサポートする推論エンジンに実装する」を参照してください。
FRDM-IMX93には、グラフィックス・バッファやコンポジット・ビデオ/グラフィックス・データをLCDディスプレイやTVエンコーダに送信する前に処理できる、ピクセル・プロセッシング・パイプライン (PXP) モジュールが搭載されています。これは、ディスプレイ・パイプラインに必要なメモリ・フットプリントを最小限に抑え、SDRAMなしとSRAMベースの両方のシステム向けに最適化された実装面積と性能を実現するために使用されています。PXPは、単一の処理エンジンにスケーリング、色空間の変換、回転処理を兼ね備えています。
PXPおよびその使用方法の詳細については、アプリケーション・ノートAN13829「GStreamerおよびWaylandでPXPを使用する方法」を参照してください。
システムのセキュリティと整合性は常に、製品開発において考慮すべき最も重要な側面の1つです。
FRDM-IMX93は、セキュア・ブート機能と暗号化されたブート機能をサポートし、デバイスのブート・シーケンス中の不正なソフトウェアの実行を防止し、ブートローダのデータを不正アクセスから保護します。
セキュア・ブート機能の詳細については、アプリケーション・ノートAN12312「AHAB対応デバイスのセキュア・ブート」を確認してください。
暗号化されたブート機能の詳細については、アプリケーション・ノートAN13994「AHAB対応デバイスのi.MX暗号化ブート」を確認してください。
特定のユース・ケースでは、デバイスのブート時間の要件があります。これは、デバイスのブートを所定の時間内に完了させる必要があることを意味します。
ブート時間を最適化するために、FRDM-IMX93はU-BootのFalconモードをサポートしています。FalconモードはU-Bootの機能で、SPLがLinuxカーネルを直接起動できるようにすることで高速ブートを可能にします。U-Bootのローディングと初期化を完全にスキップし、ブートローダで費やされる時間を短縮する効果があります。
Falconモードを有効にしてブート時間を最適化する方法については、AN14093「Falconモードとカーネル最適化を使用したi.MX 8Mおよびi.MX 9での高速ブート」を参照してください。
ボードの概要
eMMCからのブート
USBデバッグ・ケーブルの接続
HDMIケーブルの接続
ブート・スイッチの設定
電源の接続
Wi-Fi、Bluetooth、および802.15.4ドライバ・モジュールのロード