GSoC 2026: Port Microvium

Hi everyone,
I am Shubham Gupta, final year CSE undergrad having keen interest in emebedded systems.

I have already worked with application layer of RTOS with nrf52840 and STM32. Through the program I want to learn about low level programming.

I have already completed Getting Started task GSoC 2026: Introduction and Proof of Work -- Shubham Gupta

I am interested to work on Port Microvium.
Looking for guidance from potential mentors.

Thanks

Great! With any porting effot there are usually a few common considerations for planning the proposal.

  1. Can you build the software at all?
  2. Can you run the software on anything?
  3. Can you build the software with RTEMS?
  4. Can you run the software with RTEMS?

Answering these questions will help you to frame the proposal and to plan the work. Once you know how to do #1-4, then you can consider what is the best way to integrate the software with RTEMS. Here again there are a few choices:

  1. Integrate directly in tree through contrib?
  2. Integrate through a build recipe in RSB?

Hi @gedare,
Thanks for our support.
I was able to build the software and run it on my linux environment for now.
I generated a snapshot of basic .js file to give console output. Then restored the snapshot using C.

Attaching the screenshot of the output.

For next step, I am trying to test on a MCU development board/ QEMU emulator.

@gedare
I identified that SPARC/ERC32 is big-endian but Microvium assumes little-endian. Currently testing with RISC-V BSP as a workaround while investigating proper endianness support in Microvium port.

Do you have any suggestions upon this?

Hi mentors,
I was able to build and test Microvium on RTEMS using RISC-V BSP.

What I have done so far:

  1. Successfully built Microvium on the host (Linux) and restored a snapshot in C, confirming the engine works natively.

  2. Built the RISC-V (rv32imac) BSP for RTEMS and verified it runs correctly on QEMU virt machine.

  3. Ported Microvium to RTEMS by integrating microvium.c and microvium.h from the dist-c distribution into an RTEMS application, following the official Microvium getting-started guide.

  4. Successfully ran a Microvium JS snapshot on RTEMS/RISC-V (rv32imac) under QEMU, the VM restores from an embedded snapshot, resolves exports, and calls a JS function that prints to the RTEMS console.

The output on QEMU was:

I chose RISC-V (rv32imac) over SPARC/erc32 because Microvium’s snapshot format is little-endian, which avoids the endianness compatibility issues encountered with the big-endian SPARC target.

Next steps I am planning:

  • Explore integrating Microvium into the RTEMS contrib area
  • Look into the RSB build recipe approach
  • Finalizing the GSoC proposal

Happy to receive any feedback or suggestions from the mentors.

Thanks,
Shubham Gupta

Yes, if Microvium doesn’t work in big-endian, then that would be an area to improve Microvium itself. You should investigate that as part of your proposal.