Прошивка ESP32 wroom программатором
- Войдите на сайт для отправки комментариев
Коллеги, научите шить ESP32 wroom программатором .
Нужно будет распаять на плате голый ESP32 wroom (не девкит), в процессе точной подгоники его нужно будет неоднократно прошивать на плате, через программатор.
Пока тренеруюсь шить ESP32 devkitc v4, но ничего не получается. В качестве программатора USB-UART на ch340 (изображение прилагаю). Соединяю RX->TX, TX->RX, GND->GND. ESP32 запитан от батареи, UART от USB компьютера. Соединение на COM порту устанавливается, ESP тестовый текст в терминал отправляет. Далее зажимаю кнопку BOOT (эквивалентно замыканию GPIO0 на землю) и нажимаю кнопку EN (эквивалентно замыканию ноги EN на землю). В терминале появляется приглашение вида
rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2)) waiting for download
Нажимаю загрузить прошивку, но ESP32 не отвечает
Connecting........_____....._____....._____....._____....._____....._____....._____ A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
Били ли у форумчан удачные попытки прошить ESP32 программатором (готов сменить его на другой)?
Заранее спасибо!
Кнопки нужно нажимать, когда идёт процесс
Что бы не выглядеть странно имеет смысл прочитать даташит на ESP. Там есть все, все все все. И самое главное - ответ на основной вопрос топика.
А случаи удачной прошивки были, уверен. У меня, ваще без счета.
Кстати, кнопки нажимать во время не обязательно. Вы нормально переводите проц в режим программирования. А вот уровни напряжений на ногах вашего свистка , видимо не нравятся ESP.
На форум заходят люди которые по каким то причина (религиозным, например. Или незнание языка) не могут прочесть даташит и ищут быстрого и легкого решения в виде использования опыт других :-)
Если речь о напряжение 5/3.3v, то джампер установлен в положении 3.3.
по каким то причина (религиозным, например. Или незнание языка) не могут прочесть даташит
Инвалид?
Если речь о напряжение 5/3.3v, то джампер установлен в положении 3.3.
А вы попробуйте подать питание на свисток с еспшки. Уберите перемычку совсем, а в средний контакт воткните питание от есп.
Ну и причины невозможности чтения даташита, мне тоже интересны.
Поддерживаю, питать свисток и есп лучше от одного источника. Правда я бы лучше подал питание на есп со свистка.
Попробуй уменьшить резистор с GPIO 15. У меня из пяти ЕSP 12, две программировались при этом резисторе 6,2 КОм. При 10 была куча ошибок при проверке, правда в большинстве случаев все работало. Питание со свистка очень слаботочное, где-то читал от 20 до 40 мА, в зависимости от микросхемы. Лучше питать от стабилизатора на 3,3 В. Я обычно программирую так. 1. Снимаю питание с ЕСПшки 2. зажимаю кнопку программирования 3. Включаю питание ЕСП 4. Отпускаю кнопку программирования 5. Заливаю прошивку. Напряжение программирования со свистка 5 или 3,3 никакой роли не играет.
Толерантность ESP32 к 5v под вопросом, так что может и сыграть...
Перепробовал вчера все варианты подключения. С питанием от платы 5v c питанием от платы 3v3, c питанием от свистка 5v и 3v3. Пробовал без соединения VCC с раздельным питанием. Всегда картина одна и та же. При любом варианте соединения связь через терминал есть (вижу что пишет ESP), но загрузка прошивки не происходит:
Connecting........_____....._____....._____....._____....._____....._____....._____
A fatal error occurred: Failed to connect to ESP32: Timed
out
waiting
for
packet header
Что интересно: если запитать ESP и свисток от отдельных источников и соединить только линиями данных данных (без VCC и GND), даже в этом случае связь через порт есть.
значит не судьба
Что интересно: если запитать ESP и свисток от отдельных источников и соединить только линиями данных данных (без VCC и GND), даже в этом случае связь через порт есть.
Без земли (по одному проводу) связи быть не должно. Значит земля где-то обходными путями пролазит. А связь есть действительно, отвечает-ли ЕСП на АТ команды? Или только сообщение об ошибке шлет? Может быть где-то нет контакта между TXD свистка и RXD ESPешки?
Итак, все было проще. Купил другой свисток и все заработало c первого раза. Выбор пал на cp2102 т.к. он используется на esp32-devkitc v4. Правильный вариант соединения RX->TX, TX->RX, GND->GND. Питаются ESP и свисток от разных источников, VCC не соединял. При заливки нажимаем BOOT затем EN. Отпускаем EN отпускаем BOOT. Заливка пошла, как и писал svm.
Всем кто ответил, спасибо. Даже тем, кто хамил :-)
Дополнение: если соединить пин DTR свистка с пином EN ESP, то кнопку EN можно не нажимать. Там появляется низкий сигнал перед загрузкой прошивки, что перезагружает ESP
А в даташит так и не заглянул.