MicroEJ Workbench:
A full set of tools for device software development

Eclipse-based MicroEJ Workbench

MicroEJ Workbench, included in MicroEJ SDK, is a full set of tools, built on Eclipse, for device software development. It runs on the device software developer’s host. MicroEJ Workbench gives everything required to build the custom MicroEJ OS and firmware that can be flashed to devices.

It provides an Integrated Development Environment (IDE) built on Eclipse for Java, C and C++ programming. The OS Builder allows to create a custom OS that fits the HW capabilities and deliver the required SW services. The Application Tools allow to create resident applications in Java – with potentially a touch and Graphical User Interface (GUI). The MicroEJ OS and resident applications can run on the host Simulator that simulates the target hardware and its inputs/outputs. To allow third-party developers to write applications for their device, device manufacturers can use the Virtual Device Builder to create a specification of their real device (called a “virtual device”) and publish it to a MicroEJ Application Store.

MicroEJ Workbench IDE allows to edit Java and C++/C code, manage projects, and launch executables and tools. It provides an integration to any target C/C++ toolchain such as ARM Keil MDK, IAR Embedded Workbench, or Eclipse CDT/GNU GCC.

MicroEJ Workbench & MicroEJ SDK

A complete set of tools

MicroEJ Workbench also provides specific test and optimization tools:

  • Code Coverage Analyzer: creates a report from code coverage files generated by the simulator
  • Test Suite Engine: executes automatically a set of unit tests on hardware or on the simulator and creates a JUnit report and an HTML report
  • Stack Trace Inspector: replaces symbols from embedded stack trace by method names and line numbers
  • Memory Map Inspector: displays the actual amount of memory required by an application, both flash and RAM usage, along with resources such as images, fonts, etc.
  • Heap Inspector: displays information of heap dumps, which can be generated at simulation stage. This tool allows analysis of each live instance contained in the Java heap at any specific time.

The MicroEJ Application Tools allow to develop MicroEJ applications and includes:

  • Java compiler and tools
    • Classpath Dependencies Analyzer: lists the dependencies (classes and methods) for a given Java library or application (jar)
    • MicroEJ C Header Generator: generates C headers file (.h) and implementation skeletons of Java native methods (useful when using SNI)
  • Java debugger
  • MicroEJ GUI Tools
    • Image Generator: converts image files (png, jpg, bmp, gif) into platform-specific format. The number of bits per pixels (bpp) can be customized.
    • Font Designer: used to build and edit MicroUI fonts. It stores fonts in a platform-independent format. Characters can be imported from desktop system fonts or from images. Both monospaced and proportional fonts are supported, as well as anti-aliased fonts.
    • Font Generator: converts MicroEJ fonts into a platform-specific format, customizes anti-aliasing level and selects the available characters.

The MicroEJ OS Builder allows to configure MicroEJ OS Core and Libraries and includes specific tools:

  • Java Linker (SOAR): MicroEJ SDK assumes that the final linker from the toolchain uses the ELF format for input files. Because the Java compiler generates unlinked binary code, MicroEJ SDK includes a generic smart linker, brand named SOAR, which links the binary Java code and produces an ELF file that can be linked with any other ELF file produced by any other tool.
  • Front Panel Simulator Designer: allows the creation of a simulated view of the control panel (“front panel”) of a target device. A set of standard widgets is supplied, which the user can lay out on the panel, using images that exactly replicate the final hardware. The completed panel is exported to a virtual device and replaces the real front panel when the application is executed on the simulator.

Contact us, we are here to help!

Contact Sales Team Contact Product Support

Back to Top