Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Об использовании JTAG_UART
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
RHnd
Ситуация: Есть плата альтеровская, CyclonII starter kit, на которой реализована типовая схема - USB-BLASTER на камне MAX. Т.е. плата подключается к компу одним только usb шнурком, через который идет и питание, и бластер делается. На плате собран проект демонстрационный, который решает свои задачи, внешнее оборудование дергает и т.п.. Для присмотра за всем этим хозяйством собран Nios, содержащий jtag_uart, по которому при отладке общался с Nios2-eds.

Возникло желание при эксплуатации платы передавать на комп в собственный софт некоторые сервисные данные - немного и небыстро. Что-то в духе по нажатию на кнопочку в софтине запрашивать и получать значение одного коэфициента. Обманувшись названием словом uart в названии jtag_uart, я надеялся общаться через этот интерфейс, представляя его на компе как обычный COM. Однако полез сегодня под вечер в мануалы, а там написано, что только nios2-terminal умеет общаться с jtag_uart.

Вопрос - так ли это? Можно ли как-то прикрутить сопсовский модуль и соединение jtag_uart к какому-то собственному софту? Какие можно предложить альтернативы? Безумно не хочется кидать дополнительный шнур.
Заранее всем большое спасибо за помощь!
vadimuzzz
м.б. что-то типа такого:
Код
>screen nios2-terminal
> ps ax | grep nios
8079 pts/5    S+     0:00 screen nios2-terminal
8081 ?        Ss     0:00 SCREEN nios2-terminal
8083 pts/9    Ssl+   0:00 /opt/altera7.2/nios2eds/bin/nios2-terminal-wrapped
>echo "hello" > /dev/pts/5

во всяком случае с " /dev/pts/N" работать можно также как с COM-портом.
RHnd
sad.gif
Увы, но мне, видимо, не хватает знаний, чтоб понять ответ.
vadimuzzz
Цитата(RHnd @ Dec 8 2009, 11:10) *
sad.gif
Увы, но мне, видимо, не хватает знаний, чтоб понять ответ.

а ОС какая? я для линукса пример накидал. по идее, в cygwin`е такие же команды д.б., только терминалы, наверное, по-другому называются.
iosifk
Цитата(RHnd @ Dec 7 2009, 22:03) *
Вопрос - так ли это? Можно ли как-то прикрутить сопсовский модуль и соединение jtag_uart к какому-то собственному софту? Какие можно предложить альтернативы? Безумно не хочется кидать дополнительный шнур.
Заранее всем большое спасибо за помощь!


на самом деле тут вопрос должен быть вот такой:
где достать виндовое API для того, чтобы шевелить пинами в USB-jtag бластере.
вопрос о LPT у меня на сайте уже "разжеван" и пример выложен. Описание приведено в статье об отладке микроконтроллеров...
А вот с USB никак не "выдрать"... Секретят гады...
RHnd
ОС - WinXP.
А вопрос действительно скорее о виндовском API, которое позволит юартиться через usb-blaster.
vadimuzzz
Цитата(RHnd @ Dec 8 2009, 16:11) *
ОС - WinXP.
А вопрос действительно скорее о виндовском API, которое позволит юартиться через usb-blaster.

очень сомнительно, что такой API даже в природе существует. дело в том, что вся среда разработки для ниоса - это эклипс+gnu tools (gcc,gdb,...)+некоторые фирменные фичи(типа nios2-terminal) - линуксовая. под линуксом все эти тулзы - нативные, а под виндой это дело эмулируется при помощи cygwin. так что гипотетическая программа, которая захочет обмен по jtag-uart с ниосом, по необходимости будет линуксовой и запускаться в том же cygwin.
vetal
Для тех, кто не умеет пользоваться поисковыми системами http://topic.csdn.net/u/20090112/14/7b4c6c...c3435c4108.html
vadimuzzz
Цитата(vetal @ Dec 9 2009, 01:43) *
Для тех, кто не умеет пользоваться поисковыми системами http://topic.csdn.net/u/20090112/14/7b4c6c...c3435c4108.html

собственно я там не увидел противоречий с тем, что писал выше. пляска с бубном в цигвине, грязные хаки с jtag_atlantic.dll(а лицензия позволяет?). я понимаю, если нужен, скажем, внутрисхемный отладчик, но чтобы пару байт отослать, как топикстартеру надо - зачем? вся задача-то перекинуть данные с одного терминала(или из файла) на другой. в нормальных осях это делается штатными утилитами. да и в цигвине наверняка все эти тулзы есть. но таки насчет поиска вы правы, он рулит: первая ссылка в гугле. если на alteraforum не зареганы, то проект для MSVC в аттаче.
torik
Если не ошибаюсь, вместе с CycloneII_Starter_Kit идут примеры, в том числе и обмен данными по JTAG-UART со встроенного бластера...
vetal
Цитата
собственно я там не увидел противоречий с тем, что писал выше. пляска с бубном в цигвине, грязные хаки с jtag_atlantic.dll(а лицензия позволяет?)

Оттуда только прототипы функций нужны и не более. Остальное динамически подгружается. Для доступа нужна любая доступная среда, способная импортировать функции из dll.
vadimuzzz
Цитата(vetal @ Dec 9 2009, 13:26) *
Оттуда только прототипы функций нужны и не более. Остальное динамически подгружается. Для доступа нужна любая доступная среда, способная импортировать функции из dll.


я в курсе насчет динамической линковки, но есть и сложности:
Цитата
Upon attempting to work with a DLL that has been created in the Cygwin environment it becomes painfully clear that not all
DLLs are created equally. The Cygwin environment creates DLLs using an internal tool known as dlltool.exe. This tool is not
compatible with the export requirements for MS Visual Studio lib.exe tool when building an application which calls on member functions located
in the aforementioned DLL.

Explicit importing of the member functions using MS Visual Studio is not possible using function wrappers and/or ordinals. This can be
misleading due to the fact that no linker errors or warnings will be elicited. However, after attempting to run an
application which calls upon these member functions using the explicit method, there appears to be no linkage to the functions.
This is easily verifiable by inserting error checking code upon calling a member function and determining if it returns correctly.

One cannot use the *.a import library for the implicit calling method for the MSVC environment either. These import
libraries are created by Cygwin and are not compatible with the *.lib import libraries which MSVC expects. The *.def file created by
Cywin is also not compatible with MSVC.

ну и мысль моя была в том, что не фиг писать программу для отправки нескольких байт.
Код
echo "что-то" > куда-то
что м.б. проще? но это уже личные предпочтения.
RHnd
Цитата(torik @ Dec 9 2009, 08:58) *
Если не ошибаюсь, вместе с CycloneII_Starter_Kit идут примеры, в том числе и обмен данными по JTAG-UART со встроенного бластера...

Сейчас посмотрел - там не ниосовская система, используется отдельный модуль USB_JTAG. На хосте используется dll от ftdi. У меня нет уверенности, что этот блок и, что главное, API к нему будут совместимы с jtag_uart от ниоса.

Но всем спасибо за помощь, буду разбираться. В условиях цейтнота пришлось кинуть второй шнур, используя serial2usb переходник (благо на плате есть честный rs232), но к этому вопросу еще придется вернуться.
Maverick
RHnd, посмотрите надеюсь поможет

эту информацию

Удачи!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.