Меню

Как прошить микроконтроллер AVR?

Содержание

Как прошить микроконтроллер AVR? Именно этим мы и займемся в этой статье.

Что такое «прошить» и «прошивка»?

Давайте первым делом определимся, что означает слово «прошить»?  Думаю, вы часто слышали такие словосочетания, как «прошить телефон», «слетела прошивка», «кривая прошивка» и тд.  А что такое «прошивка»?

Прошивка — это грубо говоря, операционная система для маленьких устройств, таких как мобильный телефон, MP3-плеер, цифровой фотоаппарат и тд. То есть это  небольшая программка, которая управляет этим устройством. Также часто можно услышать и такое:» У меня «глючит» сотовый телефон, его надо срочно «перепрошить«.

В данном случае это означает, что надо заново установить операционную систему на мобильный телефон. Значит, «прошить МК»  означает закачать во внутрь него программу, которая бы управляла этим МК, а МК уже управлял бы каким-нибудь устройством.  То есть по идее, МК — это посредник между программой и каким-либо устройством, которым надо управлять ;-)

как прошить avr

Оборудование для прошивки МК

Итак, что нам потребуется, чтобы прошить МК?

  1. Cам микроконтроллер.
  2. Компьютер, с заранее установленным программным обеспечением (ПО).
  3. Программатор.
  4. Несколько джамперов.
  5. Макетная плата. Я бы порекомендовал сразу купить набор для начинающего AVRщика. Этот набор питается от USB.
  6. Прямые руки, растущие из нужного места.

Мы с вами договорились использовать МК Atiny2313 в корпусе DIP-20:

attiny2313

Подготовка МК к прошивке

В прошлых статьях мы с вами рассматривали программатор Громова.  Главный его минус в том, что нам требуется COM-порт, который с трудом можно сейчас найти в компьютере, а разъем USB зато есть на каждом компьютере. Поэтому, было принято решение о покупке самого дешевого USB программатора для AVR МК. Называется такой программатор USBASP и выглядит он примерно вот так

USBASP

 Если хорошенько порыться на Али, то можно найти очень сладкую цену на такой программатор. Например, здесь. Может быть найдете даже дешевле. Если будете брать у другого продавца, то внимательно смотрите, чтобы его надписи и радиоэлементы располагались именно так, как  у меня на фото. В среднем его цена на момент написания статьи около 120 рублей. Такой программатор в корпусе обойдется чуток подороже.

Вот его вид сзади:

USBASP программатор

Его  рабочий разъем выглядит примерно вот так:

разъем USBASP

С программатором также в придачу идет шлейф

шлейф на программатор

который одним концом цепляется к рабочему разъему программатора:

USBASP со шлейфом

Другой конец шлейфа мы будем цеплять к МК.


Если внимательно присмотреться, то можно узнать, какой вывод в разъеме является первым. Стрелка укажет на первый вывод разъема:

После того, как узнали, где находится первый вывод, можно без труда определить остальные выводы:

распиновка USBASP

Дальше берем макетную плату с установленным на ней МК Tiny2313:

Итак, наша задача — соединить выводы МК с выводами программатора.

Для этого в разъем шлейфа втыкаем провода в гнезда MOSI, RST, SCK, MISO, VTG (VCC), GND. GND я взял 10 гнездо, можно и другое, где написано GND.  Итого 6 проводков-джамперов:

Далее качаем даташит на наш МК. В данном случае у нас Tiny2313. Ищем в даташите лист с его цоколевкой:

распиновка Attiny2313

VTG (он же VCC) цепляем к 20 ножке МК

SCK(UCSK) цепляем на 19 ножку МК

MISO цепляем к 18 ножке МК

MOSI на 17 ножку

GND на 10 ножку

RST на первую ножку

Должно получиться как-то вот так:

прошиваем мк avr

После первого включения программатора в разъем USB ПК, Диспетчер устройств нам выдаст новое устройство:

Не пугаемся, качаем  вот этот архивчик, распаковываем его и указываем путь на него при установке «дров». Когда «дровишки» на программатор установятся, то мы увидим что-то типа этого:

usbasp драйвера

Все ОК, программатор готов к бою.

В этом же архиве находим папку «avrdudeprog», открываем ее, находим там исполняемый файл AVRDUDEPROG и запускаем. Это и есть программная оболочка для прошивки МК с помощью нашего программатора.

Она выглядит  вот так. Не забываем выбрать наш МК в списке.

программа avrdude

Для того, чтобы прошить МК, нам надо выбрать файл с расширением HEX. Итак,  вот  мой файлик. Первым делом я нажимаю кнопочку «Стереть все».  А вдруг кто-то уже использовал МК и там залита уже какая-нибудь программа? Поэтому, перед прошивкой стираем память МК. Если «стирка» прошла удачно,  то программка выдаст нам примерно такое сообщение:

Прошиваем МК AVR

Нажимаем на кнопку выбора файла:

А теперь выбираем наш файл «Lesson 1.hex» . Это и есть наша программа.

А теперь жмем кнопочку «Программирование»

После того, как все прошло удачно, высветится что-то типа этого:

Но это еще не все! Как вы помните, в прошлой статье мы выставили частоту кварца 8 Мегагерц. Чтобы не было неразберихи, нам эту частоту теперь надо поделить на 8. Для этого существует фьюз, который делит тактовую частоту именно на 8. Ставим маркер на «прямые фьюзы», потом ставим галочку на CKDIV.

выставление фьюзов avrdude

После того, как сделали эти два шага, нажимаем на кнопку «Программирование»:

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

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