Introduction
1.
Hands-on Guides
1.1.
Getting Started
2.
Tock Course
2.1.
USB Security Key
2.1.1.
Kernel: USB Keyboard
2.1.2.
Kernel: HMAC
2.1.3.
Kernel: App State
2.1.4.
HOTP Application
2.1.5.
Encryption Oracle Capsule
2.1.6.
Access Control
2.2.
Kernel Boot
2.3.
Policies
2.4.
TicKV
2.5.
Application
2.6.
Graduation
2.7.
Deprecated
2.7.1.
Important Client
2.7.2.
Capsule
3.
Mini Tutorials
3.1.
Blink an LED
3.2.
Button to Printf()
3.3.
BLE Advertisement Scanning
3.4.
Sample Sensors and Use Drivers
3.5.
Inter-process Communication
4.
Kernel Development Guides
4.1.
Chip Peripheral Driver
4.2.
Sensor Driver
4.3.
System Call Interface
4.4.
HIL
4.5.
Virtualizers
4.6.
Kernel Tests
4.7.
Component
4.8.
Optimize Code Size
4.9.
Porting Tock
4.10.
Porting From 1.x to 2.x
4.11.
VSCode Debugging
5.
Kernel Documentation
5.1.
Overview
5.2.
Design
5.3.
Soundness
5.4.
Lifetimes
5.5.
Threat Model
5.5.1.
Capsule Isolation
5.5.2.
Virtualization
5.5.3.
Application Loader
5.5.4.
TBF Headers
5.5.5.
Code Review
5.6.
Implementation
5.6.1.
Compilation
5.6.2.
Kernel Configuration
5.6.3.
Kernel Attributes
5.6.4.
Memory Layout
5.6.5.
Mutable References
5.6.6.
Processes
5.6.7.
Startup
5.6.8.
Syscalls
5.6.9.
Tock Binary Format
5.7.
Module Documentation
5.7.1.
Process Console
5.7.2.
Networking Stack
5.7.3.
Bluetooth Low Energy (BLE)
Light
Rust
Coal
Navy
Ayu
The Tock Book
Module Documentation
These pages document specific modules in the Tock codebase.