French startup develops embedded Java machine for Cortex M microcontrollers

Technology News |
By eeNews Europe

MicroEJ has been developed by IS2T in Nantes and provides a runtime Java platform that includes a 28Kbyte Java virtual machine, an optional 10Kbyte RTOS, all necessary libraries to run an advanced graphical human-machine interface (HMI), and a fully functional simulated platform that allows fully debugged and tested binary code to be ported directly to any supported MCU.
The company’s MicroJvm Java virtual machine requires only 28 Kbytes of flash, less than 1.5 Kbytes RAM and has a boot time of just 2 ms at 120 MHz. A fully functional, advanced graphical HMI requires from 90 Kbytes to 140 Kbytes of memory program in total. A version optimised for the Cortex M microcontorllers from ST Microelectronics is currently being developed.
Prior to MicroEJ platforms, a typical Java Platform had a memory footprint as high as 5 Mbytes and processing requirements of at least 400 MHz, precluding it from use in resource-constrained embedded systems. Embedded engineers who needed to implement advanced HMIs, were restricted to the use of expensive, external dedicated GUI processors; cumbersome, difficult to use authoring tools that resulted in memory intensive applications, or by attempting to directly translate graphical components into existing C-routines, potentially compromising system reliability, performance and maintainability.
The Embedded MicroEJ platform includes the MicroJvm virtual machine, standard libraries such as B-ON + CLDC (core embedded Java API), MicroUI (embedded user interface), MWT (embedded widgets framework), NLS (embedded national support), runtime PNG image decoder, and graphical tools for the design of fonts, front panels and story boards. MicroEJ runtime can operate without an RTOS or on any RTOS, including Micrium’s uOS, Keil’s RTX or Segger’s EmbOS.
Board support packages will be available for a variety of vendor-specific evaluation boards.
The MicroEJ JPF simulator provides fully functional simulation of embedded Java platforms thanks to extensible options with mock objects (hardware or software) in order to provide full simulation capabilities with regard to the actual targeted hardware that may use special interfaces such as sensors, actuators and specific communication links. Applications may be prototyped in Java and tested on a simulated platform, independently from the device itself, thereby avoiding recoding associated with device availability issues or painful integration phases during application deployment. When the prototype is approved, the design can continue in Java until it is fully tested using the testing infrastructure provided by the simulated platform and the MicroEJ SDK. Once the application is ready, it can be deployed on the target using JTAG or other In-System-Programming systems.
These simulated platforms use the same software libraries, provide the same thread scheduling schemes and the same memory models so engineers know exactly how much memory will be required for application and can choose the most cost-effective MCU.
C or ASM drivers and application logic from existing applications can incorporate easily the MicroEJ JPF platform and use the new Java code while keeping legacy C code. SNI native interface library allows direct calls to C functions from Java, and allows Java methods to be called from C, including arguments of base-types such as integer or float, and arrays. SNI allows sharing of data between both worlds in a very efficient way that avoids intermediate buffers and wasteful buffer copies (note that DMA devices can also share data using a single buffer implementation).
For more advanced data and task decoupling, developers can use the ShieldedPlug interface. ShieldedPlug is based on publish/subscribe mechanisms with an event system and provides special and temporal decoupling between C and Java worlds.
The fully customizable MicroEJ platforms will be available for Cortex-M3/M4-based MCUs from IS2T at the start of December. The evaluation version will be available for download free of charge.
Fully configured development environments of MicroEJ will be available for STMicroelectronics Cortex M3/M4-based MCUs for $4,000 per seat (annual subscription, support & maintenance included). MicroEJ-based development environments to support other MCU core architectures from additional silicon vendors will be launched in the next 12 months, with similar pricing.


Linked Articles