реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Можно ли одним JTAG отлаживать МК и ПЛИС?
ViKo
сообщение Aug 31 2016, 19:38
Сообщение #1


Универсальный солдатик
******

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



Не соображу даже, в каком разделе тему создавать.
На плате будет ПЛИС Xilinx Artix-7 и МК STM32F412. Допустим соединю в цепь JTAG МК и ПЛИС. Смогу ли работать с каждым из устройств с ST-Link/V2?
Вот таким: http://www.st.com/content/st_com/en/produc...st-link-v2.html
Или хоть каким-нибудь? Есть такой, что подойдет для обоих?
Или пусть разными, но чтобы с одного разъема?
С JTAG никогда не работал, обходился другими средствами.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 31 2016, 19:56
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(ViKo @ Aug 31 2016, 22:38) *
Не соображу даже, в каком разделе тему создавать.
На плате будет ПЛИС Xilinx Artix-7 и МК STM32F412. Допустим соединю в цепь JTAG МК и ПЛИС. Смогу ли работать с каждым из устройств с ST-Link/V2?
Вот таким: http://www.st.com/content/st_com/en/produc...st-link-v2.html
Или хоть каким-нибудь? Есть такой, что подойдет для обоих?
Или пусть разными, но чтобы с одного разъема?
С JTAG никогда не работал, обходился другими средствами.

Для начала проверяем, что в цепочке будут одинаковые питания или надо поставить переходники с 3,3 на 2,5 В...
потом берем 2 стартовых набора и соединяем их в цепь по JTAG и смотрим, может ли софт с ними работать...
Вот только в этом деле не все так просто...
Дело в том, что Xilinx хочет на JTAG поставить свои драйвера, а ST-Link - свои... Возможно, что для Xilinx удастся поставить Диджилентовские драйвера. Но не знаю, как там с ST-Link. Посмотрите на сайте Диджилента. Если у них есть что-то для ST-Link, то может быть удастся обойтись одной железкой...
Ну а так, люди делали коммутатор с двух адаптеров на один разъем...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
ViKo
сообщение Aug 31 2016, 20:18
Сообщение #3


Универсальный солдатик
******

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



Вот, к примеру, в Keil можно выбрать дюжину отладчиков, в том числе Altera Blaster Cortex Debugger, J-LINK.
А в Vivado не знаю, как задать, выбрать.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 31 2016, 20:52
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



ST-Link отлаживает только кортексы. С ARM7TDMI работать категорически отказался. Через клон J-LINK я работал с двумя AT91SAM7S64 в цепочке JTAG. Использовал ОpenOCD, отлажвал в одной эклипсе сразу две прошивки. Довольно забавно и удобно. То есть теоретически это возможно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 1 2016, 03:10
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Через Sauris SAU510 ISO PLUS отлаживал в CCS одновременно через один JTAG-разъём два ядра: ARM9 и C674x (DSP).
Запускал спец. приложение (Parallel debug manager), которое подключалось к эмулятору, открывал два проекта, подключавшиеся в свою очередь к "Parallel debug manager" и работавшие независимо один от другого. В конфигураторе "Parallel debug manager"-а была возможность добавить ещё ядра, если таковые есть в цепочке.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 1 2016, 04:37
Сообщение #6


Универсальный солдатик
******

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



Как понимаю, микросхема должна обнаружить в потоке данных свой идентификатор, а иначе передает данные транзитом. Выходит, нужно выдать такое количество тактов с данными, чтобы добраться до любой микросхемы. Это что же, JTAG выдает некие пустые такты, пока не прочитает нужный ответ?
В-общем, двумя разными отладчиками смогу добраться до любой из микросхем? Питания, конечно, будут правильными. Мне одновременно отлаживаться не обязательно. Могу и поочередно.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Sep 1 2016, 05:17
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Не знаю как Artix-7, а Spartan-6 довольно чувствителен к разводке JTAG, у нас не на всех вариантах плат заработал. Не любит он длинные провода и фазу луны...
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 1 2016, 05:55
Сообщение #8


Универсальный солдатик
******

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



Цитата(_4afc_ @ Sep 1 2016, 08:17) *
Не знаю как Artix-7, а Spartan-6 довольно чувствителен к разводке JTAG, у нас не на всех вариантах плат заработал. Не любит он длинные провода и фазу луны...

