ESP32-menuconfig(4) -- Partition Table
文章目录
- CONFIG_PARTITION_TABLE_TYPE
- Single factory app, no OTA (CONFIG_PARTITION_TABLE_SINGLE_APP)
- Single factory app (large), no OTA (CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE)
- Factory app, two OTA definitions (CONFIG_PARTITION_TABLE_TWO_OTA)
- Two large size OTA partitions (CONFIG_PARTITION_TABLE_TWO_OTA_LARGE)
- Custom partition table CSV (CONFIG_PARTITION_TABLE_CUSTOM)
- 其实在官方文档里,提供的选项更多
PS:(狗头保命,翻译来自AI,因为量大,所以和我项目无关的内容我基本只复制了,没有验证对不对)

分区表算是最常用的一个功能了,这块AI翻译抽风,而我在这块又踩了不少坑
CONFIG_PARTITION_TABLE_TYPE
功能:选择分区表类型。
这里默认提供了五个选项,分别是:
Single factory app, no OTA (CONFIG_PARTITION_TABLE_SINGLE_APP)
这是默认的分区表,设计用于 2MB 或更大容量的闪存,包含一个 1MB 的应用分区。IDF 目录中对应的 CSV 文件为 components/partition_table/partitions_singleapp.csv
此分区表不适用于需要 OTA(空中升级)功能的应用。
Single factory app (large), no OTA (CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE)
这是默认分区表的一个变体,将 1MB 的应用分区大小扩展到 1.5MB,以容纳更多代码。IDF 目录中对应的 CSV 文件为 components/partition_table/partitions_singleapp_large.csv
此分区表不适用于需要 OTA(空中升级)功能的应用。
Factory app, two OTA definitions (CONFIG_PARTITION_TABLE_TWO_OTA)
这是一个基本的支持 OTA 的分区表,包含一个工厂应用分区和两个 OTA 应用分区。所有分区均为 1MB,因此此分区表需要 4MB 或更大容量的闪存。IDF 目录中对应的 CSV 文件为 components/partition_table/partitions_two_ota.csv
Two large size OTA partitions (CONFIG_PARTITION_TABLE_TWO_OTA_LARGE)
这是一个基本的支持 OTA 的分区表,包含两个 OTA 应用分区。每个应用分区大小均为 1700K,因此此分区表需要 4MB 或更大容量的闪存。IDF 目录中对应的 CSV 文件为 components/partition_table/partitions_two_ota_large.csv
Custom partition table CSV (CONFIG_PARTITION_TABLE_CUSTOM)
指定项目要使用的分区表 CSV 的路径。
有关更多信息,请参阅《ESP-IDF 编程指南》中的 “分区表” 部分。
其实在官方文档里,提供的选项更多
不过这些选项在menuconfig里都没有提供,应该需要手动添加
在这里面,对于外挂了更大flash的模块或者开发板,一般来说,最后都会走到使用Custom partition table CSV的路上,这块内容可以在以下链接查看
分区表 - ESP32 - — ESP-IDF 编程指南 v5.5 文档
底下的那部分内容,因为我也没有用过,所以就把AI翻译的内容直接贴上来不做整理了