nxtOSEKの開発環境を構築
環境: ubuntu12.04
1. Build and Install GNU ARM
NXTに搭載されているcpuはARM系なので、ARM用のコンパイラを用意する必要がある
$sudo apt-get install tk-dev ncurses-dev libmpfr-dev texinfo
built_arm_toolchainのインストール
適当なディレクトリを作って、スクリプトbuild_arm_toolchain.shをダウンロード、実行(時間かかる)
$sudo sh ./build_am_toolchain.sh
2. Set up nxtOSEK
NXTを対象とした開発環境のnxtOSEKのセットアップ
http://lejos-osek.sourceforge.net/download.htmから、バージョン2.17のnxtOSEKをダウンロード、解凍
2013.3.17現在: 最新版のnxtOSEK 2.18では、以降のサンプルプログラムのコンパイル時に、kernel_cfg.cが見つからないとエラーを吐いてとまってしまいます。2.17だとなぜかうまくいきます。
不足分の追加
従来含まれていたsg.exeが大人の事情(?)で同梱できなくなってしまったので、手作業で追加
参考:http://lejos-osek.sourceforge.net/download.htm
sg.exeを、さっきほどダウンロードしてきたnxtOSEKディレクトリ以下のtoppers_osek/sgに配置すれば良い
設定の変更
nxtOSEKディレクトリ以下のecrobot/tool_gcc.makを編集し、gnuarmの場所を指定する
# specify GNU-ARM root directory
ifndef GNUARM_ROOT
GNUARM_ROOT = /[absolute path to parent directory of gnuarm]/gnuarm
endif
確認テスト
$ cd ./nxtOSEK/samples_c/helloworld
$ export LC_ALL=C
$ make all
うまくいけば、helloworld.rxeが生成される
環境変数LC_ALLを変更しないと、wineがエラー吐いて止まる可能性が高いです。
以上で、「NXTに転送するプログラムを生成する」まで実現できました。
次は「NXTのファームウェアのアップデート」と「NXTへプログラムの転送」をやってみる、予定。。。
参考1: http://lejos-osek.sourceforge.net/installation_linux.htm
参考2: http://melodie-blue.cocolog-nifty.com/blog/cat4324123/index.html