- 追加された行はこの色です。
- 削除された行はこの色です。
#freeze
[[FrontPage]]
2009/05/17 からのアクセス回数 &counter;
#contents
ARMの開発環境のセットアップは、難しいというイメージがありましたが、
ここでは、以下の3つの方法を紹介します(マシン環境はMac OS X Leopardです)。
- 必要最低限のツールをソースから作成する
- MacPortを使ってインストールする
- YAGARTOから必要なパッケージをダウンロードして、インストールする
どちらを採用するかは、いろいろですが私はMacPort版を使うことにしました。
**必要最低限のツールのソースからのインストール [#a55aa492]
ツールが思った通りに機能しないとき、原因の切り分けをするために、機能を
必要最低限に絞ってテストすることがあります。
ここでは、ARMのクロス開発に必要なgccとbinutilsのみを作成する方法を説明します。
((コンパイルオプションなどは、[[OLIMEX SAM7-P64 について>http://homepage.mac.com/nand/hacks/olimex-sam7p64.html]]のページを参考にさせていただきました))
newlibやC++など組み込みであまり必要でないツールを除くことでmakeが非常に簡潔になります。
作成するツールのバージョンは以下の通りです。
- binutils-2.18
- gcc-core-4.0.2
MacPortでは、arm-elf-gdbがないので、ついでにgdbもダウンロードします。
- gdb-6.7.1
*** ソースのダウンロード [#f08a5eb9]
作成に使用するソースを~/local/arm/toolchainに置くことにします。
#pre{{
$ mkdir -p ~/local/arm/toolchain
$ cd ~/local/arm/toolchain
$ curl -O ftp://gcc.gnu.org/pub/binutils/releases/binutils-2.18.tar.bz2
$ curl -O ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.0.2/gcc-core-4.0.2.tar.bz2
$ curl -O ftp://sourceware.org/pub/gdb/releases/gdb-6.7.1.tar.bz2
}}
*** binutilsの作成 [#p0596c39]
最初にbinutilsを作成します。
configureのオプションには、以下のオプションを指定します。
- --target=arm-thumb-elf
#pre{{
$ tar xjvf binutils-2.18.tar.bz2
$ mkdir binutils-2.18/build
$ cd binutils-2.18/build
$ ../configure --target=arm-thumb-elf
$ make
}}
約3分程度でコンパイルが終わります。
正常にコンパイルできたら、/usr/local/binにインストールします。
#pre{{
$ sudo make install
}}
インストールが完了すると/usr/local/arm-thumb-elfと/usr/local/binにツール
セットされます。
*** gccの作成 [#eee2be32]
gccは、binutilsとほとんど同じ作業になります。
configureのオプションには、以下のオプションを指定します。
- --target=arm-thumb-elf
- --without-libs
#pre{{
$ tar xjvf gcc-4.0.2.tar.bz2
$ mkdir gcc-4.0.2/build
$ cd gcc-4.0.2/build
$ ../configure --target=arm-thumb-elf --without-libs
$ make
}}
コンパイルには、ちょっと時間がかかります。
正常にコンパイルできたら、/usr/local/binにインストールします。
#pre{{
$ sudo make install
}}
** MacPortを使ったインストール [#s4b5a318]
次に、MacPortを使ってbinutils, gcc, newlibをインストールします。
MacPortの一番のメリットは、最新のバージョンに更新するのが容易なことです。
*** binutils, gcc, newlibのインストール [#r85bc960]
MacPortを使ったインストールはきわめて簡単です。(でも時間はそれなりに掛かります)
#pre{{
$ sudo port install arm-elf-gcc
}}
残念ながら、MacPortでインストールすると/opt/local/bin/にarm-elf-gccが作成されません。
そこで、手作業でgccのシンボリックリンクを作成します。
#pre{{
$ cd /opt/local/bin
$ sudo ln -s arm-elf-gcc-4.3.2 arm-elf-gcc
}}
この作業はARM用のgccをバージョンアップするたびに行う必要があるので、気をつけてください。
*** gdbの作成 [#c2b5e51d]
次に、gdbを作成します。
gdbは、MacPortで作成したgccと一緒に使うので、/opt/local/arm-elfにインストールします。
configureのオプションには、以下のオプションを指定します。
- --target=arm-elf
- --prefix=/opt/local/arm-elf/
#pre{{
$ cd ~/local/arm/toolchain
$ tar xjvf gdb-6.7.1.tar.bz2
$ mkdir gdb-6.7.1/build
$ cd gdb-6.7.1/build
$ ../configure --target=arm-elf --prefix=/opt/local/arm-elf/
$ make
}}
正常にコンパイルできたら、/opt/local/binにインストールします。
#pre{{
$ sudo make install
}}
** YAGARTOを使ったインストール [#ee5ca6da]
初心者にお薦めなのが、YAGARTOツールです。
Windows, Mac OSXに対して、コンパイル済みのパッケージを提供しています。
- [[YAGARTO GNU ARM toolchain>http://www.yagarto.de/]]
から、yagarto-bu-2.19.1_gcc-4.3.3-c-c++_nl-1.17.0_gdb-6.8_intelmac_20090413.dmgをダウンロードします
- ブルーの箱のagarto-4.3.3をデスクトップにコピーし、ダブルクリックします。
yagarto-4.3.3というフォルダが作成されますので、これをlocal/yagartoにいれます。
- ターミナルからツールが呼び出せるように.profileのPATHを以下のようにセットします。
#pre{{
export PATH="$PATH:$HOME/local/yagarto/yagarto-4.3.3/bin"
export PATH="$PATH:$HOME/local/yagarto/yagarto-4.3.3/tools"
}}
以上で完了です。
** Zylin CDTのインストール [#w5a7c10c]
最後に、EclipseでOpenOCDを使ってソースレベルのデバッグをするためのプラグインZylin CDTをインストールします。
Zylin CDTはEclipseのupdate site機能を使ってインストールします。
私は以下の環境でインストールしています。
- Eclipse SDK Version: 3.4.0以降
- JRE 1.5以降
詳しいインストール方法は、[[YAGARTO>http://www.yagarto.de/howto/yagarto2/index.html]]のサイトを参照してください。
YAGARTOの画像を使って、Zylin CDTのインストール方法を説明します。
- HelpメニューのSoftware Updates...メニューを選択します。
&ref(eclipse23_1.jpg);
- Add Site...ボタンを押して、Zylin CDTのUpdate Siteを追加します。
&ref(eclipse23_2.jpg);
- Locationに
http://opensource.zylin.com/zylincdt
と入力します。
&ref(eclipse23_3.jpg);
Eclipse 3.4(ganymede)からUpdate Site機能が強化され、足りない機能を自動的に
ダウンロードしてくれるので、とても簡単になりました。
** コメント [#r4452087]
この記事は、
#vote(おもしろかった[9],そうでもない[0],わかりずらい[0])
#vote(おもしろかった[10],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha