2407908_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2407908_ja-JP

2407908_ja-JP

iMX8qm ブートコア A72_0

こんにちは、NXPフォーラムの皆様、

iMX8qmで、A72コアから起動できますか?SCUFWはそれを許可していますか?

よろしくお願いします。

Re: iMX8qm Boot Core A72_0

まず既存の flash_ca72 ターゲットで処理を進めてください。u-boot-atf.bin は置き換えないでください。u-boot-atf-a72.bin を使用コックピット/マルチAPイメージフローを意図的に使用しない限り。

証拠はこの違いを示している。

  • flash_ca72は、通常のAコアブートターゲットと同じ基本ブートイメージですが、A53ではなくA72にロードされるものとして説明されています。
  • u-boot-atf.bin は、ATF と U-Boot を組み合わせたイメージです: bl31.bin加えて u-boot.bin/ u-boot-hash.bin .
  • u-boot-atf-a72.binflash_cockpitターゲットに表示され、イメージには2つのAPペイロードが含まれています。1つはA53用、もう1つはA72用です。 -ap u-boot-atf.bin a53 0x80000000 ... -ap u-boot-atf-a72.bin a72 0xC0000000 ... 。

したがって、重要なセレクタは単なるファイル名ではありません。それはIMX-MKIMAGE -APです...A72 ...ターゲットの議論。単一の A72 ブート イメージの場合、u-boot-atf.bin を使用する flash_ca72 は、文書化された意図と一致しています。ファイル名に -a72 が付加されていなくても、ターゲット ルールによってペイロードが A72 にロードされます。

推奨パス:

  • 既存のターゲットを使用して、標準のA72専用イメージを作成します。

SOC=iMX8QM flash_ca72 を作成します

  • Linux側ではCA72デバイスツリー/設定を使いましょう。NXPのドキュメントによると、i.MX8QM MEK CA72 DTBは2つのCortex-A72コアのみをサポートし、flash_ca72で構築された特別なブートイメージが必要です。
  • u-boot-atf-a72.bin を予約するflash_cockpitのように、2つ目のA72 APイメージを明示的にパッケージ化するフローの場合、ただしBSPのsoc.makが使わない限りコメントやリリースノートには、それとは異なる記載がある。
  • 起動時にイメージが実際にA72パスに入っていることを確認します。make V=1 SOC=iMX8QM flash_ca72によって生成されるimx-mkimageコマンドを確認するか、iMX8QM/soc.makを調べます。AP ラインが a72 を使用していることを確認してください。

要点:現在の flash_ca72 参照を u-boot-atf.bin として扱う。意図的なものです。u-boot-atf-a72.bin は、コックピット/マルチパーティション スタイルのイメージで使用される個別の A72 ペイロード用であり、flash_ca72 の自動的な代替ではありません。


Re: iMX8qm Boot Core A72_0明確に/検証したい小さな点があります: `flash_ca72` ターゲットは現在 `u-boot-atf.bin` を参照しています。同じ構成で、別の `u-boot-atf-a72.bin` も利用可能です。

どのように進めていくべきか
Re: iMX8qm Boot Core A72_0

はい、i.MX8QMではアプリケーションプロセッサのブートイメージをCortex-A53ではなくCortex-A72にターゲットに設定でき、SCFWはその流れを許可しています。NXPのimx-mkimageには、通常のA53ブートイメージのA72バリアントとして説明されているflash_ca72ターゲットがあり、ブート時間の最適化のためにA72をできるだけ早く起動することを目的としています。

重要な違いは次のとおりです。

  • リセット後の最初のコード: A72ではない。デバイスの起動フローは、引き続きROM/SCU/SCFWを経由して開始されます。
  • AP側ブートローダー/OSの起動:はい、A72で可能です。SCFWはDDRを初期化し、Cortex-Aイメージを読み込み、コアを起動して開始アドレスを設定します。
  • 設定機構:ブートコンテナはa72用のAPイメージを指定することができます。例:例として、imx-mkimage の使用例で -ap ... a72 ... が示されています。

つまり答えはこうです:SCFWはA72からAPソフトウェアパスを起動できますが、A72はリセットやROMのブートマスターではなく、SCFWによってブートコンテナの設定に従って起動されます。

Re: iMX8qm Boot Core A72_0

あなたの具体的な手順に関して、重要な点は以下のとおりです。

SOC=iMX8QM flash_ca72 を作成します

ブートローダーをA53ではなくA72にロードすることが目的であれば、概念的にはこれが正しいターゲットです。NXPコミュニティのガイダンスでは、flash_ca72は基本flash_b0イメージに似ていますが、A53ではなくA72に読み込まれています。

