2016/11/10

ARTY と Ubuntu と UART (Serial)

ARTY のチュートリアルに従って Microblaze を動かしてみたかったのだけど、Hello world をシリアル経由で見ることが出来ない。Bitstream のダウンロード及び、Microblaze 用にコンパイルした ELF はロード出来てるとのメッセージは出るのだけど。

ちなみに試してる環境は、Vivado 2016.3 を MacBook (macOS Sierra) の VirtualBox で動作させている Ubuntu16.04 で実行してる。

シリアルポートは Ubuntu 上では /dev/ttyUSB1 (たまに /dev/ttyUSB0 も見える) で認識されている。FTDI の USB - Serial 変換として。

ターミナルソフトは minicom を入れてみた。
minicom 自身も初めて使うので、どこが悪いのかさっぱり。
そもそも /dev/ttyUSB1 を minicom で開けばいいのかとか。

仕方ないので Digilent から提供されてる Sample のプロジェクトを使ってみた。I/O のチュートリアル

出来ましたよ。LED が周期的に色は変わるし、ボタン押すと minicom で開いた /dev/ttyUSB1 経由でメッセージも出力されてる!



ということで ARTY のシリアルポートを Ubuntu で使うこと出来るということがわかったのでとりあえず安心。今度は Microblaze から UART (シリアル)叩いてみたいなー。というか Microblaze を動かさないと。


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 が作れなくてハマる。

どうすればいいんだ??

2016/11/05

Vivado インストール


Digilent の ARTY (Xilinx Artix-7) 買ってみました。DigiKey で(秋月でも買えますが、こっちの方が若干安かったので)。ということで、早速 Vivado をインストールしてみました。

我が家の PC は MacBook Pro (mid 2015) のみ。残念ながら Vivado は Mac に対応してないので、仮想マシン上の Windows か Linux にインストールするしかありません。また Mac (10.12.1 Sierra) に入れてる VirtualBox (5.0.23) の Windows は Win10 32bit 版。残念ながら Windows 版 Vivado は 32bit には対応してません。このために Win10 64bit 版を買うのも勿体無いので、Ubuntu に入れてみることにしました。

実は ISE を入れるために Ubuntu 14.x を導入してはいたのだけど、Vivado は Ubuntu 16.x 対応と書かれているので、ディスクスペースの都合もあって新たに Ubuntu 16.04 を入れました。

Vivado は Xilinx のhttps://japan.xilinx.com/support/download.html から Linux 用自己解凍型ウェブインストーラーを選びました。.bin ファイルがダウンロードできるのですが、これの実行方法が分からない!と思ったら単なるシェルスクリプトなんですね。

% sudo sh Xilinx_Vivado_SDK_2016.3_1011_1_Lin64.bin

でいいんじゃん。。悩みましたよ。Linux 用のインストーラーかと思ってましたが、全然違いました。

ARTY には Design Edition のライセンスが一年間ついてくるので、Design Edition を選んでインストール。ダウンロードには 2.5h ほどと出てたので、夜通しほっといたら朝には終わってました。

Vivado をインストールする過程で、License Manager から Web browser を開くタイミングがあるのですが、デフォルトでインストールされている Firefox ではうまくひらけなかったです。そこで、あらかじめ Google Chrome を導入しておけば問題なくライセンスの取得ができます。Chrome をインストールするとデフォルトのブラウザにするか?と聞かれるので、忘れずにデフォルトにしておくといいかも。

ところで、Chrome のインストールはハマる。以下を参考にすると良い。
http://robotics4society.com/2016/06/16/ubuntu-chrome/

ライセンスは Certificate Based License で、Virtual マシーンに付けたホスト名と ifconfig で調べた MAC アドレスを指定して Generate しました。

次に Digilent のドライバのインストールですが、インストールされていなかったので、手動で行いました。詳細は以下。

また root でインストールしちゃうと、~/.Xilinx が root で作られてしまって vivado 起動時に怒られてしまうので、~/.Xilinx は、

% sudo chown -R your_account ~/.Xilinx

とでもして自分のアカウントにオーナーを変えておきましょう。

あとは ARTY のボードの登録ですが、Digilent から board files をダウンロードしてきて、所定の場所に展開しておけば OK です。

ただ、Vivado_HLS に ARTY の設定をするには手動で行うしかないようです。
VivadoHls_boards.xml を落としてきて、ARTY の行だけ加えてあげれば良さそうです。
オリジナルのファイルは、

% find /opt/Xilinx/Vivado_HLS -name 'VivadoHls_boards.xml' -print

