ESP8266: обновление прошивки

Собрать свою прошивку для esp8266 можно на сайте https://nodemcu-build.com/. Для заливки в контроллер мне удобнее использовать инструмент командной строки — esptool.py.

Команда для записи во флэш выглядит так:

esptool.py -p /dev/ttyUSB0 write_flash --flash_mode dio 0x0 ./firmware.bin

Стоит обратить особое внимание на параметр —flash_mode dio, т. к. многие модули не смогут прошиться в режиме qio, который используется по умолчанию. После неудачной прошивки такой модуль будет жаловаться:

rf_cal[0] !=0x05,is 0x74

Я сначала думал, что дело в испорченном разделе конфигурации, но оказалось, что прошивка неправильно пишется. QIO — это quad IO, а DIO — dual IO. Т.е. в первом случае биты данных передаются по четырём линиям, а во втором — только по двум. Получается, что выдаём мы 4 бита за раз, а флэш, не зная об этом, пишет только два. И вместо прошивки получается мусор :-/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *