お客様の素早い設計とより早い製品化を実現する、技術情報と専門知識をご紹介します。
1
パッケージの内容2
ソフトウェアの入手3
ビルドと実行4
開発者エクスペリエンス次のセクションでは、FRDM-IMX91Sをブートする手順について説明します。
開発キットの内容:
パッケージ内容の説明ビデオを見て、FRDM-IMX91Sでのアプリケーションの開発を始めましょう。詳細については、i.MX 91アプリケーション・プロセッサのドキュメントをご覧ください。
Something went wrong! Please try again.
FRDM-IMX91Sでは、ビルド済みのNXP Linuxバイナリ・デモ・イメージがTFカードに書き込まれています。内部のバイナリを変更することなく、TFカードCからのブートにより、Linux上で他のアプリケーションをビルドするための特定の機能を備えたデフォルトのシステムが提供されます。
FRDM-IMX91Sボードは、直接ブート(NANDブート)をサポートする256 MBのNANDフラッシュ・メモリを内蔵しています。これに格納されるファイル・システムは大幅に軽量化されており、信頼性を高めてリソース消費を最小限に抑えられるよう最適化されています。フットプリントが小さいため、効率的な動作を確保しながら使用可能なストレージを最大化できます。このファイル・システムは最適な出発点として機能します。モジュール型の設計により完全なカスタマイズが可能であり、特定のアプリケーションのニーズに合わせてさらに調整し、パフォーマンスを最適化できます。
Something went wrong! Please try again.
付属のUSB Type-Cケーブルをデバッグ用UARTポートJ11に接続し、ケーブルのもう一方の端をホスト・コンピュータに接続します。
2つのUART接続がホスト・コンピュータに表示されます。最初のポートがA55コアのシステム・デバッグ用です。
ターミナル・アプリケーションに慣れていない場合は、ステップ1.4に進む前に、次のいずれかのチュートリアルを参照してください。Minicomチュートリアル、Tera Termチュートリアル、PuTTYチュートリアル。
Linuxでデバッグする場合は、CH342F Linuxドライバがインストールされていることを確認してください。
Something went wrong! Please try again.
SW1 [4-1]はブート設定用スイッチです。デフォルトでは、ブート・デバイスはUSDHC2 4ビットSD3.0です。
| ブート・モード | SW1-4 |
SW1-3 |
SW1-2 |
SW1-1 |
|---|---|---|---|---|
| シリアル・ダウンローダ | 0 | 0 | 0 | 1 |
| USDHC2 4ビットSD3.0 | 0 | 0 | 1 | 1 |
| FlexSPIシリアルNAND | 0 | 1 | 0 | 1 |
Something went wrong! Please try again.
電源ケーブルをベースボードの電源コネクタ (J1) に接続すると、ボードに自動で電源が入ります。
ボードが起動すると、シリアル・ポートからPCへのログ情報の出力が開始されます。これで準備が完了しました。
Something went wrong! Please try again.
i.MX Linuxボード・サポート・パッケージ (BSP) は、特定のi.MX開発プラットフォームで組込みLinuxイメージをブートするために使用されるバイナリ・ファイル、ソース・コード、およびサポート・ファイルの集まりです。
Linuxバイナリ・デモ・ファイルの現在のリリースは、Linuxダウンロード・ページにあります。その他のドキュメントは、i.MXソフトウェアおよび開発ツールのLinuxセクションにあるi.MX Linuxドキュメント・バンドルで入手できます。
FRDM-IMX91Sは、NANDおよびSDカードからのブートをサポートしています。
このスタート・ガイドでは、Linux BSPイメージをSDカードに書き込むいくつかの方法の概要を説明します。経験豊富なLinux開発者は、必要に応じて他のオプションを検討することができます。
Something went wrong! Please try again.
FRDM i.MX 91S開発ボードには、FRDM-IMX91S用の最新のビルド済みイメージが用意されています。
ビルド済みのNXP Linuxバイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。
Something went wrong! Please try again.
「パッケージの内容」セクションで紹介した接続ケーブルに加えて、適切なUSBケーブルを用意し、USB1 (J5) とホスト・マシンを接続します。
ボードの電源を切ります。「1.4 ブート・スイッチの設定」セクションを参照し、シリアル・ダウンロード・プロトコル (SDP) モードでブートするようにボードを設定します。
ホスト・マシンで使用されているOSによっては、Linux BSPイメージをSDカードに転送する方法は異なります。詳細な手順については、以下のオプションを選択してください。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUについてさらにサポートが必要な場合は、この広範なチュートリアルを参照してください。
uuulibusb1(apt-getまたは他のパッケージ・マネージャ経由)デフォルトでは、イメージがSDカードに書き込まれます。他のデバイスにイメージを書き込む方法については、UUU GitHubのページを参照してください。
ターミナル・アプリケーションを開き、uuuとFRDM-IMX91S用の最新のLinuxディストリビューションが格納されている場所にディレクトリを変更します。uuuファイルに実行権限を追加し、ファイルを実行します。uuuはUSBデバイスが接続されるまで待機します。
$ chmod a+x uuu
$ sudo ./uuu -b sd_all imx-image-full-imx91frdmimx91s.rootfs.wic.zstFRDM-IMX91Sのブート・モードがシリアル・ダウンロード・モードに切り替わっていることを確認します。ボードの電源を入れると、uuuはSDカードへのイメージの書き込みを開始します。
完了したら、ボードの電源を切り、ターミナルを閉じます。SDカードからブートするためのボードの設定についてさらにサポートが必要な場合は、「1.4 ブート・スイッチの設定」を参照してください。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUについてさらにサポートが必要な場合は、この広範なチュートリアルを参照してください。
uuu.exeデフォルトでは、イメージがSDカードに書き込まれます。他のデバイスにイメージを書き込む方法については、UUU GitHubのページを参照してください。
コマンド・プロンプト・アプリケーションを開き、uuu.exeファイルとFRDM-IMX91S用のLinuxリリースが格納されているディレクトリに移動します。
uuu.exe -b sd_all imx-image-full-imx91frdmimx91s.rootfs.wic.zstFRDM-IMX91Sのブート・モードがシリアル・ダウンロード・モードに切り替わっていることを確認します。ボードの電源を入れると、uuuはボードへのイメージのコピーを開始します。
完了したら、ボードの電源を切り、コマンド・プロンプト・アプリケーションを終了します。SDカードからブートするためのボードの設定についてさらにサポートが必要な場合は、1.4 ブート・スイッチの設定を参照してください。
Something went wrong! Please try again.
このセクションでは、FRDM-IMX91S用Yocto BSPイメージをビルドする方法に加えて、Matterのサポートを追加する方法、およびDebianのリリース・イメージをビルドする方法の概要を説明します。
FRDM-IMX91S BSPリリースは、Yocto Project 5.0 (Scarthgap) を使用したi.MX SW 2024 Q3リリースがベースとなっています。ソース・コードからFRDM-IMX91Sイメージをビルドするには、まずi.MX Yoctoプロジェクトのユーザー・ガイドをお読みになり、YoctoプロジェクトとYoctoのビルドについて理解してください。その後、以下の手順に従ってFRDM-IMX91S用のイメージをビルドしてください。
$ 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$ cd ${MY_YOCTO}
$ MACHINE=imx91frdmimx91s DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b frdm-imx91s$ bitbake imx-image-full$ zstdcat imx-image-full-imx91frdmimx91s.rootfs.wic.zst | sudo dd of=/dev/sdx bs=1M && syncまたは、uuuを使用してSDカードにイメージを書き込む場合:
$ uuu -b sd_all imx-image-full-imx91frdmimx91s.rootfs.wic.zstSW1[4:1] を「0011」に切り替えてSDカードのブートを選択したら、SDカードを挿入してFRDM-IMX91Sボードの電源を入れますSomething went wrong! Please try again.
FRDM-IMX91Sは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$ cd ${MY_YOCTO}
$ MACHINE=imx91frdmimx91s-iwxxx-matter DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-matter-setup.sh bld-xwayland-frdmimx91s$ bitbake imx-image-multimediaSomething went wrong! Please try again.
FRDM-IMX91SはDebian 12 OSをサポートしています。i.MX Debian Linux SDKディストリビューションでは、NXPが提供するカーネルおよびブート・ローダとDebianディストリビューションのユーザー空間イメージが組み合わされており、これには以下のものが含まれています。
NXPのDebian Linux SDKディストリビューションの詳細については、NXPのi.MXおよびLayerscape用Debian Linux SDKディストリビューションのページを参照してください。
DebianでFRDM-IMX91S用に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 imx91frdmimx91s$ dhclient -i end0$ date -s "22 Nov 2024 09:00:00"$ debian-post-install-pkg desktop$ debian-post-install-pkg serverFlexbuildを使用してFRDM-IMX91S用のDebianイメージをビルドするには、以下の手順に従ってください。
$ git clone https://github.com/nxp/flexbuild
$ cd flexbuild && ./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 imx91frdmimx91s$ bld uboot -m imx91frdmimx91s (compile u-boot image for imx91frdmimx91s)
$ bld linux (compile linux kernel for all arm64 i.MX machines)
$ bld bsp -m imx91frdmimx91s (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.
NXPでは、あらゆるスキル・レベルのユーザーが開発を迅速化できるように、プラットフォームのさまざまな特長や機能に基づく広範なサンプル・アプリケーションを提供しています。
アプリケーション・コード・ハブ (ACH) リポジトリでは、NXPの社内エキスパートが開発したマイクロコントローラおよびプロセッサのソフトウェア・サンプル、コード・スニペット、アプリケーション・ソフトウェア・パック、デモなどを簡単に見つけることができます。このスペースでは、マイクロコントローラおよびプロセッサのアプリケーションをすばやく簡単に一貫した方法で検索できます。
ACHには、特定のアプリケーションをすばやく見つけるためのフィルタと検索のオプションがあります。Git機能のサポートにより、ユーザーの開発環境でアプリケーションを簡単にインポートして使用できます。
ACHの詳細については、こちらのリンクをご覧ください。
Something went wrong! Please try again.
i.MXアプリケーション・プロセッサ用GoPointは、Linux BSPに含まれているビルド済みアプリケーションを起動するためのユーザー・フレンドリーなアプリケーションで、i.MX SoCのさまざまな機能をすばやく実際に体験してみることができます。GoPointは、高度な機能に加え、GitHub で提供されているアプリケーション用のソース・コードとビルド・レシピを使用して、実装のための実用的なソリューションを提供します。
GoPointの詳細については、こちらのリンクをご覧ください。
Something went wrong! Please try again.
Serial-to-USBドライバは、CH342F Linuxドライバのページで入手できます。
Linuxホスト・マシンのコマンド・プロンプトで、次のコマンドを実行してポート番号を確認します。
$ ls /dev/ttyCH343USB*最初の番号はArm® Cortex®-A53用です。
次のコマンドを使用して、Minicomプログラムをインストールし、実行します。
$ sudo apt-get install minicom$ sudo minicom /dev/ttyCH343USB * -s
図に示すようにMinicomを設定し、設定を終了します。
FRDM-IMX91SのWCH USBシリアル・チップは、2つのシリアル・ポートを列挙します。ポートがCOM11とCOM12であるとします。最初のポート (COM11) はArm® Cortex®-A53からのシリアル・コンソール通信用です。Serial-to-USBドライバは、CH342F Windowsドライバのページで入手できます。
注:i.MXボードの仮想COMポートのポート番号を確認するには、Windowsのデバイス・マネージャを開き、[ポート (COMとLPT)]でUSBシリアル・ポートを探します。
Tera Termは、オープン・ソースのターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
PuTTYは、広く利用されているターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
システムのセキュリティと整合性は常に、製品開発において考慮すべき最も重要な側面の1つです。
FRDM-IMX91Sは、セキュア・ブート機能と暗号化されたブート機能をサポートし、デバイスのブート・シーケンス中の不正なソフトウェアの実行を防止し、ブートローダのデータを不正アクセスから保護します。
セキュア・ブート機能の詳細については、アプリケーション・ノート「AN12312 AHAB対応デバイスのセキュア・ブート」を確認してください。
暗号化されたブート機能の詳細については、アプリケーション・ノート「AN13994 AHAB対応デバイスのi.MX暗号化ブート」を確認してください。
特定のユース・ケースでは、デバイスのブート時間の要件があります。これは、デバイスのブートを所定の時間内に完了させる必要があることを意味します。
ブート時間を最適化するために、FRDM-IMX91SはU-BootのFalconモードをサポートしています。FalconモードはU-Bootの機能で、SPLがLinuxカーネルを直接起動できるようにすることで高速ブートを可能にします。U-Bootのローディングと初期化を完全にスキップし、ブートローダで費やされる時間を短縮する効果があります。
Falconモードを有効にしてブート時間を最適化する方法については、「AN14093 Falconモードとカーネル最適化を使用したi.MX 8Mおよびi.MX 9での高速ブート」を参照してください。
FRDM-IMX91Sは、256 MBのオンボードNANDフラッシュ・メモリを搭載しています。フル機能のrootfsは通常5 GB以上あるため、256 MBのNANDストレージに収まるようにrootfsをカスタマイズする必要があります。NANDブート用にブートローダとrootfsをコンパイルする方法、およびイメージをNANDにダウンロードする方法については、「i.MX FRDMソフトウェア・ユーザー・ガイド」を参照してください。