PDA

Просмотр полной версии : SinaProg — графическая оболочка для AVRDude


bymugen
06.05.2010, 18:49
Вот уже много лет существует мощнейшей программа для прошивки — avrdude. Программа эта поддерживает почти все виды программаторов, а те что не поддерживает изначально легко в нее добавляются.
Но есть у ней особенность которая сильно отпугивает многих — она консольная. И все шаманства с ней заключаются в формировании командной строки.

С одной стороны это хорошо — консольная утилита позволяет очень сильно ускорить и автоматизировать процесс прошивки. Один раз написал батничек и для перешивки только вызывать его и все.

Остается проблема прошивки разных устройств, ведь под каждую придется делать свой батник. И ладно бы ключи прописать, да файл с прошивкой указать. Самая засада начинается с fuse битами (впрочем, как и везде в мире AVR ;) ) Тут их надо вначале внимательно проштудировать в даташите, выписать в виде байтов, вписать правильно в командную строку и молиться на то, чтобы нигде не ошибиться.
Да, для avrdude написано много оболочек, но все что мне встречались раньше решали лишь малозначительную проблему выбора нужного ключа файла и/или программатора, а фузы также было надо указывать числом.

Проблема решилась с появлением новой версии оболочки SinaProg от команды иранских AVR программеров.

http://i064.radikal.ru/1005/4f/bd12f9c6a66c.gif

Морда выглядит простенько и со вкусом. Ничего лишнего. Выбираем в первой строке хекс файла и зашиваем его в нужную память — 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 и узреть … тот самый цифровой ввод.

http://s49.radikal.ru/i124/1005/88/daf62439bbd5.gif

Но не стоит напрягаться, достаточно нажать кнопочку “С” (видимо авторы имели ввиду Calculator) и увидеть удобнейшие выпадающие списки с человеческим описанием. Прям как в STK500.

http://s52.radikal.ru/i137/1005/d5/0e190d87c7e2.gif

Но ни в коем случае не забывайте нажать кнопочку READ перед тем как что либо менять. Помните, неустановленные fuse это тоже какое то значение, которое будет записано при нажатии кнопки WRITE

В проге уже забиты настройки под большинство программаторов. Если вашего там нет, то его можно легко туда добавить. Смотреть ЗДЕСЬ (http://easyelectronics.ru/sinaprog-graficheskaya-obolochka-dlya-avrdude.html#more-295) (Оригинал).

Скачать SinaProg:
depositfiles (http://depositfiles.com/ru/files/loryd21lm) (24.67 МБ)
narod (http://narod.ru/disk/20468521000/SinaProg.zip.html) (24.67 МБ)

Всем и самого bymugen