0017. Firmware packages ship a build-time layout descriptor
Date: 2026-10-01
Item 3 of the plan agreed on 2026-10-01 for rebuilding a download from an SWD capture, one of the items that make future releases self-describing. Cut verbatim from Offline Log Reconstruction, "Decisions and plan", which holds the fw-v0.0.3 analysis behind it.
Decision
It holds:
- the symbol addresses and section bounds already in the ELF;
- for every stored struct, sizeof and member offsets, emitted by a
build-time C program compiled with the target's flags. The ELF has no DWARF,
and the short-enum ABI must be captured;
- compile-time constants: samples per page, stride, cadence, sample period;
- scale factors, and whether each is a multiply or a divide;
- end-of-log and missing-value rules, as named rule IDs;
- the per-family BackupState word map;
- the .proto files, or a FileDescriptorSet;
- the decoder name.
With it, capture plus package is enough for every tag, and the source checkout is no longer needed.