Такой-же вопрос уже ставился. Нет пока ничего дельного...
Можно перевести дрова на Jlink c помощью Zadig - USB driver installation made easy на libusb и подружить с OpenOCD, но всё равно система у esp-idf кривая и подразумевает работу только в блокноте
Такой-же вопрос уже ставился. Нет пока ничего дельного...
Можно перевести дрова на Jlink c помощью Zadig - USB driver installation made easy на libusb и подружить с OpenOCD, но всё равно система у esp-idf кривая и подразумевает работу только в блокноте
Спасибо за ответ!
Получается что нормального способа отладки для ESP32 никак не получить?
Не обязательно под виндой, можно и под линуксом, но чтобы в среде какой-то (неважно Eclipse, Keil, IAR).
Может даже отказаться от Jlink'a , и на каком-то другом JTAG переходнике есть решение?
Суть проблемы непонятна.
Espressif дает openocd-esp32, я его собирал для винды под cygwin. https://yadi.sk/d/zpIftKEdvV3GiBMv
Esp32 у меня нет но с RTL он работает.
Берете jlink или ваш любимый jtag адаптер, подключаете и пробуете отлаживать в eclipse.
Для jlink под виндой нужно менять дрова с помощью zadig, все давно описано.
Суть проблемы непонятна.
Espressif дает openocd-esp32, я его собирал для винды под cygwin. https://yadi.sk/d/zpIftKEdvV3GiBMv
Esp32 у меня нет но с RTL он работает.
Берете jlink или ваш любимый jtag адаптер, подключаете и пробуете отлаживать в eclipse.
Для jlink под виндой нужно менять дрова с помощью zadig, все давно описано.
В чем отлаживать ESP-32S? В командной строке?
В Keil или IAR?
Куда соединить проводки – это не вызывает никакой сложности, как и согласование модели Jtag к OpenOCD, но среды, конкретно SDK, на ESP-32S нет. О DDK вообще разговор не идет… Есть всего кучка файлов исходников типа main c обращениями к закрытым либам API уровня мигания светодиода и установщик специальной среды для сборки всего этого в Винде, а самой оболочки, которая входит в любой SDK или созданы файлы для старта стандартных сред отладки и сборки проектов не существует. Имеем полуфабрикат – незаконченный SDK с единственной возможностью поковырять в GDB командную строку и убедится, что Jtag включен. И смысла запустить всё это в какой-то среде нет – 90% кода закрыто и возможности изменения нет. Глазеть на дизасм листинги полученные через Jtag? Аналогично и c ESP8266, спустя 3 года разработок Espressif SDK к нему.
Может я не совсем корректно изъяснил что мне нужно, хочу подробнее объяснить.
Под отладкой я подразумеваю следующее:
Точки останова + по-шаговое выполнение программы + возможность посмотреть состояние переменных на каждом этапе.
Было у меня до этого stm32 плата
+ Jlink отладчик
+ среда Keil.
В данной "комбинации" проблем с запуском и отладкой не то чтобы не было, но в целом не нужно было много телодвижений по настройке самой среды. Подключил отладчик к пк, плату к отладчику, среда определила проц - поехали.
Собственно, проводя аналогии с тем что было до ESP32, я ожидал что тут будет нечто подобное: настроить среду, подключить модуль к ПК и можно будет приступать.
Но сейчас, с горем пополам настроив Eclipse я уже хотел было примеры от Espressif залить и посмотреть как оно все работает, но столкнулся с проблемой: а как собственно программу стартануть под отладкой?
Почитав дальше, правильно ли я понял следующие мометы:
1) примеры espressif в своей документации дало на эклипс от балды в силу его бесплатности, не принципиально что именно будет в качестве IDE выступать.
2) openOCD нужен исключительно как "инструмент"-плагин в эклипсе для проведения
. Т.е. напрямую с ним никаких манипуляций пользователю не нужно будет проводить.
3) Фреймворк esp-idf содержит набор инструментов (аля HAL библиотека?), которые можно использовать но они "как есть" и ничего там не поменять.
pvvx, подскажите пожалуйста, какое железо и ПО нужны для отладки? Не важно, линукс или винда.
Мне нужно только для отладки моего кода, для которого есть исходники.
По поводу железа - ткните плиз носом в конкретный девайс. Разных jtag-ов миллион, а я не знаю чем они отличаются. Я в железе не очень.
pvvx, подскажите пожалуйста, какое железо и ПО нужны для отладки? Не важно, линукс или винда.
Мне нужно только для отладки моего кода, для которого есть исходники.
По поводу железа - ткните плиз носом в конкретный девайс. Разных jtag-ов миллион, а я не знаю чем они отличаются. Я в железе не очень.
На сегодня ничего не сделать. Имеющийся https://dl.espressif.com/dl/openocd-esp32-win32-a859564.zip , указанный в Setup OpenOCD for Windows — ESP-IDF Programming Guide v3.0-dev-2116-gbae9709 documentation не содержит требуемых *.dll.
В Win10 WSL Ubuntu Jlink не виден, а SEGGER не поддерживает ESP и его сервер JLinkGDBServer.exe не запустить просто так c ESP.
В Win10 WSL Ubuntu, используя инструкции с сайта ESP-32, вы получите только это: Open On-Chip Debugger 0.10.0-dev-ga859564 (2017-07-24-16:16)
Licensed under GNU GPL v2
For bug reports, read OpenOCD: Bug Reporting
adapter speed: 20000 kHz
force hard breakpoints
Info : No device selected, using first device.
Error: No J-Link device found.
По этим причинам описание установки JTAG для ESP-32 будет содержать сотни страниц, с программированием собственных скриптов и с возможными различиями вашей конфигурации и адаптеров... Я не готов к такому - не считаю, что на это надо тратить время и засорять свои компы кучей недоделанного хлама. Да и для закрытых SDK отладчик бесполезен.
Покупайте готовую DevBoard cо встроенным отладчиком. На Linux, как запустить описание есть JTAG Debugging — ESP-IDF Programming Guide v3.0-dev-2116-gbae9709 documentation
Тут главное, чтобы ваш отладчик стыковался с Linux OpenOCD.
Автоперевод Topic: OpenOCD Config File with ESP32-Wrover-Kit | Sysprogs : "Для ESP32 нет сторонней экосистемы инструмента, поэтому порт Espressif OpenOCD является единственным способом отладки своих устройств (ESP8266 также поддерживает отладку через UART с помощью программного обеспечения gdb stub, который работает поверх вашего программного обеспечения, но он не был перенесен к ESP32 еще)."
Правда это было писано уже давно, но сдвигов не видно.
К примеру на Win10 WSL (в разделе Ubuntu) просто так не запустить команд, указанных в описании для сборки или установки под Linux версии порта OpenOCD от Espressif. Помучаетесь на каждом шагу/строчке.
Со сборкой самого SDK - проблем под WSL нет. Могу поглядеть что там надо махнуть, чтобы обойтись без всяких эмуляторов Msys2 и прочего барахла, т.к. у меня оно успешно работает, что не сказать о Jtag (глюк полный с ESP32).
Специально устанавливать операционные системы и искать FT2232 чип да распаивать его на соплях, для глюко ESP-32 я не хочу.
Проприетарную версию для VisualGDB и кривенькую версию для 'линукс'.
Про OpenOCD под 'линукс' ничего сказать не могу, т.к. не использовал с ESP-32 и тем более с FTDI.
Под WSL OpenOCD редакции Espressif сборку сделал, но толку то...
Я не использую VisualGDB. Тут что-то про ESP32 есть: Creating and Referencing Custom ESP-IDF Components | VisualGDB Tutorials Ну, а раз есть поддержка ESP-IDF, то наверно и отладка должна быть. Иначе зачем это всё? ESP8266/ESP32 | VisualGDB Tutorials
----
В win10, предлагаемый msys2 c OpenOCD требует замену драйверу Jlink. А пере-инсталлировать каждые пять минут драйвер я не собираюсь, т.к. использую утилиты SEGGER.
С родным драйвером Jlink, который понимают все другие отладчики и стандартный OpenOCD/JLinkGDBServer – всё хорошо, а в данной для ESP-32 версии:
Код:
$ bin/openocd -s share/openocd/scripts -f Jlink.cfg -f board/esp-wroom-32.cfg
Open On-Chip Debugger 0.10.0-dev-ga859564 (2017-07-24-16:18)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 20000 kHz
force hard breakpoints
jaylink: Failed to open device: LIBUSB_ERROR_NOT_SUPPORTED.
Info : No device selected, using first device.
Error: No J-Link device found.
Ковырять её, чтобы в отладчике увидеть в пределе дизасм закрытых либ без исходников на втором шаге я не собираюсь.
Тоже пытаюсь запустить отладку, J-link готового нет, нашел прошивку для платы stm32f102, но там нужно допаять резисторы, решил попробовать на ftdi232RL, с этой микросхемой все проще, вывел провода и все. Теперь у меня вопрос, так как с jtag и отладкой никогда не занимался, запустить пока не получилось, сам адаптер читает информацию о ядрах, что-то там выводит, но выскакивают ошибки, поиск по форуму esp32 пока ни к чему не привел, как понять не подходит мой адаптер или косяки в настройках/программах? так же поведение отладки и выводимая в консоль информация зависит от того с какими ключами запускать openocd, В общем запутался, можно увидеть Ваши настройки в eclipse?