Intel Agilex® 7 ハード・プロセッサー・システム (HPS) のリモート・システム・アップデート・ユーザーガイド
ID
683184
日付
6/09/2023
Public
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
4.2.3.1.1. 最初に FPGA の初期フラッシュイメージを作成する
初期フラッシュイメージを作成するには、少なくとも次の入力ファイルが必要です。
| ファイル名 | 詳細 |
|---|---|
| factory_design.sof | 工場イメージデザインのSOF |
| factory_fsbl.hex | ファクトリー・イメージ用の HPS FSBL 16 進ファイル |
| application_design.sof | アプリケーション・イメージデザイン用のSOF |
| application_fsbl.hex | アプリケーション・イメージ用の HPS FSBL 16 進ファイル |
-
qpfgw
コマンドを実行して、Programming File Generatorモードを起動します。 - を選択 デバイスファミリー として Intel Agilex® 7 、 そして 設定モード として アクティブシリアル x4。
- 変更 名前 に "初期画像”。
- 出力ファイルの種類を次のように選択します。 JTAG 間接構成ファイル (.jic)これは、 インテル Quartus Prime プログラマー・ツールが QSPI フラッシュに書き込むために使用するフォーマットです。
- オプションを選択してください メモリーマップファイル(.map) ファイルも生成されるようにします。 .map ファイルには、結果のフラッシュ レイアウトに関する情報が含まれています。
- オプションを選択してください 未加工のプログラミング データ ファイル (.rpd) ファイルも生成されるようにします。このファイルには、他に何も追加されていないバイナリ フラッシュ コンテンツが含まれています。
ウィンドウは次のようになります。
- クリック 未加工のプログラミング データ ファイル (.rpd) ファイルをクリックして選択します。次に、 編集 ... ボタンをクリックして、 ビットスワップオプション することが "の上これにより、必要に応じて U-Boot や Linux などの HPS ソフトウェアで RPD ファイルを使用できるようになります。
- 出力タイプを選択したら、 入力ファイル タブ。
- の中に 「入力ファイル」タブ クリック ビットストリームの追加 ボタンをクリックし、ファイルを参照して選択します ファクトリーデザイン.sofをクリックしてから、 開ける。これは初期のファクトリー・イメージです。に対しても同じことを行います アプリケーション_デザイン.sof。これは最初のアプリケーションのイメージです。タブは次のようになります。
- クリック ファクトリーデザイン.sof ファイルを選択し、 プロパティ 右側のボタン。これにより、FSBL を参照して認証と暗号化の設定を選択するためのウィンドウが開きます。
- クリック ブートローダー … (参照)ボタンを押してファイルを選択 ファクトリー_fsbl.hexをクリックし、「OK」をクリックします。
- クリック アプリケーション_デザイン.sof ファイルを追加して、 application_fsbl.hex ファイルをそれに追加します。の 入力ファイル タブは次のようになります。
- クリック コンフィグレーション・デバイス タブ。このタブは、少なくとも 1 つの入力ファイルが追加された場合にのみ有効になることに注意してください。 入力ファイル タブ。
複数の入力ファイルが追加されたため、 入力ファイル タブには、リモート・システム・アップデートのオプションが表示されます。それ以外の場合は、標準構成フローのみが有効になります。
- の中に コンフィグレーション・デバイス タブ、クリック デバイスを追加、ダイアログ ボックス ウィンドウで目的の QSPI デバイスを選択します (MT25QU02G 以下の例では)、クリックします わかりました。これが完了すると、ウィンドウに RSU のデフォルトの初期パーティショニングが表示されます。
- 必要に応じて、すべての SPT および CPB のサイズをデフォルトの 32KB からオプションの 64KB に変更します。たとえば、操作をより効率的にするために、U-Boot や Linux で 64 KB の消去粒度を構成できるようにすることができます。これを行うには、SPT または CPB のいずれかをクリックして選択し、 編集を選択し、 64KB オプションを押して押す わかりました:
注: このオプションはすべての CPB と SPT に適用されます。これらはすべて、同時にサイズが 32 KB または 64 KB になります。
- 必要に応じて、ファクトリー・イメージの直接フォールバック オプションを有効にします。 ブート情報 パーティションを選択して、 編集 ボタンをクリックし、ファクトリー・イメージの直接フォールバック オプションを から変更します。 オフ に の上 そして押します わかりました。
ファクトリー・イメージのフォールバック
注: このオプションを有効にすると、いずれかのイメージに障害が発生すると、コンフィグレーション・ポインター ブロック内の残りのイメージが無視されて、ファクトリー・イメージがロードされます。 - を選択 FACTORY_IMAGE エントリを入力し、 編集… ボタン。の パーティションの編集 ウィンドウがポップアップします。入力ファイルを次のように選択します ビットストリーム_1 (factory_design.sof)。変化 アドレスモード に ブロック 使用が予想される最大のファクトリー・イメージ用に十分なスペースを確保しておきたいからです。をセットする 終了アドレス 工場のイメージに適合し、必要に応じて将来の拡張に備えてスペースを残すものにします。以下の例では、 終了アドレス に設定されています 0x0090FFFF ファクトリー・イメージ用に 7MB を予約するためです。この終了アドレスは、アドレスの末尾に 7MB を加算して計算されます。 ブート情報 パーティション。クリック わかりました
注: の ページ の財産 FACTORY_IMAGE パーティションは常に 0 に設定する必要があります。これは、 FACTORY_IMAGE すべてのアプリケーション・イメージが失敗した後に試行されます。
- でフラッシュデバイスを選択します コンフィグレーション・デバイス タブをクリックして、 パーティションを追加… ボタンを開く パーティションの追加 窓。出て 名前 として P1 (または任意の名前を選択して)、 入力ファイル として ビットストリーム_2(アプリケーション_デザイン.sof)。これが初期アプリケーション・イメージになります。を選択 ページ として 1 – これは、すべてのアプリケーション・イメージの中で最も高い優先度を持つことを意味します。を選択 アドレスモード として ブロック また、アプリケーション・イメージと将来の拡張が予想されるための十分なスペースを割り当てます。以下の例では、設定によって 16MB のデータを割り当てます。 開始アドレス = 0x01000000 そして 終了アドレス = 0x01FFFFFF。
の ページ プロパティは、によって使用されます プログラミングファイルジェネレーター コンフィグレーション・ポインター ブロックに最初に画像が表示される順序を決定します。最も優先度が高いのは、 ページ=1、次に次のもの ページ=2 などとなります。同じページ番号を持つ複数のパーティションがある場合、または「ギャップ」がある場合、Programming File Generator はエラーを発行します。 ページ=1 の場合、 ページ=3、なし ページたとえば =2。
最初のフラッシュイメージ作成時に、アプリケーション・イメージを含めることができるパーティションは最大 7 つまでです。通常、作成時にはファクトリー・イメージと 1 つのアプリケーション・イメージのみが含まれることが想定されるため、この制限による悪影響はありません。
- 必要に応じて、さらに空のアプリケーション パーティションを作成します。以下の例では、さらに 2 つのパーティションを追加します。 P2 そして P3 前のステップと同じ手順を使用します。ただし、 入力ファイル に なし、 離れる ページ 変更せず (空のパーティションには関係ありません)、開始アドレスと終了アドレスを次のように設定します。
- P2: 開始アドレス = 0x02000000 そして 終了アドレス = 0x02FFFFFF。
- P3: 開始アドレス = 0x03000000 そして 終了アドレス = 0x03FFFFFF。
- 「選択…」をクリックします を選択するには フラッシュローダー。フラッシュ ローダーは JIC ファイルの一部となり、 フラッシュプログラマー 道具。希望するものを選択してください デバイスファミリー そして 装置名 以下に示す例と同様です。
の コンフィグレーション・デバイス タブは次のようになります。
- クリック ファイル > 名前を付けて保存 .. ファイルを次のように保存します 初期画像.pfg。このファイルは、後で次のコマンドを使用して初期イメージを再生成する場合に役立ちます。
quartus_pfg -c 初期イメージ.pfg
注: 作成された pfg ファイルは実際には XML ファイルであり、手動で編集して絶対ファイル パスを相対ファイル パスに置き換えることができます。 .pfg ファイルを他の目的で直接編集することはできません。変更が必要な場合は、Programming File Generator から .pfg ファイルを開くことができます。 - クリック 生成する ボタンをクリックして初期フラッシュイメージを生成します。 初期画像.jic そしてマップファイルは 初期画像_jic.map。ファイルが正常に生成されたことを示すダイアログ ボックスが開きます。