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

 
 
> Digilent программатор Xilinx, кто пользовал?
ADA007
сообщение Aug 6 2013, 09:34
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Приветствую всех форумчан!

Подскажите, кто пользовал данный девайс ? Действительно ли "Compatible with all Xilinx tools" ? И все ли там так гладко, как они пишут? Привлекает цена самой ftdi-ки, но смущают подводные камни.

ЗЫ. не зря же здесь лепили полную копию оригинального DLC10... laughing.gif
Go to the top of the page
 
+Quote Post
6 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 82)
DASM
сообщение Aug 6 2013, 09:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Я пользую, потому что в ZedBoard он попросту распаян. А какие требования то ?
Go to the top of the page
 
+Quote Post
KPiter
сообщение Aug 6 2013, 09:47
Сообщение #3


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

Группа: Участник
Сообщений: 84
Регистрация: 22-09-06
Из: NN
Пользователь №: 20 592



Цитата(DASM @ Aug 6 2013, 13:42) *
в ZedBoard он попросту распаян

Не только в ней, на всех последних отладочных платах 7 серии
Go to the top of the page
 
+Quote Post
dsmv
сообщение Aug 6 2013, 09:54
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284



Я использовал HS2: http://www.digilentinc.com/Products/Detail...p;Prod=JTAG-HS2


Работает. Требует дополнительный plugin для ISE

Go to the top of the page
 
+Quote Post
fractcon
сообщение Aug 6 2013, 10:04
Сообщение #5


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

Группа: Участник
Сообщений: 157
Регистрация: 10-05-13
Пользователь №: 76 788



Подводных камней там всего один, он не поддерживает Chipscope и EDK судя по всему.
То есть все что с ним можно сделать это зашить прошивку. В этом смысле разница с оригиналом как между программатором и эмулятором.


--------------------
Скажи нет международному терроризму... не покупай Pepsi Cola.
Go to the top of the page
 
+Quote Post
rloc
сообщение Aug 6 2013, 10:30
Сообщение #6


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

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



http://www.digilentinc.com/Products/Detail...DIGILENT-PLUGIN
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 6 2013, 10:41
Сообщение #7


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(fractcon @ Aug 6 2013, 13:04) *
Подводных камней там всего один, он не поддерживает Chipscope и EDK судя по всему.
То есть все что с ним можно сделать это зашить прошивку. В этом смысле разница с оригиналом как между программатором и эмулятором.

получается, что на сайте написано не правда:
Цитата
The JTAG-SMT1 is a compact, complete and fully self-contained surface-mount programming module for Xilinx FPGAs. It can be accessed directly from all Xilinx tools, including iMPACT, Chipscope, and EDK. The module can be loaded directly onto a target board and reflowed like any other component.

???

Тогда расскажите почему на ZedBoard у меня все работает включая Chipscope и EDK?


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
alexr22b
сообщение Aug 6 2013, 20:28
Сообщение #8


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

Группа: Свой
Сообщений: 102
Регистрация: 11-10-04
Пользователь №: 849



Цитата(fractcon @ Aug 6 2013, 14:04) *
Подводных камней там всего один, он не поддерживает Chipscope и EDK судя по всему.
То есть все что с ним можно сделать это зашить прошивку. В этом смысле разница с оригиналом как между программатором и эмулятором.


Все работает, толкько отладчик раз в 5 медленнее в пошаговой по сравнению с Xilinx USB JTAG.
Go to the top of the page
 
+Quote Post
ADA007
сообщение Aug 7 2013, 09:57
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(alexr22b @ Aug 6 2013, 23:28) *
Все работает, толкько отладчик раз в 5 медленнее в пошаговой по сравнению с Xilinx USB JTAG.

Это хорошо...у нас главное, чтоб работало...А схемку данного девайса уже кто-то срисовал? а то на отладочных платах, там только квадрат нарисован и написано , что digilent programmer или что-то вроде того....поделитесь, если есть
Go to the top of the page
 
+Quote Post
Timmy
сообщение Aug 7 2013, 16:51
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(alexr22b @ Aug 7 2013, 00:28) *
Все работает, толкько отладчик раз в 5 медленнее в пошаговой по сравнению с Xilinx USB JTAG.

Это на одинаковой тактовой частоте? А то вдруг у Digilent по умолчанию 5МГц ставится, а у Xilinx - 25.
Цитата
А схемку данного девайса уже кто-то срисовал? а то на отладочных платах, там только квадрат нарисован

Схемку да, было бы интересно. Я пробовал подключать к плагину от Digilent свой ft2232 минимодуль, заточенный под Lattice, и он не распознаётся. Вроде конфигурационное ПЗУ должно быть чистое. Подозреваю, что у Digilent часть GPIO пинов ft2232 замкнуты друг на друга или питание/землю, и по ним софт определяет, родной девайс или левый. Это помимо наличия трансляторов уровня, но с ними и так всё ясно.
Go to the top of the page
 
+Quote Post
alexr22b
сообщение Aug 7 2013, 19:14
Сообщение #11


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

Группа: Свой
Сообщений: 102
Регистрация: 11-10-04
Пользователь №: 849



Цитата(Timmy @ Aug 7 2013, 20:51) *
Это на одинаковой тактовой частоте? А то вдруг у Digilent по умолчанию 5МГц ставится, а у Xilinx - 25.


Digilent - 30 MHz (tired it at 15 & 10 MHz as well - no difference), Xilinx - 12 MHz.
Go to the top of the page
 
+Quote Post
akorud
сообщение Aug 8 2013, 18:17
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 12-11-10
Из: Poland
Пользователь №: 60 842



Все работает. И EDK и Chipscope. И куда быстрее и стабильнее родного.
Go to the top of the page
 
+Quote Post
alexr22b
сообщение Aug 11 2013, 01:38
Сообщение #13


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

Группа: Свой
Сообщений: 102
Регистрация: 11-10-04
Пользователь №: 849



Цитата(akorud @ Aug 8 2013, 22:17) *
Все работает. И EDK и Chipscope. И куда быстрее и стабильнее родного.


Расскажите пожалуйста, как вам удалось добиться быстрой и стабильной работы от digilent jatg в EDK ? У меня их 4 штуки и я ни один не смог заставить в пошаговой отладке ходить быстрее чем одну строчку в 15 секунд. Может какие-то секретные параметры ? OS ? Linux ? Windows ? Я под Win7 64bit.
Тот что встроен в ZC706 board тоже медленный как черепаха при отладке, с Vivado hadware debug вообще не дружит - выкидывает EDK debugger напрочь.
Спасибо!
Go to the top of the page
 
+Quote Post
ADA007
сообщение Aug 13 2013, 12:01
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(alexr22b @ Aug 11 2013, 04:38) *
У меня их 4 штуки ....


А не могли бы вы предоставить схемку данного чуда?....очень хочется повторить, особенно, если они на ftdi сделаны..а то делать/покупать клон на DLC9 как-то сложновато и карман жмет...
Go to the top of the page
 
+Quote Post
ADA007
сообщение Dec 3 2013, 07:23
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



