- Ported a ~ 2000-line RISC-V teaching OS from QEMU to bare-metal on a $25 FPGA board by restoring hardware earth layer drivers — UART, SPI, CLINT, MMU — against LiteX-generated CSR memory maps, achieving a working shell on hardware.
- Diagnosed a silent boot failure by instrumenting bare-metal assembly with direct UART register writes before C runtime initialization, tracing execution through RISC-V mcause exception codes across the FPGA bitstream, BIOS, and OS boot stages.
- Resolved a kernel binary overflow caused by a linker script misalignment inflating binary size from 43KB to 135KB, corrupting adjacent disk image slots; fixed by cross-referencing ELF section headers with disk offsets to eliminate the padding gap.
/// project
EGOS-2k+ Hardware Port
Ported EGOS-2k+ teaching OS to bare-metal FPGA
- C
- Operating System
- FPGA
- RISC-V
- GDB