You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32-WROOM32 4MB NVS分区扩容及分区表配置报错解决

ESP32分区表错误解决及配置方案

问题原因

app0不是必须从0x10000开始,但必须对齐到0x10000(64KB)的地址边界——这是ESP32 Flash硬件访问和固件加载的硬性要求,非对齐地址会导致固件无法正常加载,所以编译时触发了偏移无效的错误。

修正后的分区表方案

基于你的需求(扩容NVS、OTA支持、app分区≥0x1E0000、4MB Flash),调整后的分区表如下,完全满足对齐要求:

# Name,   Type, SubType, Offset,  Size, Flags
nvs,      data, nvs,     0x9000,  0x15000,
otadata,  data, ota,     0x1E000, 0x2000,
app0,     app,  ota_0,   0x20000, 0x1E0000,
app1,     app,  ota_1,   0x200000,0x1E0000,
spiffs,   data, spiffs,  0x3E0000,0x20000,
  • NVS分区扩容至84KB(原32KB),满足更多数据存储需求
  • app0/app1起始地址均对齐0x10000边界,符合ESP32要求
  • 两个app分区各1.875MB(0x1E0000),满足OTA升级需求
  • 剩余空间分配给SPIFFS,总容量不超过4MB(0x400000)

PlatformIO中应用分区表的步骤

  1. 在项目根目录创建partitions_custom.csv文件,将上面的分区表内容粘贴进去
  2. 打开platformio.ini,在你的环境配置(比如[env:esp32dev])下添加一行:
    board_build.partitions = partitions_custom.csv
    
  3. 重新编译项目,之前的偏移错误即可解决

内容的提问来源于stack exchange,提问作者user14665305

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 04:15:56