インテル® Agilex™ ハード・プロセッサー・システム (HPS) のリモート・システム・アップデート・ユーザーガイド
このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
インテルのみ表示可能 — GUID: elq1540272320025
Ixiasoft
インテルのみ表示可能 — GUID: elq1540272320025
Ixiasoft
2.4. アプリケーション・イメージのリストの変更
SDMは、コンフィグレーション・ポインター・ブロックを使用して、アプリケーション・イメージの優先度を決定します。
- セクター消去では、セクター・フラッシュ・ビットはすべて1になります。
- プログラム動作では、1を0にしか変換できません。
- すべて1 - エントリーは未使用です。クライアントは、このエントリーへのポインターを書き込むことができます。これは、ポインターブロックでクアッドSPI消去動作が発生した後の状態です。
- すべて0 - エントリーが以前に使用された後、キャンセルされました。
- 1と0の組み合わせ - アプリケーション・イメージへの有効なポインターです。
コンフィグレーション・ポインター・ブロックが消去されると、すべてのエントリーが未使用としてマークされます。アプリケーション・イメージをリストに追加する場合、クライアントは最初の未使用位置を見つけて、アプリケーション・イメージのアドレスをその位置に書き込みます。リストからアプリケーション・イメージを削除する場合、クライアントはポインター・ブロック・リストでアプリケーション・イメージ・アドレスを見つけて、このアドレスにすべて0を書き込みます。
コンフィグレーション・ポインター・ブロックが新しいアプリケーション・イメージ用のスペースを使い果たした場合、クライアントは次のアクションを実行してポインターブロックを圧縮します。
- コンフィグレーションからすべての有効なエントリーを読み出す。
- ポインターブロックを消去する。
- これまでの有効なエントリーをすべて追加する。
- 新しいイメージを追加する。
HPSを使用してRSUを管理する場合、U-BootクライアントとLIBRSUクライアントは両方とも、ブロック圧縮を実装します。FPGAロジックからRSUを駆動するデザインの場合、 Nios® IIコード、スクリプト言語、またはステートマシンなど、さまざまな方法でポインターブロック圧縮を実装できます。
ポインターブロックには最大508の使用可能なエントリーがあるため、ポインターブロックの圧縮は頻繁には発生しません。
コンフィグレーション・ポインター・ブロックには、プライマリー (CPB0) とバックアップ (CPB1) の2つがあります。ブロックが2つあることにより、それらのうちの1つを消去した直後に電源障害が発生した場合でも、アプリケーション・イメージのリストを保護できます。CPBが消去されて再作成されると、ヘッダーが最後に書き込まれます。電源障害が発生した場合の偶発的な使用を防ぐために、CPBヘッダーは使用前にチェックされます。詳細については、コンフィグレーション・ポインター・ブロックのレイアウトのトピックを参照してください。圧縮する場合、クライアントはプライマリーCPBを完全に圧縮 (消去および書き換え) します。プライマリーCPBが有効になったら、セカンダリーCPBを変更しても安全です。書き換え時、CPBの先頭のマジックナンバーは、CPBに書き込まれる最後のワードです。(この数値が書き込まれた後は、イメージ・ポインター・スロットの値のみを変更できます。)