AVRDUDE_PROG: программирование ATmega, ATtiny

Admin 17.09.2016

Доброго дня уважаемые друзья!
Приветствую Вас на сайте «Мир микроконтроллеров»


Программа AVRDUDE_PROG: программирование микроконтроллеров AVR ATmega и ATtiny

Популярнейшая программа AVRDUDE_PROG 3.3 предназначена для программирования микроконтроллеров AVR ATmega и ATtiny:
1. Возможность самостоятельного добавления программаторов, настройки скорости программирования и т.п;
2. Возможность самостоятельного добавления МК;
3. Редактирование и настройка отображения Fuses битов;
4. Выбор инверсных или прямых Fuses битов;
5. Окна вывода значений Fuses битов в HEX формате;
6. Сохранение настроек программирования при закрытии программы, т.е. при последующем открытии все настройки восстановятся.

programma-avrdude_prog-3-3


В прошлой статье я рассказал о простом (но очень хорошем) программаторе для прошивки микроконтроллеров AVR ATmega и ATtiny — USBASP AVR программатор. В той же статье я указал какие программы поддерживают данный программатор. Наиболее лучшей из них, на мой взгляд, является программа AVRDUDE_PROG автором которой является Сергей Боднар. О ней мы сегодня и поговорим.
Последняя версия программы AVRDUDE_PROG — 3.3, из программы всегда можно попасть на сайт разработчика и скачать новые версии.
Программа очень проста в использовании, имеет приятный интуитивно понятный интерфейс на русском языке, поддерживает очень много различных программаторов и практически все микроконтроллеры ATmega и ATtiny. Немаловажно и то, что в программу можно самому вносить изменения — добавлять программаторы, микроконтроллеры, изменять некоторые настройки (все подробно расписано на сайте разработчика).
Программа не требует установки на компьютер, необходимо только разархивировать скачанный файл и можно сразу приступать к работе, поддерживаются все разновидности Windows — от ХР до 10.

Окно запущенной программы AVRDUDE_PROG:

vneshniy-vid-okna-avrdude_prog-3-3

Что есть что:
1:
— окно выбора типа микроконтроллера
— кнопка «Стереть все» — очищает все внутренности микроконтроллера

okno-vyibora-mikrokontrollera
2:
— чтение калибровочных ячеек микроконтроллера

chtenie-kalibrovochnyih-yacheek
В данном примере показаны четыре калибровочные ячейки микроконтроллера ATmega8 для внутреннего RC генератора:
ВВ — для частоты 1 МГц (частота по умолчанию)
BD — для частоты 2 МГц
В2 — для частоты 4 МГц
В2 — для частоты 8 МГц
При тактировании микроконтроллера ATmega8 частотой 1 МГц от внутреннего RC генератора (по умолчанию) содержимое первой калибровочной ячейки автоматически учитывается микроконтроллером для подстройки внутреннего генератора. При других частотах — содержимое соответствующей калибровочной ячейки необходимо вручную вводить в регистр микроконтроллера для получения более стабильной частоты (если такое нужно). К примеру, в конструкции «Трехканальный термостат, термоморегулятор, таймер…», которая работает с тактовой частотой 8 МГц от встроенного генератора с внутренней RC цепочкой, требуется перед прошивкой ЕЕPROM памяти записать в определенную ячейку HEX файла значение калибровочной ячейки для частоты 8 МГц.
3:
— выбор HEX файла для прошивки Flash памяти микроконтроллера, сверка записанного файла с оригиналом, чтение данных из памяти
4:
— выбор HEX или EEP файла для прошивки EEPROM памяти микроконтроллера, сверка и чтение
5:
— выбор программатора (по умолчанию — USBASP)

