AR# 70133

Zynq UltraScale+ MPSoC: UART に FSBL の出力がなくセキュア ブートでエラーになる

説明

Zynq UltraScale+ MPSoC でセキュアにブートしようとしていますが、UART コンソールに FSBL の出力がありません。

Vivado を使用して JTAG_ERROR_STATUS を読み出すと、CSU ROM で FSBL の読み込みおよびハンドオフがエラーもなく完了していることが確認できます。

UART コンソールには何も出力されていないので、FSBL は (おそらく) psu_int() ファンクション実行中に停止しているものと見られます。

ソリューション

セキュア ブートするとき、デバイスのデバッグ コンポーネントはすべてリセット状態に保持され、レジスタ CRL_APB.RST_LPD_DBG は 0x33 に保持されます。レジスタの詳細は、(UG1087) を参照してください。

これらのデバッグ モジュール (TPIU や coresight_uart (JTAG を介した UART)) にアクセスがあると、システムが停止します。


psu_init() がデバッグ モジュールにアクセスしていないことを確認する必要があります。

これを調べる簡単な診断方法は、Xil_Out32(0xFF5E0240,0x0); を psu_init() への呼び出しの直前に追加することです。

これでブートの問題を修正できるようであれば、psu_init() がデバッグ モジュールにアクセスしていたことになります。


避けるべきコンフィギュレーションの例は次のとおりです。

  • Vivado で TRACE ポートがイネーブルになっていて、TPIU コンフィギュレーション書き込みに変換される。
  • FSBL BSP で選択されている JTAG を介した UART が coresight コンフィギュレーション書き込みに変換される
AR# 70133
日付 11/15/2017
ステータス アクティブ
種類 一般
デバイス