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

 
 
6 страниц V  « < 4 5 6  
Reply to this topicStart new topic
> Digilent программатор Xilinx, кто пользовал?
dima2640
сообщение Mar 29 2015, 17:55
Сообщение #76


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 14-03-13
Из: москва
Пользователь №: 76 028



Цитата(rloc @ Mar 29 2015, 21:51) *
Почему нельзя было статично прилинковать ftd2xx.dll?


Все вопросы к разработчикам(российским) на сайт Марсоход.
Я отвечаю только за схему, плату и слитые дампы с еепром.


Сообщение отредактировал dima2640 - Mar 29 2015, 18:02
Go to the top of the page
 
+Quote Post
toshas
сообщение Jan 23 2017, 08:48
Сообщение #77


Местный
***

Группа: Свой
Сообщений: 372
Регистрация: 14-02-06
Пользователь №: 14 339



Кто-нибудь знает в чем отличие "новых" SMT2 и HS3 ?
Все сводится к одному доп. пину сброса ?
Какая ножка FT2232 им управляет ?

http://store.digilentinc.com/all-products/jtag-programmers/

"The Xilinx Tools occasionally require the processor core of the Zynq-7000 to be reset during debug operations. The
Zynq platform processor has a pin dedicated for this purpose (PS_SRST_B). Driving the PS_SRST_B pin low causes
the processor to reset while maintaining any existing break points and watch points. The JTAG-HS3 is capable of
driving this pin low under the instruction of Xilinx’s SDK during debugging operations. In order for this to work, pin
14 of Xilinx JTAG header on the target board must be connected to the PS_SRST_B pin of the Zynq (see Figs. 3 & 4).

The JTAG-HS3 uses an open drain buffer to drive pin 14 of the Xilinx JTAG header (see Fig. 5). This allows the HS3 to
drive the PS_SRST_B pin when VCC_MIO1 is referenced to a different voltage than VCCO_0 (see Fig. 6).

Should an accidental short occur between pin 14 and GND, the 100 ohm series resistor protects the buffer from
being damaged. While this resistor protects the buffer from being damaged, it also limits the drive strength of the
buffer. Therefore, it is necessary for the pull-up resistor (RPU) used to establish the voltage level on PS_SRST_B to
be greater than or equal to 1.5K ohms. At the time of writing, Xilinx ZC702, Xilinx ZC706, and Avnet® MicroZed™ all
feature 10K pull-ups on pin 14 of the their respective Xilinx JTAG headers. For compatibility with other evaluation
platforms, please consult the manufacturer’s schematic."


Спасибо!
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Zig
сообщение Jan 24 2017, 17:55
Сообщение #78


Частый гость
**

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



Цитата(toshas @ Jan 23 2017, 11:48) *
Кто-нибудь знает в чем отличие "новых" SMT2 и HS3 ?

Есть вскрытый HS3 (с растянутой и снятой термоусадкой).
В нем как и в HS2 не FT2232, а FT232.
Могу под микроскопом посмотреть с какой ноги идет ресет и снять дамп (если научите как).
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 24 2017, 19:39
Сообщение #79


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



Цитата(toshas @ Jan 23 2017, 11:48) *
Кто-нибудь знает в чем отличие "новых" SMT2 и HS3 ?
Все сводится к одному доп. пину сброса ?
Какая ножка FT2232 им управляет ?

Для кого рисовал?

В SMT2 есть дополнительный режим 2-проводного JTAG (или 2-wire интерфейса), на который отводится несколько дополнительных буферов и еще есть пара дополнительных GPIO (пользовательских, двунаправленных). С точки зрения программирования Xilinx особой разницы нет. 2-проводный интерфейс сделан на будущее, под новый стандарт, можно использовать для ARM (SWD) - официальной поддержки нет, но поле для творчества есть.
Go to the top of the page
 
+Quote Post
toshas
сообщение Jan 25 2017, 17:36
Сообщение #80


Местный
***

Группа: Свой
Сообщений: 372
Регистрация: 14-02-06
Пользователь №: 14 339



Гляжу в книгу, вижу цветочек)
rloc, Спасибо!
Go to the top of the page
 
+Quote Post
usserr
сообщение Sep 27 2018, 22:04
Сообщение #81





Группа: Новичок
Сообщений: 2
Регистрация: 27-09-18
Пользователь №: 107 742



Немного поделюсь и своим опытом на эту тему, т.к. в безуспешных (до текущего момента) попытках провел неделю точно.

Мною был заказан и успешно получен комплект с Алиэкспресс под названием ALINX, содержащий отладку на базе Spartan6 xc6slx9 и программатор следующего вида:



Как потом выяснилось, такой программатор больше нигде кроме ALINX не применяется, однако тогда я это не проверил и понадеялся на добросовестность китайцев. Ну и в итоге, естественно, по закону подлости в ISE 14.7 он не завелся sm.gif Вот тогда я начал копать всю эту тему, вышел на этот форум и другие источники. Выяснилось, что программатор этот на основе FT232H (а значит закос под Digilent HS2), хотя непосредственно с чипа как-будто были стерты все обозначения и тип был установлен через FT_Prog. Через него же было установлено, что китайцы все же записали в EEPROM некоторые нужные байты, но, видимо, что-то напутали и программатор никак в iMPACT не определялся. Дальнейшие разборки показали, что требуется шить именно User Area и тут уже начали опускаться руки, т.к. инфы по этому поводу мало, она часто путает, а скудные образцы кода были почти никак не комментированы (не в обиду @ADA007 sm.gif ).

