FC2ブログ

ModelSimのインストールで苦戦した話

Zet Processor という、おもしろプロジェクト(※個人の感想です)が
あるらしい。

x86のプロセッサを、HDLで記述しているので、
いろいろいじって楽しめそう。

しかし、なぜかうまく動かない。

HDLソースに書き込みしまくって読み直してみても
ロジックの誤りはなさそうな雰囲気。

動くように作ったものが動かないというのは、すごく歯切れが悪いので、
この際、スキルアップもかねてHDL設計の力を鍛えることにした。

で、選んだ教材がこれ↓
HDL独習ソフトで学ぶCQ Endeavor Verilog HDL(Amazonアソシエイト)

で、シミュレーション(テストベンチ)の話も出てきた。
テストベンチって、本で読んでもいまいちピンとこなかったので
セミナーで力をつけるべし!ってことで。。。

で、Alteraのボードを使っているわたくしは、
Quartus II 12.1sp1はインストールしていたのだけれど、
ModelSimは入れてなかった。ので、インストールする。

どうやら最近は、ModelSim-Altera Starter Edition というのがあるらしい。
インストールの時にちょっと苦戦したのが、以下の2つの違い。

・ModelSim-Altera Edition <- こっちはライセンスが要るらしい。
ファイル名:12.1sp1_243_modelsim_ae_windows.exe
こっちをインストールしたら、こんなエラーで起動できなかった。
Fatal License Errorとな。
licenseError.png
MGLS_LICENSE_FILEとかLM_LICENSE_FILEってのは、
ライセンスを取得した場合に指定する、Windowsの環境変数らしい。

無償版狙いなのにこのエラーが出ちゃったら、ファイルがハズレでしたってことで。
次のやつを探しましょう。

・ModelSim-Altera Starter Edition (Free) <- こっちはライセンスなしでOK。
ファイル名:12.1sp1_243_modelsim_ase_windows.exe

ていうかね、ファイル名を見比べて。一文字しか違わないじゃん。

しかも、ダウンロードの途中で共通のページに飛ばされたりするのよね。
頑張って探し出しましょう。

Starter Editionにしたら、無事に起動しました。
疲れたので今日はもう寝ます。
スポンサーサイト



Ubuntuで目覚めたりするゲームボーイ(アドバンス)2

Ubuntu 13.10で、「Linuxから目覚める ぼくらのゲームボーイ!」をやってみました。
の2回目。まずは、簡単なハードウェア(ドライバ)編から。

で、本の通りでうまく動かなかったので、
いつもの通りグーグル先生に頼る。

まず、見つかったのはここ↓
USB版ブートケーブルによるGBAへのプログラム転送

著者ご本人の資料みたいですねー。すばらしい。
でも、この資料も古くて、カーネル再構築は要らなかった。
書き換えてみた /etc/fstab も、読み込み時にエラーになっっちゃったし。

ポイントは、/proc/bus/usb/devices が見えるか?ってこと。
どうやら、デフォのUbuntu 13.10では /proc/bus 以下に該当のファイルが見えない模様。

/* コマンド ************************/
$ ls /proc/bus
input pci
/***********************************/

このままだと、バイナリファイルを書き込もうとしても、optusbからケーブルが見えない。
こんな感じ↓
/* コマンド ************************/
$ sudo ./optusb rgb.bin
=== optusb v1.01 ===

Source file = rgb.bin
Program size = 100
Error: OPTIMIZE GBA-USB-bootcable is not found!
/***********************************/

でわけで、以下の細工をします。

/* コマンド ************************/
$ sudo mount --bind /dev/bus /proc/bus
[sudo] password for :(パスワード入力)
$ sudo ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices
/***********************************/

これでOK。optusbでも、ちゃんと認識するようになるよ。

ちなみに、参考にしたのはUbuntu Forumのこの記事↓
Thread: /etc/fstab...

