いや回文作ってどうする。
あれこれドキュメントばっか見ててもわからんことも多いので、何はともあれインストールして動かしてみよう、というわけでNiosII EDS (Embedded Design Suite)をインストールしてみました。
とその前にPCの話。私はここ2年ほど、会社からノートPC(2kg弱)を支給されてからというもの、会社でも自宅でも出張・旅行でも常にこれ、どこにでも持ち歩き全てこれで済ます、というスタイルでやってました。だって便利だし。1.0GHz Celeron M 512MBですが、大抵の使い方するぶんにはそう不便はないし。Deep Purpleの開発もこれ上のCygwinでやってました。
ですが最近FPGAを始めてISEやQuartusを動かすと、さすがに遅い。EDSを入れるにあたって、ついに開発マシンは別に用意することにしました。で、1年近く前にDeep Purpleの実験用に作ったマシンがほとんど使ってなかったので、これを流用することにしました。
元々このマシンを作った目的は2つあって、1つは64bit OSでの性能を見るため。このためにSuSE Linux EM64T版を入れてました。もう1つは並列化の実験。クラスタベースで、各マシンは(1台を除いて)ディスクレスクライアントにして、自作でできるだけ安くあげる、を目標にしました。で、Core2Duo 1.86GHz + マザボ + メモリ512MB + ケース&電源200W、他何もなし、の構成で5万弱。最初の1台はHDD 160B ~\7K もつきましたが。OSはLinuxなのでただ。pxelinuxでディスクレスブートも確認して、よしよしこれで8CPUマシンが20万弱でできるな、などと考えていたのですが。
FPGAに転向したため、すべて無駄になってしまいました。
この件に限らずよく思うんですが、何かをやろうとしていろいろ検討して、いくつか案を考え、そのうち1つを選んで残りは捨て、となるわけですが、私の場合100検討したうち、最終的に役に立つのが7くらいかなぁ、と。ま数えたわけじゃないですが、感覚的に1割は切ってる気がします。残りの93は、エネルギーを費やして真剣に検討するのですが、結局お蔵入りに。その労力と時間は一体どこに行ってしまうのか…
俺の青春の日々を返せー (返せー) (返せー)
あぁ山はいいなぁ。
ちなみにDeep Purpleの思考エンジン部は、一から作り直す、を4回やりました。大会には3回出ましたが、エンジンは全部まったく別物。I/F部はさすがに流用してますが。
まそんなわけで、そのマシンにメモリ2GBとWin VistaのOEM版を買い。FPGA用しか使わんので迷わずHome Basic \14.4K。を近所のケーズデンキで買ったのが大晦日。新年早々まずメモリを差し。これは問題なかったのだが、次のVistaインストールで。「インストールできるシステム ボリュームがありません」何じゃこりゃ。ググって調べるといくつか当てはまりそうな点が見つかったが、初詣タイムになったので中断。翌2日再開していろいろ試し、結局怪しい点その3の「Win以外のパーティションがbootableになってるせい」が正解と判明。私の場合当然Linuxがbootableになってたので、SuSEのCDROMからレスキューモードでブートし、fdiskでWinパーティションのみをbootableに変えてからやるとインストール成功。
Vistaに続いて、QuartusII, MegaCore, NiosII EDSと続けてインストール。で、まずは Hardware Tutorialをとりあえずそのままなぞる。9割方うまく行き、最後のSOF吐き出しのところでライセンスがどうこう、でコケる。まあこれはボード買えばライセンスついてくるんだろう、とタカをくくり。SOPC Builderも問題なし。ちなみに私はそっぷくびるだと発音してますが何か。SEPCだと怖いよなこれ。
EDSも立ち上げ、これもtutorialをなぞる。count_binaryは無事動作。ヘルプとかをあれこれ見てるうちに、Host Based Filesystemなるものを発見。これはNiosからホストPCのファイルをJTAG経由でオープンするというもので、あ、これがcygwinでnamed pipeで対戦ソフトと通信できれば…などと考えたのですが。さっそくhostfsのサンプルアプリをビルドして、Run as... (w/ ISS)すると、「hostfs はRunはできません、Debugのみ」とのこと。ふん、けち。で、Debug as... (w/ ISS)すると。
hostfs_open() (だったかな)中の "break 1" で止まって動かなくなってしまいました。
うーん、よくわからんが…Run asだとstdin/out動くんだけど、DebugだとJTAGは使えないのかな?それとも、ISSはそもそもhostfsは使えない、とか?いろいろ疑問はあるんですが、机上で考えてても答え出んし、とにかくまずボード買って、ISSでなく実機で動かしてみよう、と思っております。ちなみに3C120Nボード発注かけてしまいました。
最近のコメント