master carries bootloader.atsln, so main does too. Two projects, because a .cppproj is one binary at one flag set and this build has hundreds: the stock 328P pureboot loader (USART0 at 115200 on a 16 MHz crystal), and the tsb_asm tier that occupies the same 512-byte section master's own tsb project targeted. Both come out byte-identical to the Ninja build — 404 B and 510 B of .text — in both configurations. Debug keeps -Os and adds only -gdwarf-4. A loader's section is a correctness bound, and -Og builds this source to 590 B: the link at 0x7e00 accepts that without a diagnostic, 78 bytes past flash end, where rcall/rjmp wrap modulo flash size and the image dies just after activation. Debug info costs no flash, so the optimisation level stays where correctness needs it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.4 KiB
1.4 KiB