【FPGA】Windows10環境でZybo上でGUI Linux(Xillinux)を立ち上げてみる(その1:ファイル解凍&bitファイル作成)

投稿日:2021年11月28日
最終更新日:2021年12月14日

 

Zybo上でGUIのLinuxで立ち上げてみたい

今回は、Zybo上でUbuntu LTS 16.04ベースのXillinuxを立ち上げてみたいと思う。Xillinuxは、Linux/Windows PCでFPGAと通信するIP Core/DriverであるXILLYBUSを利用したLinux Distributionだが、XILLYBUSのIP Coreは評価目的であれば以下からダウンロードしてEvaluation licenseまたは教育用途などであればEducational licenseにより無料で使える。

http://xillybus.com/xillinux

ただし商用で使う場合などは有料のProduction licenseが必要になるので注意。詳しくは以下のXILLYBUSのライセンスページを参照。

http://xillybus.com/licensing

残念ながら現段階ではZyboはサポートの対象外になってしまったようだが、ファイル自体は公開されているので試してみたところ、特に問題なく使えたので手順をメモしておく。Zyboに入れるためにあれこれと操作を行う母艦PCはLinuxでやるケースが多いと思うし、私も一応Linux環境は持ってるのだが、今回はあえてWindows10からやってみる。

 

開発環境

母艦PC:Windows 10

Vivado 2020.1

Zybo(Zynq-7000、型番410-279)

 

ファイルをダウンロードして解凍する

基本的にはこちらの公式ドキュメントを読みながら進めていく。まずはダウンロードページの以下のリンクから2つファイルをダウンロードする。

zybo用のファイルの方(xillinux-eval-zybo-2.0d.zip)はzipなのでWindowsデフォルトのソフトで解凍すれば良いが、Xilliuxのイメージ(xillinux-2.0.img.gz)の方は.gzで圧縮されている。Linux PCであればgunzipコマンドを使って解凍するが、Window PCでも7zipなどの解凍ソフトを使えば解凍できる。

xillinux-2.0.imgはSDカードに書き込むイメージだが、まずはxillinux-eval-zybo-2.0dのファイルからVivadoのプロジェクトを作成して、generate bitstreamを実行する。

 

Vivadoでtclファイルからプロジェクトを作成&generate bitstreamを実行

xillinux-eval-zybo-2.0d.zipを解凍して、フォルダの中のtclファイルからVivadoのプロジェクトを作成するのだが、フォルダにはVerilogとVHDLの2つのファイルが入っており、どちらか選択してプロジェクトを作成する(動作には特に違いはないと思う)。私は普段Verilogを使っているので、今回はVerilogでプロジェクトを作成して進めることにした。

公式ドキュメントの「3.2 Unzipping the boot partition kit」に従い進めていくが、xillinux-eval-zybo-2.0dのパスに空白(スペース)が含まれているとダメらしいのでxillinux-eval-zybo-2.0dを置く場所に注意。迷ったらCドライブ直下などに置いておけば問題ないはず。今回使うのは以下のtclファイル。

Vivadoを立ち上げて、ToolsからRun Tcl Scriptを選択。私はVivado 2020.1を使ったが、Webサイトを読むとVivado 2016.4以降ならOKとのこと。

xillinux-eval-zybo-2.0dの中からverilogフォルダのxillydemo-vivado.tclを選択してOKをクリック。

これで特に問題なくプロジェクトが開けるはずなので、Generate Bitstreamを実行。

問題なく通ればerrorは出ずに、xillydemo.runs\impl_1フォルダの中にxillydemo.bitファイルが作成される。このファイルがxillinuxを起動するときに必要になる。

これで準備は完了。いよいよSDカードにイメージを書き込んで必要なファイルをコピーしてXillinuxを立ち上げる。長くなったので続きはこちら


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください