Привет всем читателям! Давно хотел себе программатор для микроконтроллеров. Когда почитать прошивку если возможно, иногда чего то зашить самому. В общем дело дошло до китайского программатора-отладчика JLINK V9.6. Это аналог железки от SEGGER Microcontroller только в 10 раз дешевле. Многих скажут, что могу купить простую железку на 300р и не морочить голову, но решил сделать так, как сделал. Кричать, что я ничего не понимаю, и всё в этом духе не стоит, я эту железку держу в руках первый раз, и ранее навыков работы с программаторами у меня ет.
Программатор-отладчик JLINK v9.6
http://ali.pub/37vzi5
Адаптер с проводами
http://ali.pub/37w1pv
Программатор-отладчик J-Link у других продавцов
http://ali.pub/37w1yt
Давайте уже приступим к распаковке. Кому интересно, можете посмотреть видео:
Приехал программатор-отладчик в картонной коробочке небольшого размера. Без особой упаковки всё было брошено внутрь и придавлено куском пенопласта, видимо чтобы не болталось. Сам программатор был в простом пакете. Если бы посылку подлило, то программатор был бы залитый. Мне повезло.
В комплект входит сам программатор, кабель JTAG + SWD, кабель для подключения по USB. На этом всё. Ни диска с ПО ничего другого не прилагается. Кому интересно, можно купить отдельную плату-переходник с проводами. Ссылку я оставил выше. У версии JLINK 9.4 у других продавцов этот адаптер идет в комплекте.
Вид с разных сторон:
Теперь переходим к начинке. Версия 9,6 имеет темную плату, черного цвета. Данный программатор выполнен на микроконтроллере STM32F207VET67B826:
Для сравнения JLINK v9.4. Внешне он по сути не отличается, только надписи, но платы у них разные. Выполнен он на ARM32F205RBT6. Плата зеленого цвета, да и детали разные:
Момент по шлейфу. Обращаю Ваше внимание, что он зазеркален. Ниже есть схема разъема. Если подключить шлейф, то уже распиновка не совпадает. На разъеме программатора считается с лева на право, а на шлейфе с права на лево. В общем при подключении у меня был запердос с этим……..Чет тупанул я.
С этим я разобрался, и когда всё правильно было соединено, у меня всё заработало.
Теперь о ПО, с которым будем работать. Идем на официальный сайт SEGGER Microcontroller и берем оттуда софт, который называется J-Link. Скачать можно по ссылке
https://www.segger.com/downloads/jlink/ Я ставил версию V644b.
Для начала давайте подключим наш программатор к компьютеру. Драйвера у меня недостающие скачались с Microsoft Update, но не установился какой то драйвер HP_Manager.
В последствии вопрос решится после установки ПО. Показывать установку не вижу ни какого смысла. Выдумывать ничего не нужно, просто нажимать далее и ОК.
Собственно теперь нам нужен испытуемый. Не долго думая, я вспомнил про плату “мозгов” стабилизатора БАСТИОН TEPLOCOM ST-400 INVERTOR, и она любезно согласилась принять участик в эксперименте. Да простят меня разработчики данного стабилизатора, что изгаляюсь над их техникой. Плата:
Переходника 10 Pin JTAG у меня не было, но за то были вот такие чудесные радужные (аж в глазах рябит) провода для собирания на макетке, купленные несколько лет назад:
Вот то самое злосчастное подключение, о котором я сразу не врубился, и о котором говорил выше:
Ну вот собственно сам стенд:
Плата выполнена на микроконтроллере
STM32F051C8T6. Вот нам нужен от неё ман. Я буду показывать кусочки из него. Для начала понадобится табличка назначения выводов и цоколевка МК, так как распиновку разъема для программирования я не знаю:
По факту нас интересуют выводы PA13 (SWDIO) и PA14 (SWCLK). На плате я нашел куда они подходят, зарисовывать расположение контактов для статьи не стал. В этом нет ни какого смысла. Питание на плату подавалось от отдельного блока питания. Хотя можно было найти куда идет плюсовая дорожка питания, и взять 3,3 В непосредственно с программатора. Подключаем PA14 и PA13 к соответствующим разъемам программатора. Не забываем подключить землю (GND, не путать с заземлением). Теперь переходим к нашему ПО. Запускаем J-Flash V6.44b:
Выбираем Create new project
В следующем окне нам необходимо будет выбрать параметры. В поле Target Interface выбираем SWD. В поле Speed оставляем как есть.
Теперь нам нужно выбрать Target device. нажимаем на кнопку сбоку. Откроется окно с множеством МК и АРМ. У нас подопытные микроконтроллер фирмы STMicroelectronics. По этому из списка сразу выбираем ST, чтобы было меньше перебирать МК. Выбираем наш МК из списка:
Вроде всё, что необходимо сделали:
Нажимаем ОК, и открывается такое окно:
Нажимаем Target затем connect:
И здесь нам высвечивается бол на весь экран. Нужно подключить ногу reset. В МК это 7я нога NRCT.
Все подключили. Делаем ещё раз коннект. У нас вываливает такое окно:
В данном случаем говорим “NO”. В общем я это и ожидал, что МК будет залочен, и прошивку считать не получится. Если нажать YES, то МК будет разлочен, но при этом затрется прошивка. Мне естественно это не нужно.
Тест по проверке данного программатор завершен. Теперь буду пробовать уже непосредственно считать или зашить МК.
Небольшое добавление от моего друга, по поводу работы отладчика:
На скриншоте ниже показана отладка в МК. Зеленым указана строчка, которая выполнится на следующем шаге, красным- брэкпоинт (если ядро уткнется в адрес, по которому расположена эта строка, ядро остановится для анализа данных через отладчик). В окошке справа от окна с кодом – регистры ядра. Можно смотреть нее только их, но и любые участки памяти, переменные, регистры периферийных модулей и т.д. Вот такая вот замечательная вещь, отладчик.
У меня на этом всё. Спасибо всем кто меня смотрит и читает!
Из глубокого уважения к трудам ребят из segger, и по причине недоверия чайнам, лично у меня джей-линк фирменный, чего и вам советую.
У них есть дешевая версия EDU на 60 гринов.