На днях собрал по типовой схеме с ДШ на макетке FT2232H - как ни странно - после установки драйверов от digilent, что идут в комплекте с ISE 14.6 данная штука не заработала. По этому хотел уточнить некоторые детали у тех, кто пользуется оригиналом.
1) Какой vid/pid показывает устройство в списке? 0403:6010 или иное?
2) Откуда берется = "Digilent Plugin: Product ID: F030012D" и "Digilent Plugin: Firmware Version: 011B" ... вроде бы на фотке с оф. сайта digilent-a нет eeprom?
3) Неужели никто не хочет помочь сделать клон, дабы не нарушать авторских прав? (я же не для коммерческих целей делаю) laughing.gif
Go to the top of the page
 
+Quote Post
Timmy
сообщение Dec 3 2013, 07:49
Сообщение #16


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(ADA007 @ Dec 3 2013, 11:23) *
На днях собрал по типовой схеме с ДШ на макетке FT2232H - как ни странно - после установки драйверов от digilent, что идут в комплекте с ISE 14.6 данная штука не заработала. По этому хотел уточнить некоторые детали у тех, кто пользуется оригиналом.
1) Какой vid/pid показывает устройство в списке? 0403:6010 или иное?
2) Откуда берется = "Digilent Plugin: Product ID: F030012D" и "Digilent Plugin: Firmware Version: 011B" ... вроде бы на фотке с оф. сайта digilent-a нет eeprom?
3) Неужели никто не хочет помочь сделать клон, дабы не нарушать авторских прав? (я же не для коммерческих целей делаю) laughing.gif

Могу написать программку для сканирования GPIO портов оригинального адаптера для проверки моего предположения о методе детектирования оригинальности адаптера. Идея в том, что все порты переключаются на ввод, затем делается цикл на 32 шага по всем битам GPIO. Текущий бит переключается на вывод 0, в лог пишутся состояния всех 32 бит GPIO, затем текущий бит переключается на вывод 1, в лог пишутся состояния всех 32 GPIO, затем переключаем текущий бит на ввод и переходим к сканированию следующего. Так можно обнаружить все подтяжки и закоротки. Только у меня сейчас нет под рукой ft2232, чтобы это отладить. И ещё понадобится оригинал, чтобы отсканировать.
"Digilent Plugin: Product ID: F030012D" - это, думаю, идентификатор плагина, а не адаптера.
Go to the top of the page
 
+Quote Post
ADA007
сообщение Dec 3 2013, 09:32
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(Timmy @ Dec 3 2013, 09:49) *
... И ещё понадобится оригинал, чтобы отсканировать. ...

Вот поэтому и написал на форум т.к. оригинала сам под рукой не имею....Был бы оригинал - уже б даже мультиметром вызвонил куда какие ноги идут... rolleyes.gif
Может кто еще откликнется, у кого оригинал есть...
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Dec 3 2013, 10:00
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Китайский аналог американского программатора стоит порядка 2-х т.р. Думаю это многим доступно


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
rloc
сообщение Dec 3 2013, 10:04
Сообщение #19


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

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



Отвечаю на вопросы:
1) Замкнуты ADBUS0 и ADBUS4.
2) EEPROM есть на всех платах - 93LC56BT (для HS2 и SMT2 VID_PID=0403_6014).
3) ADBUS7 можно управлять третьим состоянием буферов JTAG-выходов (0 - третье состояние).
4) ACBUS5 используется для сброса Zync, либо как GPIO2, ACBUS4 переводит выходной буфер в третье состояние, либо меняет направление (1 - выход, 0 - вход или третье состояние).
5) ACBUS0/ACBUS1 в SMT2 дополнительно используются для GPIO0/GPIO1, ACBUS3/ACBUS4 - для управления направлением соответствующих буферов GPIO (1 - выход, 0 - вход или третье состояние).
6) ADBUS5/ADBUS6 в HS2 и SMT2 дополнительно используются для режима SPI (подробности опускаю).


Цитата(Dmitriyspb @ Dec 3 2013, 14:00) *
Китайский аналог американского программатора стоит порядка 2-х т.р.

Handmade, а-ля диджилент, стоит порядка 10 уе, работает быстрее, обеспечен поддержкой ISE (через plugin), встраивается во все платы и дополнительно дает возможность управления по USB.
Go to the top of the page
 
+Quote Post
yes
сообщение Dec 3 2013, 10:07
Сообщение #20


Гуру
******

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



а фузы (ОТР) в spartan6 он прошивать умеет?
а то старые ксайлинские кабеля не позволяют, а "новый" (красный) все никак не доедет до меня
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Dec 3 2013, 10:32
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Цитата(rloc @ Dec 3 2013, 14:04) *
Handmade, а-ля диджилент, стоит порядка 10 уе, работает быстрее, обеспечен поддержкой ISE (через plugin), встраивается во все платы и дополнительно дает возможность управления по USB.

Если только цена выгоднее


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
rloc
сообщение Dec 3 2013, 10:49
Сообщение #22


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

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



Цитата(yes @ Dec 3 2013, 14:07) *
а фузы (ОТР) в spartan6 он прошивать умеет?

С фузами не работал, но надежд на положительный исход мало судя по откликам.
Go to the top of the page
 
+Quote Post
ADA007
сообщение Dec 3 2013, 11:21
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(rloc @ Dec 3 2013, 12:04) *
Отвечаю на вопросы...

Большое спасибо за ответы. А JTAG, как я понимаю, подключен к ADBUS0 - TCK, ADBUS1 - TDI, ADBUS2 - TDO, ADBUS3 - TMS?
Попробовал замкнуть ADBUS0-ADBUS4 - кабель пока не определился, но еще надо vid/pid сменить для чистоты эксперимента.
Go to the top of the page
 
+Quote Post
Timmy
сообщение Dec 3 2013, 11:30
Сообщение #24


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(ADA007 @ Dec 3 2013, 15:21) *
Большое спасибо за ответы. А JTAG, как я понимаю, подключен к ADBUS0 - TCK, ADBUS1 - TDI, ADBUS2 - TDO, ADBUS3 - TMS?
Попробовал замкнуть ADBUS0-ADBUS4 - кабель пока не определился, но еще надо vid/pid сменить для чистоты эксперимента.

vid/pid менять не надо, они там дефолтовые, PID 6014 - это ft232H, в HS2, очевидно, именно этот чип, а 2232 в HS1. Есть ещё вероятность, что идентификатор хранится в user area of eeprom.
Go to the top of the page
 
+Quote Post
ADA007
сообщение Dec 3 2013, 14:42
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(Timmy @ Dec 3 2013, 13:30) *
Есть ещё вероятность, что идентификатор хранится в user area of eeprom.


Да...вот судя из этого лога загрузки HS1 устройства

[code]
INFO:iMPACT - Digilent Plugin: found 1 device(s).
INFO:iMPACT - Digilent Plugin: opening device: "JtagHs1", SN:210205305973
INFO:iMPACT - Digilent Plugin: User Name: JtagHs1
INFO:iMPACT - Digilent Plugin: Product Name: Digilent JTAG-HS1
INFO:iMPACT - Digilent Plugin: Serial Number: 210205305973
INFO:iMPACT - Digilent Plugin: Product ID: 30700150
INFO:iMPACT - Digilent Plugin: Firmware Version: 0001
INFO:iMPACT - Digilent Plugin: JTAG Port Number: 0
INFO:iMPACT - Digilent Plugin: JTAG Clock Frequency: 10000000 Hz
INFO:iMPACT - Digilent Plugin: Opening device : "SN:210205305973".
INFO:iMPACT - Digilent Plugin: User Name: JtagHs1
INFO:iMPACT - Digilent Plugin: Product Name: Digilent JTAG-HS1
INFO:iMPACT - Digilent Plugin: Serial Number: 210205305973
INFO:iMPACT - Digilent Plugin: Product ID: 30700150
INFO:iMPACT - Digilent Plugin: Firmware Version: 0001
INFO:iMPACT - Digilent Plugin: JTAG Port Number: 0
INFO:iMPACT - Digilent Plugin: JTAG Clock Frequency: 125000 Hz
INFO:iMPACT - Current time: 8/1/2011 10:23:09 AM
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': Erasing device...
'1': Erasure completed successfully.
PROGRESS_END - End Operation.
Elapsed time = 0 sec.
INFO:iMPACT - Current time: 8/1/2011 10:23:11 AM
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': Putting device in ISP mode...done.
'1': Putting device in ISP mode...done.
'1': Performing blank check on device ...
'1': Device is blank.
'1': Blank check completed successfully.
PROGRESS_END - End Operation.
Elapsed time = 0 sec.
INFO:iMPACT - Current time: 8/1/2011 10:23:13 AM
PROGRESS_START - Starting Operation.
Maximum TCK operating frequency for this device chain: 10000000.
Validating chain...
Boundary-scan chain validated successfully.
'1': Programming device...
'1': Programming terminated due to errors.
PROGRESS_END - End Operation.
Elapsed time = 1 sec.
[code]

Мы имеем дело с Serial Number и Product ID + Product Name. И если верить вот этим данным, то в EEPROM надо вписать вот это



Но у меня есть сомнения по поводу всей конфигурации девайса....Мог бы кто-нибудь подключить FT-Prog или Mprog и вычитать содержимое EEPROM на своем JTAG-HS1?

ЗЫ: а то у меня не получается пока что записать EEPROM так, как на рисунке.
Go to the top of the page
 
+Quote Post
rloc
сообщение Dec 3 2013, 18:30
Сообщение #26


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

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



Цитата(ADA007 @ Dec 3 2013, 15:21) *
А JTAG, как я понимаю, подключен к ADBUS0 - TCK, ADBUS1 - TDI, ADBUS2 - TDO, ADBUS3 - TMS?

Да, все как в даташите на режим JTAG написано.

В user-area в EEPROM с адреса 0x50 по 0x79 прописаны: фирма, название и серийный номер. Например для HS2
Код
0050: 1203 4400 6900 6700 6900 6C00 6500 6E00
0058: 7400 2803 4400 6900 6700 6900 6C00 6500
0060: 6E00 7400 2000 5500 5300 4200 2000 4400
0068: 6500 7600 6900 6300 6500 1A03 3000 3100
0070: 3200 3300 3400 3500 3600 3700 3800 3900
0078: 3000 3100 0203 0000 0000 0000 0000 102D


После перевода из HEX:
фирма - Digilent
название - Digilent USB Device
серийный номер - 012345678901
Go to the top of the page
 
+Quote Post
ADA007
сообщение Dec 5 2013, 14:38
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Значит ни кто не использует SMT1 на FT2232H получается? Я сомневаюсь, что если я залью данные, как пишет rloc в свой программатор - он не заработает.
Попробовал залить туда данные, как написано на форуме микроконтроллера =>

В результате - FTDI - неадекватно пропарсила данные. Поскольку FT-Prog почему-то записывает Product Description через 1 байт.
Итак....на текущий момент я считаю, что:
1. Product Description: Digilent JTAG-SMT1 , Manufacturer: JtagSmt1 , Serial Number: 210203367162 , ID: FT
2. По портам = все два в режиме 245FIFO и драйвер D2xx

Вот в такой конфигурации записываю по FT-Prog данные - impact девайс не распознает. В списке устройств win показывает, что Составное USB устройство + 2-а порта А и В находит.

Предлагайте свои варианты заливки EEPROM или конфигурации...Можно в hex виде - или как удобно - буду пробовать.
Go to the top of the page
 
+Quote Post
Flood
сообщение Dec 6 2013, 21:31
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 702
Регистрация: 8-06-06
Пользователь №: 17 871



Все правильно пишут, но на приведенной картинке только половина дампа - как раз пользовательская зона.
Там, где "через один байт" - штатные Unicode строки идентификации FTDI. А на картинке - пользовательские, проверяемые плагином.
Перешивать пользовательскую зону FT_Prog не может, надо делать свой софт (или найти готовый, который умеет).

Цитата(rloc @ Dec 3 2013, 14:49) *
С фузами не работал, но надежд на положительный исход мало судя по откликам.

Фузы шьет только красная коробочка (DLC10), и вроде бы только под Windows.
Go to the top of the page
 
+Quote Post
ADA007
сообщение Dec 7 2013, 19:23
Сообщение #29


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(Flood @ Dec 6 2013, 23:31) *
Перешивать пользовательскую зону FT_Prog не может....

Так программатор-то есть..я просто не могу догнать что в eeprom шить, слегка запутался с этими областями. Есть ли дока с описанием областей (а то в ДШ на FTDI - про EEPROM только две строки написано)? Напишите, пожалуйста, полный dump памяти - я залью.
Go to the top of the page
 
+Quote Post
ADA007
сообщение Dec 11 2013, 12:28
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(Flood @ Dec 6 2013, 23:31) *
Там, где "через один байт" - штатные Unicode строки идентификации FTDI. А на картинке - пользовательские, проверяемые плагином.
Перешивать пользовательскую зону FT_Prog не может, надо делать свой софт (или найти готовый, который умеет).


В общем в край меня запутали.
rloc - пишет, что у него пользовательские данные начинаются с адреса 0х50 до 0х7F (причем память, видимо, 2к стоит типа 93с56).

