mirror of
https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials.git
synced 2024-11-05 12:00:22 +00:00
📚 Learn to write an embedded OS in Rust 🦀
aarch64arm64armv8bare-metalembedded-rustkerneloperating-systemosraspberryraspberry-piraspberry-pi-3raspberry-pi-4rpi3rpi4rusttutorial
.githooks | ||
01_wait_forever | ||
02_runtime_init | ||
03_hacky_hello_world | ||
04_zero_overhead_abstraction | ||
05_safe_globals | ||
06_drivers_gpio_uart | ||
07_uart_chainloader | ||
doc | ||
docker | ||
utils | ||
.gitignore | ||
.rubocop.yml | ||
.rustfmt.toml | ||
contributor_setup.sh | ||
LICENSE | ||
README.md |
Operating System development tutorials in Rust on the Raspberry Pi 3
Notice
This is a work-in-progress rewrite, started on September 2019. I will first add code and minimal READMEs, and later write accompanying full-fledged tutorial text.
- Check out the
make doc
command to browse the code with HTML goodness. - Note that the branch is subject to frequent force pushing. If updates happened since you last visited, make sure to clone a clean copy to be safe.
- For editing, I recommend Visual Studio Code with the Rust Language Server extension.
- For practical purposes, the kernel will be a classic monolith.
Cheers, Andre
Prerequisites
Before you can start, you'll need a suitable Rust toolchain.
curl https://sh.rustup.rs -sSf \
| \
sh -s -- \
--default-toolchain nightly \
--component rust-src llvm-tools-preview clippy rustfmt rls rust-analysis
cargo install cargo-xbuild cargo-binutils
USB Serial
I'd also recommend to get an USB serial debug cable. You connect it to the GPIO pins 14/15.
Tutorial 6 is the first where you can use it. Earlier tutorials will work solely with QEMU
.
License
Licensed under the MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT).