インテルのみ表示可能 — GUID: dai1571159481955
Ixiasoft
インテルのみ表示可能 — GUID: dai1571159481955
Ixiasoft
7.5.2. ウォッチドッグ・タイムアウトと max retry 動作
- ウォッチドッグ・タイムアウトのRSU処理
- max retry 関数。各イメージを最大3回ロードできます。
- RSU通知。これにより、HPSソフトウェアのステートをウォッチドッグ・タイムアウト後に報告し取得できます。
- RSUステータス・エラー・フィールドのクリア
- 現在の retry カウンター値のリセット
- ボードの電源を入れ直し、Linux*を起動し、ステータスを表示します。これは、P2イメージが実行中であることを示しています。最も優先度が高いためです。
root@linux:~# ./rsu_client --log VERSION: 0x00000202 STATE: 0x00000000 CURRENT IMAGE: 0x0000000002000000 FAIL IMAGE: 0x0000000000000000 ERROR LOC: 0x00000000 ERROR DETAILS: 0x00000000 RETRY COUNTER: 0x00000000 Operation completed
バージョンフィールドの意味は、次のとおりです。- Retry カウンターが 0x00000000 - このイメージをロードするための最初の試行です。
- State は 0x00000000 - 報告するエラーはありません。
- max_retry 値を照会して表示します。
root@linux:~# ./rsu_client --display-max-retry max_retry = 3 Operation completed
注: max_retry オプションをLinuxで使用できるようにするには、最初にU-Bootから照会する必要があります。 - ウォッチドッグをイネーブルしますが、サービスを提供しないでください。タイムアウトが発生し、Linuxが再起動するためです。
root@linux:~# echo "something" > /dev/watchdog [ 603.649746] watchdog: watchdog0: watchdog did not stop!
- ウォッチドッグ・タイムアウト後にLinux*が再起動するのを待ってから、ログを表示します。
root@linux:~# ./rsu_client --log VERSION: 0x0ACF0202 STATE: 0xF0060002 CURRENT IMAGE: 0x0000000002000000 FAIL IMAGE: 0x0000000002000000 ERROR LOC: 0x00000000 ERROR DETAILS: 0x00000000 RETRY COUNTER: 0x00000001 Operation completed
同じP2イメージがロードされますが、retry カウンターの値は1になります。これは、このイメージのロードが2回目の再試行であることを意味します。version フィールドには、最後の失敗がアプリケーション・イメージ (0xACF) によるものであることが示されます。state フィールドは、最後のエラーがウォッチドッグ・タイムアウト (0xF006) であり、HPSソフトウェアからの最新の通知値がLinuxをロードしているU-Boot (0x0002) からのものであることを示しています。
- エラーステータスをクリアして、次のエラーを確認できるようにします。ステータスを照会して、エラーがクリアされたことを示します。
root@linux:~# ./rsu_client --clear-error-status Operation completed root@linux:~# ./rsu_client --log VERSION: 0x00000202 STATE: 0x00000000 CURRENT IMAGE: 0x0000000002000000 FAIL IMAGE: 0x0000000000000000 ERROR LOC: 0x00000000 ERROR DETAILS: 0x00000000 RETRY COUNTER: 0x00000001 Operation completed
- 別のウォッチドッグ・タイムアウトを発生させて、Linux*が再起動するのを待ちます。再起動後、RSUログを照会し、retry カウンターが2になっていることを確認します。
root@linux:~# ./rsu_client --log VERSION: 0x0ACF0202 STATE: 0xF0060002 CURRENT IMAGE: 0x0000000002000000 FAIL IMAGE: 0x0000000002000000 ERROR LOC: 0x00000000 ERROR DETAILS: 0x00000000 RETRY COUNTER: 0x00000002 Operation completed
- エラーステータスをクリアして、次のエラーを確認できるようにします。
- HPS実行ステージを16ビット数としてSDMに通知します。
root@linux:~# ./rsu_client --notify 0x1234 Operation completed
- 別のウォッチドッグ・タイムアウトを発生させて、Linux*が再起動するのを監視します。再起動後、RSUログを照会します。
root@linux:~# ./rsu_client --log VERSION: 0x0ACF0202 STATE: 0xF0061234 CURRENT IMAGE: 0x0000000001000000 FAIL IMAGE: 0x0000000002000000 ERROR LOC: 0x00000000 ERROR DETAILS: 0x00000000 RETRY COUNTER: 0x00000000 Operation completed
SDMはCPB (P1) に次のアプリケーション・イメージをロードし、イメージP2が失敗したことを報告します。このステートは、ウォッチドッグ・タイムアウトが発生し (上位16ビット = 0xF006)、HPSソフトウェアによって報告された通知値が 0x1234 であることを示しています。バージョンの上位16ビットは 0x0ACF に設定されています。これは、前のエラーがアプリケーション・イメージ・ファームウェアによって報告されたことを意味します。詳細については、 RSUステータスコードとエラーコード を参照してください。
- エラーステータスをクリアして、次のエラーを確認できるようにします。
- ウォッチドッグ・タイムアウトを発生させて、ステータスを表示します。retry カウンターの値は1です。
root@linux:~# ./rsu_client --log VERSION: 0x0ACF0202 STATE: 0xF0060002 CURRENT IMAGE: 0x0000000001000000 FAIL IMAGE: 0x0000000001000000 ERROR LOC: 0x00000000 ERROR DETAILS: 0x00000000 RETRY COUNTER: 0x00000001 Operation completed
- RSUクライアントを使用して、現在の再試行カウンター値を0にリセットし、ステータスを再度照会して確認します。
rroot@linux:~# ./rsu_client --reset-retry-counter Operation completed root@linux:~# ./rsu_client --log VERSION: 0x0ACF0202 STATE: 0xF0060002 CURRENT IMAGE: 0x0000000001000000 FAIL IMAGE: 0x0000000001000000 ERROR LOC: 0x00000000 ERROR DETAILS: 0x00000000 RETRY COUNTER: 0x00000000 Operation completed