ラベル SDK の投稿を表示しています。 すべての投稿を表示
ラベル SDK の投稿を表示しています。 すべての投稿を表示

2016/12/26

Mac + VirtualBox + CentOS + Vivado/SDK

Xilinx の SDK から MicroBlaze にアクセスできなくて困ってたら、知人に以下のリンクを教えてもらいどうにか Hello world までこぎつけました。ありがとー!Kノキ。

だったはずなのですが。。年明けて '17/1/3 に再度お試しするも、うまくいかず。。一応記事は残しておきます↓

http://samurai375.hatenablog.jp/entry/2016/08/12/125107
このブログの前の記事も参照のこと(該当する記事は 1〜4 の4回に分かれてます)。

この際 Win マシンを買っちゃうかとも思ったけど〜。買わずに済んだと思います。
やれやれ。

とりあえず今まで構築してきた Ubuntu 環境でこのブログのように RXTXcomm.jar と librxtxSerial.so を入れ替えてみたつもりでしたがうまくいかず、あまり深追いするきもなかったので、参考にしたブログと同じ OS にしちゃえと CentOS も新規導入してみました。

では忘れないようメモ程度に軽く手順を書いておきます。


1. CentOSVirtualBox にインストールする
ルートパーティションは Vivado (デフォルトで /opt/Xilinx 以下にインストールされる)を入れることを考えて 80GB ぐらいは確保しておいた方が無難 Vivado 結構大きくて 50G~60G ぐらい使うから。Vivado のライセンスファイル発行にホスト名が必要なので適当なホスト名に変えておく。
ちなみに VirtualBox の設定で CPU x1 のままでインストールしてたら劇遅でした。。x2 にしたらまともになってきた。

2. 足りない library などを入れる
% sudo yum update
% sudo yum install ld-linux.so.2
% sudo yum install libstdc++.so.6
% sudo yum install libz.so.1
えーと、多分これだけで良いと思います。上記ブログより。
多分とは、自分は別なブログ参考にいくつかライブラリ入れた後に足りない分を入れましたので。
に従って足りないライブラリ調査してみた方がいいかも。

3. Vivado をインストール
以前ウェブインストーラーでもインストールしたことはあるのですが(Ubuntu で)、2016.4 リリース直後にウェブインストーラーを試したら遅すぎだったので全てのOSインストーラーを Mac 側に落としてきて共有フォルダに置いたデータからインストールしました。CentOS でダウンロードしても構わないのですが、自分の場合は色々な OS でお試ししてたこともあって Mac 側に落としてました。
共有フォルダにアクセスするには (% sudo gpasswd -a vboxsf が必要ですね)
% cd <共有フォルダ>/Xilinx_Vivado_SDK_2016.4_1215_1
% sudo sh xsetup

Vivado のインストール後でいいです。ホスト名と MAC アドレス(% ifconfig で確認できる)が必要。CentOS だと enp0s3 の ether: 。Vivado 起動後に Help -> Manage License からライセンスファイル Xilinx.lic をロードすれば OK です。ライセンスの種類は Arty には Design Edition が付属してくるのでそれを使っています。期限は一年間のようです。多分そのあとも使えないわけじゃなくて、新しいツールが入手できないだけだと思います。

5. ケーブルドライバをインストール
bitstream をダウンロードするのに必要です。
% cd /opt/Xilinx/Vivado/2016.4/data/xicom/cable_drivers/lin64/install_script/install_drivers
% sudo sh install_digilent.sh
% sudo sh install_drivers

シリアルポート(/dev/ttyUSB*) にユーザー権限でアクセスするために、
% sudo gpasswd -a dialout
で dialout グループに自分を追加。

6. RXTX をインストール
SDK を使うにはこれが必要です。使わないならいらないと思います。
手動でやっちゃったのですが、rxtx-2.2pre2-bins.zip を落としてきて、
RXTXcomm.jar を Java のインストールしてあるディレクトリ
/etc/alternative/lib/ext/jre_1.8.0 以下にコピー。
/opt/Xilinx/SDK/2016.4/eclipse/lnx64.o/plugins/gnu.io.rxtx.linux.x86_64_2.1.7.3_v20071015/os/linux/x86_64 以下の librxtxSerial.so, librxtxParallel.so を入れ替えます。
念のためオリジナルは mv して *.org とでも名前変えて残しておきます。

インストール作業はこれぐらいだったと思います。

あとは任意のディレクトリから Vivado を起動するのですが、
% source /opt/Xilinx/Vivado/2016.4/setting64.sh (sh, bash 系)
と設定をソースしてから vivado を起動することを忘れないように。
% vivado

