2014年7月27日日曜日

ZYBO 2

ZYBOやVivadoの習熟のためにDigilentのサイトからzybo_base_system.zipをダウンロードし、使ってみた。

zipファイルを解凍すると、


zybo_base_systemというディレクトリ以下に展開された。

zybo_base_system直下は以下のようになっていた。

source/vivado/hw/zybo_bsdまで移動し、そこでvivadoを起動した。

vivadoはv2014.2を使っている。

zybo_base_systemのプロジェクトは古いバージョンのvivadoで生成されているので現行バージョンに更新せよというダイアログが出た。

OKボタンをクリックしたら、プロジェクトが更新された。

プロジェクトで使用されているXilinx IPも最新版への更新が必要なようだ。
IP Statusを見ると12種のIPのUpgradeが推奨されている。

Upgradeした。


Upgradeが完了したら、Block Diagramが表示された。

PS(Processing System)をダブルクリックしたら、PS部の詳細Diagramが表示された。この部分はワンチップマイコンと同じようなものなので、内蔵しているファンクションで使うものを選択し、その信号をどのピンに引き出すかの設定がメインのようである。 この設定はボード仕様(ZYBO)と整合しているものなので、今後もこの設定を使うことになる。



再度Block Diagramを見てみる

このプロジェクトはアナログVGA I/FとHDMI I/F用にそれぞれVDMAとDISPLAY CONTROLLERを実装しているようである。



合成とImplementationを実行した。

合成とImplementataionは上手く言ったが、合成に12分位かかった。
PL部はそれほど大きいデザインには見えないのだが。。。

クロック情報も見てみた。HDMIの系は100MHzと500MHzになっているので、解像度はSXGA相当のようだ。 厳密にはSXGAのドットクロックは108MHzなので108MHzと540MHzが必要な筈なので若干低めにしているようだ。
合成が終わったので、BSP(Board Support Package)生成用のハードウェア情報をExportした。


この操作を行うと、zybo_bsd.sdkというディレクトリ下にsystem_wrapper.hdfというファイルが生成された。 SDK (eclipse)でBSPを生成するときにこのファイルが読み込まれるようだ。

次にSDKを立ち上げる。




Hellow world(の文字列をコンソールに出す)プロジェクトを作ってみた。


Buildは通った。


これをDebugモードで動作させようとしたところ、ちょっとした問題が発生した。


このプロジェクトでのSTDOUTはUARTになっており、UARTはFT2232D(USB)経由でPCにつながっている。 私の環境(Linux Mint)の場合はデバイスファイル名はttyUSB1となっている。
そこで、SDKのTerminalをttyUSB1にしてそこに文字列が表示されることを期待した。


設定自体は出来たのだが、プログラムを実行したところSIGSEGVでSDKが落ちた。

どうもこのやり方だと上手く行かない。 Javaの環境に何かあるのかも知れない。
そこで、gtktermというターミナルソフトでやってみたら文字列が表示された。

ということで、Vivado→SDK→実行までの簡単な流れは習得できた。


0 件のコメント:

コメントを投稿

ERROR: Failed to spawn fakeroot worker to run ...

なにかと忙しくてなかなか趣味の時間を確保できない。 ...orz  家の開発機のOSはLinux Mintなのだが、最近バージョンを22に更新したところ、myCNC用のpetalinuxをビルドできなくなってしまった。ビルドの途中で ERROR: Failed to spawn ...