Андрей Смирнов
Время чтения: ~10 мин.
Просмотров: 47

AVRDUDE PROG

Programmirovanie-mikrokontrllerov-Kursy-300x224.png

Чтобы перенести нашу программу с компьютера в микроконтроллер нам понадобится программатор USBasp и программа AVRDUDE. Сегодня существует широкий выбор программаторов, предназначенных для программирования микроконтроллеров AVR. Среди них можно найти много самодельных, который даже трудно назвать программаторами, поскольку они с помощью всего лишь нескольких резисторов напрямую подключаются к COM порту. Однако современные компьютеры и ноутбуки уже практически не оборудываются COM портами, поэтому одним из основных критериев при выборе программатора является возможность подключения его к USB порту. Наиболее дешевый, простой и очень распространенный – это программатор USBasp. Его можно приобрести практически в любом радиомагазине по доступной цене. Стоимость его в китайских интернет магазина находится в пределах от 1,5 $ до 3 $.

USBasp

Связь компьютера с микроконтроллером осуществляется посредством программатора USBasp через USB порт, а данные передаются по интерфейсу SPISerialPeripheralInterface (последовательный периферийный интерфейс). Для связи МК с программатором задействуются специальные выводы: MOSI, MISO, SCK, RESET, VCC, GND. Хотя SPI предполагает использование всего трех выводов MOSI, MISO и SCK, но мы будем задействовать все шесть выводов.

Interfejs-SPIl-1024x501.jpg

При обмене данными по интерфейсу SPI микроконтроллер может одновременно либо принимать (вывод MISO) либо передавать данные (вывод MOSI). Установка режима приема или передачи данных осуществляется путем подачи определенного импульса на вывод SCK.

Разъем программатора, как правило, имеет 10 пинов и подключается к микроконтроллеру с помощью 10 проводного шлейфа. Однако удобней пользоваться шлейфами, которые имеют переходник на 6 пин, так как в таком случае все пины заняты. У десяти пинового разъема одни пин остается не занятым, а четыре пина подключены к общему проводу (GND).

Для того, чтобы компьютер определил программатор необходимо установить драйвер USBasp.

Фото подсоединенного программатора к микроконтроллеру ATmega8 приведено ниже.

Ris3l-1-1024x820.jpg

Единственный недостаток или, правильнее сказать, мелкое неудобство данного программатора заключается в том, что он не поддерживается (без различных ухищрений) Atmel Studio, поэтому приходится пользоваться сторонней программой. Наиболее зарекомендовавшей себя является AVRDUDE.

AVRDUDE

Теперь нам осталось выполнить финальный шаг. Запускаем программу AVRDUDE. По умолчанию открывается вкладка Program. В нижней части окна в меню Настройки выбираем тип программатора usbasp. Далее в категории Микроконтроллер выбираем наш микроконтроллер ATmega8. Ниже, в категории Flash кликаем по значку троеточия и в открывшемся меню указываем путь к скомпилированному файлу с расширением hex. Путь к файлу и сам файл будут теми же, что мы ранее задавали в Proteus.

Чтобы убедится в том, что программатор определен операционной системой (драйвер программатора корректно установлен) и правильно подключен к микроконтроллеру, кликаем по кнопке Чтение. Если ошибок нет, то появится окно с записью “Калибровочные ячейки генератора считаны!” И в верхнем окошке отобразится шестнадцатеричное число. У каждого МК это число индивидуальное.

Прежде, чем записать новую программу рекомендуется очистить память микроконтроллера. Это можно сделать, кликнув по кнопке Стереть все. В результате появится окно с сообщением о том, что кристалл чист.

Теперь кликаем по кнопке Программировать в категории Flash. При успешной записи программы в МК появляется окно с записью, приведенной ниже.

Результат записанной, или, как еще говорят, прошитой программы – это засветившийся светодиод, подключенный к выводу PC0 нашего микроконтроллера.

Первая наша программа очень проста, а частота работы микроконтроллера оставлена по умолчанию и для ATmega8 равна 1 МГц. В случае изменения частоты или подключения внешнего кварцевого резонатора, необходимо внести некоторые изменения во вкладке Fuses, путем установки галочек в соответственные чекбоксы CKSEL0… CKSEL3.

Подробно настройки данной вкладки мы рассмотрим в статье Fuses (биты настройки или биты защиты) микроконтроллера.

Скачать USBasp драйвер

Скачать AVRDUDE

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

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

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

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

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

В данном примере показаны четыре калибровочные ячейки микроконтроллера 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)

Если вы будете пользоваться программой скачанной с сайта разработчика то там, по умолчанию (первым в списке), будет идти «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» где скорость записи зависит от ключа «-В» и числа после него:

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

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

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

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

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

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

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

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

</p>

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

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

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

Программа AVRDUDE_PROGПрограмма AVRDUDE_PROG: программирование микроконтроллеров AVR ATmega, ATtinyPublished by: Мир микроконтроллеров31545081978_avrdude-funkcii.pngКатегория:Разное (Разработка)Система:Windows XP, Vista, 7, 8.1, 10Статус программы:БесплатнаяСмотрели файл: 3 603

Описание

AVRDUDE это программное обеспечение консольного типа, которое позволяет перепрошивать микроконтроллеры любых моделей. Приложение содержит различные виды инструментов для прошивки. 

Назначение

С помощью AVRDUDE можно запрограммировать определенный микроконтроллер на выполнение заданных в системе действий. 

Использование

Программное обеспечение реализовано в виде минималистичной консоли и не имеет графического интерфейса. Если вы привыкли работать с приложениями которые оснащены GUI-оболочкой, то данное при использовании данного ПО у вас могут возникнуть определенные трудности. Для профессионалов и типичных линуксоидов такой интерфейс не составит проблем в выполнении поставленных задач, а скорее окажется преимуществом в силу своего быстродействия. Тем не менее, для новичков есть сторонние расширения в виде графической оболочки (утилита AVRDUDE Prog), которая предназначена для консольного оригинала и приводит его в привычный вид для рядовых пользователей. Управление в AVRDUDE осуществляется через терминал командной строки, посредством ввода команд.

Функционал

Главный профиль программы – перепрошивка микроконтроллеров от компании Atmel. Помимо ключевого направления ПО может без проблем взаимодействовать и с другими устройствами от других производителей. Вот список основных функций, которые доступны пользователям:

  • прошивка FLASH и EEPROM;
  • взаимодействие с терминалом;
  • верификация флэш-памяти;
  • возможность задать параметры поведения фьюзов.

Дополнительная информация

AVRDUDE находится в открытом доступе. Скачать программу можно абсолютно бесплатно. Интерфейс приложения не имеет полноценного перевода на русский язык. Программное обеспечение в силу своего консольного интерфейса доступно на многих версиях Windows и поддерживает другие десктопные операционные системы.

Ключевые особенности

  • Прошивка микронтроллеров различных фирм и их программирование на выполнение заданных функций;
  • Интерфейс приложения выполнен в виде командной строки и не имеет графической строки;
  • Управление и работа с ПО осуществляется путем ввода конкретных команд в консоль командной строки;
  • Для любителей классических интерфейсов с наличием GUI-оболочки есть специальное программное расширение, которое оснащает консольный оригинал графической оболочкой;
  • Большое количество инструментов программирования;
  • Программа ориентирована на специалистов и людей обладающих определенными навыками в среде программирования;
  • Считывание и запись EEPROM;
  • Высокая совместимость продукта с версиями ОС Windows и другими десктопными операционными системами.

Скачать бесплатно[130.57 Kb](cкачиваний: 1320)

Смотрите также:

1580654998_abbyy-lingvo-dictionaries-logo.pngСловари ABBYY LingvoABBYY Lingvo Dictionaries – наиболее известный среди пользователей словарь, способный работать в…1577740684_fry-tv-logo.pngFRY TVFRY TV — утилита, основное назначение которой просмотр TV-каналов в режиме реал-тайм, посредством…1553704335_karta-rossii-logo.pngКарта РоссииВ данном приложении пользователю предоставляется максимально подробная и интерактивная карта…1552317095_hirens-bootcd-logo.jpgHirens BootCDУниверсальный загрузочный диск, на котором хранится невероятное количество полностью бесплатных…1543336155_moi-mts.pngМой МТСОфициальное приложение для жителей России от оператора МТС……1542819710_videomix.jpgVideoMixVideoMix это мобильное приложение для просмотра любимых фильмов и сериалов в режиме онлайн….1542392704_olx-kz.pngOLX kzПриложение от сервиса бесплатных объявлений OLX.kz (Казахстан)….1536301818_kamera-perevodchik.pngКамера ПереводчикКамера Переводчик – это приложение, способное распознать любые надписи, попавшие под прицел…Комментарии (0)Используемые источники:

  • https://diodov.net/usbasp-avrdude-programmirovanie-mikrokontrollerov-avr/
  • https://microkontroller.ru/programmirovanie-mikrokontrollerov-avr/avrdude_prog-programmirovanie-avr/
  • https://softdroids.com/1600-avrdude.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации