|
Можно ли одним JTAG отлаживать МК и ПЛИС? |
|
|
|
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
|
|
|