2023.11.xでbuildrootを使ってimx8M plus EVB(8MPLUS -BB REV B2)を試しています。
lf-6.1.22-2.0.0 BSP コンポーネントを使用するこのバージョンでは、sdboot で電源を入れた後にコンソールが BL31 で停止します。
「 https://github.com/buildroot/buildroot/blob/master/board/freescale/common/imx/imx8-bootloader-prepar... 」で予想されるオフセットの不一致が問題になっている可能性があります。?
U-Boot SPL 2022.04 (2024年2月26日 - 13:58:31 +0400)
DDRINFO: DRAM初期化を開始
DDRINFO: DRAM レート 4000MTS
DDRINFO:DDRPHYキャリブレーション完了
DDRINFO: DDRmix 構成が完了しました
SEC0: RNGインスタンス化
通常のブート
BOOTROMから起動しようとしています
ブートステージ: プライマリブート
イメージオフセット 0x8000、ページサイズ 0x200、ivt オフセット 0x0
注意: JR0はHABで使用される可能性があるため、NSにリリースしないでください。
お知らせ: BL31: v2.8(リリース):カスタム
通知: BL31: 構築日時: 2024年2月26日 12:23:16
こんにちは@brian14さん、
私たちは、DDR4 を搭載したカスタム ボード i.MX8M Plus を使用しています。
このデザインには、唯一のブートとして 32MB の QSPI フラッシュが含まれています。
このボードでは SD カード、eMMC、NAND、USB は使用できません。
1. 現在のステータス(SPL + U-Boot ブート成功)
mk-image からの初期起動では、次を使用して flash.bin を生成しました。
SOC=iMX8MP flash_ddr4_evk_flexspi にする
生成されたイメージは QSPI フラッシュにプログラムされ、ボードは QSPI から SPL + ATF を使用して U-Boot に正常に起動しました。
2. 要件: Linux を起動してログインプロンプトを表示する (rootfs + QSPI からのカーネル)
次に、同じ 32MB QSPI フラッシュから完全な Linux システム (カーネル + ルート ファイル システム) を起動します。
Yocto BSP をビルドし、デフォルトのイメージ (カーネル + rootfs) を生成しました。
ただし、生成されたイメージ (カーネル) 自体は約 32 MB であり、すでに QSPI フラッシュの合計容量を超えています。
i.MX Yocto_project_Users_Guide の次のコマンドを使用しても:
$DISTRO=fsl-imx-wayland MACHINE=imx8mp-ddr4-evk ソース imx-setup-release.sh -b Build-DDR4
$bitbake コアイメージ最小限
3. 質問
=> 32MB フラッシュにロードするための Linux カーネル サイズと rootfs サイズを削減するにはどうすればよいですか?
=>これらすべてのファイルを QSPI フラッシュ (u-boot 〜 2 MB、カーネル 〜 32 MB、rootfs) にロードするにはどうすればよいでしょうか?
=> 小さな QSPI デバイスにカーネル + rootfs の両方を収めるための推奨されるアプローチは何ですか?
=> i.MX8M Plus 上の QSPI から Linux を完全に起動するための NXP リファレンスまたはアプリケーション ノートはありますか?
32MB QSPI しか利用できない i.MX8MP プラットフォーム上で完全な Linux システムを起動するための最善の戦略についてご指導いただければ幸いです。
こんにちは@govindsiさん、
NXP サポートにお問い合わせいただきありがとうございます。
Buildroot を使用する特別な理由はありますか?
このCASE、Yocto Project は、BSP を構築するためのドキュメントと例を備えた完全にサポートされているツールです。Buildroot の代わりにこのツールを使用することをお勧めします。
i.MX アプリケーションプロセッサ向け組み込み Linux | NXP Semiconductors
すてきな一日を!