「ログなし」という症状は、必ずしもSCFWがA72ブートを拒否したことを意味するものではありません。よく知られている落とし穴として、A53とA72は同じログターミナルを使っていないため、通常のAコア/A53 UARTを監視しても、A72イメージが別のコンソールパスで動作しているか、後で失敗しても何も見つからないことがあります。

手順の検証:

エリア

評価

SECOコンテナ

mx8qmb0-ahab-container.img は i.MX8QM B0 に適したコンテナのクラスです。

ATF

make PLAT=imx8qm bl31 は i.MX8QM に対して妥当です。

SCFW

qm=B0 B=var_som V=1の構築はi.MX8QM B0 Varisciteターゲットと一致します。

U-Boot

imx8qm_var_som_defconfig は確認すべき重要な項目です。A72 のブートパスおよびコンソール構成と互換性がある必要があります。

mkimageターゲット

flash_ca72 は A72 ブートの場合にのみ適切なターゲットです。通常のLinux BSP起動では、文書化されたi.MX8QMコマンドがmake SOC=iMX8QM flashです。

SPLコピー

u-boot-spl.bin は flash_ca72 にはおそらく関係ありません。そのターゲットは SPL ベースのフローではありません。

イメージの複製

トップレベルの make SOC=iMX8QM flash_ca72 を実行してから、手動で make -f soc.mak ... flash_ca72 を実行する必要はありません。簡潔なトップレベルコマンドを1つだけ使用してください。

画像生成部分を以下のように修正・整理します。

cd ~/iMX8/Scarthgap_New/MkImage/imx-mkimage


cp ../../SECO/imx-seco-5.9.4.1-0333596/firmware/seco/mx8qmb0-ahab-container.img ./iMX8QM/

cp ../../SCFW/imx-sc-firmware/src/scfw_export_mx8qm_b0/build_mx8qm_b0/scfw_tcm.bin ./iMX8QM/

cp ../../u-boot/uboot-imx/u-boot.bin ./iMX8QM/

cp ../../ATF/imx-atf/build/imx8qm/release/bl31.bin ./iMX8QM/


make clean

SOC=iMX8QM flash_ca72 を作成します

次に以下を使用します。

iMX8QM/flash.bin

また、このSCFWパスも修正/確認してください。

export TOOLS=/home/mkashyap/iMX8/Scarthgap_New/SCFW/Opt

./opt に展開しました、ただしエクスポートされた…/SCFW/Opt。Linuxのパスは大文字を区別しています。scfw_tcm.bin を生成したので実際のシェルには有効なツールパスが設定されていたかもしれませんが、この行を確認する必要があります。

推奨デバッグ手順:

  • まず、標準イメージをビルドして起動します。

make SOC=iMX8QM flash

これは、SECO + SCFW + ATF + U-Boot + ボードのDDR/コンソールが基本的に正しいことを確認するものです。Linuxユーザーガイドにはこの標準i.MX8QMが記載されていますflash.bin生成パス。

  • 次に、以下のコマンドで再構築します。

SOC=iMX8QM flash_ca72 を作成します

  • 通常のA53コンソールだけでなく、 A72コンソール/UARTも監視してください。A53とA72のログ端末は異なります。
  • それでも音がしない場合は、生成された flash.bin を比較してください。flash と flash_ca72 間のサイズ/レイアウトを確認し、Variscite U-Boot の設定が実際に A72 ブートターゲットで使用されるコンソールを有効にしていることを確認します。

つまり、直接的な答えはこうです:SCFWはflash_ca72イメージフローを通じてA72のCortex-A側を起動することを許可していますが、SCFWは初期のブートオーケストレーションを所有しています。あなたの手順はA72ブートにはほぼ有効ですが、重複したsoc.mak呼び出しを削除し、SCFWツールパスを確認し、そして何よりもA72のUART/コンソールを確認してください。

要点:i.MX8QM での A72 ブートは flash_ca72 を介してサポートされています。サイレントブートは、SCFW が単に A72 の起動を拒否しているというよりも、イメージ/設定/コンソールの問題である可能性が高いです。


Re: iMX8qm Boot Core A72_0

こんにちは、

以下の手順に従ってブートローダーを構築しましたが、ログも出力されずにブートローダーが失敗します。

添付された手順を検証していただけますか?

よろしくお願いします。


mkdir Scarthgap_New
cd Scarthgap_New
 
