Version 5 (modified by 9 years ago) ( diff ) | ,
---|
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ツールチェーンのインストール
バイナリのインストール
- GCC ARMのサイトからインストーラをダウンロードすることができます
- Mac用バイナリをダウンロードしてください
- 動作確認済バージョン:gcc-arm-none-eabi-4_8-2014q3-20140805-mac.tar.bz2
- 上記パッケージを解凍し,適当なディレクトリに配置したあと,gcc-arm-none-eabi-4_8-2014q3/binにパスを通してください.
ソースコードからコンパイル
- 下記のとおりビルドしたものでは,スタンドアローン版はmakeできることを確認していますが,動的ローディング用モジュール版はmakeできることを確認していません.
- 下記はビルドに成功した一例であり,このとおりに実行してビルドできることを保証するものでなく,下記以外の方法でもビルドできる可能性があります.
- ライブラリ(gmp,mpfr,mpc,iconv)を port でインストール
- mentor graphicsのウェブサイトからarm-none-eabiのツールチェーンのソースコードをダウンロードし,解凍する
- 「codesourcery arm gcc」などでgoogle検索
$ tar xvjf arm-2014.05-28-arm-none-eabi.src.tar.bz2
- ツールチェーンのインストールディレクトリを作成し,パスを通す
$ mkdir /usr/local/arm-none-eabi_140528 $ export PATH=/usr/local/arm-none-eabi_140528/bin:$PATH
- binutilsのmake
$ cd arm-2014.05-28-arm-none-eabi $ tar xvjf binutils-2014.05-28.tar.bz2 $ cd binutils-2014.05 $ mkdir work $ cd work/ $ ../configure --prefix=/usr/local/arm-none-eabi_140528 --target=arm-none-eabi --program-prefix=arm-none-eabi- $ make $ make install
- gccのmake(上からの続き)
$ cd ../.. $ tar xvjf gcc-2014.05-28.tar.bz2 $ tar xvjf newlib-2014.05-28.tar.bz2 $ cd gcc-4.8-2014.05/ $ mkdir work $ cd work/ $ ../configure --prefix=/usr/local/arm-none-eabi_140528 --target=arm-none-eabi --with-newlib --with-headers=../../newlib-2014.05/newlib/libc/include --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-libiconv-prefix=/opt/local --disable-nls --disable-shared --disable-libmudflap --disable-libssp --disable-libgomp --with-gnu-as --with-gnu-ld --disable-initfini-array --disable-threads --disable-bootstrap --enable-multilib --enable-languages=c,c++ $ ln -s /path/to/newlib-2014.05/newlib/libc/include/ /usr/local/arm-none-eabi_140528/arm-none-eabi/include $ make $ make install $ rm /usr/local/arm-none-eabi_140528/arm-none-eabi/include
- newlibのmake(上からの続き)
$ cd ../.. $ cd newlib-2014.05 $ mkdir work $ cd work/ $ ../configure --prefix=/usr/local/arm-none-eabi_140528 --target=arm-none-eabi --enable-interwork --enable-multilib $ make $ make install
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
- ※デバイス名は変わる可能性があります.
Attachments (1)
-
mkimage
(17.7 KB
) - added by 9 years ago.
u-boot-1.1.4 のソースコードから作成した mkimage
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.