Прошивка микроконтроллера - это запись (копирование) в его память определенной программы. Программа представляет собой специальный код в шеснадцатеричном формате (файл с расширением hex).
Прошивка осуществляется при помощи специального устройства или программатора. Программаторы для каждых типов микроконтроллера свои. Также программаторы отличаются по способу подключения к компьютеру, могут подключатся через USB, LTP,COM. Существует целое множество разнообразных программаторов под микроконтроллеры AVR. Наиболее простым на мой взгляд и простым в освоении программатором для AVR является USB-asp программатор. Мой первый проект и использованием такого программатора имел 2 детали, самого контроллера atmega8 и светодиода.
Миниатюрный usb программатор для avr микроконтроллеров / Хабрахабр. Как театр начинается.
Появилась у меня идея сделать внешний интерфейс. Нужен программатор. Avr/io.h > #include. Схема программатора. Восстановив заводские настройки в режиме высоковольтного. Характеристики программатора avr. Простейший программатор.
После подключения и прошивки контроллера светодиод радостно начал мне подмигивать. Программаторы под микроконтроллеры AVR AVR-Doper.
Этот программатор поддерживает протокол STK500 ( то есть, может совмещаться со многими утилитами, предназначенными для программирования), поддержка последовательного ISP- программирования и даже высоковольтного HVSP программирования. Прошивка практически всех известных чипов AVR.
Возможно сделать самостоятельно, схемы не очень сложные, существует большое количество готовых прошивок, полностью открытый исходный код. Для качественной работы совместно с Windows требуется установка драйвера, который поставляется вместе с исходным кодом.
Такое название у клона Atmel с поддержкой протокола STK500. Не поддерживается HVSP, но в свободном доступе ISP, TPI и PDI, что позволяет прошить более современные микроконтроллеры типа XMEGA. Поддерживаются многие популярные программы. Его схема невероятно простая, поэтому программатор именно этого типа часто самостоятельно изготавливают. Исходный код открыт, возможна компиляция на другие чипы AVR, имеющие аппаратный интерфейс USB.
Для Windows необходим драйвер, он идет в комплекте с исходным кодом. Наиболее подходящая данному программатору утилита AVR Studio 4.19.
Не слишком дорогой программатор, который пользуется популярностью с внутрисхемным отладчиком Atmel, его аналоги продаются на eBay за 40-50 американских долларов. Поддержка AVR Studio, IAR Embedded Workbench и многих других сред программирования. Самостоятельно изготовить его нельзя, так как нет ни доступных схем, ни кодов доступа, открытым остался исключительно STK500.
Если вы обладаете достаточным количеством средств и хотите развиваться, как программист — стоит приобрести этот программатор. Для работы с Windows требуется драйвер, его можно установить вместе с AVR Studio. Atmel AVR JTAGICE mk. Его еще называют «тяжелой артиллерией» в программировании и отладке AVR, так как это программатор- ISP со внутрисхемным эмулятором (JTAG, debugWIRE) в одной прошивке. Работа осуществляется с помощью COM-порта и по USB.
Доступен для понимания даже avrdude. Хороший во всем, только не радует его стоимость. Может работать с AVR Studio, консольной штатной прогой. Поддержка интерфейсов отладки debugWire и JTAG, всего ассортимента AVR, но не поддерживается высоковольтное программирование HVSP. Очень дорогое удовольствие, которое трудно рекомендовать. Сделать самостоятельно невозможно. Для Windows нужна установка драйвера, идущего в комплекте с AVR Studio.
Программатор, успевший получить статус «народного». Его дешево изготовить, схемы достаточно просты, большое количество исходников со свободным доступом дают возможности сделать проект собственными руками. Поддержка большого количества утилит для программирования. Его изготовляют многие компании в том числе и китайские.
На ebay цена одной копии USBasp стартует от 4 долларов. Но будьте внимательны — дешевая продукция, как правило, обладает низким качеством. Поддержка исключительно ISP. Не забудьте об установке драйвера для Windows. Применение в USB-бутлоадерах (этому способствуют открытость и простота). Этот проект находится в открытом доступе, есть все исходники.
В состав входят 2 ISP-коннектора (6 pin и 10 pin). Использование чипа ATtiny2313-20P. Схема отличается своей простотой.
USB AVR programmer. Не считается официальным аналогом AVR910, но характеристики очень похожие. Схемы и исходники находятся в свободном доступе.
Отличается своей необычной простотой и маленькими размерами. USB интерфейс и поддержка ISP.
Довно хотел его собрать все руки не доходили но после очереднего неправильно выставлено фьюза у меня залочился МК Все решил буду собирать и как оказалось очень крутая штука, после сборки вотсановил Atmega8 и Atmega88. Автор устройства поляк Pawel Kisielewski. Что интересного есть в «Atmega fusebit doctor»?
Как Вы поняли – это не совсем высоковольтный программатор. Это устройство предназначено только для одной цели – вернуть к «жизни» микроконтроллер с неправильно прошитыми фьзами. Такими фьюзами могут быть: - CKSEL фьюзы выбора задающего генератора (выбран внешний генератор при его отсутствии или выбрана очень маленькая частота внутреннего); - SPIEN запрет последовательного программирования; - RSTDISBL использование ножки сброса как дополнительной линии ввода-вывода; – установленные LOCK биты; – другие, мешающие последовательному программированию. Принцип работы устройства - очень прост – подаем на плату 12 вольт, вставляем в панельку «запорченный» микроконтроллер, нажимаем кнопочку «START» и через доли секунды получаем новенький рабочий микроконтроллер.
При нажатии кнопки «START» устройство читает сигнатуру микроконтроллера-пациента, при этом, если она не читается, делается несколько попыток прочитать различными способами. После того как сигнатура прочитана по базе определяется тип микроконтроллера и восстанавливаются заводские, для данного микроконтроллера, установки фьюз бит. Если сигнатура неизвестна или микроконтроллер выдает ее неверно устройство установит фьюз биты в такое состояние, при котором станет возможным последовательное программирование. При восстановлении фьюз бит прошивка микроконтроллера остается нетронутой. Еще на плате есть перемычка «ALLOW ERASE«, при замыкании которой устройство полностью «обнулит» микроконтроллер.
Это нужно в том случае, если пациент «залочен», т.е. Установлены защитные биты которые препятствуют чтению/записи микроконтроллера. Для индикации работы устройство имеет два светодиода – Красный и Зелёный. Если горит зеленый – пациент успешно вылечен, фьюз биты восстановлены до заводских. Если микроконтроллер «залочен» (LockBits включены), просто проверяются фьюз биты и если они совпадают с заводскими – загорается зеленый светодиод. Если горит красный – проблемы с сигнатурой чипа, невозможно прочитать, нет микроконтроллера в панельке или нет такой сигнатуры в базе данных.
Если зеленый мигает – сигнатура в порядке, фьюз биты с ошибкой, но исправить их невозможно, так как микроконтроллер «залочен» (LockBits включены), необходимо полное стирание микроконтроллера (нужно установить перемычку для стирания – «ALLOW ERASE»). Если мигает красный – сигнатура в порядке, микроконтроллер «не залочен», но, по какой-то причине, невозможно восстановить фьюз биты. Если Вы хотите получить более подробную информацию о процессе «лечения» на плате есть выход UART.
Отправьте этот сигнал на терминал и получите «распечатку» того, что было сделано. Установки для терминала: baudrate: 4800 parity: none databits: 8 stopbits: 1 handshake: none На плате установлены три панельки для «пациентов» на 20 (Attiny2313 ), 28 (Atmega48/88/168, Atmega8 ), 40 (Atmega16, Atmega8535 ) ножек. Если Вы решили «полечить» другого «пациента», то на плате предусмотрен специальный разъем для подключения адаптеров с панельками под любой, нужный Вам, микроконтроллер. Устройство поддерживает аж 106 типов микроконтроллеров AVR. Зашивай контроллер прошивкой, фьюзы не трогай.
Потом после прошивки прочти фьюз биты в контроллере и измени состояние галки EESAVE. Прошей фьюзы. Все, так там все по стандарту кроме этой галки EESAVE - сохранение информации EEPROM про перепрошивке. Правда давно уже ). У меня часы не запускались. Нужно было замкнуть провода кнопок управления.
А я как назло сопротивления перепутал. Нужно было 1кОм, а я воткнул 10кОм. По цветовой маркировке они похожи. Только у одного полоска красная,у другого оранжевая. Вот при плохом освещении и закосячил. И так несколько раз.