No description
  • Rust 88.1%
  • Shell 10.5%
  • Linker Script 1.4%
Find a file
2026-11-13 15:03:40 +01:00
.cargo Initial Commit 2026-11-13 13:35:20 +01:00
src Improve look of the process table 2026-11-13 15:03:40 +01:00
.gitignore Initial Commit 2026-11-13 13:35:20 +01:00
build_flash.sh Add README + let Grok rewrite the build script 2026-11-13 14:17:30 +01:00
Cargo.lock Initial Commit 2026-11-13 13:35:20 +01:00
Cargo.toml Initial Commit 2026-11-13 13:35:20 +01:00
config.yaml Initial Commit 2026-11-13 13:35:20 +01:00
hss-payload-generator Initial Commit 2026-11-13 13:35:20 +01:00
linker.ld Initial Commit 2026-11-13 13:35:20 +01:00
README.md Fix: Typo in README.md 2026-11-13 14:18:19 +01:00

A RISC-V OS on the PIC64GX1000 Curiosity Kit

I grew tired of x86's huge amount of legacy code and pitfalls and bloatedness, so I wanted to look for a different architecture to explore. RISC-V was the logical choice: It's an open architecture, it's simple, and it's efficient. So I bought a PIC64GX1000 Curiosity Kit from Microchip. Why specifically this board? Because the PIC64GX1000 is a new and modern quad-core 64-bit RISC-V MPU that you can actually buy from distributors like mouser as a consumer. And since I also love developing hardware, this is pure gold. Eventually I want to design my own board around this MPU, but for now this board is the perfect (and only) way to test if my own software works on the actual hardware.

AI usage disclosure

I hate LLMs, specifically how they're used by most people, and how they're distributed and hosted by the big corporations we all know. They're incredibly frustrating to use (especially in the free tiers), often very stupid, and often do stuff you didn't ask them to do. But I still use them for productivity. Also here, in this repository. I try to keep AI generated code to a minimum, and I try to only use AI generated code that I understand or plan to understand. This is not vibecoded and will never be. If this still turns you off, I can fully understand that. But please note:

This is an experimental project for myself, that I work on in my free time

I do not guarantee any functionality or features that I will implement. My goal is to have a usable OS, but that is more of an ultimate goal, as I mainly just want to play around with this chip and see my software run on it, for the dopamine hit.

Current Features

  • Cooperative Scheduler, running on hart 1
  • Processes framework with IPC
  • Drivers as processes
  • Easy implementation of new processes

Missing / Planned Features

  • Multithreading
  • Preemptive Scheduler
  • Display output via HDMI
  • SD/MMC driver