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

ID 683184
日付 6/09/2023
Public
ドキュメント目次

6.3. コンフィグレーション・ポインター ブロック

コンフィグレーション・ポインター ブロックには、試行されるアプリケーション・イメージのリストが優先順位に従って含まれています。

決定ファームウェアは、コンフィグレーション・ポインター ブロックを使用して、電源投入時にどのイメージをロードするか、nCONFIG、または前のイメージが失敗したかどうかを決定します。

決定ファームウェアは、値をクリアして工場出荷時更新イメージまたは正常に完了した決定ファームウェア更新イメージを削除する場合を除き、CPB に書き込むことはありません。決定ファームウェアは CPB を消去しません。

HPS ソフトウェア (U-Boot と LibRSU の両方) は、CPB を使用してアプリケーション・イメージを追加または削除し、それらの優先順位を変更します。通常、これはフラッシュを消去した後、または対応する位置に 0 を書き込んでイメージをキャンセルした後、未使用の位置 (すべてのビットが「1」に設定) に新しいエントリを書き込むことによって行われます。場合によっては、HPS ソフトウェアは、CPB がキャンセルされたエントリでいっぱいになると、CPB を消去する必要があります。これは「CPB 圧縮」と呼ばれるプロセスです。

コンフィグレーション・ポインター ブロックのコピーが 2 つあります。新しいコンテンツを書き込むために一方の CPB が消去されると、もう一方の CPB はそのまま残されるため、最初の CPB がフラッシュに完全に書き込まれる前に停電が発生しても、2 番目の CPB は有効なままになります。があります 魔法 CPB が消去されて再設定された後、最後に書き込まれる CPB ヘッダー内のフィールド。間違った 魔法 このフィールドは、電源障害が発生し、CPB コピーが無効であることを示します。

決定ファームウェアが CPB0 が無効であることを検出すると、代わりに CPB1 を使用しようとします。両方の CPB が無効な場合、決定ファームウェアはファクトリー・イメージをロードします。決定ファームウェアは、CPB0 または CPB0 と CPB1 の両方が破損しているかどうかをユーザーに報告します。

1 つの CPB のみが破損している場合、HPS ソフトウェアは自動的に破損を検出し、もう一方の正常なコピーから破損した CPB を回復します。これは、U-Boot と LibRSU の両方で初期化時に発生します。

に加えて、 魔法 フィールドで、HPS ソフトウェアは、すべてのエントリが有効な SPT パーティションに対応しているかどうかを検証することによって、CPB の整合性をチェックします。また、2 つの CPB を比較し、同一でない場合は両方が破損しているとみなします。

両方の CPB が破損すると、U-Boot と LibRSU の両方によって通知され、使用できる機能が制限されます。 U-Boot と Linux の両方から、保存されたコピーを復元するか、空の CPB を作成してそこにイメージを追加することで、CPB を回復できます。