UNO R4 WiFi — Загрузка пользовательской прошивки на ESP32 (Продвинутый)
Узнайте, как загрузить пользовательскую прошивку на модуль ESP32-S3 платы UNO R4 WiFi с помощью интерфейса командной строки esptool.py.
Предупреждение
Это руководство предназначено для продвинутых пользователей. Выполнение описанных действий может привести к программному повреждению (soft-brick) вашей платы.
На плате Arduino UNO R4 WiFi установлены два разных микроконтроллера: Renesas RA4M1 и ESP32-S3.
По умолчанию модуль ESP32-S3 работает как последовательный мост, обеспечивая подключение к компьютеру. Он также управляет перезагрузкой основного микроконтроллера Renesas RA4M1, когда это необходимо, например, при получении нового скетча и сбросе.
На UNO R3 аналогичную функцию выполняет ATMEGA16U2, но встроенный модуль ESP32 является более продвинутой системой на кристалле (SoC), добавляющей к плате возможности подключения по Wi-Fi и Bluetooth.
UNO R4 WiFi также предоставляет доступ к линиям данных ESP32, чтобы вы могли программировать ESP32 напрямую. Эти линии данных доступны через разъём 3x2 в верхней части платы или через контактные площадки на нижней стороне.
Важно
Обратите внимание, что на ESP32 установлена прошивка по умолчанию, настроенная для связи с чипом RA4M1. Любое прямое программирование ESP32 перезапишет эту прошивку, и связь между чипами может быть нарушена до тех пор, пока не будет восстановлена прошивка по умолчанию.
Необходимое оборудование и программное обеспечение
Шаг 1: Режим загрузки ESP32
Предупреждение
В этом руководстве мы не предоставляем никакой пользовательской прошивки. Если вы загрузите прошивку, которая не обеспечивает последовательный USB-мост между двумя микроконтроллерами, вы потеряете большую часть функциональности платы!
Чтобы загрузить пользовательскую прошивку на ESP32-S3, нам нужно перевести чип в режим загрузки, замкнув пин загрузки (download pin) и GND. Пин загрузки можно найти на разъёме 3x2 в верхней части платы или на нижней стороне через открытые контактные площадки.
Пин загрузки ESP32-S3
Самый простой способ — использовать провод «мама-мама» и замкнуть контакты в верхней части платы. На этом этапе плата должна быть отключена от питания. После замыкания контактов вы можете подключить плату к компьютеру и убрать перемычку. Если вы проверите имя устройства, оно должно измениться на: USB JTAG/serial debug unit.
Windows
Проверьте в Диспетчере устройств в разделе «Устройства шины USB» (Universal Serial Bus devices).
macOS
Проверьте в «Информации о системе» (System Information) в разделе USB.
Linux
Откройте терминал и введите
lsusb.
Шаг 2: Загрузка прошивки
После того как чип переведён в нужный режим, мы используем esptool для загрузки пользовательской прошивки на плату. Для этого вам нужно скачать и установить Python, который затем можно использовать для установки esptool с помощью простой команды. Убедитесь, что Python установлен, открыв терминал и введя pip3. Вы должны увидеть список команд в терминале. После подтверждения правильной установки установите esptool, введя:
pip3 install esptool
Далее, esptool.py должен быть добавлен в вашу переменную PATH, чтобы вы могли запускать его из любого места, вместо того чтобы каждый раз переходить в папку установки. Переменная PATH позволяет запускать команды и программы из любого места на вашем компьютере без необходимости указывать полный путь к исполняемому файлу. Это делается по-разному в зависимости от вашей операционной системы, подробнее об этом можно прочитать здесь.
Загрузка новой прошивки выполняется в два этапа: сначала стирается текущая прошивка модуля, а затем загружается новая. После настройки всего необходимого достаточно выполнить следующие две команды:
Для стирания флеш-памяти выполните:
esptool.py --chip esp32s3 --port <yourPort> erase_flash
Для загрузки прошивки выполните:
esptool.py --chip esp32s3 --port <your port> write_flash -z 0 <yourCustomFirmware.bin>
Предупреждение
Обратите внимание, что в этом руководстве мы не предоставляем никакой пользовательской прошивки. Если вы загрузите прошивку, которая не обеспечивает последовательный USB-мост между двумя микроконтроллерами, вы потеряете большую часть функциональности платы!
Восстановление прошивки по умолчанию
Чтобы восстановить прошивку по умолчанию на ESP32, ознакомьтесь с руководством Обновление прошивки модуля подключения на UNO R4 WiFi.