ESP32 + Jlink + Eclipse (отладка)

pvvx

Активный участник сообщества
Имеется следующая связка

ESP32 (модуль WROOM) + Jlink + Eclipse.

Возможно ли проводить отладку под Windows?

Судя по документу

http://espressif.com/sites/default/files/documentation/jtag_debugging_for_esp32_en.pdf

Только на линуксе.
Такой-же вопрос уже ставился. Нет пока ничего дельного...
Можно перевести дрова на Jlink c помощью Zadig - USB driver installation made easy на libusb и подружить с OpenOCD, но всё равно система у esp-idf кривая и подразумевает работу только в блокноте :)
 

AI_U

New member
Такой-же вопрос уже ставился. Нет пока ничего дельного...
Можно перевести дрова на Jlink c помощью Zadig - USB driver installation made easy на libusb и подружить с OpenOCD, но всё равно система у esp-idf кривая и подразумевает работу только в блокноте :)
Спасибо за ответ!
Получается что нормального способа отладки для ESP32 никак не получить?

Не обязательно под виндой, можно и под линуксом, но чтобы в среде какой-то (неважно Eclipse, Keil, IAR).
Может даже отказаться от Jlink'a , и на каком-то другом JTAG переходнике есть решение?
 
Последнее редактирование:

sharikov

Active member
Получается что нормального способа отладки для ESP32 никак не получить?
Суть проблемы непонятна.
Espressif дает openocd-esp32, я его собирал для винды под cygwin.
https://yadi.sk/d/zpIftKEdvV3GiBMv
Esp32 у меня нет но с RTL он работает.
Берете jlink или ваш любимый jtag адаптер, подключаете и пробуете отлаживать в eclipse.
Для jlink под виндой нужно менять дрова с помощью zadig, все давно описано.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Суть проблемы непонятна.
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 к нему.
 
Последнее редактирование:

AI_U

New member
Суть проблемы непонятна.
В чем отлаживать ESP-32S? В командной строке?
В Keil или IAR?
Может я не совсем корректно изъяснил что мне нужно, хочу подробнее объяснить.

Под отладкой я подразумеваю следующее:

Точки останова + по-шаговое выполнение программы + возможность посмотреть состояние переменных на каждом этапе.

Было у меня до этого stm32 плата
+ Jlink отладчик
+ среда Keil.
В данной "комбинации" проблем с запуском и отладкой не то чтобы не было, но в целом не нужно было много телодвижений по настройке самой среды. Подключил отладчик к пк, плату к отладчику, среда определила проц - поехали.

Собственно, проводя аналогии с тем что было до ESP32, я ожидал что тут будет нечто подобное: настроить среду, подключить модуль к ПК и можно будет приступать.

Но сейчас, с горем пополам настроив Eclipse я уже хотел было примеры от Espressif залить и посмотреть как оно все работает, но столкнулся с проблемой: а как собственно программу стартануть под отладкой?

Почитав дальше, правильно ли я понял следующие мометы:
1) примеры espressif в своей документации дало на эклипс от балды в силу его бесплатности, не принципиально что именно будет в качестве IDE выступать.
2) openOCD нужен исключительно как "инструмент"-плагин в эклипсе для проведения
. Т.е. напрямую с ним никаких манипуляций пользователю не нужно будет проводить.
3) Фреймворк esp-idf содержит набор инструментов (аля HAL библиотека?), которые можно использовать но они "как есть" и ничего там не поменять.
 
Последнее редактирование:

valerivp

New member
pvvx, подскажите пожалуйста, какое железо и ПО нужны для отладки? Не важно, линукс или винда.
Мне нужно только для отладки моего кода, для которого есть исходники.
По поводу железа - ткните плиз носом в конкретный девайс. Разных jtag-ов миллион, а я не знаю чем они отличаются. Я в железе не очень.
 

pvvx

Активный участник сообщества
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
 
Последнее редактирование:

valerivp

New member
у меня есть AVR JTAG ICE USB скачать программист Эмулятор (Алюминий В виде ракушки + перегрузок по току + широкие Напряжение + буфера чип + кабель) купить на AliExpress , покупал для atmega, потом оказалось что с платами ардуины не работает. так и лежит не юзаная.
подойдет для linux?

у меня есть такая devboard: http://esp32.net/images/Guoyun/Goouuu-ESP32/Guoyun_Goouuu-ESP32_PhotoTopPerspective4.jpg

вы про нее говорите? или что-то другое?
 

pvvx

Активный участник сообщества
Тут главное, чтобы ваш отладчик стыковался с 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 я не хочу.
 

valerivp

New member
Специально устанавливать операционные системы и искать FT2232 чип да распаивать его на соплях, для глюко ESP-32 я не хочу.
Правильно ли я понял, что если я возьму jtag с таким чипом, то на линукс я относительно просто получу отладку?
 

pvvx

Активный участник сообщества
Правильно ли я понял, что если я возьму jtag с таким чипом, то на линукс я относительно просто получу отладку?
Проприетарную версию для 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.
Ковырять её, чтобы в отладчике увидеть в пределе дизасм закрытых либ без исходников на втором шаге я не собираюсь.
 
Последнее редактирование:

Urbas81

Member
Тоже пытаюсь запустить отладку, J-link готового нет, нашел прошивку для платы stm32f102, но там нужно допаять резисторы, решил попробовать на ftdi232RL, с этой микросхемой все проще, вывел провода и все. Теперь у меня вопрос, так как с jtag и отладкой никогда не занимался, запустить пока не получилось, сам адаптер читает информацию о ядрах, что-то там выводит, но выскакивают ошибки, поиск по форуму esp32 пока ни к чему не привел, как понять не подходит мой адаптер или косяки в настройках/программах? так же поведение отладки и выводимая в консоль информация зависит от того с какими ключами запускать openocd, В общем запутался, можно увидеть Ваши настройки в eclipse?
 

Urbas81

Member
Взял j-link v.9 отладка запустилась, CLK максимум 15МГц поддерживает, на ft232rl и st103 работает, но через раз и очень медленно.
 
Сверху Снизу