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

ID 683184
日付 7/10/2020
Public

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

ドキュメント目次

5.2.3. U-Boot RSUコマンド

U-Bootは、RSUクライアントが提供する機能と同様に、RSUを管理するためのオプションのフルセットを備えた rsu コマンドを提供します。

パラメーターなしで実行すると、すべての rsu コマンドオプションを確認できます。

SOCFPGA # rsu
rsu - Agilex SoC Remote System Update

Usage:
rsu dtb   - Update Linux DTB qspi-boot parition offset with spt0 value
list  - List down the available bitstreams in flash
slot_by_name <name> - find slot by name and display the slot number
slot_count - display the slot count
slot_disable <slot> - remove slot from CPB
slot_enable <slot> - make slot the highest priority
slot_erase <slot> - erase slot
slot_get_info <slot> - display slot information
slot_load <slot> - load slot immediately
slot_load_factory - load factory immediately
slot_priority <slot> - display slot priority
slot_program_buf <slot> <buffer> <size> - program buffer into slot, and make it highest priority
slot_program_buf_raw <slot> <buffer> <size> - program raw buffer into slot
slot_program_factory_update_buf <slot> <buffer> <size> - program factory update buffer into slot, and make it highest priority
slot_rename <slot> <name> - rename slot
slot_size <slot> - display slot size
slot_verify_buf <slot> <buffer> <size> - verify slot contents against buffer
slot_verify_buf_raw <slot> <buffer> <size> - verify slot contents against raw buffer
status_log - display RSU status
update <flash_offset> - Initiate firmware to load bitstream as specified by flash_offset
notify <value> - Let SDM know the current state of HPS software
clear_error_status - clear the RSU error status
reset_retry_counter - reset the RSU retry counter
display_dcmf_version - display DCMF versions and store them for SMC handler usage 

U-Boot rsu コマンドの使用方法の例については、U-Boot RSUコマンドの実行の項を参照してください。

次のコマンドには、同等のRSUクライアントがありません。
  • list
  • update
  • dtb
rsu list コマンドは、
  • フラッシュ内のSPTの位置についてSDMに照会し、それを読み出して表示します。
  • フラッシュからCMFポインターブロックを読み出し、関連情報を表示します。
  • 現在実行中のイメージ、RSUのステート、および発生したエラーについてSDMに照会し、情報を表示します。
以下は、使用されている rsu list コマンドの例です。
SOCFPGA # rsu list
RSU: Remote System Update Status
Current Image    : 0x01000000
Last Fail Image  : 0x00000000
State            : 0x00000000
Version          : 0x00000202
Error location   : 0x00000000
Error details    : 0x00000000
Retry counter    : 0x00000000
RSU: Sub-partition table 0 offset 0x00910000
RSU: Sub-partition table 1 offset 0x00918000
SF: Detected mt25qu02g with page size 256 Bytes, erase size 4 KiB, total 256 MiB
RSU: Sub-partition table content
       BOOT_INFO	Offset: 0x0000000000000000	Length: 0x00210000	Flag : 0x00000003
   FACTORY_IMAGE	Offset: 0x0000000000210000	Length: 0x00700000	Flag : 0x00000003
              P1	Offset: 0x0000000001000000	Length: 0x01000000	Flag : 0x00000000
            SPT0	Offset: 0x0000000000910000	Length: 0x00008000	Flag : 0x00000001
            SPT1	Offset: 0x0000000000918000	Length: 0x00008000	Flag : 0x00000001
            CPB0	Offset: 0x0000000000920000	Length: 0x00008000	Flag : 0x00000001
            CPB1	Offset: 0x0000000000928000	Length: 0x00008000	Flag : 0x00000001
              P2	Offset: 0x0000000002000000	Length: 0x01000000	Flag : 0x00000000
              P3	Offset: 0x0000000003000000	Length: 0x01000000	Flag : 0x00000000
RSU: CMF pointer block offset 0x00920000
RSU: CMF pointer block's image pointer list
Priority 1 Offset: 0x0000000001000000 nslot: 0
rsu update コマンドは、特定のアドレスからイメージをロードするようにSDMに指示するために使用されます。以下は、rsu update コマンドの例です。
SOCFPGA # rsu update 0x03000000
RSU: RSU update to 0x0000000003000000

この rsu dtb コマンドは、U-BootがLinux DTBの最初のQSPIパーティション情報を更新して、BOOT_INFOパーティションの直後に開始するようにするために使用されます。このように、決定ファームウェア、決定ファームウェア・データ、およびファクトリー・イメージにLinux*からアクセスできないようにすることで、偶発的な破損のリスクが軽減されます。それに応じて、パーティションのサイズも縮小されます。

詳細については、フラッシュへの保護されたアクセスの項を参照してください。

rsu dtb は、Linux*に渡す前に、U-BootによってメモリーにロードされたDTB上で動作します。使用するシーケンスは次のとおりです。
  1. DTBのロード
  2. rsu dtb コマンドの実行
  3. Linux*の起動