MEJ32 IP: The Virtual Software Processor for Embedded Systems

MEJ32 Light Virtual Processor for Embedded Systems

The Most Efficient Approach to Embedded Software Processing

MEJ32 is the core of all MicroEJ products. It is a virtual software processor designed to bring the flexibility and efficiency of software-defined architectures to embedded systems. By enabling a secure, portable, and high-performance execution environment, MEJ32 allows developers to write applications in Java, Kotlin, JavaScript, and C while ensuring optimal execution on resource-constrained hardware.

MEJ32 is build to be bug-free. Visit our Quality Assurance Webpage to find out more.

Key Benefits

Portable Across Architectures

  • Runs the same software stack across diverse hardware platforms without modification.
  • Supports multiple Instruction Set Architectures (ISAs), including ARM Cortex-M, Cortex-A, RISC-V, PowerPC, MIPS, and Xtensa.
  • Compatible with major C/ELF ABI standards (GCC, IAR, Keil, Clang).

Efficient Execution on
Embedded Devices

  • Optimized high-density instruction set for maximum performance.
  • Smart Memory Management Unit (Smart MMU) ensures automatic defragmentation and memory safety.
  • Preemptive and round-robin scheduling provides efficient and consistent multi-task execution.

Security & Code Verification

  • Built-in binary verification prevents unsafe or unauthorized execution.
  • Sandboxing mechanism isolates applications from system resources.
  • Trusted Application environment for secure embedded deployments.

Multi-Language Support

  • Supports Java, Kotlin, JavaScript, C, and Domain-Specific Languages (DSLs).
  • Seamlessly integrates multiple programming models into a unified software pipeline.

Key Figures

   MEJ32 SOFTWARE IMPLEMENTATION

  Core engine <30 KB of Flash
  TrustApp add-on (Multi-sandbox) <20 KB of Flash
  RAM footprint <1.5 KB
  Boot time <2ms
  SW Impl. RTOS stack size <1KB
  MultiLang IP stack size (without WASI libs) <3KB

How It Works

MEJ32 is a software-defined execution environment that sits between the application layer and the underlying hardware, providing:

1 Compilation & Verification

  • Java, Kotlin, and JavaScript applications are compiled into binary class files (.class, .jar).
  • C code is compiled into ELF object files (.o, .a).
  • Binary verification ensures compliance with runtime safety and memory constraints.

2 Efficient Linking & Deployment

  • The MicroEJ SOAR linker optimizes and merges executable components.
  • Generates compact, high-performance binaries ready for execution.

3 Optimized Execution Environment:

  • Automatic thread stack management for dynamic workload adaptation.
  • Deterministic and incremental garbage collection for memory efficiency.
  • Efficient use of hardware and hardware acceleration to minimize overhead.

Fastrack Embedded Development With MicroEJ

MEJ32 is part of MicroEJ’s CORE IPs portfolio, enabling lightweight virtualization, ecosystem creation, and multi-language support for embedded architectures.

To learn more about licensing and integration options, visit our MicroEJ Licensing Page.