AddThis Social Bookmark Button

05 Java Approach

Usually developers consider Java as a programming language, but Java is a complete operating enviornment including some parts belong to OS. If you have experience of porting Java runtime to embedded system. You will find that RTOS is not a necessary requirement for porting Java.

 

Java Platform, Micro Edition (Java ME) provides a robust, flexible environment for applications running on mobile and other embedded devices—mobile phones, personal digital assistants (PDAs), TV set-top boxes, and printers.

 

 

 

 

Using Java SE for Embedded enables you to develop highly functional, reliable, portable and secure applications for today's more powerful embedded systems.

 

 

 

 

JavaOS. The project is aimed at creating an Operating System using JAVA as the core language. Although this may sounda bit absurd, in the long run this project will definitely be successfully completed with the help of more members.

 

 

 


JX is a Java operating system that focuses on a flexible and robust operating system architecture. The JX system architecture consists of a set of Java components executing on the JX core that is responsible for system initialization, CPU context switching and low-level domain management. The Java code is organized in components which are loaded into domains, verified, and translated to native code. Main-stream operating systems and traditional microkernels base their protection mechanisms on MMU-provided address space separation. Protection in JX is solely based on the type safety of the intermediate code, the Java bytecode.

 

Aplix Embedded Java. JBlend? meets these needs while providing a fast, compact and robust embedded software product that enables Java technology on resource constrained consumer devices. These reasons are why JBlend? has been so successful.

 

 

 




Embedded PERC 2.2 Java-compliant environment (Newmonics). Aonix, a decades-long industry leader in real-time and safety critical tools, and pioneer in Java platform technologies, has brought together these two strengths to meet the needs of today's mission critical developers. As a participant in the Java Community Process and a key contributor to the development of standardized RTSJ profiles for hard real-time and safety critical applications, Aonix is uniquely positioned to make this technology a reality.

 

 

simpleRTJ. A virtual machine with a small memory footprint aimed at embedded systems and real-time operating systems. Only a subset of Java is supported (e.g. no double type). The following processors are supported (according to the site): MC68302, MC68376/332, 68HC11, 68HC16, 8051, 8051XA, various ARM derivatives, H8S/2241, STi5512 (RISC set-top-box), DSP56300, and others. This is a commercial product. However, use of the VM is free for evaluation, educational and private use.

 

 

The TINI (Tiny InterNet Interface) platform is aimed at connecting devices from sensors to factory equipment to a network. The TINI virtual machine (for the TINI OS operating system) has a memory footprint of less than 40 KB. It offers only part of the runtime library: java.lang, java.io, java.net and java.util. The target chip is Dallas 8051 based iButton.

 

 

 

Jbed Micro Editon CLDC JVM (esmertec). The Jbed RTOS Package is a real-time capable Java Virtual Machine for embedded systems and Internet appliances. An entire application, including the device drivers, can be written in Java. Memory footprint starts at 10 KB. Runs on PowerPC 8xx, Motorola 68k family processors, ARM7TDMI, StrongArm and Coldfire. Intel and MIPS support are planned. Commercial. Demo available for download.

 

 

Kaffe -- an open source Java implementation (Transvirtual Technologies)The GPL'd Kaffe virtual machine and its runtime library are a cleanroom implementation (no dependencies on Sun). There is a very impressive list of supported platforms: Embedded Linux, VxWorks, LynxOS, SMX, ThreadX, Linux (all distributions), DOS, Windows NT 4.0, Windows 98, Windows 2000, Windows CE, Solaris, SunOS, BSDI, FreeBSD, NetBSD, OSF/1, Unixware, HP-UX, NextStep, OpenStep. Supported processors include ix86, Sparc, m68k, StrongARM, MIPS, Alpha, PowerPC and PARisc. Memory footprint is small, the VM can be used for embedded systems. The exact Java version is not specified, for a reference see the Kaffe Datasheet (PDF, 96 KB).
KaffePC is a virtual machine for DOS, based on Kaffe.
There is also a port of Kaffe to AtheOS (no AWT available).

 

VisualAge Micro Edition (IBM) These are runtime environments for embedded systems for Windows CE, QNX, Palm, Linux.

 

 

 

 

Waba -- an Open Source Java-like platform for small devices (Wabasoft)
A subset of the Java programming language's syntax, class file format and virtual machine, Waba is designed for embedded systems. Waba programs can usually run on a Java Virtual machine, but not vice versa. The VMs are available for PalmPilot and Windows CE devices.

 

 


Wonka -- an open source embedded JVM & class library (ACUNIA)
A clean-room implementation of a Java virtual machine for embedded devices, with emphasis on portability and efficiency. Available for Linux (x86 and ARM), distributed under a license similar to the GPL. The Acunia went out of the business. The link is talking about other sites for Wonka.

 

 

 

Google Android Mobile Phone Platform, most of the applications are developed upon Java VM with wider APIs.

 

 

 

 

Java for Lego RCX. leJOS is replacement firmware for the Lego Mindstorms RCX brick - a JVM that fits within the 32kb on the RCX. Yes, you can program a Lego robot with Java!
Resources

 

 

 

The source for Java Technology Collabration from Java.net.

 

 

 

 

 

This page from java-virtual-machine.net is supposed to give an overview of Java virtual machines (JVMs), Java development kits (JDKs), Java runtime environments (JREs) and related products.