====== Flash FOTA Firmwares ======
In order to flash ESP8266 the GPIO0 should be connected to GND. This is D3 on Wemos D1 Mini Pro.
----
===== Initial Flash =====
Initially when ESP is new/blank use esptool.py to flash boot_v1.6.bin and create the user1.bin (with 32m-c1) option. Needs to be flashed with 32m-c1 to get 1024x1024. Connect ESP to the USB port. Steps are:
- erase_flash
- 0x00000 firmware/boot_v1.6.bin
- 0x3FC000 firmware/esp_init_data_default.bin
- 0x3FE000 firmware/blank.bin
- 0x01000 firmware/user1.bin
- 0x101000 firmware/user2.bin (optional not necessary)
esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x0 firmware/boot_v1.6.bin
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x3FC000 firmware/esp_init_data_default.bin
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x3FE000 firmware/blank.bin
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x01000 firmware/user1.bin
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x101000 firmware/user2.bin (optional not necessary)
Or all in once:
esptool.py --port /dev/ttyUSB0 --baud 115200 erase_flash
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x0 firmware/boot_v1.6.bin 0x3FC000 firmware/esp_init_data_default.bin 0x3FE000 firmware/blank.bin 0x01000 firmware/user1.bin 0x101000 firmware/user2.bin
===== MAKE OTA UPDATES =====
First generate BIN file using esptool.py:
esptool.py elf2image --version=2 -o user1.bin espmodule
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash --flash_mode qio --flash_size 32m-c1 0x01000 user.bin
==== Make OTA bin update file ====
After that we need to user the makefile with gen_appbin.py to generate proper formated user1.bin/user2.bin.
Because ota updates created with "esptool.py elf2image --version=2 -o user1.bin espmodule" give checksum mismatch
==== Upload to webserver ====
scp firmware/user2.bin root@192.168.178.82:/media/storage1/www/homesite/public/firmware
==== Dump memory Block ====
esptool.py --port /dev/ttyUSB0 --baud 115200 read_flash 0x3fe000 2048 flash-3fe.bin