AR# 69006

Zynq UltraScale+ MPSoC: SD ブート チェックリスト

説明

Zynq UltraScale+ MPSoC で SD ブートのデバッグを行う際に必要なもの、作業、注意事項が、ここにまとめられています。

ソリューション

サービス リクエストを開く前に、次の必要な情報をすべて用意しておきます。

1) どの SD コンフィギュレーションを使用しますか。


Zynq UltraScale+ では複数の SD コンフィギュレーション (SD 2.0 および SD 3.0) がサポートされています。  

それぞれ別のボード コンポーネントやビデオ コンフィギュレーションが必要になるので、コンフィギュレーションの違いは重要です。

詳細は、(UG1085) の第 11 章および第 26 章を参照してください。

使用の SD コンフィギュレーションの詳細およびボード回路図を提出してください。


2) Zynq はプロダクション シリコンですか。

XSCT を使用して次の情報を読み出します。

  • 0xFFCA0040 から IDCODE
  • 0xFFCA0044 から PS_VERSION

重要: IDCODE および PS_VERSION を必ず知らせてください。


3) JTAG チェーンは正しく動作していますか。


CPU に接続するには XMD を使用してください。

関連アンサーのリストはこちらです。

(Xilinx Answer 67740)XSDB (またはその他の JTAG) のユーザーは JTAG チェーンへの PL TAP リンクを有効にするために 5 TCK サイクルの間 TMS 信号を High に保持する必要がある
(Xilinx Answer 67818)JTAG/SD ブート モードでの 2016.3 PMUFW の読み込みおよびサンプルの実行


JTAG チェーンの詳細を知らせてください (チェーン内のデバイス数、Zinq の数、カスケードまたは独立した JTAG の Zinq の数、チェーンのレベル シフターなど)。XSCT エラーはすべてレポートしてください。


4) ブートのどの段階で Zynq はエラーになっていますか。BootROM ですか。それとも FSBL ですか。

 

これを確認するには、FSBL デバッグ情報が出力されるように設定したイメージを使用します。#define FSBL_DEBUG_DETAILED in xfsbl_debug.h

 

ブート中に UART に何か表示された場合は、

 

その出力内容を提供してください。FSBL はユーザー アプリケーションで、SDK を使用して簡単にデバッグできます。サービス リクエストを開く前に簡単な問題調査を行ってみてください。

  • ブート中、何も UART に出力されない場合は、UART のボーレートをまず確認してください。

 

ブートエラーの後の INIT_B、PS_ERROR_OUT、CSU_BR_ERROR および BOOT_MODE_POR レジスタのステータスを知らせてください。

  • このレジスタ ダンプを確認するには、添付の TCL スクリプト(boot_registers_log_revX_Y.tcl) を使用するのが簡単です。

 


5) u-boot を使用すると機能しますか。

 

こちらの Wiki ページにある最新版イメージからビルドされている u-boot.elf を使用してください。 http://www.wiki.xilinx.com/Zynq+Releases

mmc info、fatls、fatload など

デバッグ オプションは、SD インターフェイスのスピードを「標準」 (25 MHz) に制限します。引き続きエラーが発生する場合は、確認してください。

この wiki ページにあるあらかじめビルドされた u-boot イメージを使用して SD を実行する mmc コマンドのログを提出してください。使用した u-boot のバージョンを指定してください。


6) ザイリンクスのスタンドアロンのサンプル (xilffs) は機能していますか。

 

どこでサンプルがエラーになっているかを理解するため、デバッグがある程度必要になります (SDK デバッガーを使用するか、デバッグ結果を追加するなど)。

デバッグ オプションは、SD インターフェイスのスピードを「標準」 (25 MHz) に制限します。引き続きエラーが発生する場合は、確認してください。

 

ザイリンクスのスタンドアロンのサンプルで検出されたエラーのタイプを報告してください。


7) Linux カーネルに問題は起きていますか (例: mmc0: error -110 whilst)。

このデバイス ツリー ノードを該当する SDHC に追加してインターフェイスを 50 MHz で実行してみてください。

  • no-1-8-v;

カードにタイミングの問題がある場合は、次のデバイス ツリー ノードを使用して Linux でクロックのスピードを 25 MHz に落とします。

  • broken-mmc-highspeed

 

詳細は、http://www.wiki.xilinx.com/SD+controllerを参照してください。

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
boot_registers_log_rev1_1.tcl 2 KB TCL
AR# 69006
日付 05/31/2018
ステータス アクティブ
種類 一般
デバイス