How to Configure Fiji Virtual Machine

Prerequisites[edit]

To get checked out and up and running, your system will require:

  • A working JDK, version 1.5 or later
  • Ruby, version 1.8 or later
  • A C compiler (preferably gcc version 4 or later)
  • time
  • auto conf
  • Mercurial

On an Ubuntu or Debian system, you can install them by using apt-get command:

    sudo apt-get install build-essential default-jdk ruby time \
    autoconf mercurial gcc-multilib libtool

Obtain a free academic license[edit]

Fiji System Inc. provides a free academic license for Fiji VM via a mercurial repository. To access repo, please email outreach@fiji-systems.com.

Download Fiji Virtual Machine[edit]

hg clone ssh://hg@hg.fiji-systems.com/edu/buffalo/android/fivm-rtdroid

You will probably also want a 32-bit C compiler, if you are on a 64-bit system, as some features are 32-bit only. Once you have the prerequisites, run:

   cd fivm
   hg clone ssh://hg@hg.fiji-systems.com/fiji/testmake
   hg clone ssh://hg@hg.fiji-systems.com/thirdparty/oSCJ-v2.0-fiji scj

If you have difficulties to access mercurial repo, you can download source code here.

Alternatively, an OVA image is available at Fiji VM Inc., click here to download, it includes the latest release of Fiji VM that supports the latest release of RTDroid, and a turbine monitoring application. The image has been tested in both recent VMware (v9.0 or newer) and VirtualBox (v4.3).

Build Fiji virtual Machine[edit]

This will get you all of the required sources.

   autoreconf -i
   ./configure
   make

You can optionally run 'make check' to ensure that everything is working properly; it will take an hour or so on a fast system.

Add RTEMS Leon3 as target device[edit]

bin/add-target --host=sparc-rtems4.10 --rtems --rtems-build=<The directory you run CONFIGURE command> --bsp leon3

Usage of Fiji Virtual Machine[edit]

The Fiji VM compiler is bin/fivmc, and its basic usage is:

   bin/fivmc -o <outputfile> <classfiles>

It will take about 30 seconds to build a simple program on a fast machine. More detailed instructions, including some options you will likely want to set to speed up compilation, can be found in the README.