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

Быстрй USB JTAG интерфейс

По поводу поддержки программирования ПЛИС: Xilinx Impact (программа-конфигуратор) видит виртуальные порты под виндами. Т.е. можно сделать универсальный JTAG-кабель для ARM и Xilinx, при этом для совместимости нужно будет как-то на ходу изменять его конфигурацию.

 

PS: Ведь есть же изделия типа http://www.xjtag.com/xjlink.htm. Можно попытаться сделать что-то подобное.

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


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

У меня была задумка добавить к FT2232 FPGA для универсальности,  а в развитии корку контроллера. Тогда на все случаи жизни :)

 

Даже ARM выпускает

ARM® RealView ICE Micro Edition на FT2232С и FPGA ....

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


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

У меня была задумка добавить к FT2232 FPGA для универсальности,  а в развитии корку контроллера. Тогда на все случаи жизни :)

 

Даже ARM выпускает

ARM® RealView ICE Micro Edition на FT2232С и FPGA ....

 

Уже хочу - где лежит? ;)

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


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

Даже ARM выпускает

ARM® RealView ICE Micro Edition на FT2232С и FPGA ....

 

Уже хочу - где лежит? ;)

 

У меня только драйвера .... :(

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


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

 

Даже ARM выпускает

ARM® RealView ICE Micro Edition на FT2232С и FPGA ....

 

Уже хочу - где лежит? ;)

 

У меня только драйвера .... :(

 

Тобишь ядро АРМа грузить можешь?

А само ядро?

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


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

 

Даже ARM выпускает

ARM® RealView ICE Micro Edition на FT2232С и FPGA ....

 

Уже хочу - где лежит? ;)

 

У меня только драйвера .... :(

 

Тобишь ядро АРМа грузить можешь?

А само ядро?

 

Непонял ???

 

Я просто нашол што имеется силки на FT2232 и FPGA.

CD from RealView_v2.1

\Utilities\FTDI\D2XX\

\RVI-ME \

 

Имеется и Bitfile from FPGA ....

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


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

Господа, вы бы для начала попробовали реализовать какую-нибудь функцию отладчика, ну хоть например значения регистров считать.

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


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

Давно не читал конференцию. Был занят. Как раз делал J*T*A*G на F*T*C*2*2*3*2 в частности для X*i*l*i*n*x и ARM в т.ч. Задача программировать и тестировать средствами BSDL. ЗА основу брал широко известный OpenSource проект N*A*X*JP. Супербезоны должны знать, он только недавно закрылся.

Сделал. Работает с CPLD до проверки с АРМ не дошел ход. Пришлось срочно бросаться спасать другую тему. Так что могу сменить NIC на "NEDODEL"

 

Делюсь опытом.

-------------------

1. От DLL F*T*D*I для JTAG пришлось отказаться.

Начал ковырять и задавать вопросы - служба поддержки, в лице некого Гордона Лунна, начала слать исправленные версии DLL без замены на сайте. Через некоторое время сдалась и задрала лапки к верху и созналась, что DLL просто пример написанный на Visual Васике.

--------------------

2. Написал используя микрокоманды FTC

Работает медленнее, чем с LPT.

Ожидать приходимся 2 мС, минимум, данные на чтение - быстрее не может драйвер. А это связано с типом потока BULK выбранным фирмой для микросхемы. Писать вынужден пакетами по 32 бита - формат регистра назначения, а так же SVF и JEDEC форматов файлов данных.

FTC не имеет возможности исполнения "холостых" тактов, поэтому задержки 100 мкС и пр., по требованию алгоритма программирования, остаются на совести ПО. При этом остается вероятность гонки пакетов, и как результат, поломка TAP.

--------------------

3. На шине USB1.1 загрузка интерфейса получается неравномерная. Победить этого так и не смог. Загрузка шины USB2 более равномерна, где то 30%

Появилась возможность одновремменого запуска нескольких копий программы (для меня это имеет значение)

--------------------

4. Время прошивки XC9572 на шине USB1 ~60 секунд, USB2 16 секунд.

CPLD LV шьются раза в 4 быстрее.

Для нужд boundary scan , считаю, таких скоростей не достаточно.

Позже буду делать JTAG с микроконтроллером. Чтобы TAP и задержки делать на уровне firmware.

Кстати, прирост производительности такого решения по сравнению с 115200 СОМ-ом, даже без применнеия DMA со стороны MPU, от 4 до 8 крат. Зависит от длины пакета конечно же. "Проверено электроникой"

--------------------

5. Самый шустрый драйвер, какой я тестировал - J*U*N*G*O.

Этот смарт алик умудряется даже по шине 1.1 до 9 запросов в миллисекунду делать на убогом селероне 700-м (моя тестовая лошадка)

-------------------------

 

Резюме.

------------------

F*T*D*I дает добротное решение для виртуального COM-а.

Я, лично всю контору обвесил виртуальными комами, счет уже за 200 шт. скоро пойдет. Очень благодарен им за это.

Все остальные решения только для тех, кого устраивает какой-то результат. Главное что бы быстро получить этот результат.

 

Желаю всем удачи!

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


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

...

4. Время прошивки XC9572 на шине USB1 ~60 секунд, USB2 16 секунд.

CPLD LV шьются раза в 4 быстрее.

Для нужд boundary scan , считаю,  таких скоростей не достаточно.

Позже буду делать JTAG  с микроконтроллером. Чтобы TAP и задержки делать на уровне firmware.

Кстати, прирост производительности такого решения по сравнению с 115200 СОМ-ом, даже без применнеия DMA со стороны MPU, от 4 до 8 крат. Зависит от длины пакета конечно же. "Проверено электроникой" 

--------------------

5. Самый шустрый драйвер, какой я тестировал -  J*U*N*G*O.

Этот смарт алик умудряется даже по шине 1.1 до 9 запросов в миллисекунду делать на убогом селероне 700-м (моя тестовая лошадка)

-------------------------

 

...

Желаю всем удачи!

 

Вот и думаю грузить в FPGA core MCU через USB и потом этот MCU выполняет код дерганья ногами JTAG-а и решает проблему синхронизации.

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


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

Вот и думаю грузить в FPGA core MCU через USB и потом этот MCU выполняет код дерганья ногами JTAG-а и решает проблему синхронизации.

 

Простите, что опять лезу с свинным рылом в калашный ряд, но...

Почему бы не поставить МК, во флэш которого зашит начальный загрузчик. При начале работы загрузчик заливает (через USB, RS-232 и т.п.) рабочую программу в ОЗУ (внутреннее желательно) и передает ей управление.

При этом модификация рабочей программы достаточно проста и система получается гибкой.

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


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

Вот и думаю грузить в FPGA core MCU через USB и потом этот MCU выполняет код дерганья ногами JTAG-а и решает проблему синхронизации.

 

Простите, что опять лезу с свинным рылом в калашный ряд, но...

Почему бы не поставить МК, во флэш которого зашит начальный загрузчик. При начале работы загрузчик заливает (через USB, RS-232 и т.п.) рабочую программу в ОЗУ (внутреннее желательно) и передает ей управление.

При этом модификация рабочей программы достаточно проста и система получается гибкой.

 

А если прочитать весь тред???

К контроллеру еще FPGA цеплять?

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


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




А если прочитать весь тред???
К контроллеру еще FPGA цеплять?



Зачем FPGA вообще нужна? Для того чтобы сделать JTAG, пусть даже с использованием выводов ETM, достаточно процессора с соответствующим количеством выводов.

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


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

2. Написал используя микрокоманды FTC

Работает медленнее, чем с LPT.

Ожидать приходимся 2 мС, минимум, данные на чтение - быстрее не может драйвер. А это связано с типом потока BULK выбранным фирмой для микросхемы. Писать вынужден пакетами по 32 бита - формат регистра назначения, а так же SVF и JEDEC форматов файлов данных.

FTC не имеет возможности исполнения "холостых"  тактов, поэтому задержки 100 мкС и пр., по требованию алгоритма программирования, остаются на совести ПО. При этом остается вероятность гонки пакетов,  и как результат, поломка TAP.

 

 

Это действительно проблема организации bulk посылок в Windows. Каждый пакет отсылается раз в 1 мс. И скорость может быть повышена за счет посылки более длинных пакетов за раз. А это тут же тянет за собой необходимость некоторого буферного устройства.

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


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

Зачем FPGA вообще нужна? Для того чтобы сделать JTAG, пусть даже с использованием выводов ETM, достаточно процессора с соответствующим количеством выводов.

 

Взять,например, at91rm3400 - firmware заливать через usb в любой момент - 96к RAM хватит и на jtag и на любой программатор, да и цена (~10$) сравнима с FT2232C.

 

ЗЫ

Но думаю людям просто лень что-то самим писать, вот если бы были готовые сишные сорцы может что-нибудь и получилось.

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


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

MT-Link

Далее цитата:

Однако при всех перечисленных выше достоинствах J-Link от Segger имеет весьма высокую цену. Поэтому на базе новейшего 32-битного ARM микроконтроллера LPC2142 /Philips/ со встроенным USB портом был разработан полный функциональный аналог J-Link, получивший название MT-Link. (В оригинальном устройстве J-Link используется 16-битный микроконтроллер M30245FCGP /Renesas/, а в первых партиях MT-Link установлен микроконтроллер AT91SAM7S64).

 

http://www.mt-system.ru/pub/6a835acfa20541...1286a3f89df.pdf

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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