Вот уже много лет существует мощнейшей программа для прошивки — 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