Here you can find guides on how Tock works, as well as short tutorials and longer workshop-style courses on how to use Tock, and reference documents that detail internal interfaces.
- Overview - Overview of the OS and this repository.
- Design - Design of the Tock primitives that make safety and security possible.
- Networking Stack - Design of the networking stack in Tock.
- Lifetimes - How Rust lifetimes are used in Tock.
- Mutable References - How Tock safely shares resources between components.
- Compilation - How the kernel and applications are compiled.
- Tock Binary Format - How Tock application binaries are specified.
- Memory Layout - How the chip memory is divided for Tock.
- Startup - What happens when Tock boots.
- Syscalls - Kernel/Userland abstraction.
- Userland - Description of userland applications.
- Syscall Interfaces - API between userland and the kernel.
- Internal Kernel Interfaces - Hardware Interface Layers (HILs) for kernel components.
- Getting Started - Installing the Tock toolchain and programming hardware.
- Porting Tock - Guide to add new platforms.
- Out of Tree Boards - Best practices for maintaining boards not in Tock master.
- Debugging Help - Guides for various debugging techniques.
- Code Review Process - Process for pull request reviews and Tock releases.
- Quick Tutorials - Specific tutorials that walk through features of Tock.
- Longer Courses - Longer workshops on multiple aspects of Tock.