Обновление прошивки на Adafruit Huzzah ESP8266

tldr: я пытаюсь перепрошить ранее работавшую Adafruit Коммутационный модуль Huzzah ESP8266 для использования последней версии прошивки AT. Перепрошивка, похоже, не работает, и я в замешательстве. Я первый раз перепрошиваю один из этих модулей.

Что я сделал:

Я установил последнюю версию esptool.py с помощью pip и загрузил последнюю версию прошивки Espressif AT с github. Используя Huzzah на макетной плате, я заземлил GPIO0 и подключил разъем последовательного порта к компьютеру с помощью кабеля FTDI. ВК на кабеле 5В. Загорелся красный индикатор питания. Затем я выполнил следующие команды:

esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x00000 boot_v1.1.bin

esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x01000 user1.bin

esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x7C000 esp_init_data_default.bin

esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x7E000 пустой.bin

Казалось, что каждая загрузка завершалась нормально, но я обнаружил, что не могу загрузить следующую, пока сначала не нажму кнопку сброса на модуле, в противном случае я получал ошибку:

Произошла фатальная ошибка: не удалось подключиться к устройству Espressif: время установлено. ожидание заголовка пакета

Мне это кажется неправильным.

После загрузки всех четырех компонентов, как указано выше, я отключил GPIO0 и выключил и снова включил модуль. Затем я попытался подключиться с помощью putty на скорости 115200 бод, но не получаю эха от модуля, и он не отвечает на команды.

Наблюдения:

  • Раньше модуль работал, и я мог подключиться к нему с помощью putty.
  • Если я сброшу его при подключении к putty по адресу 115200, я получу последовательный набор мусорных символов, так что, думаю, он жив, но каким-то образом запутался.
  • Я пробовал подключаться на разных скоростях передачи данных: 9600, 14400, 19200, 38400, 57600, а также 115200. Результат тот же.
  • Я нашел пошаговые руководства, в которых показано, как прошивка, такая как node.mcu, загружается в виде одного двоичного файла. Должен ли я каким-то образом объединить четыре файла bin в один перед загрузкой Huzzah?

Что я здесь делаю не так?

, 👍2


1 ответ


Лучший ответ:

2

Я уверен, что теперь я решил эту проблему. Оставлю вопрос здесь, вдруг он кому-нибудь пригодится в будущем.

Проблема заключалась в том, что я загружал отдельные файлы bin из репозитория github, щелкнув правой кнопкой мыши -> Сохранить как в Chrome. При этом загружается файл с правильным именем, но на самом деле это содержимое html-страницы файла, а не сам двоичный файл. Загрузка репозитория в виде zip-файла, извлечение файлов bin и последующая загрузка их в Huzzah с помощью одной команды позволили мне правильно прошить устройство.

Я заметил, что esptool может загружать несколько файлов за один раз, поэтому с исходными файлами bin я попробовал команду:

esptool.py --port COM4 --baud 115200 write_flash -fm dio -fs 32m 0x00000 boot_v1.1.bin 0x01000 user1.bin 0x7C000 esp_init_data_default.bin 0x7E000 Blank.bin

и получил следующую ошибку

esptool write_flash: ошибка: аргумент: обнаружено перекрытие по адресу: 0x1000 для файла: user1.bin

Именно тогда я заметил, что boot_v1.1.bin слишком велик, чтобы поместиться в пространстве между 0x00000 и 0x01000. Проверка его в Notepad++ показала, что это HTML.

Поучительный опыт...

,

это только что случилось со мной.. так раздражает, никогда бы не подумал открыть содержимое файла, @Alex G