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

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 от программируемого устройства, то загрузка не пойдет и вывалится ошибка.

 

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

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


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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...