|
Можно ли одним JTAG отлаживать МК и ПЛИС? |
|
|
|
Aug 31 2016, 19:38
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 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 никогда не работал, обходился другими средствами.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 27)
|
Aug 31 2016, 19:56
|
Гуру
     
Группа: Модераторы
Сообщений: 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
|
|
|
|
|
Sep 1 2016, 04:37
|

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

|
Как понимаю, микросхема должна обнаружить в потоке данных свой идентификатор, а иначе передает данные транзитом. Выходит, нужно выдать такое количество тактов с данными, чтобы добраться до любой микросхемы. Это что же, JTAG выдает некие пустые такты, пока не прочитает нужный ответ? В-общем, двумя разными отладчиками смогу добраться до любой из микросхем? Питания, конечно, будут правильными. Мне одновременно отлаживаться не обязательно. Могу и поочередно.
|
|
|
|
|
Sep 1 2016, 06:23
|
Участник

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

|
Цитата(ViKo @ Aug 31 2016, 22:38)  С JTAG никогда не работал, обходился другими средствами. В режиме граничного сканирования с одного JTAGа можно работать с любыми комбинациями МК, ПЛИС и т.д. (с соблюдением правил конечно). Но этот режим не для разработки изделий, а для тестирования серийной продукции. Правда с некоторых пор стало доступно в этом режиме работать с некоторыми ядрами АРМ и ПЛИС на рабочих скоростях. Сам не пробовал, деталей не знаю.
|
|
|
|
|
Sep 1 2016, 08:08
|

Гуру
     
Группа: Админы
Сообщений: 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 В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Sep 1 2016, 16:11
|
Гуру
     
Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640

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

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

