FRDM-IMX91開発ボードのスタート・ガイド

最終更新日時: 2025-02-13 14:52:00サポート FRDM i.MX 91

このドキュメントの内容

  • 1

    パッケージの内容
  • 2

    ソフトウェアの入手
  • 3

    ビルドと実行
  • 4

    開発者エクスペリエンス

1. パッケージの内容

次のセクションでは、FRDM-IMX91をブートする手順について説明します。

開発キットの内容:

  • NXPのWi-Fi 6トライラジオIW610に基づくオンボードu-blox MAYA-W476モジュールを搭載したFRDM-IMX91ボード
  • ケーブル:アセンブリ、USB 2.0、Type-Cオス - Type-Aオス
  • ソフトウェア:eMMCにプログラムされたLinux BSPイメージ
  • クイック・スタート・ガイド

パッケージ内容の説明ビデオを見て、FRDM-IMX91でのアプリケーションの開発を始めましょう。詳細については、i.MX 91アプリケーション・プロセッサのドキュメントをご覧ください。

1.1 ボードの概要

FRDM-IMX91 Top

FRDM-IMX91 Top

1.2 eMMCからのブート

FRDM-IMX91では、ビルド済みのNXP Linuxバイナリ・デモ・イメージがeMMCに書き込まれています。内部のバイナリを変更することなく、eMMCからのブートにより、Linux上で他のアプリケーションをビルドするための特定の機能を備えたデフォルトのシステムが提供されます。

NXPの組込みLinux®の詳細については、次のセクションを参照してください。

1.3 USBデバッグ・ケーブルの接続

付属のUSB Type-Cケーブルをデバッグ用UARTポートP16に接続し、ケーブルのもう一方の端をホスト・コンピュータに接続します。

2つのUART接続がホスト・コンピュータに表示されます。最初のポートがA55コアのシステム・デバッグ用です。

ターミナル・アプリケーションに慣れていない場合は、ステップ1.4に進む前に、MinicomチュートリアルTera TermチュートリアルPuTTYチュートリアルのいずれかのチュートリアルを参照してください。

Linuxでデバッグする場合は、CH342F Linuxドライバがインストールされていることを確認してください。

1.4 ブート・スイッチの設定

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

1.5 LCDパネルの接続(オプション)

パラレルLCDパネル (TM050RDH03-41) をP11 2 x 20ピンEXPIに接続します。電源ケーブルを電源コネクタ (P1) に接続します。u-bootフェーズでDTBを「imx91-11x11-frdm-tianma-wvga-panel.dtb」に切り替えます。

1.6 ボードの起動

電源ケーブルを電源コネクタ (P1) に接続します。

ボードは、デフォルトではeMMCからブートするように設定されています。プロセッサはeMMCからのブータブル・イメージの実行を開始します。Arm® Cortex®-A55のシリアル・コンソールに情報が表示されます。ボードが起動すると、LCDパネルの左上隅に1羽のペンギンが表示され、左上にLinuxターミナルのアイコン、右上にタイマが表示されます。これで準備が完了しました。

1.7 Wi-Fi、Bluetooth、および802.15.4ドライバ・モジュールのロード

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コミュニティをご覧ください。

2. ソフトウェアの入手

i.MX Linuxボード・サポート・パッケージ (BSP) は、特定のi.MX開発プラットフォームで組込みLinuxイメージをブートするために使用されるバイナリ・ファイル、ソース・コード、およびサポート・ファイルの集まりです。

Linuxバイナリ・デモ・ファイルの現在のリリースは、Linuxダウンロード・ページにあります。その他のドキュメントは、i.MXソフトウェアおよび開発ツールのLinuxセクションにあるi.MX Linuxドキュメント・バンドルで入手できます。

2.1 概要

FRDM-IMX91は、eMMCおよびSDカードからのブートをサポートしています。

このスタート・ガイドでは、Linux BSPイメージをSDカードに書き込むいくつかの方法の概要を説明します。経験豊富なLinux開発者は、必要に応じて他のオプションを検討することができます。

2.2 NXP Linux BSPのビルド済みイメージのダウンロード

FRDM i.MX 91開発ボードには、FRDM-IMX91用の最新のビルド済みイメージが用意されています。

ビルド済みのNXP Linuxバイナリ・デモ・イメージは、プロセッサの使用および評価のための標準的なシステムと基本的な機能のセットを提供します。システムを変更する必要なしに、ユーザーはハードウェアのインターフェースを評価し、SoC機能をテストし、ユーザー空間のアプリケーションを実行できます。

2.3 Universal Update Utility (UUU) を使用したNXP Linux BSPイメージの書き込み

「パッケージの内容」セクションでの接続に加えて、適切なUSBケーブルを使用してUSB1をホスト・マシンに接続します。

ボードの電源を切ります。「1.5 ブート・スイッチの設定」セクションを参照し、シリアル・ダウンロード・プロトコル (SDP) モードでブートするようにボードを設定します。

ホスト・マシンで使用されているOSに応じて、Linux BSPイメージをSDカードに転送する方法は異なります。詳細な手順については、以下のオプションを選択してください。

3. ビルドと実行

このセクションでは、FRDM-IMX91用Yocto BSPイメージをビルドする方法に加えて、Matterのサポートを追加する方法、およびDebianのリリース・イメージをビルドする方法の概要を説明します

3.1 FRDM-IMX91用Yocto BSP

FRDM-IMX91 BSPリリースは、Yocto Project 5.0 (Scarthgap) を使用したi.MX SW 2024 Q3リリースがベースとなっています。ソース・コードからFRDM-IMX91イメージをビルドするには、まずi.MX Yoctoプロジェクトのユーザー・ガイドをお読みになり、YoctoプロジェクトとYoctoのビルドについて理解してください。その後、以下の手順に従ってFRDM-IMX91用のイメージをビルドしてください。

  1. i.MX SW 2024 Q3 BSPリリースのダウンロード:
  2. $ 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 
  3. Yoctoコード・ベースへのmeta-imx-frdmレイヤの統合:
    $ cd ${MY_YOCTO}/sources
    $ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git
  4. Yocto Projectの設定:
    $ cd ${MY_YOCTO}
    $ MACHINE=imx91frdm DISTRO=fsl-imx-xwayland source sources/meta-imx-frdm/tools/imx-frdm-setup.sh -b frdm-imx91
  5. イメージのビルド:
    $ bitbake imx-image-full
  6. SDカードのイメージの書き込み:
    $ 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.zst
  7. ブート・スイッチSW1[1:4]を「1100」に切り替えてSDカードからのブートを選択したら、SDカードを挿入してFRDM-IMX91ボードの電源を入れます。

3.2 FRDM-IMX91でのMatterのサポート

FRDM-IMX91はMatterをサポートしています。Matterのサポートを追加するには、以下の手順に従ってYoctoのビルドにMatterのレイヤを含めてください。

  1. i.MX SW 2024 Q3 BSPリリースのダウンロード:
  2. $ 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 
  3. i.MX Matter Yoctoレイヤのダウンロード:
    $ cd ${MY_YOCTO}/sources/meta-nxp-connectivity
    $ git remote update
    $ git checkout imx_matter_2024_q3
  4. Yoctoコード・ベースへのmeta-imx-frdmレイヤの統合:
    $ cd ${MY_YOCTO}/sources
    $ git clone https://github.com/nxp-imx-support/meta-imx-frdm.git
  5. Yocto Projectの設定:
    $ 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
  6. イメージのビルド:
  7. $ bitbake imx-image-multimedia

3.3 FRDM-IMX91でのDebian

FRDM-IMX91はDebian 12 OSをサポートしています。i.MX Debian Linux SDKディストリビューションでは、NXPが提供するカーネルおよびブート・ローダとDebianディストリビューションのユーザー空間イメージが組み合わされており、これには以下のものが含まれています。

  • Debianに基づくrootfs
    1. Debianベース(基本パッケージ)
    2. Debianサーバ(GUIデスクトップを含まない、より多くのパッケージ)
    3. Debianデスクトップ(GNOME GUIデスクトップを含む)
  • Linuxカーネル
  • BSPコンポーネント
  • 各種アプリケーション(グラフィックス、マルチメディア、ネットワーク、コネクティビティ、セキュリティ、AI/ML)

NXPのDebian Linux SDKディストリビューションの詳細については、NXPのi.MXおよびLayerscape用Debian Linux SDKディストリビューションを参照してください

Debianでのクイック・スタート

DebianでFRDM-IMX91用にSDカードを作成するには、以下の手順に従ってください。

  1. Linuxホストにflexインストーラをダウンロードします
  2. $ wget http://www.nxp.com/lgfiles/sdk/lsdk2412/flex-installer
    $ chmod +x flex-installer
    $ sudo mv flex-installer /usr/bin
  3. LinuxホストにSDカードを差し込み、以下のとおりにイメージをインストールします
  4. # 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
  5. FRDM-IMX91ボードにSDカードを差し込み、以下のとおりに追加パッケージをインストールします
    1. イーサネット・ネットワーク・インターフェースをDHCPで設定するか、手動で設定します
    2. $ dhclient -i end0
    3. 例えば以下のように、正確なシステム時刻を設定します
    4. $ date -s "22 Nov 2024 09:00:00"
    5. GNOME GUIデスクトップ・バージョン用の追加パッケージをインストールします
    6. $ debian-post-install-pkg desktop
    7. または、GUIデスクトップを含まないサーバ・バージョン用の追加パッケージをインストールします
    8. $ debian-post-install-pkg server
    9. インストールが完了したら、rebootコマンドを実行してDebianデスクトップまたはサーバ・システムを起動します

Flexbuildを使用したDebianイメージのビルド

