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 命令とロー バイナリ ビットストリームを使用して 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
}


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

ブート プロセス中に PL をプログラムする必要がない場合は、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 は、PL を Devcfg を介して PS からコンフィギュレーションするために使用可能な 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
日付 11/08/2017
ステータス アクティブ
種類 一般
デバイス
  • Zynq-7000
ツール
  • Vivado Design Suite - 2015.1
Boards & Kits
  • Zynq-7000 SoC ZC702 Evaluation Kit
このページをブックマークに追加