|
|
  |
Об использовании JTAG_UART, Можно ли юзать в своих целях? |
|
|
|
Dec 7 2009, 19:03
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Ситуация: Есть плата альтеровская, CyclonII starter kit, на которой реализована типовая схема - USB-BLASTER на камне MAX. Т.е. плата подключается к компу одним только usb шнурком, через который идет и питание, и бластер делается. На плате собран проект демонстрационный, который решает свои задачи, внешнее оборудование дергает и т.п.. Для присмотра за всем этим хозяйством собран Nios, содержащий jtag_uart, по которому при отладке общался с Nios2-eds.
Возникло желание при эксплуатации платы передавать на комп в собственный софт некоторые сервисные данные - немного и небыстро. Что-то в духе по нажатию на кнопочку в софтине запрашивать и получать значение одного коэфициента. Обманувшись названием словом uart в названии jtag_uart, я надеялся общаться через этот интерфейс, представляя его на компе как обычный COM. Однако полез сегодня под вечер в мануалы, а там написано, что только nios2-terminal умеет общаться с jtag_uart.
Вопрос - так ли это? Можно ли как-то прикрутить сопсовский модуль и соединение jtag_uart к какому-то собственному софту? Какие можно предложить альтернативы? Безумно не хочется кидать дополнительный шнур. Заранее всем большое спасибо за помощь!
|
|
|
|
|
Dec 8 2009, 05:32
|

Гуру
     
Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988

|
Цитата(RHnd @ Dec 8 2009, 11:10)   Увы, но мне, видимо, не хватает знаний, чтоб понять ответ. а ОС какая? я для линукса пример накидал. по идее, в cygwin`е такие же команды д.б., только терминалы, наверное, по-другому называются.
|
|
|
|
|
Dec 8 2009, 06:06
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(RHnd @ Dec 7 2009, 22:03)  Вопрос - так ли это? Можно ли как-то прикрутить сопсовский модуль и соединение jtag_uart к какому-то собственному софту? Какие можно предложить альтернативы? Безумно не хочется кидать дополнительный шнур. Заранее всем большое спасибо за помощь! на самом деле тут вопрос должен быть вот такой: где достать виндовое API для того, чтобы шевелить пинами в USB-jtag бластере. вопрос о LPT у меня на сайте уже "разжеван" и пример выложен. Описание приведено в статье об отладке микроконтроллеров... А вот с USB никак не "выдрать"... Секретят гады...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Dec 8 2009, 10:50
|

Гуру
     
Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988

|
Цитата(RHnd @ Dec 8 2009, 16:11)  ОС - WinXP. А вопрос действительно скорее о виндовском API, которое позволит юартиться через usb-blaster. очень сомнительно, что такой API даже в природе существует. дело в том, что вся среда разработки для ниоса - это эклипс+gnu tools (gcc,gdb,...)+некоторые фирменные фичи(типа nios2-terminal) - линуксовая. под линуксом все эти тулзы - нативные, а под виндой это дело эмулируется при помощи cygwin. так что гипотетическая программа, которая захочет обмен по jtag-uart с ниосом, по необходимости будет линуксовой и запускаться в том же cygwin.
|
|
|
|
|
Dec 9 2009, 00:05
|

Гуру
     
Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988

|
Цитата(vetal @ Dec 9 2009, 01:43)  собственно я там не увидел противоречий с тем, что писал выше. пляска с бубном в цигвине, грязные хаки с jtag_atlantic.dll(а лицензия позволяет?). я понимаю, если нужен, скажем, внутрисхемный отладчик, но чтобы пару байт отослать, как топикстартеру надо - зачем? вся задача-то перекинуть данные с одного терминала(или из файла) на другой. в нормальных осях это делается штатными утилитами. да и в цигвине наверняка все эти тулзы есть. но таки насчет поиска вы правы, он рулит: первая ссылка в гугле. если на alteraforum не зареганы, то проект для MSVC в аттаче.
|
|
|
|
|
Dec 9 2009, 07:54
|

Гуру
     
Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988

|
Цитата(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 "что-то" > куда-то что м.б. проще? но это уже личные предпочтения.
|
|
|
|
|
Dec 9 2009, 07:59
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(torik @ Dec 9 2009, 08:58)  Если не ошибаюсь, вместе с CycloneII_Starter_Kit идут примеры, в том числе и обмен данными по JTAG-UART со встроенного бластера... Сейчас посмотрел - там не ниосовская система, используется отдельный модуль USB_JTAG. На хосте используется dll от ftdi. У меня нет уверенности, что этот блок и, что главное, API к нему будут совместимы с jtag_uart от ниоса. Но всем спасибо за помощь, буду разбираться. В условиях цейтнота пришлось кинуть второй шнур, используя serial2usb переходник (благо на плате есть честный rs232), но к этому вопросу еще придется вернуться.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|