← back to projects

/// project

EGOS-2k+ Hardware Port

Ported EGOS-2k+ teaching OS to bare-metal FPGA

  • C
  • Operating System
  • FPGA
  • RISC-V
  • GDB
  • 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.
EGOS-2k+ Hardware Port · Shivu