ESP-IDF 内置了多套现成的分区表方案全部放在组件目录里C:\esp\v6.0.2\esp-idf\components\partition_table\根据你的安装位置决定文件描述进入目录后可以发现许多文件这些文件的对应关系如下文件名对应 menuconfig 选项分区说明partition_single.csvSingle factory app, no OTA单工厂应用无 OTA你当前项目用的就是这个partition_double.csvFactory app, two OTA definitions双 OTA 分区支持空中升级partition_minimal.csvMinimal partition table极简分区表占用空间最小partition_singleapp_nvs_encryption.csvSingle factory app with encrypted NVS带 NVS 加密的单应用版本分区详解使用Excel打开任意一个CSV文件效果如下标题含义列名含义Name分区名称用户自定义仅作为标识使用Type分区类型分为两类app应用程序和 data数据存储SubType子类型用于详细描述该分区的具体功能Offset分区在 Flash 中的起始地址若留空则由工具自动计算连续地址Size分区容量支持十六进制格式如 0x6000或单位表示法如 1M、64KFlags扩展属性通常留空常用选项为 encrypted表示对该分区启用 Flash 加密分区详解nvs 分区类型data / nvs大小0x6000 24 KB作用非易失性存储Non-Volatile Storage是 ESP32 最核心的系统数据分区。以键值对的形式持久化保存数据掉电不丢失系统层面存WiFi 配网信息、蓝牙配对密钥、系统运行参数、校准数据等用户层面可以用 nvs_flash API 自己存自定义配置比如设备序列号、用户设置自带磨损均衡延长 Flash 寿命。phy_init 分区类型data / phy大小0x1000 4 KB作用射频校准数据分区。存放 WiFi / 蓝牙 PHY物理层的校准参数比如射频增益、偏移值等芯片第一次启动时自动校准并写入后续启动直接读取加快开机速度系统专用分区用户代码一般不会直接操作固定 4KB 就够用。factory 分区类型app / factory大小1M 1024 KB作用工厂主应用分区也就是你的固件程序存放的位置。你编译出来的 .bin 固件烧录时就写进这个分区subtype factory 表示这是出厂默认固件不带 OTA 升级的项目永远从这个分区启动ESP32 启动时Bootloader 读取分区表后就会加载这个分区里的程序并运行。在实际开发项目中修改分区大小直接把CSV文件复制一个到我们项目的根目录下并重命名如partitions.csv然后打开并修改其中的值也可以用vscode修改。编译成功。
ESP-IDF分区表详解与实战修改
ESP-IDF 内置了多套现成的分区表方案全部放在组件目录里C:\esp\v6.0.2\esp-idf\components\partition_table\根据你的安装位置决定文件描述进入目录后可以发现许多文件这些文件的对应关系如下文件名对应 menuconfig 选项分区说明partition_single.csvSingle factory app, no OTA单工厂应用无 OTA你当前项目用的就是这个partition_double.csvFactory app, two OTA definitions双 OTA 分区支持空中升级partition_minimal.csvMinimal partition table极简分区表占用空间最小partition_singleapp_nvs_encryption.csvSingle factory app with encrypted NVS带 NVS 加密的单应用版本分区详解使用Excel打开任意一个CSV文件效果如下标题含义列名含义Name分区名称用户自定义仅作为标识使用Type分区类型分为两类app应用程序和 data数据存储SubType子类型用于详细描述该分区的具体功能Offset分区在 Flash 中的起始地址若留空则由工具自动计算连续地址Size分区容量支持十六进制格式如 0x6000或单位表示法如 1M、64KFlags扩展属性通常留空常用选项为 encrypted表示对该分区启用 Flash 加密分区详解nvs 分区类型data / nvs大小0x6000 24 KB作用非易失性存储Non-Volatile Storage是 ESP32 最核心的系统数据分区。以键值对的形式持久化保存数据掉电不丢失系统层面存WiFi 配网信息、蓝牙配对密钥、系统运行参数、校准数据等用户层面可以用 nvs_flash API 自己存自定义配置比如设备序列号、用户设置自带磨损均衡延长 Flash 寿命。phy_init 分区类型data / phy大小0x1000 4 KB作用射频校准数据分区。存放 WiFi / 蓝牙 PHY物理层的校准参数比如射频增益、偏移值等芯片第一次启动时自动校准并写入后续启动直接读取加快开机速度系统专用分区用户代码一般不会直接操作固定 4KB 就够用。factory 分区类型app / factory大小1M 1024 KB作用工厂主应用分区也就是你的固件程序存放的位置。你编译出来的 .bin 固件烧录时就写进这个分区subtype factory 表示这是出厂默认固件不带 OTA 升级的项目永远从这个分区启动ESP32 启动时Bootloader 读取分区表后就会加载这个分区里的程序并运行。在实际开发项目中修改分区大小直接把CSV文件复制一个到我们项目的根目录下并重命名如partitions.csv然后打开并修改其中的值也可以用vscode修改。编译成功。