T1: Secure Programming For Embedded Systems
summary
Describes a homegrown language stack: a token-threaded VM (T0) and a new, memory-safe follow-up (T1), compiled by a C# tool running on mono and targeting C output. Shows an x.509 decoder that compiles to 2,836 bytes (≈6 KB with C glue) and provably uses 42 words (168 bytes) of VM state, and explains coroutine-like state machines used in BearSSL. Notes a past buffer-overflow bug that motivates a compact garbage-collected heap and whole-program type/escape analysis, and links to a GitHub repo with 55 pages of spec and a bootstrap interpreter.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 1:54Embedded systems definition
- 10:32Programming languages for embedded
- 17:21BareSSL and T0 language
- 23:17Threaded code in T0
- 39:18Introducing T1 language
- 59:05T1 status and resources
- 1:00:33Q&A
related talks
01h 00mHacking and Securing C++
01h 06mHacking and Securing C++
01h 34mA Little Introduction to Control Flow Integrity in C++
18mIoT Security's Toughest Challenges: Root of Trust, TEEs, & Firmware Updates
18mYou Can Sign It, But Can You Trust It? Securing the Compilation Process
48mSecure C++ Programming
15mSecured Routines: Language-based Construction of Trusted Execution Environments
27mHasTEE: Programming Trusted Execution Environments with Haskell
