Files
f7c2c6587e feat(firmware): add the 16MB flash profile the C6 fleet runs on (#1877)
The 4MB and display layouts have 1.875MB and 2MB OTA slots, sized for 4MB
and 8MB parts. A 16MB C6 (DevKitC-1 N16) has no layout in the tree at all,
so building for one meant hand-editing sdkconfig -- and a smaller table
written over a deployed 16MB node relocates NVS and destroys its
provisioning, which is why this belongs in the repo rather than in a
workstation's untracked sdkconfig.

Two 4MB OTA slots, plus a 64K coredump partition and an 8000K FAT volume
for on-node storage. Rollback is enabled so an OTA'd image that cannot
confirm itself is reverted by the bootloader.

Layered, not inherited: sdkconfig.defaults.esp32c6 keeps its 4MB layout so
the common 4MB devkit is never silently repartitioned.


Claude-Session: https://claude.ai/code/session_01PVWMiHQifoYXL7uL3bphrZ

Co-authored-by: Joe <joe@GitDev.hedgehog>
Co-authored-by: claude-flow <ruv@ruv.net>
2026-09-09 23:31:03 +00:00

1.1 KiB

1# ESP32-C6 CSI Node - 16MB flash partition table
2# For boards with 16MB flash (e.g. ESP32-C6 DevKitC-1 N16).
3#
4# Two 4MB OTA slots. The app is ~1.04MB, so the slots are far larger than
5# needed for the binary alone -- the size is chosen so an OTA never has to
6# care how much the image has grown, and it leaves room for a coredump
7# partition and an 8MB FAT volume for on-node storage.
8#
9# The 4MB and display layouts do not fit this: their slots are 1.875MB and
10# 2MB, sized for 4MB and 8MB parts respectively.
11#
12# Usage: set in sdkconfig, or use the matching defaults file:
13#
14# Verify before flashing an already-deployed node: a smaller table written
15# over a 16MB node relocates NVS and destroys its provisioning.
16# Name, Type, SubType, Offset, Size, Flags
17nvs,data,nvs,0x9000,24K,
18otadata,data,ota,0xf000,8K,
19phy_init,data,phy,0x11000,4K,
20ota_0,app,ota_0,0x20000,4M,
21ota_1,app,ota_1,0x420000,4M,
22coredump,data,coredump,0x820000,64K,
23storage,data,fat,0x830000,8000K,