AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Программирование микроконтроллеров AVR. Программы, библиотеки, документация, средства разработки, отладки и прочее...

Модератор: KopylovSergey

Ответить
Ivan5
Сообщения: 5
Зарегистрирован: 05 сен 2021, 20:36

AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Сообщение Ivan5 » 05 сен 2021, 21:44

Имеется комп, специально для программирования МК – с WinXP и LPT. С PIC – все отлично прошивается программой PICPgm и высоковольтным LPT программатором.
Для AVR использую (точнее, пытаюсь использовать) аналог STK200/300 http://easyelectronics.ru/programmator- ... v-avr.html . После добавления в файл programm.ini строк:
[STK200LPT]
progisp=stk200
portprog=lpt1
portenabled=0
как написано здесь https://www.yourdevice.net/proekty/avrdude-prog, появилась возможность выбора программатора STK200LPT, но при попытке выполнить любую операцию AVRDUDE_PROG выдает сообщение:
«Приложению не удалось запуститься, поскольку libusb0.dll не был найден. Повторная установка приложения может исправить эту проблему.»
Не могу понять зачем файл libusb если я использую не USB, а LPT-порт. Но на всякий случай, как советует автор программы (https://www.youtube.com/watch?v=egPKtb8_vE0) скачал USBasp-win-driver-x86-x64-v3.0.7.zip и установил, к сожалению ощибка «…libusb0.dll не был найден» осталась. Замена строки portenabled=0 на portenabled=1 тоже результата не дает.
Неисправности «железа» комп-программатор – исключаются: с помощью XPlpt и светодиода с резистором проверил прохождение всех сигналов на разъеме программатора и сигнал MOSI на компе.
В чем проблема? Кто смог подружить AVRDUDE_PROG и LPT? Прошу помощи.
Для экспериментов, прошить пытался ATmega328P через ICSP на рабочей Arduino Uno.

Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Re: AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Сообщение admin » 08 сен 2021, 15:42

Попробуйте PonyProg http://www.lancos.com/prog.html


По Вашему вопросу пока удалось найти только такю информацию, сам конечно не пробовал, нет LPT.

В Windows 2000 и Windows XP запрещена прямая работа с параллельным (LPT) портом, поэтому для нормальной работы AVRDUDE необходимо установить драйвер giveio.sys. Для установки этого драйвера зайдите в папку WinAVR\bin и запустите файл install_giveio.bat (удалить драйвер из системы можно, запустив файл remove_giveio.bat).
В Windows 98 никаких специальных настроек не требуется.

http://www.getchip.net/posts/delaem-lpt ... nt-page-2/

Ivan5
Сообщения: 5
Зарегистрирован: 05 сен 2021, 20:36

Re: AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Сообщение Ivan5 » 09 сен 2021, 02:31

Сергей, спасибо за отзыв и поддержку Вашей программы!
Испытал с программатором STK200 такие проги: PonyProg2000 Ver. 2.08d Beta (апрель 2017 г. Последняя с офсайта); AVRDUDE_PROG 3.3 с Вашего сайта; Uniprof (июнь 2010г.). AVRDUDE_PROG – не запускается, подробности - в первм посте. Uniprof - выдает «МК не откликнулся …» с подключенным Atmega328p, хотя официально поддержка LPT-порта имеется. PonyProg – скорее всего работает в штатном режиме: при подаче команды считать/записать что-либо четко заметно мигание светодиода на панельке выводов RESET, MOSI, SCK а также разрешающих сигналов RESET, MOSI, SCK, MISO на программатор. На неработающие программы светодиод вообще никак не реагирует . Не думаю, что промежуток времени когда МК находится в режиме программирования столь малый что вспышка с/д не заметна глазу, PonyProg около 2 сек. фюзы считывает, а память еще дольше.
С PonyProg - слегка печально, проблема в том, что она поддерживает только старые AVR-ы, Atmega328p – нет и, скорее всего, не предвидеться.
Про giveio.sys я тоже читал. Это какой-то хитрый драйвер. Его нужно установить в определенное место, а потом еще включить. Делал по этой инструкции: http://www.lpt-port.narod.ru/3.html , к сож. не помогло. Склоняюсь к тому, что если проблема в обращения к LPT-порту, то все проги не работали бы через этот порт, но некоторые работают.
Эксперименты продолжаются … до Виндовс98 пока не дошел :)

Ivan5
Сообщения: 5
Зарегистрирован: 05 сен 2021, 20:36

Re: AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Сообщение Ivan5 » 09 сен 2021, 13:24

Нашел где собака порылась. Случайно наткнулся на "Паяльнике" на статью: https://cxem.net/arduino/arduino236.php. Оказывается, популярные программы-прошивальщики, в частности UniProf по умолчанию не дружат с ATmega328P. Кто бы догадался? С Поней - все понятно: там вручную выбираешь тип МК, а его нет в перечне. UniProf - должна автоматом определить тип МК, я так понимаю, по считанной сигнатуре. В выпадающем списке AVRDUDE_PROG 3.3 тип ATmega328P выбрать можно, но в самом коде программы видать что-то не вписали, а жаль...

Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Re: AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Сообщение admin » 09 сен 2021, 20:37

Официальная документация, 37 стр.
http://mirror.yongbok.net/nongnu/avrdud ... oc-6.3.pdf

В папке windows файлы "giveio"
http://download.savannah.gnu.org/releas ... 6.3.tar.gz

Попробуйте так :-):

Ivan5
Сообщения: 5
Зарегистрирован: 05 сен 2021, 20:36

Re: AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Сообщение Ivan5 » 12 сен 2021, 22:28

admin писал(а):
09 сен 2021, 20:37
В папке windows файлы "giveio"
http://download.savannah.gnu.org/releas ... 6.3.tar.gz
Не понял что с этим файлом делать. Если можно, по подробнее, пожалста.
С AVRDUDE_PROG пока ничего не продвинулось - не хватает ей файла libusb0.dll, хоть тресни :is_te_ri_ka:

В последней версии PonyProg есть поддержка Atmega328 (без индекса "Р"). Если выбрат этом МК, Пони спокойно считывает флеш-память с Ардуино. Наверное, прошить только память тоже сможет: у Atmega328 з "Р" и без "Р" алгоритм прошивки вроде одинаковый, но есть небольшая разница у фьюзах. Как поступить с ними если нужно изменить - пока не известно.

В UniProf - другие подводные камни: поддержка Atmega328 и Atmega328Р легко решается добавлением соответствующих файлов mega328.txt и mega328p.txt папку SIGNATURES. Когда я это сделал прога все равно писала «МК не откликнулся». Решил проверить прохождение сигналов (там в окне настройки пинов порта есть тест прохождения сигналов) и обнаружил, что UniProf на программатор посылает только 3 сигнала RESET, MISO, SCK и принимает MOSI. В программаторе STK200 стоит буферная микросхема, которая подключает МК только на время программирования, а после переводит свои выхода в Z-состояние для отключения МК. Сигналы управления для буфера 74HC244 прога UniProf к сож. не формирует. Спаял "5 проводков" + 4 резистора - все заработало. Как-то не комфортно с таким программатором работать :-( , хочу AVRDUDE_PROG + STK200.

Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Re: AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Сообщение admin » 13 сен 2021, 19:25

В официальной документации на 37 стр. написано что делать с этими файлами.
Сам не пробовал, пользуюсь USBASP, что Вам и рекомендую :-):

Ivan5
Сообщения: 5
Зарегистрирован: 05 сен 2021, 20:36

Re: AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Сообщение Ivan5 » 19 сен 2021, 17:10

УРА! Заработало. Проблема решилась до безобразия просто: положил в папку с программой файл libusb0.dll скачанный с сайта, точно не помню с http://dlltop.ru/kak-ustanovit-dll-fajl или https://ru.dll-files.com/libusb0.dll.html , и никаких регистрации драйверов через командную строку, правки реестра, бубнов, танцев… Как написано на сайте, libusb0.dll должен соответствовать разрядности системы. У меня 32-битная, использованный файл - во вложении. Полезным было бы добавить его в статью https://www.yourdevice.net/proekty/avrdude-prog в разделе «Программатор AVR STK200 с поддержкой LPT» или добавить в саму программу (всего 37 КБ), тогда с LPT-программаторами никаких проблем. На 64-битных ОС работать не будет, но там и не нужно – 64-битная Windows на «железе» с LPT в природе не встречал.

Кстати, AVRDUDE_PROG 3.3 безошибочно читает и пишет на «5 проводках» с резисторами 330 Ом в цепях RESET, MISO, SCK, MOSI ( с бОльшими сопротивлениями не проверял). Для гарантии качества можно поставить резисторы 200 Ом, тогда ток в самых неблагоприятных случаях не более 25 мА что абсолютно безопасно для LPT и AVR портов. Кроме того, как оказалось, «крутыми» программаторами умеют управлять не все программы-прошивальщики, а четыре сигнала согласно даташита формируют все. ИМХО: повсеместная критика простейших программаторов для AVR ввиду их опасности и ненадежности – технически не обоснована и выгодна только китайцам и их посредникам. Зачем платить больше :st_op: .
Вложения
libusb0.7z
(16.63 КБ) 224 скачивания

Аватара пользователя
admin
Администратор
Сообщения: 1103
Зарегистрирован: 18 янв 2012, 01:25
Откуда: Екатеринбург
Контактная информация:

Re: AVRDUDE_PROG 3.3 не видит LPT программатор STK200/300

Сообщение admin » 20 сен 2021, 02:12

Поздравляю! :cool_cool:

Ответить