Tock

A secure embedded operating system for microcontrollers, written in Rust. In 2022 I opened six pull requests across the kernel and its bootloader, all since merged:

  • Ported the BBC HiFive Inventor board (#3225).
  • Added UART receive (#3240) and abort (#3253) to the SiFive driver, shared by every board built on those chips. Debugging it meant reading the chip’s Chisel sources.
  • Added the E310x’s missing base frequency configuration (#3215), behind a run of hard to explain clock errors.
  • Fixed the micro:bit v2’s OpenOCD flashing script, in both the kernel (#3226) and the bootloader (tock-bootloader#26).