tock logo

tock

Free

A secure embedded operating system for Cortex-M based microcontrollers.

FreeFree tier
Type
Open Source
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.