2016-09-29 6 views
1

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

Эта команда используется для мигания бинарного 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 flash.

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

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

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

ответ

0

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

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