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

ID 683184
日付 11/10/2021
Public

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

ドキュメント目次

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

この例では、U-Bootコマンドを使用して、決定ファームウェアのデータが破損していることを検出し、決定ファームウェア・アップデート・イメージを実行してデータを回復する方法を示します。
注: この例に一覧表示されているコマンドは、初期フラッシュイメージ (JIC) が他の変更なしでフラッシュに書き込まれたことを前提としています。
  1. ボードの電源を入れ直し、U-Bootプロンプトで起動します。
  2. RSUステータスを表示します。
    SOCFPGA # rsu status_log
    Current Image   : 0x01000000
    Last Fail Image : 0x00000000
    State           : 0x00000000
    Version         : 0x00000202
    Error location  : 0x00000000
    Error details   : 0x00000000
    Retry counter   : 0x00000000

    エラーはありません。

  3. 決定ファームウェア・データを破損します。
    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
  4. ボードの電源を入れ直し、U-Bootプロンプトで起動し、RSUステータスを表示します。
    SOCFPGA # rsu status_log
    Current Image   : 0x00110000
    Last Fail Image : 0x00100000
    State           : 0xf004d00f
    Version         : 0x0dcf0202
    Error location  : 0x00000000
    Error details   : 0x00000000
    Retry counter   : 0x00000000

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

  5. 未使用のスロットを消去し、決定ファームウェアのアップデート・イメージをスロットに追加し、正しく書き込まれたことを確認して、実行中のスロットが最も優先度が高いことを確認します。
    SOCFPGA # rsu slot_erase 2
    Slot 2 erased.
    SOCFPGA # fatload mmc 0:1 ${loadaddr} decision_firmware_update.rpd
    151552 bytes read in 9 ms (16.1 MiB/s)
    SOCFPGA # rsu slot_program_factory_update_buf 2 ${loadaddr} ${filesize}
    Slot 2 was programmed with buffer=0x0000000002000000 size=151552.
    SOCFPGA # rsu slot_verify_buf 2 ${loadaddr} ${filesize}
    Slot 2 was verified with buffer=0x0000000002000000 size=151552.
    SOCFPGA # rsu slot_get_info 2
    NAME: P3
    OFFSET: 0x0000000003000000
    SIZE: 0x01000000
    PRIORITY: 1
  6. 決定ファームウェアのアップデート・イメージに制御を渡します。
    SOCFPGA # rsu slot_load 2
  7. 決定ファームウェアのアップデート・イメージは、新しい決定ファームウェア・コピーと新しい決定ファームウェア・データをフラッシュに書き込み、CPBからそれ自体を削除してから、最も優先度の高いイメージに制御を渡します。
  8. U-Bootプロンプトで停止し、決定ファームウェア・データがすべて正常であり、決定ファームウェアのアップデート・イメージがCPBから削除され、最も優先度の高いイメージが実行されていることを確認します。
    SOCFPGA # rsu status_log 
    Current Image   : 0x01000000
    Last Fail Image : 0x00000000
    State           : 0x00000000
    Version         : 0x00000202
    Error location  : 0x00000000
    Error details   : 0x00000000
    Retry counter   : 0x00000000
    SOCFPGA # rsu slot_get_info 2
    NAME: P3
    OFFSET: 0x0000000003000000
    SIZE: 0x01000000
    PRIORITY: [disabled]