build: the submodule is how libavr arrives; the era already carries it
The pin the whole history now encodes becomes the primary route: the submodule default replaces FetchContent and the unpinned forge fallback, LIBAVR_ROOT stays as the tandem-development override, the presets already take the toolchain file from the submodule, and the Studio projects anchor their include path there — correct by construction. The version tags and the one-command historical build are documented beside the version map. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -287,6 +287,14 @@ from `b`, and a command per memory (`R`/`W` flash, `r`/`w` EEPROM, `F` fuses).
|
||||
above; the shipped tool speaks both, choosing on the version it reads, so a
|
||||
deployed pureboot 4 stays drivable and self-updatable to 5.
|
||||
|
||||
Every closed generation is tagged in this repo at its era's last commit — the
|
||||
commit just before the next version bump, so a tag holds everything its
|
||||
version ever gained — and each tag carries the `libavr/` submodule pinned to
|
||||
the libavr that loader was built against, as the whole libavr era does commit
|
||||
by commit. `git checkout v3 && git submodule update --init libavr` followed by
|
||||
the usual preset build therefore reproduces the v3 loader exactly; the open
|
||||
generation is `main`.
|
||||
|
||||
Collapsing four command bodies into one transfer loop is what paid for the
|
||||
version: the data space, the host-issued SPM operations and the fuses now share
|
||||
the loop, the cursor and the argument decode that `R`/`r`/`w` each carried a
|
||||
@@ -452,8 +460,11 @@ counts, the programming plan, update state handling and per-phase page counts.
|
||||
|
||||
## Tests
|
||||
|
||||
`tools/check.sh` runs every chip's workflow (`--full` adds the reflect-mode
|
||||
builds of libavr's spot set; `tools/make_presets.py` regenerates the presets).
|
||||
libavr rides as the `libavr/` submodule (`git submodule update --init libavr`);
|
||||
`LIBAVR_ROOT` (cache or environment) overrides it for tandem development
|
||||
against a working tree. `tools/check.sh` runs every chip's workflow (`--full`
|
||||
adds the reflect-mode builds of libavr's spot set; `tools/make_presets.py`
|
||||
regenerates the presets).
|
||||
Per chip preset, `ctest` runs:
|
||||
|
||||
- `pureboot.size` — the 510-byte (patched-vector) / 512-byte budget;
|
||||
|
||||
Reference in New Issue
Block a user