Microcontrollers in Micro-increments...
summary
Argues that test-driven development plus CI can make microcontroller work faster and safer and demonstrates it on a custom washing-machine board; uses CATCH and Trompeloeil for host tests, Unity plus SEGGER RTT for tiny on-target tests, Jenkins/Docker to automate builds, Clang sanitizers and llvm-cov for coverage, and clang-tidy for static checks. Shows a FreeRTOS task wrapper using a template seam and a policy to run finite loops for testability, advises stubs for third‑party HALs and mocks only for owned interfaces, and measures a CI deploy + target test at ~1m28s (demo runtime fails).
AI-written summary · about
chapters (25)
- 0:00Intro
- 0:42Slides
- 1:46Web IDs
- 2:47Embedded source files
- 3:28Tools
- 3:55Why TDD
- 5:08The Embedded Perfect Storm
- 6:29TDD
- 7:18Patterns
- 7:53Concerns
- 8:18Dependency inversion
- 9:20Submodule boundaries
- 10:06Mocks
- 11:32Tests
- 13:03Usability
- 13:32Mock Objects
- 14:38Mock GPIO
- 15:07RealTime Operating Systems
- 16:50RealTime Templates
- 17:59OilOne Challenge
- 19:01ThirdParty Libraries
- 20:38Tasting on the Target
- 23:02Build Changes
- 23:43Build CI
- 28:08Docker Jenkins
related talks
38mHow we implemented TDD in Embedded C/C++
01h 00mMetal-In Test-Driven Development: A Dual-Target TDD approach
01h 09m“Modern C++ in Embedded Systems - The Saga Continues”
34mOpen Loop Testing: The Missing Link for Embedded Testing?
12mCi in IoT/Embedded: creating a simple, salable and automated workflow
01h 05mAgile embedded development under regulatory constraints
57mC++ to the RISCue! A Practical Guide for Embedded C++20
54mCost of Abstractions in Embedded Systems
