インテルのみ表示可能 — GUID: oiw1540272401352
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: oiw1540272401352
Ixiasoft
8.5.2. QSPI での複数の SSBL の使用
このセクションでは、SDM QSPI フラッシュに格納されている複数の SSBL をサポートするための推奨アプローチを示します。
最初のイメージ作成時に、Programming File Generator で必要な変更:
- ビットストリーム パーティションにはデフォルトの命名スキームを使用します。
- FACTORY_IMAGE (工場出荷時のイメージ)
- アプリケーション イメージの P1、P2 など
- U-Boot イメージ ファイルのコピーを作成します (u-boot-socfpga/u-boot-dtb.img) .bin 拡張子を付ける必要があります。これは、Programming File Generator がバイナリ ファイルに必要とするものです。たとえば、それらに名前を付けます u-boot-socfpga/u-boot-dtb.img.bin
重要: インテル® Quartus® Prime Programming File Generator バージョン 21.2 には、生データ ファイル (パーティションの開始アドレスと終了アドレスを入力することで指定された) ブロック パーティションが発生する問題があります。.hex、 。置き場、 .puf または .wkey) 内容が正しくありません。 インテル® Quartus® Primeプロ・エディション ソフトウェア バージョン 21.2 パッチ 0.14 では、この問題が修正されています。
- 「入力ファイル」タブで、 生の追加 ボタンをクリックし、下部にある .bin ファイル フィルターを選択し、名前を変更した U-Boot イメージ ファイルを参照します。追加したら、ファイルをクリックして選択し、右側の [プロパティ] をクリックします。 「ビットスワップ」オプションを「オフ」から「オン」に変更してください。これは、PFG にそれが通常のバイナリ ファイルであることを伝えます。
- SSBL を含む新しいパーティションをビットストリームごとに 1 つ作成します。
- SSBL パーティションは U-Boot イメージに十分な大きさです (ほとんどのアプリケーションには 1 MB で十分です)
- ビットストリーム パーティション名から派生した 15 文字未満の名前でパーティションに名前を付けます (ヌル ターミネータを除く SPT パーティション名の制限)。たとえば、「FACTORY_IM.SSBL」、「P1.SSBL」などです。
- 最初にロードされた SSBL パーティションの場合、SSBL とともにロードされるように、対応する U-Boot バイナリ イメージ ファイルを入力ファイルとして選択します。
- 初期イメージを生成します。
FSBL で必要な変更:
- SDM をクエリしてフラッシュを読み取り、すべてのパーティション情報とフラッシュ内で現在実行されているビットストリームの場所を特定します。
- SPT パーティションのリストで現在実行中のビットストリームの場所を検索して、現在実行中のビットストリームが含まれるパーティションを特定します。
- 現在実行中のパーティションの名前に「.SSBL」を追加し、その名前を使用して SSBL パーティションを見つけます。 「FACTORY_IMAGE」に「.SSBL」を追加すると、最大許容文字数の 15 文字を超える可能性があるため、「FACTORY_IMAGE」を別の方法で扱います。
- ハードコードされたアドレスの SSBL をロードする代わりに、前の手順で見つかったパーティションから SSBL をロードします。
SSBL が読み取り専用環境で構成されている場合、変更は必要ありません。 SSBL が変更可能な環境で構成されている場合は、次の変更を行うことをお勧めします。
- 環境に合わせて、SSBL パーティションを予想される最大の U-Boot イメージよりも大きくします。一般的な U-Boot イメージはより小さく、一般的な環境サイズは 4 KB であるため、1 MB でも十分です。
- SSBL 環境アドレスのハードコードされた値を変更して、SDM にパーティション情報と現在実行中のイメージを問い合わせて現在の SSBL パーティションの名前を決定し、その先頭部分を環境として使用します。
推奨されるアプリケーション イメージの更新手順も次のように変更されます。
- LIBRSU を使用して、アプリケーション イメージ パーティションを消去します。これにより、これも無効になり、CPB から削除されます。
- SSBL パーティションを消去するには、LIBRSU ではなく MTD を使用します。これは、未加工パーティションの消去はまだサポートされておらず、ビットストリームのみをサポートしているためです。
- SSBL パーティションの新しい内容を書き込むには、LIBRSU ではなく MTD を使用します。これは、未加工パーティションの書き込みはサポートされておらず、ビットストリームのみがサポートされているためです。
- LIBRSU を使用して、新しいアプリケーション イメージを書き込みます。これにより、それが有効になり、CPB での最高の優先順位が設定されます。