Видимо, важно еще, какой был соединительный кабель от отладчика к плате.
Буду делать все короткое и использовать малое. Про волновое сопротивление не забывать.
Go to the top of the page
 
+Quote Post
shewor
сообщение Sep 1 2016, 06:23
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 7-04-10
Пользователь №: 56 464



Цитата(ViKo @ Aug 31 2016, 22:38) *
С JTAG никогда не работал, обходился другими средствами.

В режиме граничного сканирования с одного JTAGа можно работать с любыми комбинациями МК, ПЛИС и т.д. (с соблюдением правил конечно). Но этот режим не для разработки изделий, а для тестирования серийной продукции. Правда с некоторых пор стало доступно в этом режиме работать с некоторыми ядрами АРМ и ПЛИС на рабочих скоростях. Сам не пробовал, деталей не знаю.
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 1 2016, 08:08
Сообщение #10


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(_4afc_ @ Sep 1 2016, 08:17) *
Не знаю как Artix-7, а Spartan-6 довольно чувствителен к разводке JTAG, у нас не на всех вариантах плат заработал. Не любит он длинные провода и фазу луны...


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

Цитата(ViKo @ Aug 31 2016, 23:18) *
Вот, к примеру, в Keil можно выбрать дюжину отладчиков, в том числе Altera Blaster Cortex Debugger, J-LINK.
А в Vivado не знаю, как задать, выбрать.


На сколько я помню, Vivado "из коробки" поддерживает только родные Xilinxовские JTAG-адаптеры и их аналоги от Digilent'a + умеет работать с XVC (Xilinx Virtual Cable). С помощью XVC и дополнительного сервера удавалось подружить самодельный JTAG-адаптер на FT2232H с Vivado. Общий пример, как этим пользоваться, есть у Xilinx. Ищется по ключевым словам "xvcd - The Xilinx Virtual Cable Daemon" или по ссылке.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Sep 1 2016, 09:10
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(makc @ Sep 1 2016, 11:08) *
Если несколько кристаллов в цепочке, то нужно особое внимание уделять разводке и согласованию линии TCK. Если все согласовано, то работает без проблем.


Там TDO с кристалла кривой какой-то шел. Может драйвер на нем слабый...
У нас плисины на модулях. В одних мамках шьются на ура, в других ни в какую, в третьих через раз на низкой скорости.
Походу зависит от разводки. Причём где шьётся - можно даже проводами удлиннить JTAG - будет работать.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 1 2016, 09:49
Сообщение #12


Универсальный солдатик
******

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



Я вижу, в одну цепь устройства соединяли. Так как же они распознаются? Что будет, если они однотипные?
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 1 2016, 10:41
Сообщение #13


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



Цитата(ViKo @ Sep 1 2016, 12:49) *
Я вижу, в одну цепь устройства соединяли. Так как же они распознаются? Что будет, если они однотипные?


По порядковому номеру в цепочке + IDCODE. Если есть схема, то особых проблем нет.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
yes
сообщение Sep 1 2016, 16:11
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



по-моему, бОльшая проблема с софтом для отладки процессора (JLINK / STLINK)
теоретически, нужно переводить устройство в режим BYPASS, для этого нужно знать/задавать длину регистра инструкций у "другого" устройства (ее можно и измерить, но это не важно)
ПЛИСовые софты умеют это делать, по-крайней мере умели. а вот с процессорными у меня не получилось.
я тоже пытался так соединить, повозился с макетками (проц по-моему был ОМАП), но с тех пор ставлю всегда 2 JTAG-a

-----------

btw: открыл для себя недавно программку Universal Scan (см фтп) - думаю она без проблем возьмет сколько угодно устройств в цепочке (BSDL файлы только давай). вот только использоватьее можно, чтоб прозвонить плату, а отлаживать проц - вряд ли sm.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 1 2016, 17:01
Сообщение #15


Универсальный солдатик
******

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



Да-да, я тоже открыл Universal Scan, из вашей темы, спасибо iosifk. Сегодня, кстати, файл bsdl для STM32 своего скачал. Пригодится.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 07:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01502 секунд с 7
ELECTRONIX ©2004-2016