Digilent の Arty などのボードは FPGA の bitstream, SDK からの MicroBlaze のプログラムのダウンロードとしての JTAG 用のUSBケーブルがシリアル通信用のケーブルと兼用できます(FTDI の FT2232 通して)。CentOS だと /dev/ttyUSB1 がシリアルポート(Virtual COM port VCP)として見えます。Arty で USB UART モジュールをインスタンスして自動配線すると、この UART が /dev/ttyUSB1 経由でアクセスすることができるようになります。
この UART に CentOS でターミナルソフトから /dev/ttyUSB1 をオープンしても良いし、簡単には SDK の SDK Terminal で + ボタンをクリックし、/dev/ttyUSB1 を選択することでも UART にアクセスすることが可能です。ターミナルソフトとしては minicom など。お好きなのを探してみてください。


最後に今回インストールに使ったハードやらソフトやらのバージョンなどについて。

MacBook Pro (Retina 15-inch, Mid 2015) Core i7 2.2GHz, MEM 16GB
macOS Sierra 10.12.2
VirtualBox 5.0.30 (仮想マシンに CPUx2, MEM8GB 割り当て)
CentOS CentOS-7-x86_64-DVD-1611.iso
Vivado Xilinx_Vivado_SDK_2016.4_1215_1
RXTX rxtx-2.2pre2-bins

です。
この環境で MicroBlaze の getting started で bitstream を生成する時間は 20分ぐらいだったかな。。もう一度後で試してみるけど。プログラムのダウンロードから実行までは案外時間かかります。ようやく Hello world 出たと言った感じ。

ところでこの手のツールはそろそろ Mac にも対応して欲しいなぁ。
Linux 版があったり、Eclips 使ってたりと移植簡単じゃん?と思うんだけど。
メーカーの皆様、是非ともよろしくお願いします。

2016/11/08

SDK から Project を作る

とりあえず SDK (xsdk) が起動したのはいいのですが、新しいプロジェクトを作ろうとすると SDK Log に

[Hsi 55-1545] Problem running tcl command

のようなエラーが出る。
ググるとどうやら症状は以下であるというところまでたどり着いた。
https://forums.xilinx.com/t5/Installation-and-Licensing/SDK-2014-4-path-problems/td-p/548958

それまでにパッケージのアップグレードやら、Xilinx のサイトにある .tcl コマンドの差し替えやらなんやらも試してみたりしたのだけど、最後に新規プロジェクトがうまく作れない理由は上記にあるように 32bit ライブラリ(i686) がないからだったようです。

困ったことに 64bit 版 Ubuntu に 32bit ライブラリを入れる方法はあちこちに散見されるのだけど、これといったのが見つからない。と、Xilinx のサイトを漁ったらまさにこれ、というのがありました。
https://japan.xilinx.com/support/answers/66184.html

** DocNav には 32ビットライブラリが必要です。
というくだり。Ubuntu へ導入するライブラリのリストと方法が書かれてます!
この手順に従ってライブラリをインストールすると。。

ようやく新規プロジェクトを作成するところまで漕ぎ着けました!!!

しかーし、Bitstream を Arty に流し込めたのはいいものの、Microblaze にソースをロード出来ない。。で最後の最後でまたハマってます。

やろうとしてるチュートリアルは以下。
https://reference.digilentinc.com/learn/programmable-logic/tutorials/arty-getting-started-with-microblaze/start

あ、なんか走ったっぽいけど、確認出来ない。
続きはまた後〜。

もう一つだけ。
シリアルポートは通常ユーザーではアクセスできないので、シリアルポートにアクセスできるグループに自分が所属しておくと便利。
http://qiita.com/chromabox/items/b3ceaab6efa6edde2bda






Vivado SDK の起動

でハマる。

Ubuntu 16.04 に Vivado 2016.3 をインストールして Arty の microblaze を入れた最初のチュートリアルを試すも bitstream までは生成できても SDK がどうしても起動してくれなくて困る。

とりあえず Java のインストールが必要。

apt-get で、default-jrc, default-idk をインストールする。

そうすると SDK は起動しかけるも、落ちる。
そこに至るまで Java 周りやらなんやら 結構 Ubuntu をいじってしまったので、悩んで Ubuntu から入れ直す。でもダメ。

ようやくたどり着いたのが以下。

https://www.xilinx.com/support/answers/67580.html

GTK のバージョンを抑制する必要があるようです。

ここでようやく SDK が立ち上がったー!と喜んだのもつかの間、今度は Project が作れなくてハマる。

どうすればいいんだ??