vyibor-programmatoraЕсли вы будете пользоваться программой скачанной с сайта разработчика то там, по умолчанию (первым в списке), будет идти «USBASP», у меня на картинке 4 разновидности USBASP программатора:
— Usbasp_1M
— Usbasp_4M
— Usbasp_8M
— Usbasp-32кГц
Дело в том, что программатор USBASP позволяет записывать файлы прошивки с двумя скоростями:
— для МК с тактовой частотой 1,5 МГц и выше (без перемычки на J3) — скорость записи 375 кГц
— для МК с тактовой частотой менее 1,5 МГц (с перемычкой на J3) — скорость записи 5 кГц
Для нормальной записи прошивки в МК требуется скорость в 4 раза меньше, чем установленная тактовая частота.
Для прошивки нового МК, у которого по умолчанию тактовая частота 1 МГц, необходимо устанавливать в программаторе перемычку на разъем J3, а сама скорость — 5 кГц, в некоторых случаях начинает нервировать.
Для того, чтобы не портить нервы, не дергаться с перемычкой, я программно установил 4 варианта скорости записи, которые выбираются в зависимости от текущей тактовой частоты МК:
— Usbasp_1M — скорость 187,5 кгЦ, для частот 1-4 МГц
— Usbasp_4M — скорость 375 кГц, для частот 4-8 МГц
— Usbasp_8M — скорость 750 кГц, для частот 8 и более МГц
— Usbasp-32кГц — скорость 4 кГц, для часового кварца
Все эти установки прописаны в самом начале файла «programm.ini» где скорость записи зависит от ключа «-В» и числа после него:

fayl-rogramm

znacheniya-klyucha-v-dlya-skorosti-programmirovaniya

6:
— выбор отображения FUSE битов — прямой (как в UniProf и даташитах) и инверсный (как в PonyProg)
7:
— окно вывода служебной информации о выполняемых и выполненных операциях


Внешний вид окна «FUSES» программы AVRDUDE_PROG:

okno-ustanovki-fuse

Тут все просто — расставляем в нужном виде галочки или убираем их и программируем FUSE биты. Если что-то намудрили — нажатие кнопки «По умолчанию» приведет установки FUSE битов в значения «по умолчанию» (сами FUSE биты в МК не изменятся!). Очень внимательно устанавливайте FUSE биты — ошибка может привести к отказу микроконтроллера.

Хочу обратить ваше внимание на самую распространенную ошибку при установки FUSE битов. В большинстве случаев мы изменяем только биты ответственные за выбор источника тактирования и частоту тактирования, к примеру для ATmega8 это: CKSEL0-CKSEL3. По умолчанию у ATMEGA8 тактовая частота 1 МГц от внутреннего генератора — сброшен бит CKSEL0 (стоит галочка). Нам, допустим, нужно установить тактовую частоту 8 МГц от внутреннего генератора — сбросить бит CKSEL2 (поставить галочку), что мы и делаем. Но при этом ЗАБЫВАЕМ УСТАНОВИТЬ БИТ CKSEL0 (убрать галочку)!. В результате, программируя FUSE биты, мы получаем совершенно иной результат — программа не работает, а МК не реагирует на программатор. Забыв сбросить бит CKSEL0 мы получаем другой источник тактирования МК — внешний RC. Отчаиваться не надо, главное разобраться в том, что вы получили в результате. В нашем примере — внешний RC, смотрим даташит, подсоединяем к соответствующим входам МК сопротивление и конденсатор (по схеме из даташита и с нужными номиналами) и восстанавливаем контроль над МК.


Внешний вид окна «Автоматическое программирование» AVRDUDE_PROG:

vneshniy-vid-okna-avtomaticheskoe-programmirovanie

Здесь можно задать первоначальные настройки для разных случаев использования программы.

Как видите — программа AVRDUDE_PROG проста и понятна в использовании, за что и скажем спасибо Сергею Боднару!


  Скачать программу AVRDUDE_PROG 3.3 (1,3 MiB, 27 182 hits)

Скачать с ЯндексДиска


Программирование микроконтроллеров AVR фирмы Atmel

1. Микроконтроллеры — первый шаг
2. Системы счисления: десятичная, двоичная и шестнадцатиричная
3. Логические операции, логические выражения, логические элементы
4. Битовые операции
5. Прямой, обратный и дополнительный коды двоичного числа
6. USBASP программатор для микроконтроллеров AVR — идеальное решение для начинающих, и не только


