= OS Xでの環境構築方法 = == 前提となる環境 == 予め以下のソフトウェアがインストールされているものとします。 * Mac OS X 10.8 * Xcode(App Storeからインストール) * macport == mkimageのインストール == * u-bootのソースを取得して解凍する * 動作確認したバージョンは,u-boot-1.1.6 {{{ $ wget ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.6.tar.bz2 $ tar jxvf u-boot-1.1.6.tar.bz2 }}} * toolsディレクトリ内でビルド * 参考:http://mwlab.net/2011/07/kurobox-make-mkimage.html * makeではうまくいかないので、下記のコマンドを順番に実行 * コンパイラは、clang ではダメなので,gnu gccを使用すること.clang しかインストールされていない場合には,macportsでインストールする(例:port install gcc43) {{{ $ cd u-boot-1.1.6/tools $ ln -s ../common/environment.c environment.c $ ln -s ../lib_generic/crc32.c crc32.c $ gcc -g -Wall -pedantic -idirafter ../include -DTEXT_BASE= -DUSE_HOSTCC -O -c mkimage.c $ gcc -g -Wall -pedantic -idirafter ../include -DTEXT_BASE= -DUSE_HOSTCC -O -c crc32.c $ gcc -Wall -pedantic -idirafter ../include -DTEXT_BASE= -DUSE_HOSTCC -O  -o mkimage mkimage.o crc32.o $ strip mkimage  }}} * makeしたmkimageをパスの通ったディレクトリに置く {{{ cp mkimage /usr/local/bin/ }}} == GNUツールチェーンのインストール == === バイナリのインストール === * [https://launchpad.net/gcc-arm-embedded/+download ​GCC ARMのサイト]からインストーラをダウンロードすることができます * Mac用バイナリをダウンロードしてください * 動作確認済バージョン:gcc-arm-none-eabi-4_8-2014q3-20140805-mac.tar.bz2 * 上記パッケージを解凍し,適当なディレクトリに配置したあと,gcc-arm-none-eabi-4_8-2014q3/binにパスを通してください. * ソースコードからビルドする場合は[wiki:DevEnvMac_gccbuild こちら]を参照ください(スタンドアローン版のみmakeできることを確認しています). == ev3rtの準備 == * ev3rt-beta2-release.zipをダウロードして解凍 {{{ $ unzip ev3rt-beta2-release.zip }}} * cfgのインストール * boostライブラリのインストール {{{ $ port install boost }}} * cfg のビルド {{{ $ cd hrp2/cfg $ ./configure --with-headers=/opt/local/include --with-libraries=/opt/local/lib --without-xml $ make depend; make }}} * アプリごとのMakefile(Makefile.app)を作成 {{{ $ cd workspace $ cp common/Makefile.app helloev3/Makefile.app }}} * make {{{ $ make app=helloev3 (動的ロードモジュール版の場合は, make mod=helloev3) }}} == bluetooth接続 == * EV3でアプリの実行を開始する * Mac内蔵のbluetoothを使用し,メニューバーのbluetoothアイコンから,「Bluetoothデバイスを設定」Mindsotrms EV3 を選択 * ピンコードを入力(デフォルトは0000)し,下記コマンドによりシリアル送受信を開始 {{{ $ screen /dev/tty.MindstormsEV3-SerialPor 115200 }}} * ※デバイス名は変わる可能性があります.