- Блог сисадмина
- Добро пожаловать в блог сисадмина-паяльщика
- Китайский программатор-отладчик JLINK V9.6 аналог оригинального J-Link BASE (J-Link BASE Compact) от SEGGER Microcontroller
- Один комментарий на “ Китайский программатор-отладчик JLINK V9.6 аналог оригинального J-Link BASE (J-Link BASE Compact) от SEGGER Microcontroller ”
- Добавить комментарий Отменить ответ
- J link 9 схема своими руками
- Параметры
- Изготовление
- Результаты
- Создать новую ветку комментариев
- J-LINK с Aliexpress за 16.89USD (18.99)
Блог сисадмина
Добро пожаловать в блог сисадмина-паяльщика
Китайский программатор-отладчик JLINK V9.6 аналог оригинального J-Link BASE (J-Link BASE Compact) от SEGGER Microcontroller
Давайте уже приступим к распаковке. Кому интересно, можете посмотреть видео:
Вид с разных сторон:
С этим я разобрался, и когда всё правильно было соединено, у меня всё заработало.
Для начала давайте подключим наш программатор к компьютеру. Драйвера у меня недостающие скачались с Microsoft Update, но не установился какой то драйвер HP_Manager.
Собственно теперь нам нужен испытуемый. Не долго думая, я вспомнил про плату “мозгов” стабилизатора БАСТИОН TEPLOCOM ST-400 INVERTOR, и она любезно согласилась принять участик в эксперименте. Да простят меня разработчики данного стабилизатора, что изгаляюсь над их техникой. Плата:
Ну вот собственно сам стенд:
Выбираем Create new project
Вроде всё, что необходимо сделали:
Нажимаем ОК, и открывается такое окно:
Нажимаем Target затем connect:
Тест по проверке данного программатор завершен. Теперь буду пробовать уже непосредственно считать или зашить МК.
Небольшое добавление от моего друга, по поводу работы отладчика:
На скриншоте ниже показана отладка в МК. Зеленым указана строчка, которая выполнится на следующем шаге, красным- брэкпоинт (если ядро уткнется в адрес, по которому расположена эта строка, ядро остановится для анализа данных через отладчик). В окошке справа от окна с кодом – регистры ядра. Можно смотреть нее только их, но и любые участки памяти, переменные, регистры периферийных модулей и т.д. Вот такая вот замечательная вещь, отладчик.
У меня на этом всё. Спасибо всем кто меня смотрит и читает!
Один комментарий на “ Китайский программатор-отладчик JLINK V9.6 аналог оригинального J-Link BASE (J-Link BASE Compact) от SEGGER Microcontroller ”
Из глубокого уважения к трудам ребят из segger, и по причине недоверия чайнам, лично у меня джей-линк фирменный, чего и вам советую.
У них есть дешевая версия EDU на 60 гринов.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник
J link 9 схема своими руками
Для многих любителей, самое болючее в переходе на новую процессорную архитектуру –необходимость заиметь железяки для заливки кода в камень и для отладки его там. Ну признайтесь, вы хотели проиграться с АРМами, но мысля – а как-же это чудо запрограммировать останавливала вас в этой светлой затее и дальше дело не шло!
В этой статье предлагаю вам сконструировать клон отладчика j-link v5 фирмы Keil. Клон называется mt-link.
Параметры
J-link – классический отладчик для АРМов. Это настоящий быстрый отладчик, а не поделка типа Wiggler’a. Максимальная скорость шины – 12МГц. Мне, к примеру, при скорости 1МГц работать вполне комфортно. AvrDragon на той-же частоте и рядом не валялся, тормозюка.
Более подробно о характеристиках отладчиков можно почитать в талмудах типа https://ftp.iar.se/WWWfiles/jlink/J-Link_J-TraceARM-2.pdf.
Я приведу самое важное из него – стандартную распиновку JTAG’a (вид на разъем отладчика):
Напомню вам, что клонирование отладчиков – занятие неблагородное! Делать это можно только в некоммерческих целях в качестве исследования, итп. Я не несу никакой ответственности за то, что вы сделаете с материалами данной статьи.
Manufacturing and selling these clones is an illegal act
for various reasons, amongst them trademark, copyright and unfair business practise issues.
Я — же лично собрал клон исключительно в некоммерческих исследовательских и образовательных целях.
Изготовление
Тут все как всегда – делаем платку, паяем детали. Платка довольно сложная, рассчитанная на заводское производство, но выкрутиться можно. Я-же выкрутился )
Берем схему тут:
Она-же, только в p-cad.
Ну и плата в p-cad’е:
И, на всякий случай, прошивка:
Для того, чтобы посмотреть P-CAD файлы, вы можете сказать P-CAD Viewer – он бесплатен и найти его в интернете – не проблема.
Делаем платку. Очень повезло, что в P-CAD Viewer’е вполне адекватная печаталка и плату для фоторезиста распечатать таки можно.
Как видно, главная деталька – at91sam7s64, на лицо типичная проблема курицы и яйца. И она, к счастью, тут решена!
Контроллеры at91sam7 имеют USB загрузчик – достаточно только воткнуть USB разъем в компьютер, загрузить с сайта атмела (https://atmel.com, если кто не догадался) пакет at91-isp, установить ее запустить входящую в комплект SAM-PROG.
Теперь – как запустить загрузчик?
Для этого нужно:
Все, контроллер должен обнаружится и будет готов к программированию.
Если вы пользуетесь IAR’ом, то запустите:
C:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\bin\jlink.exe
Программка обновит прошивку отладчика до текущей версии. В ней так-же можно проверить работу некоторых выводов ( напишите команду “?”, вам все распишут ).
Все, с arm7 должно работать. Если вы предполагаете работать с cortex, то придется еще зайти на
и скачать оттуда “Software and documentation pack V4.11m”. При установке нужно будет разрешить заменить dll’ку иара.
Все, кортекс по JTAG’e теперь тоже поддерживается!
Результаты
Отладчик был использован с LPC1756 (Cortex-M3, если кто не в курсе). Я сравнил его с оригинальным J-LINK от IAR v5.4. Естественно, нет никакой разницы.
Естественно, человеческая мысль не стоит на месте, уже есть схемы и прошивки вплоть до восьмой версии отладчика. Найти их можно тут:
Я не собирал, но если вы таки соберете, прошу поделиться.
Мой порыв сделать MT-link умер после того как обаружилось, что на ARM становится Linux, а прошивать можно через COM/Ethernet.
А вот для AVR’ов жизнь заставляет делать USB программатор:-( Теперь вот думаю какой=)
Те армы на которые становится линукс — это уже не эмбеддед, это компы ) Да и не так уж часто они и нужны. По поводу программатора для АВР ничего сказать не могу — сам юзаю дракона )
Да, компы))) Но таки приятно: сунул флешку — видит; сунул SD-карту — видит; даже USB винт на 500Гб сунул — тоже видит.
Для эмбеддеда они таки подходят, если не ставить линукс, а писать сосмому. Хотя, обычно и меги хватает, ибо серьезно я этим не занимаюсь.
А этот MT-Link 5.0 c кортексами под Keil работать будет через JTAG?
Да, в кейле должен работать — это клон сеггеровского линка.
Сергей, а вы можете посоветовать какой-нибудь наиболее перспективный ARM процессор для освоения? Хочется чтобы была производительность приличная по сравнению с AVR, и главное наибольшая безглючность. Смотрел на STM32 Cortex-M3, они вроде ничего, но говорят доки кривые и есть глюки в переферии, есть на данный момент AT91SAM7S32 и LPC2134, но ядро SAM7 не очень шустрое. Как вижу, вы выбрали Cortex-M3 от LPC, какие в пользу этого были доводы? Как впечатление от проца?
Вообще, мне жутко не нравится выражение «процессор для освоения». Процессор должен выбираться под конкретную задачу.
У лпцшных кортексов очень развитая переферия, опробованная на lpc2000, эрраты практически пустые, частота очень высокая — 100МГц, ну и для моей конкретной задачи он подошел, поэтому его и использовал.
Начинать осваивать контроллеры я рекомендую с 8-битных авр/пиков — там больше специфических граблей.
Ну с 8 битными МК я уже работал, но вот тут для одной задачи скорости стало не хватать, пришлось урезать алгоритм и поток данных. Поэтому и хочу освоить более мощную архитектуру.
Ну не знаю, я не согласен. Выбирать процессор под конкретную задачу — их слишком много, и все они в чём то, но разные. Не знаю, может я один такой, но ведь тогда придёться каждые пол-года учить новую архитектуру, что затратно по силам и по времени. А потом перейти не так то легко. Нужен софт , отладчики, библиотеки, операционки и много еще чего… Дорого выходит. Интересно конечно так, поковырять чуть чуть. Разве не в этом плюс контроллеров? Один (Ну не один, но и не все сразу) знаешь, круто на нём программируешь ничего лишнего не учишь. Я сейчас:
1) Пишу для соревнований проект под новый для меня PIC
2) Разгребаю по работе в институте проц ATmega 644
3) Начал осваивать STM8/Пытаюсь хотя как то начать STM32
При этом на компе горы всяких MpLab’ов, IAR’ов, AVR Студий и так далее.
Не говоря уже о Eagl, Proteus, Multisim….
Плюс для каждого свой программатор, разные языки программ…
С другой стороны представление обо всём надо иметь, а знать всё нельзя. Ну вот, что думал, то и сказал=))) Аминь! ))
Новая архитектура учится ровно за день (чтение доки), и то это далеко не всегда нужно — ведь производитель компилятора сделал это за нас. Если знаешь основные принципы — все архитектуры кажутся похожими. Я лично совершенно не чувствую никакого дискомфорта при переходе с архитектуры на архитектуру.
А можно с помощью этого отладчика скажем залезть в проц к КПК ?
ЗЫ А как с следующими версиями ARMов?
>А можно с помощью этого отладчика скажем залезть в проц к КПК ?
Можно, только среда должна поддерживать этот проц.
>А как с следующими версиями ARMов?
Поддерживает все армы с интерфейсом JTAG, не поддерживает SWD
Доброго времени суток.
Скажите пожалуйста, среда H-JTAG с ним работать будет?
И еще :я так понимаю МК серии LPC2xxx он поддерживает?
>среда H-JTAG с ним работать будет?
Не пробовал, но должна.
>я так понимаю МК серии LPC2xxx он поддерживает?
Безоговорочно и непредотвратимо.
Доброго времени суток.
Еще один вопрос: не пробовали программировать из-под Keil’a?
Нет, не пробовал.
Доброго времени суток. У меня есть такой отладчик — отличная штука, но недавно наткнулся на форуме электроникса на тему по апгрейду девайса до седьмой версии. Цена вопроса — 2 перемычки и пол часа времени на перепрошивку. Зачем? — чтобы получить SWD. Смысл в том, что кидаются 2 перемычки от проца к разъему JTAG, т.е. в режиме JTAG обмен с таргетом идет через буфер, а в режиме SWD напрямую, буфер вырубается. Попробовал, запаял перемычки, заменил прошивку на 7ю версию и теперь работаю только по SWD, очень удобно — всего 4 провода, да и то один просто для замера питания таргета. Делал в спешке, поэтому не все помню. Подробности можно найти на указанном форуме в теме что-то вроде «Китаеза линк».
Я в итоге купил китайский клон 8 версии, скоро выложу обзор. Там есть и SWD и SWO.
Посмотрел на ПП и ужаснулся. Спектра видать рулила. 🙂
Дешевле купить 🙂 затраты не стоят тех денег. всего то 130 грн и будет вам шастя 🙂
Создать новую ветку комментариев
Вы должны войти или зарегистрироваться чтобы оставить комментарий.
Источник
J-LINK с Aliexpress за 16.89USD (18.99)
Это не пост из серии «похвастаться покупкой», это пост о том, как я эту железяку запускал. Оказалось нетривиально. И последнюю версию софта с сайта сеггера так и не удалось запустить почему-то. Кому интересно — под кат 🙂
Брал тут. Комплект слегка расширенный переходничком на разные провода. В остальном такой же клон, как и у всех, наверное.
Коробочка на защелках, а китайцы… Такие китайцы… 🙂 Сэкономили копеечку на трех болтиках. Плата прикручена была лишь одним…
Сзади чутка неотмытого флюса, все как в лучших китайских домах 🙂
А теперь самое интересное.
Сходил на сайт сеггера, скачал последнюю версию ПО V4.46e, поставил, запустил JLink.exe, Jlink шустро определился, предложил обновиться…
Обновление прошло успешно, о чем он мне сам же и написал, но вот беда, после этого JLink.exe стал лишь тупить и через некоторое время выдавать мне сообщение, что он не смог, толи с синхронизацией что-то не так, толи еще с чем. В общем, ААААА! Что делать! Паника-паника! «Без паники.» — подумал я, вспомнил, что есть где-то тут уже инструкции по восстановлению, побежал их искать (как выяснилось — зря).
Восстановление.
Отчасти руководствуясь вот этим, отчасти переведя с китайского (не самостоятельно конечно) инструкцию JLINK_____SAMBA в архивчике, я таки допер, как восстановить прошивку постарее.
На моем экземпляре как раз есть блок джамперов ERASE, JTAGSEL, TST — вот их и использовал.
Примерно как было написано: замкнул и подержал ERASE, после чего девайсина стала определяться как «Неопознанное устройство», затем подержал TST (там не все очевидно, у меня прокатывало не всегда, толи надо подержать, выдернуть усб и только потом отпустить, толи наоборот, я так толком и не запомнил).
В общем, в итоге зверь определился как чего-то подходящее для SAM-PROG (все из того же архивчика), и с помощью него я и прошил прошивочку версии 8 с идентификатором 12345678. Сейчас вот об одном жалею, что не переписал свой старый идентификатор, который был в девайсе, хотя и сомневаюсь, что там был какой-то правильный, но все же.
Снова вынул/сунул шнур, устройство определилось опять как JLink, и самое главное JLink.exe его опять начал понимать и предлагать обновить…
Пробы и ошибки:
Еще несколько раз я экспериментировал, пробовал разные версии программщины с сайта сеггера, думал, мало ли, на какой-то пойдет. И правда, пошло. Выяснилось, что нормально работает моя железка до версии 4.40d включительно. Ее и оставил.
Почему я зря парился с SAM-PROG и восстановлением:
В процессе опытов так же выяснилось, что версия программщины 4.40d прекрасно определяет девайсину и с более новыми прошивками! Да-да! То есть, когда я обновил прошивку через JLink.exe V4.46e по самое новое немогу, я не сломал саму железку. Просто сам этот JLink.exe ее почему-то перестал признавать. Может защита какая от паленых устройств?
В общем, JLink.exe V4.40d прекрасно распознает железку с прошивкой, зашитой через JLink.exe V4.46e, то есть с самой новой прошивкой… Вот почему я зря парился с восстановлением. Можно было просто после обновления поставить программщину более старой версии… Но кто же знал? Хотя сигнал об этом был, даже два: 1 — сам обновляльщик сказал, что все обновилось правильно; 2 — винда не перестала корректно определять железку. То есть логично было предположить, что это именно сам софт ее отказывается кушать. Почему? С этим я так и не разобрался.
Есть у кого идеи, почему в моем случае программщина новее версии 4.40d не хочет корректно работать с китайским JLink обновленным с помощью нее же? Может можно что-то с этим сделать? На самом деле не критично, пока вроде и так все работает, но все же…
Собственно в действии:
Подключил стандартным кабелем к не менее китайской минималистичной отладочной плате с STM32F103ZET6…
Запустил Кокос, сварганил простенький проект с миганием диода и… И ничего не завелось…
Нет, настройки я конечно указал, J-Link / JTAG / порт 2331 / путь к JLinkGDBServerCL.exe
Правда зачем-то выбрал Big endian. В общем, при запуске отладки кокос никак не мог нормально ее запустить, и толком ничего вразумительного не писал… Потом я таки допер поменять на Little endian. А до кучи еще и скорость немного снизил в настройках самого JLink до 4000 KHz. В общем, после этого все завелось, пошла отладка, как по JTAG так и по SWD.
Итого:
Честно говоря, ждал чего-то большего 🙂 Мне почему то казалось — вот он полноценный отладчик, специальная железка, не урезанный ST-Link в Discovery… Но, знаете, урезанный ST-Link не только отлаживать позволяет, но и просто прошивать. А вот с подключенным J-Link у меня просто прошивка в кокосе не работает. Вообще этот пункт не активен. Даже не знаю почему. Наверное и тут нужно что-то настроить, а может просто в этой версии кокоса еще не реализована прошивка через J-Link. Ведь перед отладкой-то он прошивку в камень зашивает.
То есть, возможно я еще просто не проникся, «не умею их готовить»?
Если у кого есть какие мысли на сей счет, советы, как что настроить — буду рад услышать 🙂
А пока дак мне удобнее по 4 проводкам подключить Discovery и работать через нее.
PS: да, возможно надо было с кейлом попробовать, но пока вот у меня кокос на повестке дня.
PPS: писал по быстрому, на ошибки и опечатки не проверял — если найдете, поправлю.
Источник