Flexbuildを使用してFRDM-IMX91用のDebianイメージをビルドするには、以下の手順に従ってください。

  1. ビルド環境の設定
    $ 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
  2. Flexbuildを使用したイメージのビルド
    $ bld -m imx91frdm
  3. Flexbuildの使用:

    イメージの個々の部分をビルドするには、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)

4. 開発者エクスペリエンス

NXPでは、あらゆるスキル・レベルのユーザーが開発を迅速化できるように、プラットフォームのさまざまな特長や機能に基づく広範なサンプル・アプリケーションを提供しています。

4.1 アプリケーション・コード・ハブ

アプリケーション・コード・ハブ (ACH) リポジトリでは、NXPの社内エキスパートが開発したマイクロコントローラおよびプロセッサのソフトウェア・サンプル、コード・スニペット、アプリケーション・ソフトウェア・パック、デモなどを簡単に見つけることができます。このスペースでは、マイクロコントローラおよびプロセッサのアプリケーションをすばやく簡単に一貫した方法で検索できます。

ACHには、特定のアプリケーションをすばやく見つけるためのフィルタと検索のオプションがあります。Git機能のサポートにより、ユーザーの開発環境でアプリケーションを簡単にインポートして使用できます。

アプリケーション・コード・ハブ (ACH) の詳細については、こちらのリンクをご覧ください。

4.2 I.MXアプリケーション・プロセッサ用GoPoint

i.MXアプリケーション・プロセッサ用GoPointは、Linux BSPに含まれているビルド済みアプリケーションを起動するためのユーザー・フレンドリーなアプリケーションで、i.MX SoCのさまざまな機能をすばやく実際に体験してみることができます。GoPointは、高度な機能に加え、GitHubで提供されているアプリケーション用のソース・コードとビルド・レシピを使用して、実装のための実用的なソリューションを提供します。

GoPointの詳細については、こちらのリンクをご覧ください。

Linuxのデバッグ・ターミナル

シリアル通信コンソールの設定

Serial-to-USBドライバは、CH342F Linuxドライバ から入手できます。

Linuxホスト・マシンのコマンド・プロンプトで、次のコマンドを実行してポート番号を確認します。

ls /dev/ttyCH343USB*

最初の番号はArm® Cortex®-A55用です。

Minicom

次のコマンドを使用して、Minicomプログラムをインストールし、実行します。

  1. Ubuntuパッケージ・マネージャを使用してMinicomをインストールします
  2. sudo apt-get install minicom
  3. 事前に確認したポート番号を使用して、コンソール・ウィンドウでMinicomを起動します
  4. sudo minicom /dev/ttyCH343USB * -s
GS-FRDM-IMX93-IMG3

図に示すようにMinicomを設定し、設定を終了します。

Windowsのデバッグ・ターミナル

シリアル通信コンソールの設定

FRDM-IMX91のWCH USBシリアル・チップは、2つのシリアル・ポートを列挙します。ポートがCOM11COM12であるとします。最初のポート (COM11) はArm® Cortex®-A55からのシリアル・コンソール通信用です。Serial-to-USBドライバは、CH342F Windowsドライバ から入手できます。

Tera Term

Tera Termは、オープン・ソースのターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。

  1. Tera Termをダウンロードします。ダウンロードしたら、インストーラを実行し、このウェブページに戻って手順を続行します
  2. TeraTermを起動します。初めて起動する際には、次のダイアログが表示されます。[Serial(シリアル)]オプションを選択します。ボードが接続されている場合は、COMポートが自動的にリスト内に表示されます
  3. 事前に確認したCOMポート番号を使用して、シリアル・ポートをボーレート115,200、8データ・ビット、パリティなし、1ストップ・ビットに設定します。この設定は[Setup(セットアップ)]→[Serial Port(シリアル・ポート)]から行うことができます
  4. 接続が確立されているか検証します

PuTTY

PuTTYは、広く利用されているターミナル・エミュレーション・アプリケーションです。このプログラムは、NXP開発プラットフォームの仮想シリアル・ポートから送信された情報を表示します。

  1. PuTTYをダウンロードします。ダウンロードしたら、インストーラを実行し、このウェブページに戻って手順を続行します
  2. 選択したダウンロードのタイプに応じて、ダウンロードした実行ファイルをダブルクリックするか、[Start(スタート)]メニューから選択して、PuTTYを起動します
  3. 起動後に表示されるウィンドウで設定を行います。[Serial(シリアル)]ラジオ・ボタンを選択し、事前に確認したCOMポート番号を入力します。ボーレートもあわせて指定します。今回は115,200を入力します
  4. [Open(開く)]をクリックして、シリアル接続を確立します。ボードが接続されていて、正しいCOMポートが入力されていれば、ターミナル・ウィンドウが開きます。設定が正しくない場合は、アラートが表示されます

セキュリティと整合性

セキュリティと整合性

システムのセキュリティと整合性は常に、製品開発において考慮すべき最も重要な側面の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での高速ブート」を参照してください。