この回答によると、どうやら「カーネルがusbfsをサポートしてないぜ」ってことらしい。
だから、著者のサポートページの方法は弾かれたのかー。たぶん。

ともかく、うまく動いてよかった。
このトラブルを追う途中で、optusbの中でprintfをデバッグに使ったのだけども、
mountとかlnする前は、そもそもプログラムからUSBデバイスの情報が全く取得できていなかった。
つまり、libusbが正しく動作していなかったっぽい。
libusb 0.1系は、/proc/bus/usb/devices から情報を持ってきているのかな?

この手順でうまく解決できたってことは、BOOTケーブルに限らず、
optusbと同じ、libusbの0.1系を使ったプログラムで、
デバイスを認識できずにはまっている人は
上記の手順で同様に解決できるかもしれない。

ともあれ、うごいてよかったわい。

(おまけ)
ブートケーブルを使わない猛者もいる模様。(俺は未検証だけども)
手軽な低レベルプログラミング環境として GBA はもっと評価されるべき

Ubuntuで目覚めたりするゲームボーイ(アドバンス)1

また、デバイスドライバとか開発環境関係のお話でごわす。

その昔、「Linuxから目覚める ぼくらのゲームボーイ!」という本がありまして。
こんなの↓
Linuxから目覚めるぼくらのゲームボーイ!(Amazonアソシエイト)
(今見たら、中古で4万円とかの値段がついていて、若干ビビる)

CDブートがかったるくてなかなか機会に恵まれなくてずっと放置していたが
最近、組み込みっぽいプログラミングにハマっているので、久しぶりに手を付けてみることにした。

で、本の通りに環境設定をしようとしたけども、
コンパイラのビルドでコケたり、ブートケーブルが認識しなかったりで
すんなり実行できなかったです。

それもそのはず、この本ではLinuxディストリがKnoppixで2003年の話。
かたや、今のウチの環境は2013年のUbuntu 13.10。
実に10年の差があるし、ディストリビューションも違う。

だがしかし!なんとか、動作できるところまで行き着いたので、
ここに記す。

とりあえず、開発環境のビルドと、ブートケーブル用の設定に
課題がありましたとさ。

だーいぶ昔のネタをいまさら再現しようという酔狂な試みだけども、
日本中に3人くらいは、これで助かる人がいるのではないかと
願いを込めつつ、筆をとった次第である。

つづく。

Ubuntu+LXDEのメニューでsudo

Ubuntu 13.10 を使っています。
情報が多そうだし。

で、リモート接続するときに軽いほうがいいかなーっていうので、
ウインドウシステムをLXDEにしています。
デフォでも寒色系でかっけーよ。


んでね。うまく動くわけだけども、
LXDEメニュー?の[設定]→[ソフトウェアの更新]で
「ソフトウェアの更新」をするときに、
権限で弾かれエラーになっちまう。

update-mgr-err.png

ターミナルからsudoしてもいいのだけども、
メニューから実行できるとクール。。。

てわけで、方法をググってみたのでここにまとめる。
てか、gksudoを使えばよかった。グラフィカルにsudoできるよ。

具体的には、メニュー項目の右クリック→「プロパティ」で
これを足す↓↓↓
update-mgr2r.png



これを書くだけで、メニュー選択により
管理者権限で実行するためのウインドウが出た。英語だけど。

gksudo.png

これに、(rootパスワードでなく)
現在のユーザパスワードを入力すれば
弾かれずに実行されまする。
プロフィール

軟弱

Author:軟弱
趣味で電子工作やってます。パーツ収集癖がたたって、不良在庫に囲まれた生活です。ディジタルもアナログも興味あり。

当サイトの内容は再現性および安全性を保証するものではなく、内容の利用により生じたいかなる損害等についても責任を負いません。自己責任でよろしく。趣味ですから。



twitterやってます。
最新記事
最新コメント
月別アーカイブ
カテゴリ
RSSリンクの表示
リンク
QRコード
QR