お客様の素早い設計とより早い製品化を実現する、技術情報と専門知識をご紹介します。
1
パッケージの内容2
ソフトウェアの入手3
ビルドと実行4
開発者エクスペリエンス次のセクションでは、FRDM-IMX91をブートする手順について説明します。
開発キットの内容:
パッケージ内容の説明ビデオを見て、FRDM-IMX91でのアプリケーションの開発を始めましょう。詳細については、i.MX 91アプリケーション・プロセッサのドキュメントをご覧ください。
図1. FRDM-IMX91上面
図2. FRDM-IMX91底面
Something went wrong! Please try again.
FRDM-IMX91では、ビルド済みのNXP Linuxバイナリ・デモ・イメージがeMMCに書き込まれています。内部のバイナリを変更することなく、eMMCからのブートにより、Linux上で他のアプリケーションをビルドするための特定の機能を備えたデフォルトのシステムが提供されます。
NXPの組込みLinux®の詳細については、次のセクションを参照してください。
Something went wrong! Please try again.
付属のUSB Type-Cケーブルをデバッグ用UARTポートP16に接続し、ケーブルのもう一方の端をホスト・コンピュータに接続します。
2つのUART接続がホスト・コンピュータに表示されます。最初のポートがA55コアのシステム・デバッグ用です。
ターミナル・アプリケーションに慣れていない場合は、ステップ1.4に進む前に、Minicomチュートリアル、Tera Termチュートリアル、PuTTYチュートリアルのいずれかのチュートリアルを参照してください。
Linuxでデバッグする場合は、CH342F Linuxドライバがインストールされていることを確認してください。
Something went wrong! Please try again.
SW1 [4-1]はブート設定用スイッチです。デフォルトでは、ブート・デバイスはeMMC/uSDHC1です。
| ブート・モード | SW1-4 | SW1-3 | SW1-2 | SW1-1 |
|---|---|---|---|---|
| シリアル・ダウンローダ | 0 | 0 | 0 | 1 |
| USDHC1 8ビットeMMC 5.1 | 0 | 0 | 1 | 0 |
| USDHC2 4ビットSD3.0 | 0 | 0 | 1 | 1 |
Something went wrong! Please try again.
パラレルLCDパネル (TM050RDH03-41) をP11 2 x 20ピンEXPIに接続します。電源ケーブルを電源コネクタ (P1) に接続します。u-bootフェーズでDTBを「imx91-11x11-frdm-tianma-wvga-panel.dtb」に切り替えます。
Something went wrong! Please try again.
電源ケーブルを電源コネクタ (P1) に接続します。
ボードは、デフォルトではeMMCからブートするように設定されています。プロセッサはeMMCからのブータブル・イメージの実行を開始します。Arm® Cortex®-A55のシリアル・コンソールに情報が表示されます。ボードが起動すると、LCDパネルの左上隅に1羽のペンギンが表示され、左上にLinuxターミナルのアイコン、右上にタイマが表示されます。これで準備が完了しました。
Something went wrong! Please try again.
FRDM-IMX91で動作するLinuxにログインするには、i.MX Linux OSのデフォルトのログイン・ユーザー名として「root」を使用します。パスワードはありません。以下のコマンドを使用して、カーネルにWi-FiとBluetoothモジュールをロードします。
root@imx91frdm:~# modprobe moal mod_para=nxp/wifi_mod_para.conf
root@imx91frdm:~# ifconfig mlan0 up
root@imx91frdm:~# modprobe btnxpuart
root@imx91frdm:~# hciconfig hci0 reset詳細については、FRDM-IMX91コネクティビティ・トレーニング - NXPコミュニティをご覧ください。
Something went wrong! Please try again.
i.MX Linuxボード・サポート・パッケージ (BSP) は、特定のi.MX開発プラットフォームで組込みLinuxイメージをブートするために使用されるバイナリ・ファイル、ソース・コード、およびサポート・ファイルの集まりです。
Linuxバイナリ・デモ・ファイルの現在のリリースは、Linuxダウンロード・ページにあります。その他のドキュメントは、i.MXソフトウェアおよび開発ツールのLinuxセクションにあるi.MX Linuxドキュメント・バンドルで入手できます。
FRDM-IMX91は、eMMCおよびSDカードからのブートをサポートしています。
このスタート・ガイドでは、Linux BSPイメージをSDカードに書き込むいくつかの方法の概要を説明します。経験豊富なLinux開発者は、必要に応じて他のオプションを検討することができます。
Something went wrong! Please try again.
FRDM i.MX 91開発ボードには、FRDM-IMX91用の最新のビルド済みイメージが用意されています。
ビルド済みのNXP Linuxバイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。
Something went wrong! Please try again.
「パッケージの内容」セクションでの接続に加えて、適切なUSBケーブルを使用してUSB1をホスト・マシンに接続します。
ボードの電源を切ります。「1.5 ブート・スイッチの設定」セクションを参照し、シリアル・ダウンロード・プロトコル (SDP) モードでブートするようにボードを設定します。
ホスト・マシンで使用されているOSに応じて、Linux BSPイメージをSDカードに転送する方法は異なります。詳細な手順については、以下のオプションを選択してください。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUについてさらにサポートが必要な場合は、この広範なチュートリアルを参照してください。
uuulibusb1(apt-getまたは他のパッケージ・マネージャ経由)デフォルトでは、イメージがSDカードに書き込まれます。他のデバイスにイメージを書き込む方法については、UUU GitHubのページを参照してください。
ターミナル・アプリケーションを開き、uuuとFRDM-IMX91用の最新のLinuxディストリビューションが格納されている場所にディレクトリを変更します。uuuファイルに実行権限を追加し、ファイルを実行します。uuuはUSBデバイスが接続されるまで待機します
$ chmod a+x uuu $ sudo ./uuu -b sd_all imx-image-full-imx91frdm.rootfs.wic.zstFRDM-IMX91のブート・モードがシリアル・ダウンロード・モードに切り替わっていることを確認します。ボードの電源を入れると、uuuはSDカードへのイメージの書き込みを開始します。
完了したら、ボードの電源を切り、ターミナルを閉じます。SDカードからブートするためのボードの設定についてさらにサポートが必要な場合は、1.5 ブート・スイッチの設定を参照してください。
UUU GitHubのページから最新の安定ファイルをダウンロードします。UUUについてさらにサポートが必要な場合は、この広範なチュートリアルを参照してください。
uuu.exeデフォルトでは、イメージがSDカードに書き込まれます。他のデバイスにイメージを書き込む方法については、UUU GitHubのページを参照してください。
コマンド・プロンプト・アプリケーションを開き、uuu.exeファイルとFRDM-IMX91用のLinuxリリースが格納されているディレクトリに移動します。
uuu.exe -b sd_all imx-image-full-imx91frdm.rootfs.wic.zstFRDM-IMX91のブート・モードがシリアル・ダウンロード・モードに切り替わっていることを確認します。ボードの電源を入れると、uuuはボードへのイメージのコピーを開始します。
完了したら、ボードの電源を切り、コマンド・プロンプト・アプリケーションを終了します。SDカードからブートするためのボードの設定についてさらにサポートが必要な場合は、1.5 ブート・スイッチの設定を参照してください。
Something went wrong! Please try again.
このセクションでは、FRDM-IMX91用Yocto BSPイメージをビルドする方法に加えて、Matterのサポートを追加する方法、およびDebianのリリース・イメージをビルドする方法の概要を説明します
FRDM-IMX91 BSPリリースは、Yocto Project 5.0 (Scarthgap) を使用したi.MX SW 2024 Q3リリースがベースとなっています。ソース・コードからFRDM-IMX91イメージをビルドするには、まずi.MX Yoctoプロジェクトのユーザー・ガイドをお読みになり、YoctoプロジェクトとYoctoのビルドについて理解してください。その後、以下の手順に従ってFRDM-IMX91用のイメージをビルドしてください。
$ 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=imx91frdm DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b frdm-imx91$ bitbake imx-image-full$ zstdcat imx-image-full-imx91frdm.rootfs.wic.zst | sudo dd of=/dev/sdx bs=1M && syncまたは、uuuを使用してSDカードにイメージを書き込む場合:
$ uuu -b sd_all imx-image-full-imx91frdm.rootfs.wic.zstSomething went wrong! Please try again.
FRDM-IMX91は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=imx91frdm-iwxxx-matter DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-matter-setup.sh bld-xwayland-imx91$ bitbake imx-image-multimediaSomething went wrong! Please try again.
FRDM-IMX91はDebian 12 OSをサポートしています。i.MX Debian Linux SDKディストリビューションでは、NXPが提供するカーネルおよびブート・ローダとDebianディストリビューションのユーザー空間イメージが組み合わされており、これには以下のものが含まれています。
NXPのDebian Linux SDKディストリビューションの詳細については、NXPのi.MXおよびLayerscape用Debian Linux SDKディストリビューションを参照してください
DebianでFRDM-IMX91用に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 imx91frdm$ dhclient -i end0$ date -s "22 Nov 2024 09:00:00"$ debian-post-install-pkg desktop$ debian-post-install-pkg serverFlexbuildを使用してFRDM-IMX91用の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 imx91frdmイメージの個々の部分をビルドするには、Flexbuildを使用するための以下のコマンド・リストを確認してください
$ bld uboot -m imx91frdm (compile u-boot image for imx91frdm)
$ bld linux (compile linux kernel for all arm64 i.MX machines)
$ bld bsp -m imx91frdm (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®-A55用です。
次のコマンドを使用して、Minicomプログラムをインストールし、実行します。
sudo apt-get install minicomsudo minicom /dev/ttyCH343USB * -s
図に示すようにMinicomを設定し、設定を終了します。
FRDM-IMX91の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開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。
システムのセキュリティと整合性は常に、製品開発において考慮すべき最も重要な側面の1つです。
FRDM-IMX91は、セキュア・ブート機能と暗号化されたブート機能をサポートし、デバイスのブート・シーケンス中の不正なソフトウェアの実行を防止し、ブートローダのデータを不正アクセスから保護します。
セキュア・ブート機能の詳細については、アプリケーション・ノートAN12312「AHAB対応デバイスのセキュア・ブート」を確認してください。
暗号化されたブート機能の詳細については、アプリケーション・ノートAN13994「AHAB対応デバイスのi.MX暗号化ブート」を確認してください。
特定のユース・ケースでは、デバイスのブート時間の要件があります。これは、デバイスのブートを所定の時間内に完了させる必要があることを意味します。
ブート時間を最適化するために、FRDM-IMX91はU-BootのFalconモードをサポートしています。FalconモードはU-Bootの機能で、SPLがLinuxカーネルを直接起動できるようにすることで高速ブートを可能にします。U-Bootのローディングと初期化を完全にスキップし、ブートローダで費やされる時間を短縮する効果があります。
Falconモードを有効にしてブート時間を最適化する方法については、AN14093「Falconモードとカーネル最適化を使用したi.MX 8Mおよびi.MX 9での高速ブート」を参照してください。