2009/05/17 からのアクセス回数 37494
ARMの開発環境のセットアップは、難しいというイメージがありましたが、 ここでは、以下の3つの方法を紹介します(マシン環境はMac OS X Leopardです)。
どちらを採用するかは、いろいろですが私はMacPort版を使うことにしました。
ツールが思った通りに機能しないとき、原因の切り分けをするために、機能を 必要最低限に絞ってテストすることがあります。
ここでは、ARMのクロス開発に必要なgccとbinutilsのみを作成する方法を説明します。 *1
newlibやC++など組み込みであまり必要でないツールを除くことでmakeが非常に簡潔になります。
作成するツールのバージョンは以下の通りです。
MacPortでは、arm-elf-gdbがないので、ついでにgdbもダウンロードします。
作成に使用するソースを~/local/arm/toolchainに置くことにします。
$ 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を作成します。
configureのオプションには、以下のオプションを指定します。
$ 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にインストールします。
$ sudo make install
インストールが完了すると/usr/local/arm-thumb-elfと/usr/local/binにツール セットされます。
gccは、binutilsとほとんど同じ作業になります。
configureのオプションには、以下のオプションを指定します。
$ 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にインストールします。
$ sudo make install
次に、MacPortを使ってbinutils, gcc, newlibをインストールします。
MacPortの一番のメリットは、最新のバージョンに更新するのが容易なことです。
MacPortを使ったインストールはきわめて簡単です。(でも時間はそれなりに掛かります)
$ sudo port install arm-elf-gcc
残念ながら、MacPortでインストールすると/opt/local/bin/にarm-elf-gccが作成されません。 そこで、手作業でgccのシンボリックリンクを作成します。
$ cd /opt/local/bin $ sudo ln -s arm-elf-gcc-4.3.2 arm-elf-gcc
この作業はARM用のgccをバージョンアップするたびに行う必要があるので、気をつけてください。
最後に、gdbを作成します。 gdbは、MacPortで作成したgccと一緒に使うので、/opt/local/arm-elfにインストールします。
configureのオプションには、以下のオプションを指定します。
$ 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にインストールします。
$ sudo make install
初心者にお薦めなのが、YAGARTOツールです。 Windows, Mac OSXに対して、コンパイル済みのパッケージを提供しています。
export PATH="$PATH:$HOME/local/yagarto/yagarto-4.3.3/bin" export PATH="$PATH:$HOME/local/yagarto/yagarto-4.3.3/tools"
以上で完了です。
この記事は、
皆様のご意見、ご希望をお待ちしております。