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

ID 683184
日付 6/09/2023
Public
ドキュメント目次

7.3.5.1. 破損した判定ファームウェア

この例では、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

    上位 4 ビット フィールドは 0x0 これは、現在使用されている決定ファームウェア インデックスがゼロであることを意味します。間違いはありません。

  3. 決定ファームウェアのステータスを表示します。
    SOCFPGA # rsu display_dcmf_status
    DCMF0: OK
    DCMF1: OK
    DCMF2: OK
    DCMF3: OK

    このコマンドは、現在使用されている判定ファームウェア コピー 0 を他のコピーと比較し、すべての判定ファームウェア コピーが正常であることを表示します。

  4. 破損した判定ファームウェアのコピー 0 と 2:
    SOCFPGA # sf probe
    SF: Detected mt25qu02g with page size 256 Bytes, erase size 4 KiB, total 256 MiB
    SOCFPGA # sf erase 0 0x1000
    SF: 4096 bytes @ 0x0 Erased: OK
    SOCFPGA # sf erase 0x100000 0x1000
    SF: 4096 bytes @ 0x100000 Erased: OK
  5. ボードの電源を入れ直し、U-Boot プロンプトを起動して、RSU ステータスと決定ファームウェア ステータスを表示します。
    SOCFPGA # rsu status_log
    Current Image   : 0x01000000
    Last Fail Image : 0x00000000
    State           : 0x00000000
    Version         : 0x10000202
    Error location  : 0x00000000
    Error details   : 0x00000000
    Retry counter   : 0x00000000
    SOCFPGA # rsu display_dcmf_status
    DCMF0: Corrupted
    DCMF1: OK
    DCMF2: Corrupted
    DCMF3: OK

    決定ファームウェアの現在使用されているコピーは、上位 4 ビットで示されているように 1 です。 バージョン 分野。判定ファームウェア コピー 0 および 2 が破損していることが検出されました。

  6. 未使用のスロットを消去し、決定ファームウェア更新イメージをスロットに追加し、正常に書き込まれたことを確認して、そのスロットが最も優先度の高いスロットになったことを確認します。
    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
  7. 制御を部門ファームウェア更新イメージに渡します。
    SOCFPGA # rsu slot_load 2
  8. 決定ファームウェア更新イメージは、新しい決定ファームウェアのコピーと新しい決定ファームウェア データをフラッシュに書き込み、それ自体を CPB から削除し、最も優先度の高いイメージに制御を渡します。
  9. 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 display_dcmf_status
    DCMF0: OK
    DCMF1: OK
    DCMF2: OK
    DCMF3: OK
    SOCFPGA # rsu slot_get_info 2
    NAME: P3
    OFFSET: 0x0000000003000000
    SIZE: 0x01000000
    PRIORITY: [disabled]