28Kbyte Java virtual machine supports 32-bit MCUs
MicroEJ provides a runtime Java platform that includes IS2T’s MicroJvm, 28Kbyte Java virtual machine, an optional RTOS (~10 Kbytes), 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 2ms at 120 MHz. A fully functional, advanced graphical HMI requires from 90 Kbytes to 140 Kbytes of memory program in total.
Emerged in 1995, Java has long been the preferred platform for graphical user interfaces (GUI), the internet of things (IOT), service oriented architectures (SOA), web and cellphone applications. Java consists of two components: the object-oriented Java language and a 32-bit 204 instruction set processor including a memory model manager. Java’s object oriented programming and independent virtual machine offer “program-once-run-anywhere” portability and scalability that enables engineers to better manage software complexity and to decouple hardware & software development design cycles through virtualization and simulation.
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 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.
Visit IS2T at www.is2t.com