|
MT-link, SWD , STM32F103 и Кейл :), Возможно ли программирование FLASH, сброс и отладка через 2 провода? |
|
|
|
Apr 14 2011, 09:08
|

Знающий
   
Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499

|
Обнаружил тут недавно, что у новых MT-link появился интерфейс SWD, и в меню настроек J-линка можно поставить интерфейс SWD или JTAG. Сразу захотелось убрать из плат 8-ми пиновый разъем отладчика и заменить его 4-х пиновым.
И освободить 3 ноги JTRST, JTDO, JTDI.
Но гложут меня сомнения что для прошивки flash из Кейла нужны еще NRST...
Кто- нибудь исследовал , какие ноги (минимальное количество), нужны, чтобы прошивать, отлаживать, и сбрасывать , не выходя из отладчика?
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 21)
|
Apr 15 2011, 04:32
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(Serj78 @ Apr 14 2011, 12:08)  Кто- нибудь исследовал , какие ноги (минимальное количество), нужны, чтобы прошивать, отлаживать, и сбрасывать , не выходя из отладчика? Я проверял на STM32F103RB+J-LINK (оффициальный, черный, т.е. без ограничений). Пробовал в KEIL и CrossWorks 1.x и 2.x Действительно, достаточно 4-х контактного разъема, VTGT, SWCLK, SWDIO, GND. Что я теперь и делаю во всех своих устройствах. По SWD ядро сбрасывается перед прошивкой, что дает безопасность в процессе прошивки на ходу в работающем устройстве (например, проц управляет силовыми ключами).
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Apr 15 2011, 12:43
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 7-05-07
Из: Болгария
Пользователь №: 27 577

|
МК на STM32VLDISKOVERY (STM32F100RB) программировал, и дебажил успешно J-Link7 по SWD (4-мя проводами), отключив при етом установленим на плате ST-LINK. Кеил v4.14. Думаю с MT-link разницы не будет.
Сообщение отредактировал -JonnS- - Apr 15 2011, 12:49
|
|
|
|
|
Apr 16 2011, 16:38
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(-JonnS- @ Apr 15 2011, 16:43)  МК на 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У меня что-то не сходится...
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Apr 16 2011, 17:25
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(demiurg_spb @ Apr 16 2011, 19:38)  Я вот нашёл у первоисточника в документике... Вот часть схемы STM32VLDISCOVERY, можно найти на сайте ST, в одном из pdf. 1 - VT 2 - SWCLK 3 - GND 4 - SWDIO От первой ноги - никакого толку. Я ее не заводил. Обошелся тремя оставшимися.
Эскизы прикрепленных изображений
|
|
|
|
|
Apr 16 2011, 18:35
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073

|
Для ст-линка это работает, сам так использую. А вот на счет мт-линка не уверен. Он вроде бы проверяет питание (VTREF). Во всяком случае у меня ругается (мт-линк 5). На счет RST тоже вопрос. В принципе, это не обязательно. Но может пригодиться, если отладчик умеет подключаться под резетом. Собственно, это все доп. выводы в разъеме, не занимающие ног мк. Так что минимально от мк требует только SWDCLK и SWDIO.
А на счет SWO самому интересно. Кто-нибудь пользовался?
Сообщение отредактировал akimych - Apr 16 2011, 18:35
|
|
|
|
|
Apr 17 2011, 08:48
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Цитата(Forger @ Apr 17 2011, 12:19)  У меня последний J-LINK 8-й, он просит питание на VT, для питания самой схемы у J-LINK выведен 19 (или 17) вывод на 20-выводном JTAG - весьма удобно. В принципе, щас родилась идея - прямо на разъеме J-LINK соединить 1 и 19 (17) вывод вместе, тогда должно хватать трех проводов - проверю. Это не для питания J-Link сделано, а для оценки напряжения питания программируемого устройства. Конечно, будет и по 3-м проводам программироваться, но тогда как бы нет гарантии, что программируемый процессор запитан нормальным напряжением.
--------------------
Magic Friend
|
|
|
|
|
Apr 17 2011, 16:07
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073

|
Цитата Если у мт-линков нумерация их версий сходна с J-LINK, то по моим сведениям поддержка SWD появился лишь с 6-ой версии. С помощью паяльника и в 5ой есть. Ругается не на SWD, а на отсутствие VTREF. Хотя можно конечно его обмануть и подать питание на vtref с самого жтага или еще как-то.
|
|
|
|
|
Apr 17 2011, 16:40
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(Danis @ Apr 17 2011, 11:48)  Это не для питания J-Link сделано, а для оценки напряжения питания программируемого устройства. Конечно, будет и по 3-м проводам программироваться, но тогда как бы нет гарантии, что программируемый процессор запитан нормальным напряжением. Выдержка из документации на J-Link:
Завтра попробую проверить соединить VTGT и этот вывод (конечно, через резистор на всякий случай). Сам вывод 19 дает +5В, оказалась очень удобная фича (дает 300 мА), можно питать демоборд. Это фишка работает и JTAG режиме.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Apr 17 2011, 18:34
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Цитата(Forger @ Apr 17 2011, 20:40)  Выдержка из документации на J-Link: ...... Я про фирменный j-Link не спорю, может быть и так. Но разобрав MT-Link, о котором идет речь, можно внутри в схеме обнаружить линейный стабилизатор на 3,3V подцепленный к 5v USB, который собственно и питает процессор AT91SAM7. По линии питания SWD, если на нее не подавать 3,3v от программируемого устройства, то загрузка не пойдет и вывалится ошибка. Жаль пока схемы нет под ругой, но завтра еще уточню….
--------------------
Magic Friend
|
|
|
|
|
Apr 18 2011, 06:32
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Вот схема MT-Link v6. Так гляньте как запитан пин VCC у буфера 74LVC244. Т.е. этот буфер питается от пина №1 JTAG. Если использовать SWD без линии питания, нужно этот пин закоротить на 3,3V от внутреннего стабилизатора TPS76333.
--------------------
Magic Friend
|
|
|
|
|
Apr 18 2011, 16:35
|

