Перейти к содержанию
    

Digilent программатор Xilinx

Почему нельзя было статично прилинковать ftd2xx.dll?

 

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

Я отвечаю только за схему, плату и слитые дампы с еепром.

 

Изменено пользователем dima2640

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь знает в чем отличие "новых" 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."

 

 

Спасибо!

post-14339-1485161254_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь знает в чем отличие "новых" SMT2 и HS3 ?

Есть вскрытый HS3 (с растянутой и снятой термоусадкой).

В нем как и в HS2 не FT2232, а FT232.

Могу под микроскопом посмотреть с какой ноги идет ресет и снять дамп (если научите как).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь знает в чем отличие "новых" SMT2 и HS3 ?

Все сводится к одному доп. пину сброса ?

Какая ножка FT2232 им управляет ?

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

 

В SMT2 есть дополнительный режим 2-проводного JTAG (или 2-wire интерфейса), на который отводится несколько дополнительных буферов и еще есть пара дополнительных GPIO (пользовательских, двунаправленных). С точки зрения программирования Xilinx особой разницы нет. 2-проводный интерфейс сделан на будущее, под новый стандарт, можно использовать для ARM (SWD) - официальной поддержки нет, но поле для творчества есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

s-l300.jpg

 

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

 

Здесь я решил уйти немного в сторону и присобачить к злосчастному программатору 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. После пары десятков прошивок рука набьется в этих действиях до автоматизма :) Все команды 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, как я понял, поставить надо еще постараться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что за микросхема стоит в модуле JTAG-SMT3-NC (Правый верхний угол фото)? 

SMT3_-_Top_-_600__13137.1519167999.1280.

На ней написано T6AA _H7B

Корпус WLP8 или DSBGA8. Шаг 0.5 мм. Размер корпуса 1.6 х 1.6 мм.

R6511326-06.jpg

 

 

Подобные микросхемы стоят в JTAG-SMT2-NC (надписи T6AB _H2B и T6AB _J4H) и JTAG-HS3  (надпись T6AC _F1B).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, Zig сказал:

Корпус WLP8 или DSBGA8.

Почему не такой?

image.thumb.png.c63ebc3187192d8467010bf4a85d6978.png

 

 

6 часов назад, Zig сказал:

На ней написано T6AA _H7B

У некоторых фирм было "AA" - признак Adjustable (LDO).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IMHO  по резисторам вокруг - флешка. А вот какая конкретно  - вопрос...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, _4afc_ said:

IMHO  по резисторам вокруг - флешка. А вот какая конкретно  - вопрос...

Это не флешка, флешка это IC2. Возможно это - преобразователь уровней или LDOшка. Флешка соединяется с ногами 61 62 63.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 часов назад, Zig сказал:

Попробую вызвонить на модуле SMT2 к каким выводам FT232H она подключена.

В SMT2 была NC7WZ126L8X (IC7), ранее рисовал схему - два верхних буфера (на схеме обозначены NC7SZ126, но смысл от этого не меняется) на TCK и TDI.

image.thumb.png.95684ed1db38088c4759204f8245e75c.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...