Files
ESP32_Serial_Swiss_Army_Knife/docs/devel/flash_layout.md
T
Commander1024 ab6a8010ba Restructure project documentation
Separate operator guides from development contracts, relocate
implementation notes under `docs/devel/`, and update cross-references
and
hardware tooling paths. Add getting-started, user administration, and
firmware update guides while preserving firmware behavior.
2026-09-21 15:24:42 +02:00

2.0 KiB

Flash partition layout

The N16R8 target has 16 MiB flash and 8 MiB octal PSRAM. PlatformIO uses the custom partitions.csv layout:

Partition Offset Size Purpose
nvs 0x009000 512 KiB Serial, Wi-Fi, mDNS hostname, local-display, role-based user, HTTPS identity, and SSH host-key data
otadata 0x089000 8 KiB Active OTA-slot selection metadata
phy_init 0x08B000 4 KiB Optional PHY initialization data
nvs_key 0x08C000 4 KiB Reserved for future encrypted-NVS keys
coredump 0x08D000 128 KiB Reserved for flash core dumps
ota_0 0x0B0000 4 MiB Primary application/OTA slot
ota_1 0x4B0000 4 MiB Alternate application/OTA slot
storage 0x8B0000 7488 KiB Reserved; not mounted or used for session recording

Application offsets are aligned to the ESP32-S3's required 64 KiB boundary. The final storage partition ends at 0x1000000, exactly the end of the 16 MiB flash chip.

Admin HTTPS application upload uses the inactive OTA slot and otadata; NVS and other data partitions are untouched by the updater. It does not provide remote downloads, automatic rollback/health confirmation, core-dump handling, NVS encryption or filesystem mounting. Image validation does not guarantee a working application; compatible storage schemas and wired recovery remain the owner's responsibility.

Partition reservations do not enable their named features. In particular, nvs_key does not enable encryption, and the default firmware does not capture core dumps. Existing generated SDK configurations can override sdkconfig.defaults; inspect the effective configuration when verifying a build's security properties.

See first installation and destructive migration and the firmware update guide for operator procedures. Do not change partition offsets as part of an ordinary application update.