インテル® Agilex™ ハード・プロセッサー・システム (HPS) のリモート・システム・アップデート・ユーザーガイド

ID 683184
日付 11/10/2021
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

7.5.5.2. 破損した決定ファームウェアのデータ

この例では、RSUクライアントを使用して、決定ファームウェアのデータが破損していることを検出し、決定ファームウェアのアップデート・イメージを実行して、データを回復する方法を示します。
注: この例に一覧表示されているコマンドは、初期フラッシュイメージ (JIC) が他の変更なしでフラッシュに書き込まれたことを前提としています。
  1. ボードの電源を入れ直し、Linuxで起動して、RSUステータスを照会します。
    root@linux:~# ./rsu_client --log
          VERSION: 0x00000202
            STATE: 0x00000000
    CURRENT IMAGE: 0x0000000001000000
       FAIL IMAGE: 0x0000000000000000
        ERROR LOC: 0x00000000
    ERROR DETAILS: 0x00000000
    RETRY COUNTER: 0x00000000
    Operation completed

    エラーはありません。

  2. ボードを再起動または電源を入れ直し、U-Bootプロンプトで停止して、決定ファームウェアのデータを破損します。
    SOCFPGA # sf probe 
    SF: Detected mt25qu02g with page size 256 Bytes, erase size 4 KiB, total 256 MiB
    SOCFPGA # sf erase 0x100000 0x1000
    SF: 4096 bytes @ 0x100000 Erased: OK
  3. ボードの電源を入れ直し、Linuxで起動して、ステータスを照会します。
    root@linux:~# ./rsu_client --log
          VERSION: 0x0DCF0202
            STATE: 0xF004D00F
    CURRENT IMAGE: 0x0000000000110000
       FAIL IMAGE: 0x0000000000100000
        ERROR LOC: 0x00000000
    ERROR DETAILS: 0x00000000
    RETRY COUNTER: 0x00000000
    Operation completed

    State には、特別なエラーコード 0xF004D00F が含まれています。これは、決定ファームウェア・データが破損していることを示します。現在のイメージが、ファクトリー・イメージとして一覧表示されます。エラーソースは 0xDCF として一覧表示されており、エラーが決定ファームウェアによって報告されたことを意味します。Last Fail Image0x00100000 に設定されています。これは、決定ファームウェアによってエラーが報告されたことを示す特別な値です。

  4. 未使用のスロットを消去し、決定ファームウェアのアップデート・イメージをスロットに追加し、正しく書き込まれたことを確認して、実行中のスロットが最も優先度が高いことを確認します。
    root@linux:~# ./rsu_client --erase 2
    Operation completed
    root@linux:~# ./rsu_client --add-factory-update decision_firmware_update.rpd --slot 2
    Operation completed
    root@linux:~# ./rsu_client --verify decision_firmware_update.rpd --slot 2
    Operation completed
    root@linux:~# ./rsu_client --list 2
          NAME: P3
        OFFSET: 0x0000000003000000
          SIZE: 0x01000000
      PRIORITY: 1
    Operation completed
  5. デバイスのファームウェア・アップデート・イメージに制御を渡します。
    root@linux:~# ./rsu_client --request 2
    Operation completed
    root@linux:~# reboot
  6. Linuxがシャットダウンすると、決定ファームウェアのアップデート・イメージによって新しい決定ファームウェア・コピーと新しい決定ファームウェア・データがフラッシュに書き込まれ、CPBからそれ自体を削除してから、最も優先度の高いイメージに制御を渡します。
  7. Linuxでは、RSUステータスを照会します。
    root@linux:~# ./rsu_client --log
          VERSION: 0x00000202
            STATE: 0x00000000
    CURRENT IMAGE: 0x0000000001000000
       FAIL IMAGE: 0x0000000000000000
        ERROR LOC: 0x00000000
    ERROR DETAILS: 0x00000000
    RETRY COUNTER: 0x00000000
    Operation completed

    最も優先度の高いイメージがロードされ、エラーは発生しません。決定ファームウェアのデータは復元されました。