April 07, 2009
ARM LPC2388 開発環境構築方法 @Mac
まんまっすね.
Interface誌2009年5月号付録のNXP-ARM-LPC2388の開発環境を作りました.
えぇ.それはもう,ZUSさんの『ARM LPC2388 開発環境構築方法』にはとってもお世話になりましたってか,お前それただの丸パクリやないかって話も・・はてさて..
【構築した環境】
・Mac OS X (version 10.5.6 Leopard)
・ARM-USB-TINY
・Eclipse (version 3.4.2 Ganymede)
・arm-elf-gcc-4.3.2
・openocd (version 0.1.0)
・arm-elf-gdb (version 6.8)
・Zylin Embedded CDT (version 4.5.1)
おそらく,現状で手に入る最新の環境ではないかと.
すっごく苦労した(丸二日ぐらい?)んだけど,後から追う人にとっちゃきっと1時間足らず.
Interface誌2009年5月号付録のNXP-ARM-LPC2388の開発環境を作りました.
えぇ.それはもう,ZUSさんの『ARM LPC2388 開発環境構築方法』にはとってもお世話になりましたってか,お前それただの丸パクリやないかって話も・・はてさて..
【構築した環境】
・Mac OS X (version 10.5.6 Leopard)
・ARM-USB-TINY
・Eclipse (version 3.4.2 Ganymede)
・arm-elf-gcc-4.3.2
・openocd (version 0.1.0)
・arm-elf-gdb (version 6.8)
・Zylin Embedded CDT (version 4.5.1)
おそらく,現状で手に入る最新の環境ではないかと.
すっごく苦労した(丸二日ぐらい?)んだけど,後から追う人にとっちゃきっと1時間足らず.
MacPortsとXcodeが入っていること前提で,なるべくサイトまで探しに行ったりすることがないように頑張ります.
ZUSさんの『ARM LPC2388 開発環境構築方法』の補足レベルで読むこと推奨.
・ARM-USB-TINY用のドライバをもらってくる
こいつの中の人はFT2232なので,FTDIのwebサイトからドライバをもらってきましょう.
こいつのインストールは手動でやんなきゃいけなくて,arms22さんのブログ記事
『MacOSXでFTDIのBit-Bangモードを試す@なんでも作っちゃう、かも。』
を参考にインストールしましょう.
FTDIのチップはVCP(Virtual COM Port)でとっても有名なのですが,今回使用するのはBit-Bangモード用のドライバで,VCPのドライバとは別物です.注意してください.
インストールには管理者権限が必要で,終了したら再起動を求められます.
・MacPortsでarm-elf-gccをインストール
こっからがUNIX系OSの本領発揮ですね.
ターミナルから
sudo port install arm-elf-gccでいっちょあがり,と.
関連するアプリケーションもまとめてインストールされるので,楽チンです♪
ほんでー,インストールされたarm-elf-gcc達は/opt/local/bin/下にいるんですがー,ナゼかバージョンが後ろについてましてー.arm-elf-gcc-4.3.2みたいになってるんですよ..この後ろの"-4.3.2"の部分はシコシコと手作業でとりました.gdbのインストール時とかにチェックされてるんで,取らないとマズいかなーって.
これ,ゼッタイ他にやり方あるよな..
・MacPortsでopenocdをインストール
ターミナルから同様に
sudo port install openocdでいっちょあがり,と.
バージョンとかとりあえず気にしない♪動けばそれでいい.
・Eclipseのインストール
本家ダウンロードページから「Eclipse IDE for C/C++ Developers」をインストール.この辺は他のサイトにとっても詳しくのっていると思うので,そちらをどうぞ参考に.
私はJava用のが既に入っていたので,Help => Software Updatesから「Eclipse C/C++ Development Tools/Platform」を追加しました.
細かい設定は『ARM LPC2388 開発環境構築方法』参照.
・Zylin Embedded CDTのインストール
Eclipseのプラグインなので,Help => Software Updatesのサイトに,「http://opensource.zylin.com/zylincdt」を追加すればいいだけのはずなんだけど,なんか「そこには何もないぜ」ってエラーが出た.
かなり困ったんだけど,Refreshってボタンを押したら,インストールできるようになった.謎.
これも,細かい設定は『ARM LPC2388 開発環境構築方法』参照のこと.
・arm-elf-gdbのインストール
これはどーしよーもなかったのでソースからコンパイル.
入手場所はこちら.最新バージョンをどっかにダウンロードしてきて,
tar xvfz gdb-6.8.tar.gz
cd gdb-6.8
./configure --target=arm-elf --prefix=/opt/local/arm-elf/ --enable-language=c,c++ --with-cpu=arm7tdmi --disable-werror
sudo make
sudo make install
・テスト
ZUSさんの『ARM LPC2388 開発環境構築方法』から動作確認用のSampleプロジェクトをもらってきて展開しておく.
Eclipseのworkspaceはどこに設定してもいい.
File => New => C Project (ない場合はOthersから選ぶ)で適当な名前をつけてプロジェクトを作ったら,そこに展開したSampleプロジェクトの中身を全部入れる.
私の場合,システムのデフォルト文字コードをUTF-8に設定しているので,Sampleプロジェクト内のコードは文字化けしていた. Eclipse => Preference => General => Content Types => Text => C Source FileのDefault encodingをShift_JISに設定してUpdateかけると直る.
makefileを開いて,ビルドパスを
こんなかんじに修正.
これでビルド通るはず.main.elfができる.これを焼き込む.
Eclipseのgdbの設定も『ARM LPC2388 開発環境構築方法』まんま.あ,GDB Debuggerだけはarm-elf-gdbになってる.
そんで,Initializeコマンドもまんまなんだけど,ブラウザからコピペしたら余計な改行コード(たぶんLF)が入っちゃって,openocdがうまく動かなかった..これ,実は原因に気づくのにけっこう時間かかった..
あと,openocd.cfgの中のjtag_speedを大きくする.40ぐらい(適当).
さて,設定できたらつなぎます!が!
FTDIのチップでVCPのドライバを入れてる人は,ARM-USB-TINYをコンピュータに接続したとき,そっちのドライバが有効になってるかもしれません.VCPとD2XXは共存できないので無効化しましょう.その方法は『MacOSXでFTDIのBit-Bangモードを試す@なんでも作っちゃう、かも。』を参照.これも原因特定に時間かかったなぁ・・
ls /dev/*.usbserial*で何か出てきちゃう人は,おそらくVCPが動いてマス.
とっても色々なサイトにお世話になりました.ありがとうございます.
あと参考文献.
ZUSさんの『ARM LPC2388 開発環境構築方法』の補足レベルで読むこと推奨.
・ARM-USB-TINY用のドライバをもらってくる
こいつの中の人はFT2232なので,FTDIのwebサイトからドライバをもらってきましょう.
こいつのインストールは手動でやんなきゃいけなくて,arms22さんのブログ記事
『MacOSXでFTDIのBit-Bangモードを試す@なんでも作っちゃう、かも。』
を参考にインストールしましょう.
FTDIのチップはVCP(Virtual COM Port)でとっても有名なのですが,今回使用するのはBit-Bangモード用のドライバで,VCPのドライバとは別物です.注意してください.
インストールには管理者権限が必要で,終了したら再起動を求められます.
・MacPortsでarm-elf-gccをインストール
こっからがUNIX系OSの本領発揮ですね.
ターミナルから
sudo port install arm-elf-gccでいっちょあがり,と.
関連するアプリケーションもまとめてインストールされるので,楽チンです♪
ほんでー,インストールされたarm-elf-gcc達は/opt/local/bin/下にいるんですがー,ナゼかバージョンが後ろについてましてー.arm-elf-gcc-4.3.2みたいになってるんですよ..この後ろの"-4.3.2"の部分はシコシコと手作業でとりました.gdbのインストール時とかにチェックされてるんで,取らないとマズいかなーって.
これ,ゼッタイ他にやり方あるよな..
・MacPortsでopenocdをインストール
ターミナルから同様に
sudo port install openocdでいっちょあがり,と.
バージョンとかとりあえず気にしない♪動けばそれでいい.
・Eclipseのインストール
本家ダウンロードページから「Eclipse IDE for C/C++ Developers」をインストール.この辺は他のサイトにとっても詳しくのっていると思うので,そちらをどうぞ参考に.
私はJava用のが既に入っていたので,Help => Software Updatesから「Eclipse C/C++ Development Tools/Platform」を追加しました.
細かい設定は『ARM LPC2388 開発環境構築方法』参照.
・Zylin Embedded CDTのインストール
Eclipseのプラグインなので,Help => Software Updatesのサイトに,「http://opensource.zylin.com/zylincdt」を追加すればいいだけのはずなんだけど,なんか「そこには何もないぜ」ってエラーが出た.
かなり困ったんだけど,Refreshってボタンを押したら,インストールできるようになった.謎.
これも,細かい設定は『ARM LPC2388 開発環境構築方法』参照のこと.
・arm-elf-gdbのインストール
これはどーしよーもなかったのでソースからコンパイル.
入手場所はこちら.最新バージョンをどっかにダウンロードしてきて,
tar xvfz gdb-6.8.tar.gz
cd gdb-6.8
./configure --target=arm-elf --prefix=/opt/local/arm-elf/ --enable-language=c,c++ --with-cpu=arm7tdmi --disable-werror
sudo make
sudo make install
・テスト
ZUSさんの『ARM LPC2388 開発環境構築方法』から動作確認用のSampleプロジェクトをもらってきて展開しておく.
Eclipseのworkspaceはどこに設定してもいい.
File => New => C Project (ない場合はOthersから選ぶ)で適当な名前をつけてプロジェクトを作ったら,そこに展開したSampleプロジェクトの中身を全部入れる.
私の場合,システムのデフォルト文字コードをUTF-8に設定しているので,Sampleプロジェクト内のコードは文字化けしていた. Eclipse => Preference => General => Content Types => Text => C Source FileのDefault encodingをShift_JISに設定してUpdateかけると直る.
makefileを開いて,ビルドパスを
# Define programs and commands.
SHELL = sh
CC = /opt/local/bin/arm-elf-gcc
AR = /opt/local/bin/arm-elf-ar
OBJCOPY = /opt/local/bin/arm-elf-objcopy
OBJDUMP = /opt/local/bin/arm-elf-objdump
SIZE = /opt/local/bin/arm-elf-size
NM = /opt/local/bin/arm-elf-nm
SHELL = sh
CC = /opt/local/bin/arm-elf-gcc
AR = /opt/local/bin/arm-elf-ar
OBJCOPY = /opt/local/bin/arm-elf-objcopy
OBJDUMP = /opt/local/bin/arm-elf-objdump
SIZE = /opt/local/bin/arm-elf-size
NM = /opt/local/bin/arm-elf-nm
こんなかんじに修正.
これでビルド通るはず.main.elfができる.これを焼き込む.
Eclipseのgdbの設定も『ARM LPC2388 開発環境構築方法』まんま.あ,GDB Debuggerだけはarm-elf-gdbになってる.
そんで,Initializeコマンドもまんまなんだけど,ブラウザからコピペしたら余計な改行コード(たぶんLF)が入っちゃって,openocdがうまく動かなかった..これ,実は原因に気づくのにけっこう時間かかった..
あと,openocd.cfgの中のjtag_speedを大きくする.40ぐらい(適当).
さて,設定できたらつなぎます!が!
FTDIのチップでVCPのドライバを入れてる人は,ARM-USB-TINYをコンピュータに接続したとき,そっちのドライバが有効になってるかもしれません.VCPとD2XXは共存できないので無効化しましょう.その方法は『MacOSXでFTDIのBit-Bangモードを試す@なんでも作っちゃう、かも。』を参照.これも原因特定に時間かかったなぁ・・
ls /dev/*.usbserial*で何か出てきちゃう人は,おそらくVCPが動いてマス.
とっても色々なサイトにお世話になりました.ありがとうございます.
あと参考文献.
トラックバックURL
この記事へのトラックバック
1. [電子工作] Interface 2009年5月号 付属ARM基板@Mac [ ブログとネットショッピングのlightCafe ] June 09, 2009 22:04
Interfaceの2009年5月号の付属基板としてNXP-ARM-LPC2388がついていました。
ARMでの開発は自身、仕事上で行うこともあるのですが、なかなか遊びではできないので、自宅での工作用として購入。...
2. [電子工作] Interface 2009年5月号 付属ARM基板@Mac [ Espressivo ] February 02, 2012 22:33
Interfaceの2009年5月号の付属基板としてNXP-ARM-LPC2388がついていました。 ARMでの開発は自身、仕事上で行うこともあるのですが、なかなか遊びではできないので、自宅での工作用として購入。 いろいろと先駆者の方たちの記事を参考にMacでEclipseとGCCを使用したARM7TDMI-S
この記事へのコメント
1. Posted by zus April 14, 2009 22:50
はじめまして、zusと申します。
Macでの開発環境の構築はとても参考になりました。
こちらのブログはリンクフリーとのことでしたので
早速リンクさせて頂きました。
Macでの開発環境の構築はとても参考になりました。
こちらのブログはリンクフリーとのことでしたので
早速リンクさせて頂きました。
2. Posted by yoneken April 14, 2009 23:23
>>zusさん
はじめまして!yonekenです.
zusさんの記事,とても参考になりました.
私だけではとても環境を整えることはできませんでした.
リンクありがとうございます.
今後ともよろしくお願いします.
はじめまして!yonekenです.
zusさんの記事,とても参考になりました.
私だけではとても環境を整えることはできませんでした.
リンクありがとうございます.
今後ともよろしくお願いします.