1. セキュリティ・コントローラバイナリーを入手する
mkdir SECO
CDセコ
chmod +x imx-seco-5.9.4.1-0333596.bin
./imx-seco-5.9.4.1-0333596.bin
 
mkashyap@cse-dev02:~/iMX8/Scarthgap_New/SECO/imx-seco-5.9.4.1-0333596/firmware/seco$ ls -al
合計976
drwxrwxr-x 2 mkashyap mkashyap   4096 8月26日 22:21 .
drwxrwxr-x 3 mkashyap mkashyap   4096 8月 26 22:21 ..
-rw-r--r-- 1 mkashyap mkashyap    194 7月29日  2024 commit-id.txt
-rw-r--r-- 1 mkashyap mkashyap 163840 2024年7月29日 mx8dxla1-ahab-container.img
-rw-r--r-- 1 mkashyap mkashyap 163840 2024年7月29日 mx8dxlb0-ahab-container.img
-rw-r--r-- 1 mkashyap mkashyap 76944 Jul 29 2024 mx8qmb0-ahab-container.img
-rw-r--r-- 1 mkashyap mkashyap  71312 7月29日  2024 mx8qxb0-ahab-container.img
-rw-r--r-- 1 mkashyap mkashyap  78408 7月29日  2024 mx8qxc0-ahab-container.img
-rwxr-xr-x 1 mkashyap mkashyap 423875 Jul 29 2024 SECO_FW_release_note.pdf
mkashyap@cse-dev02:~/iMX8/Scarthgap_New/SECO/imx-seco-5.9.4.1-0333596/firmware/seco$
 
私たちはmx8qmb0-ahab-container.imgを使用します
 
CD ../../../..
 
2. ATFをダウンロードしてビルドする
mkdir ATF
cd ATF
git clone https://github.com/varigit/imx-atf-b lf_v2.10_6.6.52-2.2.0_var01
 
cd imx-atf
出典 /opt/FSL-IMX-Xwayland/6.6-scarthgap/environment-setup-armv8a-poky-linux
LDFLAGSを解除します
PLAT=imx8qm bl31 を作成します
 
mkashyap@cse-dev02:~/iMX8/Scarthgap_New/ATF/imx-atf/build/imx8qm/release$ ls -al
合計76
drwxrwxr-x 7 mkashyap mkashyap  4096 8月26日 22:37 .
drwxrwxr-x 3 mkashyap mkashyap  4096 8月 26 22:36 ..
drwxrwxr-x 3 mkashyap mkashyap  4096 8月26日 22:37 bl31
-rwxrwxr-x 1 mkashyap mkashyap 45213 8月26日 22:37 bl31.bin
drwxrwxr-x 2 mkashyap mkashyap 4096 8 月 26 日 22:37 ライブラリ
drwxrwxr-x 2 mkashyap mkashyap 4096 8月26日 22:37 libc
drwxrwxr-x 2 mkashyap mkashyap 4096 8 月 26 日 22:37 libwrapper
drwxrwxr-x 2 mkashyap mkashyap 4096 8月26日 22:37 romlib
 
CD ../../../../../
 
3. SCFWをダウンロードしてビルドする
   mkdir SCFW
   cd SCFW
   
sudo tar xf gcc-arm-none-eabi-8-2018-q4-major-linux.tar.bz -C ./opt
   
cd imx-sc-firmware/src/scfw_export_mx8qm_b0
   
export TOOLS=/home/mkashyap/iMX8/Scarthgap_New/SCFW/Opt
clean-qm を作成する
   qm R=B0 B=var_som V=1 にする
   
mkashyap@cse-dev02:~/iMX8/Scarthgap_New/SCFW/imx-sc-firmware/src/scfw_export_mx8qm_b0/build_mx8qm_b0$ ls -al
合計 3384
   drwxrwxr-x 11 mkashyap mkashyap    4096 8月26日 22:47 .
   drwxrwxr-x  6 mkashyap mkashyap    4096 8月26日 22:47 ..
   drwxrwxr-x  3 mkashyap mkashyap    4096 8月26日 22:47 掲示板
   drwxrwxr-x  3 mkashyap mkashyap    4096 8月26日 22:44 デバイス
   drwxrwxr-x 25 mkashyap mkashyap    4096 Aug 26 22:47 ドライバ
   drwxrwxr-x  2 mkashyap mkashyap    4096 8月26日 22:44 main
   -rwxrwxr-x 1 mkashyap mkashyap 184448 8 月 26 日 22:47 scfw_tcm.bin
