tock
FreeA secure embedded operating system for Cortex-M based microcontrollers.
FreeFree tier
LinksX
About tock
Tock is an embedded operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M and RISC-V based microcontrollers. Its design centers on protection against malicious applications and device drivers using two mechanisms: the kernel and device drivers are written in Rust, providing compile-time memory safety and type safety, and memory protection units isolate applications from each other and the kernel. Tock 2.x introduces new features and improvements. The project includes extensive documentation, a textbook, API docs, and community support via Matrix, Slack, and a blog.
Key Features
Kernel and device drivers written in Rust for memory safety and type safety
Memory protection units isolate applications from each other and the kernel
Supports Cortex-M and RISC-V based embedded platforms
Designed for running multiple concurrent, mutually distrustful applications
Protection from potentially malicious applications and device drivers
Tock 2.x with new features and improvements
Extensive documentation: Tock Book, API docs, contributing guide
Pros & Cons
Pros
- Strong safety guarantees via Rust language and MPU isolation
- Open source and actively maintained with a community
- Well-documented with tutorials, textbook, and API docs
- Support for multiple hardware platforms (Cortex-M and RISC-V)
- Proven in academic research (SOSP 2017 paper)
Cons
- Limited to Cortex-M and RISC-V architectures, not for general-purpose processors
- Requires familiarity with Rust for kernel and driver development
- Not intended for real-time or time-critical applications (no hard real-time guarantees)
Best For
Secure embedded systems and IoT devicesMultiprogramming on resource-constrained microcontrollers (e.g., 64kB memories)Research in operating system security and embedded systemsEducation in embedded OS design and Rust systems programming
FAQ
What hardware platforms does Tock support?
Tock supports Cortex-M and RISC-V based embedded platforms, as stated in its README.
Is Tock free to use?
Yes, Tock is open source and available under dual MIT/Apache-2.0 licenses.
Where can I find documentation and tutorials?
The Tock Book provides online tutorials and documentation. Additionally, there is a textbook 'Getting Started with Secure Embedded Systems' and API docs available.