Что делать, если вы сделали файл бэкапа прошивки какого-либо устройства с esp8266 на 4мб, а на самом деле там 2мб? Как восстановить?

При выполнении команды прошивки или команды бэкапа, esptool покажет подключенный тип esp и размер памяти:

python ./esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash 0x00000 firmware.bin
esptool.py v2.7-dev
Serial port /dev/ttyUSB3
Connecting....
Detecting chip type... ESP8266
Chip is ESP8285
Features: WiFi, Embedded Flash
Crystal is 26MHz
MAC: 04:cf:8c:67:e9:4f
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 2MB

 

Но, допустим, как в случае выше, esp8285 имеет размер 2MB, а мы запустили бэкап командой на 4MB:

python ./esptool.py --port /dev/ttyUSB0 --baud 115200 read_flash 0x00000 0x400000 backup.bin

 

И получившийся файл backup.bin нужно восстановить.

Но при попытке восстановить файл 4мб во флеш память 2мб, esptool выдаст ошибку:

root@admin:/home/kvv/esptool-master# python ./esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash 0x00000 backup.bin
esptool.py v2.7-dev
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8285
Features: WiFi, Embedded Flash
Crystal is 26MHz
MAC: 04:cf:8c:67:e9:4f
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 2MB

A fatal error occurred: File backup.bin (length 4194304) at offset 0 will not fit in 2097152 bytes of flash. Use --flash-size argument, or change flashing address.

Чтобы это исправить, можно вырезать ненужный объем данных из нашего бэкапа. Для этого воспользуемся программой 010 Editor

Скачиваем, открываем в программе файл бэкапа.

Далее жмем Edit > Set File Size

и пишем нужный объем.

Сохраняем файл и им можно восстановить нужное нам устройство. Все просто.

Оставить комментарий

avatar

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Подписаться  
Уведомление о