• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

JTAG/SWD (китайский J-Link STLink V2) c OpenOCD

Vasus88

New member
Спасибо.
А вот такая штука не справится? https://github.com/ataradov/edbg Часто этот чел попадается, вроде на микрочип(атмел) работает. Попробую собрать. Если не прокатит, то уже и эклипс буду ковырять. Хочется именно простейший флешлодер, а не среду разработки.
 

pvvx

Активный участник сообщества
Но к атмелу такой jlink цепляться не хочет, говорит, что его можно использовать только с ST. И с чужими устройствами работать отказывается. Как обойти эту проблему я не нашел.
Вы не читали данную ветку? Там подробно расписано что надо делать для тех кто занимается изучением и не преследует коммерческие планы.
------
C CMSIS-DAP вы только потеряете время, но не получите того, чего хотели. Выйдет какая-то тормозная полумера, убив время на перелопачивание кучи кривой open-помойки… Да, там можно написать более менее драйвер в конечный чип интерфейса, но всю остальную галиматью вы всё равно не перепишите, т.к. заполонение идиотами желающими встроить отсебятину по мотивам ардунщины в данном обществе вы не исправите.

Более простой метод – это адаптировать варианты J-Link под свои нужны. Тот-же SEGGER (про)дает среду для таких разработок (встроенных систем отладки), но видимо вам это не по силам (по цене). Тогда проще сделать пару ходов в пару минут и устранить дремучую коммерческую опухоль в его ПО, которая имеет защиту исключительно от дураков и призвана отгонять ардуинщинков, а не повязана на прибыли SEGGER...

Но если и такой вариант вам не по силам, то давайте сразу поставим вас в полную зависимость: Напишите на какую версию Jlink вам надо указание какие байты поменять, чтобы он не выводил надпись о несовмещении разрешения работы с ним.
 

pvvx

Активный участник сообщества
Установил Кейл, он видит программатор CMSIS-DAP и даже нормально пишет и стирает, Теперь надо сделать то же самое простым и бесплатным софтом. Подскажите, куда копать.
Если вы не имеете прибыли достаточной для оплаты общепризнанных сторонних средств отладки, то горе вашему бизнесу и его стоит пересмотреть. Другой вариант кроется в собственном изготовлении специализированных и конкретизированных средств отладки.
Сообщество, к примеру создающее CMSIS-DAP, не имеет системы отбора правильных направлений. Там не обсуждается развитие информационной среды, а софт составлен из кривых выплевков отсебятины не учитывающих и не анализирующих современные тенденции в совте, да и не разбирается вообще как строится процесс отладки и его нужды в большой коммерческой цепочке даже малого предприятия. Это под силу только специальным группам у которых прямая зависимость жизни и смерти от результата, а не пиар в блогах.

Из таких разработок (для мелких MCU/SoC) отладчиков в данном сегменте имеется только SEGGER. Но его деятельность направлена на общий коммерческий сегмент и не включает в себя мелочи или новизну, необходимую для специальных проектов и частного предприятия. Но для этого тот-же SEGGER выпускает всякие SDK, чтобы вы смогли обеспечить свои конкретные нужны в своей системе.

Обращение к CMSIS-DAP – это вхождение в другую игру, где царствуют другие правила. Там никогда не будет прядка и однозначности. Эта игра ради игры, c целью отдать прибыль другим (если имеется в виду частный бизнес). Другого open-source проекта по данной теме пока никто не взял на себя и у них конкурентов нет – нет организации взявшейся окучивать данную тематику и устанавливать адекватные правила. От того у них там полный бардак.
 

pvvx

Активный участник сообщества
Соответственно, если у вас нет времени разгребать бардак в CMSIS-DAP, то для обычного обывателя проще взять что-то готовое и отлаженное. Этим и выступает SEGGER. И обыватель-домохозяйка – это не контингент SEGGER и не его прибыль. Но общество имеет законы которые приходится ублажать. Это по поводу всяких запретов в лицензиях…

Другое дело если вы лично хотите изучить всю проблематику общественной деятельности недоучек и создать очередную отсебятину не учитывающую накопленный опыт человечества, то берите CMSIS-DAP и переписывайте его каждый раз под новую версию и по мере вашего изучения и адаптации данной проблематики к своему предприятию.

Я бы не сказал, что SEGGER покрывает все необходимые нужды, но всё-же его совт построен с учетом последних тенденций и более менее переваривается в сложившихся структурах. Там много чего нет для отладки тупыми работниками выездных сервисов, но тенденция на создание универсального интерфейса у SEGGER была обнародована. Т.е. даже до этого они уже дошли несколько лет назад, но общество не поддержало. Тут сказались другие факторы – так называемая “креативность” в “обществе потребительства” диктующая извращения (т.е. множество никому не нужных частных решений не учитывающих развитие и направленных в обратную сторону).
 

