makc 199 1 сентября, 2016 Опубликовано 1 сентября, 2016 · Жалоба теоретически, нужно переводить устройство в режим BYPASS, для этого нужно знать/задавать длину регистра инструкций у "другого" устройства (ее можно и измерить, но это не важно) ПЛИСовые софты умеют это делать, по-крайней мере умели. а вот с процессорными у меня не получилось. OpenOCD вполне умеет. Кроме того с его помощью получается вполне успешно прошивать конфигурационный SPI-flash 25-й серии (W25Q32 и т.п.) на Spartan-3E/Spartan-6/Virtex-6 с помощью того же JTAG-адаптера. Да-да, я тоже открыл Universal Scan, из вашей темы, спасибо iosifk. Сегодня, кстати, файл bsdl для STM32 своего скачал. Пригодится. У Universal Scan проблемы с поддержкой сторонних JTAG-адаптеров и с работой под 64-разрядными версиями Windows (подглючивает). Вот бы найти ему достойную замену, умеющую грузить BSDL и работать с периферийным сканированием в "ручном" режиме. Мечты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 9 1 сентября, 2016 Опубликовано 1 сентября, 2016 · Жалоба Без больших заморочек при таком подключении TAP'ов получится работать только с одним из устройств в .. м-м-м, назовем это сессией работы с чипом. При этом для того, чтобы ST-Link позволял Vivado общаться с Artix'ом, нужно будет еще приспособить XVC (упоминался в треде maks'ом). Т.е., например, запустили Vivado'вский программер, залили прошивку в FPGA, закрыли программер (ну, или как-то по-другому отпустили кабель). Потом запустили STM'вский IDE, и дальше уже в нем работаем с ST-Link. Такой сценарий будет работать. А вот если нужно одновременно и с FPGA работать, и с STM32 - без спец. софта не обойтись. Например, рулить процессором и одновременно ловить что-нибудь ChipScope'ом просто так не выйдет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 1 сентября, 2016 Опубликовано 1 сентября, 2016 · Жалоба У Universal Scan проблемы с поддержкой сторонних JTAG-адаптеров и с работой под 64-разрядными версиями Windows (подглючивает). Вот бы найти ему достойную замену, умеющую грузить BSDL и работать с периферийным сканированием в "ручном" режиме. Мечты. Ну какие же мечты? Я на своем сайте выкладывал такие исходники. Правда там только для LPT-адаптера... Для FT2232 я тоже делал, но сейчас уже наверное и не найду... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 199 1 сентября, 2016 Опубликовано 1 сентября, 2016 · Жалоба Ну какие же мечты? Я на своем сайте выкладывал такие исходники. Правда там только для LPT-адаптера... Для FT2232 я тоже делал, но сейчас уже наверное и не найду... Под отдельную плату написать программу для периферийного сканирования можно, но во-первых неудобно, во-вторых оправдано по времени только для серийного тестирования. А если говорить про исследование прототипов/наладку опытных образцов/обучение, то нужно что-то с интуитивно-понятным интерфейсом, а-ля Universal Scan. В идеале, поддерживающее возможность автоматизации тестирования с помощью SVF или сценариев на каком-либо встроенном языке. Как это, например, грамотно сделано в OpenOCD, в котором живет микро-интерпретатор TCL (Jim TCL). Такие средства есть, например Asset ScanWorks. Но, на мой взгляд, они уж слишком усложнены, по сравнению с Universal Scan, которому не хватает совсем чуть-чуть, чтобы быть очень удобным и гибким средством отладки и периферийного сканирования. Без больших заморочек при таком подключении TAP'ов получится работать только с одним из устройств в .. м-м-м, назовем это сессией работы с чипом. При этом для того, чтобы ST-Link позволял Vivado общаться с Artix'ом, нужно будет еще приспособить XVC (упоминался в треде maks'ом). Кстати, по поводу XVC нужно сказать, что под ISE 14.7 + Impact он нормально с цепочками из нескольких элементов не работает, т.к. не умеет корректно переводить элементы цепочки в BYPASS и потом работать с получившейся усеченной цепочкой. Chipscope + XVC работает нормально, но у него свой сервер для работы с JTAG через XVC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 25 1 сентября, 2016 Опубликовано 1 сентября, 2016 · Жалоба OpenOCD вполне умеет. Кроме того с его помощью получается вполне успешно прошивать конфигурационный SPI-flash 25-й серии (W25Q32 и т.п.) на Spartan-3E/Spartan-6/Virtex-6 с помощью того же JTAG-адаптера. А в каком состоянии пины ПЛИС при прошивке W25Q32 через OpenOCD? Я после прочтения этой темы сильно задумался как шить флешки внутрисхемно... и не перейти ли вообще на загрузку ПЛИС из МК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 199 2 сентября, 2016 Опубликовано 2 сентября, 2016 · Жалоба А в каком состоянии пины ПЛИС при прошивке W25Q32 через OpenOCD? Пины находятся в нужном состоянии, т.к. временная прошивка ПЛИС, используемая в процессе прошивки SPI-flash, есть в исходниках и не совсем не сложно при трансляции сконфигурировать на нужное состояние неиспользуемых пинов. ... и не перейти ли вообще на загрузку ПЛИС из МК. Это не всегда возможно, т.к. для ряда применений время до старта ПЛИС является критичным. Например, для плат расширения PCI/PCI Express. МК в этом случае гарантированное не успеет прогрузить рабочую прошивку в ПЛИС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 2 сентября, 2016 Опубликовано 2 сентября, 2016 · Жалоба извиняюсь, за занудство. а что удалось кому-то запустить JLINK с IAR-ом так, что в цепочке еще ПЛИС? где это сконфигурить или вообще можно узнать подробности? а с GDB сервером через OpenOCD наверно можно, но как-то у меня ни работа IAR-а через gdbserver, ни OpenOCD (делал через него отладку элвисовского проца - так и не успел довести до ума, сдулся проект) особо положительных впечатлений не оставили... ----------- ну и всякие сигналтапы/чипскопы для ПЛИС, тоже не очень понятно, как их конфигурить. если в загрузчиках (импакт и т.п.) можно было добавить в цепочку "чужой" чип, то с анализаторами как-то не видел явного способа... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 9 2 сентября, 2016 Опубликовано 2 сентября, 2016 · Жалоба ну и всякие сигналтапы/чипскопы для ПЛИС, тоже не очень понятно, как их конфигурить. если в загрузчиках (импакт и т.п.) можно было добавить в цепочку "чужой" чип, то с анализаторами как-то не видел явного способа... Вот для того и нужен XVC. Он предоставит интерфейс к виртуальной цепочке, в которой только нужный вам чип. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 199 2 сентября, 2016 Опубликовано 2 сентября, 2016 · Жалоба Вот для того и нужен XVC. Он предоставит интерфейс к виртуальной цепочке, в которой только нужный вам чип. Ничего подобного XVC не делает, т.к. это просто средство для подключения абстрактного JTAG-адаптера, работающего со вполне реальной JTAG-цепочкой. Что касается Chipscope, то он при инициализации цепочки позволяет задать длины IR неизвестных ему элементов, а дальше он их переводит в BYPASS и спокойно работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 9 5 сентября, 2016 Опубликовано 5 сентября, 2016 · Жалоба Ничего подобного XVC не делает, т.к. это просто средство для подключения абстрактного JTAG-адаптера ... Да простит меня великий All за некоторую вольность в терминологии и отход от академичности в этом треде, но я это и имел в виду,- просто немного абстрагировался от деталей :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 199 5 сентября, 2016 Опубликовано 5 сентября, 2016 · Жалоба Да простит меня великий All за некоторую вольность в терминологии и отход от академичности в этом треде, но я это и имел в виду,- просто немного абстрагировался от деталей :). Казнить нельзя помиловать. ;) Я пробовал сделать демона для XVC, который бы как раз делал виртуальную цепочку для JTAG, скрывая "лишние" кристаллы. Но не доделал, т.к. нашлось решение для программирования SPI Flash через OpenOCD, а ChipScope и так работал. Т.е. Ваш вариант тоже возможен, если очень захотеть. Готовых решений такого рода я не нашёл (с эмуляцией виртуальной цепочки). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 9 сентября, 2016 Опубликовано 9 сентября, 2016 · Жалоба Как понял, гарантии, что я Xilinx-овским JTAG-ом доберусь до Artix-а через STM32, дать нельзя. И еще, для работы с STM32 можно использовать SW цепи, совпадающие с JTAG. Но, чтобы использовать SWO (JTDO), надо его иметь подключенным к STM32. Значит, лучше я подключу в цепь JTAG сначала Artix, его JTDO передам в JTDI STM32, а JTDO c STM32 выдам на разъем JTAG. И, на всякий случай, пущу линию JTDI с JTAG в обход Artix, закончу площадкой, или джамперами (о!) переключусь на JTDI STM32. Годится? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 199 9 сентября, 2016 Опубликовано 9 сентября, 2016 · Жалоба Как понял, гарантии, что я 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. Годится? Запас карман не тянет, можно предусмотреть обход. Хуже не будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться