avrdude

Прошивка ATMega8 с помощью AVR910 и avrdude в Linux.

Привет всем!

Когда я перешел с Windы на Linux, то возникла проблема в сопряжении моего программатора AVR910 и Linux. Так знаний было не совсем, пришлось читать, вкуривать и разбираться. Этот жук упорно не хотел у меня работать. Поэтому я решил рассказать как это все сделать, если вы еще не пробовали подобное.

Итак, мы имеем Linux на борту, в моем случае Mint18, программатор AVR910 и небольшую поделку в виде часов, которые я незадолго до этого собрал на скорую руку.

Сам программатор

AVR910 программатор AVRИ часы на ATMega8 с термометром.

ATMega8 микроконтроллер часы

Итак, начнем!

Сперва нужно установить avrdude, программа для прошивки большинства микроконтроллеров Atmel.

Чтобы установить, пускай терминал и вводи: «sudo apt-get install avrdude»

avrdude

Ну так как он у меня уже установлен, то ничего не произошло, а у вас пойдет установка программы.

Для начала нам надо узнать как определился программатор в системе, для этого вводим нижеследующую команду, НЕ подключая программатор, у меня вышло 3 устройства вида ttyACMx.

Теперь подключаем программе и снова делаем тоже самое:

Вот ты и попался! Устройство ttyACM3 и есть наш программатор!

Теперь о avrdude.. Это консольная программа для прошивки микроконтроллеров AVR, поддерживает много каких моделей, так что ATMega легко с ним работает. Пугаться работы в консоли не стоит, все лишь с первого взляда муторно и сложно. Вот к примеру в CodeVision у меня ATMega8 прошивалась около 2 минут..непонятно почему, а тут 2 секунды. Вот и разница.

Теперь для примера прошью часы с консоли, перед тем полностью стер чип и теперь с нуля:

Сперва выглядит замудрено, итак параметры:

  • -p это тип контроллера в нашем случае ATMega8 (m8)
  • -с тип программатора (AVR910)
  • -P порт к которому подключен программатор, просто у меня без этого параметра не работало, для этого мы и определили его в самом начале.
  • -u отключаем сравнение ячеек конфигурации до и после, в принципе и без него работает.
  • -U указываем тип памяти flash и FUSE биты. w- означает запись, mтип формата данных. Работает и без него.

Теперь результат:

Если ошибок нет, то все правильно сделали, ну у меня часики снова загорелись красными цифрами.

Ну и в конце команда на чтение флэш и фьюзов:

И результат работы:

В текущей директории появились 3 файла, один с прошивкой и два с фьюзами.

Внизу ссылка на руководство по avrdude, она мне очень помогла в свое время.

Руководство по avrdude

Ну пока  все, будут проблемы- спрашивайте.

В скором времени подружим какую нибудь среду разработки с avrdude, чтобы не вводить много команд с консоли.

Оставьте ответ

Ваш e-mail не будет опубликован.