2011年3月26日土曜日

MacでARM(MARY基板)開発環境を構築する

前回の記事で、NXPのARMマイコン:LPC1114を載せたMARY基板をLinuxで動かすという話を書きましたが、この記事のためにいろいろと調べまわっているうちに、こんな記事を見つけて、MacでもARM開発環境を構築することができそうだということがわかってきました。とは言え、そう簡単なことではなさそうなので、備忘を兼ねてここにその方法をまとめてみることにしました。目指したのは、「MacでMARY基板を動かす」ことです。

まず、Xcodeが必要です。Xcode 4になって有料化されたという話を聞いていたので、どうなんだろうと思って調べてみましたが、developer登録をしておけば無料でダウンロード出来るようです。ただ、自分のところではまだOS X 10.5.x(Leopard)を使っているので、Xcode 3.1.xまでしか動きません。現時点での最新バージョンであるXcode 3.1.4をダウンロードサイトから落として使うことにしました。(Snow Leopardを使っている場合は、Xcode 3.2.xやXcode 4も使えるようです)

次に、必要なBSDパッケージを導入するためにMacPortsをインストールします。(ここから先は、「ソフトとハードの交差点:ARM LPC2388 開発環境構築方法 @Mac」を参考にしました)今回はLeopard用のdmgファイルをダウンロードサイトから落として、インストールしました。これを使って、以下のコマンドで「arm-elf-gcc」をインストールします。
#Xcode→MacPortsの順でインストールしないと、エラーが出てインストール出来ません。

$ sudo port install arm-elf-gcc

続けて、同じくMacPortsを使って「openocd」をインストールします。

$ sudo port install openocd

次に、「Eclipse(現時点での最新版はVersion:3.6.2)」(Eclipse IDE for C/C++ Developers)をインストールします。既にEclipseをインストールしてある場合は、「Help」メニューから「Install New Software…」を選択し、「Helios - http://download.eclipse.org/releases/helios」から「Programming Languages」→「C/C++ Development Tools」をインストールします。作業は、チェックマークをつけて下の「Next >」ボタンを押すだけです。

そして、「Zylin Embedded CDT」をインストールするために「Help」メニューから「Install New Software…」をたどって「Install」ウィンドウを開き、「Work with:」に「http://opensource.zylin.com/zylincdt」と入れます。すると、Zylin Embedded CDTを選択できるようになるので、チェックマークをつけて「Next >」ボタンでインストールします。
#今後もアップデートなどのチェックをしたい場合は、「add…」ボタンを押して設定名とURLを登録しておくことができます。

次(まだあるのか…と思った方、もうそろそろ終わりですので)に、「arm-elf-gdb」をインストールします。これは、MacPortsでインストールすることができません。ちょっと面倒な作業が必要です。FTPサイトからarm-elf-gdb(現時点での最新版は7.2)をダウンロードして自分のユーザフォルダに展開します。後は、以下のコマンドでインストール作業を行います。

$ cd gdb-7.2 #ダウンロードしたバージョンによって異なる
$ ./configure --target=arm-elf --prefix=/opt/local/arm-elf/ --enable-language=c,c++ --with-cpu=arm7tdmi --disable-werror
$ sudo make
$ sudo make install

2つ目の./configure以降は、1つ1つの作業が終わるまで少々時間がかかりますが、これまでの手順がうまくいっていれば問題なく終了すると思います。(今回の作業は、順番も大事みたい)

最後に、ハードウエアのドライバとして、Silicon LabsCP210x USB to UART Bridge VCP Driversをダウンロードしてインストールします。これですべての環境が整ったはずです。

と、いうところまでやっておいて、肝心なEclipseの使い方がよくわかっていないということに気づきました。(ぇえっ〜!今さらかよ!)というわけで、これから時間を見つけてEclipseの使い方を勉強をするところからやってみます。
#というわけで、動作確認できていません。(苦笑)それでもお付き合いいただける方がいらっしゃいましたら、試してみてください。もちろん、自己責任でお願いします。

2011年3月21日月曜日

LinuxでMARY基板を使えるようにする

先日、CQ出版社から発売された「2枚入り!組み合わせ自在!超小型ARMマイコン基板」(トランジスタ技術4月号増刊)に、NXPセミコンダクターズの32ビットワンチップマイコン: LPC1114が搭載された超小型マイコン基板が2枚付属しています。

LPC1xxxと言えば、以前からLPC1768を載せたmbedに注目していました。mbedは、この手のマイコンボードにありがちな開発環境を整える手間を省くために、開発環境は全てネット上にあるという面白いコンセプトを持ったマイコンボードで、買ってすぐに使える手軽さが人気となっているようです。ネットにつながったパソコンから、Webブラウザを通して開発環境にアクセスすればよいのですから簡単ですし、マルチプラットフォームだというのも嬉しいところです。しかし、若干高い。

同じNXPのワンチップマイコンを搭載した、LPCXpresso NXP LPC1769(1768)評価キット同LPC1343評価キット同LPC1114評価キット秋月で販売されています。こちらはそれなりにリーズナブルなお値段です。開発環境としては、code_redLPCXpressoを使います。まだこの評価キットを入手していないので、そのうち購入したいと思っているのですが、それよりも魅力的だと思ったのが「MARY基板」だったのです。

