UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 46913

Zynq-7000 サンプル デザイン - DEVCFG の Linux ドライバーを使用した PL のプログラム

説明

このサンプル デザインでは、次の Linux 命令と raw バイナリ ビットストリームを使用して PL をプログラムする方法を示します。

mknod /dev/xdevcfg c 259 0 > /dev/null
cat system.bit.bin > /dev/xdevcfg

注記 : サンプル デザインはアンサーに添付されており、またアンサーの本文には Zynq-7000 で特定の機能をテストするための技術情報が記載されています。

コードの抜粋、スナップショット、図、またはザイリンクス ツールの特定バージョンでインプリメントされたデザインなどが含まれています。

これらのヒントを今後のザイリンクス ツール リリースにアップデートして、サンプル デザインを必要に応じて修正することも可能です。

これらのサンプル デザインに対するサポートには制限があります。

インプリメンテーションの詳細
デザイン タイプ PS および PL
ソフトウェア タイプ Bootgen/Linux
CPU シングル CPU
PS 機能 DEVCFG
PL コア --
ボード/ツール ZC702
ザイリンクス ツール バージョン Vivado/SDK 2015.1
その他の詳細 --

ソリューション

手順 :

devcfg の Linux ドライバーを使用して PL をプログラムするには、ビットストリームをバイナリに変換する必要があります。 

この操作には BootGen ツールを使用します。

BootGen には BIF という入力ファイルが使用されます。このファイルは、ブート イメージの構造を定義します。  


BIF ファイルの例は次のとおりです。

the_ROM_image:
{
[bootloader]<fsbl_name>.elf
<pl_bitstream_name>.bit
<u-boot_name>.elf
}


どの ELF ファイルがこのデザインの FSBL (First Stage Boot Loader) なのかを指定するため [bootloader] タグが必要です。 

さらに、ブート プロセス中に PL をプログラムする必要がない場合は、BIT の PL ビットストリーム行はオプションです。


コマンド ライン シェル (Windows の場合は cmd.exe、Linux の場合はシェル ターミナルなど)、ザイリンクス ツール環境を起動します。

Bootgen は次のように実行されます。

bootgen -image <bootimage>.bif -split bin -o i BOOT.BIN

この例では、指定されている BIF は先ほど作成されたものです。  

-split オプションを使用して BootGen を実行すると、BIF からの各入力ファイルのバイナリ バージョンが作成され、通常のブート イメージ ファイルが 1 つ作成されるのではなく、個別のファイルとして出力されます。  

次のファイルが生成されます。

<pl_bitstream_name>.bit.bin

このバイナリ出力ファイルは、Zynq PL を直接プログラムするため Linux で使用できます。 

BIT.BIN を SD カードに保存し、Linux にブートさせます。 


Linux がブートしたら、SD カードを挿入し、Zynq devcfg ブロックのデバイス ノードを作成します。

mknod /dev/xdevcfg c 259 0 > /dev/null 

次に、Linux の cat コマンドを使用して、Zynq PL で PL ビットストリームをストリームさせます。

cat <path_to_storage_media>/<pl_bitstream_name>.bit.bin > /dev/xdevcfg

これで PL がプログラムされます。 

ボード上の DONE LED を確認するか、DEVCFG.INT_STS (PCFG_DONE_INT) のレジスタ値を確認して、PL がプログラムされていることを確認します。


注記 1: -split オプションは 2013.2 リリースの Bootgen から削除され、2013.3 リリースで再び追加されています。

DEVICECFG 用に BIN フォーマットのビット スワップされた BIT ファイルを生成するには、ISE インストールから promgen コマンドを使用できます。

promgen -p bin -data_width 32 -b -u 0x0 <design_name>.bit


注記 2 : 2014.1 以降の Bootgen には、process_bitstream と呼ばれるオプションがあります。Bootgen は、Devcfg を介して PS からコンフィギュレーションするために PL で使用可能な BIF ファイルを生成します。

例 :

bootgen -image all.bif -w -process_bitstream bin

BIF ファイル :

all:

{

system.bit

}

出力:

system.bit.bin ファイルは現在の作業ディレクトリで生成されます。


注記 3 : Linux Kernel の今後のバージョンで /dev/xdevcfg が自動生成される可能性があります。

mknod /dev/xdevcfg c 259 0 > /dev/null コマンドの実行後に「mknod: /dev/xdevcfg: File exists」という警告メッセージが表示されたら、次のコマンドを実行してください。

アンサー レコード リファレンス

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
51779 Zynq-7000 AP SoC - サンプル デザインおよびテクニカル ヒント N/A N/A

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47002 Zynq-7000 デバッグ - Lauterbach を使用したビットストリームのプログラム方法 N/A N/A
AR# 46913
作成日 03/21/2012
最終更新日 07/14/2015
ステータス アクティブ
タイプ 一般
デバイス
  • Zynq-7000
ツール
  • Vivado Design Suite - 2015.1
Boards & Kits
  • Zynq-7000 All Programmable SoC ZC702 評価キット