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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Можно ли одним JTAG отлаживать МК и ПЛИС?
makc
сообщение Sep 1 2016, 18:11
Сообщение #16


Гуру
******

Группа: Админы
Сообщений: 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
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
Raven
сообщение Sep 1 2016, 19:11
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



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

А вот если нужно одновременно и с FPGA работать, и с STM32 - без спец. софта не обойтись. Например, рулить процессором и одновременно ловить что-нибудь ChipScope'ом просто так не выйдет.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 1 2016, 19:16
Сообщение #18


Гуру
******

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



Цитата(makc @ Sep 1 2016, 21:11) *
У Universal Scan проблемы с поддержкой сторонних JTAG-адаптеров и с работой под 64-разрядными версиями Windows (подглючивает).
Вот бы найти ему достойную замену, умеющую грузить BSDL и работать с периферийным сканированием в "ручном" режиме. Мечты.

Ну какие же мечты? Я на своем сайте выкладывал такие исходники. Правда там только для LPT-адаптера... Для FT2232 я тоже делал, но сейчас уже наверное и не найду...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 1 2016, 19:26
Сообщение #19


Гуру
******

Группа: Админы
Сообщений: 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
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Sep 1 2016, 21:29
Сообщение #20


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

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



Цитата(makc @ Sep 1 2016, 21:11) *
OpenOCD вполне умеет. Кроме того с его помощью получается вполне успешно прошивать конфигурационный SPI-flash 25-й серии (W25Q32 и т.п.) на Spartan-3E/Spartan-6/Virtex-6 с помощью того же JTAG-адаптера.


А в каком состоянии пины ПЛИС при прошивке W25Q32 через OpenOCD?
Я после прочтения этой темы сильно задумался как шить флешки внутрисхемно... и не перейти ли вообще на загрузку ПЛИС из МК.
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 2 2016, 03:34
Сообщение #21


Гуру
******

Группа: Админы
Сообщений: 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
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
yes
сообщение Sep 2 2016, 13:04
Сообщение #22


Гуру
******

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



извиняюсь, за занудство.
а что удалось кому-то запустить JLINK с IAR-ом так, что в цепочке еще ПЛИС? где это сконфигурить или вообще можно узнать подробности?

а с GDB сервером через OpenOCD наверно можно, но как-то у меня ни работа IAR-а через gdbserver, ни OpenOCD (делал через него отладку элвисовского проца - так и не успел довести до ума, сдулся проект) особо положительных впечатлений не оставили...

-----------

ну и всякие сигналтапы/чипскопы для ПЛИС, тоже не очень понятно, как их конфигурить. если в загрузчиках (импакт и т.п.) можно было добавить в цепочку "чужой" чип, то с анализаторами как-то не видел явного способа...
Go to the top of the page
 
+Quote Post
Raven
сообщение Sep 2 2016, 13:43
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



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

Вот для того и нужен XVC. Он предоставит интерфейс к виртуальной цепочке, в которой только нужный вам чип.
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 2 2016, 15:52
Сообщение #24


Гуру
******

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



Цитата(Raven @ Sep 2 2016, 16:43) *
Вот для того и нужен XVC. Он предоставит интерфейс к виртуальной цепочке, в которой только нужный вам чип.


Ничего подобного XVC не делает, т.к. это просто средство для подключения абстрактного JTAG-адаптера, работающего со вполне реальной JTAG-цепочкой.

Что касается Chipscope, то он при инициализации цепочки позволяет задать длины IR неизвестных ему элементов, а дальше он их переводит в BYPASS и спокойно работает.


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


Местный
***

Группа: Свой
Сообщений: 491
Регистрация: 16-01-05
Из: Санкт-Петербург
Пользователь №: 1 987



Цитата(makc @ Sep 2 2016, 18:52) *
Ничего подобного XVC не делает, т.к. это просто средство для подключения абстрактного JTAG-адаптера ...

Да простит меня великий All за некоторую вольность в терминологии и отход от академичности в этом треде, но я это и имел в виду,- просто немного абстрагировался от деталей sm.gif.
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 5 2016, 14:45
Сообщение #26


Гуру
******

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



Цитата(Raven @ Sep 5 2016, 17:25) *
Да простит меня великий All за некоторую вольность в терминологии и отход от академичности в этом треде, но я это и имел в виду,- просто немного абстрагировался от деталей sm.gif.


Казнить нельзя помиловать. wink.gif

Я пробовал сделать демона для XVC, который бы как раз делал виртуальную цепочку для JTAG, скрывая "лишние" кристаллы. Но не доделал, т.к. нашлось решение для программирования SPI Flash через OpenOCD, а ChipScope и так работал. Т.е. Ваш вариант тоже возможен, если очень захотеть. Готовых решений такого рода я не нашёл (с эмуляцией виртуальной цепочки).


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


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

Группа: Модераторы
Сообщений: 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.
Годится?
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 9 2016, 13:35
Сообщение #28


Гуру
******

Группа: Админы
Сообщений: 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
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th June 2025 - 02:51
Рейтинг@Mail.ru


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