Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программирование AVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Михаил_K
Доброго времени суток.
Кто-нить может подсказать, как запрограммировать AVR если есть USB xilnx JTAG
demiurg_spb
Цитата(Михаил_K @ Jul 23 2013, 15:32) *
Используйте avrdude
Xenia
Цитата(Михаил_K @ Jul 23 2013, 15:32) *
Используйте avrdude


Avrdude, вроде как только для Линукса написана. Или бывает вариант под Windows?
mdmitry
Цитата(Xenia @ Jul 23 2013, 18:42) *
Avrdude, вроде как только для Линукса написана. Или бывает вариант под Windows?

avrdude-5.11-Patch7610-win32.zip с официального сайта. И по приведенной ссылке сказано, что кросс-платформенный.
Xenia
Цитата(mdmitry @ Jul 23 2013, 18:59) *
avrdude-5.11-Patch7610-win32.zip с официального сайта. И по приведенной ссылке сказано, что кросс-платформенный.


Э! Таких программулек я дюжину перепробовала - ни одна даже не запускается. Например, ваша при запуске пишет:
"This application has failed to start because libusb0.dll was not found. Reinstall the application may fix this problem."
Там впридачу есть загрузчик драйвера giveio.sys, но никакими dll-ками не пахнет. Инсталляция драйвера не помогает.
Переинсталливать тоже не могу, т.к. эта прога инсталлятора не содержит.

В своих давних попытках пробовала разыскивать отсутствующую dll-ку в интернете и подсовывать ее рядышком, но толку от этого было немного - тогда она просто требовала следующую. Где-то на 3-4 dll-ке терпение мое кончалось (libusb0.dll, cygwin1.dll, cygiconv-2.dll и т.д.), и я с запуском этой программы завязывала. Отсюда и мои сомнения, что она под Windows способна работать. Или, по меньшей мере, хотя бы запускаться.
Raven
Цитата(Xenia @ Jul 23 2013, 19:39) *
В своих давних попытках пробовала разыскивать отсутствующую dll-ку в интернете и подсовывать ее рядышком, но толку от этого было немного - тогда она просто требовала следующую. Где-то на 3-4 dll-ке терпение мое кончалось (libusb0.dll, cygwin1.dll, cygiconv-2.dll и т.д.), и я с запуском этой программы завязывала. Отсюда и мои сомнения, что она под Windows способна работать. Или, по меньшей мере, хотя бы запускаться.

sm.gif Вообще-то, под когда что-то нативно Linux'овое компилируют для работы под Windows, молчаливо предполагают (как правило), работу в среде CygWin, MinGW и т.п. Вот он у вас и не находил ни одной cyg*.dll. Ведь не стояло у вас во время опытов CygWin'а, верно?
Xenia
Цитата(Raven @ Jul 23 2013, 21:41) *
sm.gif Вообще-то, под когда что-то нативно Linux'овое компилируют для работы под Windows, молчаливо предполагают (как правило), работу в среде CygWin, MinGW и т.п. Вот он у вас и не находил ни одной cyg*.dll. Ведь не стояло у вас во время опытов CygWin'а, верно?


Знамо дело небыло. А что, разве CygWin не имеет возможности включать в программу библиотечные функции статически? Или привязка к runtime-библиотеке обязательна?
mdmitry
У меня стоит MinGW и программа запускается. Давно ее запускал при установленном winavr, с которым в комплекте много чего шло.
Михаил_K
Попробовал avrdude, но что-то не получилось. Пробовал через lptшный кабель, но он считывает сигнатуру 000000 и больше ничего не делает
Видимо даже не удается ему перевести контроллер в режим программирования. При запуске указывал параметр -c xil. Может быть надо что-то другое указывать?
Raven
Цитата(Xenia @ Jul 24 2013, 01:35) *
Знамо дело небыло. А что, разве CygWin не имеет возможности включать в программу библиотечные функции статически? Или привязка к runtime-библиотеке обязательна?

Я все же не прораммист, и всю подноготную не знаю, но видимо, включение библиотечных функций статически в данном случае означало бы включение всей основной прослойки CygWin'а :0) Альтернатива чему - runtime lib. Потому и не заморачиваются. Тем более, что это в духе *NIX,- общую часть не таскать всюду, а "ориентироваться по местные возможности".
demiurg_spb
Цитата(Xenia @ Jul 23 2013, 19:39) *
"This application has failed to start because libusb0.dll was not found. Reinstall the application may fix this problem."
Поставьте драйвер:
http://www.libusb.org
http://sourceforge.net/apps/trac/libusb-win32/wiki

Цитата(Михаил_K @ Jul 24 2013, 10:50) *
Попробовал avrdude, но что-то не получилось.
Ваш программатор ведь на USB шине? Тоже поставьте драйвер libusb.

Можете попробовать оболочку, правда сам я её не использовал.
http://easyelectronics.ru/sinaprog-grafich...ya-avrdude.html
Михаил_K
Да у меня разные есть. Есть на USB. Есть на LPT. Ну уж казалось бы, что может быть проще, чем LPTшным JTAGом управлять. Ан нет. Что-то не выходит

А я вот тут на одном сайтике прочитал, что AVRdude использует для программирования SPI интерфейс. Это так?
demiurg_spb
Цитата(Михаил_K @ Jul 24 2013, 13:50) *
А я вот тут на одном сайтике прочитал, что AVRdude использует для программирования SPI интерфейс. Это так?
Очень просто. Изменяет состояния ног программатора чтобы получить SPI-картинку на осциллограмме.
Все простые AVR программаторы - это SPI программаторы (бывают ещё и параллельные и jtag'и ...).
PS: Для прошивки по lpt можете использовать avreal.
Кстати, у вас LPT порт на материнке или на PCI карте?
Михаил_K
Цитата(demiurg_spb @ Jul 24 2013, 14:27) *
Очень просто. Изменяет состояния ног программатора чтобы получить SPI-картинку на осциллограмме. Все простые AVR программаторы - это SPI программаторы (бывают ещё и параллельные и jtag'и ...).
PS: Для прошивки по lpt можете использовать avreal.
Кстати, у вас LPT порт на материнке или на PCI карте?

Да это понятно. Просто у меня на плате разъем подключен не к SPI интерфейсу микроконтроллера, а именно к JTAG. Поэтому и спрашиваю. Если avrdude формирует времянку SPI, то он мне естественно не поможет
demiurg_spb
Цитата(Михаил_K @ Jul 24 2013, 15:25) *
Если avrdude формирует времянку SPI, то он мне естественно не поможет
Да... Вам нужен тогда jtag ice от atmel.
Если расскажете что за контроллер и куда что подключено, то нам будет легче Вам чем-то помочь...
Михаил_K
Да что тут рассказывать. Купили вот такую плату.
https://www.olimex.com/Products/AVR/Development/AVR-CAN/
А эти умники вывели только JTAG.
Вобщем надоел мне этот поиск, поэтому вопрос я в принципе решил. Радикально.
Отдал монтажнице и она припаяла к ней ISP интерфейс. Теперь шью через STK500. Только пришлось плату покорежить немного, переключить RS232 на второй приемопередатчик, т.к.
ноги первого как раз используются в ISP.
demiurg_spb
Понятно. ИМХО стоило брать отладку на stm32...
_4afc_
Цитата(Xenia @ Jul 23 2013, 18:42) *
Avrdude, вроде как только для Линукса написана. Или бывает вариант под Windows?


Работал у меня Avrdude-GUI на WinXP_32 через свой переходник на LPT без всяких ухищрений.
К сожалению на Win7_64 - не заработал, по моему из-за разрядности...
Xenia
Цитата(_4afc_ @ Jul 25 2013, 17:33) *
Работал у меня Avrdude-GUI на WinXP_32 через свой переходник на LPT без всяких ухищрений.


"Переходник на LPT" с чего? С USB?

А то у меня самой есть программатор AVR-ISP-MK2 (это не jtag, а isp), только не настоящий, а от Olimex. Так тот в девайс-менеджере виден не как порт, а как Jungо. Поэтому Avrdude и ей подобные его не берут. А подходит только старая-престарая консольная утилита STK500.exe в моде "USB".

Может быть кто-то GUI вариант для этого программатора знает, только чур, ставить AVR Studio или CodeView не предлагать.
Raven
Цитата(Xenia @ Jul 25 2013, 19:27) *
Может быть кто-то GUI вариант для этого программатора знает, только чур, ставить AVR Studio или CodeView не предлагать.

Гляньте вот на это: GUI для AVRDUDE
Вроде декларируется, что поддерживает AVR ISP MkII.

Разработка в большой чести на EasyElectronics
prottoss
Xenia - у меня на сайте есть avrdude 5.10. Работает под Windows. Использую на XP и на семерке-64. В архиве есть документация. Поддерживает кучу программаторов. Через батник (в архиве есть примеры) цепляется к IAR.
Xenia
Цитата(prottoss @ Jul 26 2013, 11:54) *
Xenia - у меня на сайте есть avrdude 5.10. Работает под Windows. Использую на XP и на семерке-64. В архиве есть документация. Поддерживает кучу программаторов. Через батник (в архиве есть примеры) цепляется к IAR.


Avrdude 5.10 у меня тоже есть, и файлик документации к ней тоже (avrdude-doc-5.10.pdf).
Беда в том, что не узнает она моего программатора. Уж какие только варианты ни подбирала.

Например:
avrdude.exe -p m162 -c avrisp2 -P usb -U test.hex
отвечает:
avrdude.exe: usbdev_open(): did not find any USB device "usb"

Я уж вместо avrisp2 ставила avrispmkII, и другие варианты тоже пробовала (avrisp, avrispv2б stk500, stk500v2), но результат тот же самый.

Тогда как старый stk500.exe при этом же подключении работает нормально:
STK500.EXE -cUSB -ms -dATmega162 -rf -otest.hex
(последнее к тому, что дравера Jungo сели правильно, иначе бы stk500.exe не работал).
demiurg_spb
Цитата(Xenia @ Jul 26 2013, 13:35) *
Беда в том, что не узнает она моего программатора. Уж какие только варианты ни подбирала.
Драйвер libusb установлен?
Что говорит testlibusb-win.exe?
Xenia
Цитата(demiurg_spb @ Jul 26 2013, 16:58) *
Драйвер libusb установлен?
Что говорит testlibusb-win.exe?


Впервые слышу про такой дравер и такую программу sm.gif. В состав avrdude не входит ни то, ни другое.
Это откуда?
ARV
Цитата(Xenia @ Jul 26 2013, 23:22) *
Впервые слышу про такой дравер и такую програму sm.gif . В состав avrdude не входит не то, ни другое.
Это откуда?

как я понимаю, avrdude просто в зависимости от того, какой тип программатора вы используете, пытается подцепить те или иные свободные библиотеки. для bit-bang программаторов LPT требуется DLL-драйвер, обманывающий защиту винды и позволяющий писать-читать аппаратные порты напрямую, для других программаторов - другие DLL нужны, как в вашем случае - для работы с USB. и только для работы с СОМ-портом никаких библиотек не надо, т.к. хватает системных...

ни одна из этих библиотек в состав avrdude не входит и с ним вместе не распространяется...


Xenia
Цитата(ARV @ Jul 27 2013, 00:03) *
как я понимаю, avrdude просто в зависимости от того, какой тип программатора вы используете, пытается подцепить те или иные свободные библиотеки. для bit-bang программаторов LPT требуется DLL-драйвер, обманывающий защиту винды и позволяющий писать-читать аппаратные порты напрямую, для других программаторов - другие DLL нужны, как в вашем случае - для работы с USB. и только для работы с СОМ-портом никаких библиотек не надо, т.к. хватает системных...
ни одна из этих библиотек в состав avrdude не входит и с ним вместе не распространяется...


Оттого и мои претензии к avrdude, что с драйвером Jungo она работать не умеет (или я не могу ее к этому принудить).

Сразу хочу осадить тех, что собирается посоветовать "смени драйвер на другой и avrdude заработает". Дело в том, что программатор AVR-ISP-MK2 это не просто логика на рассыпухе, а отдельный микроконтролер с прошитой в нем программой! У Olimex'ового клона это AT90USB162, а у родного Atmel'овского, кажется, ATmega16 (точно не помню, но этого достаточно для того, чтобы прошивка для AVR-ISP-MKII не годилась для AVR-ISP-MK2).

Поэтому протокол со стороны компьютера определяется не столько установленным на нем драйвером, сколько прошивкой самого программатора! А драйвер может либо подойти к той прошивке, либо нет. Но раз STK500.exe доподлинно работает с этим программатором под протоколом Jungo, то бессмысленно пытаться превратить программатор в виртуальный порт, подменой драйвера.
demiurg_spb
Цитата(Xenia @ Jul 27 2013, 02:11) *
avrdude умеет работать со всеми существующими на сегодняшний день AVR программаторами - это факт.
Мне не понятно почему вы не хотите поставить драйвер libusb.
Он прямого отношения к какому бы то ни было программатору не имеет. Благодаря ему avrdude умеет работать с шиной USB и только.
Повторяю по буквам: libusb в системе никого не превращает ни в какой виртуальный порт.
Xenia
Цитата(demiurg_spb @ Jul 29 2013, 12:59) *
Мне не понятно почему вы не хотите поставить драйвер libusb.
Он прямого отношения к какому бы то ни было программатору не имеет. Благодаря ему avrdude умеет работать с шиной USB и только.
Повторяю по буквам: libusb в системе никого не превращает ни в какой виртуальный порт.


Раз так, то убедили - поставлю этот драйвер, как только найду, где его в интернете дают скачать.
prottoss
Цитата(Xenia @ Jul 29 2013, 17:39) *
Раз так, то убедили - поставлю этот драйвер, как только найду, где его в интернете дают скачать.
sm.gif Я ж Вам дал ссылку на архив - там все есть...
Xenia
Цитата(prottoss @ Jul 29 2013, 16:21) *
sm.gif Я ж Вам дал ссылку на архив - там все есть...


И правда есть. А как его ставить? В PDF-ке про это ничего не написано. Если просто рядом с программой будет лежать, этого достаточно?
DmitryM
Цитата(Xenia @ Jul 29 2013, 16:30) *
И правда есть. А как его ставить? В PDF-ке про это ничего не написано. Если просто рядом с программой будет лежать, этого достаточно?

http://sourceforge.net/apps/trac/libusb-win32/wiki
Xenia
Цитата(DmitryM @ Jul 29 2013, 22:10) *


Оно хочет проинсталлировать на мое устройство (VID_03EB&PID_2104) свой драйвер (libusb0.sys+libusb0.dll+libusb0_x86.dll).
Боязно соглашаться, т.к. одно USB-устройство не может работать сразу под двумя драйверами, а, значит, старому Jungo-драверу придет конец.
А вдруг AVRduide не заработает, а старая система программирования через STK500.exe разрушится? С чем я тогда останусь?

Может бть мне стоит самой GUI под STK500.exe написать? По образу и подобию того, что было напписано под AVRDuide?

P.S. А то вот еще такую нашла:
http://www.sofgel.ro/vechi/language/en/art.../avrpm-1-1.html
Запускала, но она работает только с COM-портами, а с USB снова не хочет.
ZASADA
если так боитесь-сделайте образ существующей винды, установите драйвера, в случае проблем-разверните образ обратно, все вернется к исходному состоянию.

или все проверьте на виртуалке.
ILYAUL
Цитата(Xenia @ Jul 29 2013, 23:24) *
Оно хочет проинсталлировать на мое устройство (VID_03EB&PID_2104) свой драйвер (libusb0.sys+libusb0.dll+libusb0_x86.dll).
Боязно соглашаться, т.к. одно USB-устройство не может работать сразу под двумя драйверами, а, значит, старому Jungo-драверу придет конец.
А вдруг AVRduide не заработает, а старая система программирования через STK500.exe разрушится? С чем я тогда останусь?

Может бть мне стоит самой GUI под STK500.exe написать? По образу и подобию того, что было напписано под AVRDuide?

А для чего тогда в контр панель кнопка откатить?
К тому же какие проблемы , переустановить Jungo в ручном режиме?
Смелее
DmitryM
Цитата(Xenia @ Jul 29 2013, 23:24) *
Оно хочет проинсталлировать на мое устройство (VID_03EB&PID_2104) свой драйвер (libusb0.sys+libusb0.dll+libusb0_x86.dll).
Боязно соглашаться, т.к. одно USB-устройство не может работать сразу под двумя драйверами, а, значит, старому Jungo-драверу придет конец.
А вдруг AVRduide не заработает, а старая система программирования через STK500.exe разрушится? С чем я тогда останусь?

Откат/замена драйвера в ручную не представляет особой сложности. Я для STM32L152-Discovery проводил это не однократно. Для ST-Link Utility нужен родной драйвер от ST, для openocd - libusb. В ручном режиме выбираете какой драйвер Вам нужен.

ЗЫ. Если обратили внимание на той страничке с wiki есть ссылка на Jungo.

Есть еще такая утилитка, позволяющая сменить драйвер:
LibWdi
demiurg_spb
Есть ещё такая тема:
http://electronix.ru/forum/index.php?showt...=42389&st=0
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.