ESP-Prog
Всем доброго времени суток. На просторах Али можно найти такой программатор, как ESP-Prog, на чипе FTDI2232H, с виртуальным COM-портом на борту:
![image](https://habrastorage.org/webt/oc/-h/9p/oc-h9pmb9q6cgltbc7spdetdfnc.jpeg)
Среда разработки
Как IDE мы будем использовать Visual Studio с плагином VisualGDB. Данный плагин предназначен для разроботки ПО для микроконтроллеров, имеет встроенный OpenOCD, который, в большинстве случаев, не надо вручную отлаживать или конфигурировать.
Программируемый микроконтроллер
Нашим таргетом будет ESP-DevKit_V4, с ESP32-WROOM-32D:
![image](https://habrastorage.org/webt/ot/9z/ps/ot9zpst-ohv5nr8k4frmnk5cgug.jpeg)
Установка драйверов для ESP-Prog
Скачиваем с официального сайта драйвера, устанавливаем через диспетчер устройств, «Установить драйвер» — «Искать драйвера на этом компютере», выбираем папку с распакованными драйверами.
Дальше нам понадобится программа Zadig, скачиваем, запускаем. Видим окно:
![image](https://habrastorage.org/webt/wu/nd/lh/wundlhioor4wlarksjj4slpritu.png)
в меню «Options» выбираем «List All Devices», и если драйвера для FTDI2232H установлены правильно, из списка устройств выбираем «Dual RS232-HS (Interface 0)», А в меню «Driver» выбираем «WinUSB». Должно получиться так:
![image](https://habrastorage.org/webt/uz/zl/1f/uzzl1fmbvqnc_zicqbnpgdpl5ni.png)
Реинсталим драйвер, при успешном завершении извлекаем программатор от ПК и засовываем обратно.
Подключение программатора к микроконтроллеру
На задней части программатора есть информация про выводы.
Подключаем по схеме:
![image](https://habrastorage.org/webt/3m/ic/fk/3micfkswbzlt_o3tji8w9vvikyq.png)
![image](https://habrastorage.org/webt/az/7x/09/az7x09s1fedszhgzkyzjqx0gwyu.jpeg)
а питание для ESP32 будем брать с другого порта, так как с одного порта мощности для программатора и ESP32 не хватит.
Настройка дебагера
Запускаем Visual Studio с уже установленным VisualGDB. Жмём «Start new project», там выбираем ESP32/ESP8266 IDF/ADF Project Wizard:
![image](https://habrastorage.org/webt/13/o2/ol/13o2ol-v2yt2k2nbsmf5pqut-_i.png)
Жмём «Next»
![image](https://habrastorage.org/webt/i8/dc/-k/i8dc-kkpuuqp7djzeuaaqm39vxo.png)
Выбираем тулчейн, он установится автоматически:
![image](https://habrastorage.org/webt/sx/l8/gd/sxl8gdpyam8liac9q_fdr02gcos.png)
Тут мы выбираем экзампл, К примеру «softAP»:
![image](https://habrastorage.org/webt/fd/d7/yl/fdd7yldw-6w8dlq6wqvfpzr-o1s.png)
Жмём «Next»
В данном окне мы настраиваем сам дебагер, ставим все как тут, тестим:
![image](https://habrastorage.org/webt/kl/sz/_p/klsz_pnglsrcgp7eryr62xowcl0.png)
Если все успешно, мы получим уведомление об успешном тестировании, если нет, соответственно, ошибку, либо тестовый терминал зависнет.
![image](https://habrastorage.org/webt/lc/k6/nq/lck6nqun3liizmx35kkfjpmqlwi.png)
Жмём «Finish», ждём окончания генерации проекта.
Тестирование в Debug Mode
Компилируем код, ставим брейкпоинт, нажимаем в меню «Debug» — «Start debugging with VisualGDB», ждем окончания загрузки прошивки на ESP32, и дебажим:
![image](https://habrastorage.org/webt/je/6b/jf/je6bjfrdduojza-wyjoavremax8.png)
Важно, чтобы ESP32 и программатор были подключены к разным USB портам, либо ESP32 питался отдельно если у вас готовое устройство, так как мощности не хватает, и дебаг работать не будет, и в тестовом окне мы будем получать ошибку.
Заключение
Мы получаем легкий способ отладки ESP устройств, не нуждающийся в глубокой настройки, плагин все делает сам.
P.S. При скачивании VisualGDB с офф. сайта у нас есть бесплатная лицензия на 30 дней, ну его можно найти и крякнутым, на просторах интернета.
Всем спасибо за внимание, надеюсь, кому-то пригодится эта информация, так как я очень долго искал солюшн для работы с ESP «c коробки», без ручной установки OpenOCD, иной программной периферии.