Вот полный dump моей памяти, у меня 94c46 стоит (1к), данные записаны через FT_Prog.
Код
00000000   01 01 04 03  60 10 07 00  32 80 00 08  00 00 12 9A   ....`...2.......
00000010   26 AC 1A D2  00 00 00 00  00 46 03 12  00 4A 00 74  &........F...J.t
00000020   00 61 00 67  00 53 00 6D  00 74 00 31  03 26 00 44   .a.g.S.m.t.1.&.D
00000030   00 69 00 67  00 69 00 6C  00 65 00 6E  00 74 00 20   .i.g.i.l.e.n.t.
00000040   00 4A 00 54  00 41 00 47  00 2D 00 53  00 4D 00 54  .J.T.A.G.-.S.M.T
00000050   00 31 03 1A  00 32 00 31  00 30 00 32  00 30 00 33   .1...2.1.0.2.0.3
00000060   00 33 00 33  00 37 00 37  00 38 00 37  00 00 00 00   .3.3.7.7.8.7....
00000070   00 00 00 00  00 00 00 00  00 00 00 00  00 00 5B 92   ..............[.


Так вот, здесь как раз user-space или совсем маленькая, или все-таки FT-Prog умеет писать пользовательские данные. Еще надо отметить, что текстовые данные записаны в unicode. с адреса 0x1D и аж до 0х6С - все записал FT-Prog из полей Product Description , Manufacturer, Serial Number соответственно.

Так все-таки какое должно быть наполнение памяти?
Или надо больше ставить на 2к eeprom, чтобы в нее больше user-data поместилось?
Go to the top of the page
 
+Quote Post
Corner
сообщение Dec 13 2013, 16:08
Сообщение #31


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

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Есть у меня HW-USB модуль на FT4232. Кто подскажет - допилить, чтобы ксилинкс поддерживал можно?
Go to the top of the page
 
+Quote Post
ADA007
сообщение Dec 17 2013, 09:04
Сообщение #32


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(rloc @ Dec 3 2013, 20:30) *
Например для HS2...


Как думаете, если подсунуть impact-у HS2 сделанный не на ft232h , а на ft2232h (двухпортовом) - будет работать? (по идее система команд в драйвере у них должна быть одинаковая на 1-й порт)
и было бы здорово иметь полный dump с eeprom для hs2 - чтобы это попробовать, а не только с 0x50 до 0х78...
Go to the top of the page
 
+Quote Post
rloc
сообщение Dec 17 2013, 11:12
Сообщение #33


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

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



HS2 full dump
Код
Read EEPROM Device 0
Word
0000: 0100 0304 1460 0009 80FA 0800 0000 A012
0008: B228 DA1A 0000 0000 0000 0000 0000 5600
0010: 0100 C792 6A35 5201 9030 4A74 6167 4873
0018: 3200 0000 0000 0000 0000 0044 6967 696C
0020: 656E 7420 4A54 4147 2D48 5332 0000 0000
0028: 0000 0000 0000 0000 1100 0000 0000 0000
0030: 0000 0000 0000 0000 0000 0000 0000 0000
0038: 0000 0000 0000 0000 0000 0000 0000 0000
0040: 0000 0000 0000 0000 0000 4800 0000 0000
0048: 0000 0000 0000 0000 0000 0000 0000 0000
0050: 1203 4400 6900 6700 6900 6C00 6500 6E00
0058: 7400 2803 4400 6900 6700 6900 6C00 6500
0060: 6E00 7400 2000 5500 5300 4200 2000 4400
0068: 6500 7600 6900 6300 6500 1A03 3200 3100
0070: 3000 3200 3400 3900 3800 3500 3400 3600
0078: 3000 3600 0203 0000 0000 0000 0000 102D

Go to the top of the page
 
+Quote Post
ADA007
сообщение Jan 9 2014, 13:16
Сообщение #34


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(rloc @ Dec 17 2013, 13:12) *
HS2 full dump


Огромное спасибо за dump/ Однако, по ниму есть вопрос:
в ДШ (AN_121_FTDI_Device_EEPROM_User_Area_Usage) про user area сказано, что =
Цитата

First Block=
Size – 128 bytes.
The start address of the user area within this 1st block is as follows:
Start Address = 0x14 (for FT232B and FT245B)
0x16 (for FT2232D)
0x1A (for FT2232H and FT4232H)

Т.е. вроде как user area должна начинаться с 0х14 в вашем случае.

У себя я наблюдаю следующую картину =
Код
Read EEPROM Device 0
Word
0000: 0101 0304 1460 0007 8032 0800 0000 9A12
0008: AC28 D41A 0000 0000 5600 0100 C792 6A35
0010: 5201 9030 4A74 6167 4873 3200 0000 0000
0018: 0000 0000 0044 6967 696C 656E 7420 4A54
0020: 4147 2D48 5332 0000 0000 0000 0000 0000
0028: 0000 1100 0000 0000 0000 0000 0000 0000
0030: 0000 0000 0000 0000 0000 0000 0000 0000
0038: 0000 0000 0000 0000 0000 0000 0000 0000
0040: 0000 0000 0000 0048 0000 0000 0000 0000
0048: 0000 0000 0000 0000 0000 1203 4400 6900
0050: 6700 6900 6C00 6500 6E00 7400 2803 4400
0058: 6900 6700 6900 6C00 6500 6E00 7400 2000
0060: 5500 5300 4200 2000 4400 6500 7600 6900
0068: 6300 6500 1A03 3200 3100 3000 3200 3400
0070: 3900 3800 3500 3400 3600 3000 3600 0000
0078: 0000 0000 0000 0000 0000 0000 0000 6D4A

Как видно из моего dump-a - последним словом перед user area было 0х5600 далее по смещению 0х1А будут находиться user area data.
Однако, у Вас слово 0х5600 находится по смещению дальше моего и user area у вас начинается со смещения 0х20.

Следовательно вопрос: почему 0х20 вместо 0х14? blink.gif

ЗЫ: Правильно ли я понимаю, что CRC16, что стоит в конце eeprom, от user area не считается? rolleyes.gif
Go to the top of the page
 
+Quote Post
alver
сообщение Jan 9 2014, 15:00
Сообщение #35


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 17-11-12
Пользователь №: 74 440



Цитата(ADA007 @ Jan 9 2014, 17:16) *
Т.е. вроде как user area должна начинаться с 0х14 в вашем случае.

Не вижу в списке FT232H
Go to the top of the page
 
+Quote Post
ADA007
сообщение Jan 9 2014, 19:13
Сообщение #36


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(alver @ Jan 9 2014, 17:00) *
Не вижу в списке FT232H

Потому, что про user area упоминают FTDI только в этом документе. И больше ничего не нашел про это - вот и подумал, что распространяется на всю серию микросхем FT232x.
К тому же ребята с сайта используют тот же 232h и ссылаются на тот же документ, что я привел выше.
Если кто подскажет, где написано конкретно про ft232h - буду очень благодарен.
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 9 2014, 19:58
Сообщение #37


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

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



Действительно, FT232H несколько отличается от остальных. Из открытых источников http://www.intra2net.com/en/developer/libftdi/ можно выудить следующий код:

Код
    // eeprom size check
    switch (ftdi->type)
    {
        case TYPE_AM:
        case TYPE_BM:
            user_area_size = 96;    // base size for strings (total of 48 characters)
            break;
        case TYPE_2232C:
            user_area_size = 90;     // two extra config bytes and 4 bytes PnP stuff
            break;
        case TYPE_R:
            user_area_size = 88;     // four extra config bytes + 4 bytes PnP stuff
            break;
        case TYPE_2232H:            // six extra config bytes + 4 bytes PnP stuff
        case TYPE_4232H:
            user_area_size = 86;
            break;
        case TYPE_232H:
            user_area_size = 80;
            break;
        default:
            user_area_size = 0;
            break;
    }


Там есть и алгоритм вычисления чексуммы, который весьма далек от CRC16:

Код
    // calculate checksum
    checksum = 0xAAAA;

    for (i = 0; i < eeprom->size/2-1; i++)
    {
        value = output[i*2];
        value += output[(i*2)+1] << 8;

        checksum = value^checksum;
        checksum = (checksum << 1) | (checksum >> 15);
    }

    output[eeprom->size-2] = checksum;
    output[eeprom->size-1] = checksum >> 8;
Go to the top of the page
 
+Quote Post
ADA007
сообщение Jan 10 2014, 08:54
Сообщение #38


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(rloc @ Jan 9 2014, 21:58) *
Действительно, FT232H несколько отличается от остальных.


Спасибо, действительно отличается, код чипа (0x56) записывается =>

Код
ft2232h
output[0x18] = eeprom->chip;
ft232h
output[0x1e] = eeprom->chip;


т.е. user_area у 232h начинается действительно с 0х20 адреса...

Цитата(rloc @ Jan 9 2014, 21:58) *
Там есть и алгоритм вычисления чексуммы, который весьма далек от CRC16:


Судя из приведенного кода сумма считается от все памяти и похоже, что ftdi-ка не считывает данные, если контрольная сумма не правильная... laughing.gif
Go to the top of the page
 
+Quote Post
ADA007
сообщение Jan 16 2014, 11:38
Сообщение #39


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Все оказалось до безобразия просто.

Цитата(Flood @ Dec 6 2013, 23:31) *
Перешивать пользовательскую зону FT_Prog не может, надо делать свой софт (или найти готовый, который умеет).

Так и получилось...пришлось написать свой софт, который использует функцию FT_EE_UAWrite. В общем алгоритм следующий, испытанный для FT2232H, которая была у меня под рукой:
1. В FT_Prog-e настраиваем Product Description, Manufacturer, Serial Number, порты в режим 245FIFO и драйвер D2xx - записываем в EEPROM.
2. Прописываем User_Area из дампа в посте , любезно, предоставленного от rloc вписываем данные. User_Area там по адресам с 0х0010 по 0х002С в конце добавляем необходимое кол-во байт 0х00 в зависимости от типа ftdi и используемой eeprom.
Контрольная сумма считается автоматически драйвером ftdi при записи eeprom.
Расположение ног расписано несколькими постами выше. ADBUS0 и ADBUS4 замыкать не нужно - и так все работает!

В общем можно это отдельной статьей оформить, чтоб не затерялась инфа на просторах форума, главное, чтобы Digilent не обиделись rolleyes.gif
ЗЫ: vid/pid нужно оставлять оригинальными, а иначе не из той области eeprom будет вычитываться.
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 16 2014, 13:05
Сообщение #40


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

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



Поздравляю! ПЛИС прошивали?

Цитата(ADA007 @ Jan 16 2014, 15:38) *
ADBUS0 и ADBUS4 замыкать не нужно - и так все работает!

Предполагаю, в какой-то из версий вместо этой перемычки была петля по печатной плате по длине JTAG-цепочки для определения задержки тактового сигнала и автоматической установки максимальной частоты. Владельцы ZedBoard, откликнитесь!
Go to the top of the page
 
+Quote Post
ADA007
сообщение Jan 16 2014, 13:47
Сообщение #41


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(rloc @ Jan 16 2014, 15:05) *
Поздравляю! ПЛИС прошивали?

Да...прошивал...кабель определяется impact-ом как HS2...на днях еще попробую ChipScope
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 16 2014, 13:56
Сообщение #42


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

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



Возьму на заметку, пока использовал только FT232H: мультиплексировал между JTAG и пользовательскими данными. С дополнительным портом проще.
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 17 2014, 17:54
Сообщение #43


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

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



Ради такого случая решил поиздеваться над FT4232H mini module. В 14.7 версии софта импакт находит устройство, как программатор Digilent, это видно по лог-файлу, но потом выдает ошибку - "failed to open device handle". Так что не все йогурты одинаково полезны. И еще подтверждаю - доступа к eFUSE регистрам через Digilent нет, даже меню соответствующее не появляется, через Platform Cable на той же плате все программируется. Алгоритм расчета контрольной суммы в драйверах D2XX - какой-то свой, не CRC16 и не как в libftdi.
Go to the top of the page
 
+Quote Post
ADA007
сообщение Jan 20 2014, 19:21
Сообщение #44


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(rloc @ Jan 17 2014, 19:54) *
Алгоритм расчета контрольной суммы в драйверах D2XX - какой-то свой, не CRC16 и не как в libftdi...

Я тут только что проверил алгоритм подсчета вот этот
Код
    // calculate checksum
    checksum = 0xAAAA;

    for (i = 0; i < eeprom->size/2-1; i++)
    {
        value = output[i*2];
        value += output[(i*2)+1] << 8;

        checksum = value^checksum;
        checksum = (checksum << 1) | (checksum >> 15);
    }

    output[eeprom->size-2] = checksum;
    output[eeprom->size-1] = checksum >> 8;


Он рабочий....мне удалось с его помощью посчитать выложенный вами dump и свой тоже - все сошлось (правда пришлось немного допилить,чтобы идея суммы сохранилась)...сырцы прилагаю, если что
ЗЫ: за код больно не бить....писал на скорую руку
Прикрепленные файлы
Прикрепленный файл  main.c.tar ( 10 килобайт ) Кол-во скачиваний: 158
 
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 20 2014, 19:36
Сообщение #45


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

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



Опа, никак под Линукс проверяли? Т.е. еще не факт, что FT2232H под Виндоус подойдет. Код завтра проверю. По-началу писал побайтно и контрольную сумму вычислял сам, но Импакт не видел программатор, потом - через запись юзеровской области целым блоком, драйвера сами посчитали контрольную сумму и все определилось.
Go to the top of the page
 
+Quote Post
ADA007
сообщение Jan 20 2014, 20:35
Сообщение #46


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(rloc @ Jan 20 2014, 21:36) *
Опа, никак под Линукс проверяли?
....
драйвера сами посчитали контрольную сумму и все определилось.

Да, изготовленный мною девайс и под linux и под windows проверял - все работает.
Контрольную сумму вписывал при помощи драйвера - записывал целым блоком user area.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jan 20 2014, 21:24
Сообщение #47


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(ADA007 @ Jan 20 2014, 22:35) *
Да, изготовленный мною девайс и под linux и под windows проверял - все работает.
Контрольную сумму вписывал при помощи драйвера - записывал целым блоком user area.

a14.gif

PS попробую проверить на Zedboard


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 21 2014, 05:50
Сообщение #48


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

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



Так у ZedBoard уже должна быть родная поддержка программирования через JTAG:
Цитата
Onboard USB-JTAG Programming


Скиньте лучше копию EEPROM, например через FT_PROG.

Или у Вас microZed? Там другой чип.

Получается UM232H-B - самая дешевая альтернатива внешним программаторам от 15 уе.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jan 22 2014, 07:05
Сообщение #49


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Вот результаты, что у человека (у которого сейчас находиться моя плата) получилось (далее текст письма в котором он мне прислал). В файле картинки. Вначале следовал инструкциям, указанным на форуме, но это результата не принесло: ни в impact, ни в chipscope, устройство не определялось. Затем решил посмотреть в сторону программатора от ZedBoard: подключил его, прочитал с помощью FT_Prog и сохранил шаблон (серийный номер, правда, потом пришлось прописать вручную). Подключил FTDI и залил шаблон туда. После этого содержимое памяти изменяется, но программными средствами указанными выше не распознается. Далее с помощью программы записал содержимое user area в EEPROM аналогично тому, что для программатора. Программа простая: содержит сам массив который нужно записать и обращения к функциям для записи в память. Правда, одно слово из памяти записать в нужное место не получалось - оставил нули. После этого в impact все определилось как показано на рисунках.
Содержимое EEPROM программатора от ZedBoard во вложении.
Коментарий от человека:
Пред-предпоследнее слово (0x0203) записать не получилось. Когда записываю его, то оно получается, либо предпоследним, либо перед блоком описания (начинается с 0х1203). Интересно узнать почему так происходит...
Прикрепленные файлы
Прикрепленный файл  FT2232H_to_Digilent.pdf ( 221.31 килобайт ) Кол-во скачиваний: 748
Прикрепленный файл  EEPROM_Digilent.txt ( 804 байт ) Кол-во скачиваний: 591
 


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 22 2014, 09:10
Сообщение #50


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

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



Цитата(Maverick @ Jan 22 2014, 11:05) *
Содержимое EEPROM программатора от ZedBoard во вложении.

Не пойму, зачем ZedBoard отдельный программатор, когда на плате есть интегрированный на FT232H? У Вас точно ZedBoard? Присланный файл соответствует HS1.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jan 22 2014, 09:55
Сообщение #51


Гуру
******

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



Цитата(rloc @ Jan 21 2014, 09:50) *
Получается UM232H-B - самая дешевая альтернатива внешним программаторам от 15 уе.

У меня вот какой вопрос.
По исходному, когда в памяти FTDI "родная" прошивка, то чип работает с "родными" драйверами...
А вот после того, как Вы прошивку поменяли и запущена ISE, можно ли при этом запустить самодельную программу с драйверами как при исходном состоянии... Или же теперь будут работать только Ксайлинсовские драйвера... Или надо выключать ISE и только после этого включать свою программу???



--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 22 2014, 10:55
Сообщение #52


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

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



Цитата(iosifk @ Jan 22 2014, 13:55) *
У меня вот какой вопрос.

Xilinx работает с Digilent через plugin, который в свою очередь обращается через D2XX. Поэтому если своя программа тоже работает через D2XX, то одновременная работа возможна. Т.е. закрывать ничего не надо, но работать с микросхемой желательно поочередно, принцип такой: handle открыл - поработал - handle закрыл - передал управление другой программе. Так у меня сейчас и работает: FT_PROG, Impact и UserProg одновременно. Одновременность доступа не отслеживаю, не силен в программировании на С.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jan 22 2014, 11:16
Сообщение #53


Гуру
******

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



Цитата(rloc @ Jan 22 2014, 14:55) *
Xilinx работает с Digilent через plugin, который в свою очередь обращается через D2XX. Поэтому если своя программа тоже работает через D2XX, то одновременная работа возможна. Т.е. закрывать ничего не надо, но работать с микросхемой желательно поочередно, принцип такой: handle открыл - поработал - handle закрыл - передал управление другой программе. Так у меня сейчас и работает: FT_PROG, Impact и UserProg одновременно. Одновременность доступа не отслеживаю, не силен в программировании на С.

Понял, спасибо!
Тогда жду результатов, чтобы тоже попробовать.. У меня есть JTAG на 2232... И осталось поменять прошивку, так?



--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
rloc
сообщение Jan 22 2014, 11:28
Сообщение #54


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

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



Цитата(iosifk @ Jan 22 2014, 15:16) *
У меня есть JTAG на 2232...

Зачем перепрошивать? Через него и работать своей программой.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jan 22 2014, 11:30
Сообщение #55


Гуру
******

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



Цитата(rloc @ Jan 22 2014, 15:28) *
Зачем перепрошивать? Через него и работать своей программой.

Своей давно опробовано. Теперь хочется и Импакт научить...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jan 22 2014, 14:57
Сообщение #56


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(rloc @ Jan 22 2014, 11:10) *
Не пойму, зачем ZedBoard отдельный программатор, когда на плате есть интегрированный на FT232H? У Вас точно ZedBoard? Присланный файл соответствует HS1.

я знаю что программатор есть на плате, просто было любопытство проделать и запрограммировать c помощью другой платы с FTDI


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
ADA007
сообщение Mar 5 2014, 07:21
Сообщение #57


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Статья по это теме была опубликована в журнале Компоненты и технологии №3 2014 г.. Процедура клонирования там расписана подробно, а так же в рамках статьи расписал назначение полей памяти и возможные способы ее использования. rolleyes.gif
Go to the top of the page
 
+Quote Post
rloc
сообщение Mar 5 2014, 07:24
Сообщение #58


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

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



iosifk помог?
Go to the top of the page
 
+Quote Post
ADA007
сообщение Mar 11 2014, 08:11
Сообщение #59


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(rloc @ Mar 5 2014, 09:24) *
iosifk помог?

Да...iosifk и Maverick помогли, за что большое и человеческое им спасибо.
Go to the top of the page
 
+Quote Post
kleverd
сообщение Apr 26 2014, 20:04
Сообщение #60


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

Группа: Свой
Сообщений: 131
Регистрация: 26-04-14
Из: Москва
Пользователь №: 81 525



Недавно у меня оказался в руках программатор Digilent HS2. Выглядит очень достойно. Компактен и стоит сравнительно недорого.
Плисы шьет быстро. Spartan3e с 500 киловентилями прошивает за несколько секунд.
Пользуясь случаем решил его немного поисследовать.

Пытался его укротить UrJtag-ом и OpenOCD.
Проги девайс видят, но при детекте возникает ошибка - Warning: TDO seems to be stuck at 1.
Эксперименты проводил с UrJtag 0.1 и OpenOCD версии 0.5-0.8. Притом Версия 0.8 не смогла получить доступ к устройству FTDI.

Как-то давно писал прогу для дерганья пинами ft232rl. Решил проверить как она будет дружить с 232HQ. И прога подружилась с микросхемой.
В результате выяснилось, что соответствие пинов микросхемы и выходов программатора следующее:
ADBUS5 - TMS
ADBUS6 - TDI
ADBUS7 - TCK

TDO найти таки не удалось. Как и говорил UrJtag - TDO seems to be stuck at 1.
Проверял только шину ADBUS. AСBUS моя прога дергать не умела.
Вывод - либо TDO подключен через буфер, который по умолчанию переведен в третье состояние, либо он заведен на AСBUS (маловероятно, нестандартная разводка?).


Вот содержимое EEPROM, считанное прогой Mprog:

Read EEPROM successful Device 0
0000 : 01 00 03 04 14 60 00 09 80 FA 08 00 00 00 A0 12 .. .. `. .. .. .. .. ..
0010 : B2 28 DA 1A 00 00 00 00 00 00 00 00 00 00 56 00 .. .. .. .. .. .. .. .V
0020 : 01 00 C7 92 6A 35 52 01 90 30 4A 74 61 67 48 73 .. .. 5j .R 0. tJ ga sH
0030 : 32 00 00 00 00 00 00 00 00 00 00 44 69 67 69 6C .2 .. .. .. .. D. gi li
0040 : 65 6E 74 20 4A 54 41 47 2D 48 53 32 00 00 00 00 ne .t TJ GA H. 2S .. ..
0050 : 00 00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 .. .. .. .. .. .. .. ..
0060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .. .. .. .. .. .. .. ..
0070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .. .. .. .. .. .. .. ..

