Files
firmware/bin/ram_budgets.json
T
Tom 0caf3a09f8 ci(size-budget): raise the rak4631 flash budget 746 000 -> 752 000 (#11866)
develop has been over the 746 000 line since #11826 (748 088 on the
CI runner at 3468af94a), so the size-budget-gate fails on every PR that
does not itself shed 2 KB, and the queue behind it cannot land. 6 KB
covers the current overage plus the pending NodeDB/NodeInfo work
(+584) and one or two of the mid-sized branches, while staying 47 KB
inside the 0xEA000 warm-region guard that is the real wall (image ends
at 0xDCA38 today). Raised deliberately, per the file's own rule.
2026-09-16 11:20:14 +00:00

25 lines
1.1 KiB
JSON

{
"_comment": [
"Per-environment static-size budgets, enforced by the size-budget-gate CI job",
"via: bin/size_report.py <sizes.json> --budgets bin/ram_budgets.json --enforce-budgets",
"Only environments listed here are gated, and only for the metrics they list.",
"",
"ram_bytes = static RAM (.data + .bss from the ELF, emitted into the .mt.json",
"manifest by bin/platformio-custom.py). On nRF52840 the heap arena is the linker",
"gap after .bss, so every byte of static RAM growth shrinks the usable heap 1:1;",
"that is how the 2.8.0 heap regression shipped without CI noticing.",
"",
"flash_bytes = size of the main firmware image (.bin). The rak4631 app region is",
"0x27000..0xEA000 = 798,720 bytes, and the image must also stay clear of the",
"warm-store record-ring guard (extra_scripts/nrf52_warm_region.py).",
"",
"Budgets are raised DELIBERATELY, never automatically: if your change needs more",
"headroom, bump the limit here in the same PR and justify the increase in the PR",
"description."
],
"rak4631": {
"ram_bytes": 108000,
"flash_bytes": 752000
}
}