Вот уже много лет существует мощнейшей программа для прошивки — avrdude. Программа эта поддерживает почти все виды программаторов, а те что не поддерживает изначально легко в нее добавляются.
Но есть у ней особенность которая сильно отпугивает многих — она консольная. И все шаманства с ней заключаются в формировании командной строки.
С одной стороны это хорошо — консольная утилита позволяет очень сильно ускорить и автоматизировать процесс прошивки. Один раз написал батничек и для перешивки только вызывать его и все.
Остается проблема прошивки разных устройств, ведь под каждую придется делать свой батник. И ладно бы ключи прописать, да файл с прошивкой указать. Самая засада начинается с fuse битами (впрочем, как и везде в мире AVR

) Тут их надо вначале внимательно проштудировать в даташите, выписать в виде байтов, вписать правильно в командную строку и молиться на то, чтобы нигде не ошибиться.
Да, для avrdude написано много оболочек, но все что мне встречались раньше решали лишь малозначительную проблему выбора нужного ключа файла и/или программатора, а фузы также было надо указывать числом.
Проблема решилась с появлением новой версии оболочки SinaProg от команды иранских AVR программеров.
Морда выглядит простенько и со вкусом. Ничего лишнего. Выбираем в первой строке хекс файла и зашиваем его в нужную память — flash или eeprom.
Следом идет прогресс бар и кнопка открытия консольного лога — ошибки смотреть.
Ниже выбираем тип микроконтроллера, также есть кнопочка поиска — полезно для проверки работы программатора.
Отдельно стоит сказать про секцию Fuses.
Осторожней с выпадающим списком. С виду там все просто, но это на самом деле предустановки, описываются они файле
Fuse.txt вот его дефолтное содержание:
- Default.
- []
- ;
- ATmega8.ATmega16.
- [Int. 1 MHz d9e1
- Int. 2 MHz d9e2
- Int. 4 MHz d9e3
- Int. 8 MHz d9e4
- Ext. Crys. d9ff]
- ;
- ATmega32.
- [Int. 1 MHz d9e1
- Int. 2 MHz d9e2
- Int. 4 MHz d9e3
- Int. 8 MHz d9e4
- Ext. Crys. d9ff]
Видишь, формат очень прост. Строка контроллера (обязательно с точкой!) и в квадратных скобаках возможные варианты (отделенные табуляцией) с байтами тех самых фузов. Обратите внимание, что тут меняется
СРАЗУ ОБА БАЙТА Fuse битов. Т.е. касаются далеко не только тактовой частоты. А еще всего остального что конфигурируется в FUSE. Так что я бы сразу переназвал их иначе. Скажем как
All Default,but 1MHZ
All Default,but 2MHZ
All Default,but 4MHZ
Чтобы было понятней. Но это как бы быстрые шаблоны и не претендуют на глобальность.
Лучше сразу нажать
Advanced и узреть … тот самый цифровой ввод.
Но не стоит напрягаться, достаточно нажать кнопочку “С” (видимо авторы имели ввиду Calculator) и увидеть удобнейшие выпадающие списки с человеческим описанием. Прям как в STK500.
Но ни в коем случае не забывайте нажать кнопочку READ перед тем как что либо менять. Помните, неустановленные fuse это тоже какое то значение, которое будет записано при нажатии кнопки WRITE
В проге уже забиты настройки под большинство программаторов. Если вашего там нет, то его можно легко туда добавить. Смотреть
ЗДЕСЬ (Оригинал).
Скачать SinaProg:
depositfiles (24.67 МБ)
narod (24.67 МБ)
Всем и самого
bymugen