Перейти к содержанию

    

MT-link, SWD , STM32F103 и Кейл :)

Обнаружил тут недавно, что у новых MT-link появился интерфейс SWD, и в меню настроек J-линка можно поставить интерфейс SWD или JTAG.

Сразу захотелось убрать из плат 8-ми пиновый разъем отладчика и заменить его 4-х пиновым.

 

И освободить 3 ноги JTRST, JTDO, JTDI.

 

Но гложут меня сомнения что для прошивки flash из Кейла нужны еще NRST...

 

Кто- нибудь исследовал ,

какие ноги (минимальное количество), нужны, чтобы прошивать, отлаживать, и сбрасывать , не выходя из отладчика?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Кто- нибудь исследовал ,

какие ноги (минимальное количество), нужны, чтобы прошивать, отлаживать, и сбрасывать , не выходя из отладчика?

Я проверял на STM32F103RB+J-LINK (оффициальный, черный, т.е. без ограничений). Пробовал в KEIL и CrossWorks 1.x и 2.x

Действительно, достаточно 4-х контактного разъема, VTGT, SWCLK, SWDIO, GND. Что я теперь и делаю во всех своих устройствах.

По SWD ядро сбрасывается перед прошивкой, что дает безопасность в процессе прошивки на ходу в работающем устройстве (например, проц управляет силовыми ключами).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я ST-LINK из STM32VLDISKOVERY программировал в Keil другую платку. Обошелся тремя проводами: SWCLK, SWDIO, GND (четвертый VTGT в ST-LINK сидит через резистор на земле). Отлаживаться особо не получалось, но это беда ST-LINK в Keil. А с помощью автономной утилиты прошивался, читал регистры, ходил по шагам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Действительно, достаточно 4-х контактного разъема, VTGT, SWCLK, SWDIO, GND. Что я теперь и делаю во всех своих устройствах.

 

Спасибо, только вот что за нога VTGT?

это какой-то сброс?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Спасибо, только вот что за нога VTGT?

это какой-то сброс?

Напряжение питания целевого устройства. Видимо, чтобы запитать процессор при программировании. Если у него есть питание и так, то и не нужно. У меня же работало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

МК на STM32VLDISKOVERY (STM32F100RB) программировал, и дебажил успешно J-Link7 по SWD (4-мя проводами), отключив при етом установленим на плате ST-LINK. Кеил v4.14. Думаю с MT-link разницы не будет.

Изменено пользователем -JonnS-

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
МК на STM32VLDISKOVERY (STM32F100RB) программировал, и дебажил успешно J-Link7 по SWD (4-мя проводами)
Подробнее пожалуйста. Какой провод был четвёртым вкупе с SWCLK, SWDIO и GND?

 

Я вот нашёл у первоисточника в документике system_design_reference.pdf в главе "3.4 SWD connections" типовую схему SWD. так в ней аж 6 линий.

Но в то же время на этом же сайте чёрным по белому написано что SWD - это двухпроводной интерфейс.

http://www.arm.com/products/system-ip/debu...-wire-debug.php

У меня что-то не сходится...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Я вот нашёл у первоисточника в документике...

Вот часть схемы STM32VLDISCOVERY, можно найти на сайте ST, в одном из pdf.

1 - VT

2 - SWCLK

3 - GND

4 - SWDIO

От первой ноги - никакого толку. Я ее не заводил. Обошелся тремя оставшимися.

post-10362-1302974472_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для ст-линка это работает, сам так использую. А вот на счет мт-линка не уверен. Он вроде бы проверяет питание (VTREF). Во всяком случае у меня ругается (мт-линк 5).

На счет RST тоже вопрос. В принципе, это не обязательно. Но может пригодиться, если отладчик умеет подключаться под резетом.

Собственно, это все доп. выводы в разъеме, не занимающие ног мк. Так что минимально от мк требует только SWDCLK и SWDIO.

 

А на счет SWO самому интересно. Кто-нибудь пользовался?

Изменено пользователем akimych

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
у меня ругается (мт-линк 5).
Если у мт-линков нумерация их версий сходна с J-LINK, то по моим сведениям поддержка SWD появился лишь с 6-ой версии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Если у мт-линков нумерация их версий сходна с J-LINK, то по моим сведениям поддержка SWD появился лишь с 6-ой версии.

 

У меня последний J-LINK 8-й, он просит питание на VT, для питания самой схемы у J-LINK выведен 19 (или 17) вывод на 20-выводном JTAG - весьма удобно. В принципе, щас родилась идея - прямо на разъеме J-LINK соединить 1 и 19 (17) вывод вместе, тогда должно хватать трех проводов - проверю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
У меня последний J-LINK 8-й, он просит питание на VT, для питания самой схемы у J-LINK выведен 19 (или 17) вывод на 20-выводном JTAG - весьма удобно. В принципе, щас родилась идея - прямо на разъеме J-LINK соединить 1 и 19 (17) вывод вместе, тогда должно хватать трех проводов - проверю.

 

Это не для питания J-Link сделано, а для оценки напряжения питания программируемого устройства. Конечно, будет и по 3-м проводам программироваться, но тогда как бы нет гарантии, что программируемый процессор запитан нормальным напряжением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Если у мт-линков нумерация их версий сходна с J-LINK, то по моим сведениям поддержка SWD появился лишь с 6-ой версии.

С помощью паяльника и в 5ой есть. Ругается не на SWD, а на отсутствие VTREF. Хотя можно конечно его обмануть и подать питание на vtref с самого жтага или еще как-то.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Это не для питания J-Link сделано, а для оценки напряжения питания программируемого устройства. Конечно, будет и по 3-м проводам программироваться, но тогда как бы нет гарантии, что программируемый процессор запитан нормальным напряжением.

 

Выдержка из документации на J-Link:

post-2831-1303058371_thumb.png

 

Завтра попробую проверить соединить VTGT и этот вывод (конечно, через резистор на всякий случай).

Сам вывод 19 дает +5В, оказалась очень удобная фича (дает 300 мА), можно питать демоборд.

Это фишка работает и JTAG режиме.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Выдержка из документации на J-Link:

......

 

Я про фирменный j-Link не спорю, может быть и так. Но разобрав MT-Link,

о котором идет речь, можно внутри в схеме обнаружить линейный стабилизатор

на 3,3V подцепленный к 5v USB, который собственно и питает процессор AT91SAM7.

По линии питания SWD, если на нее не подавать 3,3v от программируемого устройства, то загрузка не пойдет и вывалится ошибка.

 

Жаль пока схемы нет под ругой, но завтра еще уточню….

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация