tags:

views:

847

answers:

5

There are a lot of Java embedded VMs. What do you suggest for ARM development?

http://www.cacaovm.org/
http://www.rtjcom.com/main.php?p=home
http://www.k-embedded-java.com/
http://jamvm.sourceforge.net/

I'm currently using the TINI platform from Dallas and works great (512 KB RAM and 1 MB flash), but now I need more power (memory and CPU).

+4  A: 

4 different VMs have been ported to Symbian OS, which runs on ARM cpus.

Sun's KVM, Sun's hotspot (or cldc-hi) VM, Sun's CDC VM and IBM J9 VM.

I suspect there are several more.

a good place to start your research would be the list of JavaME licensees:

http://java.sun.com/javame/licensees/index.jsp

QuickRecipesOnSymbianOS
A: 

Anyone has some experience in some of the following VM:

http://www.cacaovm.org/
http://www.rtjcom.com/main.php?p=home
http://www.k-embedded-java.com/
http://jamvm.sourceforge.net/
michelemarcon
+1  A: 

I have done some work the Dallas tini in the past so I think I know what you are looking for...? (maybe anyway :)

If you look at projects like Buildroot, you will find that jamvm is now included, I plan to try it out on a Atmel NGW100 (it is based on a AVR32 but it is similar to a ARM9). But there is a lot of other ARM9 projects that does nearly the same.

This idea is the same as with Android, first you let Linux take care of the lower layers and then you add a java vm on top and there you run your applications.

On the downside is that the Dallas tini was a more or less "ready" platform, you did not have do much magic to get it running. But this path will unfortunate require some work to get up to full speed. But on the good side you have a promise of a 200MHz 32bit CPU with 32Mb RAM and storage on a SD card that can easily store a couple of Giga Bytes :)

Good luck.

Johan
+1  A: 

My final choice is JamVM + GNU Classpath. Works great! :)

michelemarcon
A: 

There's also Java SE Embedded which supports ARMv5,v6,v7, be aware though that this is a full-blown Hotspot with C1 compiler.

ivant