インテルのみ表示可能 — GUID: mdq1571167428437
Ixiasoft
1. 概要
2. 使用例
3. クワッドSPIフラッシュレイアウト
4. インテル® Quartus® Prime開発ソフトウェアおよびツールのサポート
5. ソフトウェアのサポート
6. リモート・システム・アップデートの例
7. バージョンの互換性に関する考慮事項
8. HPS FirstでのRSUの使用
9. 決定ファームウェアのバージョン情報
10. インテルAgilex SoCリモート・システム・アップデート・ユーザーガイドのドキュメント改訂履歴
A. コンフィグレーション・フローの図
B. RSUステータスおよびエラーコード
C. LIBRSUリファレンス情報
D. U-Boot RSUリファレンス情報
C.5.1. librsu_init
C.5.2. librsu_exit
C.5.3. rsu_slot_count
C.5.4. rsu_slot_by_name
C.5.5. rsu_slot_get_info
C.5.6. rsu_slot_size
C.5.7. rsu_slot_priority
C.5.8. rsu_slot_erase
C.5.9. rsu_slot_program_buf
C.5.10. rsu_slot_program_factory_update_buf
C.5.11. rsu_slot_program_file
C.5.12. rsu_slot_program_factory_update_file
C.5.13. rsu_slot_program_buf_raw
C.5.14. rsu_slot_program_file_raw
C.5.15. rsu_slot_verify_buf
C.5.16. rsu_slot_verify_file
C.5.17. rsu_slot_verify_buf_raw
C.5.18. rsu_slot_verify_file_raw
C.5.19. rsu_slot_program_callback
C.5.20. rsu_slot_program_callback_raw
C.5.21. rsu_slot_verify_callback
C.5.22. rsu_slot_verify_callback_raw
C.5.23. rsu_slot_copy_to_file
C.5.24. rsu_slot_enable
C.5.25. rsu_slot_disable
C.5.26. rsu_slot_load_after_reboot
C.5.27. rsu_slot_load_factory_after_reboot
C.5.28. rsu_slot_rename
C.5.29. rsu_slot_status_log
C.5.30. rsu_notify
C.5.31. rsu_clear_error_status
C.5.32. rsu_reset_retry_counter
C.5.33. rsu_dcmf_version
C.6.1. count
C.6.2. list
C.6.3. size
C.6.4. priority
C.6.5. enable
C.6.6. disable
C.6.7. request
C.6.8. request-factory
C.6.9. erase
C.6.10. add
C.6.11. add-factory-update
C.6.12. add-raw
C.6.13. verify
C.6.14. verify-raw
C.6.15. copy
C.6.16. log
C.6.17. notify
C.6.18. clear-error-status
C.6.19. reset-retry-counter
C.6.20. display-dcmf-version
C.6.21. help
D.5.1. rsu_init
D.5.2. rsu_exit
D.5.3. rsu_slot_count
D.5.4. rsu_slot_by_name
D.5.5. rsu_slot_get_info
D.5.6. rsu_lot_size
D.5.7. rsu_slot_priority
D.5.8. rsu_slot_erase
D.5.9. rsu_slot_program_buf
D.5.10. rsu_slot_program_factory_update_buf
D.5.11. rsu_slot_program_buf_raw
D.5.12. rsu_slot_verify_buf
D.5.13. rsu_slot_verify_buf_raw
D.5.14. rsu_slot_enable
D.5.15. rsu_slot_disable
D.5.16. rsu_slot_load
D.5.17. rsu_slot_load_factory
D.5.18. rsu_slot_rename
D.5.19. rsu_status_log
D.5.20. rsu_notify
D.5.21. rsu_clear_error_status
D.5.22. rsu_reset_retry_counter
D.5.23. rsu_dcmf_version
D.6.1. dtb
D.6.2. list
D.6.3. slot_by_name
D.6.4. slot_count
D.6.5. slot_disable
D.6.6. slot_enable
D.6.7. slot_erase
D.6.8. slot_get_info
D.6.9. slot_load
D.6.10. slot_load_factory
D.6.11. slot_priority
D.6.12. slot_program_buf
D.6.13. slot_program_buf_raw
D.6.14. slot_program_factory_update_buf
D.6.15. slot_rename
D.6.16. slot_size
D.6.17. slot_verify_buf
D.6.18. slot_verify_buf_raw
D.6.19. status_log
D.6.20. update
D.6.21. notify
D.6.22. clear_error_status
D.6.23. reset_retry_counter
D.6.24. display_dcmf_version
インテルのみ表示可能 — GUID: mdq1571167428437
Ixiasoft
6.6.1. U-Bootを使用した基本動作の実行
この項では、U-Bootを使用して次の基本動作を実行する方法を示しています。
- RSUステータスの照会
- スロットの数およびそれらに関する情報の照会
- 新しいアプリケーション・イメージの追加
- アプリケーション・イメージが正しく書き込まれたことの確認
- 特定のアプリケーション・イメージのロードの要求
注: この項では、フラッシュに初期RSUイメージが含まれていることを前提としています。それが当てはまらない場合は、初期RSUイメージのQSPIへのフラッシュに示すとおり、最初のイメージを再フラッシュする必要があります。
- ボードの電源を再投入し、プロンプトが表示されたら任意のキーを押して、U-Bootコマンドプロンプトを表示します。
U-Boot 2019.10-g1f7f526 (Apr 30 2020 - 19:06:08 -0500)socfpga_agilex CPU: Intel FPGA SoCFPGA Platform (ARMv8 64bit Cortex-A53) Model: SoCFPGA Agilex SoCDK DRAM: 8 GiB MMC: dwmmc0@ff808000: 0 Loading Environment from MMC... *** Warning - bad CRC, using default environment In: serial0@ffc02000 Out: serial0@ffc02000 Err: serial0@ffc02000 Net: Warning: ethernet@ff800000 (eth0) using random MAC address - ea:e5:aa:36:4c:02 eth0: ethernet@ff800000 Hit any key to stop autoboot: 0 SOCFPGA #
- パラメーターを指定せずに 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
- rsu list コマンドを実行して、RSUパーティション、CPB、現在実行中のイメージ、およびステータスを表示します。
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 list U-Bootコマンドには、同等のRSUクライアントがありません。代わりに、次で示すように、他のコマンドを使用して同じ情報を取得できます。 - rsu status_log コマンドを実行して、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
アプリケーション・イメージP1は、CPBで最も優先度が高いため、ロードされます。エラーはありません。
- スロットに関する情報を表示します。
SOCFPGA # rsu slot_count Number of slots = 3. SOCFPGA # rsu slot_get_info 0 NAME: P1 OFFSET: 0x0000000001000000 SIZE: 0x01000000 PRIORITY: 1 SOCFPGA # rsu slot_get_info 1 NAME: P2 OFFSET: 0x0000000002000000 SIZE: 0x01000000 PRIORITY: [disabled] SOCFPGA # rsu slot_get_info 2 NAME: P3 OFFSET: 0x0000000003000000 SIZE: 0x01000000 PRIORITY: [disabled] SOCFPGA # rsu slot_size 0 Slot 0 size = 16777216. SOCFPGA # rsu slot_size 1 Slot 1 size = 16777216. SOCFPGA # rsu slot_size 2 Slot 2 size = 16777216.
- スロット1を消去し、application2.rpd イメージをスロット1に追加します。
SOCFPGA # rsu slot_erase 1 Slot 1 erased SOCFPGA # load mmc 0:1 $loadaddr application2.rpd 3338240 bytes read in 152 ms (20.9 MiB/s) SOCFPGA # rsu slot_program_buf 1 $loadaddr $filesize Slot 1 was programmed with buffer=0x0000000002000000 size=3338240.
- アプリケーション・イメージが正しく書き込まれたことを確認します。
SOCFPGA # rsu slot_verify_buf 1 $loadaddr $filesize Slot 1 was verified with buffer=0x0000000002000000 size=3338240.
- スロット1 (パーティションP2) に最も優先度の高いイメージが含まれていることを確認します。
SOCFPGA # rsu slot_get_info 1 NAME: P2 OFFSET: 0x0000000002000000 SIZE: 0x01000000 PRIORITY: 1
- ボードの電源を再投入し、U-Bootを停止して、RSUステータスログを確認します。
SOCFPGA # rsu status_log Current Image : 0x02000000 Last Fail Image : 0x00000000 State : 0x00000000 Version : 0x00000202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000000
スロット1 (パーティションP2) からのアプリケーション・イメージは、CPBで最も優先度が高いとマークされているため、ロードされました。
- 次の2つのコマンドのいずれかを実行して、スロット0 (パーティションP1) からアプリケーション・イメージをロードします。
SOCFPGA # rsu update 0x01000000 RSU: RSU update to 0x0000000001000000
または、SOCFPGA # rsu slot_load 0 Slot 0 loading.
- 新しく要求されたイメージをロードします。U-Bootプロンプトで停止し、ステータスログをチェックして確認します。
SOCFPGA # rsu status_log Current Image : 0x01000000 Last Fail Image : 0x00000000 State : 0x00000000 Version : 0x00000202 Error location : 0x00000000 Error details : 0x00000000 Retry counter : 0x00000000
注: U-Bootでは、特定のイメージを要求した場合の効果はすぐに現れます。Linuxでは、次の reboot コマンドでのみ有効になります。