From cde7e6017047a86a31c8e7eca4b98475693a7137 Mon Sep 17 00:00:00 2001 From: BlackMark Date: Sun, 16 Aug 2026 19:21:29 +0200 Subject: [PATCH] test: the image's size stops being a number nobody holds Every other port in the fleet states its image size and is held to it; this one stated none, so a library advance could move the firmware and no check would say a word. 8380 B is what the presets build today, byte-identical between the two modes, and the README now says so. Co-Authored-By: Claude Opus 5 --- README.md | 3 +++ test/CMakeLists.txt | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/README.md b/README.md index 8155285..700d34e 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,9 @@ cmake --preset atmega328p-generated cmake --build --preset atmega328p-generated ``` +The firmware is **8380 B** of flash, byte-identical between the generated and +reflect modes, and `ctest` holds it to that number. + ## Atmel Studio `master` carries a Studio solution, so this branch does too: `ide/fantemp.atsln` diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index e48917b..030d360 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,9 @@ libavr_format_test() +# The image must stay below the boot section at 0x7e00, and the README states +# what it measures; a library advance that moves it says nothing on its own. +libavr_size_claim_test(fantemp 8380) + # The battery is a compile: a static_assert that fails is the failure. It is a # target rather than only a ctest so a plain build catches a regression too. add_library(consteval_tests OBJECT consteval.cpp)