banana slug Embedded Systems and Java at UCSC banana slug


Home Page

Current Projects

Embedding Jini

Java to native compiler

Previous Projects

Java Nanokernel

Embedded Java

Soft-Instructions

Java Network Camera

Other Info

People

Publications

Embedded Java

We are investigating the memory requirements and performance issues related to using Java in embedded systems. In March of 1998, JavaSoft released the EmbeddedJava specification. This specification allows almost complete freedom for subsetting Java APIs in embedded systems.

Prior to the release of the EmbeddedJava API, we had developed our own embedded Java system. As a first step in this process, we ported the Java virtual machine from Sun's JDK1.0 to two small systems built around chips from National Semiconductor, their CR32 and their NS486. The NS486 version has been operational on the Internet since mid-September 1996.

Part of the porting process was the creation of a new "thin OS" beneath the Java Virtual Machine. This thin OS, called "JN" for Java Nanokernel, is also being used as a test case for another project, Soft Instructions.

With that system, we could run simple Java programs with only 1 Mbyte of total system memory. We were able to implement JavaCam, a network enabled, Java programmable camera that could operate with 2MB of total system memory.

We have also ported the kaffe virtual machine for Java which includes a just-in-time compiler. Kaffe is freely available under the GNU Public License.

The JIT version is not fully functional at this time (14-July-1998), but should be shortly. This will allow us to compare the size-performance trade-off of a JIT versus an interpreted system in the context of embedded systems. Initial indications are that the JIT system dramatically increases the memory requirements.

We are interested in learning more about other Java related embedded processor work and establishing ties with other projects. If you have pointers or questions, please send them to charlie@cse.ucsc.edu.


Last modified: 06 Feb. 1997
maintained by Charlie McDowell / charlie@cse.ucsc.edu