極小Java VM(Nano VM)の開発環境環境を構築する ~Windows編~
前回の日記 に引き続きNano VMです。
繰り返しですが、Nano VMについて少し説明しておきます。
no VMはAVR 8ビットCPUで使用できる極小Java VMです。
ROM 8k RAM 768 EEPROM 512というマイコンでも使用できるようなので驚きです^^
Nano VMの情報はこちらからどうぞ(本家)↓↓
http://www.harbaum.org/till/nanovm/index.shtml
前回はubuntuで環境を構築しました。
こちらは割りと難なくできましたが、Windows環境は少々癖がありました。
~PC環境~
マシン:Vaio Type-T centrino 1.06GHz RAM 1.5GB
OS:Windows XP Pro SP3
既にWinAVR環境が構築済み
JAVA環境はJDK6(jdk1.6.0_14)がインストール済み
~手順~
1.Nano VMのダウンロード及び展開
ダウンロードサイト(http://sourceforge.net/project/showfiles.php?group_id=181239&package_id=209853 )からnanovm-20070707.zip をダウンロードして、任意の場所に展開します。
2.RXTXのダウンロード
http://www.ouravr.com/bbs/bbs_upload298762/files_8/ourdev_182773.zip
からダウンロードして、展開
RXTXcomm.jarをJREのBINディレクトリへコピー
(私の場合D:\Program Files\Java\jdk1.6.0_14\jre\lib\ext)
rxtxSerial.dllをJREのlib/extディレクトリへコピー
(私の場合D:\Program Files\Java\jdk1.6.0_14\jre\bin)
3.WinAVR (WinAVR-20071221-install.exe)をダウンロード及びインストール
インストール時には環境変数を弄らないようにチェックを外しておいてください
また20071221はV4.2.2ですが、V4.2系でないとビルドが成功しないのでご注意ください!
今後調査しないといけないですね^^;
4.設定
ubuntuならここの段階でビルドできるのですがWindowsの場合、もうちょっと手間がかかります。
4-1.PREFIX
もともとWinAVRを使っていたために今回V4.2は環境変数へ追加しないようにしました。
ですのでビルド時にPREFIXを使ってV4.2のavr-gccを指定します。
ビルド対象のMakefileを編集します。例えばasuroならなのvm\vm\build\asuro\Makefile
12行目のPREFIXを
PREFIX = C:/WinAVR-20071221/bin/
とします
また他にPREFIXに対応していない部分を修正
40行目
$(PREFIX)avr-size -A $@
72行目
$(PREFIX)avrdude ・・・(省略)
4-2.CLASSPATH
Windows環境の場合CLASSPATHをmakeファイル内で”:”でも”;”(*1)でも区切れないようです。環境変数に設定するのも気持ちが悪いので4-1でのMakefile側で吸収する方法をとります。
例えばasuroならなのvm\vm\build\asuro\Makefile
17行目に下記を追加
CLASSPATH = $(ROOT_DIR)/java;$(ROOT_DIR)/java/examples
これにあわせてvm\src側のMakefileも修正
21行目 -classpathオプションを削除
javac $(ROOT_DIR)/java/examples/$(DEFAULT_FILE).java
26行目 -classpthオプションを削除
javac $(ROOT_DIR)/java/examples/$*.java
*1:srcディレクトリのMakefile内の記述
javac -classpath $(ROOT_DIR)/java:$(ROOT_DIR)/java/examples
の文で”:”(コロン)で二つのパスを繋げていますが、Windowsはパスの連結を”;”(セミコロン)でつなげるため正しくCLASSPATHが通りません。ここの記述を”;”(セミコロン)に変えてしまうと今度はmakeファイルが処理適切に出来なくなるというトラップがあります![]()
さぁて、これでビルドできる状態になりました。あとはubuntuと同様にビルドの確認をします。
試しにAsuroをビルドしてみます。
>cd nanovm/vm/build/asuro
>make
↓↓ビルド結果
どうでした?無事ビルドできましたか?


