From ac9447c07f5f68da2968a328b198f330fcee5ab5 Mon Sep 17 00:00:00 2001 From: BlackMark Date: Sun, 19 Jul 2026 16:50:18 +0200 Subject: [PATCH] tsb: document the three tiers at full parity in the build file Co-Authored-By: Claude Opus 4.8 (1M context) --- CMakeLists.txt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index edfd6a0..7f6713a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,9 +45,13 @@ endif() # loader has no use for the crt or the vector table. The naked entry sits in # .vectors, laid first, and runs. The boot base is FLASHEND+1 minus the section # size; the linker section-start and the source's boot_bytes agree. -# tsb_asm — inline-asm variant, the headline: ≤512 B, the 512 B section. -# tsb_pure / tsb_tricks — pure-C++ and compiler-trickery variants, larger, -# shown in the 1 KB section (BOOTSZ=10) they fit. +# All three implement the full oracle feature set (see oracle/README.md): +# watchdog bail, one-wire half-duplex, config-page activation timeout, password +# gate, emergency erase, config/flash/EEPROM read-write. They differ only in how. +# tsb_asm — minimal inline asm, the headline: 502 B in the 512 B section, +# matching the hand-written oracle's size and features. +# tsb_tricks — compiler trickery, no asm: 808 B in the 1 KB section (BOOTSZ=10). +# tsb_pure — pure idiomatic libavr: 950 B in the 1 KB section. # # add_tsb_variant( ) function(add_tsb_variant name bytes)