Introduction
1.
Getting Started
1.1.
Quickstart
1.1.1.
Mac
1.1.2.
Linux
1.1.3.
Windows
1.2.
Hardware Setup
1.3.
Building the Kernel
1.4.
Installing Applications
1.5.
Tockloader
2.
Tock Course
2.1.
USB Security Key
2.1.1.
Kernel: USB Keyboard
2.1.2.
Kernel: HMAC
2.1.3.
Kernel: Key-Value
2.1.4.
HOTP Application
2.1.5.
Encryption Oracle Capsule
2.1.6.
Access Control
2.1.7.
Security Key Demo
2.2.
Thread Temperature Sensor
2.2.1.
Router Setup
2.2.2.
Sensor App
2.2.3.
Control App
2.2.4.
Communications App
2.2.5.
Robustness
2.3.
Kernel Boot
2.4.
Policies
2.5.
TicKV
2.6.
Application
2.7.
Graduation
2.8.
Deprecated
2.8.1.
Important Client
2.8.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.
Scheduling
5.6.8.
Startup
5.6.9.
Syscalls
5.6.10.
Tock Binary Format
5.7.
Module Documentation
5.7.1.
Process Console
5.7.2.
Networking Stack
5.7.3.
Bluetooth Low Energy (BLE)
6.
Tock Reference Documents
6.1.
TRD1: TRDs
6.2.
TRD3: HIL Design
6.3.
TRD4: Legal
6.4.
TRD102: ADC
6.5.
TRD103: GPIO
6.6.
TRD104: Syscalls
6.7.
TRD105: Time
6.8.
TRD106: Completion Codes
6.9.
Drafts
6.9.1.
TRD AppID
6.9.2.
TRD Digest
6.9.3.
TRD Public/Private Keys
6.9.4.
TRD Radio
6.9.5.
TRD SPI
6.9.6.
TRD Storage Permissions
6.9.7.
TRD UART
6.9.8.
TRD Userspace Read Allow
Light
Rust
Coal
Navy
Ayu
The Tock Book
Using the HOTP USB Security Key
With our fully functional USB security key, we can now put it to use.