Files
RuView/firmware/esp32-csi-node/partitions_display.csv
T
Joeandclaude-flow 36e4df95b7 feat(firmware): give node_log an 8MB home, compile it out on 4MB
node_log currently only has a FAT volume on the 16MB table
(partitions_16mb.csv), so it silently does nothing on the two chips
most of the fleet's OTA/CI surface actually exercises.

partitions_display.csv (8MB) ends at 0x600000 with 2.00 MB of flash
never allocated. Add a storage/fat partition filling exactly that
tail (0x600000 + 0x200000 = 0x800000, the full 8 MB with nothing left
over), so node_log has somewhere to mount on the s3/8mb profile.

partitions_4mb.csv has no equivalent room -- two 1.81 MB app slots
leave only 256 KB free, not enough for a FAT volume of any useful
size. Guard node_log.c's whole implementation on
CONFIG_ESPTOOLPY_FLASHSIZE_4MB and provide no-op stubs for every
entry point, so main.c's call sites need no #ifdef of their own.
Deliberately did not touch main/CMakeLists.txt: fatfs/wear_levelling
stay in REQUIRES, and with nothing left calling into them on 4MB,
--gc-sections drops both archives the same way it already drops
libespcoredump.a when coredump-to-flash is unused (measured at 0
bytes contribution).

Co-Authored-By: claude-flow <ruv@ruv.net>
Claude-Session: https://claude.ai/code/session_01PVWMiHQifoYXL7uL3bphrZ
2026-09-10 13:21:59 -04:00

434 B

1# ESP32-S3 CSI Node — 8MB flash partition table (ADR-045)
2# Name, Type, SubType, Offset, Size, Flags
3nvs, data, nvs, 0x9000, 0x6000,
4otadata, data, ota, 0xf000, 0x2000,
5phy_init, data, phy, 0x11000, 0x1000,
6ota_0, app, ota_0, 0x20000, 0x200000,
7ota_1, app, ota_1, 0x220000, 0x200000,
8spiffs, data, spiffs, 0x420000, 0x1E0000,
9storage, data, fat, 0x600000, 0x200000,