Загрузка прошивки в ESP8266 с помощью esptool

Я использую ESP8266 Arduino с SPIFFS для хранения настроек конфигурации.

Эта команда используется для прошивки двоичного файла firmware.bin в ESP8266 для Arduino.

esptool.exe -cd nodemcu -cb 115200 -cp COM3 -ca 0x00000 -cf firmware.bin

Эта команда используется для прошивки двоичного файла firmware.nin в ESP8266 с использованием инфраструктуры SMING.

esptool.exe -p COM3 -b 115200 write_flash -ff 40m -fm dio -fs 4m 0x00000 0x00000.bin 0x09000 0x09000.bin 0x44000 spiff_rom.bin

В команде, используемой для загрузки флэш-памяти Arduino, есть несколько загадочных аспектов.

  • Почему нет отдельного bin-файла для SPIFFS для Arduino? Я заметил, что инструмент «mkspiffs.exe» в папке esp8266 \ tools \ mkspiffs не используется во время компиляции файла bin. Почему не используется?

  • Как Arduino esptool знает, какой адрес использовать для выделения адреса файловой системы SPIFFS?

Я хотел бы понять процесс программирования двоичного файла, поскольку я столкнулся со странным поведением SPIFFS с ESP8266 Arduino. У меня нет проблем с аналогичными прошивками с использованием фреймворка SMING. Мне интересно, вызвана ли проблема тем, как прошивка загружается в ESP8266 с помощью esptool.


person user781486    schedule 29.09.2016    source источник


Ответы (1)


Я использую Eclise Arduino IDE. Когда вы создаете новый проект, вы можете указать - насколько велика область кода и область SPIFFS. Например, для платы NodeMCU, которая использует флэш-память 4 МБ, я выбираю код 1 МБ / 3 МБ SPIFFS. Вот как arduino esptool узнает начальный адрес SPIFFS.

В SMING вручную указывается начальный адрес SPIFFS.

person user781486    schedule 30.09.2016