Monthly Archives: August 2007

Eclipse on the Linux

 Eclipse 3.3 Europa が最新バージョンである。けっこう、3.2 から大きく変わったみたいで、今までのプラグインが動作しなくなったりする場合もあるみたい。
 Vista の挙動がイマイチ不審なので、Linux に注力しているわけだけど、Eclipse 上から RoboShell のビルドとデバッグが出来るようになった。あ、あとフラッシュへの書き込みも!!(この機能は OpenOCD についている機能だけど。)つまり、完全にオープンソースな環境で RoboShell の開発が出来るようになったわけだ。
 あとは RoboShell をそういう環境に対応すべく、進化させるだけだな。

OpenOCD on Linux

とりあえず、Linux 環境でも動作を始めたようなので、忘れないうちにメモを書いておくことにする。
USB 関連として、下記のファイルを入手する


  1. libusb
  2. libftdi
  3. ftdi_eeprom
  4. libconfuse

そのまま、./configure してビルドすれば OK
次に OpenOCD を入手する

  1. svn で安定版を入手する
    svn checkout http://svn.berlios.de/svnroot/repos/openocd/trunk
    上記コマンドを発行したディレクトリに trunk ディレクトリが作成され、それ以下にソースファイルが展開される。
  2. make
    以下のコマンドを投入して実行ファイルを作成する

    • ./bootstrap
    • ./configure –enable-ft2232-libftdi
    • make
    • make install


実行
ターゲットの配線を確認して、openocd を起動する。
openocd -f config.cfg
実行時に下記のエラーが出たので、以下のような対策を行った。
libftdi.so.0: cannot open shared object file: No such file or directory
原因は環境変数 LD_LIBRARY_PATH が設定されていないために起こるので設定する
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

こんなものなのかな?

 RoboShell の開発環境を複数のプラットフォームで構築しているけど、Vista は調子悪いみたい。XP で何の問題もなく動作するのに、Vista だと全く駄目だ。詳しく書くと、ARM のクロスコンパイラにソースコードを突っ込めないのだ。
 一日、悪戦苦闘したけど全然駄目だった。反対に Linux ではさくっと、Eclipse + Zylin CDT まで導入出来たし、それ以前に ARM のクロスコンパイラやデバッガまでビルド出来た。なかなか、いい感じである。と言うことでしばらく Vista は様子見して、Mac と Linux で環境を構築していくことにする。
 かなり、いい感じになって来たよ。

真夏の世の夢

Unlock device


 かねてより、計画していた OS 全部入りのPC環境が構築出来た。後は必要なソフトをインストールして行き環境をブラッシュアップしていく。
 よく、クルマの改造屋とかでデモカーみたいなのがあるけど、これもそれと同じデモ環境だ。RoboShell の複数環境での動作の実現を体現するのが、この環境なのだ。
 でも、今回のインストールはマジで大変だった。素の OS なら問題ないけど、色々と制約の多い環境なんだよ。実際。でも、かなりブートメカニズムとかパーティションの勉強になった。

RoboShell development environment

 OpenOCD が動作を開始したのは既報の通りだが、Eclipse 上でも動作を始めた。ステップ実行で確実にひっかかるのは非常に気持ちがいい。開発に必要なフラッシュメモリの焼き環境も OpenOCD のを使うことが出来るようになった。後は Linux, MacOS と水平展開していく。
 そろそろ、ページをまとめて行かないとな。やってきたことをはなから忘れて行きそうだよ。

ロボット開発に適したPC

 以前からの計画の通り、PCを新調した。先頃、Macブックを購入したばかりだけどやはり重い。重いが故に携帯性が悪いので、稼働率が低くなる。
 で、購入したPCは ThinkPad X60 である。ロボット開発で必要なのは、まずは携帯性。ロボをもって出かけることが多いので、これは重要。つぎはコネクティビィティー。多様な接続性を持っていないといけない。WiFi, Bluetooth, USB…この手のインターフェイスは全部入りが必須だ。
 OS はどうだろう? WinXP は必須。次は Vista も入れておかないと。全てオープンにするなら、Linux も押さえとく。夢も見たいよなぁー(内容は秘密)。
 そろそろ、本気でやりますかね。ロボ開発。残された時間は短いんだよね。

Mac によるロボット開発

現在、MacOSX上にロボット開発のためのツールチェーンを構築中。とりあえず、EclipseからARM クロスコンパイラ(Ver.4.2.1)で RoboShell.hex をビルドする所まで出来た。
後は FT2232 ベースのデバッガを動かせるように、USB 周りのドライバを整備していく。arm-elf ベースで動作する gdb と gdb のサーバである OpenOCD のビルドは出来上がっている。
近日中に結合試験だな。完成すれば、プラグインの勉強でもしようかと思う。

新端末

TeamKNOx にはありがたいことに、行動を支援してくれる方が沢山いる。こんな端末を寄付してくれた。結構色々なことが出来そうなので、なんかソフトでも作ってみるか。とりあえず、ロボを動かすソフトだよな。芸風的に。開発環境を入れないと…。

OpenOCD を弄くっていて思ったこと

 ここ数日、FT2232 ベースのハードウェアを自作して、Linux や Windows で動作させるために色々調べていた。OpenOCD もオープンソースソフトウェア(OSS) でありドイツが原産のようだがほとんど資料は英文だ。OSS は色々な人間がよってたかって弄くっているので、英語がベースになる。
 これは他の OSS でも同様だろう。
 OSS を弄くる人間で、英語が出来ないのは矛盾だなと痛感した次第。

OpenOCD

 自作のハードとサンプルで頂いたキット(ほぼ完成品)が、TeamKNOx 非常勤研究員の協力の元、Linux, Windows で動作するようになった。自作ハードはチップから組み立てたので、気合いの入った一品。キットは非常にコンパクトにまとまっており、流石にプロだよなぁ~。って感じの出来映え。価格も手頃なので今後はこちらを使うつもりだ。簡単なアダプタを作るだけで様々な用途に対応出来る。サンプルも色々とあるので、自分でもオリジナルハードを製作する事が出来そうだ。今回チャレンジした OpenOCD もその一つの実装である。
 OpenOCD を実現する上で、手こずった点は *.cfg の設定と EEPROM の設定、回路図の確認である。これらは近いうちにページとして、まとめる予定。
 一つの USB のポートでJTAGデバッガとシリアル通信が出来るので非常に便利だ。非常にすっきりまとまる。シリアルポートは Bluetooth に移っていくが有線ならではの安心感がある。