Atmel Corporation and Industrial Software Technology S.A. announced what they claim is the industry's most integrated solutions to design Java applications for embedded systems.
Based on a cleanroom implementation of a Java Virtual Machine called MicroJvm, the first product of the MicroJvm family specifically targeted for AVR®32 cores offers a bare-metal virtual machine with a small memory footprint (65 Kbytes), a high speed engine (up to 3 times faster than common Java engines) and optimized software library bundles.
The new generation of processors such as the AVR32 AP7 series of application processors provide developers with more CPU performance at very attractive prices. As source code grows in size and becomes more complex, embedded developers are often looking for alternatives to the traditional C/C++ to reach higher software quality and better design productivity without sacrificing performance.
Fast execution and small memory footprint
The MicroJvm implements an off-device Java class loader and optimizer (SOAR) that optimizes bytecodes to reduce the application memory footprint and to dramatically improve its execution speed. Industrial Software Technology provides Garbage Collector implementations using state-of-the-art incremental and compacting collection algorithms to allow fine control of collecting activities and to keep memory compacted in order to accelerate data accesses and to reach realtime operation. Overall, applications running on MicroJvm are less than 15% slower than their C implementation counterparts and the application startup time is less than 50 ms when operating at 67 MHz.
Robust and reliable
Java is a safe language unlike C/C++ and subsets such as MISRA-C. The language is unambiguous, meaning result will not differ from a compiler to another compiler. Similarly, the Java Virtual Machine specification has not changed over the past decade, providing the required functional stability. The rich language semantic allows a large number of static checks and compiler can detect many errors at compile-time. Remaining potential errors such as outbound array accesses and stack overflows are detected at run-time by the Java Virtual Machine that also provides a complete support for exception management when actions from the application are required at run-time.
High software design productivity
Java language together with the virtual machine concept typically increases software productivity by a factor of five compared to C over the different phases of a system design (coding, maintenance and support phases). Java true object oriented capability offers a clear and easy-to-use object-oriented framework. The language semantic is robust and eliminates common programming mistakes and the virtual machine offload designers from complex tasks such as memory allocation and release. Java virtual machines also provide true hardware abstraction levels and make binary applications portable across different hardware implementations hence reducing maintenance costs. The true Object Oriented Programming property of Java drastically improves software scalability over time.
High performance AVR32 AP7 Series
The AVR32 AP7 series of application processors are an ideal target for Java technology because they perfectly suit applications requiring high network connectivity and smart graphical interfaces to design complex man-machine interfaces. Based on Industrial Software Technology MicroJvm virtual machines and a set of fully featured embedded libraries, it is now possible to efficiently design Java applications without sacrificing the high performance of the AVR32 AP7 core.
Development tools
Industrial Software Technology provides development tools for Eclipse™ to assist software designers to write Java applications for embedded systems using the AVR32 AP7 series. The MicroEJ™ SDK is dedicated to Java application developers and is available in different editions (Standard, Professional and Enterprise). MicroEJ SDK provides the means to optimize Java byte-code for the MicroJvm Virtual Machine, to statically analyze and profile Java applications and to debug Java programs on the Smart Software Simulator (S3) without embedded hardware or directly on targets at Java source level using JDWP Eclipse debugger.
MicroEJ SDK is available directly from Industrial Software Technology. The license fee for MicroEJ SDK is an annual enterprise level per-user fee including support and maintenance. The production license for MicroJvm run-time requires a per-device shipment agreement.
ERNI Electronics
Green Hills Software
Hammond Electronics
Infineon
International Rectifier
Pickering Interfaces
Silicon Laboratories
TTI
Vishay Intertechnology
XMOS Semiconductor