А вот содержимое того же еепрома, считанное прогой FTPROG
Read EEPROM Device 0
Word
0000: 0100 0304 1460 0009 80FA 0800 0000 A012
0008: B228 DA1A 0000 0000 0000 0000 0000 5600
0010: 0100 C792 6A35 5201 9030 4A74 6167 4873
0018: 3200 0000 0000 0000 0000 0044 6967 696C
0020: 656E 7420 4A54 4147 2D48 5332 0000 0000
0028: 0000 0000 0000 0000 1100 0000 0000 0000
0030: 0000 0000 0000 0000 0000 0000 0000 0000
0038: 0000 0000 0000 0000 0000 0000 0000 0000
0040: 0000 0000 0000 0000 0000 4800 0000 0000
0048: 0000 0000 0000 0000 0000 0000 0000 0000
0050: 1203 4400 6900 6700 6900 6C00 6500 6E00
0058: 7400 2803 4400 6900 6700 6900 6C00 6500
0060: 6E00 7400 2000 5500 5300 4200 2000 4400
0068: 6500 7600 6900 6300 6500 1A03 3200 3100
0070: 3000 3200 3400 3900 3900 3100 3800 3600
0078: 3100 3200 0203 0000 0000 0000 0000 902C

Последний вариант по всей видимости более актуален.

