Как стереть Flash память ESP32 (аппаратный сброс модуля)


В данной статье мы рассмотрим как стереть Flash память модуля ESP32, то есть выполнить аппаратный сброс модуля и вернуть его к заводским настройкам. Это полезно делать когда ваш модуль ESP32 по каким то непонятным причинам перестал работать и в него нельзя загрузить новый код программы. Также эта операция необходима когда вы хотите восстановить прошивку (firmware) в ее оригинальное состояние, то есть каким оно было с завода. Стирать Flash память модуля ESP32 мы будем с помощью инструмента под названием esptool.

Как стереть Flash память ESP32

Установка esptool.py

Для выполнения сброса к заводским настройкам модуля ESP32 мы будем использовать программу esptool, которая представляет собой платформо-независимую утилиту с открытым исходным кодом, основанную на языке Python. Она используется для взаимодействия с ROM загрузчиком (bootloader) в чипах от компании Espressif, к которым относится и ESP32.

Чтобы установить утилиту esptool необходимо чтобы на вашем компьютере был установлен Python 3.7 или новее. Вы можете скачать свежие версии установщика Python с его официального сайта.

Когда Python 3 будет установлен на вашем компьютере, откройте окно терминала (Terminal window ) и установите самую последнюю стабильную версию программы esptool.py с помощью установщика pip:

Примечание: с некоторыми установленными версиями Python приведенная команда может не работать и выдавать ошибку, в этом случае попробуйте одну из следующих команд:

Также будет необходимо установить и утилиту Setuptools - в некоторых операционных системах ее нет по умолчанию. Ее можно установить с помощью следующей команды:

Итак, после описанных шагов у вас будет установлена программа esptool.py (в каталог Python по умолчанию для исполняемых файлов) и вы ее сможете запускать на выполнение. В окне терминала выполните команду:

Если esptool у вас установлена корректно, то в результате выполнения этой команды вы на экране должны увидеть следующую картину (независимо от вашей операционной системы):

Доступные параметры для программы esptool

Стирание Flash памяти ESP32

Чтобы стереть флэш-память модуля ESP32 выполните следующую последовательность шагов:

1. Подключите модуль ESP32 к вашему компьютеру.

2. Откройте на компьютере окно терминала.

3. Нажмите кнопку BOOT на модуле ESP32.

Местоположение кнопки BOOT на модуле ESP32

4. Выполните следующую команду в окне терминала (продолжая удерживать кнопку BOOT):

5. Когда начнется процесс стирания (Erasing) Flash памяти вы можете отпустить кнопку BOOT/FLASH. Через несколько секунд Flash память модуля ESP32 будет стерта.

Процесс стирания Flash памяти модуля ESP32

Примечание: если после появления сообщения “Connecting …” на экране будут появляться новые серии точек (…) это будет означать что модуль ESP32 не находится в режиме загрузчика/режиме прошивки (bootloader mode/flashing mode). В данном случае вам необходимо будет снова повторить все описанные шаги и снова держать кнопку BOOT/FLASH чтобы убедиться в том, что модуль ESP32 перейдет в режим загрузчика/режим прошивки и процесс стирания Flash памяти успешно завершится.

Дисклеймер

Как видно из описания способа, существуют некоторые "подводные камни", из-за которых в некоторых условиях он может не работать. Поэтому просьба не писать в комментариях кучу гневных фраз по поводу того, что я выложил здесь неработающий способ. К сожалению, более простого и 100% работающего способа стереть Flash память модуля ESP32 я пока не нашел на просторах интернета.

Источник статьи

(2 голосов, оценка: 5,00 из 5)
Загрузка...
3 205 просмотров

Комментарии

Как стереть Flash память ESP32 (аппаратный сброс модуля) — 4 комментария

  1. Давно этим пользовался еще на Win_8.1. Неделю назад перешел на 10, работать перестало. Танцы с бубнами не помогли. Переустановил, как написано в статье - все отлично. Огромное спасибо автору!

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

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