こんにちは、
現在、以下の構成で作業を行っています。
SoC: NXP i.MX8QX6(MIMX8QX6AVLFZAC)
LPDDR4: Micron MT53E768M32D2ZW-046 (AIT:C)
Yoctoリリース: walnascar-6.12.34-2.1.0
Universal Update Utility を使用して imx-boot-imx8qxp-mek-sd.bin-flash_spl イメージをフラッシュしようとしています。
フラッシュ処理中にツールが停止し、最終的にLIBUSB_ERROR_NO_DEVICEを報告して、フラッシュ処理が完了しなくなります。
問題を特定するために、以下のことを試みました。
以前のリリースに含まれる古いimx-bootバイナリを使用してテストしました。
LF_v6.6.52-2.2.2_images_IMX8QXPC0MEK
LF_v5.15.32-2.0.0_images_IMX8QXPC0MEK
UUUツールの最新バージョンを使用しました
フラッシュ処理を複数回繰り返した
しかし、その行動は変わらない。
メモリデバイスの仕様を精査した結果、社内調査により、 SoCのDDRコントローラ構成と実際のLPDDR4デバイスとの間でDDRアドレス行構成の不一致が発生している可能性があることが示唆されました。
Micronのデータシートによると、メモリデバイスは行アドレスR[16:0](17行)を使用します。
しかし、SoCのドキュメントによると、DDRコントローラは最大16行のアドレス線(R0~R15)をサポートしているようです。
この違いから、 DDRコントローラ構成とメモリデバイスのアドレス指定方式に不一致がある可能性があると推測されます。
LPDDR4構成における行アドレスの不一致が原因で、起動初期段階でUUUフラッシュ処理がLIBUSB_ERROR_NO_DEVICEエラーで停止する可能性はありますか?
これが原因である可能性がある場合、 i.MX8QX6 上のこの LPDDR4 デバイスの DDR パラメータを正しく設定するための推奨される方法は何ですか?
構成はNXPが提供するDDRツール/RPAツールを使用して生成すべきでしょうか、それともこの特定のメモリデバイス用のリファレンス構成は既に用意されているのでしょうか?
何かご助言やご提案があれば、大変ありがたく思います。
よろしくお願いします。
こんにちは、 @Yogesh_
私は自分のimx8qxpボードでテストしました。問題は発生していません。私は以下のコマンドを使用してflash.binファイルをフラッシュします。
uuu -b emmc .\imx-boot-imx8qxpc0mek-sd.bin-flash
ご質問にお答えします:
Q1 & Q2:これはこの問題を引き起こしません
Q3:DRAMの適切なパラメータを設定する必要があります。次に、新しいflash.binファイルを再コンパイルします。しかし、おっしゃる通りです。お使いのDRAMの行数は17ですが、imx8qxpがサポートする最大行数は16です。ですから、16行の別のDRAMに交換してください。つまり、最大4GB(32Gb)のLPDDR4密度をサポートするには、構成は16行2ランクでなければならない。
BR
UUUツールがハングアップ/停止する問題を解決するための代替案をご提案いただけますでしょうか?以前のバージョンと最新バージョンのUUUツール両方を試してみましたが、依然として同じエラーが発生します。
ご返信ありがとうございます。
Yoctoで生成されたimx-boot-imx8qxp-mek-sd.bin-flash_splとflash.binイメージの両方のログを添付しました。flash.binはRPAツールを使用して設定され、SCFWポーティングキットでビルドされ、正常に起動しています。
こんにちは、 @Yogesh_
以下のコマンドを実行した結果はどうなりますか?
uuu -lsusb
BR
こんにちは、 @Yogesh_
以下のコマンドは使用しないでください
sudo uuu -v -b emmc_all imx-boot-imx8qxp-mek-sd.bin-flash_spl
以下のコードを使用してください。
uuu -b emmc imx-boot-imx8qxp-mek-sd.bin-flash_spl
1. Windows OS上でuuuツールを実行してみてください。
2. 下記のコマンドの結果を共有してください。
uuu -lsusb
BR