HubrisOS Stories and Remarks
Hubris is a memory protected ROTS written in Rust by Oxide Computer. I enjoy using it commercially - especially with large 11 Larger than 200kb! Absurdly large for a MCU. untrustworthy third party C libraries that are occasionally prone to Hardfaults (the microcontroller equivalent of segmentation faults).
- Unexpected gotchas porting the STM32G0B1
- Modifying HubrisOS for Battery Powered Products
- A shared flash filesystem with operations checked at compile time
- Custom Syscalls - Structuring to dodge open source disclosure requirements
- Speed costs of microkernels, and workarounds
- Space costs of memory protection on the Cortex-M0+, and workarounds
- Don’t try this at home: Bypassing IPC priority rules
- Serial IO, DMA, and sleep mode
- Why can’t we move println!(…) formatting routines into a shared task?
- Printing Hardfaults
- Running a C library compiled in gcc inside a HubrisOS task compiled in LLVM
- Meddling in other tasks affairs: The Factory Test Daemon