Программирование AVR Утилиты для программатора USBasp с графическим интерфейсом Sat, December 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Утилиты для программатора USBasp с графическим интерфейсом Печать
Добавил(а) microsin   

Когда я начинал использовать USBasp (очень популярный программатор для микроконтроллеров AVR), то применял его с утилитой командной строки AVRDUDE [4] (консольная программа для управления многими программаторами AVR). Эта программа имеет порты на большинстве операционных систем. Интерфейс командной строки, где нужно вводить множество трудно запоминаемых опций, имеет свои достоинства и недостатки - он удобен для написания командных файлов в целях автоматизации, когда нужно эффективно повторять одни и те же действия. Но если нужно быстро переходить с одного типа микроконтроллера на другой, или изменять какие-нибудь входные данные (файл прошивки, фьюзы и т. п.), то приходится снова влезать в головоломку составления ключей и опций командной строки.

[Avrdude-GUI]

Позже появилась программа Avrdude-GUI [5] (графическая оболочка над AVRDUDE), которая несколько облегчала задачу общения с программатором USBasp, однако всех проблем не решала и создавала новые проблемы. Эта утилита не могла просто записывать и сразу проверять байты фьюзов, и не могла читать содержимое памяти чипа. При переходе на новую версию AVRDUDE нужно было искать совместимую с ней версию Avrdude-GUI.

Avrdude GUI

[AVRDUDE_PROG]

Еще одна оболочка для консольной утилиты AVRDUDE, написана на Delphi [6].

AVRDUDE PROG

[eXtreme Burner]

При очередном поиске альтернативы утилиты для управления USBasp оказалось, что для этого есть замечательная утилита с полноценным GUI-интерфейсом: eXtreme Burner [1, 2, 3]. С этой программой работа с USBasp значительно упростилась.

eXtreme Burner atmega328 eXtreme Burner program done

Упростилась настройка источников тактирования. Семейство микроконтроллеров AVR поддерживает несколько способов генерации тактовых сигналов, которые удовлетворяют разным вариантам приложений. Например, можно использовать дешевый RC Oscillator (встроенный в микроконтроллер генератор, для которого не нужен кварц), или внешний кварцевый резонатор, позволяющий получать точную частоту тактирования и повышенную скорость работы. Теперь соответствующие опции можно выбирать из удобного выпадающего меню.

eXtreme Burner set avr clock1 eXtreme Burner set avr clock2

Не остались обиженными и пользователи операционной системы Linux, для них также доступна утилита eXtreme Burner.

[Указания по установке]

• Вам понадобится GUI Desktop Environment наподобие GNOME или KDE (все современные дистрибутивы Linux поставляются с поддержкой как минимум одного из них, так что по этому пункту беспокоиться особенно не о чем).

• Нужно установить библиотеку wxGTK (для этого используйте утилиту Package Manager).
• Нужно установить библиотеку libusb (для этого используйте утилиту Package Manager).
• Для получения доступа к порту USB будьте готовы к тому, что потребуется запустить программу с привилегиями root (хотя возможно, что к настоящему времени автор уже эту проблему исправил).
• Загрузите архив с программой [2, 3] и распакуйте его содержимое в какой-нибудь каталог.
• Запустите терминал, залогиньтесь как root (командой su root).
• Перейдите в каталог с распакованной программой eXtreme Burner.
• Введите команду ./avrprog для запуска eXtreme Burner - AVR.

Теперь Вы можете использовать графический интерфейс для работы с чипами AVR. Он точно такой же, как и у пользователей eXtreme Burner на операционной системе MS Windows.

[Khazama AVR Programmer]

Эта утилита тоже очень удобна для работы с программатором USBasp. Khazama 1.6.2 часто использую для работы с загрузчиком USBasp-loader для программирования плат AVR-USB-MEGA16 и metaboard.

Khazama AVR Programmer 1

Khazama AVR Programmer 2

Ссылки для загрузки см. в [7].

[Проблема с библиотекой libusb0.dll]

На Windows 10 эта проблема может проявляться по-разному. Часто появляется ошибка 0xc000007b (как например с AVRDUDE_PROG и eXtreme Burner - AVR):

AVRDUDE PROG 0xc000007b

Khazama при отсутствии libusb0.dll отображает пустой список выбора микроконтроллеров:

Khazama empty AVR list

Проблема решается копированием файла libusb0.dll в каталог, где находится исполняемый файл программы. Сам файл libusb0.dll можно найти в папке Windows, или в пакете драйверов для USBasp. Или скачайте его по ссылке Download.cnt/avr/libusb0.dll.

[Ссылки]

1. GUI Software for USBasp based USB AVR Programmers site:extremeelectronics.co.in.
2. Linux-версия.
3. Linux-версия для Ubuntu 10.10.
4. AVRDUDE - AVR Downloader/UploaDEr site:nongnu.org.
5. Avrdude-GUI site:sourceforge.net.
6. AVRDUDE_PROG site:yourdevice.net.
7. Khazama AVR Programmer site:khazama.com.

 

Добавить комментарий


Защитный код
Обновить

Top of Page