TECHNOLOGY

MicroEJ Virtual Execution Environment

MICROEJ VEE features the MEJ32 32-bit software processor and a smart memory usage optimizer. VEE is the only known trusted Virtual Execution Environment capable of running on any chip starting as low as $1 unit price (MCU, MPU, SoC & modules). VEE is compatible with all processor architectures available on the market (ARM Cortex-M/A, Renesas RX and V850, MIPS, Infineon Tricore, x86, Tensilica Xtensa, etc.).

VEE runs on any OS/RTOS commonly used in embedded systems (FreeRTOS, QP/C, ucOS, ThreadX, mBed OS, Mbed OS, VxWorks, PikeOS, Integrity, Linux,…) and can also run without RTOS (bare-metal) or proprietary RTOS.

It supports C tool chains such as GCC, IAR, Keil and GreenHills.

Implementations on Real or Virtual Devices

TECHNOLOGY

VEE Implementations for Target Hardware

MICROEJ VEE implementations can run on a multitude of hardware and software combinations used for building embedded devices.

It offers support from the tiniest MCU core to the more complex multi-core SoC. MICROEJ VEE also leverages Abstraction Layers to simplify port of the foundation libraries on middleware commonly found in embedded systems such as Ethernet, Wi-Fi/BLE, HAL, File System and more.
 

TECHNOLOGY

VEE Implementations for Simulated Devices

MICROEJ VEE makes it possible to prototype electronic products on virtual devices, that reacts like a digital twin of the real device. These Virtual Devices include physical peripherals simulators called (peripheral) mocks.

Virtual Devices are commonly used to prototype, design, test, improve and maintain embedded applications even when the target hardware is not available.

 

Single Sandbox versus Multi Sandbox

TECHNOLOGY

MICROEJ VEE Single-Sandbox

MicroEJ Virtual Execution Environement makes it possible to build a monolithic embedded software organized in three separated layers to provide separation of concerns:

  • (1) BSP layer (drivers, RTOS/OS, low-level stacks,etc.)
  • (2) MICROEJ VEE secure container (MEJ32 and foundation libraries)
  • (3) Binary portable applications

The safe virtual layer provided by MicroEJ enables:

  • Safety and Security: reliability is enforced by design
  • No need of MMU (Memory Management Unit): MICROEJ VEE works on any SoC, MCU, MPU
  • Collaboration between different teams is enforced (hardware engineers, UX designers, graphic designers, drivers/BSP engineers, software engineers, etc.)

Choose what is best for your application and implement parts in C/asm/C++ and other part in Java/JavaScript etc. (UI, Cloud connectors, edge computing).

 

TECHNOLOGY

MICROEJ VEE Multi-Sandbox

MICROEJ VEE multi-sandbox is similar to any execution environment that power smart mobile devices (cellphone/tablets), with similar primary features, such as a a dynamic application loader or application life cycle management.

With a small footprint of 25KB in static memory (flash), a MICROEJ VEE multi-sandbox environment enables:

  • Dynamic updates during product life time
  • Modular design emphasizes separating the functionality of an application with independent, interchangeable modules (= applications): each module contains everything necessary to only execute one aspect of the desired functionality.
  • Modules are sand-boxed at runtime: bugs and malfunctions are localized and cannot jeopardize the full system
  • Modules are stored and distributed to teams as building blocks: binary tested, certified (no recompilation needed to run the module)
  • Use of trusted module/APP repositories, and trusted secure distribution means

API for Embedded Software Application Development
tools

MicroEJ API to Build Software Applications

Explore the largest standard open source set of APIs available for embedded applications engineers.

 

Explore

Embedded Systems Abstraction Layers

Tools

Abstraction Layers

MicroEJ’s Abstraction Layers ease port of foundation libraries on various Board Support Packages (BSP) usually provided by silicon vendors or OS vendors.

MicroEJ provides Abstraction Layers for each foundation libraries and examples for several underlying native libraries use.

Explore

How Can I Know My Hardware Is Supported?

MicroEJ offers plenty of MICROEJ VEE implementations for popular hardware architectures.
Follow the link below in order to find out if your hardware is supported and which MICROEJ VEE implementation is right for your project according to your processor core architecture and C tool chain.

Supported Architectures

Embedded Development Get Started

Get Started

Get access to our featured starter kits to let you try and evaluate our technology for IoT applications.

Happy coding!

 

Get Started

Partners

MICROEJ VEE implementations have been created for many architectures and microcontroller families. MicroEJ has a strong relationship with many silicon vendors and technology providers in the embedded industry. MicroEJ VEE allows their hardware and products to shine by easing the creation of rich applications to meet our mutual customer’s needs.

NXP_Logo

ST_Logo

Renesas_logo

Murata_Logo

Sony_Electronics_Logo

Espressif_Logo

SiliconLabs_Logo