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:
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.
@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.
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.
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.
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.