Mac OSXでARM開発環境 (1)

ちょっとAVRじゃきつい案件2コきてるので
以前からARMも気になっていたのでまずは開発環境の構築にとりかかってます。

ARM Cortex-M3(STM32F103) + Olimex ARM-USB-OCD

まったく初めてなので、まずは確実に動くように(半)完成品で揃えてみました。

まずはARMボードの STBee
これめっちゃ安い!恐ろしく丁寧なドキュメント(win)もあるのでまずはこれを使ってみました。

JTAGには Olimex ARM-USB-OCD
FT232で自作もできるとのことですが、まずは完成品で確実に稼働できてからですね。
またFT232系だとMacでもドライバまわりが安心かなーということで。
またUSB経由で書込をおこなうDFUなどは使わず、最初からJTAGで書込しようと思ってます。

まずは
GCCのツールチェイン devkitARM
こちらの「SnowLeopardにSTM32(Cortex-M3)の開発環境を構築」を参考にして
devkitARMをおなじく /usr/local/ 以下へインストール(コピー)

こちらの SnowLeopardにSTM32(Cortex-M3)の開発環境を構築 を参考にさせていただきました。

解凍してできた devkitARM フォルダは
/usr/local/フォルダ内へ入れておきます。
パスは /usr/local/devkitARM へ通しておきます。

IDEは
Eclipse CDT
とりあえず32bit版をダウンロード

プラグイン関係は
日本語プラグイン
http://sourceforge.jp/projects/blancofw/wiki/nlpack.eclipse
こちらからNLpackja-eclipse-SDK-3.6M4-blancofw20091223.zipをダウンロード
eclipse/dropins/ 以下にnlpackフォルダを作り、その中に解凍されたeclipseフォルダを入れときました。

Zylin Embedded CDT

http://opensource.zylin.com/zylincdt

DSDPの
Target Managemant Terminal
作業対象からHeliosを選び
Mobile and Device Developmentにある Target Management Terminalをインストール

rxtx
作業対象に http://rxtx.qbang.org/eclipse/ を追加
最新版入れてもコネクションエラーとなってしまう。(現在も使えず 原因不明)

Hex Editor Plugin for Eclipse 2.3.x and 3.3.x

http://ehep.sourceforge.net/update

このへんは
ARM development on Macintosh (Japanese)

マイコン徹底入門 導入編
を参考にさせていただきました。

次はJTAG関係

Olimex ARM-USB-OCD
FTDIのサイトから VCPドライバ(現時点でver2.2.14)をダウンロード&インストール
これほぼデファクトなFTDIチップのドライバなので、Macでシリアルポート使ってたり、
Arduino使ってる場合はそもそもインストール済みのことがおおいです。
とりあえず最新版をインストールで。
ただ、こちらの openocd FTDI注意点
ARM development on Macintosh (Japanese)
にもあるように
JTAGのFT232はFTDI標準のドライバではなくlibftdiを使うので、FTDIドライバに先取りされない処置を施さないといけないようです。
こちらも参考にして
STM32 and the Olimex ARM-USB-OCD on a Mac

Olimex OpenOCD JTAG A 〜 を削除しください。
デスクトップなどへコピーして該当を削除、もとへ上書きすると、アクセス権のオーナーが自分になってしまうため

sudo vim /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist

などとして、直接書き換えたほうがいいです。
失敗するとロードできない旨のダイアログがでるので、ドライバを再インストールするといいと思います。
ターミナルで ls /dev すると

cu.usbserial-00004006B

みたいなに尻にBのだけがでてると思います。 (A側のは無効になってる)

次に
libftdi
http://www.intra2net.com/en/developer/libftdi/download.php
こちらより libftdi-0.18.tar.gz をダウンロード

cd /ibftdi-0.18/
./configure
make
sudo make install

デフォルトのインストール先は /usr/local/libです

つぎに
libusb

http://sourceforge.net/projects/libusb/files/libusb-1.0/

こちらより libusb-1.0.8.tar.bz2 (現時点の最新)をダウンロードし

cd libusb-1.0.8
./configure
make
sudo make install

libusb-compat

http://sourceforge.net/projects/libusb/files/libusb-compat-0.1/

libusb-compat-0.1.3.tar.bz2

cd libusb-compat-0.1.3
./configure LIBUSB_1_0_CFLAGS=-I/usr/local/include/libusb-1.0 LIBUSB_1_0_LIBS=”-L/usr/local/lib -lusb-1.0″ –prefix=/usr/local
make
sudo make install

ですが
/usr/local/include/libusb-1.0/libusb.hがコピーされずエラーになってしまいました。。
よくわからんので

cd /usr/local/include
sudo cp libusb-1.0/libusb.h libusb.h

とlibusb.hを一階層上にコピーしておきます。

次に
OpenOCD
これはリポジトリから最新版を落とします。
オモテでは0.4ですがgitから落とすと0.5でした。

http://sourceforge.net/projects/openocd/develop

にある
git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
でおとしてください。

cd openocd
./bootstrap
./configure –enable-maintainer-mode –prefix=/usr/local –enable-ft2232_libftdi
make
sudo make install

これでエラー無しだとOK
は〜〜〜。。

openocdはMacPortsからインストールしたもの(0.4)はどうやっても動きませんでした、
なのでリポジトリから落とした最新版でかつlibftdiを使う形でやっとこ動作。
openocdをビルドする際もlibusb,libftdiのライブラリや、ヘッダなどが必要なので
どうせならこれも最新のをビルドし直してやってみました。

つづく

Share on Facebook

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>