#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(おもしろかった[16],そうでもない[1],わかりずらい[1]) #vote(おもしろかった[16],そうでもない[1],わかりずらい[2]) 皆様のご意見、ご希望をお待ちしております。 #comment_kcaptcha