Bootloader operational! 🚀
In this OrangeCrab example, the bootloader is baked into the bitstream, while the CoreMark app is loaded from SPI flash.
Also coming in the next release:
I added SPI flash support for all supported FPGAs, enabling larger apps beyond the 256 KB block RAM limit found on most of them.
I am also developing a bootloader to load apps from SPI flash or an SD card, which will restore Linux boot support.
Coming in the next release:
Last week, I redesigned the SD-card controller, moving it from hardware to software.
This makes it easier to enhance with multi-block operations for faster transfers.
The new design supports SPI or 4-bit SD mode and uses 70% fewer hardware resources.
I also added a bare-metal SD-card test app for both throughput benchmarking and data integrity testing.
- The old controller let timed writes complete before the card fully received/programmed the block, likely explaining figures above 50 Mbps.
I’m working with Claude to add GDB `load` support to the underLineOS GDB stub, turning it into a binary loader as well.
This means switching programs will no longer require the expensive bitstream regeneration and flashing cycle.
rv32-artya7100 block diagram using @enjoy_digital chamfered-box style:
Release 20260807
github.com/fontamsoc/ftpu/co…
Release 20260726
github.com/fontamsoc/rvpu/co…
Find the updated underLineOS API reference guide at:
fontamsoc.github.io/underLin…