Vid - 0403 Pid - 6014
Go to the top of the page
 
+Quote Post
kleverd
сообщение Apr 29 2014, 17:52
Сообщение #61


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

Группа: Свой
Сообщений: 131
Регистрация: 26-04-14
Из: Москва
Пользователь №: 81 525



По всей видимости пины ADBUS5 ADBUS6 ADBUS7 - это управление буферами соответствующих каналов, т.к сигнал на них инвертирован.
А распределение информационных линий стандартное (ADBUS0 - ADBUS3). Ну и методом исключения - буфер TDO управляется ADBUS4.

Сообщение отредактировал kleverd - Apr 29 2014, 17:56
Go to the top of the page
 
+Quote Post
kleverd
сообщение Jun 2 2014, 16:49
Сообщение #62


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

Группа: Свой
Сообщений: 131
Регистрация: 26-04-14
Из: Москва
Пользователь №: 81 525



Опытным путем подобрал содержимое файла с конфигурацией для JTAG HS2


interface ftdi
ftdi_vid_pid 0x0403 0x6014
adapter_khz 6000
ftdi_layout_init 0x20e8 0x3feb
ftdi_layout_signal nSRST -data 0x2000
ftdi_layout_signal GPIO2 -data 0x2000
ftdi_layout_signal GPIO1 -data 0x0200
ftdi_layout_signal GPIO0 -data 0x0100

