mirror of
https://github.com/LegitCamper/picocalc-os-rs.git
synced 2025-12-26 23:35:53 +00:00
d77320d445c0aa82278544e521eb1a209390be7e
PicoCalc OS (Rust)
A simple operating system for the Clockwork PicoCalc, written in Rust.
This project provides a minimal kernel, ABI, and user-space applications to experiment with OS development on constrained hardware.
Status
Basic synchronous applications are working great.
Current focus is on exanding applications and porting software, finding bufs in ffi, and making sure the kernel is as stable as possible.
Project Structure
kernel/– The core OS kernel (task scheduling, drivers, memory, etc.)userlib_sys/– FFI bindings for kernel syscalls - kernel ↔ userspace (Repr "C")userlib/– Rust wrapper on top ofuserlib_syspicolib/– Built withjust newlib, and provides libc symbols when linking with C librariesuser-apps/– Collection of userspace programs (gif player, wav player, calculator, snake, etc.)
Features
- Minimal Rust-based kernel targeting the PicoCalc
- Custom ABI for Mostly safe communication between kernel and applications
- Support for multiple user-space applications
- Hardware drivers tailored for the PicoCalc( Audio, Display, Keyboard, ans Storage )
Getting Started
git clone https://github.com/LegitCamper/picocalc-os-rs.git
cd picocalc-os-rs
just userapps
# copy the build applications from target/thumbv8m.main-none-eabihf/release-binary/application to the sdcard and rename them to app.bin
# has builds for the official rp2350 board and the pimoroni2w board
just kernel-release rp235x # keep in mind that https://github.com/StripedMonkey/elf2uf2-rs version is required until https://github.com/JoNil/elf2uf2-rs/pull/41 is merged
Languages
Rust
99%
Just
1%