• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

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

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

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 работает, но через раз и очень медленно.
 

Atom

Member
Имеется следующая связка

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

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

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

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

Только на линуксе.
как на счет этого ?

выглядит красиво, под VS и куча вариантов подкючения
 
Сверху Снизу