问题描述
更新项目的 esp_idf 框架,从 release/v3.3 46b12 到 release/v3.3 2befd ,编译无错误,但是在烧写时出现以下错误 Detected overlap at address
。
Flashing binaries to serial port /dev/ttyUSB0 (app at offset 0x10000)...
usage: esptool write_flash [-h] [--erase-all]
[--flash_freq {keep,40m,26m,20m,80m}]
[--flash_mode {keep,qio,qout,dio,dout}]
[--flash_size FLASH_SIZE]
[--spi-connection SPI_CONNECTION] [--no-progress]
[--verify] [--encrypt]
[--ignore-flash-encryption-efuse-setting]
[--compress | --no-compress]
<address> <filename> [<address> <filename> ...]
esptool write_flash: error: argument <address> <filename>: Detected overlap at address: 0x8000 for file: /home/libo/ESPlane/ESPlane/build/partitions.bin
/home/libo/esp/esp-idf/components/esptool_py/Makefile.projbuild:70: recipe for target 'flash' failed
make: *** [flash] Error 2
相关问题:esp32烧写报错;esp32自定义分区;esp32分区表偏移地址;
问题原因
- 更新后开启了一些默认宏,导致 bootloader.bin 变大,占用了分区表的其他位置,导致冲突
解决方案
- 使用
make menuconfig
修改Offset of partition table
为0x10000
- 如果使用了用户自定义分区表,需要一一修改地址的
offset
或将所有offset
置为空
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, , 16k
otadata, data, ota, , 8k
phy_init, data, phy, , 4k
ota_0, app, ota_0, , 1920k
ota_1, app, ota_1, , 1920k