Personal tools
You are here: Home Embedded gumstix Java Virtual Machine
Document Actions

Java Virtual Machine

by cmadonna last modified 2007-10-08 15:02

JAVA is a multi-platform programming language, so it would be great to have such a tool working on the Gumstix. There are two different ways to support JAVA on the GUMSTIX:

  • Native GCJ compiler - it is possibly to select to include this compiler while building buildroot revision, but it has a big problem which is that Gumstix needs the library libgcj and its big size - more than 8MB - and the lack of free space available at the Gumstix makes this compiler almost non-usable for Gumstices without a Compact Flash expansion card.
  • JAVA Virtual Machine - don't need the libgcj library and consequently require less space. It is possibly to install a version with no symbols (around 150K on PowerPC and 110K on Intel). Virtual machines on Gumstix:
  1. JamVM !
  2. Wonka
  3. Kaffe

To make JVM (in this case JamVM) working, one has to install jamvm, classpath and enable zlib . Then just copy Test.class file and run it using jamvm command:

JavaTest.jpg

Testing JVM


Filesystem image with JVM is about 10.8 MB, what with comparison with one without JVM - 3.5 MB - takes much space.

Dependencies:

  • classpath-0.93 ->
  • ----jikes-1.22.1
  • ----gtk+-2.10.9 ->
  • --------glib-2.12.9
  • --------pango-1.14.9
  • --------cairo-1.2.6
  • --------atk-1.9.1
  • --------tiff-3.8.2
  • ----GConf-2.16.1 ->
  • --------ORBit2-2.12.5 ->
  • ------------libIDL-0.8.7
  • jdk-6-linux-i586
  • jamvm-1.4.5

Installation:

  • jdk-6-linux-i586
self extracting binary file
  • classpath-0.93
CC=/usr/local/gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-gcc
./configure --host=arm-linux --disable-gtk-peer --disable-plugin --with-jikes
make
make install
  • jamvm-1.4.5
CC=/usr/local/gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-gcc
./configure --host=arm-linux
make
make install

References

http://www.cs.gmu.edu/~eclab/projects/robots/flockbots/pmwiki.php?n=Main.Java



Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: