GUI soft для работы с USBASP.

Posted by Reason89 | Posted in ,

        Возвращение к теме про программатор USBASP...
    На днях дошли руки, и я спаял собственную отладочную плату и появилась возможность использовать программатор уже на своем компьютере. В связи с чем, начал настраивать обе ОС стоящие на моем ноутбуке для работы с ним.
    С файлами для работы в Windows XP проблем не было, нашел там же откуда и взял всю остальную информацию по нему, а именно на easyelectronics.ru. На Windows 7 эти драйвера уже не работали, благодаря чему пришлось рыться в интернете в поисках новых драйверов.
    Для работы с программатором используется программа avrdude, с графической оболочкой для нее, в качестве которой используется USBASP_AVRDUDE_PROG. При переезде с Windows XP на Windows 7 проблем с GUI не возникло. Жалко что нельзя использовать этот программатор напрямую из AVR Studio. Для этого необходимо его прошивать уже другой прошивкой.
    В Ubuntu все оказалось куда веселее, сидел и ломал голову над этой проблемой около двух дней. Но в итоге результат радует только так.
    Для начала нужно установить различные пакеты для работы с самим программатором. Такие как: gcc-avr,avrdude, avr-libc, usbprog, binutils-avr, usbprog-gui, uisp, flex, avrprog, libusb-dev, gcd-avr. Вполне возможно, что нужны не все. Но это то, что было установленно мной за эти 2 дня.
В качестве GUI оболочки для avrdude используем AVR8 Burn-o-mat v2. В связи с тем, что последнее обновление было еще в далеком 2009 году, установка требует небольших извращений.
    Для начала необходимо установить java, иначе работать ничего не будет. Затем при установке постоянно выводится сообщение:
"Произошла непреодалимая ошибка. Судя по всему, в aptdaemon, программном обеспечении, позволяющем вам устанавливать/удалять программы и выполнять связанные с пакетами задачи, присутствует программная ошибка."

    Для этого:
mkdir temp
dpkg-deb --extract avr8-burn-o-mat-2.1.2-all.deb temp
dpkg-deb --control avr8-burn-o-mat-2.1.2-all.deb temp/DEBIAN
gedit temp/DEBIAN/control
Там много что повторяется, и оставляем только это:
Package: AVR8-Burn-O-Mat 
Version: 2.1.2 
Section: developement 
Priority: optional 
Architecture: all 
Essential: no 
Depends: java-runtime, avrdude 
Installed-Size: 1900 
Maintainer: Patrick Klampfl  
Description: GUI for avrdude written in Java. A java-runtime 1.6 or newer has to be installed 
Затем собираем пакет по новой и устанавливаем его.
dpkg --build temp avr8-burn-o-mat-2.1.2-all.deb 
dpkg -i avr8-burn-o-mat-2.1.2-all.deb

    Далее запускаем установившейся AVR8 Burn-o-mat v2.
Выбираем в AVRtype - тип микроконтроллера, который мы собираемся прошивать. Переходим к вкладке Settings-AVRDUDE. В AVRDUDE location - указываем путь до avrdude, в нашем случае это /usr/bin/avrdude. В alternative AVRDUDE configuration file прописываем путь до конфига /etc/avrdude.conf. В качестве программатора естественно указываем usbasp и порт /dev/ttyUSB0.

    Для проверки работоспособности, подключаем программатор и пытаемся считать фьюзы, щелкаем по кнопке Fuses, а затем read fuses. Вполне возможно, что считать фьюзы с первого раза не получится. И вылезет ошибка "Error reading fuses", с поянением:
/usr/bin/avrdude -C /etc/avrdude.conf -p m8 -P /dev/ttyUSB0 -c usbasp -U hfuse:r:/tmp/hfuse3203722196036347476.hex:r -U lfuse:r:/tmp/lfuse2592166619688884581.hex:r
avrdude: Warning: cannot query manufacturer for device: error sending control message: Operation not permitted
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
Это означает, что у вас не хватает прав для работы с этим USB устройством.
Создаем файл:
touch /etc/udev/rules.d/95-avrrule.rules
Открываем его для редактирования:
gedit /etc/udev/rules.d/95-avrrule.rules
Вставляем в него:
# Programator AVR USBasp
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", ATTRS{product}=="USBasp", GROUP="admin", MODE="0664"
Перезагружаемся и пытаемся прочитать фьюзы по новой.
Скачать архив с прошивкой, драйверами под Windows XP и 7 и программой USBASP_AVRDUDE_PROG.



Comments (0)

Отправить комментарий