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

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

3.2.4.1. 絶対的なアプリケーション・イメージのレイアウト

このセクションでは、絶対的なアプリケーション・イメージのレイアウトを示します。 Quartus バージョン 21.1 以降、相対イメージが導入され、絶対イメージは非推奨になりました。相対画像のみを使用することをお勧めします。

アプリケーション・イメージは、SDM ファームウェアと構成データで構成されます。構成データには最大 4 つのセクションが含まれます。 SDM ファームウェアには、これらのセクションへのポインターが含まれています。次の表は、アプリケーション・イメージ内のセクションの数とセクション ポインターの位置を示しています。

表 8.  アプリケーションイメージセクションポインタ
オフセット サイズ (バイト) 詳細
0x1F00 4 Number Of Outputs
  を更新。  
0x1F08 8 Address of 1st section
0x1F10 8 Address of 2nd section
0x1F18 8 Address of 3rd section
0x1F20 8 Address of 4th section
  を更新。  
0x1FFC 4 CRC32、0x1000、0x1FFB

セクション ポインタは、セクションの実際の位置と一致する必要があります。 FPGA フラッシュ内の画像。この要件を満たすために 2 つのオプションが利用可能です。

  • クアッド SPI フラッシュ メモリー内の実際の場所に一致するアプリケーション・イメージを生成できます。このオプションは、システムごとに異なる更新セットが適用される可能性があり、新しいアプリケーション・イメージの保存に適したスロットが異なる可能性があるため、実用的ではない可能性があります。
  • 「-o start_address=0x0」オプションをプログラミング ファイル ジェネレーターに渡すことで、アドレス 0 にあるかのようにアプリケーション・イメージを生成し、実際の場所と一致するようにポインターを更新できます。

HPS を使用して RSU を管理する場合、U-Boot クライアントと LIBRSU クライアントの両方が以下の手順を実装して、実際の宛先スロット アドレスのアドレス 0 をターゲットとするアプリケーション・イメージを再配置します。

用に作成されたアプリケーション・イメージからポインターを更新する手順 初期アドレスNEW_ADDRESS は:
  1. INITIAL_ADDRESSをターゲットとしてアプリケーション イメージを作成します。
  2. アプリケーション イメージのオフセット 0x1F00 から 32 ビット値を読み取り、セクションの数を決定します。
  3. <s>= 1 to number_of_sectionsの意場合 :
    1. section_pointer = 0x1F00 + (s * 8) から 64 ビット セクション ポインタを読み取る
    2. section_pointerからINITIAL_ADDRESSを減算します
    3. NEW_ADDRESSsection_pointerに追加する
    4. 更新されたsection_pointerを保存する
  4. <s>アドレス 0x1000 ~ 0x1FFB の CRC32 を再計算します。新しい値をオフセット 0x1FFC に保存します。 CRC32 値は、次の手順を使用してデータのコピーに対して計算する必要があります。</s>
    1. <s>ビットが逆の順序で発生するように各バイトのビットを交換し、CRC を計算します。</s>
    2. <s>計算された CRC32 値のバイトを交換して、逆の順序で表示します。</s>
    3. <s>CRC32 値の各バイトのビットを交換します。</s>
    4. <s>CRC32 値をフラッシュに書き込みます。</s>
注: 絶対ファクトリー・アップデート・イメージと絶対決定ファームウェア更新イメージは形式が異なるため、ポインター更新には異なる手順が必要になります。 HPS を使用して RSU を管理する場合、U-Boot クライアントと LIBRSU クライアントの両方がこの手順を実装して、絶対工場出荷時更新イメージと絶対決定ファームウェア更新イメージを再配置します。
注: 結合されたアプリケーション・イメージは常に相対的であり、再配置する必要のあるポインタはありません。イメージはフラッシュ内の任意のアドレスに変更せずに配置できます。