インテルのみ表示可能 — GUID: mdq1571167428437
Ixiasoft
1. 概要
2. 使用例
3. クワッドSPIフラッシュレイアウト
4. インテル® Quartus® Prime ソフトウェアとツールのサポート
5. ソフトウェア・サポート
6. フラッシュの破損 - 検出と回復
7. リモート・システム・アップデートの例
8.
9. Intel Agilex® 7ハード・プロセッサー・システム・リモート・システム・アップデート・ユーザーガイド
10. Intel Agilex® 7 プロセッサ システム・リモート・システム・アップデートのユーザーガイドのドキュメント改訂履歴
A. 構成フロー図
B. RSU のステータスコードとエラーコード
C. U-Boot RSU リファレンス情報
D. LIBRSU参考情報
E. 結合されたアプリケーション・イメージ
7.1.1. 環境のセットアップ
7.1.2. ハードウェアプロジェクトの構築
7.1.3. 建物 Arm* 信頼できるファームウェア
7.1.4. 操作コマンド
7.1.5. U-Boot の構築
7.1.6. U-Boot スクリプトの構築
7.1.7. 初期フラッシュイメージの作成
7.1.8. アプリケーション・イメージの作成
7.1.9. 工場出荷時のアップデートイメージの作成
7.1.10. デシジョンファームウェアアップデートイメージの作成
7.1.11. 操作コマンド
7.1.12. LIBRSU および RSU クライアントの構築
7.1.13. ルート・ファイル・システムの構築
7.1.14. SDルートキーを作成する
C.6.1. rsu_init
C.6.2. rsu_exit
C.6.3. rsu_slot_count
C.6.4. rsu_slot_by_name
C.6.5. rsu_slot_get_info
C.6.6. rsu_slot_size
C.6.7. rsu_slot_priority
C.6.8. rsu_slot_erase
C.6.9. rsu_slot_program_buf
C.6.10. rsu_slot_program_factory_update_buf
C.6.11. rsu_slot_program_buf_raw
C.6.12. rsu_slot_verify_buf
C.6.13. rsu_slot_verify_buf_raw
C.6.14. rsu_slot_enable
C.6.15. rsu_slot_disable
C.6.16. rsu_slot_load
C.6.17. rsu_slot_load_factory
C.6.18. rsu_slot_rename
C.6.19. rsu_slot_delete
C.6.20. rsu_slot_create
C.6.21. rsu_status_log
C.6.22. RSU_NOTIFY
C.6.23. rsu_clear_error_status
C.6.24. rsu_reset_retry_counter
C.6.25. rsu_dcmf_version
C.6.26. rsu_max_retry
C.6.27. rsu_dcmf_status
C.6.28. rsu_create_empty_cpb
C.6.29. rsu_restore_cpb
C.6.30. rsu_save_cpb
C.6.31. rsu_restore_spt
C.6.32. rsu_save_spt
C.6.33. rsu_running_factory
C.7.1. dtb
C.7.2. list
C.7.3. slot_by_name
C.7.4. slot_count
C.7.5. slot_disable
C.7.6. slot_enable
C.7.7. slot_erase
C.7.8. slot_get_info
C.7.9. slot_load
C.7.10. slot_load_factory
C.7.11. slot_priority
C.7.12. slot_program_buf
C.7.13. slot_program_buf_raw
C.7.14. slot_program_factory_update_buf
C.7.15. slot_rename
C.7.16. slot_delete
C.7.17. slot_create
C.7.18. slot_size
C.7.19. slot_verify_buf
C.7.20. slot_verify_buf_raw
C.7.21. status_log
C.7.22. アップデート
C.7.23. notify
C.7.24. clear_error_status
C.7.25. reset_retry_counter
C.7.26. display_dcmf_version
C.7.27. display_dcmf_status
C.7.28. display_max_retry
C.7.29. restore_spt
C.7.30. save_spt
C.7.31. create_empty_cpb
C.7.32. restore_cpb
C.7.33. save_cpb
C.7.34. check_running_factory
D.6.1. librsu_init
D.6.2. librsu_exit
D.6.3. rsu_slot_count
D.6.4. rsu_slot_by_name
D.6.5. rsu_slot_get_info
D.6.6. rsu_slot_size
D.6.7. rsu_slot_priority
D.6.8. rsu_slot_erase
D.6.9. rsu_slot_program_buf
D.6.10. rsu_slot_program_factory_update_buf
D.6.11. rsu_slot_program_file
D.6.12. rsu_slot_program_factory_update_file
D.6.13. rsu_slot_program_buf_raw
D.6.14. rsu_slot_program_file_raw
D.6.15. rsu_slot_verify_buf
D.6.16. rsu_slot_verify_file
D.6.17. rsu_slot_verify_buf_raw
D.6.18. rsu_slot_verify_file_raw
D.6.19. rsu_slot_program_callback
D.6.20. rsu_slot_program_callback_raw
D.6.21. rsu_slot_verify_callback
D.6.22. rsu_slot_verify_callback_raw
D.6.23. rsu_slot_copy_to_file
D.6.24. rsu_slot_enable
D.6.25. rsu_slot_disable
D.6.26. rsu_slot_load_after_reboot
D.6.27. rsu_slot_load_factory_after_reboot
D.6.28. rsu_slot_rename
D.6.29. rsu_slot_delete
D.6.30. rsu_slot_create
D.6.31. rsu_status_log
D.6.32. RSU_NOTIFY
D.6.33. rsu_clear_error_status
D.6.34. rsu_reset_retry_counter
D.6.35. rsu_dcmf_version
D.6.36. rsu_max_retry
D.6.37. rsu_dcmf_status
D.6.38. rsu_save_spt
D.6.39. rsu_restore_spt
D.6.40. rsu_save_cpb
D.6.41. rsu_create_empty_cpb
D.6.42. rsu_restore_cpb
D.6.43. rsu_running_factory
D.7.1. count
D.7.2. list
D.7.3. <size>
D.7.4. 優先順位
D.7.5. enable
D.7.6. disable
D.7.7. 要求
D.7.8. request-factory
D.7.9. 消去可能
D.7.10. 追加
D.7.11. add-factory-update
D.7.12. add-raw
D.7.13. verify
D.7.14. verify-raw
D.7.15. コピー
D.7.16. 対数
D.7.17. notify
D.7.18. Clear error status
D.7.19. reset-retry-counter
D.7.20. display-dcmf-version
D.7.21. display-dcmf-status
D.7.22. display-max-retry
D.7.23. create-slot
D.7.24. delete-slot
D.7.25. restore-spt
D.7.26. save-spt
D.7.27. create-empty-cpb
D.7.28. restore-cpb
D.7.29. save-cpb
D.7.30. check-running-factory
D.7.31. help
インテルのみ表示可能 — GUID: mdq1571167428437
Ixiasoft
7.3.1. U-Boot を使用して基本操作を実行する
このセクションでは、U-Boot を使用して次の基本操作を実行する方法を説明します。
- RSU ステータスを問い合わせます。
- スロットの数とスロットに関する情報のクエリ
- RSU ステータスを問い合わせます。
- スロットの数とスロットに関する情報のクエリ
- スロットの数とスロットに関する情報のクエリ
注: このセクションでは、フラッシュに初期 RSU イメージが含まれていることを前提としています。 これが当てはまらない場合は、「QSPI への初期 RSU イメージのフラッシュ」に示すように、初期イメージを再フラッシュする必要があります。.
- ボードの電源を入れ直し、プロンプトが表示されたら任意のキーを押して、U-Boot コマンド プロンプトを表示します。
U-Boot 2021.01-12712-ge59d8e9eaa-dirty (Jun 30 2021 - 10:40:17 -0500)socfpga_agilex CPU: Intel FPGA SoCFPGA Platform (ARMv8 64bit Cortex-A53) Model: SoCFPGA Agilex SoCDK DRAM: 8 GiB WDT: Started with servicing (10s timeout) 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 - 62:08:b9:b7:79:2d eth0: ethernet@ff800000 Hit any key to stop autoboot: 5 0 SOCFPGA #
- ボードの電源を入れ直し、プロンプトが表示されたら任意のキーを押して、U-Boot コマンド プロンプトを表示します。
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 display_dcmf_status - display DCMF status and store it for SMC handler usage display_max_retry - display max_retry parameter, and store it for SMC handler usage restore_spt <address> - restore SPT from an address save_spt <address> - save SPT to an address create_empty_cpb - create a empty CPB restore_cpb <address> - restore CPB from an address save_cpb <address> - save CPB to an address check_running_factory - check if currently running the factory image
- ボードの電源を入れ直し、プロンプトが表示されたら任意のキーを押して、U-Boot コマンド プロンプトを表示します。
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
注: の リスト U-Boot コマンドには、RSU クライアントに相当するコマンドがありません。代わりに、次に示すように、他のコマンドを使用して同じ情報を取得できます。 - を実行します。 rsuステータスログ 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
ボードの電源を入れ直し、プロンプトが表示されたら任意のキーを押して、U-Boot コマンド プロンプトを表示します。
- rsu display_dcmf_version を実行して、決定ファームウェアのバージョンを照会および表示します。
SOCFPGA # rsu display_dcmf_version DCMF0 version = 22.1.0 DCMF1 version = 22.1.0 DCMF2 version = 22.1.0 DCMF3 version = 22.1.0
- スロットに関する情報を表示します。
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.
- スロットに関する情報を表示します。
SOCFPGA # rsu slot_erase 1 Slot 1 erased SOCFPGA # load mmc 0:1 $loadaddr application2.rpd 3358720 bytes read in 153 ms (20.9 MiB/s) SOCFPGA # rsu slot_program_buf 1 $loadaddr $filesize Slot 1 was programmed with buffer=0x0000000002000000 size=3358720.
- スロットに関する情報を表示します。
SOCFPGA # rsu slot_verify_buf 1 $loadaddr $filesize Slot 1 was verified with buffer=0x0000000002000000 size=3358720.
- スロット 1 (パーティション P2) に最も優先度の高いイメージが含まれていることを確認します。
SOCFPGA # rsu slot_get_info 1 NAME: P2 OFFSET: 0x0000000002000000 SIZE: 0x01000000 PRIORITY: 1
- スロットに関する情報を表示します。
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
or
SOCFPGA # rsu slot_load 0
- 新しく要求されたイメージをロードします。 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 では、次回の再起動コマンドでのみ有効になります。.