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

Можно ли одним JTAG отлаживать МК и ПЛИС?

Не соображу даже, в каком разделе тему создавать.

На плате будет ПЛИС Xilinx Artix-7 и МК STM32F412. Допустим соединю в цепь JTAG МК и ПЛИС. Смогу ли работать с каждым из устройств с ST-Link/V2?

Вот таким: http://www.st.com/content/st_com/en/produc...st-link-v2.html

Или хоть каким-нибудь? Есть такой, что подойдет для обоих?

Или пусть разными, но чтобы с одного разъема?

С JTAG никогда не работал, обходился другими средствами.

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


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

Не соображу даже, в каком разделе тему создавать.

На плате будет ПЛИС 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, то может быть удастся обойтись одной железкой...

Ну а так, люди делали коммутатор с двух адаптеров на один разъем...

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


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

Вот, к примеру, в Keil можно выбрать дюжину отладчиков, в том числе Altera Blaster Cortex Debugger, J-LINK.

А в Vivado не знаю, как задать, выбрать.

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


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

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

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


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

Через Sauris SAU510 ISO PLUS отлаживал в CCS одновременно через один JTAG-разъём два ядра: ARM9 и C674x (DSP).

Запускал спец. приложение (Parallel debug manager), которое подключалось к эмулятору, открывал два проекта, подключавшиеся в свою очередь к "Parallel debug manager" и работавшие независимо один от другого. В конфигураторе "Parallel debug manager"-а была возможность добавить ещё ядра, если таковые есть в цепочке.

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


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

Как понимаю, микросхема должна обнаружить в потоке данных свой идентификатор, а иначе передает данные транзитом. Выходит, нужно выдать такое количество тактов с данными, чтобы добраться до любой микросхемы. Это что же, JTAG выдает некие пустые такты, пока не прочитает нужный ответ?

В-общем, двумя разными отладчиками смогу добраться до любой из микросхем? Питания, конечно, будут правильными. Мне одновременно отлаживаться не обязательно. Могу и поочередно.

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


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

Не знаю как Artix-7, а Spartan-6 довольно чувствителен к разводке JTAG, у нас не на всех вариантах плат заработал. Не любит он длинные провода и фазу луны...

 

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


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

Не знаю как Artix-7, а Spartan-6 довольно чувствителен к разводке JTAG, у нас не на всех вариантах плат заработал. Не любит он длинные провода и фазу луны...

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

Буду делать все короткое и использовать малое. Про волновое сопротивление не забывать.

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


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

С JTAG никогда не работал, обходился другими средствами.

В режиме граничного сканирования с одного JTAGа можно работать с любыми комбинациями МК, ПЛИС и т.д. (с соблюдением правил конечно). Но этот режим не для разработки изделий, а для тестирования серийной продукции. Правда с некоторых пор стало доступно в этом режиме работать с некоторыми ядрами АРМ и ПЛИС на рабочих скоростях. Сам не пробовал, деталей не знаю.

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


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

Не знаю как Artix-7, а Spartan-6 довольно чувствителен к разводке JTAG, у нас не на всех вариантах плат заработал. Не любит он длинные провода и фазу луны...

 

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

 

Вот, к примеру, в 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" или по ссылке.

 

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


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

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

 

Там TDO с кристалла кривой какой-то шел. Может драйвер на нем слабый...

У нас плисины на модулях. В одних мамках шьются на ура, в других ни в какую, в третьих через раз на низкой скорости.

Походу зависит от разводки. Причём где шьётся - можно даже проводами удлиннить JTAG - будет работать.

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


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

Я вижу, в одну цепь устройства соединяли. Так как же они распознаются? Что будет, если они однотипные?

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


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

Я вижу, в одну цепь устройства соединяли. Так как же они распознаются? Что будет, если они однотипные?

 

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

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


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

по-моему, бОльшая проблема с софтом для отладки процессора (JLINK / STLINK)

теоретически, нужно переводить устройство в режим BYPASS, для этого нужно знать/задавать длину регистра инструкций у "другого" устройства (ее можно и измерить, но это не важно)

ПЛИСовые софты умеют это делать, по-крайней мере умели. а вот с процессорными у меня не получилось.

я тоже пытался так соединить, повозился с макетками (проц по-моему был ОМАП), но с тех пор ставлю всегда 2 JTAG-a

 

-----------

 

btw: открыл для себя недавно программку Universal Scan (см фтп) - думаю она без проблем возьмет сколько угодно устройств в цепочке (BSDL файлы только давай). вот только использоватьее можно, чтоб прозвонить плату, а отлаживать проц - вряд ли :)

 

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


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

Да-да, я тоже открыл Universal Scan, из вашей темы, спасибо iosifk. Сегодня, кстати, файл bsdl для STM32 своего скачал. Пригодится.

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


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

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

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

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

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

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

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

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

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

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