nikolz

Well-known member
Спасибо.
А вот такая штука не справится? https://github.com/ataradov/edbg Часто этот чел попадается, вроде на микрочип(атмел) работает. Попробую собрать. Если не прокатит, то уже и эклипс буду ковырять. Хочется именно простейший флешлодер, а не среду разработки.
полагаю, если надо лишь программировать,то можно и это.
 

Urbas81

Member
Перечитал всю ветку, но не совсем понял, перепрошив ST-Link с CKS микросхемой, им можно будет подключиться для отладки к ESP32? С jtag никогда не работал, в наличии только ST-Link V2.
 

pvvx

Активный участник сообщества
Перечитал всю ветку, но не совсем понял, перепрошив ST-Link с CKS микросхемой, им можно будет подключиться для отладки к ESP32? С jtag никогда не работал, в наличии только ST-Link V2.
У ST-Link V2 нет интерфейса JTAG. Есть только SWD.
 

Urbas81

Member
У ST-Link V2 нет интерфейса JTAG. Есть только SWD.
Начал сверять схемы, понял что не все выведено, к тому же у меня еще и версия с CKS103F, думал можно его перепрошить в J-link и подпаяться к нужным ножкам, везде пишут что микросхемы совместимы, сейчас посмотрел Вашу схему для SEGGER J-Link ARM V7.00 судя по всему просто припаять пару проводов недостаточно, сигналы идут на вход и на выход контроллера, на той плате это собрать не реально. заработает ли та прошивка если взять плату Blue pill?
 

pvvx

Активный участник сообщества
заработает ли та прошивка если взять плату Blue pill?
Возможно работать будет, но думается, что проще взять на али какой J-Link V8-9 со всеми интерфейсами (JTAG, SWD, SPI, ...).
Вам же поиграться и не встройку на нем делать, а на это ни какие лицензии не нужны...
У J-Link V8..9+ одно неудобство - большая коробка.
 

Urbas81

Member
Возможно работать будет, но думается, что проще взять на али какой J-Link V8-9 со всеми интерфейсами (JTAG, SWD, SPI, ...).
Вам же поиграться и не встройку на нем делать, а на это ни какие лицензии не нужны...
У J-Link V8..9+ одно неудобство - большая коробка.
Тут вопрос больше в быстроте приобретения и цене, готовый J-Link V8 я и по месту могу взять, но он раз в 5 дороже Blue pill, и если вдруг он окажется не сильно востребован, то Blue pill можно еще и как тестовую плату использовать.
 

Urbas81

Member
Возможно работать будет, но думается, что проще взять на али какой J-Link V8-9 со всеми интерфейсами (JTAG, SWD, SPI, ...).
Вам же поиграться и не встройку на нем делать, а на это ни какие лицензии не нужны...
У J-Link V8..9+ одно неудобство - большая коробка.
С Blue Pill кое как получилось запустить отладку, правда не всегда стабильно, взял прошивку V7.0 которую Вы прикладывали, по схеме там много дублирующих сигналов, а так же выходы через резисторы заводятся на входы, я для быстрой проверки взял только выходы на esp32, будет ли переходник работать стабильнее, если сделать полную обвязку, как по схеме. Посмотрел частоту TCK около 1 МГц, и выше вроде как не поднимается, вот и думаю это следствие неполной схемы или на этой версии больше не получить?
Сначала попытался запустить на ft232RL, там просто выходы взять, тоже TCK 1 МГц, вроде как для этой микросхемы это предел в битбанге, но отладка не запустилась пока на нем.
 

pvvx

Активный участник сообщества
С Blue Pill .......... частоту TCK около 1 МГц
А что вы хотите от USB1.1 (Full-Speed до 12 Мбит/с)?
USB2.0 Full-Speed (оно-же USB1.1) работает с опросом 1000 раз в сек (шаг 1 мс) по 64 байта, что и составляет туда-суда 64000(*2) байта в сек или 1024000 бит. Интерфейсы SEGGER типа JTAG или даже SWD передают около одного переключения CLK на байт, что и составляет частоты шин SWD/JTAG до 2-х MГц в идеальном случае… У ST-Link при этом (USB1.1 - STM32F10x) предел 1 МГц, как и у остальных...
 

pvvx