Здесь я решил уйти немного в сторону и присобачить к злосчастному программатору UrJTAG и/или OpenOCD. В общем под Виндой (проверял на 7ке, т.к. версию ISE для 10ки у меня не тянет проц в следствие отсутствия виртуализации) достаточно установить официальный установочник драйверов VCP/D2XX (https://www.ftdichip.com/Drivers/VCP.htm или https://www.ftdichip.com/Drivers/D2XX.htm, там одно и то же, нажимать на ссылку в разделе Comments), возможно потребуется немного поиграть с заменой драйверов в Zadig, если уже были установлены какие-либо драйвера до этого или успели уже что-то понаустанавливать. В конце концов UrJTAG научится определять программатор:
Код
cable ft2232
(да, ft2232, даже если у вас, как и у меня, 232h). Далее, чтобы работала команда
Код
detect
нужно предварительно сказать UrJTAG где ему искать конфигурацию. Для этого с сайта Xilinx качаем BSDL файлы, распаковываем и прописываем команду
Код
bsdl path C:\Users\Chufyrev\Xilinx\xc6s-2014
и теперь можно детектировать chain (в папке можно оставить только bsdl-файлик для вашей ПЛИСины). Вместо прошивки непосредственно bitstream я генерировал в iMPACT svf-файл:
  1. Жмем Output - SVF File - Create
  2. Выбираем наш сгенерированный ранее bit-файл
  3. Появляется картинка чипа, жмем на него, слева Program
  4. Из того же меню Output говорим Stop SVF

Теперь у нас есть SVF, который мы можем скормить UrJTAG. После пары десятков прошивок рука набьется в этих действиях до автоматизма sm.gif Все команды UrJTAG можно запилить в отдельный скриптик для ускорения процесса:
Код
cable ft2232
bsdl path C:\Users\User\Xilinx\xc6s-2014
detect
svf C:\Users\User\Xilinx\projects\project_1\project_1.svf

Под линуксами UrJTAG заводиться решительно не хотел, а OpenOCD не принимал программатор вообще нигде. Проблема была в драйверах, UrJTAG по умолчанию пользуется libftdi, в то время как оказались нужны ftd2xx. Для решения следует вручную скомпилировать UrJTAG с ftd2xx, используя соответствующую опцию. Процесс описан в доках и на просторах сети, однако там есть свои нюансы, если кто заинтересуется, могу изложить подробнее. Скажу только, что в итоге UrJTAG заработал и под пингвином. OpenOCD я с тех пор не тестировал, однако есть подозрения что подобный трюк может завести и его.

Тут решено было вернуться к баранам попыткам подружить все-таки программатор и iMPACT напрямую, а для этого, как мы знаем, нужно прошивать User Area. Вот здесь мы возвращаемся к D2XX, поскольку именно этот драйвер умеет это делать. Берем исходники по ссылке выше, на этот раз не из секции Comments. В версии для Linux находим примеры на все случаи жизни, в т.ч. Read/Write UA. Нужное содержание этого самого UA взял из этой ветки, скомпилировал программу, прошило и ... лажа. Не смотря на отсутствие ошибок работы функции FT_EE_UAWrite() вся EEPROM затерлась 0xFF, даже то, что было "в наличии". Определяемый размер UA тоже изменился, возможно это связано с тем, что на размер UA влияет строка Manufacturer/Model/SerialNumber. Но вообще какое-то странное поведение. Решил уже проверить то же самое под Windows, установил Visual Studio, слинковал ftd2xx.lib (внимание, берите тот файл, который весит ~20кБ, я долго разбирался со второй версией на 1МБ) (либу можно взять все по той же ссылке выше). Результат тот же - 0xFF. Ну в общем фиг знает, я накосячил, или драйвер, но вернулся я еще раз к методу ADA007 и его статье в КиТ. После конфигурации FT_Prog'ом и запуска FTDI_User_Area_Writer.exe программатор распознался и iMPACT'ом! Повезло, по всей видимости, что размер EEPROM у нас оказался одинаковым, 128Б (EEPROM 93C56). Если что, UrJTAG воспринимает FT232H в любом виде, вне зависимости от содержания EEPROM в принципе, так что как запасной вариант остается всегда.

Под Linux новопрошитый программатор не распознался, но это скорее всего из-за отсутствия Digilent Plugin, который в Ubuntu, как я понял, поставить надо еще постараться.
Go to the top of the page
 
+Quote Post
usserr
сообщение Sep 28 2018, 11:39
Сообщение #82





Группа: Новичок
Сообщений: 2
Регистрация: 27-09-18
Пользователь №: 107 742



UPDATE: Под Ubuntu 18 также программатор увиделся, нужно было поставить Digilent Plugin.
Go to the top of the page
 
+Quote Post
rloc
сообщение Sep 28 2018, 11:53
Сообщение #83


Узкополосный широкополосник
******

Группа: Свой
Сообщений: 2 316
Регистрация: 13-12-04
Из: Moscow
Пользователь №: 1 462



В чем вопрос? Happy story?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th April 2024 - 07:50
Рейтинг@Mail.ru


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