極小Java VM(Nano VM)の開発環境環境を構築する ~Windows編~ | 組込みとともに

極小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


組込みとともに-nanovm


前回は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系でないとビルドが成功しないのでご注意ください!

 今後調査しないといけないですね^^;


組込みとともに-WinAVR 20071221

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

↓↓ビルド結果


組込みとともに-build結果

どうでした?無事ビルドできましたか?