Отладка ESP32 в PlatformIO
HTML-код
- Опубликовано: 26 сен 2024
- Отладка скетчей для ESP32 в PlatformIO, используя программатор ESP-Prog (или подобный на FT2232HL).
Документация на программатор ESP-Prog: github.com/esp...
Документация на PlatformIO Unified Debugger: docs.platformi...
Настройка драйверов FT2232HL для использования в качестве отладчика: community.plat...
Исправление скрипта builder/main.py для загрузки скетчей через программатор и OpenOCD: github.com/pla...
Пример отлаживаемого скетча из видео: drive.google.c...
Пишу из 2024. Только начал заниматься ESP32. Спасибо вам за подробный гайд. Узнал много нового. Но к сожалению, информация в видео устарела. Многие контроллеры ESP32 уже имеют встроенныне средства отладки, позволяющие отлаживать по JTAG без программатора ESP-Prog. Те, кто на таком же этапе познаний как и я - примите это к сведенью и ищите свежую информацию. Кстати, я об этом узнал, когда описанный в видео метод отладки не заработал. Оказалось что в моем контроллере ESP32-S3 -N16r8 выводы JTAG для ESP-PROG отключены и что бы их включить надо перепрограммировать контроллер на уровне фьюзов. А по умолчанию, работает встроенный JTAG
Спасибо за поздравления!!!
Вам тоже желаем крепкого здоровья удачи везения м самого важного того что вы себе сами можете пожелать и оно сбудется обязательно!!
Спасибо за видео!!!
Ну что пожелать: щастья здоровья. Побольше аудитории и адекватной
не идёт конечно ни в какое сравнение с бесплатным CubeIDE, но безусловно лучше чем ничего
Спасибо, долгожданное видео, с праздниками!
Мне все же нравится больше VisualMicro для VS, очень стабильно работает, много удобств VS, и есть отладка для esp8266
Подписка уже бесплатная, со вчерашнего дня.
Отличная новость!
Очень пользительно и доходчиво. А то я долго не мог понять что же это за пины TMS,TCK В Вашем ролике нашел ответ. Спасибо. Вечерком попробую как отладчик с RTOS справится, Arduino framework это слишком просто.
Вообще ничего не понял, но очень интересно
Спасибо за видео! С праздниками!
Нравятся мне Ваши видео. Спасибо. Да, PlatformIO сейчас всё упрощает. Пытаюсь разобраться с Rust, но пока инфраструктура не готова для программирования железок. Поддерживает только STM. AVR планируют только в 2019. Пока LLVM тормозит Rust. Так что C++ ничего не угрожает в будущем как основному языку программирования для IoT. Ждём следующих уроков и с Новым Годом!
Спасибо за видео.
С Новым 2020! )
Спасибо
Спасибо за ролик. Не могли бы вы сделать уточнение по поводу сегодняшней ценовой политики PlatformIO. Если зайти на сайт сегодня можно видеть совсем другую картину. Оплата составляет 249 долларов за год или из расчёта 500 помесячно. Это сильно отличается от 2-3 долларов. Получается теперь надо платить 47 долларов помесячно чтобы иметь возможность пользоваться отладкой?
Вроде бы уже больше года не требуется платная подписка для полноценного использования PIO.
Вчера ставил всё бесплатно работает. Правда медленно как-то
Очень уж тормознутая отладка, есть ли возможность как-то увеличить скорость "реакции"? После St-link под IAR уснуть можно.
Пробовал использовать esp prog для esp8266 вместо esp32, но у меня ничего не вышло. Есть способ отлаживать esp8266 подобным способом?
В PIO по простому видимо нет. А так ищите ESP8266 JTAG...
Как бороть: Error: timed out while waiting for target halted / 4 - 2
И не работает заливка прошивки на плату.
Но при запуске отладки, вот это:
Info : clock speed 20000 kHz
Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1)
Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1
Я так понимаю говорит о том что JTAG контроллер нашел ESP32.
Я так и не понял как переменные на лету править?
У вас самые продвинутые видео по ESP8266, очень круто. Спасибо за просвещение. Если не ошибаюсь у вас было видео по построению Mesh сети на ESP, удалили ?
Не, я демонстрировал UDP широковещательные, это не mesh.
Более того, пару лет назад среди документации на Espressif был файл про mesh, только незаконченный. И в рекламе ESP8266 упоминалась эта прогрессивная технология... Но давно уже все хвосты подчистили. Возможно из-за выхода ESP32, а возможно "не шмогла".
А что с J-Link, который есть у каждого второго? Не будет видео по отладке с ним?
Видимо я первый, раз у меня нет J-Link'а. :)
А что, без видео по аналогии и с помощью документации на сайте никак?
Доброе время суток! Вопрос с использованием FreeRTOS отладка будет нормально работать? У меня на простых сценариях работает, на сложных проектах с FreeRTOS уходит в никуда (.
Вы сами ответили на свой вопрос.
С этим как то можно бороться? Или не стоит?
Приветствую! Что делать, если пины ESP32 12,13,14,15 заняты, а отладить надо?
JTAG пины не ремапятся, так что если висящие на них устройства препятствуют отладке и не могут быть перенесены на другие пины, то JTAG отладка невозможна.
Serial.print...
@@alexmorozov73 Жаль...
А использовать что то типо Wemos нельзя?
Что-то типа Wemos - это D1 mini?
Я же в конце ролика сказал, что отладка ESP8266 не поддерживается (надеюсь пока).
@@alexmorozov73 Wemos выпустили платку на ESP32
Значит можно. Лишь бы указанные ноги на плате присутствовали.
Объясните, зачем эти танцы с бубном, если в качестве отладчика вполне подходит монитор порта ардуино иде?
Я две недели убил на написание SMS шлюза на ESP8266 (прием писем по электронной почте и отправка их в виде SMS) на поиск пары незначительных ошибок в коде. Пришлось добавить полсотни Serial.print в разных участках кода, чтобы хоть как-то локализовать проблему.
Так что вперед, никто вас не неволит.
Это вы сейчас не подумавши ляпнули😀
Даль что не получается отладить..после захода во временный брэкпоинт в основной программе по точкам останова уже не останавливается..висит непонятно где.
Temporary breakpoint
1, app_main () at C:\Users\Anton\.platformio\packages\framework-arduinoespressif32\cores\esp32\main.cpp:29
29 {
Info : esp32.cpu0: Target halted, PC=0x400D25D5, debug_reason=00000000
Info : Set GDB target to 'esp32.cpu0'
esp32.cpu0: Target halted, PC=0x400D25D5, debug_reason=00000000
Set GDB target to 'esp32.cpu0'
Info : esp32.cpu1: Target halted, PC=0x400D2588, debug_reason=00000001
esp32.cpu1: Target halted, PC=0x400D2588, debug_reason=00000001
[New Thread 1073447000]
[Switching to Thread 1073447000]
Breakpoint
6, loopTask (pvParameters=0x400d2588 ) at C:\Users\Anton\.platformio\packages\framework-arduinoespressif32\cores\esp32\main.cpp:17
17 {
Info : esp32.cpu1: Target halted, PC=0x400837BE, debug_reason=00000000
Info : Set GDB target to 'esp32.cpu1'
esp32.cpu1: Target halted, PC=0x400837BE, debug_reason=00000000
Set GDB target to 'esp32.cpu1'
Info : esp32.cpu0: Target halted, PC=0x400E9AFA, debug_reason=00000000
esp32.cpu0: Target halted, PC=0x400E9AFA, debug_reason=00000000
Надимаем паузу и высвечивается следующее.
Program received signal
SIGINT, Interrupt.
0x400837be in _xt_lowint1 () at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/xtensa_vectors.S:1154
1154 /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/xtensa_vectors.S: No such file or directory.
А дома данный пример и тот же самый программатор ESP-Prog останавливается на точках на которых указал.. ничего не понимаю..
Если честно то начинает уже накалять эта костыльность ESP32.. то ли дело AVR PIC STM нажимаем отладку и поехали в нормальную отладку.