Схемы, программы, прошивки SinaProg — графическая оболочка для AVRDude

Discussion in 'Электроника и Фрикинг' started by bymugen, 6 May 2010.

  1. bymugen

    bymugen Elder - Старейшина

    Joined:
    18 Jun 2009
    Messages:
    1,052
    Likes Received:
    205
    Reputations:
    167
    Вот уже много лет существует мощнейшей программа для прошивки — avrdude. Программа эта поддерживает почти все виды программаторов, а те что не поддерживает изначально легко в нее добавляются.
    Но есть у ней особенность которая сильно отпугивает многих — она консольная. И все шаманства с ней заключаются в формировании командной строки.

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

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

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

    [​IMG]

    Морда выглядит простенько и со вкусом. Ничего лишнего. Выбираем в первой строке хекс файла и зашиваем его в нужную память — flash или eeprom.

    Следом идет прогресс бар и кнопка открытия консольного лога — ошибки смотреть.

    Ниже выбираем тип микроконтроллера, также есть кнопочка поиска — полезно для проверки работы программатора.

    Отдельно стоит сказать про секцию Fuses.
    Осторожней с выпадающим списком. С виду там все просто, но это на самом деле предустановки, описываются они файле Fuse.txt вот его дефолтное содержание:

    1. Default.
    2. []
    3. ;
    4. ATmega8.ATmega16.
    5. [Int. 1 MHz d9e1
    6. Int. 2 MHz d9e2
    7. Int. 4 MHz d9e3
    8. Int. 8 MHz d9e4
    9. Ext. Crys. d9ff]
    10. ;
    11. ATmega32.
    12. [Int. 1 MHz d9e1
    13. Int. 2 MHz d9e2
    14. Int. 4 MHz d9e3
    15. Int. 8 MHz d9e4
    16. Ext. Crys. d9ff]

    Видишь, формат очень прост. Строка контроллера (обязательно с точкой!) и в квадратных скобаках возможные варианты (отделенные табуляцией) с байтами тех самых фузов. Обратите внимание, что тут меняется СРАЗУ ОБА БАЙТА Fuse битов. Т.е. касаются далеко не только тактовой частоты. А еще всего остального что конфигурируется в FUSE. Так что я бы сразу переназвал их иначе. Скажем как
    All Default,but 1MHZ
    All Default,but 2MHZ
    All Default,but 4MHZ

    Чтобы было понятней. Но это как бы быстрые шаблоны и не претендуют на глобальность.

    Лучше сразу нажать Advanced и узреть … тот самый цифровой ввод.

    [​IMG]

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

    [​IMG]

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

    В проге уже забиты настройки под большинство программаторов. Если вашего там нет, то его можно легко туда добавить. Смотреть ЗДЕСЬ (Оригинал).

    Скачать SinaProg:
    depositfiles (24.67 МБ)
    narod (24.67 МБ)

    Всем и самого bymugen
     
    #1 bymugen, 6 May 2010
    Last edited: 27 May 2010
    2 people like this.