(20 голосов, оценка: 4,80 из 5)
Загрузка...
Программа AVRDUDE_PROG: программирование микроконтроллеров AVR ATmega, ATtiny
Published by: Мир микроконтроллеров
Date Published: 09/17/2016

Комментарии

AVRDUDE_PROG: программирование ATmega, ATtiny — 32 комментария

  1. Выяснил при запуске avrdudeprog.exe странно себя ведёт в антивирусе Norton 360 его функция репутационоой защиты, и выдаёт что файл не надёжный хотя выпущен 9 месяцев назад. И он блокировал его запуск и при проверке совместимости выдавало как несовместимое приложение. Добавил этот файл в исключения для сканирования. Запустился и заработал спасибо.

  2. (поддерживаются все разновидности Windows — от ХР до 10) Чёрта с два она поддерживается Windows-7 64 bit не запускается выскакивает на мгновение SMD окно и всё. При проверке совместимости показывает обнаружено несовместимое приложение.

  3. avrdude не видит программатор avrisp mkll. в atmel studio программатор работает.
    как сделать чтобы работал в avrdude

  4. Здравствуйте. Мне надо в Attiny85 залить прошивку sd8p_mo.hex. Установил перемычку- программатор начал читать МК: avrdude.exe: writing output file «calibration.hex»
    avrdude.exe: safemode: Fuses OK (E:FF, H:DF, L:62)
    Потом ввел путь к файлу прошивки. Чего-то там работало. И в конце Windowsвыдает- Программа перестала работать. Закрыть. Деваться некуда-закрываю. Не закрылась, дальше работает. Нажимаю чтение:
    Reading | ################################################## | 100% 36.87s
    avrdude.exe: writing output file «E:\Программатор\ПрошивкаAttiny85\sd8psrc\obj_mo\sd8p_mo.hex»
    avrdude.exe: safemode: Fuses OK (E:FF, H:DF, L:62)
    Прошилось или нет?

    • Здравствуйте Ильгиз!
      1. Замените прошивку программатора (можно скачать с сайта)
      2. Скачайте программу именно с сайта (для работы без перемычки)
      3. Посмотрите даташит — какая у этого МК частота по умолчанию.
      С уважением, Admin.

      • Через Программатор громова пробовал- не получается . Собрал правильно программатор. Не видит его комп- пишет МК не откликнулся

      • Спасибо, за такой обстоятельный диалог. Как всегда самому придется разбираться

  5. USBASP AVR программатор
    (4.5/71)
    Цена: 185руб.
    Остаток: 0 шт. Товара временно нет на складе!
    Сообщить когда будет в наличии.
    Вес: 0.01 кг.
    Артикул: CN183
    Здравствуйте здесь рекламируется на вашей странице программатор который мне нужен. С вами этот вопрос можно решить ?

    • Здравствуйте Геннадий!
      К сожалению (или к счастью) программаторы расходятся в магазине очень быстро и пока не получается поддерживать постоянное их наличие.
      Следующая партия программаторов ожидается на следующей неделе.
      С уважением, Admin.

  6. Купил цешку электронную у китайцев и не работает. процессор на ней такой установлен MEGA 328P AU 1626 ATMEL Можно ли вашими программатором перепрошить. Где взять для этого программу. И будет ли отображение информации на русском ?

    • Здравствуйте Геннадий!
      Перепрошить можно.
      Где взять программу — не знаю, надо искать в сети.
      С уважением, Admin.

  7. Доброго времени суток! Подскажите необходимо скопировать из МК ATMega 32 содержимое. Как это Сделать?

    • Здравствуйте Александр!
      1. Создаете папку, к примеру на рабочем столе
      2. На главной странице программы в окошке «Flash», нажатием иконки с тремя точками выбираете путь к папке и присваиваете имя файлу.
      3. В этом-же разделе нажимаете иконку «Чтение»: программатор считает Flash память МК и запишет считанные данные в указанную папку под выбранным именем.
      Второй и третий пункт повторяете для Eeprom памяти.
      4. Переходите на страницу «Fuses», нажимаете иконку «Чтение» и записываете считанные установки на лист бумаги.

      С уважением, Admin.

  8. Драйвер установился, программатор определился системой.
    Только вот прога пишет, что»программатор не обнаружен» .То же самое было и с моим первым программатором. Не пойму, в чем дело.

    • И еще не понял про автоматическое программирование. Что нужно и что нельзя при этом нажимать ? И как узнать , прошился ли МК правильно и прошился ли вообще ?

      • Еще раз доброго дня Владимир!
        Автоматическое программирование означает, что при нажатии кнопки «Программировать все» будут запрограммированы FLASH и EEPROM память, FUSE биты в соответствии с Вашими установками, при выбранной конфигурации:
        — каким программатором (USBASP по умолчанию)
        — установки FUSE: прямые или инверсные
        С уважением, Admin.

    • Здравствуйте Владимир!
      Скорее всего нужно поменять прошивку программатора.
      С уважением, Admin.

  9. Добрый день, уважаемый админ. Пытаюсь освоить программирование МК. Сделал USBTiny прогр-р, но что-то не так. Один контроллер удалось прошить и то не с первого раза. Далее не пошло совсем (Дуда пишет, что не найден прог-р ), хотя в шлейфе все проводники прозваниваются. Выписал с Али Usbasp 2.0 и растерялся. Он прошит или нет ? Скачал драйвера. У меня ХР. Какой конкретно драйвер нужно ? Не один не могу вставить . Как у Вас тут написано инстраллировать- у меня не так получается. В общем- тупик. Растолкуйте относительно моих вопросов, пожалуйста.

    • Здравствуйте Владимир!
      Про USBTiny ничего сказать не могу, не пользовался.
      По USBASP:
      — драйвер, что выложен на сайте, устанавливал без проблем на ХР, WIN8 и WIN10.
      — программаторы китайцы прошивают, но программой на которую Дудка ругается, поэтому требуется перепрошивка.
      — покупка на Али — лотерея, в магазине сайта продано более сотни программаторов, примерно каждый 15 с глюком — или не прошит вовсе, или не исправен, или вроде все в порядке — перепрошивается, читается, но система определить его как самостоятельное устройство не может.
      Реклама: покупайте программатор в магазине сайта, дороже, но зато полностью исправный: устранены косяки в пайке, припаяны все разъемы, установлены все джамперы, отмыт флюс и главное, проверенный в работе.
      С уважением, Admin.

  10. Здравствуйте уважаеммый Admin.
    У меня есть прошитый с внешним квар
    цем на 8мгц ATMEGA328P. Как мне
    перешить его для работы от внутрен
    него генератора 1мгц. в этой програм
    ме. Боюсь залочить чип. Спасибо за
    Ваш сайт. С уважением Николай.

    • Здравствуйте Никита (надеюсь правильно написал Ваше имя)!
      Я обязательно сегодня прочитаю даташит на этот МК (чтоб потом не обмануть). Немного позднее отвечу на Ваш вопрос. Выложу в картинке.
      С уважением, Admin.

      • Здравствуйте уважаемый Admin.
        О какой картинке идет речь? С уважением Николай.

        • Входите в программу, выбираете свой микроконтроллер, переходите в раздел «Fuses», жмете кнопку «По умолчанию», а затем «Программирование».

          • Спасибо! С уважением Николай.

  11. Добрый день.
    Купил программатор USBASP v2.0
    Подойдет ли данная программа для работы с ним, именно с версией 2.0?

  12. Я чего-то не понимаю мне например нужно будет сделать устройство спектроанализатор звука на атмега 8 и мне нужно будет иметь программу програмирования данной микросхемы или программа програмирования данной микросхемы для этого устройства уже есть в данной программе.

    • Здравствуйте Александр!
      Что бы запрограммировать микроконтроллер нужно:
      — программатор
      — программа AVRDUDE_PROG, или аналогичная.
      С уважением, Admin.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *