Java development using MicroEJ
MicroEJ
is dedicated to Software Engineers to prototype, design,
implement and test Java applications for embedded systems.
MicroEJ SDK provides all the tools to prototype, design and test Java applications for a given application plateform.
The SDK can be extended with additional features provided by special packs.
Source Code Edition & Compilation
MicroEJ is fully integrated to Eclipse and Java source code can be edited using the standard Eclipse JDT.
Simulation & Debugging
Java binary code can be exercized within Eclipse by executing the code on the Simulated Java Platform (SimJPF). A SimJPF provide a simulated platforms functionaly identical the its Embedded Java Platform (EmbJPF) counterpart. Special on-board peripherals that are not available from desktop workstations are emulated with mocks in either software on hardware. See Java Platforms for more details on SimJPF and EmbJPF definitions and usage.
Binary Deployment
Once the Java application is fully tested, the binary code can be deployed on the target using programming means such as JTAG programmers or standard ISP systems over USB, Ethernet, etc.
No special effort is required for the software application integration because applications can be validated independantly from the hardware platform (see Drag 'Emb Drop™ concept for more details).
The MicroEJ Eclipse Workbench is an Eclipse plugin that allows the user to design Java applications for embedded Java Platforms with Eclipse™
Java Platform Installation
Once installed as a normal Eclipse plugin, MicroEJ Eclipse Workbench extends Eclipse with MicroEJ dedicated menus to easily manage Java Platforms
Configure a Generic Platfom
Although generic platforms are designed for specific hardware, specific configuration settings are possible in order to easily alter the platform to meet custom-made hardware.
Modifications can deal with button, joystick and LED configuration but also communication interfaces such as USARTs.

Launch Embedded Java Applications
MicroEJ Eclipse Workbench provides dedicated launch configuration to define different ways to launch the Java application: run a the simulator, program and run on target, perform test coverage analysis, etc.

JPFs feature standard APIs, dedicated customers APIs on demand, and specific IS2T APIs.
RTOS Integration
IS2T provide many RTOS integration solutions depending on the application requirements and the RTOS capabilities. IS2T Java platforms are RTOS agnostic and can support ay kind of OS such as 3rd Party or home-made custom implementations. IS2T also provide its own RTOS called IceOS™
Baremetal solutions provide the most integrated solution: the RTOS is tighly coupled to the MicroJvm® to provide the best execution performance. The baremetal solution is native thread based implementation: Java threads and native (C world) are scheduled identically by the RTOS.
Non baremetal solutions provide a MicroJvm isolated from the rest of the native application since it is based on the green-thread implementation. The Java tasks are scheduled by the MicroJvm virtual machine which is scheduled by the RTOS.
Special Features
IS2T can provide several types of Java platform implementations such as soft real-time, hard real-time, transactional platforms.
Java platforms can also be customized for special cases on requests.
BSP Support
A JPF is usually dedicated to a given BSP and can provide access to available hardware resources such as:
- Communication channels
- USART, USB, Ethernet, etc.
- User interfaces
- Buttons, LEDs, keyboards, LCD including touch and multi-touch, etc.
- Sensors & actuators
- Analog sensors (temperature, accelerometers), NFC devices, relays, etc.

