インテルのみ表示可能 — GUID: wlu1521083299909
Ixiasoft
6.1. U-BootからのFPGAファブリックのコンフィグレーション
FPGAファブリックは、fpga load <device> <address> <size> のRAMバッファーからのデータを使用して、U-Bootからコンフィグレーションされます。
GSRDはHPS先行のブートモードを使用します。Linuxをブートする前に、次のスクリプトを実行するU-Bootによって、FPGAファブリックがコンフィグレーションされます。
setexpr.b reg *0xFFD120DC; if itest $reg -eq 3; then bridge enable; else load mmc 0:1 $loadaddr ghrd.core.rbf; dcache flush; fpga load 0 $loadaddr $filesize; bridge enable; fi
スクリプトでは、以下を行います。
- FPGAファブリックがコンフィグレーション済みであるかどうかを確認します。これは、 インテル® Quartus® Prime Programmerを使用して、または事前にHPSをコールドリセットする前の前回のブート時に実行できます。
- FPGAファブリックがコンフィグレーション済みである場合は、brigde enable コマンドを実行してブリッジをイネーブルしてから、終了します。
- FPGAファブリックがコンフィグレーションされていない場合は、
- フェーズ2コア・ファブリックのコンフィグレーション・ファイルをSDカードからDDRにロードします。
- データキャッシュをフラッシュして、SDMがデータにアクセスできるようにします。
- fpga load <device> <address> <size> コマンドを呼び出して、FPGAファブリックをコンフィグレーションします。
- bridge enable を呼び出して、ブリッジをコンフィグレーションします。
GSRDは、RocketBoardsウェブサイトのIntel Agilex Soc GSRDウェブページに記載されています。
注: ATFを使用するブートフローでは、SDRAMの最初の1 MBが保護領域としてコンフィグレーションされます。FPGAコンフィグレーション・ファイル (.rbf) には、0x100000 (1 MBオフセット) から0x20000000 (512 MBオフセット) までのアドレス範囲を使用する必要があります。