Знающий
   
Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499

|
Цитата(Danis @ Apr 18 2011, 10:32)  Вот схема MT-Link v6. Так гляньте как запитан пин VCC у буфера 74LVC244. Очень похоже, Данис, что это схема 5-й версии, у меня такая.  Сегодня как раз искал информацию.. Для 6-ой ей не хватает 2-х перемычек между PA4 и PA27 и резисторами R12 и R13. ( TMS и TCK ) то есть в SWD режиме буферы не используются, хотя и питание на них подается. (хотя вот интересно- это не мешает процессору как-то измерять это питание- напряжение-то таргета отладчик показывает) Такая же схема у J-линка 7-й версии, но там защитные резисторы немного другая схема управления сбросом- отдельный транзистор используется.
|
|
|
|
|
Apr 18 2011, 20:40
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073

|
Цитата хотя вот интересно- это не мешает процессору как-то измерять это питание- напряжение-то таргета отладчик показывает На той схеме VTREF еще подается через делитель на 3-ий пин (AD4).
Сообщение отредактировал akimych - Apr 18 2011, 20:40
|
|
|
|
|
Apr 19 2011, 06:50
|

Знающий
   
Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499

|
Попробовал сегодня подать питание на VTREF с 3.3 в стабилизатора самого программатора. НЕ РАБОТАЕТ!!! Я в шоке. Сломал весь мозг  Если соединить оба питания параллельно- работает. ЕСЛИ СНЯТЬ С УСТРОЙСТВА ВНЕШНЕЕ ПИТАНИЕ -РАБОТАЕТ!! (устройство питается от программатора) Потребляемый ток по этой ноге не превышает 1.1ма. при программировании - не меняется. Пишет: * JLink Info: Found SWD-DP with ID 0x1BA01477 * JLink Info: TPIU fitted. * JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots **JLink Warning: T-bit of XPSR is 0 but should be 1. Changed to 1. ROMTableAddr = 0xE00FF003 Так вот, дело было в.. разводке платы программатора. слишком большая индуктивность земляных дорожек, наверное. Стоило подать "землю" не на край разъема (20 нога), а на середину- (12 нога)- все заработало. При этом все четные ноги разъема на плате программатора соединены, но тонкими дорожками.
|
|
|
|
|
Jul 28 2011, 05:39
|
Участник

Группа: Участник
Сообщений: 23
Регистрация: 8-08-07
Из: Екатеринбург
Пользователь №: 29 638

|
Следующая проблема с SWD в Keil. Имеется : MT-Link v7.0, keil uvision 4.10, segger j-link driver v4.20p, отладочная плата с STM32F103RBT6. Подключены линии VT, SWDIO, SWCLK, GND.
J-Link Commander пишет:
No devices found on JTAG chain. Trying to find device on SWD. Info: Found SWD-DP with ID 0x1BA01477 Info: TPIU fitted. Info: FPUnit: 6 code (BP) slots and 2 literal slots Cortex-M3 identified. JTAG speed: 100 kHz
В интерфейсе keil использую для настройки дебага окно "Cortex Jlink/JTrace Target Driver Setup" Выбираю Debug>Port>SW, пишет No SW-DP found. Полный JTAG работает норм. Косяк кейла или драйвера segger? Как можно решить данную проблему?
|
|
|
|
|
Jul 29 2011, 11:40
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(Angle @ Jul 28 2011, 07:39)  ... Поиграйтесь в KEIL с установкой Connect&Reset Options -> выпадающий список Reset в закладке Debug в настройках JTAG-адаптера.
Сообщение отредактировал IgorKossak - Jul 29 2011, 12:58
Причина редактирования: Избыточное цитирование
|
|
|
|
|
Dec 26 2011, 07:23
|
Участник

Группа: Участник
Сообщений: 32
Регистрация: 17-01-07
Пользователь №: 24 508

|
Интересную закономерность заметил.. Если флеш память прошита и хочется запустить отладчик (в рам-памяти), то для первого запуска надо нажать кнопку RESET, затем запустить отладчик и только потом отпустить кнопку. Последующие запуски отладчика запускаются без кнопки и так до след. включения питания на отлаживаемой плате.
Для чего вешают подтягивающий резистор 10k на ногу RESET для STM32?
ЗЫ: отладчик МТ-линк.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|