-rwxrwxr-x 1 mkashyap mkashyap 2787784 8月26日 22:47 scfw_tcm.elf
   -rw-rw-r-- 1 mkashyap mkashyap 513123 8 月 26 日 22:47 scfw_tcm.map
   drwxrwxr-x  4 mkashyap mkashyap    4096 8月26日 22:44 soc
   drwxrwxr-x 26 mkashyap mkashyap    4096 8月26日 22:44 ss
   drwxrwxr-x  9 mkashyap mkashyap    4096 8月26日 22:47 svc
   drwxrwxr-x 10 mkashyap mkashyap    4096 8月26日 22:44 test
   drwxrwxr-x  2 mkashyap mkashyap    4096 8月26日 22:44 utilities
   
CD ../../../../../
   
4. u-bootをビルドする
   mkdir u-boot
   cd u-boot
   
git clone https://github.com/varigit/uboot-imx.git -b lf_v2024.04_6.6.52-2.2.0_var01
cd uboot-imx
   
   cp ../../SECO/imx-seco-5.9.4.1-0333596/firmware/seco/mx8qmb0-ahab-container.img ./mx8qm-ahab-container.img
   cp ../../SCFW/imx-sc-firmware/src/scfw_export_mx8qm_b0/build_mx8qm_b0/scfw_tcm.bin ./mx8qm-mek-scfw-tcm.bin
mrproper を作る
   imx8qm_var_som_defconfig を作成する
   make -j8
   
CD ../../
   
5. 画像を作成する
mkdir MkImage
cd MkImage
   
git clone https://github.com/varigit/imx-mkimage-b lf-6.6.52_2.2.0_var01
cd imx-mkimage
   
   cp ../../SECO/imx-seco-5.9.4.1-0333596/firmware/seco/mx8qmb0-ahab-container.img ./iMX8QM/
   cp ../../SCFW/imx-sc-firmware/src/scfw_export_mx8qm_b0/build_mx8qm_b0/scfw_tcm.bin ./iMX8QM/
   cp ../../u-boot/uboot-imx/u-boot.bin ./iMX8QM/
   cp ../../u-boot/uboot-imx/spl/u-boot-spl.bin ./iMX8QM/
   cp ../../ATF/imx-atf/build/imx8qm/release/bl31.bin ./iMX8QM/
   
SOC=iMX8QM flash_ca72 を作成します
   
cd iMX8QM
   make -f soc.mak SOC=iMX8QM MKIMG=../mkimage_imx8 PAD_IMAGE=./pad_image.sh flash_ca72
   
   mkashyap@cse-dev02:~/iMX8/Scarthgap_New/MkImage/imx-mkimage/iMX8QM$ ls -al
合計6792
   drwxrwxr-x  3 mkashyap mkashyap    4096 8月26日 23:08 .
   drwxrwxr-x 13 mkashyap mkashyap    4096 8月 26 23:06 ..
   -rwxrwxr-x  1 mkashyap mkashyap   45213 8月26日 23:06 bl31.bin
   -rwxrwxr-x  1 mkashyap mkashyap    2564 8月 26 22:59 expand_c_define.sh
   -rw-rw-r-- 1 mkashyap mkashyap 1895424 8 月 26 日 23:08 flash.bin
   -rw-rw-r--  1 mkashyap mkashyap       9 Aug 26 23:06 head.hash
   -rwxrwxr-x  1 mkashyap mkashyap    2078 Aug 26 22:59 mkimage_fit_atf.sh
   -rw-r--r-- 1 mkashyap mkashyap 76944 8 月 26 日 23:02 mx8qmb0-ahab-container.img
   -rwxrwxr-x 1 mkashyap mkashyap 184448 8 月 26 日 23:03 scfw_tcm.bin
   drwxrwxr-x  2 mkashyap mkashyap    4096 8月26日 22:59 scripts
   -rwxrwxr-x 1 mkashyap mkashyap 13271 8 月 26 日 22:59 soc.mak
   -rwxrwxr-x 1 mkashyap mkashyap 1631521 8 月 26 日 23:06 u-boot-atf.bin
   -rw-rw-r-- 1 mkashyap mkashyap 1500440 8 月 26 日 23:04 u-boot.bin
   -rw-rw-r-- 1 mkashyap mkashyap 1500449 8 月 26 日 23:06 u-boot-hash.bin
   -rw-rw-r-- 1 mkashyap mkashyap 139387 8 月 26 日 23:04 u-boot-spl.bin
 
 
生成された flash.bin はブートローダーイメージとして使用されました

标记 (1)
无评分
版本历史
最后更新:
3 小时之前
更新人: