问题描述
使用 esp-idf_v4.3 框架编译工程无错误,但是在烧写时出现以下错误 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
问题原因
更新后开启了一些默认宏,导致 bootloader.bin 变大,占用了分区表的其他位置,导致冲突
解决方案
如果使用了用户自定义分区表,需要修改地址的 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