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.
- Can you build the software at all?
- Can you run the software on anything?
- Can you build the software with RTEMS?
- 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:
- Integrate directly in tree through
contrib?
- 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:
-
Successfully built Microvium on the host (Linux) and restored a snapshot in C, confirming the engine works natively.
-
Built the RISC-V (rv32imac) BSP for RTEMS and verified it runs correctly on QEMU virt machine.
-
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.
-
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.