などで探してみて下さい。このファイルに ARTY のコンフィグを一行だけ挿入します。フォーラムにアップされてるファイルに置き換えてもいいのかもしれませんが、内容が古いと嫌なので、必要な部分のみの導入です。

ARTY を USB に挿して Vivado から Hardware Manager を起動すると認識したのでオッケーです。


とりあえずインストールはこんなところかなー。






2014/05/09

Boogie Board SYNC9.7 (BB-6) 買っちゃった


日本では 5/2/'14 に King Jim から発売のこの商品、5/4/'14 に新宿のビックロで早速購入しました。Boogie Board シリーズもこれでようやく仕事でメモ帳がわりに使えるレベルになったんじゃないかと思います。今までは書いたメモをPCで扱えるようにするのが面倒だったり、細かい書き込みが出来ない不便さがありましたが、これらが全て解消した感触が得られました。

メモを PC 等に転送することに関して、今まで購入した Boogie Board (BB-1, BB-2) は、画面の写真を撮るしかなく、しかも反射しやすい画面は非常に写真に撮りづらいという難点がありました。しかしながら今回発売の BB-6 は Bluetooth で PC(Win, Mac) または iOS/Android 機器に本体の save ボタン一発で画像転送出来ます。オプションですが、設定しておけば PC または iOS 機器経由で Evernote に同時にアップロードも可です。転送には Evernote への転送を含めても数秒間転送しているなという時間を感じますが、それにしてもホントにストレスゼロです。もっとも Bluetooth の母艦が無くても save ボタンで本体に保存できるのでとても便利。後で PC に転送したりして取り出せばいいのです。

細かい書き込みについては、BB-6 以前の Boogie Board は「ただいま外出中」などの強調したいような書き置きには丁度良い塩梅で(例えて言うならサインペンでノートに字を書く感じ)、アイディアなどをノートに書き込むには不便な太さでした。しかしながら BB-6 は以前の製品に比べ十分細い字が書けるようになり、ボールペンでノートに書き込んでいる感覚を得られます。また画面サイズは Boogie Board シリーズで最大の BB-2 の対角 10.5インチから BB-6 では 9.7インチと小さくなりましたが、沢山の字が書けるようになったので BB-2 だとすぐに書き込めなくなる心配がありましたが、BB-6 だとまだまだ書けるという余裕が感じられます。


また Boogie Board の最大の特徴と思われる書き味ですが筆圧の柔らかい順序は以下のようになります。
BB-1 > BB-2 >> BB-6 
BB-6 は固めになりました。その分細い字が書けるようになり、ちょっと画面を引っ掻いたような圧力で書けてしまうところも解消されているような気がします。しかしながら自然な書き味は変わらずです。筆圧による線の太さもいい感じに反映されます(ディジタルデータにも太さは反映される)。

他にはライブドローイングモード(ウケはいい)やデジタイザモード(イマイチ)というのがあるのですが、あんまり使わなそうなので端折ります。

難点は値段。税抜きで 16,000円です。ちょっと足せば安いタブレットが買えそうなんだけど書き味は圧倒的にこちらが好きだし、専用機ならではの良さがあるので予算が許すならこちらをお勧めしたいです。とにかく是非一度手に取って書いてみて下さい。あの心地よさを共感して欲しいです。

ここ数年会社では紙のノートは使わずに PC をノート代わりにしていて共有するデータは全て Microsoft の SharePoint にアップするようにしていました。ブロック図やそんなのもパワポか Excel で描いてました(Visio は持ってなかったので)。チームで情報を共有するにはやはり電子化されていた方が便利だと思ってなるべくそういうふうにしてました。しかしながら中には手書きでちゃっちゃかやった方が早いものもあります。そういう時こそ BB-6 の出番じゃないのかなと。大いに期待したいところです。


2014/04/30

FormApp

暫く Google Apps Script に触れていなかったので FormApp クラスというのが追加されてたのに気づかなかった。今までは Google Docs で作成したフォームは Google Apps Script から追加変更が出来なかったのだけど、どうやらコイツは Google Docs で作成したフォームを後で変更するという今までやりたかった事が出来るっぽい。期待しよう。

昔から Google Apps Script からフォームをダイナミックにゼロから作れたんだけど、遅いんだよね。表示するだけでイライラする。これが処理しているサーバーの問題なのか iPhone 等のクライアントの処理時間の問題なのか分からなかったんだが。その点 Google Docs で作成したフォームは表示が早くて実用的でした。しかしながらカレンダーに同期させて項目を変えたりということが Google Apps Script から出来なくて、フォームエディタじゃないと内容が書き換えられない不便さがあって。そこらへんが解消されてくれていると嬉しいんだけどねぇ。