NodeMCU - Прошивка
После того как мы собрали свою прошивку, теперь нужно ее прошить в наше устройство, для этого воспользуемся программой NodeMCU-flasher.

Программку можно скачать c GitHub или с архива ниже. Она не требует установки, достаточно скачать и запустить. После запуска программы переходим во вкладку "Config", в первой строке нажимаем на иконку в виде шестеренки и указываем путь к прошивке NodeMCU. Стартовый адрес указываем 0x00000.

Во вкладке "Advanced" устанавливаем скорость (Baundrate) 115200 и выбираем размер флеш (Flash size), в моем случае это модуль ESP-12 и ее размер составляет 4МБ. Остальное оставляем без изменений.

Далее переходим во вкладку "Operation" выставляем com-port нашего модуля. В моем случае это COM30. Переводим модуль в режим прошивки, нужно подать GPIO0 лог. 0 (подключить к минусу), если у вас плата NodeMCU или Wemos, то этого делать не нужно. Нажимаем на кнопку "Flash(F)" если сделали все верно, то начнется процесс прошивки.

Если процесс завершится удачно, то мы увидим такую картину. Закрываем программу и перезагружаем модуль.

При обновлении прошивке NodeMCU смены SDK или при переходе с других прошивок на NodeMCU, могут возникнуть проблемы. Модуль перестает определяться или постоянно посылает какой-то мусор в порт (мигая постоянно светодиодом). Для решении этой проблемы, нужно прошить файл esp_init_data_default.bin по адресу согласно размеру установленной флеш памяти в модуле.
- 0x7c000 for 512 kB, modules like most ESP-01, -03, -07 etc.
- 0xfc000 for 1 MB, modules like ESP8285, PSF-A85, some ESP-01, -03 etc.
- 0x1fc000 for 2 MB
- 0x3fc000 for 4 MB, modules like ESP-12E, NodeMCU devkit 1.0, WeMos D1 mini
- 0x7fc000 for 8 MB
- 0xffc000 for 16 MB, modules like WeMos D1 mini pro
Далее перезагружаем модуль и ждем пока произойдет форматирование файловой системы (~1 мин.)
