Time for Java in real-time embedded applications

A Java processor which will run real-time applications has been demonstrated by aJile Systems.
##CONTINUE##
Java has gained acceptance as an embedded platform, where it is offered as an alternative to embedded Linux and Windows CE/MF, particularly in industrial applications requiring internet connections.

The main problem has been Java’s complexity and the need to translate code before it will run on an x86 processor.

As a Java direct-execution processor, the aJ-102 executes Java bytecode natively instead of via an interpreter.

This differentiates the aJile processor from ARM or Intel cores, which require that Java is translated into an intermediate machine language before running. It can also lead to processing speed and power savings.

Real-time operating system

Another interesting feature is a ­real-time operating system (RTOS) written entirely in Java. No third party software licence is required.

The RTOS executes real-time Java threading primitives . This has clear benefits for context switching and interrupt handling, which are important for real-time operations.

The RTOS includes industry-standard OSGi middleware, JME APIs, network stack, file system, security framework, a suite of software drivers, and a real-time kernel, which the developer said can simplify the development of applications.

The most likely embedded applications for the Java processor will be in edge controllers, such as in industrial control, or home automation systems that communicate over the internet in real time from remote nodes to a central server.

“Application developers can create secure, re-usable software in a single language that operates on all platforms throughout the enterprise,” said California-based aJile.

The processor, which is fabbed on a 180nm CMOS process, uses a patented multiple JVM (Java Virtual Machine) design that creates a hardware firewall between multiple Java applications running concurrently.

“This allows deterministic hard ­real-time applications to run independently and to safely co-exist with networked applications. This provides maximum security against viruses and other potential malware running on the network,” said the company.

The aJ-102 is a second-generation Java direct-execution processor. Based on aJile’s aJ-100 processor, the aJ-102 is a 32-bit Java-technology microprocessor that includes a micro-programmed real-time kernel.

It also integrates a digital signal processor, a 10/100 Ethernet controller, a USB OTG controller, a discrete encryption/decryption processor, LCD controller and various I/O ­options.

Java for flash MCUs

IS2T is another Java company developing platforms for industrial applications. IS2T is working with Atmel designing embedded Java applications for Atmel’s flash microcontrollers.

Specifically targeted for AVR32 UC3 microcontrollers, MicroJvm Java platforms offer embedded developers a small memory footprint, high-speed Java engine and optimised software library bundles.

Total memory requirements for a typical application with graphic LCD display and connectivity is 64kbyte of SRAM for data and 256kbyte of flash for program memory.

Java is also seen as an alternative to C/C++ in embedded designs because Java code is more easily reused. “Applications such as machine-to-machine, e-metering and home automation will benefit from reduced maintenance costs due to binary-level application reuse across different device hardware configurations and remote dynamic updates,” said IS2T.

-----------------------------
BY Richard Wilson
Source:ElectronicsWeekly.com

© 2009 Reed Business Information Limited. All Rights Reserved.

0 comments:

 

Copyright 2008-2009 Daily IT News | Contact Us