Теперь вроде как сканирует цепь устройств.
Но ошибка выдается
Error: auto0.tap: IR capture error; saw 0x0000 not 0x0001


Сообщение отредактировал kleverd - Jun 2 2014, 16:51
Go to the top of the page
 
+Quote Post
rloc
сообщение Jun 3 2014, 04:07
Сообщение #63


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

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



Цитата(kleverd @ Apr 30 2014, 02:02) *
Ну и методом исключения - буфер TDO управляется ADBUS4.

TDO - это вход, для него нет буфера с третьим состоянием, а ADBUS4 соединяется с ADBUS0 напрямую (возможно ранее была задумана адаптивная частота для ARM и цепочка замыкалась соответственно через процессор). Помимо буферов есть еще пара мультиплексоров. Один мультиплексор управляет выбором сигнала для выхода TMS: либо ADBUS1 (ACBUS6=0), либо ADBUS3 (ACBUS6=1). Другой мультиплексор управляет выбором источника для входа ADBUS2: либо сигнал обратно заворачивается с TMS (ACBUS7=0), либо берется со входа TDO (ACBUS7=1).
Go to the top of the page
 
+Quote Post
bloody-wolf
сообщение Dec 8 2014, 23:56
Сообщение #64


Местный
***

Группа: Свой
Сообщений: 220
Регистрация: 15-05-09
Пользователь №: 49 132



Форумчане, особенно rloc, я извиняюсь за "воскрешение" так сказать темы, но хотелось бы прояснить один момент, а именно распиновку JTAG SMT2 касательно части GPIO0..2 и ADBUS6/7
rloc некоторое количество постов назад написал:
"Отвечаю на вопросы:
1) Замкнуты ADBUS0 и ADBUS4.
2) EEPROM есть на всех платах - 93LC56BT (для HS2 и SMT2 VID_PID=0403_6014).
3) ADBUS7 можно управлять третьим состоянием буферов JTAG-выходов (0 - третье состояние).
4) ACBUS5 используется для сброса Zync, либо как GPIO2, ACBUS4 переводит выходной буфер в третье состояние, либо меняет направление (1 - выход, 0 - вход или третье состояние).
5) ACBUS0/ACBUS1 в SMT2 дополнительно используются для GPIO0/GPIO1, ACBUS3/ACBUS4 - для управления направлением соответствующих буферов GPIO (1 - выход, 0 - вход или третье состояние).
6) ADBUS5/ADBUS6 в HS2 и SMT2 дополнительно используются для режима SPI (подробности опускаю).

"
смущает в пунктах 4 и 5 наличие одной и тойже ноги ACBUS4, это ошибка или так и есть? хочеться повторить девайс, однако в наличии на предмет "пощупать" есть только SMT1, а хотелось бы SMT2.
возможно ли уточнить еще раз, на какие ноги ft232H какие функции назначены?


