versapad.json declared samd21g18a (256K flash / 32K RAM) while the
linker script, the NVM config addresses (0x1FB00-0x1FFFF, just below
the 128K boundary) and versapad_nobl.json all point to the actual
chip, a SAMD21G17D (128K flash / 16K RAM). PlatformIO's flash-size
check was silently using a ~248K limit instead of the real ~120K
budget for the USB-bootloader build variant.
Vendored and trimmed from microsoft/uf2-samdx1, adapted to the actual
ATSAMD21G17D (128 KiB flash / 16 KiB RAM), fixing the flash/RAM-size
mismatch that the previously commented-out SAM-BA bootloader target
had (it assumed a 256 KiB SAMD21G18A). Builds as a standalone
PlatformIO environment (bootloader/platformio.ini), no python2/make
dependency. Compiles clean, fits in the 8 KiB bootloader region
(7292/8192 bytes). Not yet flashed/verified on real hardware.