MultiLang: Bridging Native & Managed Code in Embedded Systems

MultiLanguage Embedded Framework

Unlock the Power of Multi-Language Execution

MicroEJ’s MultiLang revolutionizes embedded software development by enabling seamless execution of C, C++, Java, Kotlin, and JavaScript code within the MICROEJ VEE software container. This core technology allows developers to integrate legacy and certified software stacks effortlessly while benefiting from modern managed code principles

Key Benefits

Run Multiple Languages in a Unified Runtime

  • Supports C, C++, Java, JavaScript, with future extensions for additional languages like Rust.
  • Enables cross-language interoperability, allowing applications to call functions across language boundaries seamlessly.
  • Optimized multi-threading and multi-heap support for efficient resource management.

Portability & Reuse

  • Managed code is platform-agnostic, running on any “Powered by MicroEJ” device, from MCUs to MPUs.
  • Works across different operating systems, including RTOS, Linux, Windows, and Android.
  • Enables sandboxed execution, ensuring safe integration of untrusted or third-party software.

Enhanced Security & Reliability

  • MicroEJ sandboxing ensure safe execution of legacy and modern applications.
  • Built-in binary verification prevents unsafe code from running.
  • Eliminates the risk of device failure due to defective or unverified software.

Bringing Linux Software to MCU-Based Systems

  • Seamlessly port Linux software to microcontroller-based systems powered by MicroEJ.
  • The MultiLang module extends MicroEJ’s capabilities with a WASI-compatible library, enabling C and C++ applications with Linux dependencies to run on resource-constrained devices with minimal effort.

How It Works

Unified Multi-Language Execution Model

MicroEJ’s MultiLang extends the capabilities of MicroEJ SOAR Linker, allowing applications to combine and execute bytecode (.class) and WebAssembly (.wasm) files in the same runtime environment.

Seamless Interoperability Between Languages

  • Managed-C API: Enables native C and C++ code to be called directly from Java.
  • WebAssembly ISA Integration: Native C and C++ code can be compiled into WASM and executed securely within the MicroEJ sandbox.
  • Multi-Threaded Stacks & Heaps: Ensures efficient memory allocation and isolation of different language environments.

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.