(по моему мнению скорее всего должно быть так, но могу ошибатьсяsm.gif
ACBUS0 = GPIO.0
ACBUS1 = GPIO.1
ACBUS2 = GPIO.0.ENABLE 1=out 0=in
ACBUS3 = GPIO.1.ENABLE 1=out 0=in
ACBUS4 = GPIO.2.ENABLE 1=out 0=in
ACBUS5 = GPIO.2
я так понимаю, что буферы на этих ногах что-то типа sn74lvc1t45


по мультиплексорам и тому, что digilent попытались сделать "2 wire JTAG", я так понимаю, что мультиплексоры что-то типа 74lvc1g157,
правда несколько непонятно по ADBUS5..7 (или ACBUS5..7) что чем управляет.

и остаются еще просто буферы на TCK ADBUS0 и TDI ADBUS1, что-то типа 74lvc1g125

и с резетом чет не сходится, он тупо на ACBUS5 генерится, или как то отдельно заведен.

Сообщение отредактировал bloody-wolf - Dec 9 2014, 01:32
Go to the top of the page
 
+Quote Post
rloc
сообщение Dec 9 2014, 05:08
Сообщение #65


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

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



Логика - из серии TinyLogic, типа NC7SZ125 с питанием от 1.65 В до 5.5 В. По соединениям - ближе к вечеру.
Go to the top of the page
 
+Quote Post
bloody-wolf
сообщение Dec 9 2014, 07:11
Сообщение #66


Местный
***

Группа: Свой
Сообщений: 220
Регистрация: 15-05-09
Пользователь №: 49 132



Цитата(rloc @ Dec 9 2014, 08:08) *
Логика - из серии TinyLogic, типа NC7SZ125 с питанием от 1.65 В до 5.5 В. По соединениям - ближе к вечеру.


жду с нетерпением wink.gif пасибы
Go to the top of the page
 
+Quote Post
rloc
сообщение Dec 9 2014, 20:09
Сообщение #67


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

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



Напоследок проверил, должно быть так:



HS2 - тоже самое, но без GPIOx. В ZedBoard - мультиплексоров нет, третье состояние TCK, TDI и TMS контролируется одним сигналом - AD7. И еще раз напомню, AD0 и AD4 соединяются вместе только потому, что раньше на AD4 возвращался тактовый сигнал через ARM и адаптивно выбиралась частота.
Go to the top of the page
 
+Quote Post
bloody-wolf
сообщение Dec 10 2014, 09:32
Сообщение #68


Местный
***

Группа: Свой
Сообщений: 220
Регистрация: 15-05-09
Пользователь №: 49 132



Цитата(rloc @ Dec 9 2014, 23:09) *
Напоследок проверил, должно быть так:


ВАХ! я у себя на листочке, так сказать, примерно тоже самое изобразил, непонятно было только с управленией OE буферов.
Я премного благодарствую вам, rloc. Пойду рисовать кусок схемы и платы )

А соответственно по памяти подойдет тот дамп, что здесь выкладывался, я правильно понял? 93LC56B... 16bit wide 2kbit


Сообщение отредактировал bloody-wolf - Dec 10 2014, 09:37
Go to the top of the page
 
+Quote Post
rloc
сообщение Dec 10 2014, 10:31
Сообщение #69


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

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



Да
Go to the top of the page
 
+Quote Post
dima2640
сообщение Mar 29 2015, 16:07
Сообщение #70


Участник
*

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



Digilent JTAG-HS2 + Программатор MBFTDI в среде Altera Quartus:

Pcb+schematic+eeprom

eeprom ept file:

[Basic Details]
Device Type=9
VID PID Type=1
USB VID=0403
USB PID=6010
[USB Power Options]
Bus Powered=1
Self Powered=0
Max Bus Power=500
[USB Serial Number Control]
Prefix=21
Use Fixed Serial Number=0
Fixed Serial Number=210249854606
[USB Remote WakeUp]
Enable Remote WakeUp=0
[Windows Plug and Play]
Enable Plug and Play=0
[USB String Descriptors]
Manufacturer=Digilent
Product=Digilent USB Device
[Programming Options]
Only Program Blank Devices=1
[BM Device Specific Options]
USB Version Number=0
Disable Serial Number=0
IO Pin Pull Down in Suspend=0
[Dual Device Specific Options A]
RS 232 mode=1
245 FIFO mode=0
245 CPU FIFO mode=0
OPTO Isolate mode=0
High Current Drive=0
[Dual Device Specific Options B]
RS 232 mode=1
245 FIFO mode=0
245 CPU FIFO mode=0
OPTO Isolate mode=0
High Current Drive=0
[Dual Device Driver Options A]
Virtual Com Port Driver=1
D2XX Driver=0
[Dual Device Driver Options B]
Virtual Com Port Driver=1
D2XX Driver=0
[R Device Specific Options]
Invert TXD=0
Invert RXD=0
Invert RTS#=0
Invert CTS#=0
Invert DTR#=0
Invert DSR#=0
Invert DCD#=0
Invert RI#=0
C0 Signal=-1
C1 Signal=-1
C2 Signal=-1
C3 Signal=-1
C4 Signal=-1
Enable Ext Osc=0
High Current I/O=0
Load D2XX Driver=0
In EndPoint Size=0
[DualHS Device Specific Options]
IFAIsFifo7=1
IFAIsFifoTar7=0
IFAIsFastSer7=0
AIsVCP7=0
IFBIsFifo7=0
IFBIsFifoTar7=0
IFBIsFastSer7=0
BIsVCP7=1
IOPinDriveDual=0
UTMIDrive=0
UTMIVendor=0
SuspendOnD7Low=0
[QuadHS Device Specific Options]
AIsVCP8=1
BIsVCP8=1
CIsVCP8=1
DIsVCP8=1
ARIisTXDEN=0
BRIisTXDEN=0
CRIisTXDEN=0
DRIisTXDEN=0
IOPinDriveQuad=0

Сообщение отредактировал dima2640 - Mar 29 2015, 16:08
Прикрепленные файлы
Прикрепленный файл  digilent_jtag_hs2_mblaster.rar ( 533.1 килобайт ) Кол-во скачиваний: 441
 
Go to the top of the page
 
+Quote Post
rloc
сообщение Mar 29 2015, 16:18
Сообщение #71


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

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



Цитата(dima2640 @ Mar 29 2015, 20:07) *
Digilent JTAG-HS2 + Программатор MBFTDI в среде Altera Quartus:

Поясните, что Вы хотели этим сказать.
Go to the top of the page
 
+Quote Post
dima2640
сообщение Mar 29 2015, 17:28
Сообщение #72


Участник
*

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



Цитата(rloc @ Mar 29 2015, 20:18) *
Поясните, что Вы хотели этим сказать.


программатор Xilinx и программатор Альтеры
в одном флаконе
Архив смотрели?

Сообщение отредактировал dima2640 - Mar 29 2015, 17:28
Go to the top of the page
 
+Quote Post
rloc
сообщение Mar 29 2015, 17:34
Сообщение #73


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

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



Цитата(dima2640 @ Mar 29 2015, 21:28) *
программатор Xilinx и программатор Альтеры
в одном флаконе
Архив смотрели?

Где об этом в архиве сказано? Программатор поддерживается средой Quartus без дополнительных драйверов? С Altera не работаю, не в курсе.
Go to the top of the page
 
+Quote Post
dima2640
сообщение Mar 29 2015, 17:46
Сообщение #74


Участник
*

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



Цитата(rloc @ Mar 29 2015, 21:34) *
Где об этом в архиве сказано?

папка "Программатор MBFTDI в среде Altera Quartus".

Есть сайт marsohod.org по Альтере
там сделали плагин под Quartus
и программатор MBlaster на ft2232h mpsse
аналог "Digilent программатор"
А я развёл плату и слил дамп в файлы
для ftprog и Mprog может кому пригодиться.
Всё проверено и работает.
Go to the top of the page
 
+Quote Post
rloc
сообщение Mar 29 2015, 17:51
Сообщение #75


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

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



Почему нельзя было статично прилинковать ftd2xx.dll?
Go to the top of the page
 
+Quote Post
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   1 2 3 > » 
Reply to this topicStart new topic
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 


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


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