RISC-V RTOS-enabled multi-core SoC using Wishbone4 Interconnect.

Joined July 2012
Bootloader operational! 🚀 In this OrangeCrab example, the bootloader is baked into the bitstream, while the CoreMark app is loaded from SPI flash.
1
2
160
🤖 Made with AI
30
164
21
1,108
23,972
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.
1
109
Bootloading from spiflash
1
54
Bootloading from an SD card MBR partition, with Device-Tree-Blob data passed through register a1
26
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.
1
1
169
I also added a bare-metal SD-card test app for both throughput benchmarking and data integrity testing.
1
142
Performance is CPU-bound: overclocking the CPU from 100 MHz to 200 MHz gives following results
35
- The old controller let timed writes complete before the card fully received/programmed the block, likely explaining figures above 50 Mbps.
1
16
- Its SWAP command double-buffered writes, so timing measured only the CPU side, not the card programming time.
12
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.
1
1
378
I have a plan now, but I’m having Kimi-K3 and DeepSeek-V4-Pro review it. It’s amazing to watch them find improvements to Claude’s plan.
2
314
rv32-artya7100 block diagram using @enjoy_digital chamfered-box style:
4
297