AVRdude + Burn-O-Mat


Иногда возникает необходимость прошить МК не из PonyProg`a (т.к. он не поддерживает USB программаторы) или CodeVisionAVR (т.к. он иногда подглючивает)... Тут на помощь приходит консольный программатор, который сейчас входит в WinAVR - это AVRdude. Официальная страничка - вот. Но т.к. многие не умеют/не хотят/не могут пользоваться командной строкой, то один немецкий программист придумал GUI для этого чудного программатора. Называется этот программный продукт - AVR8 Burn-O-Mat. Его страничка - тут.

Итак, скрестив avrdude и Burn-O-Mat получаем хороший, быстрый программатор, который умеет работать со многими железками (STK200, AVR910, AVR911 и т.д.) и в то же время можно пользоваться прелестями командной строки, даже если вы в ней ничего не понимаете (об этом чуть ниже).

Т.к. оба программных продукта бесплатны, то я позволил себе их выложить в виде одного архива. Качаем! Для работы AVR8 Burn-O-Mat нужна Java, поэтому надо бы её скачать. Можно отсюда.

 

#  Имя  Примечание Кликов
· avrdude + Burn-O-Mat ·
1. burn-o-mat_v2.1.2.rar AVRdude + Burn-O-Mat 2 307
Итак, скачали, установили Яву, распаковали архив - можно запускать! А нет, нельзя. Надо установить драйвер прямого доступа к портам giveio. Для этого заходим в папку avrdude и запускаем файл install_giveio.bat. Теперь точно всё! В корневой папке есть файлик start.bat - его и запускаем. По идее должны увидеть вот такое окно:

Сразу заходим в меню -> Settings и настраиваем пути к avrdude.exe и avrdude.conf затем выбираем тип Вашего программатора и порт, куда он подключен. Вот где-то так:

Всё - может программировать. В главном окне выбираем файл Flash (программы) или EEPROM (данные) и жмём кнопку Write. Внизу формы Вы увидите вызов avrdude и результаты его работы.

Вот эту верхнюю строчку можно скопировать в BAT файл и запускать.

Таким же образом программируются FUSES. В главном окне жмём соответствующую кнопку и видим форму программирования FUSES.

Их можно выставлять как в ручном режиме, так и в "интерактивном" - пошарьтесь по вкладкам - там всё понятно. Теперь жмём кнопку "write fuses" и в главном окне внизу будет командная строка и результаты работы avrdude. Можем их скопировать в тот же BAT файл и получить полноценный командный файл для программирования серии дэвайсов.

Вот пример содержания BAT файла:

D:\Burn-O-Mat\avrdude\avrdude.exe -C D:\Burn-O-Mat\avrdude\avrdude.conf -p m8 -P lpt1 -c stk200 -U flash:w:D:\flash.hex:a

D:\Burn-O-Mat\avrdude\avrdude.exe -C D:\Burn-O-Mat\avrdude\avrdude.conf -p m8 -P lpt1 -c stk200 -U eeprom:w:D:\WiperRelay.hex:a

D:\Burn-O-Mat\avrdude\avrdude.exe -C D:\Burn-O-Mat\avrdude\avrdude.conf -p m8 -P lpt1 -c stk200 -U hfuse:w:0xD9:m -U lfuse:w:0xE1:m

pause

Первая строка прошивает Flash, вторая EEPROM, третья - FUSES и всё это теперь одним кликом!

Думаю в остальном разберётесь!

05.02.2010