Java dust: how small can embedded Java be?

Java is slowly being accepted as a language and platform for embedded devices. However, the memory requirements of the Java library and runtime are still troublesome. A Java system is considered small when it requires less than 1 MB, and within the embedded domain small microcontollers with a few KB on-chip Flash memory and even less on-chip RAM are very common. For such small devices Java is a clearly challenging. In this paper we present the combination of the Java compiler Muvium for microcontrollers with the tiny soft-core Leros for an FPGA. To the best of our knowledge, the presented embedded Java system is the smallest Java system available. The Leros processor consumes less than 5% of the logic cells of the smallest FPGA from Altera and the Muvium compiler produces a JVM, including the Java application, that can execute in a few KB ROM and less than 1 KB RAM. The Leros processor is available in open-source and the Leros port of Muvium is freely available.

[1]  John Daniels,et al.  Java™ on the bare metal of wireless sensor devices: the squawk Java virtual machine , 2006, VEE '06.

[2]  Martin Schoeberl Leros: A Tiny Microcontroller for FPGAs , 2011, 2011 21st International Conference on Field Programmable Logic and Applications.

[3]  Gerald Hempel,et al.  A resource optimized Processor Core for FPGA based SoCs , 2007, 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD 2007).

[4]  Martin Schoeberl,et al.  JOP Reference Handbook: Building Embedded Systems with a Java Processor , 2009 .

[5]  Martin Schoeberl,et al.  A Java processor architecture for embedded real-time systems , 2008, J. Syst. Archit..

[6]  Wolfgang Schröder-Preikschat,et al.  KESO: an open-source multi-JVM for deeply embedded systems , 2010, JTRES '10.

[7]  Andreas Krall,et al.  Efficient JavaVM just-in-time compilation , 1998, Proceedings. 1998 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.98EX192).

[8]  Martin Schoeberl,et al.  Embedded JIT Compilation with CACAO on YARI , 2009, 2009 IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.