インテルのみ表示可能 — GUID: vmm1571167469620
Ixiasoft
インテルのみ表示可能 — GUID: vmm1571167469620
Ixiasoft
7.3.2. ウォッチドッグと最大再試行操作
- RSU によるウォッチドッグ タイムアウトの処理。
- 最大再試行回数 この機能により、各画像のロードを最大 3 回試行できます。
- RSU 通知により、ウォッチドッグ タイムアウトの前に HPS ソフトウェアの状態を報告し、その後に HPS ソフトウェアの状態を取得できるようになります。
- RSU ステータス エラー フィールドをクリアします。
- 現在の再試行カウンタ値をリセットします。
- ボードの電源を入れ直し、U-Boot を停止して、RSU ステータス ログを確認します。
SOCFPGA # rsu status_log Current Image : 0x02000000 Last Fail Image : 0x00000000 State : 0x00000000 Version : 0x00000202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000000
スロット 1 (パーティション P2) のアプリケーション イメージは、CPB で最高の優先順位としてマークされているため、ロードされました。
フィールドの意味は次のとおりです。- リトライ カウンターは 0x00000000 —最初にこの画像のロードを試みます。
- 州 は 0x00000000 —報告すべきエラーはありません
- をクエリして表示します。 max_retry 価値:
SOCFPGA # rsu display_max_retry max_retry = 3
- Cause a watchdog timeout by setting the timeout value to lowest possible. This prevents U-Boot from being able to service it in time:
SOCFPGA # mw.l 0xffd00204 0
- ウォッチドッグはすぐにタイムアウトになり、SDM は同じアプリケーション イメージを再ロードします。 最大再試行回数 パラメータは 3 に設定されます。 U-Boot コンソールを見て、ステータス ログを確認します。
SOCFPGA # rsu status_log Current Image : 0x02000000 Last Fail Image : 0x02000000 State : 0xf0060001 Version : 0x0acf0202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000001
同じ P2 イメージが読み込まれますが、 リトライ カウンタ値は現在 1 です。これは、このイメージのロードが 2 回目の再試行であることを意味します。の バージョン フィールドは、最後の失敗がアプリケーション イメージによるものであることを示します (0xACF)。の 州 フィールドには、最後のエラーがウォッチドッグ タイムアウトであったことが示されています (0xF006)、HPS ソフトウェアからの最新の通知値は、U-Boot をロードしている SPL からのものでした (0x0001)。
- Clear the error status so we can see the next errors. Query the status to show the errors were cleared:
SOCFPGA # rsu clear_error_status SOCFPGA # rsu status_log Current Image : 0x02000000 Last Fail Image : 0x00000000 State : 0x00000000 Version : 0x00000202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000001
- 別のウォッチドッグ タイムアウトを引き起こします。 U-Boot プロンプトで RSU ログをクエリし、 リトライ カウンタは 2 になりました。
SOCFPGA # rsu status_log Current Image : 0x02000000 Last Fail Image : 0x02000000 State : 0xf0060001 Version : 0x0acf0202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000002
- 次のエラーを確認できるように、エラー ステータスをクリアします。
- Notice コマンドを使用して、SDM に HPS ソフトウェアの状態を 16 ビット値として知らせます。
SOCFPGA0 # rsu notify 0x1234
- もう一度ウォッチドッグ タイムアウトを発生させ、再起動後に RSU ステータス ログを表示します。
SOCFPGA # rsu status_log Current Image : 0x01000000 Last Fail Image : 0x02000000 State : 0xf0061234 Version : 0x0acf0202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000000
SDM は次のアプリケーション イメージを CPB (P1) にロードしましたが、イメージ P2 が失敗したことを報告します。この状態は、ウォッチドッグ タイムアウトが発生したことを示します (上位 16 ビット = 0xF006)、HPS ソフトウェアによって報告された通知値が 0x1234。バージョンの上位 16 ビットは次のように設定されます。 0x0ACF これは、以前のエラーがアプリケーション イメージ ファームウェアによって報告されたことを意味します。詳細については、以下を参照してください。 RSU のステータスコードとエラーコード 。
- エラーをクリアしてステータスを表示します。エラーは表示されません。
SOCFPGA # rsu clear_error_status SOCFPGA # rsu status_log Current Image : 0x01000000 Last Fail Image : 0x00000000 State : 0x00000000 Version : 0x00000202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000000
- ウォッチドッグ タイムアウトを発生させ、U-Boot で起動してステータスを表示します。 リトライ カウンタは 1 つです:
SOCFPGA # rsu status_log Current Image : 0x01000000 Last Fail Image : 0x01000000 State : 0xf0060001 Version : 0x0acf0202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000001
- 電流をリセットする リトライ カウンタ値をゼロに設定し、ステータスを再度クエリして確認します。
SOCFPGA # rsu reset_retry_counter SOCFPGA # rsu status_log Current Image : 0x01000000 Last Fail Image : 0x01000000 State : 0xf0060001 Version : 0x0acf0202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000000