1つの基板は、「こんなので何が出来るんだろう?」と思わせるほどサイズが小さいのですが、複数の基板をつないで連携させることができるというのが最大の魅力です。つまり、基板を増やすことで表現の幅が広がるということです。付属基板や拡張基板、その他の関連部品などがマルツパーツ館で販売(もう少し安いとありがたいのですが…)されています。一目惚れ状態で2冊(MARY基板4枚分)購入しましたが、説明を読みながらWin環境のないことに気づいて我にかえりました。開発環境のLPCXpressoは、WinもLinuxも同じように使うことができそうですが、Flash-ROMに書き込むFlash MagicというソフトがWin専用なのです。ネットでいろいろと探し回りましたが、有用な情報を見つけることができなかったので、Twitterでつぶやいてみました。すると、なんと著者から「LPC21ISP」で書き込めると教えていただくことができました。(なんともありがたい話です)
#これがダメなら、Flash MagicをWineで動かすという方法もあるようです。

早速zipファイルをダウンロードして展開し、解凍されたフォルダに入って「make」して出来上がった実行ファイルを「sudo cp lpc21isp /opt」でコピーしました。(ダメもとでやってみたらMacでも出来ました←驚き!)/optにパスが通っていない場合はパスの設定(.bash_profileや/etc/profileあたりで)をする必要がありますが、簡単に使えました。これからいろいろと試してみたいと思います。

2011年3月20日日曜日

オカヤドカリとカブトムシの世話

三連休の初日だった昨日、これまでずっと気になっていたオカヤドカリとカブトムシの世話をしました。

2匹のオカヤドカリは、一回り大きい横幅約40cmの水槽(今までは、横幅約32cm)へお引越しをしてもらいました。オカヤドカリは、水槽内のレイアウトを考えるのが楽しみの一つだと思っているので、1ヶ月ほどかけてレイアウトに使うものを買い揃えて、オカヤドカリの動きを考えながらレイアウトをしてみました。防寒対策にみどり商会のパネルヒーター:ピタリ適温プラス1号同2号の2枚を使っています。また、寒さが厳しい夜は、100円ショップで購入した断熱シートを水槽の周りに巻きます。

この状態で、気温が25度(パネルの直近はさらに高いだろうと思われる)くらい。オカヤドカリたちもそれなりに快適に過ごせる温度だと思います。オカヤドカリたちは、隠れる場所として入れた「植木鉢」や「やどり木」の中が気に入ったようで、ゴソゴソと動き回っている音だけが聞こえます。慣れるまではしばらく時間がかかるかもしれませんが、時々様子をのぞき込みながら、思い通りのところにいてくれると嬉しくなります。暖かくなったら、もう少し仲間を増やしてやりたいと思っています。

カブトムシの方は、飼育2年目にして41匹(今回1匹が死んでいました)の幼虫を飼育中です。独居・雑居の様々な容器からマットと個体を取り出し、フルイを使って糞を取り除いてマットを補充して元の状態に戻しました。死んでしまった1匹は、独居用の麦茶ボトルに入れていたもので、前回世話(昨年11月頃)をしたときに、マットへの加水が多かったためかマットの上の方(少し掘れば見える辺り)へ出てきていて、黒ずんだ状態で見つかりました。糞がほとんどなかったので、早い段階で死んでしまったものと思われます。それでも、41匹が元気な状態で見つかり、思ったほど共喰もしないで共存していることがわかりました。

大量の糞は、肥料(というか黒土)として使うことにして、気温が上がるとさらに活発に餌(マット)を食べ始めるので、夏前にもう一度くらいマット交換をしなければならないだろうと計画しています。他の動物を飼うのに比べて、リーズナブルな飼育ではありますが、これだけ大量にいるとマット交換も一苦労(今回は2時間ほどかかった)なので、計画的にやらないといけません。あとは、大量に羽化した場合の受け入れ先を決めておかないといけませんね。

2011年3月9日水曜日

Macでファイルとアプリケーションとの関連付けを直す

感動的というか、今までとても困っていたことが簡単に解決したので、備忘も兼ねて手短にまとめておきます。

以前から、Linuxを中心にオープンソースを活用してきましたが、同じPC-UNIXのMacでも使えるソフトが多いので、MacとLinuxの両方で同じソフトを使うこともしばしばです。中でもOfficeソフトは使用頻度が高く、OpenOffice.org(以下OOo)とLibreOffice(以下LO)をインストールしています。Linuxでは、この2つに頼るところが大きいのですが、職場で使っているのがWindows版のMS-Office(orz…)なため、MacではMS-Officeをメインで使っています。ところが、いつの頃からか、MS-Officeで作ったファイルもすべてOOoで開かれるようになり、毎回右クリック(Control + クリック)で開くアプリケーションを選択するという面倒な状態になっていました。

ご存じの方も多いと思いますが、Macでファイルとアプリケーションの関連付けを変更するには、ファイル上で右クリック(Control + クリック)して「情報を見る」からファイルの情報を表示させて、「このアプリケーションで開く」でアプリケーションを選択すれば、デフォルトのアプリケーションを変更することができます。さらに、その下の「すべてを変更…」を押すと、類似したファイル(同じ拡張子のファイルを意味していると思われる)のデフォルトのアプリケーションをすべて変更することができます。しかし、今回はこれもうまくいきませんでした。
#そもそも、クリエイタータイプが無視されているという状況にも納得がいかない昔ながらのMacユーザですので。

そこで、他に方法はないものかと探し回っていると、「MacFun.jp」のサイトで「アプリケーションの関連付けがおかしくなった場合の対処法」という記事を見つけました。まさにこの情報が欲しかったので、早速コマンドを試してみました。(FinderからGUIでたどることはできません)

$_/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -f -all local,system,user

「Launch Services database」を最適化する「lsregister」というコマンドを使っているみたいです。確かにちょっと待つ必要があるのですが、その後の作業のスムーズさを考えたらたいしたことはありません。こんな便利なものを隠しておくなんて…と思いながら、快適になってちょっといい気分なのでした。