|
Цитата(yes @ Sep 1 2016, 19:11)  теоретически, нужно переводить устройство в режим BYPASS, для этого нужно знать/задавать длину регистра инструкций у "другого" устройства (ее можно и измерить, но это не важно) ПЛИСовые софты умеют это делать, по-крайней мере умели. а вот с процессорными у меня не получилось. OpenOCD вполне умеет. Кроме того с его помощью получается вполне успешно прошивать конфигурационный SPI-flash 25-й серии (W25Q32 и т.п.) на Spartan-3E/Spartan-6/Virtex-6 с помощью того же JTAG-адаптера. Цитата(ViKo @ Sep 1 2016, 20:01)  Да-да, я тоже открыл Universal Scan, из вашей темы, спасибо iosifk. Сегодня, кстати, файл bsdl для STM32 своего скачал. Пригодится. У Universal Scan проблемы с поддержкой сторонних JTAG-адаптеров и с работой под 64-разрядными версиями Windows (подглючивает). Вот бы найти ему достойную замену, умеющую грузить BSDL и работать с периферийным сканированием в "ручном" режиме. Мечты.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Sep 1 2016, 19:11
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Без больших заморочек при таком подключении TAP'ов получится работать только с одним из устройств в .. м-м-м, назовем это сессией работы с чипом. При этом для того, чтобы ST-Link позволял Vivado общаться с Artix'ом, нужно будет еще приспособить XVC (упоминался в треде maks'ом). Т.е., например, запустили Vivado'вский программер, залили прошивку в FPGA, закрыли программер (ну, или как-то по-другому отпустили кабель). Потом запустили STM'вский IDE, и дальше уже в нем работаем с ST-Link. Такой сценарий будет работать.
А вот если нужно одновременно и с FPGA работать, и с STM32 - без спец. софта не обойтись. Например, рулить процессором и одновременно ловить что-нибудь ChipScope'ом просто так не выйдет.
|
|
|
|
|
Sep 1 2016, 19:26
|

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

|
Цитата(iosifk @ Sep 1 2016, 22:16)  Ну какие же мечты? Я на своем сайте выкладывал такие исходники. Правда там только для LPT-адаптера... Для FT2232 я тоже делал, но сейчас уже наверное и не найду... Под отдельную плату написать программу для периферийного сканирования можно, но во-первых неудобно, во-вторых оправдано по времени только для серийного тестирования. А если говорить про исследование прототипов/наладку опытных образцов/обучение, то нужно что-то с интуитивно-понятным интерфейсом, а-ля Universal Scan. В идеале, поддерживающее возможность автоматизации тестирования с помощью SVF или сценариев на каком-либо встроенном языке. Как это, например, грамотно сделано в OpenOCD, в котором живет микро-интерпретатор TCL ( Jim TCL). Такие средства есть, например Asset ScanWorks. Но, на мой взгляд, они уж слишком усложнены, по сравнению с Universal Scan, которому не хватает совсем чуть-чуть, чтобы быть очень удобным и гибким средством отладки и периферийного сканирования. Цитата(Raven @ Sep 1 2016, 22:11)  Без больших заморочек при таком подключении TAP'ов получится работать только с одним из устройств в .. м-м-м, назовем это сессией работы с чипом. При этом для того, чтобы ST-Link позволял Vivado общаться с Artix'ом, нужно будет еще приспособить XVC (упоминался в треде maks'ом). Кстати, по поводу XVC нужно сказать, что под ISE 14.7 + Impact он нормально с цепочками из нескольких элементов не работает, т.к. не умеет корректно переводить элементы цепочки в BYPASS и потом работать с получившейся усеченной цепочкой. Chipscope + XVC работает нормально, но у него свой сервер для работы с JTAG через XVC.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Sep 2 2016, 03:34
|

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

|
Цитата(_4afc_ @ Sep 2 2016, 00:29)  А в каком состоянии пины ПЛИС при прошивке W25Q32 через OpenOCD? Пины находятся в нужном состоянии, т.к. временная прошивка ПЛИС, используемая в процессе прошивки SPI-flash, есть в исходниках и не совсем не сложно при трансляции сконфигурировать на нужное состояние неиспользуемых пинов. Цитата(_4afc_ @ Sep 2 2016, 00:29)  ... и не перейти ли вообще на загрузку ПЛИС из МК. Это не всегда возможно, т.к. для ряда применений время до старта ПЛИС является критичным. Например, для плат расширения PCI/PCI Express. МК в этом случае гарантированное не успеет прогрузить рабочую прошивку в ПЛИС.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Sep 2 2016, 13:43
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(yes @ Sep 2 2016, 16:04)  ну и всякие сигналтапы/чипскопы для ПЛИС, тоже не очень понятно, как их конфигурить. если в загрузчиках (импакт и т.п.) можно было добавить в цепочку "чужой" чип, то с анализаторами как-то не видел явного способа... Вот для того и нужен XVC. Он предоставит интерфейс к виртуальной цепочке, в которой только нужный вам чип.
|
|
|
|
|
Sep 2 2016, 15:52
|

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

|
Цитата(Raven @ Sep 2 2016, 16:43)  Вот для того и нужен XVC. Он предоставит интерфейс к виртуальной цепочке, в которой только нужный вам чип. Ничего подобного XVC не делает, т.к. это просто средство для подключения абстрактного JTAG-адаптера, работающего со вполне реальной JTAG-цепочкой. Что касается Chipscope, то он при инициализации цепочки позволяет задать длины IR неизвестных ему элементов, а дальше он их переводит в BYPASS и спокойно работает.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Sep 5 2016, 14:25
|
Местный
  
Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987

|
Цитата(makc @ Sep 2 2016, 18:52)  Ничего подобного XVC не делает, т.к. это просто средство для подключения абстрактного JTAG-адаптера ... Да простит меня великий All за некоторую вольность в терминологии и отход от академичности в этом треде, но я это и имел в виду,- просто немного абстрагировался от деталей  .
|
|
|
|
|
Sep 5 2016, 14:45
|

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

|
Цитата(Raven @ Sep 5 2016, 17:25)  Да простит меня великий All за некоторую вольность в терминологии и отход от академичности в этом треде, но я это и имел в виду,- просто немного абстрагировался от деталей  . Казнить нельзя помиловать.  Я пробовал сделать демона для XVC, который бы как раз делал виртуальную цепочку для JTAG, скрывая "лишние" кристаллы. Но не доделал, т.к. нашлось решение для программирования SPI Flash через OpenOCD, а ChipScope и так работал. Т.е. Ваш вариант тоже возможен, если очень захотеть. Готовых решений такого рода я не нашёл (с эмуляцией виртуальной цепочки).
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Sep 9 2016, 12:00
|

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

|
Как понял, гарантии, что я Xilinx-овским JTAG-ом доберусь до Artix-а через STM32, дать нельзя. И еще, для работы с STM32 можно использовать SW цепи, совпадающие с JTAG. Но, чтобы использовать SWO (JTDO), надо его иметь подключенным к STM32. Значит, лучше я подключу в цепь JTAG сначала Artix, его JTDO передам в JTDI STM32, а JTDO c STM32 выдам на разъем JTAG. И, на всякий случай, пущу линию JTDI с JTAG в обход Artix, закончу площадкой, или джамперами (о!) переключусь на JTDI STM32. Годится?
|
|
|
|
|
Sep 9 2016, 13:35
|

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

|
Цитата(ViKo @ Sep 9 2016, 15:00)  Как понял, гарантии, что я Xilinx-овским JTAG-ом доберусь до Artix-а через STM32, дать нельзя. Можно, т.к. родной кабель работает без проблем. Максимум будут нужны BSDL-файлы для неизвестных Xilinx'овскому софту. Но нужно обращать внимание на подключение и напряжения питания банков ПЛИС, в которых размещаются пины JTAG. Цитата И еще, для работы с STM32 можно использовать SW цепи, совпадающие с JTAG. Но, чтобы использовать SWO (JTDO), надо его иметь подключенным к STM32. Значит, лучше я подключу в цепь JTAG сначала Artix, его JTDO передам в JTDI STM32, а JTDO c STM32 выдам на разъем JTAG. И, на всякий случай, пущу линию JTDI с JTAG в обход Artix, закончу площадкой, или джамперами (о!) переключусь на JTDI STM32. Годится? Запас карман не тянет, можно предусмотреть обход. Хуже не будет.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|