Modules Overview

MicroEJ Architecture

MicroEJ Architecture features the MicroEJ Core Engine built for a specific instructions set (ISA) and compiler.

The MicroEJ Core Engine is a tiny and fast runtime associated with a Scheduler and a Garbage Collector.

MicroEJ Architecture provides implementations of the following Foundation Libraries :

  • EDC: Embedded Device Configuration.
  • BON Beyond Profile (see [BON]).
  • SNI Simple Native Interface ([SNI]).
  • SP Shielded Plug ([SP]).
  • KF Kernel & Features ([KF]).

The following figure shows the components involved.

MicroEJ Architecture Runtime Modules: Tools, Libraries and APIs

MicroEJ Architecture Modules

Three Low Level APIs allow the MicroEJ Architecture to link with (and port to) external code, such as any kind of RTOS or legacy C libraries:

  • Simple Native Interface (see [SNI])
  • Low Level MicroEJ Core Engine (see LLMJVM)
  • Low Level Shielded Plug (see LLSP)

See MicroEJ Architecture Import for usage.

MicroEJ Packs

On top of a MicroEJ Architecture can be imported MicroEJ Packs which provide additional features such as:

Each MicroEJ Pack is optional and can be selected on demand during the MicroEJ Platform configuration step.

Process Overview

This section summarizes the steps required to build a MicroEJ Platform and obtain a binary file to deploy on a board.

The following figure shows the overall process. The first three steps are performed within the MicroEJ Platform builder. The remaining steps are performed within the C IDE.

Overall Process

Overall Process

The steps are as follow:

  1. Create a new MicroEJ Platform configuration project. This project describes the MicroEJ Platform to build (MicroEJ Architecture, metadata, etc.).
  2. Select which modules provided by the MicroEJ Architecture will be installed in the MicroEJ Platform.
  3. Build the MicroEJ Platform according to the choices made in steps 1 and 2.
  4. Compile a MicroEJ Application against the MicroEJ Platform in order to obtain an application file to link in the BSP.
  5. Compile the BSP and link it with the MicroEJ Application that was built previously in step 4 to produce a MicroEJ Firmware.
  6. Final step: Deploy MicroEJ Firmware (i.e. the binary application) onto a board.