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の使い方を勉強をするところからやってみます。
#というわけで、動作確認できていません。(苦笑)それでもお付き合いいただける方がいらっしゃいましたら、試してみてください。もちろん、自己責任でお願いします。

0 件のコメント: