Вот пришла и моя очередь "принести пользу обществу" :)
Предлагаю на ваш суд альтернативные прошивки для программатора AVR910 by PROTTOSS. Надеюсь, никто, а особенно автор, против не будет:)
0. Оригинальная прошивка
Оригинальная прошивка и драйвера доступны по адресу http://www.prottoss.com/projects/AVR910.us..._programmer.htm.
1. AVR-Doper
Довольно известный и популярный программатор, попытки портирования на форуме уже были, но к большому сожалению они затерялись в той большой ветке (было дело, искал целенаправленно, но не мог найти!). Но главное, что в тех прошивках так и не был исправлен глюк с таймаутами в avrdude и "работой через раз" в CodeVisionAVR.
Мой порт AVR-Doper для AVR910 сделан аккуратно, он не нарушает целостности исходников (т.е. там аккуратно добавлен AVR910, ничего не попорчено). Веселый баг с потерей USB-пакета также исправлен.
В целом прошивка работает так же, как и оригинальная: при подключении программатора появляется COM-порт, перемычка 'low sck' работает для понижения частоты, красный светодиод мигает при записи/стирании чипа, зеленый горит при "подключении к девайсу" (когда пины настраиваются как выходы), на выходе "LED" генерируется 1 МГц.
Существует 4 модификации прошивки:
а) Стандартная CDC (эмуляция COM-порта), без отладочного интерфейса. Рекомендуется в большинстве случаев.
б) CDC с отладочным интерфейсом - дополнительно к COM-порту реализован "свой" протокол для передачи информации через UART программатора (подробнее см. ниже).
в) Бездрайверное HID-устройство, без отл. интерфейса. Т.к. CDC на V-USB нарушает стандарт USB, иногда бывают проблемы с работой программатора (хоть и решаемые). HID стандарт не нарушает и не требует драйверов вообще. К сожалению, поддержка есть пока только в avrdude.
г) Бездрайверное HID-устройство с отл. интерфейсом.
Отладочный интерфейс предназначен для обмена данными между программируемым устройством и ПК. Для его работы нужно подключить RxD и TxD программатора к TxD и RxD устройства. Настроить в устройстве UART на 19200, 8N1. На ПК необходимо установить библиотеку libusb (подробнее см. архив в прошивками) и запустить файл avrdebug.exe (идет в комплекте с прошивками). При этом все, что отправляет устройство в UART, будет приходить в терминал, а все что набрано в терминале будет уходить в устройство.
2. USBasp
Также довольно известный простой программатор, очень похож на AVR910.
Прошивка работает так же, как и оригинальная, за исключением того, что не появляется COM-порт (программатор требует libusb, он идет в комплекте). Странно, что схема USBasp содержит 2 светодиода, но в прошивке использовался только один. Теперь работают оба (так же, как в AVR-Doper), плюс добавлена генерация 1 МГц на выходе "LED".
Этот программатор самый скоростной, однако в avrdude я иногда славливал глюк с неправильно прочитанным ID чипа (вроде как не критично, но кто знает).
Сравнение скоростей программаторов
Тесты проводились с avrdude с помощью заливки в ATMega8 тестовой прошивки размером ~5кБ.
Код
Програматор Чтение Запись
AVR910 2.5 кБ/с 0.5 кБ/с
Doper-CDC 0.47 кБ/с 0.44 кБ/с
Doper-HID 0.5 кБ/с 260 Б/с
USBasp 3 кБ/с 1.5 кБ/с
AVR910 2.5 кБ/с 0.5 кБ/с
Doper-CDC 0.47 кБ/с 0.44 кБ/с
Doper-HID 0.5 кБ/с 260 Б/с
USBasp 3 кБ/с 1.5 кБ/с
Файлы
AVR-Doper.2008-11-27.avr910+fix.zip - исходники прошивки AVR-Doper (готовые для употребления в WinAVR).
usbasp.2009-02-28.avr910-only.zip - исходники USBasp (аналогично, готовые для WinAVR).
avr910-avrdoper-hex.zip - четыре прошивки в hex-формате, .inf-файлы, отладочный терминал, описание.
avr910-usbasp-hex.zip - прошивка в hex, .inf-файл + драйвера libusb, описание.
Надеюсь, кому-нибудь эта информация (и прошивки!) поможет. Проверяйте, пишите отзывы о работе и глюках!