a preemptive rtos
This project uses a Nix flake to manage dependencies and Buck2 to build.
You can drop into a development shell with nix develop, or if you have direnv enabled, run direnv allow.
You'll need to specify relevant configuration modifiers for your microcontroller.
You can find available configurations and constraints under /cfg and /constraints respectively.
For example, here's how you'd build sif for the rp2350a:
$ buck2 build --modifier sif//cfg/mcu/raspberry-pi:rp2350a //targets:vmsif.elf
Tip
Instead of having to specify modifiers for every build, you can set defaults in your .buckconfig.local:
[cfg_modifiers]
modifiers = sif//cfg/mcu/raspberry-pi:rp2350aInvocations of buck2 can then be as follows:
$ buck2 build //targets:vmsif.elf
Copyright (C) 2024--2026 Jacob Koziej <jacobkoziej@gmail.com>
Distributed under the MPL 2.0.