Активный участник сообщества
JLink V9+ имеет USB2.0 High-Speed-480 Мбит/с и CLK там у SWD/JTAG к 8 MГц...
 

thevoidnn

New member
Всем привет :) Сорри, что не совсем по теме, но мне этот тред показался самым близким. В общем уже года 3 наблюдаю, как китайцы охотно форкают и качают мою прошивку, т.к. кто-то давным давно запилил статью о ней на китайском. А русскоговорящие как-то видимо и не в курсе... В общем вот: https://github.com/thevoidnn/esp8266-wifi-cmsis-dap . Прошивка для esp8266, превращающая его в БЕСПРОВОДНОЙ cmsis-dap, через который можно, например, дебажить/шить stm32 или ещё чего по WiFi из любой среды, поддерживающей cmsis-dap... Китаец успешно собрал софт под windows и потестил (там драйвер на стек usb/ip нужен, в шиндовс придётся с бубном чуть-чуть попрыгать, т.к. нет драйвера подписанного, а вот в *nix'ах из коробки всё норм)
 

Urbas81

Member
Всем привет :) Сорри, что не совсем по теме, но мне этот тред показался самым близким. В общем уже года 3 наблюдаю, как китайцы охотно форкают и качают мою прошивку, т.к. кто-то давным давно запилил статью о ней на китайском. А русскоговорящие как-то видимо и не в курсе... В общем вот: https://github.com/thevoidnn/esp8266-wifi-cmsis-dap . Прошивка для esp8266, превращающая его в БЕСПРОВОДНОЙ cmsis-dap, через который можно, например, дебажить/шить stm32 или ещё чего по WiFi из любой среды, поддерживающей cmsis-dap... Китаец успешно собрал софт под windows и потестил (там драйвер на стек usb/ip нужен, в шиндовс придётся с бубном чуть-чуть попрыгать, т.к. нет драйвера подписанного, а вот в *nix'ах из коробки всё норм)
А это как jtag адаптер можно использовать? и что по скорости получится?
 

Neo_Matrix

New member
Всем привет :) Сорри, что не совсем по теме, но мне этот тред показался самым близким. В общем уже года 3 наблюдаю, как китайцы охотно форкают и качают мою прошивку, т.к. кто-то давным давно запилил статью о ней на китайском. А русскоговорящие как-то видимо и не в курсе... В общем вот: https://github.com/thevoidnn/esp8266-wifi-cmsis-dap . Прошивка для esp8266, превращающая его в БЕСПРОВОДНОЙ cmsis-dap, через который можно, например, дебажить/шить stm32 или ещё чего по WiFi из любой среды, поддерживающей cmsis-dap... Китаец успешно собрал софт под windows и потестил (там драйвер на стек usb/ip нужен, в шиндовс придётся с бубном чуть-чуть попрыгать, т.к. нет драйвера подписанного, а вот в *nix'ах из коробки всё норм)
Часто бывает необходимость отлаживать устройство установленное в чужом оборудовании и это не всегда удобно. Сейчас использую жетлинк и кабель длиной в пару метров, хотел для упрощения себе жизни запилить отладку по воздуху, даже с учетом тормознутости устроит, так как в основном необходимо оттрейсить пару десятков брейкпоинтов. Так вот Ваша прошивка нормально прошилась, но не могу под нее подобрать правильную версию usb/ip, новый форк видит устройство, оно появляется в диспетчере как hid устройство, но драйвера на него не устанавливаются(проблему цифровой подписи решил). Оригинальная, последняя версия пишет, что версия сервера не совпадает с клиентом и естественно нечего не работает. Подскажите Вашу версию, думаю что в линуксе версионность не изменили, если вы им пользуетесь.
 

thevoidnn

New member
А это как jtag адаптер можно использовать? и что по скорости получится?
как jtag да, по скорости, увы, ничего сказать не могу :)


Подскажите Вашу версию, думаю что в линуксе версионность не изменили, если вы им пользуетесь.
немного погуглил, вот последняя версия usbip для шindows, где правильная версия proto прописана, как в linux'овом варианте. https://github.com/cezanne/usbip-win

PS мне скоро должны ESP32 приехать, так что перепишу это дело под esp-idf (один китаец так уже сделал, но я нашёл в его коде тройку багов и фатальный недостаток :D)
 

Neo_Matrix

New member
Именно эту версию и пообовал, это форк оригинального usb/ip. Походу там юсб дескрипторы отличаются или еще что то. Как я понял версии клиент/сервер и поддерживаемые ими команды/дескрипторы должны быть одинаковыми. Но в код не углублялся. Не в Ваш, не в ЮСБ.
 
Сверху Снизу