由于在使用ESP32会遇到编译出来的bin文件大于分区表的时候,因此需要我们修改分区表或者使用自定义分区表的方式来解决。(项目是使用VScode来搭建和调试的,VScode YYDS)
具体分区标的含义这里就不讲了,网上有很多文档介绍,官方文档也很详细。
一、创建自己的分区
1、新建一个自定义partitions_wifi.csv分区表
# Name, Type, SubType, Offset, Size, Flags
# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap
nvs, data, nvs, 0x9000, 0x6000,
phy_init, data, phy, 0xf000, 0x1000,
factory, app, factory, 0x10000, 2M,
#storage, data, fat, , 1M,
2、修改成使用自定义分区。(注意要将partitions_wifi.csv放在工程的根目录)
注意:下图中的Offset of partition table指的是分区表存放的位置。
3、修改分区表中factory的大小为2M,开始编译失败,这是因为串行flash的大小没有改(原来也为2M,明显不够,factory就占了2M),修改如下图(具体根据硬件实际大小来修改)