システム/ユーティリティのパッケージ

Bootgen ユーティリティ

ザイリンクスの FPGA およびシステム オン チップ (SoC) デバイスは、通常、複数のハードウェアおよびソフトウェア バイナリを備え、これらを使用して設計どおりに機能するよう起動します。バイナリには、FPGA ビットストリーム、ファームウェア イメージ、ブートローダー、オペレーティング システム、および非セキュアな方法とセキュアな方法の両方でロード可能なユーザー指定のアプリケーションが含まれます。

Bootgen は、バイナリ ファイルを統合してデバイス ブート イメージを生成するザイリンクス ツールです。このツールは、ザイリンクス デバイスで使用するブート イメージの作成時に入力される複数のプロパティ、属性、およびパラメーターを定義します。

Bootgen ユーティリティの詳細は、『Bootgen ユーザー ガイド』 (UG1283) を参照してください。

Program Flash

Program Flash はフラッシュ メモリをプログラムするのに使用される Vitis ソフトウェア プラットフォームです。プログラミングには、さまざまなフラッシュ タイプがサポートされます。

  • Zynq 以外のデバイスの場合: Micron 社および Spansion 社などのさまざまなメーカーからのパラレル フラッシュ (BPI) およびシリアル フラッシュ (SPI)。
  • Zynq デバイスの場合: QSPI、NAND、NOR。QSPI は、QSPI SINGLE、QSPI DUAL PARALLEL、および QSPI DUAL STACKED などのさまざまなコンフィギュレーションで使用できます。

Program Flash Memory ダイアログ ボックスで設定可能なオプションは次のとおりです。

Hardware Platform
使用するハードウェア プラットフォームを選択します。
Connection
ハードウェア サーバーへの接続を選択します。
Device
デバイスを選択します。[Auto Detect] にすると、チェーンの最初のデバイスが自動的に選択できます。
Image File
フラッシュ メモリに書き込むファイルを選択します。
  • Zynq デバイス:
    • QSPI フラッシュ タイプでサポートされるファイル形式は、BIN または MCS。
    • NOR および NAND タイプでサポートされるファイル形式は、BIN。
  • Zynq 以外のデバイス:
    • Zynq 以外のデバイスのフラッシュ パーツでサポートされるタイプは、BIT、ELF、SREC、MCS、BIN。
Offset
ファイルがプログラムされる [Flash Base Address] に対するオフセットを指定します。
注記: オフセットは、MCS ファイルには必要ありません。
FSBL File
FSBL .elf ファイルは、Zynq デバイスの NOR フラッシュ タイプには必ず必要です。
注記: Zynq 以外のデバイスには必要ありません。
Flash Type
フラッシュ タイプを選択します。
  • Zynq デバイス:
    • qspi_single
    • qspi_dual_parallel
    • qspi_dual_stacked
    • nand_8
    • nand_16
    • nor
    • emmc
      注記: emmc フラッシュ タイプは、Zynq UltraScale+ MPSoC デバイスにのみ使用できます。
  • Zynq 以外のデバイス:
    • フラッシュ タイプのドロップダウン リストは、接続で検出された FPGA に基づいて生成されます。ハードウェア サーバーへの接続が存在しない場合は、ダイアログ ボックスに「"Could not retrieve Flash Part information. Please check hardware server connection"」で開始するエラー メッセージが表示されます。検出したデバイスに基づいて、そのデバイスでサポートされるフラッシュ パーツがすべて表示されます。
注記: デザインに最適なパーツを選択します。ザイリンクス ボードの場合、パーツ名は該当するボードのユーザー ガイドに記述されています。
Convert ELF to Bootable SREC format and program
イメージ ファイルとして提供された ELF ファイルは SREC 形式に変換されてプログラムされます。これは、Zynq 以外のデバイスでは典型的なユース ケースです。SREC ブートローダーを作成して、SREC 変換の ELF をフラッシュから読み出して、RAM にそれを読み込んで、ブートするのに使用します。
Blank check after erase
削除操作が正しく実行されたかどうかを検証するために実行します。コンテンツを読み戻して、削除した領域がブランクかどうかチェックします。
Verify after Flash
フラッシュのプログラム操作をクロスチェックします。フラッシュの内容をリードバックし、プログラムされたデータをクロスチェックします。

ブータブル イメージの作成とフラッシュ メモリのプログラム

次に、2 つのアプリケーション (FSBL および Hello World) の作成を示す XSCT セッション例を示します。また、アプリケーションをビットストリームと一緒に使用してブータブル イメージを作成し、そのイメージをフラッシュ メモリにプログラムします。

注記: ボードとして ZCU702 を使用し、program_flash のオプションとして -flash_type qspi_single を指定します。
setws /tmp/wrk/workspace
app create -name a9_hello -hw /tmp/wrk/system.xsa -os standalone proc
ps7_cortexa9_0 -template {Zynq FSBL}
app create -name a9_fsbl -hw /tmp/wrk/system.xsa -os standalone proc
ps7_cortexa9_0 -template {Hello World}
app build -name a9_hello
app build -name a9_fsbl
exec bootgen -arch zynq -image output.bif -w -o /tmp/wrk/BOOT.bin
exec program_flash -f /tmp/wrk/BOOT.bin -flash_type qspi_single -
blank_check -verify -cable type xilinx_tcf url tcp:localhost:3121