Содержание
Как прошить микроконтроллер AVR? Именно этим мы и займемся в этой статье.
Что такое «прошить» и «прошивка»?
Давайте первым делом определимся, что означает слово «прошить»? Думаю, вы часто слышали такие словосочетания, как «прошить телефон», «слетела прошивка», «кривая прошивка» и тд. А что такое «прошивка»?
Прошивка — это грубо говоря, операционная система для маленьких устройств, таких как мобильный телефон, MP3-плеер, цифровой фотоаппарат и тд. То есть это небольшая программка, которая управляет этим устройством. Также часто можно услышать и такое:» У меня «глючит» сотовый телефон, его надо срочно «перепрошить«.
В данном случае это означает, что надо заново установить операционную систему на мобильный телефон. Значит, «прошить МК» означает закачать во внутрь него программу, которая бы управляла этим МК, а МК уже управлял бы каким-нибудь устройством. То есть по идее, МК — это посредник между программой и каким-либо устройством, которым надо управлять ;-)
Оборудование для прошивки МК
Итак, что нам потребуется, чтобы прошить МК?
- Cам микроконтроллер.
- Компьютер, с заранее установленным программным обеспечением (ПО).
- Программатор.
- Несколько джамперов.
- Макетная плата. Я бы порекомендовал сразу купить набор для начинающего AVRщика. Этот набор питается от USB.
- Прямые руки, растущие из нужного места.
Мы с вами договорились использовать МК Atiny2313 в корпусе DIP-20:
Подготовка МК к прошивке
В прошлых статьях мы с вами рассматривали программатор Громова. Главный его минус в том, что нам требуется COM-порт, который с трудом можно сейчас найти в компьютере, а разъем USB зато есть на каждом компьютере. Поэтому, было принято решение о покупке самого дешевого USB программатора для AVR МК. Называется такой программатор USBASP и выглядит он примерно вот так
Али, то можно найти очень сладкую цену на такой программатор. Например, здесь. Может быть найдете даже дешевле. Если будете брать у другого продавца, то внимательно смотрите, чтобы его надписи и радиоэлементы располагались именно так, как у меня на фото. В среднем его цена на момент написания статьи около 120 рублей. Такой программатор в корпусе обойдется чуток подороже. Если хорошенько порыться на
Вот его вид сзади:
Его рабочий разъем выглядит примерно вот так:
С программатором также в придачу идет шлейф
который одним концом цепляется к рабочему разъему программатора:
Другой конец шлейфа мы будем цеплять к МК.
Если внимательно присмотреться, то можно узнать, какой вывод в разъеме является первым. Стрелка укажет на первый вывод разъема:
После того, как узнали, где находится первый вывод, можно без труда определить остальные выводы:
Дальше берем макетную плату с установленным на ней МК Tiny2313:
Итак, наша задача — соединить выводы МК с выводами программатора.
Для этого в разъем шлейфа втыкаем провода в гнезда MOSI, RST, SCK, MISO, VTG (VCC), GND. GND я взял 10 гнездо, можно и другое, где написано GND. Итого 6 проводков-джамперов:
Далее качаем даташит на наш МК. В данном случае у нас Tiny2313. Ищем в даташите лист с его цоколевкой:
VTG (он же VCC) цепляем к 20 ножке МК
SCK(UCSK) цепляем на 19 ножку МК
MISO цепляем к 18 ножке МК
MOSI на 17 ножку
GND на 10 ножку
RST на первую ножку
Должно получиться как-то вот так:
После первого включения программатора в разъем USB ПК, Диспетчер устройств нам выдаст новое устройство:
Не пугаемся, качаем вот этот архивчик, распаковываем его и указываем путь на него при установке «дров». Когда «дровишки» на программатор установятся, то мы увидим что-то типа этого:
Все ОК, программатор готов к бою.
В этом же архиве находим папку «avrdudeprog», открываем ее, находим там исполняемый файл AVRDUDEPROG и запускаем. Это и есть программная оболочка для прошивки МК с помощью нашего программатора.
Она выглядит вот так. Не забываем выбрать наш МК в списке.
Для того, чтобы прошить МК, нам надо выбрать файл с расширением HEX. Итак, вот мой файлик. Первым делом я нажимаю кнопочку «Стереть все». А вдруг кто-то уже использовал МК и там залита уже какая-нибудь программа? Поэтому, перед прошивкой стираем память МК. Если «стирка» прошла удачно, то программка выдаст нам примерно такое сообщение:
Прошиваем МК AVR
Нажимаем на кнопку выбора файла:
А теперь выбираем наш файл «Lesson 1.hex» . Это и есть наша программа.
А теперь жмем кнопочку «Программирование»
После того, как все прошло удачно, высветится что-то типа этого:
Но это еще не все! Как вы помните, в прошлой статье мы выставили частоту кварца 8 Мегагерц. Чтобы не было неразберихи, нам эту частоту теперь надо поделить на 8. Для этого существует фьюз, который делит тактовую частоту именно на 8. Ставим маркер на «прямые фьюзы», потом ставим галочку на CKDIV.
После того, как сделали эти два шага, нажимаем на кнопку «Программирование»: