インテルのみ表示可能 — GUID: lks1648166632028
Ixiasoft
インテルのみ表示可能 — GUID: lks1648166632028
Ixiasoft
5.4.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に書き込まれる最後の単語です。(この番号を書き込んだ後は、イメージ・ポインター・スロットの値のみを変更できます。)