UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 52030

Zynq-7000 SoC、Boot Sys - リセット原因を判断するメカニズムに slcr.REBOOT_STATUS レジスタが使用されない

説明

デバイスで slcr.REBOOT_STATUS がサポートされない場合は、ソフトウェアで機能が削除されている slcr.RESET_REASON レジスタを使用して、最新のデバイス リセットの原因 (POR、SRST、デバッグ、その他のソフトウェア システム リセット) を判断する必要があります。

ソリューション

最新のリセットの理由を判断するソフトウェア アルゴリズムはすべてのリビジョンで類似していますが、ソフトウェアが使用するレジスタは異なります。

プロダクション デバイスでは、slcr.REBOOT_STATUS が使用されます。

プロダクション デバイスと GES デバイスの説明は下にあります。

影響: 低い
回避策:ソフトウェアで slcr.RESET_REASON レジスタを使用できます。「回避策の詳細」を参照してください。
対象となる構成: システムの再ブートの理由を知る必要のあるシステム
対象となるデバイス リビジョン:(Xilinx Answer 47916) - 「Zynq-7000 AP SoC デバイス - シリコン リビジョン間の相違点」を参照してください。

 

動作の詳細

プロセッサ リセット ソースの判断 :

ユーザーは、最新のリセットのソースを判断できます。このためのレジスタの読み出しとクリアは、エンジニアリング サンプル (Z-7020 GES および Z-7045 GES デバイス) とすべてのプロダクション デバイスで異なります。
GES デバイス: ユーザー ソフトウェアで slcr.RST_REASON レジスタのステートが保持されるようにする必要があります。
プロダクション デバイス: ユーザー ソフトウェアで slcr.REBOOT_STATUS [22:16] レジスタ ビットのステートが保持されるようにする必要があります。

システムが、デバイス リセットの原因を 7 つの可能なソースの中から検出して記録します (RST_REASON または REBOOT_STATUS レジスタにも記録される)。

システム ウォッチドッグ リセット [SWDT_RST 内部信号]
プロセッサ 0 リセット [AWDT0_RST 内部信号]
プロセッサ 1 リセット [AWDT1_RST 内部信号]
システム ソフトウェア リセット [slcr.PSS_RST_CTRL [SOFT_RST] ビット]
デバッグ システム リセット [DBG_RST]
システム リセット [PS_SRST_B ピン]
パワーオン リセット [PS_POR_B ピン]

RST_REASON および RST_REASON_CLR レジスタ:

エンジニアリング サンプルのみで使用できます。プロダクション デバイスでは使用できません。プロダクション デバイスでは、REBOOT_STATUS レジスタを使用してください。RST_REASON および RST_REASON_CLR レジスタは、『Zynq-7000 SoC テクニカル リファレンス マニュアル』には記載されなくなりました。これらのレジスタについては、エンジニアリング サンプル (Z-7020 GES および Z-7045 GES デバイス) 用にこのアンサーに記載しています。

すべてのシリコン バージョン:

RST_REASON は、ソフトウェア (ユーザーおよび BootROM) で読み出し専用です。このレジスタには、7 つのリセット ソースに対応する 7 ビットがあります。ハードウェアがセットを検出すると、そのハードウェアによって 1 つのビットがセットされます。各リセットの原因はレジスタに保持されたままになるので、複数のビットがセットされている可能性があります。RST_REASON_CLR [0] レジスタ ビットに 1 を書き込むと、レジスタをクリアできます。
注記: これらのビットは、POR 以外のすべてのリセットで保持されます。POR リセットが発生すると、POR ビットのみが 1 にセットされます。

シリコン 1.0 および 2.0:
ユーザー コードで最新のリセットの原因を判断するには、リセットの原因が読み出された後、次にリセットが発生したときに 1 つのビットのみがセットされているようにするため、ユーザー コードで RST_REASON レジスタをクリアする必要があります。

シリコン 3.0
これらのレジスタをユーザーの機能としては削除されており、これらのレジスタを制御するため BootROM コードが変更されています。ユーザー コードで RST_REASON および RST_REASON_CLR レジスタにアクセスする必要はなく、アクセスするべきではありません。

REBOOT_STATUS レジスタ:

すべてのシリコン バージョン:
このレジスタには 32 読み出し/書き込みビットが含まれており、POR 以外のすべてのリセットで値が保持されます。レジスタ ビットは、システムのステートおよびシリコン リビジョンによって、ハードウェア、BootROM、またはユーザー コードにより書き込まれます。
ビット [15:0] : ブート プロセスでエラーが発生すると、BootROM によりビット [15:0] にエラー コードが書き込まれます。

注記: シリコン 3.x のエラー コードはシリコン 1.0/2.0 で使用されているものと異なります。1.0/2.0 のエラー コードについては、(Xilinx Answer 55082) で説明しています。プロダクション シリコンのエラー コードは、『Zynq-7000 SoC テクニカル リファレンス マニュアル』に記載されています。

シリコン 1.0 および 2.0:
ビット [31:16] : BootROM またはハードウェアでは割り当てまたは書き込まれません。

シリコン 3.0:
ビット [31:24] : BootROM またはハードウェアでは割り当てまたは書き込まれません。
ビット [23] : 予約済み
ビット [22:16]: ユーザー コードで最新のリセットの原因を判断するには、リセットの原因が読み出された後、次にリセットが発生したときに 1 つのビットのみがセットされているようにするため、ユーザー コードで RST_REASON レジスタをクリアする必要があります。

 

レジスタビットGES Z-7020 および GES Z-7045 デバイスプロダクション デバイス

  

slcr.REBOOT_STATUS

0xF800_0258

31:24

 

汎用 32 ビット R/W フィールドで、
POR 以外のリセットでは保持されます。

BootROM またはハードウェアでは割り当てまたは書き込まれません。

汎用 8 ビット R/W フィールドで、POR 以外のリセットでは保持されます。
BootROM またはハードウェアでは割り当てまたは書き込まれません。

23予約済み
22パワーオン リセット (POR)、PS_POR_B 信号
21システム リセット (SRST_B)、SRST_B 信号
20デバッグ リセット (DBG_RST)
19SLC ソフト リセット (SLC_RST)
18CPU 1 ウォッチドッグ リセット (AWDT1_RST)
17CPU 0 ウォッチドッグ リセット (AWDT0_RST)
16システム ウォッチドッグ リセット (SWDT_RST)
15:0BootROM エラー コード

 

slcr.RST_REASON

0xF800_0250

31:7予約済み

機能削除されているレジスタ

6パワーオン リセット (POR)、PS_POR_B 信号
5デバッグ リセット (DBG_RST)
4システム リセット (SRST_B)、SRST_B 信号
3CPU 1 ウォッチドッグ リセット (AWDT1_RST)
2CPU 0 ウォッチドッグ リセット (AWDT0_RST)
1システム ウォッチドッグ リセット (SWDT_RST)
0BootROM エラー コード

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47916 Zynq-7000 SoC デバイス - シリコン リビジョン間の相違点 N/A N/A
AR# 52030
日付 06/13/2018
ステータス アクティブ
種類 デザイン アドバイザリ
デバイス
  • Zynq-7000
  • XA Zynq-7000
  • Zynq-7000Q
このページをブックマークに追加