Как собрать USBasp программатор для AVR микроконтроллеров своими руками. Какие компоненты нужны для сборки USBasp. Как прошить и настроить USBasp программатор. Какое программное обеспечение использовать с USBasp.
Что такое USBasp программатор и для чего он нужен
USBasp — это простой и недорогой USB программатор для микроконтроллеров Atmel AVR. Он позволяет программировать большинство популярных AVR микроконтроллеров, включая ATmega и ATtiny серии. USBasp программатор имеет ряд преимуществ:
- Низкая стоимость и простота сборки
- Работает через USB порт без дополнительных преобразователей
- Поддерживается популярными средами разработки AVR
- Высокая скорость программирования — до 5 кБ/сек
- Возможность программирования низкоскоростных AVR
USBasp программатор позволяет загружать прошивку в микроконтроллер, считывать и записывать память, устанавливать фьюзы. Это необходимый инструмент для разработки устройств на базе AVR микроконтроллеров.

Какие компоненты нужны для сборки USBasp программатора
Для сборки USBasp программатора понадобятся следующие основные компоненты:
- Микроконтроллер ATmega8 или ATmega88 в корпусе DIP28 или TQFP32
- Кварцевый резонатор на 12 МГц
- USB разъем типа B
- Стабилизатор напряжения на 3.3В
- Несколько конденсаторов, резисторов и светодиодов
- Печатная плата или макетная плата для монтажа
Полный список компонентов с номиналами можно найти в схеме USBasp. Большинство деталей являются распространенными и недорогими. Общая стоимость компонентов обычно не превышает 5-10$.
Как собрать USBasp программатор своими руками
Сборка USBasp программатора своими руками включает следующие основные этапы:
- Подготовка печатной платы или макетной платы
- Монтаж компонентов согласно схеме
- Прошивка микроконтроллера ATmega8/88
- Настройка фьюзов микроконтроллера
- Проверка работоспособности программатора
При сборке важно правильно подключить все компоненты согласно схеме. Особое внимание нужно уделить подключению USB разъема и кварцевого резонатора. После сборки необходимо прошить микроконтроллер специальной прошивкой USBasp и настроить фьюзы для работы от внешнего кварца.

Как прошить и настроить USBasp программатор
Для прошивки и настройки собранного USBasp программатора потребуется:
- Скачать прошивку USBasp с официального сайта
- Прошить файл .hex в микроконтроллер с помощью другого программатора
- Установить фьюзы для работы от внешнего кварца на 12 МГц
- Проверить работу программатора, подключив его к компьютеру
Примерные настройки фьюзов для ATmega8:
- LFUSE: 0xFF
- HFUSE: 0xD9
После прошивки и настройки фьюзов программатор должен определиться в системе как USBasp устройство.
Какое программное обеспечение использовать с USBasp
USBasp программатор поддерживается многими популярными средами разработки и утилитами для AVR микроконтроллеров:
- AVRDUDE — консольная утилита для программирования AVR
- AVR Studio — официальная среда разработки от Atmel/Microchip
- Arduino IDE — популярная среда для Arduino и AVR
- Khazama AVR Programmer — программа с графическим интерфейсом
- eXtreme Burner — AVR — удобная утилита для Windows
Для работы с USBasp в Windows необходимо установить драйвер libusb-win32. В Linux и MacOS программатор определяется автоматически.

Как использовать USBasp для программирования AVR микроконтроллеров
Чтобы запрограммировать AVR микроконтроллер с помощью USBasp, нужно:
- Подключить программатор к компьютеру через USB
- Подключить целевой микроконтроллер к разъему ISP программатора
- Запустить программу для прошивки (например, AVRDUDE)
- Выбрать тип микроконтроллера и файл прошивки
- Запустить процесс программирования
Пример команды для прошивки ATmega8 через AVRDUDE:
avrdude -c usbasp -p m8 -U flash:w:firmware.hex
USBasp позволяет программировать большинство популярных AVR микроконтроллеров в корпусах DIP и TQFP.
Основные проблемы при работе с USBasp и способы их решения
При использовании USBasp программатора могут возникать следующие типичные проблемы:
- Программатор не определяется в системе — проверьте правильность сборки и прошивки
- Ошибка синхронизации — попробуйте снизить скорость программирования
- Не удается записать/считать микроконтроллер — проверьте подключение и питание целевой микросхемы
- Ошибка записи фьюзов — убедитесь в корректности настроек фьюзов
В большинстве случаев проблемы решаются проверкой правильности сборки, подключения и настроек программатора. При необходимости можно обновить прошивку USBasp до последней версии.

Преимущества и недостатки USBasp по сравнению с другими программаторами
Основные преимущества USBasp программатора:
- Низкая стоимость и доступность компонентов
- Простота сборки своими руками
- Высокая скорость программирования
- Поддержка большинства AVR микроконтроллеров
- Совместимость с популярным ПО
Недостатки по сравнению с профессиональными программаторами:
- Отсутствие защиты от неправильного подключения
- Нет поддержки отладки и JTAG
- Меньшая надежность самодельной конструкции
В целом USBasp является отличным бюджетным решением для любительских и учебных проектов с AVR микроконтроллерами. Для профессиональной разработки лучше использовать фирменные программаторы.
Оболочки для USBASP | Электроника для всех
Вот уже почти два года активно использую USBasp в качестве основного программатора. Все мне в нем нравится, кроме прошивающей программы — avrdude консольная, а мне под каждую прошивку писать свой батник лениво.
Мной долгое вовсю юзался GUI от yourdevice.net.
Оболочка удобная. Люблю ее за то, что нельзя по невнимательности угробить фьюзами контроллер, т.к. оболочка сразу же загружает дефолтные значения битов. А потом их уже по мере необходимости заменяешь на те что надо. Все остальное же делается в два клика.
Также есть оболочка написанная на Java: Burn-o-Mat — красивая, удобная. Но жууутко тормозная.
У меня на компе (весьма древнем) она вообще еле шевелится. Зато кроссплатформенная.
Еще нашлась дивная программка Khazama AVR Programmer созданная неким арабом.
Вполне неплохо работает, выставление fuse битов похоже на AVRProg идущий в составе студии.
Но чего мне не хватало так это окна с кексами. Как в UniProf или в PonyProg. Люблю я пофтыкать в колонки хексов. Медитативное занятие. Сидишь и в уме дизассемблируешь потихоньку 🙂 По знакомым адресам узнаешь где у тебя что записано. Как память распределяется… В общем, это низкоуровневый Дзен. Да и просто полезно визуально поглядеть сколько у тебя осталось еще свободных ячеек. Или изменил одну команду, а перекомпилиовать лень — поправил прям в хексе. Ну, а глянуть в дамп епрома так это вообще святое — я обычно туда какие нибудь логи люблю выгружать, а потом программатором зырю. AVRDUDE выдает intel hex который не очень удобен для просмотра — мусор слева и справа от дампа отвлекает, а хекс редактор открывать лень… Короче, одним словом — хочу :))))
И вот недавно один индус отжег и родил мега прогу eXtreme Burner — AVR. Причем это не оболочка на AVRDUDE это полноценная программа, заточенная на работу с USBAsp.
Проект еще совсем нов, поддерживаются далеко не все контроллеры, FUSE биты задаются числами. Не очень удобно, зато точно не перепутаешь единцу с нулем. Мне нравится, буду юзать!
AVRDUDESHELL. Программа для прошивки микроконтроллеров Atmega
AVRDUDESHELL – программа для Windows и Linux (под wine, начиная с версии 01.09.2015) систем для программирования (прошивки) микроконтроллеров семейства AVR, таких как ATmega8, ATmega16, ATmega32, ATmega64 (полный список поддерживаемых микроконтроллеров см. в конце статьи). Программа поддерживает такие популярные программаторы как USBASP, AVR910, STK500 (полный список поддерживаемых программаторов см. в конце статьи). Фактически AVRDUDESHELL это графическая надстройка над консольной программой AVRDude, поэтому все те микроконтроллеры и программаторы, которые поддерживает AVRDude, поддерживает и AVRDUDESHELL.Главное достоинство программы — универсальность, простота и наглядность.
AVRDUDESHELL. Главное окно программы.
Множество настроек сгруппированы по категориям:
AVRDUDESHELL. Настройки программы.
В программу встроен механизм получения информации по установленным фьюзам, получающий информацию с http://www.engbedded.com/.
AVRDUDESHELL. Информация по установленным фьюзам.
Оповещение об опасных манипуляциях с фьюзами предупредит о блокировке SPI программирования
AVRDUDESHELL. Оповещение об опасных манипуляциях с фьюзами.
Перед чтением или записью микроконтроллера можно задать область памяти, с которой будет выполняться операция.
AVRDUDESHELL. Область памяти с которой будет выполняться работа.
Если необходимо — можно сохранить
AVRDUDESHELL. Сохранение фьюзов.
а потом восстановить настройки фьюзов
AVRDUDESHELL. Загрузка фьюзов.
Содержит встроенный дизассемблер
AVRDUDESHELL. Встроенный дизассемблер.
Список поддерживаемых микроконтроллеров:
ATMEGA
ATmega103, ATmega128, ATmega1280, ATmega1281, ATmega1284P, ATmega128RFA1, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164P, ATmega168, ATmega169, ATmega2560, ATmega2561, ATmega32, ATmega324P, ATmega325, ATmega3250, ATmega328P, ATmega329, ATmega3290, ATmega3290P, ATmega329P, ATmega48, ATmega64, ATmega640, ATmega644, ATmega644P, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega8, ATmega8515, ATmega8535, ATmega88
ATTINY
ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861, ATtiny88
ATXMEGA
ATxmega128A1, ATxmega128A3, ATxmega16A4, ATxmega192A3, ATxmega256A3, ATxmega256A3B, ATxmega32A4, ATxmega64A1, ATxmega64A3
AT
AT90CAN128, AT90CAN32, AT90CAN64, AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90S1200, AT90S2313, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535, AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647, AT90USB82
Список поддерживаемых программаторов:
89ISP, ABCMINI, ALF, ARDUINO, ATISP, AVR109, AVR910, AVR911, AVRISP, AVRISP2, AVRISPMKII, AVRISPV2, BASCOM, BLASTER, BSD, BUTTERFLY, C2N232I, DAPA, DASA, DASA3, DRAGON_DW, DRAGON_HVSP, DRAGON_ISP, DRAGON_JTAG, DRAGON_PP, DT006, ERE-ISP-AVR, FRANK-STK200, FUTURLEC, JTAG1, JTAG1SLOW, JTAG2, JTAG2DW, JTAG2FAST, JTAG2ISP, JTAG2SLOW, JTAGMKI, JTAGMKII, MIB510, PAVR, PICOWEB, PONYSER, PONY-STK200, SIPROG, SP12, STK200, STK500, STK500HVSP, STK500PP, STK500V1, STK500V2, STK600, STK600HVSP, STK600PP, USBASP, USBTINY, XIL
С историей обновлений можно ознакомиться тут.
Инструкция по настройке программы для работы в ОС Linux (wine) находится тут.
Скачать программу AVRDUDESHELL
Прошивка flash-памяти 25xxx через программатор USBasp
Микросхемы флеш-памяти eeprom серии 25xxx широко применяются в микроэлектронике. В частности, в современных телевизорах и материнских платах в 25xxx хранится прошивка биоса. Перепрошивка 25xxx осуществляется по интерфейсу SPI, в чем и заключается отличие этих микросхем от флеш-памяти семейства 24xxx, которые шьются по i2c(квадратная шина).
Соответственно, для чтения/стирания/записи 25xxx нужен SPI-программатор. Одним из самых дешевых вариантов программаторов для этой цели является USBasp, который стоит смешные деньги- с доставкой всего около 2$ на ебее. В свое время я купил себе такой для программирования микроконтроллеров. Теперь мне понадобилось прошить не микроконтроллер, а SPI-флеш и решено было им воспользоваться.
Оказалось, что сам по себе USBasp с оригинальной прошивкой такую память не шьет, но отечественный программист с ником Tifa (низкий поклон ему и долгих лет жизни) модернизировал прошивку USBasp специально для обеспечения возможности работы с флеш-памятью. Постоянная ветка обсуждения альтернативной прошивки USBasp от Tifa, связь с автором и ссылки на файлы тут: http://forum.easyelectronics.ru/viewtopic.php?f=17&t=10947
Забегая вперед скажу, что прошивка от Tifa работает, микросхемы 25xxx шьются. Кстати, кроме 25xxx, модифицированный программатор рассчитан на работу с 24xxx и Microwire.
1. Перепрошивка USBasp
Сначала нужно замкнуть контакты J2:
Лично я не просто замкнул, а впаял в контакты переключатель:
При замкнутых контактах J2 (это у меня переключатель в положении вправо) USBasp переходит в режим готовности к перепрошивке.
Сам себя USBap перепрошить не может, поэтому нужен еще один программатор. USBasp как бы оказывается в положении хирурга, который не может сам себе вырезать аппендикс и просит друга помочь. Для перепрошивки USBasp я использовал самодельный программатор AVR910, но для одного раза можно по-быстрому за пару минут спаять программатор «5 проводков», который состоит всего-лишь из одного разъема LPT и 5 резисторов.
Подключаем программатор к USBasp:
Теперь идем на форум альтернативной прошивки от Tifa, в самом верхнем посте находим и качаем архив с последней прошивкой и ПО.
Находим там файл mega8.hex, это и есть альтернативная прошивка для USBasp.
Запускаем CodeVisionAvr (я использую версию 2.0.5), выставляем настройки программатора: Settings-> Programmer.
Устанавливаем настройки записи: Tools->Chip programmer. Выбираем чип Atmega8L, именно такой стоит на USBasp. Фьюзы не выставляем- те, что надо, уже прошиты в чипе. Остальные настройки оставляем по умолчанию.
Стираем старую программу USBasp: Program-> Erase chip.
Открываем файл прошивки mega8.hex: File-> Load flash.
Перепрошиваем USBasp: Program-> Flash.
Если прошла запись и не выдало сообщение об ошибке, значит альтернативная прошивка благополучно прошита в USBasp. Теперь USBasp может не только шить AVR-микроконтроллеры, как раньше, но еще и работать с флеш-памятью. Размыкаем контакты J2, что бы USBasp снова перешел в режим программатора.
Теперь проверим, видит ли Windows 7 x86 этот программатор. Вставляем USBasp в USB и… система пишет «USBasp не удалось найти драйвер». Понятно, нужно установить драйвер. Но драйверов в скачанном на форуме архиве нет, их нужно скачать на родном сайте USBasp тут, оригинальные драйвера подходят и для модифицированного программатора. Скачали, установили, Win7 увидела программатор, все ок. Впрочем, я программирую микроэлектронику на ноутбуке с WinXP, она тоже после установки драйверов видит программатор.
2. Площадка для подключения USBasp к микросхеме 25xxx DIP
Теперь нужно подготовить площадку для программирования 25xxx. Я это сделал на макетной плате по такой схеме:
3. Прошивка микросхем 25xxx через USBasp
Для прошивки 25xxx через модифицированный USBasp используется программа AsProgrammer, которая тоже есть в архиве.
Для примера, поработаем с микросхемой Winbond 25×40. Запускаем AsProgrammer, ставим режим работы SPI и выбираем тип микросхемы: Микросхема-> SPI-> Winbond->…
… и видим, что W25X40 в списке нет. Что же, тогда заполним параметры микросхемы вручную. Находим мануал на Winbond 25X40 и там на странице 4 видим такие параметры:
Эти параметры вносим сюда:
Подключаем USBasp к компьютеру и микросхеме Winbond 25×40:
С помощью кнопок «прочитать», «записать», «стереть», проверяем работу программатора:
Все ок.
Только нужно учесть, что перед тем, как что-то записать в микросхему, сначала нужно выставить: Настройки-> Проверка записи, что бы после записи прошивки в микросхему была выполнена проверка на соответствие того, что писали тому, что в итоге записали. Это немаловажная вещь, потому что если прошивку делать не на очищенный чип, в него запишется чёрт-те что. Поэтому сначала нужно стереть микросхему, а затем только проводить ее запись.
Благодаря прошивке от Tifa дешевый китайский программатор USBasp теперь умеет работать с микросхемами flash-памяти eeprom 25xxx. Теоретически еще может работать c 24xxx и Microwire, но я проверил только работу с 25xxx.
UPD1:
Оказывается, такую же прошивку можно записать и в программатор AVR910. Тогда он тоже будет работать с flash-памятью 25xxx: Программатор ISP памяти из AVR910.
Материал взят с сайта http://plc-blog.com.ua/usbasp-flash-25xxx
Usb программатор atmega8 для прошивки 25 серии. USBasp программатор AVR микроконтроллеров делаем сами. Программы для работы программатора USBasp
Предлагаем Вам схему USB программатора на микроконтроллере ATmega8. Этот USB программатор Вы можете собрать своими руками за несколько минут на макетной плате Breadboard Half (BREADBOARD — 456 HOLES) размером 82х59 мм. На этой плате хватит места и для программируемых микроконтроллеров в корпусах до DIP-28.
Этим USB программатором можно программировать микроконтроллеры AVR ATmega и ATtiny (другие программировать не пробовал). Этот программатор заметит Вам плату Arduino, он более удобен для экспериментов с различными микроконтроллерами и микропрограммами для них (скетчами). USB программатор работает под управлением микропрограммы ArduinoISP.
Минимальный набор деталей для программатора
- Микроконтроллер ATmega8 (ATmega8A-PU, ATmega8L-PU) 1шт
- Макетая плата Breadboard Half (BREADBOARD — 456 HOLES) размером 82х59 мм 1шт
- Интерфейс USB-UART (подойдет USB-DATA кабель от старого сотового телефона) 1шт
Остальные детали, которые вы увидите на схеме для работы универсального, самодельного, простого программатора не существенны.
О подключении пробников, бузер можно подключить на линию MISO и слушать как общаются между собой микроконтроллеры. Светодиод можно подключить к 15 ножке микроконтроллера ATmega8, если схема собрана правильно и в Atmega8 залит скетч ArduinoISP, светодиод будет плавно менять яркость свечения.
Прежде чем воспользоваться самодельным программатором, необходимо загрузить в микроконтроллер программатора микропрограмму ArduinoISP из примеров к программе Arduino IDE. А еще раньше, необходимо настроить микроконтроллер ATmega8 на работу на частоте 8 МГц без внешнего кварцевого резонатора.
Мы здесь, приведем последовательность действий по прошивке микроконтроллера ATmega8 с помощью платы Arduino UNO и программы Arduino IDE. Возможно, так же, воспользоваться каким нибудь другим методом.
1. Добавьте в программе Arduino в список поддерживаемых устройств микроконтроллер ATmega8 без bootloader с тактовой частотой 8МГц. Внесите изменения в файл sketchbook/hardware/boards.txt, добавив в него следующую секцию:
############################################################## a8noboot_8MHz.name=ATmega8 (no boot 8 MHz int) a8noboot_8MHz.upload.maximum_size=8192 a8noboot_8MHz.bootloader.low_fuses=0xa4 a8noboot_8MHz.bootloader.high_fuses=0xdc a8noboot_8MHz.build.mcu=atmega8 a8noboot_8MHz.build.f_cpu=8000000L a8noboot_8MHz.build.core=arduino a8noboot_8MHz.build.variant=standard ##############################################################Уточнить размещение папки sketchbook можно в программе Arduino в меню Файл / Настройки . Если в папке sketchbook нет папки hardware, создайте ее и создайте файл boards.txt
2. Подключите микроконтроллер ATmega8 к плате Arduino UNO как описано в Программатор для ATmega8A на Arduino с ArduinoISP .
3. В программе Arduino выберите Сервис / Плата / ATmega8 (no boot 8 MHz int) и Сервис / Записать загрузчик . Далее загрузите в микроконтроллер ATmega8 программу ArduinoISP Файл / Примеры / ArduinoISP и Загрузить .
4. Соберите программатор.
Для программатора Вам понадобится интерфейс USB-UART. Вы можете воспользоваться кабелем от старого сотового телефона, как описано в этой статье Подбор USB-DATA кабеля вместо USB-UART модуля для самодельного Arduino. Что на мой взгляд, очень удобно. Но вместо этого кабеля Ваш программатор можно подключить к компьютеру с помощью платы преобразователя USB-UART.
На фотографии программируется микроконтроллер ATtiny84.
Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL , то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP , мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):
Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:
На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.
Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно
Прошивка управляющего микроконтроллера
Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом:)
Простейший программатор на пяти проводках для AVR
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:
После прошивки должен загореться светодиод подключенный к 23 ноге микроконтроллера. Это будет верный признак того, что программатор прошит удачно и готов к работе.
Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:
Выбираем папку где лежат дрова и жмем Далее
Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:
Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера
Все, теперь программатор готов к работе.
Khazama AVR Programmer
Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer. Замечательная программка, с минималистичным интерфейсом.
Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.
Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.
Скачать файл печатной платы
в SprintLayout можно по этой ссылке
USBasp — простой внутрисхемный USB-программатор для микроконтроллеров Atmel AVR. Программатор построен на микроконтроллере ATMega88 (или ATMega8) и содержит минимум деталей. Программатор использует свой USB-драйвер, никакие специальные USB контроллеры не нужны.
Особенности программатора:
— работа под любой платформой: Windows, Linux и Mac OS X
— какие-либо специальные компоненты или smd не нужны
— скорость программирования до 5 кБ/сек
— SCK-джампер позволяет программировать низкоскоростные контроллеры (
— в планах: последовательный интерфейс (например для отладки)
Схема программатора
Схема предназначена для программирования только 5В кристаллов. В других случаях, уровни должны быть преобразованы!
Заливка прошивки
Т.к. в схеме программатора используется микроконтроллер, то его необходимо предварительно прошить. Для этого подключите другой рабочий программатор и установите джампер J2, для активации функции обновления прошивки.
Прошейте программатор при помощи прошивки: «bin/firmware/usbasp.atmega88.xxxx-xx-xx.hex » или «bin/firmware/usbasp.atmega8.xxxx-xx-xx.hex «
Необходимо будет установить фьюзы для подключения внешнего кварца
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
# TARGET=atmega88 HFUSE=0xdd LFUSE=0xff
Установки джамперов
J1 — источник питания (от USB, либо внешний источник). Будьте аккуратнее, т.к. схема не содержит какой-либо защиты от КЗ.
J2 — обновление прошивки (сам себя обновлять не может!). Установленный джампер позволяет программировать контроллер программатора другим рабочим программатором.
J3 — если программируемый МК низкоскоростной
Установка драйверов под Windows
Подключите программатор USBasp к USB. Windows найдет устройство и попросит указать драйвер, укажите ему папку «bin/win-driver «. Windows установит драйвер.
Теперь можно запустить avrdude, к примеру:
1. Войти в терминальный режим, МК: AT90S2313: avrdude -c usbasp -p at90s2313 -t
2. Записать main.hex в flash-память МК ATmega8: avrdude -c usbasp -p atmega8 -U flash:w:main.hex
Сборка их исходников (под Linux)
Компиляция прошивки:
1. Установите GNU toolchain для микроконтроллеров AVR (пакеты avr-gcc, avr-libc)
2. Войдите в директорию firmware/
3. Выполните команду «make main.hex «
4. Прошейте «main.hex» ATMega(4)8. Например при помощи uisp или avrdude (используйте
Makefile с опцией «make flash «). Для прошивки установите джампер J2 и подключите USBasp к рабочему программатору.
Также нужно установить фьюзы для работы от внешнего кварца (используйте Makefile
с опцией «make fuses «).
Компиляция avrdude:
ПО AVRDUDE поддерживается программатором USBasp начиная с версии 5.2.
1. Установите пакет libusb: http://libusb.sourceforge.net/
2. Скачайте последнюю версию avrdude: http://download.savannah.gnu.org/releases/avrdude/
3. cd avrdude-X.X.X
4. Сконфигурируйте:
./bootstrap
./configure
5. Компиляция:
make
make install
Программы для работы с программатором
- — поддерживается USBasp начиная с версии 5.2
- — поддерживается USBasp начиная с версии 1.11.9.6
- Khazama AVR Programmer — Windows XP/Vista GUI приложение для USBasp и avrdude
- eXtreme Burner — AVR — программа Windows GUI для USBasp
Скачать прошивку, исходники, драйверы вы можете ниже
Последнюю версию всегда можно взять на официальном сайте USBasp
Печатные платы
Под данный программатор разработано более 10 различных вариантов разводки печатной платы, которые можно скачать ниже, либо на страничке официального сайта.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
IC1 | МК AVR 8-бит | ATmega88 | 1 | ATmega8 | В блокнот | |
D1, D2 | Стабилитрон | 1N4729A | 2 | В блокнот | ||
C1 | Электролитический конденсатор | 4.7 мкФ | 1 | В блокнот | ||
C3 | Конденсатор | 0.1 мкФ | 1 | В блокнот | ||
C4, C5 | Конденсатор | 22 пФ | 2 | В блокнот | ||
R1, R2 | Резистор | 68 Ом | 2 | В блокнот | ||
R3 | Резистор | 2.2 кОм | 1 | В блокнот | ||
R4, R5 | Резистор | 1 кОм | 2 | В блокнот | ||
R6 | Резистор | 10 кОм | 1 | В блокнот | ||
Q1 | Кварцевый резонатор | 12 МГц | 1 | В блокнот | ||
LED1 | Светодиод | Зеленый | 1 | В блокнот | ||
LED2 | Светодиод | Красный | 1 |
Недавно решил сделать себе программатор STK500v2. Пользую в основном CodevisionAVR. Старый не совсем подходил, да и нужен был внутрисхемный программатор. Долгие поиски в сети и чтение форумов привели меня к “AvrUsb500 by Petka”. Программатор был собран и я получил массу положительных эмоций — эффект примерно такой, как будто пересел с советского автопрома на иномарку! Конечно AVR910 надежен как танк — программная реализация USB в нем таких глюков не имеет. Но на тот момент это все были мелочи, по сравнению с преимуществами работы прямо из CodeVision и высокой скорости. Довольно долгое время эти два программатора служили мне верой и правдой, пока с AVR910 не пришлось расстаться. Вот и решил собирать очередной программатор.
К этому времени убедился, что столь любимая нашими радиолюбителями FT232 не так безгрешна как о ней думают. Было собрано несколько разношерстных устройств на этой микросхеме, все пожелания производителя в даташите были учтены, тонна драйверов перепробована на разном железе. Скажу больше — мой промышленный Chipstar XL имеет в качестве USB конвертера тоже FT232, и хоть и не использует VCP-драйвер но глючит тоже не слабо.
Эти все “выбрыки” за пару лет эксплуатации порядком надоели, потому решил модифицировать оригинальную схему. На глаза попалась CP2102 — USB-UART преобразователь. Простая схема, хорошие отзывы о самом производителе (SiLabs) и главное — доступная цена.
Схема программатора
Обвязка CP2102 выполнена исключительно по даташиту без каких-либо своевольных “художеств”, от себя добавлен лишь второй светодиод, индицирующий наличие питания.
Программирование контроллера производится внутрисхемно. Пятачки предусмотрены на плате. Установка фузов ATMega8:
- Субъективно все стало работать на 20-25% быстрее.
- Полностью пропали глюки присущие FT232. Определяется без проблем каждый раз, даже после быстрого “перетыкивания” USB, без проблем заработала со всеми моими шнурками.
- Драйвера моя Windows 7 вытянула с сервера обновления и поставила сама.
В дальнейшем коснусь лишь узла CP2102, так как работа самого программатора в сети расписана подробно.
Сразу хочу оговориться — проблемой “курицы и яйца” особо не заморачивался, все цепи самопрограммирования через USB вырезаны в угоду размеру. Эта компиляция программатора рассчитана больше на людей с более-менее приличной подготовкой. Причин тому несколько — корпус CP2102 MLP28 (5×5 мм) с контактными площадками на “пузе” вместо ножек — без определенных навыков не поставить, дорожки 0.25 мм — делал обычным утюгом.
22 сентября 2011 в 20:11- Программирование микроконтроллеров
Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.
Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами.
Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):
Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:
На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.
Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно
Прошивка управляющего микроконтроллера
Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом:) Простейший программатор на пяти проводках для AVRМикроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:
После прошивки должен загореться светодиод подключенный к 23 ноге микроконтроллера. Это будет верный признак того, что программатор прошит удачно и готов к работе.
Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:
Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера
Все, теперь программатор готов к работе.
Khazama AVR Programmer
Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer . Замечательная программка, с минималистичным интерфейсом.Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.
Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.
Скачать файл печатной платы в SprintLayout можно по
Перепрошивка китайского USBAsp программатора — Lifeview… — LiveJournal
Для программирования AVR микроконтроллеров удобно использовать USBAsp программатор. Китайская версия стоит до 2$, но родная прошивка не USBAsp — её надо менять. Родная программа ProgISP1.72.После прошивки программатор будет определяться как usbasp и поддерживаться avrdude.
Проверено на MX-USBISP-V4.00 и MX-USBISP-V5.00.
Для прошивки требуется плата arduino (as isp программатор) или другой программатор.
Прошивка при помощи уже вылеченного китайского программатора:
1. Скачиваем НЕ оригинальную прошивку USBASP, т.к. китайцы поменяли пины в своих программаторах тут. Версия для atmega88v (/bin/firmware/usbasp.atmega88-modify.he
2. Устанавливаем драйвер для вылеченного USBAsp (libusbK)
3. Скачиваем avrdude утилиту
4. Разбираем оригинальный USBAsp, который хотим перепрошить. Замыкаем два контакта (проводом навесу или пайкой).
5. Соединяем родным шлейфом вылеченный и оригинальный USBAsp. Отличие вылеченного — у него горит синий светодиод. У оригинального — красный.
Подключаем вылеченный программатор к ПК и выполняем:
avrdude -c usbasp -P usb -p m88 -B 1 -U flash:w:usbasp.atmega88-modify.hex
Если фьюзы не HFUSE=0xdd LFUSE=0xff, то изменяем и их:
avrdude -c usbasp -P usb -p m88 -B 1 -U lfuse:w:0xff:m -U hfuse:w:0xdd:m
6. Отсоединяем перемычку оригинального USBAsp — светодиод должен загореться синим. Поздравляю!
7. Подключение в USB теперь покажет libusbK устройство.
Прошивка при помощи ардуино:
1. Прошиваем плату Ардуино как программатор ISP
2. Разбираем оригинальный USBAsp, который хотим перепрошить. Замыкаем два контакта (проводом навесу или пайкой).
3. Подключаем ардуино к оригинальному USBAsp по SPI + питание. Ардуино подключаем к ПК.
4. avrdude -p m88 -P COM1 -c avrisp -b 19200 -B 1 -U flash:w:usbasp.atmega88-modify.hex
COM1 — замените на свой порт
-B 1 возможно можно убрать.
Источник:
drive.ru
Фото: github @aleh
прошивки
Программатор AVR за 3$ (USBasp). |
Привет друзья.
Покупал тут — AVR за 3$ (USBasp)
В этом видеоролике я расскажу про программатор AVR, который я купил на ebay. Стоит этот программатор avr usb 3$. Это программатор avr микроконтроллеров. Я покажу как им пользоваться, как его первый раз включить, установить драйвера, какой для него есть софт, для него немного другой софт, то есть не такой софт как я показывал в видео о AVR910 программаторе, кстати, видео о AVR910 программаторе, точнее ссылка на это видео будет у меня в конце ролика, можете дождаться конца ролика, кликнуть по ней и вы перейдёте на видео об этом AVR910 программаторе.
Программатор usbasp avr я купил именно потому, что видео с AVR910 программатором, очень популярно, и мне задают очень много вопросов, задают как в комментариях, так и в личке. В комментариях задают мало вопросов, в личке задают очень много вопросов. Я пользуясь случаем, хотел попросить вас, если у вас есть вопросы, конкретно к теме которую я затронул в каком-то видеоролике, пишите мне пожалуйста в комментариях к данному видеоролику. Я на все комментарии получаю уведомления, и я вам обязательно отвечу. Я прошу, так как мне в личку, как правило, задают одни и те же вопросы. Я на них отвечаю, но эти вопросы и ответы видят только те, кто их задавал. Если вы спрашивали бы меня в комментариях, и я ответил, то скорее всего человек прочёл бы комментарий, и у него если и возник вопрос, как и у кого то кто уже спросил меня в комментариях, он получил мой ответ. На комментарии я обязательно отвечу.
Я зашёл на ebay и выбрал самый дешёвый программатор AVR. Это программатор за 3 $. Если посчитать, то себестоимость AVR910 программатора, если у нас в Молдавии покупать — микросхема AtMega8 стоит 2 $, гнездо USB mini стоит 0,4 $, кварц тоже стоит центов 0.35-0.40 $. В общем, тут наберётся как раз на 3 $. Может немного меньше, может немного больше, но это только детали.
Вам ещё нужно сделать плату, запаять всё. Я когда делал программатор AVR910, я его делал чисто из спортивного интереса. Мне было интересно, это были первые пробы SMD компонентов, у меня было очень много свободного времени, так как я был студентом, и я занимался им в своё удовольствие, более того для того, чтобы сделать этот программатор (AVR910), с микроконтроллером, нужно обязательно иметь другой программатор, которым вы запрограммируете микроконтроллер в программаторе AVR910.
Ну и давайте поговорим об программаторе usbasp avr. Первое что я вам скажу — купите себе их два. Не покупайте один, купите два. Объясню почему, сделан он мягко говоря по-китайски. Если посмотрите, вы увидите, что многие детали криво стоят, пайка, сказать что ужасная — ничего не сказать. Отверстия не заполнены припоем, то есть он работает, но качество его… Видно, что повторяемость очень плохая, есть большая вероятность, что какой-то из них может не работать.
Я их все поверил, я их вставил в USB и они определяются как программатор, то есть входная часть точно работает. Я одним программатором пробовал программировать, он программирует, остальные, я не проверял, но я думаю, что они будут работать.
Данный программатор имеет, что очень важно, самовосстанавливающийся предохранитель, то есть если вы замкнёте цепи питания на своём супермега девайсе, то вы, с очень большой долей вероятности не сожжете себе USB порт, что может быть с AVR910 программатором.
Да, я и забыл сказать, я купил программатор не AVR910, он тоже для AVR, но это программатор USBasp. Программатор в свободном доступе, это товарищ из Германии его разработал, есть схемы, есть документация на него. У меня под данным видео будет ссылка на мою статью, в которой будут даны все ссылки на софт, на автора проекта. Но китайцы сюда добавил стабилизатор, то есть они немного модернизировали USBasp. Здесь стандартный ISP10 разъём. С программатором идёт такой шнурок, я уже его разрезал и подключил к микроконтроллеру. Я Толику обещал снять видео, и я подпаял к микроконтроллеру провода. Данный программатор USBasp имеет возможность выбора питания, то есть на программируемую схему я могу выбрать что именно я хочу, то есть я могу вообще не питать от программатора схему, вообще не поставив джампер, либо я могу выбрать питание от 5 В сразу от USB,
либо вот так поставив джампер и на программируемую схему пойдёт 3.3 В от USB через данный стабилизатор.
Схема соединения разъёма ISP10 (кликни для увеличения):
О программаторе для AVR больше нечего сказать, остаётся его только вставить в USB порт. Сейчас мы посмотрим, как он определился, поставим не него драйвера, и я покажу программы, с помощью которых можно им программировать. В AVR910 я показывал программу AVRosp, которой можно программировать, используя AVR 910 программатор. AVRosp нельзя пользоваться для использования программатора USBasp. На моём сайте вы скачаете архив, в котором найдёте несколько папок, папка драйвер, и папка софт. В папке драйвер находятся драйвера для этого программатора (UABasp). Я их люблю ставить по ближе к диску С, потому что потом их проще указать. Я их временно копирую на диск С. Теперь я в диспетчере устройств правой кнопкой выбираю «обновить драйверы», он конечно же не может найти, выполняем поиск, показываем откуда искать. Мы хотим с диска С искать. Жмём далее. У меня сейчас стоит Windows 7 x64. Образ оригинального диска, без никаких паков, это чистый windows. В ней ничего не отключено, всё по умолчанию. Я это всё говорю к тому, что AVR910 не хотел работать, точнее драйвера не имели цифровой подписи и windows их блокировал. AVR910 у меня в 64 битной windows 7 не работал. Я когда снимал видео, снимал в 32 битной WIndows, у меня стоят две системы. Всё, USBasp видится как устройство для windows 32.
Дальше уже нужны программы чтобы работать с программатором usbasp avr. Открываем папку софт.
Мне очень понравился avrdudeprog, это графический интерфейс под консольную программку AVR dude. Эта программа поддерживает как AVR910 программатор, так и USBasp. Кстати, данный avrdudeprog программирует при использовании 910 программатора в несколько раз быстрее по скорости, чем стандартный ARVRosp который я показывал в видео. Так что я вам рекомендую перейти на avrdudeprog, даже если у вас есть AVR910 программатор.
Подключаем наше устройство. Устройство запустилось, выбираем AtMega 16, и выбираем стереть всё. Микроконтроллер чист, и как видим он действительно чист, так как на дисплей у меня ничего не выводится.
Дальше выбираем, что мы хотим запрограммировать, ну и жмём программирование. Обратите внимание, как быстро будет идти программирование. Выводится информация, что биты сброшены, флешь очищена перед прошивкой. Было запрограммировано флешь, а потом флешь была прочитана и сверена с тем, что программировалось, то есть проверено, что ошибок нет. То есть была проведена верификация. Ну и как видим, у меня устройство запустилось.
Чем мне avrdudeprog не нравится, так это fuse. Дело в том, что с fuse всё очень и очень сильно напартачено в AVR, дело в том, что по datasheet запрограммированный fuse считается 0. То есть по умолчанию должны быть прямые fuse, то что запрограммировано — 0. Многие программисты считают, что если запрограммировано — должно быть 1. И программистов таких много, программ для программирования очень много, и кто-то придерживается того как в datasheet написано, а кто-то придерживается того, как он считает лучше. Галочка это запрограммировано, или галочка это не запрограммировано? В настройках можно выбрать прямые либо инверсные, и галочки меняются. В этих fuse начинающий 200% запутается. Даже 300%, то есть он залочит себе несколько раз микроконтроллер. Поэтому, я так же приложил несколько других программ для программирования. Обратите внимание, что avrdudeprog сразу работает, её не нужно устанавливать, просто запускаете exe файл, можно даже себе на рабочий стол отправить этот exe, то есть создать ярлык, и оттуда его открывать.
Есть ещё две очень интересные программы. Мне нравится, именно из-за fuse битов. Вообще мне очень нравится avrdudeprog, но для начинающих я бы рекомендовал всё таки eXtreme Burner, устанавливается она также как и обычные программы, ничего в этом сложного нет, просто жмём далее, далее, иногда читайте что написано, установили и пользуемся. Программа eXtreme Burner предлагает пойти на перезагрузку, но я не хочу этого делать, будет и без рестарта работать. Выбираем наш микроконтроллер. Мне не нравится, что ни в одной из них нет как в AVRosp кнопки AutoDetect, нажав на которую, программа считывает с микроконтроллера сигнатуры и сразу определяет что именно за микроконтроллер подключен. Удобно работать с fuse. В eXtreme Burner интерфейс имеет несколько вкладок, flach, eeprom, ну и fuse, вы разберётесь.
Нажимаем сначала прочесть все, программа считала fuse с микроконтроллера. И можно, нажав на кнопку «детали», поменять fuse. В программе eXtreme Burner нет непонятных галочек, а сразу написано, не запрограммировано, запрограммировано. И сделано точно так, как в спецификации AVR, то есть запрограммированно — 0. Единственное чем мне нравится eXtreme Burner, так это тем, что можно сбросить fuse по умолчанию. В данной программе всё тоже не совсем удобно.
Ещё более удобно с fuse в программе Khazama AVR Programmer. Вот такая наипростейшая программа, выбираем AtMega 16. В этой программе постоянно вылезает очень интересная ошибка.
Она не имеет ничего страшного, и сейчас я объясню почему она происходит. Дело в том, что AVR910 программатор как вы помните, имеет штыри, куда мы ставим джампер, и программатор понижает частоту. Дело в том, что по умолчанию идёт 1.5 МГц, а когда вы ставите джампер, частота падает в 4 раза. Так как программатор USBasp сделан таким образом, чтобы он был совместим с Arduino, то он сам переключает частоты, с быстрой на медленную, и Khazama AVR Programmer, уже может прошить любые контроллеры. AVR910 я AtMega которая тактируется на частоте 1 МГц, уже не могу запрограммировать без джампера, то есть мне приходится понижать частоту, для того, чтобы запрограммировать микроконтроллер. USBasp сам переключает частоты, и мне никакой джампер никуда ставить не нужно. Но по спецификации, AVR программатор, то есть программа, отправляет на программатор скорость, с которой должен тактироваться тактовый сигнал, то есть частоту. И в данной программе, можно выбрать частоту, но как я уже сказал, этот программатор сделан совместимым с arduino, то он уже не поддерживает b команды. И поэтому постоянно выходит данная ошибка. Она сильно напрягает, но она стоит того. Нужно много раз нажимать ОК, ОК, ОК. Но обратите внимание, что вы можете выбрать что вы хотите. Начинающему это очень удобно. К примеру, частота. Вот смотрите, нужно поменять частоту процессора — да ради бога, на что хочешь меняй. В avrdudeprog нужно сидеть и выбирать галочки, то есть по хорошему нужно будет сначала посмотреть datasheet, и потом, переключать частотные fuse, так как вам нужно. Естественно, легко ошибиться и можно накосячить. Здесь же всё есть. Но нужно постоянно нажимать ОК. fuse считываются в несколько приёмов, и поэтому нужно много раз нажимать. Если я буду считывать флешь — то мне только один раз нужно нажать ОК. Начинающим я рекомендую эту программу, из-за того, что вы не напортачите со fuse, то есть что-то испортить с fuse будет очень и очень сложно. Ссылку на программы я выложу в своей статье, ссылка будет под данным видео.
Я считаю, что покупка программатора usbasp avr — выгодная покупка, потому что стоит он копейки, примерно столько же, сколько и собрать его с нуля, то есть по стоимости компонентов. Работает программатор хорошо, единственное что хромает — культура производства, как я уже сказал — тут всё криво, микросхема даже запаяна со смещением, я рекомендую купить таких программаторов два. Реально ребята, стоят они копейки уже с доставкой, купите два, один будет как резервный. Вполне возможно, что один из них окажется нерабочим, я допускаю это. Лучше уже потратить 3 $ сверху, но сэкономите месяц времени, если вы вдруг будете покупать второй. Покупка, на мой взгляд, очень и очень выгодна, и я вам рекомендую это сделать.
Ну вот и всё, я надеюсь что это видео было вам полезным, ставьте лайки если вам оно понравилось, подписывайтесь на канал, если вы ещё не подписаны, и желаю вам всех благ, всего вам доброго. Пока, удачи.
Ниже распиновка гнезда ISP 10 в программаторе USBasp.
Материалы:
Архив с драйвером и софтом для USBasp
Ссылки:
Автор проекта USBasp
AVRDUDE PROG для работы с USBasp
eXtreme Burner — AVR для работы с USBasp
Khazama AVR Programmer для работы с USBasp
Рубрики: Инструменты радиолюбителя | Тэги: AtMega8, AVR, avr usb, AVR910, ebay, USB, usbasp, usbasp avr, Инструменты радиолюбителя, Интернет магазины, программатор avr usb | Ссылка
как заставить Mac обнаружить доску AVR с помощью USBasp и записать на нее программу?
Я новичок в Embedded, начиная с AVR программирования с использованием C . Я работаю на Mac OS 10.9.4, до сих пор я использую avrdude и xCode как IDE. Это работает очень хорошо, потому что сейчас я тестирую свой код с помощью Proteus .
Но теперь я хочу сжечь свою доску .hex на AVR ATMega16 . У меня есть USBasp, который я могу подключить,и он освещает доску. Теперь, после поиска в Интернете, я думаю, что Mac не обнаруживает мою доску. Я проверил каталог /dev , но устройство usb не найдено.
Поэтому я не знаю, что делать дальше, как заставить Mac обнаружить мою доску и записать на ней мой .hex. Я нашел это: http:/ / www.fischl.de/usbasp/ но понятия не имею, как это использовать, требуется это или нет.
Итак, вопрос стоит так: как заставить Mac обнаружить доску AVR с помощью USBasp и записать на нее программу?
FYI: я установил CrossPack на Mac.
macos embedded usb avr avrdudeПоделиться Источник Ishan Dhingra 31 августа 2014 в 11:12
2 ответа
- Как заставить программу Python работать на Mac?
Я пытаюсь выяснить, как заставить программу Python работать на компьютере Mac. Я построил программу, используя много модулей Python , таких как lxml , selenium и т. д. ( PhantomJS.exe ), и я создал файл exe , используя Py2Exe , который работает правильно, но теперь я понял, что он должен быть…
- Удаление OSX-AVR из Mac OS X 10.7.2
Кто-нибудь знает, как полностью удалить OSX-AVR из Mac OS X? Мне нужна более новая поддержка avr-gcc, поэтому я собираюсь установить CrossPack для AVR, но я не хочу никаких коллизий от наличия нескольких avr-gcc в моей системе. Я не нашел никакой документации по удалению OSX-AVR, поэтому не знаю,…
4
Прочитав документы AVR и CrossPack, я обнаружил, что это очень легко сделать.
Для настройки среды разработки AVR выполните следующие действия:
- Установите xCode на свой Mac, выберите последнюю версию.
- Теперь установите CrossPack .
Это сделает всю настройку среды. CrossPack также устанавливает необходимые библиотеки для поддержки USBasp.
Чтобы создать проект с помощью xCode:
- Создать новый проект
- Выберите проект xAVR на следующем экране
- Следующий набор MCU, который вы используете, Программатор на USBAsp, Частота по мере необходимости.
Там вы идете, попробуйте первый раз построить его в первый раз, он может потерпеть неудачу, но попробуйте еще раз, он будет работать гладко.
Вы можете использовать AVR DUDE непосредственно из Terminal:
avrdude -c usbasp -p <partno> -P usb -v
Поделиться Ishan Dhingra 03 сентября 2014 в 07:04
2
avrdude
знает о программисте USBasp
. Вы можете просто указать usb
в качестве порта, а avrdude
должен искать USB устройств для программиста. например, вы можете протестировать с помощью:
avrdude -c usbasp -p <partno> -P usb -v
Программисты описаны в файле etc/avrdude.conf
, а параметры <partno>
подробно описаны здесь .
Поделиться Brett Hale 02 сентября 2014 в 13:14
Похожие вопросы:
Компиляция программы Assembly с использованием avr-gcc
Я пытаюсь скомпилировать простую программу Assembly с avr-gcc для запуска на Attiny85. К сожалению, программа просто не работает. И я не получаю никаких ошибок при загрузке и компиляции. Я знаю, что…
AVR USB обнаружить OS
Я Программирование USB запоминающего устройства с использованием микроконтроллеров Atmel набор AVR библиотек с использованием драйверов HID только хозяина. Я хотел бы иметь какое-то конкретное…
Не удается скомпилировать и связать программу AVR в OS X
Я работаю на Mac с Yosemite OS X и пытаюсь скомпилировать программу в C, которую затем могу загрузить на свой Arduino. Я следую учебнику . Я попытался пройти и переустановить avr-gcc, но получил тот…
Как заставить программу Python работать на Mac?
Я пытаюсь выяснить, как заставить программу Python работать на компьютере Mac. Я построил программу, используя много модулей Python , таких как lxml , selenium и т. д. ( PhantomJS.exe ), и я создал…
Удаление OSX-AVR из Mac OS X 10.7.2
Кто-нибудь знает, как полностью удалить OSX-AVR из Mac OS X? Мне нужна более новая поддержка avr-gcc, поэтому я собираюсь установить CrossPack для AVR, но я не хочу никаких коллизий от наличия…
Как скомпилировать и запустить программу VHDL на Mac с помощью ghdl?
я только что написал простую программу VHDL. Я сохранил файл как файл .vhd. Затем я скомпилировал его с помощью ghdl -a test.vhd а затем строится и исполняемый файл с ghdl -e test И наконец…
Использование программатора USBASP для связи SPI
Я пытаюсь отправить некоторые данные с чипа PC на чип ATmega328P через программатор USBASP. Он способен передавать до 4 байт по SPI. Эти 4 байта могут быть установлены в установочном пакете USB (2…
ESP8266 и USBasp V2.0
Могу ли я запрограммировать модуль ESP8266 через USBasp V2.0 и Arduino IDE, или мне нужно получить другой вид программирующей палочки? Вот булавки от USBasp: В с ESP8266 имеет подвижной установки…
Программирование a Atmega32U4 через USBASP
Я создал свою собственную доску и добавил заголовок ICSP, хотя, похоже, не могу его запрограммировать. Моя плата имеет Atmega32U4 (без внешнего кристалла), и я постоянно получаю ошибку, когда…
Скачайте hex и декомпилируйте его из avr
У меня есть оранжевый PI с ubuntu, подключенный к atmega328p через usbasp. Я разработал программу в C, скомпилировал ее, перевел на hex и загрузил на atmega, но из-за какого-то странного поведения…
Краткое руководство для программиста USBASP ICSP
USBasp — это адаптер ICSP (In Circuit Serial Programming), который позволяет устанавливать новые загрузчики и прошивки на распространенные микроконтроллеры AVR, такие как те, которые используются в Arduino-совместимых платах.
Плата, которую вы будете программировать, называется «целевой».
Характеристики платы
Для типичного использования вы можете оставить USBasp настроенным точно так, как он поставляется в пакете. Для определенных целей вам может потребоваться изменить некоторые из этих настроек.
Разъем Micro USB. Подключитесь к компьютеру с помощью прилагаемого кабеля.
Выбор целевого напряжения. USBasp поддерживает целевые платы, работающие от 5 В или 3,3 В. Большинство плат, совместимых с Arduino, работают при 5 В. Установите переключатель в положение, соответствующее плате, которую вы будете программировать.
Перемычка «Программа». Если вы закоротите эту перемычку, USBasp перейдет в специальный режим, в котором он не программист, а цель.Это позволяет вам обновлять прошивку на самом USBasp с помощью другого программатора.
Перемычка целевой мощности. С этой перемычкой USBasp будет подавать питание на цель через заголовок ICSP. Обычно это желательно. Однако, если цель получает питание независимо (например, через разъем постоянного тока или USB-соединение), вам следует удалить эту перемычку.
Заголовок ICSP для цели. Программный выход USBasp, который вы подключаете к ICSP-заголовку цели с помощью прилагаемого кабеля.
Джемпер «Медленные часы». Если вы закоротите эту перемычку, USBasp будет работать на более низкой скорости для максимальной совместимости с некоторыми целями. Обычно не требуется, если вы не программируете новые AVR (см. Ниже).
Светодиод состояния. Показывает состояние питания, записи и активного состояния.
Подключение оборудования
1. Отключите вашу целевую плату от других источников питания, если у вас нет особых требований к ее автономному питанию во время программирования.
2. Подключите USBasp к компьютеру с помощью прилагаемого USB-кабеля.
3. Подключите USBasp к целевой плате с помощью прилагаемого 6-жильного кабеля.
ПРЕДУПРЕЖДЕНИЕ: Обратите особое внимание на ориентацию кабеля. Вы увидите, что на одной стороне кабеля есть красная полоса, указывающая, какой конец является контактом 1. USBasp имеет точку рядом с заголовком ICSP на конце контакта 1, а на целевой плате также должна быть маркировка рядом с контактом. 1. Подключите кабель так, чтобы сторона с красной полосой находилась ближе всего к контакту 1 как на USBasp, так и на мишени.Для большинства мишеней это станет естественным, если вы положите доски так, чтобы они смотрели на вас, как показано ниже.
Драйверы для Windows
Пользователи Linux и OS X могут пропустить этот раздел (хотя, если вы пользователь Linux, обязательно прочтите раздел «Разрешения в Linux» внизу этой страницы.)
Windows требует универсального драйвера USB для связи с USBAsp. Инструмент под названием Zadig упрощает установку этого драйвера.
- Отключите USBasp.
- Загрузите Zadig с http://zadig.akeo.ie/. Обратите внимание, что существуют отдельные версии для Windows XP или более новых версий Windows.
- Запустите Zadig, а затем подключите USBasp. Отмените все всплывающие диалоговые окна Windows.
- Настройте диалог Zadig следующим образом, проверьте выделенные поля:
- «Usbasp» выбран в главном раскрывающемся списке (он должен появиться автоматически при подключении USBasp. Если вы не видите его в списке, выберите «Список всех устройств» в меню «Параметры» в Zadig.
- libusb-win32 в качестве типа драйвера (используйте маленькие стрелки вверх / вниз, чтобы выбрать эту запись.)
- Нажмите «Установить драйвер» и дождитесь завершения установки драйвера.
- Вы закончили с Zadig, пора использовать USBasp!
Использование из Arduino IDE
Важное примечание: В отличие от многих других плат и программаторов, USBasp не отображается как последовательный порт USB. Поэтому порт не указан в разделе «Инструменты> Последовательный порт» в Arduino IDE или в других местах.Это нормально.
Установка нового загрузчика
IDE Arduino включает загрузчики для различных поддерживаемых плат. Подключите компьютер, USBasp и цель, как показано выше, затем запустите IDE и используйте следующие пункты меню.
1. Выберите Tools> Board и выберите тип платы, который соответствует вашей цели.
2. Выберите «Инструменты »> «Программатор » и выберите «USBasp» в качестве типа программатора.
3. Выберите Инструменты > Записать загрузчик .Затем IDE Arduino установит загрузчик на вашу целевую плату.
Установка эскиза
Обычно скетчи устанавливаются через порт USB на вашем Arduino, но вы также можете установить их напрямую, используя USBasp, который обходит загрузчик и USB-соединение. В открытом эскизе используйте следующие пункты меню.
1. Выберите Tools> Board и выберите тип платы, который соответствует вашей цели.
2. Выберите «Инструменты »> «Программатор » и выберите « USBasp » в качестве типа программатора.
3. Выберите Файл> Загрузить с помощью программатора . Затем IDE Arduino скомпилирует и загрузит ваш эскиз на целевую плату.
Использование из командной строки
Средство командной строки avrdude также можно использовать для программирования AVR. Это более сложный инструмент, чем программирование через IDE Arduino, но гораздо более гибкий.
Аргумент программиста для использования avrdude с USBasp — -c usbasp
.
Вы можете установить avrdude для Windows как часть пакета WinAVR или для OS X как часть AVR CrossPack.Пользователи Linux обычно могут установить его как часть системы управления пакетами своего дистрибутива.
Например, чтобы использовать avrdude для чтения статуса ATMega328P на плате Freetronics Eleven:
avrdude -p m328p -c usbasp -v
Инструменты графического программирования
Для автономных инструментов программирования на основе графического интерфейса пользователя в Windows, ознакомьтесь с Khazama AVR Programmer или eXtreme Burner — AVR. eXtreme Burner также работает в Linux.
Программирование новых AVR
По умолчанию USBasp программирует цель с «тактовой частотой программирования» 375 кГц.Это обеспечивает быстрое программирование, но работает только в том случае, если AVR chp настроен на тактовую частоту не менее 1,5 МГц.
Совершенно новые микросхемы AVR обычно поставляются с заводскими настройками с внутренней тактовой частотой 1 МГц. Это устанавливается как часть «предохранителей» внутри микроконтроллера. Если вы используете IDE Arduino, она перепрограммируется для использования внешнего кристалла 16 МГц при загрузке загрузчика Arduino.
Симптомы попытки запрограммировать AVR с слишком быстрым программированием часов такие же, как если бы AVR вообще не был подключен:
avrdude: error: programm enable: target не отвечает.1
avrdude: инициализация не удалась, rc = -1
Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
этот чек.
Эту проблему можно решить двумя способами.
Установите перемычку «Медленные часы»
Это лучший вариант, если вы используете Arduino IDE для программирования прошивки на новые AVR.
Перемычка через перемычку медленной тактовой частоты снижает тактовую частоту программирования до 8 кГц, что достаточно медленно для AVR, работающих на частоте всего 32 кГц.
Вы можете установить перемычку в два отверстия перемычки, или, если вы используете ее только изредка, вы можете обойтись, просто используя кусок проволоки или даже пару пинцетов!
Установить часы в программе
Это лучший вариант, если вы используете avrdude в командной строке.Опция Avrdude -B
позволяет вам установить тактовую частоту программирования из программного обеспечения, перемычка не требуется!
Опция -B 4
устанавливает скорость программирования 187,5 кГц, все еще быструю, но достаточно медленную для нового 1 МГц AVR.
Например, чтобы прочитать конфигурацию нового ATTiny85:
avrdude -p t85 -B 4 -c usbasp -v
Если вам нужны еще более медленные часы программирования, просто продолжайте увеличивать -B
. Максимальное значение -B 64
дает программируемую тактовую частоту 8 кГц, как если бы была установлена перемычка «медленной тактовой частоты».
Обратите внимание, что -B
полностью игнорируется, если установлена перемычка «медленных часов».
Разрешения в Linux
ПользователиLinux могут столкнуться с ошибкой типа « ошибка отправки контрольного сообщения: операция не разрешена » при попытке использовать USBAsp. Это связано с тем, что по умолчанию обычные пользователи не имеют доступа к USB-устройствам.
Временный обходной путь — запустить операцию от имени пользователя root с помощью sudo или su. Гораздо лучшее решение — сообщить Linux, что вы хотите, чтобы всем пользователям был разрешен доступ к USBAsp.Это делается путем создания правила udev. Особенности создания правил udev могут немного отличаться в зависимости от того, какой дистрибутив Linux вы используете, однако обычно существует каталог /etc/udev/rules.d
, содержащий файлы с настраиваемыми правилами. От имени пользователя root создайте в этом каталоге новый файл с именем « usbasp.rules
» со следующей единственной строкой содержимого в нем:
ПОДСИСТЕМЫ == "usb", ATTRS {idVendor} == "16c0", ATTRS {idProduct} == "05dc", MODE = "0666"
Затем перезапустите службу udev, выполнив такую команду:
sudo / etc / init.d / udev перезапуск
Как прошить или запрограммировать Arduino с помощью USBasp из Atmel Studio?
Примечание
Эта статья является частью Руководства по программированию встроенного микропрограммного обеспечения C для Arduino / ATmega328p . Попробуйте изучить домашнюю страницу курса, чтобы найти статьи на похожие темы.
Учебное пособие по Arduino Встроенный уровень регистра C Мастер-класс Arduino
Также посетите страницу выпуска для встроенной библиотеки аппаратных абстракций C на уровне регистров и код для AVR .
Введение
Это руководство проведет вас через процесс настройки Atmel Studio для прошивки плат Arduino на базе AVR из Atmel Studio с помощью USBasp. Вы также узнаете, как установить драйверы USBasp.
Для прошивки платы Arduino или любых плат AVR с использованием интерфейса ISP USBasp — самый дешевый и лучший вариант. Он поддерживает широкий спектр микроконтроллеров AVR и прост в использовании.
Использование AVR USBasp для программирования платы Arduino даст вам больше места во флэш-памяти, чем при программировании через последовательный USB.По умолчанию платы Arduino используют загрузчик для программирования без использования какого-либо внешнего программатора, но для этого платы Arduino используют 2 Кбайт флэш-памяти для загрузчика. Если вы используете USBasp, вы можете использовать эти дополнительные 2 КБ для своей прошивки, и ваша программа начнет выполнение без какой-либо задержки, которую загрузчик вводит в противном случае.
Перед тем, как продолжить, вы должны установить Arduino IDE, так как мы будем использовать avrdude из установки Arduino. Если вы хотите узнать, как установить, перейдите по ссылке.
https://www.arnabkumardas.com/platforms/atmel/how-to-install-arduino-ide-and-drivers/
Что вы узнаете
- Как установить драйверы USBasp в Windows 10?
- Как использовать USBasp в Atmel Studio?
- Как прошить Arduino UNO с помощью USBasp от Atmel Studio?
- Как прошить Arduino NANO с помощью USBasp от Atmel Studio?
- Как прошить Arduino от Atmel Studio?
Шаги по настройке
Необходимое время: 15 минут.
Как установить драйверы USBasp и настроить Atmel Studio для флэш-памяти с помощью USBasp
- Установка драйверов USBasp
Лучший и простой способ установить драйверы USBasp — использовать установщик Zadig USB Driver Installer.
- Загрузите Zadig по ссылке ниже
https://zadig.akeo.ie/
- Подключите USBasp к компьютеру
- Откройте диспетчер устройств
Вы должны увидеть ‘ ! ‘ рядом с USBasp.
- Откройте приложение Zadig, которое вы скачали.
. В левом углу вы увидите «1 устройство найдено».
- Выберите драйвер и установите
Выберите ‘libusb-win32’ и щелкните ‘Install Driver’ .
- Установка драйвера
Обычно установка драйвера занимает несколько минут.
- После успешной установки
Если все в порядке, отображается сообщение об успешном выполнении.
- Откройте диспетчер устройств
Откройте диспетчер устройств, чтобы проверить установку. Знак ‘!’ Mark быть там не должен.
- Откройте Atmel Studio
Откройте Atmel Studio и перейдите в меню -> Инструменты -> Внешние инструменты .
- Нажмите «Добавить»
Будет создана новая запись.
- Заполните текстовые поля
Название: USBasp
Команда: C: \ Program Files (x86) \ Arduino \ hardware \ tools \ avr \ bin \ avrdude.exe
Аргументы: -C "C: \ Program Files (x86) \ arduino \ hardware \ tools \ avr \ etc \ avrdude.conf" -v -p atmega328p -c usbasp -U flash: w: " $ (ProjectDir) Debug \ $ (TargetName) .hex ": i
Выберите « Использовать окно вывода »
Измените параметр -p в зависимости от микросхемы AVR.
Микроконтроллер Arduino UNO / NANO> -p atmega328p
Микроконтроллер Arduino MEGA> -p atmega2560 - Подключите AVR или плату Arduino к USBasp
Убедитесь в правильности ориентации контактов.
- Протестируйте инструмент
Перейдите в меню -> Инструменты -> USBasp Вы должны увидеть такой экран:
USBASP — Electronics-Lab.com
Программатор USBASP является важным инструментом / аксессуаром для инженеров встраиваемых систем / разработчиков микропрограмм. Это USB ICSP (внутрисхемный последовательный программатор), который позволяет разработчикам легко загружать прошивки / загрузчики на микроконтроллеры AVR.В отличие от того, что вы найдете для последовательных программистов, таких как преобразователи USB-TTL, он не использует выделенный чип, поскольку он работает на atmega88 (или atmega8), и использует драйвер USB только для прошивки без специального контроллера USB.
USBASP ProgrammerХотя этот подход с драйвером USB только для микропрограмм увеличивает его совместимость, он также представляет собой серьезную проблему для программиста, поскольку требует регулярных обновлений для совместимости с достижениями в программировании микроконтроллеров. Одним из таких достижений является интерфейс Tiny Programming Interface (TPI) , который позволяет внешним программистам получать доступ к энергонезависимой памяти (NVM) некоторых микроконтроллеров Atmel начального уровня, таких как серия ATtiny.
Хотя такие функции, как TPI , существуют уже некоторое время, использование программатора USBASP все еще является проблемой, поскольку как старые, так и новые устройства USBASP требуют обновления прошивки, прежде чем их можно будет использовать. Чтобы помочь пользователям, которым нужна эта функция, в сегодняшнем руководстве будет освещен процесс обновления прошивки на вашем программаторе USBASP до последней версии.
Необходимые компоненты
Для обновления прошивки требуются следующие компоненты:
- Программист USBASP
- Arduino Uno (нано должно работать одинаково)
- Перемычки
- Макет
Программисты USBASP, независимо от бренда, обычно имеют одинаковую конфигурацию, поэтому это руководство должно работать независимо от типа или бренда, который у вас есть.
Подготовьте Arduino Uno
Для загрузки прошивки в USBASP требуется программист. В сегодняшнем руководстве мы будем использовать Arduino Uno в качестве этого программатора. Чтобы сделать Arduino программистом, нам нужно загрузить скетч, доступный среди примеров в Arduino IDE, на плату Arduino. Для этого выполните следующие действия:
- Перейти к Файл > Примеры > ArduinoISP
- Подключите плату Arduino к вашему ПК
- Выберите порт и тип платы и Нажмите на Загрузить
После этого плата Arduino готова к работе в качестве программиста.
Схемы
Далее нам нужно подключить USBASP к плате Arduino. С помощью перемычек и макета (при необходимости) соедините плату Arduino и устройство USBASP, как показано на изображении ниже:
СхемаПоскольку модель фритзинга не является точной копией популярных типов USBASP, ниже представлена карта контактов, показывающая, как Arduino подключается к USBASP, чтобы упростить подключение:
Arduino — USBASP
5 В - VCC GND - GND D13 - SCK D12 - MISO D11 - MOSI D10 - СБРОС
Еще раз проверьте соединения, чтобы убедиться, что все сделано правильно.Если у вас есть сомнения по поводу идентификации контактов на USBASP, вы можете выполнить поиск в Google по контактам этой конкретной платы и использовать его в качестве руководства для подключения.
Когда платы подключены, нам нужно сделать еще одну вещь — закрыть перемычкой JP2 (выделено ниже) на плате USBASP. Без этого мы не сможем загрузить прошивку на устройство. Замкните перемычку, замкнув ее припаянными светодиодами или перемычками.
Теперь мы готовы загрузить прошивку.
Загрузка прошивки
Начнем со скачивания прошивки. Репозиторий с последней версией микропрограмм находится на веб-сайте Томаса Фишля. На момент написания последней версии, которая, к счастью, имеет поддержку TPI , была выпущена May 2011 . Загрузите это.
Ключевым элементом процесса обновления прошивки является AVRDUDE. Если вы знакомы с Arduino IDE , вы наверняка видели ссылку на нее в подробном виде во время загрузки кода.AVRDUDE — это утилита для загрузки, выгрузки и управления содержимым ПЗУ и ЭСППЗУ микроконтроллеров AVR с использованием техники внутрисистемного программирования (ISP). Самый простой способ получить AVRDUDE — загрузить его исполняемый файл, расположенный в папке Arduino -> « ARDUINO FOLDER» / Java / hardware / tools / avr / bin / , или вы можете загрузить его.
После того, как он у вас есть, следующим шагом будет поиск файла конфигурации; avrdude.conf файл, который (если следовать маршруту Arduino IDE) будет находиться в каталоге -> « ARDUINO FOLDER» / Java / hardware / tools / avr / etc /
Поместите эти два файла (исполняемый файл AVRdude и файл конфигурации ) в папку вместе с файлом .hex прошивки USBasp , которую мы только что скачали. Это помогает сократить длину финальной команды. После этого подключите Arduino с подключенным к нему программатором USBasp к своему компьютеру и запишите порт, который был назначен для Arduino вашим компьютером.
Наконец, откройте окно терминала, перейдите в папку, которую мы создали ранее, и выполните команду ниже:
./avrdude -C ./avrdude.conf -p m8 -c avrisp -P /dev/cu.usbmodem14101 -b 19200 -U flash: w: usbasp.atmega8.2011-05-28.hex: я
Убедитесь, что вы ввели правильный порт после опции -P
. Если это будет успешным без каких-либо сообщений об ошибке, значит на USBASP теперь установлена последняя версия микропрограммы, и он готов к некоторым действиям.
Вот и все для этого урока!
Не стесняйтесь обращаться ко мне через раздел комментариев, если у вас есть какие-либо проблемы с тем, чтобы заставить это работать.
Артикул:
Программирование микроконтроллера AVR — Программатор USBASP — Робо Индия || Учебники || Изучите Arduino |
Руководство по использованию программы USBASP для записи шестнадцатеричного файла на микроконтроллер AVR.Введение: Robo India USBASP Programmer.
USBasp — это встроенный USB-программатор для контроллеров Atmel AVR. Он просто состоит из ATMega8 и пары пассивных компонентов. Программатор использует USB-драйвер только для прошивки, специальный USB-контроллер не требуется, что делает его недорогим USB-программатором.
Важные особенности:
- Работает на нескольких платформах. Linux, Mac OS X и Windows протестированы.
- Перемычка для питания 5В.
- Заголовок для обеспечения удобного интерфейса для различных выводов заголовка ISP.
- SCK опция для поддержки целей с низкой тактовой частотой (<1,5 МГц).
Установка:
Установите USBASP как простое устройство USB.
Скачать: драйверы 32 и 64 бит
Вот замечательное руководство по установке USBASP на Windows 8. нажмите здесь
Загрузка шестнадцатеричного файла в микроконтроллер AVR:
Для передачи файла Hex в контроллер нам требуется программное обеспечение для доступа к USBASP.В Интернете доступно множество программного обеспечения, которое, как нам кажется, легко использовать со всеми функциями, — это Prog ISP .
Загрузить:
Примечание: устанавливать Prog ISP не нужно, просто разархивируйте файл и щелкните исполняемый файл progisp.exe , чтобы запустить программное обеспечение.
Установка оборудования:
Подключите USBASP к плате микроконтроллера AVR с помощью 6-контактных разъемов, где 5 В является необязательным, если ваша плата уже запитана от какого-либо внешнего источника питания 5 В, снимите перемычку (vcc вкл. / Выкл.).
Поиск и устранение неисправностей:
Prog ISP покажет ошибку в случае:
- Поставка целевому контроллеру не предусмотрена.
- неправильное подключение к микроконтроллеру Target.
- USBASP не обнаружен.
Примечание: всегда держите перемычку (J1) подключенной.
Начало работы с Prog ISP:
- Select Chip: Выберите микроконтроллер для загрузки файла Hex.
- Загрузить Flash: Эта вкладка используется для выбора шестнадцатеричного файла. Щелкните эту вкладку, чтобы открыть окно обзора и выбрать шестнадцатеричный файл.
- Окно задач: Выберите операцию, которую вы хотите завершить. основные операции, необходимые для записи шестнадцатеричного файла, показаны выше.
- Авто: Щелкните эту вкладку, чтобы начать запись шестнадцатеричного файла вместе со всеми операциями, отмеченными в поле задачи.
- Предохранитель: Эта вкладка используется для открытия окна Предохранитель , как показано ниже, где вы можете считывать или записывать низкое и высокое значение предохранителей.
Шаги для загрузки шестнадцатеричного файла:
- Установите USBASP Programmer.
- Подключите оборудование.
- Выбрать микроконтроллер в ProgISP.
- Загрузить шестнадцатеричный файл.
- Щелкните вкладку Авто, чтобы передать код.
Связанные руководства:
Загрузка загрузчика Arduino в микросхему AVR
Если у вас есть какие-либо вопросы, напишите нам по адресу [email protected]
Благодарности и приветы
Команда разработки контента
Robo India
http: // roboindia.ком
avr — usbasp с avrdude: error: program enable: target не отвечает. 1
Я купил на AliExpress программатор usbasp для использования с моими AVR устройствами ATtiny84A. Текст «USBASP V2.0 LC Technology» нанесен трафаретом на верхней части печатной платы, и он выглядит примерно так:
У меня есть кабель C232HM (FTDI), который я успешно использовал в качестве программиста avrdude в течение некоторого времени, поэтому я знаю, что мои устройства AVR работают и что я использую правильные контакты на ATtiny84.
К сожалению, у меня не получилось с этим новым программатором. После подключения VCC (с перемычкой J1, установленной на 5 В), GND, MOSI, MISO, SCK и RESET (и тройной проверки!) avrdude
выдает следующую ошибку:
$ avrdude -c usbasp -p attiny84 -vvvv
avrdude: Версия 6.3, скомпилирована 17 сентября 2016 г. в 02:19:28
Авторские права (c) Брайан Дин, 2000-2005 гг., Http://www.bdmicro.com/
Copyright (c) 2007-2014 Йорг Вунш
Общесистемный файл конфигурации: / usr / local / Cellar / avrdude / 6.3 / etc / avrdude.conf "
Файл конфигурации пользователя: "/Users/me/.avrduderc"
Файл конфигурации пользователя не существует или не является обычным файлом, пропускаем
Использование порта: usb
Использование программатора: usbasp
avrdude: usbasp_open ("USB")
avrdude: устройство от производителя -> www.fischl.de <-
avrdude: просмотренный товар -> USBasp <-
Часть AVR: ATtiny84
Задержка стирания чипа: 4500 мкс
СТРАНИЦА: P00
BS2: P00
Расположение RESET: возможен ввод / вывод
ПОВТОРНЫЙ импульс: SCK
последовательный программный режим: да
режим параллельной программы: да
Тайм-аут: 200
StabDelay: 100
CmdexeDelay: 25
SyncLoops: 32
ByteDelay: 0
PollIndex: 3
PollValue: 0x53
Детали памяти:
Заблокировать страницу опроса
Тип памяти Режим Задержка Размер Indx Paged Size Size # Страницы MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ----- - ----- ----- ---------
eeprom 65 6 4 0 нет 512 4 0 4000 4500 0xff 0xff
Заблокировать страницу опроса
Тип памяти Режим Задержка Размер Indx Paged Size Size # Страницы MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ----- - ----- ----- ---------
вспышка 65 6 32 0 да 8192 64128 4500 4500 0xff 0xff
Заблокировать страницу опроса
Тип памяти Режим Задержка Размер Indx Paged Size Size # Страницы MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ----- - ----- ----- ---------
подпись 0 0 0 0 нет 3 0 0 0 0 0x00 0x00
Заблокировать страницу опроса
Тип памяти Режим Задержка Размер Indx Paged Size Size # Страницы MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ----- - ----- ----- ---------
блокировка 0 0 0 0 нет 1 0 0 9000 9000 0x00 0x00
Заблокировать страницу опроса
Тип памяти Режим Задержка Размер Indx Paged Size Size # Страницы MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ----- - ----- ----- ---------
lfuse 0 0 0 0 нет 1 0 0 9000 9000 0x00 0x00
Заблокировать страницу опроса
Тип памяти Режим Задержка Размер Indx Paged Size Size # Страницы MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ----- - ----- ----- ---------
hfuse 0 0 0 0 нет 1 0 0 9000 9000 0x00 0x00
Заблокировать страницу опроса
Тип памяти Режим Задержка Размер Indx Paged Size Size # Страницы MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ----- - ----- ----- ---------
efuse 0 0 0 0 нет 1 0 0 9000 9000 0x00 0x00
Заблокировать страницу опроса
Тип памяти Режим Задержка Размер Indx Paged Size Size # Страницы MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ----- - ----- ----- ---------
калибровка 0 0 0 0 нет 1 0 0 0 0 0x00 0x00
Тип программиста: usbasp
Описание: USBasp, http: // www.fischl.de/usbasp/
avrdude: usbasp_initialize ()
avrdude: usbasp_transmit ("USBASP_FUNC_GETCAPABILITIES", 0x00, 0x00, 0x00, 0x00)
avrdude: usbasp_spi_set_sck_period (0)
avrdude: автоматическая установка периода sck (поскольку заданный равен нулю)
avrdude: usbasp_transmit ("USBASP_FUNC_SETISPSCK", 0x00, 0x00, 0x00, 0x00)
avrdude: предупреждение: невозможно установить период sck. пожалуйста, проверьте обновление прошивки usbasp.
avrdude: usbasp_transmit ("USBASP_FUNC_CONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude: usbasp_program_enable ()
avrdude: usbasp_transmit ("USBASP_FUNC_ENABLEPROG", 0x00, 0x00, 0x00, 0x00)
<= [01]
avrdude: error: program enable: target не отвечает.1
avrdude: инициализация не удалась, rc = -1
Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
этот чек.
avrdude: usbasp_close ()
avrdude: usbasp_transmit ("USBASP_FUNC_DISCONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude сделано. Спасибо.
Он не работает с внешним источником питания 5 В (J1 снят) или с J1, установленным на 3,3 В.
С помощью своего прицела я вижу, что тактовая частота составляет около 92,6 кГц, но сигналы MISO и MOSI имеют очень низкую амплитуду - около 1.1 В для MISO и 0,8 В для MOSI. Мне эти напряжения кажутся немного низкими:
Я читал, что J3 можно использовать для установки программатора в "медленный" режим (обратите внимание, что ATtiny84, который я сейчас пытаюсь запрограммировать, уже работает на частоте 8 МГц от внутреннего генератора). Однако при добавлении J3 я не вижу никаких изменений в тактовой частоте - она по-прежнему работает на уровне около 92,6 кГц.
Судя по тому, что я читал, "китайские" программисты usbasp обычно поставляются с некоторой версией программного обеспечения, которое позволяет определять тактовую частоту.Я не уверен, что это означает поддержку опции «-B», потому что независимо от того, какое значение -B
я предоставляю, осциллограф показывает, что часы все еще работают на частоте 92,6 кГц.
Я убедился, что никакая другая схема не мешает работе программатора. Я также пробовал второй, «свежий» ATtiny84 (так что предохранители все еще настроены на 1 МГц), тоже безуспешно. А вот программатор C232HM работает нормально.
Итак, ничто из того, что я прочитал, похоже, не соответствует тому, что я вижу на своем устройстве.Мне интересно, не слишком ли низкие напряжения MOSI / MISO (и почему), и я также озадачен, почему ни J3, ни -B
, похоже, не влияют на тактовую частоту.
Что может быть не так? Что еще я могу исследовать?
EDIT: добавлена дополнительная информация.
ATtiny получает от программатора около 5,1 В. Кажется, что он не колеблется или опускается во время процесса.
Следы с ATtiny84 на месте:
- Желтый: SCL (контакт 7 USBasp / контакт 9 ATtiny84) - 5 В
- Голубой: MISO (USBasp pin 9 / ATtiny84 pin 8) - ~ 1.1В
- Пурпурный: MOSI (контакт 1 USBasp / контакт 7 ATtiny84) - ~ 3,3 В
- Синий: СБРОС (контакт 5 USBasp / контакт 4 ATtiny84) - 5 В
Линия RESET дважды переводится программатором в низкий уровень, а линия MOSI достигает примерно 3,3 В. Затем, прибл. 100 мс SCL начинает пульсировать при 0-5 В, прибл. 94 кГц, и есть активность на линиях MOSI и MISO, но выглядит довольно ужасно:
Без установленного ATtiny84 (SLK, RESET, MISO и MOSI плавающий) прицел выглядит следующим образом:
Пурпурный след - это MOSI, и он поднимается примерно до 5 В, но выглядит некрасиво (возможно, потому, что он плавает):
На MISO тоже есть какой-то сигнал, возможно, помехи от MOSI?
Я поставил резистор 330 кОм между MOSI и GND и 1 МОм между MISO и GND (все еще нет ATtiny), и он немного прибрал следы:
Чего я действительно не понимаю, так это того, почему сигнал MOSI (пурпурный) такой нечистый и почему на MISO (голубой) есть какой-то тактовый сигнал.
USBASP программатор AVR + адаптер
Компактный внутрисхемный программатор USB (HCDVBD0031), специально разработанный для программирования большинства версий микроконтроллеров Atmel AVR. Программатор подключается прямо к USB-порту вашего компьютера и оснащен стандартным 10-контактным разъемом ICSP IDC Atmel. Благодаря прилагаемому кабелю IDC это позволяет напрямую подключаться ко многим типам плат разработки Atmel. Мы также включили адаптер с 10 на 6 контактов, чтобы он был совместим со стандартным 6-контактным разъемом ICSP.Это включает в себя большинство типов плат разработки Arduino, таких как Uno, Nano, Mega и т. Д.
Кроме того, мы перепрограммировали прошивку, чтобы она была напрямую совместима с Arduino IDE (просто выберите Tools-> Programmer-> USBasp) - стандартная прошивка НЕ совместима с последними версиями Arduino IDE.
Характеристики:
Совместимость с большинством типов микроконтроллеров Atmel AVR (см. Список)
Стандартный 10-контактный разъем ICSP
Включенный кабель ICSP для беспаечного подключения к вашей плате разработки
Включенный адаптер с 10 на 6 контактов
Настраиваемый 5 В и 3 В источник питания
светодиодный индикатор питания и программирования индикаторов
Совместимость с AVRDUDE и Arduino IDE
Поддерживаемые устройства:
ATMega
ATmega168 ATmega168A ATmega168P ATmega168PA ATmega328
ATmega328P ATmega103 ATmega128 ATmega128P ATmega1280
ATmega1281 ATmega16 ATmega16A ATmega161 ATmega162
ATmega163 ATmega164 ATmega164A ATmega164P ATmega164PA
ATmega169 ATmega169A ATmega169P ATmega169PA ATmega2560
ATmega2561 ATmega32 ATmega32A ATmega324 ATmega324A
ATmega324P ATmega324PA ATmega329 ATmega329Amega810 ATmega48P
ATmega64A ATmega640 ATmega644 ATmega644A ATmega644P
ATmega644PA ATmega649 ATmega649A ATmega649P ATmega6490
ATmega48PA ATmega88 ATmega88A ATmega88P ATmega88PA
ATmega6490A ATmega6490P ATmega8515 ATmega8535
Attiny
ATtiny12 ATtiny13 ATtiny13A ATtiny15 ATtiny25
ATtiny26 Attiny45 ATtiny85 ATtiny2313 ATtiny2313A
Старые устройства
AT90S1200 AT90S2313 AT90S2333 AT90S2343 AT90S4414
AT90S4433 AT90S4434 AT90S8515 AT90S8535
Распиновка:
USBasp:
10-контактный IDC
1).............. MOSI
2) .............. VCC (5 В / 3,3 В через JP1)
3) ....... ....... GND
4) .............. TXD
5) .............. СБРОС
6) ... ........... RXD
7) .............. SCK
8) .............. GND
9 ) .............. MISO
10) ............ GND
JP1:
Перемычка целевого источника питания. Выбирает источник питания от 3,3 В до 5 В.
JP2:
Режим самопрограммирования. Короткое замыкание на перепрограммирование прошивки USBasp
JP3:
Режим медленных часов.Короткое замыкание, если тактовая частота ниже 1,5 МГц.
R Светодиод или светодиод 1:
Горит при программировании устройства.
G LED или LED2:
Индикатор питания.
Libusb доступны на нашем форуме поддержки здесь.
Запись шестнадцатеричных файлов на Atmel AVR с использованием USBasp и AVRdude - блог Embedded Electronics
AVRdude - отличная программа для записи шестнадцатеричного кода в микроконтроллер Atmel AVR . USBasp - отличный USB-программатор Atmel AVR.В этом руководстве мы увидим, как использовать AVRdude для записи шестнадцатеричных файлов в микроконтроллер AVR с помощью USBasp.
AVRdude доступен для установок Windows и Linux. Его можно загрузить с портала загрузки avrdude, указанного ниже.
Введение
Для программирования микроконтроллера AVR вам понадобится файл .HEX. Это не что иное, как машинный код микроконтроллера. Этот файл создается ассемблером AVR, который преобразует ассемблерный код в машинный код.Ассемблерный код может быть создан сторонним программным обеспечением кросс-компилятора C или может быть написан от руки. Обычно все используют Atmel Studio или среду Arduino для написания программ на языке C. После компиляции эти инструменты генерируют файл .hex в качестве своего вывода.
Исполняемые файлы AVRdude для Windows (или архив tar для Linux) можно найти по адресу:
Все выпуски: http://download.savannah.gnu.org/releases/avrdude/ найдите версию 6.3
Windows exe: http: // загрузить .savannah.gnu.org / Release / avrdude / avrdude-6.3-mingw32.zip
Загрузите и распакуйте этот исполняемый файл в подходящую папку. Я лично использовал usbasp и avrdude на платформах Windows 7 и Windows 10.
ПРИМЕЧАНИЕ 1. Убедитесь, что путь к папке avrdude добавлен в переменную среды PATH, иначе «avrdude.exe» не будет доступен из любого случайного каталога в командной строке. На этой странице описано, как добавить путь к переменной среды PATH.
ПРИМЕЧАНИЕ 2. Когда вы подключаете оборудование USBasp к компьютеру с Windows 10, вам нужно будет загрузить и установить для него драйверы.
Подключения
- Подключите USBasp к ПК.
- Подключите контакты программирования SPI USBasp к микроконтроллеру AVR. На следующем рисунке показан пример схемы. Если у вас другой AVR, подключите выводы MOSI, MISO, SCK, RESET и GND этого uC к соответствующим выводам USBasp.
- Подайте питание + 5В на микроконтроллер.
- VIMP: Если вы записываете новый микроконтроллер, замкните перемычку Slow Serial Clock USBasp. Поскольку многие новые микроконтроллеры запрограммированы на заводе для работы с внутренним генератором 1 МГц.USBasp использует очень высокоскоростные последовательные часы для более быстрого программирования. Таким образом, вам нужно будет специально указать USBasp использовать медленные последовательные часы. Эта установка выполняется с помощью вышеупомянутой перемычки.
ПРИМЕЧАНИЕ: Если у вас есть микроконтроллер с включенным внутренним генератором, и после программирования вы не планируете возвращать его биты предохранителя к настройке внешних часов, то вы можете пропустить кварцевый резонатор.
Выполнение AVRdude:
- Откройте командную строку.(Нажмите WinKey + R. Появится диалоговое окно «Выполнить». Введите cmd и нажмите Enter.)
- Перейдите в каталог, в котором находится файл .hex. Например:
> cd D: \ mega16_kitCD \ образец кода \ ex01_simple_input_output \ Exe
> d:
- Если вы НЕ добавили путь avrdude к системному пути, выполните следующую команду с своим путем . В противном случае пропустите этот шаг.
> установить PATH =% PATH%; c: \ avrdude_6_3 \;
- Чтобы записать шестнадцатеричный файл, введите следующую команду.Рассмотрим, например, имя моего шестнадцатеричного файла io.hex :
> avrdude –c usbasp –p m16 –u –U flash: w: io.hex
Вы должны увидеть что-то вроде этого:
Вот и все !!! Это так просто! 🙂
Объяснение команды
avrdude –c usbasp –p m16 –u –U flash: w: io.hex
-c: указывает тип программатора. Поскольку мы используем программатор USBasp, упоминается аргумент «usbasp».
-p: Процессор. Мы используем ATmega16, отсюда «m16». Примечание. ATmega16 имеет два варианта: ATmega16L (низкоскоростная версия) и обычная версия ATmega16 с частотой 16 МГц. Однако их сигнатура устройства одинакова, и, следовательно, вам придется использовать «m16» в качестве параметра для обоих AVR. Это относится ко всем АРН, имеющим «L» вариант.
-u: Отключает режим по умолчанию: считывание предохранителей три раза перед программированием с последующей проверкой в конце программирования, что предохранители не были заменены.Всегда используйте эту опцию. Часто случается, что мы забываем включить питание AVR + 5V, а затем в конце цикла программирования avrdude обнаруживает несовместимые предохранители и пытается их перепрограммировать. Отсутствие питания приводит к неправильному программированию предохранителей и отказу всего микроконтроллера (средства становятся бесполезными). Поэтому всегда используйте эту опцию.
-U: memtype: op: filename [: формат]
Выполните операцию с памятью. Можно указать несколько параметров «-U» для работы с несколькими ячейками памяти при одном вызове из командной строки.
тип памяти
Поле memtype определяет тип памяти, с которой будет работать.
калибровка Один или несколько байтов данных калибровки RC-генератора.
eeprom EEPROM устройства.
efuse Расширенный байт предохранителя.
flash Флэш-ПЗУ устройства.
предохранитель Байт предохранителя в устройствах, которые имеют только один байт предохранителя.
hfuse Старший байт предохранителя.
lfuse Младший байт предохранителя.
lock Байт блокировки.
оп.
В поле ввода указывается, какую операцию выполнять:
r прочитать указанную память устройства и записать в указанный файл
w прочитать указанный файл и записать его в указанную память устройства
v прочитать указанную память устройства и указанный файл и выполнить операцию проверки
имя файла
Укажите имя файла в шестнадцатеричном формате.Если файла нет в текущем каталоге, укажите имя файла с соответствующим путем.
формат
Формат указывать не нужно, для шестнадцатеричных файлов avrdude определит формат автоматически.
Как сделать это быстро: командный файл:
Чрезвычайно утомительно набирать такую длинную команду каждый раз, когда вы программируете uC. Поэтому, чтобы избежать этого, вы можете создать что-то, называемое пакетным файлом. Это текстовый файл, содержащий серию команд, которые будут выполняться процессором команд dos.Чтобы создать командный файл, выполните следующие действия:
- Открыть блокнот
- Введите нашу команду avrdude. т.е. скопируйте и вставьте следующую строку в блокнот.
avrdude –c usbasp –p m16 –u –U flash: w: io.hex - Сохраните файл с именем «burn.bat» и поместите его в каталог, в котором находится шестнадцатеричный файл.
Теперь, когда вы перекомпилируете свою программу и захотите ее записать, просто дважды щелкните на burn.bat. Это выполнит введенную нами команду avrdude.
Возможные ошибки и проблемы
1) не удалось найти usbasp:
найдено 5 шин
найдено 5 шин
avrdude: ошибка: не удалось найти USB-устройство «USBasp» с vid = 0x16c0 pid = 0x5dc
Это происходит, когда USBasp не подключен или не распознается ПК.Попробуйте подключить его к другому USB-порту. Убедитесь, что перемычка «Самопрограммирование» USBasp разомкнута. Всегда отключайте AVR от USBasp перед подключением USBasp к ПК.
2) цель не отвечает
найдено 5 автобусов
avrdude: error: programm enable: target не отвечает. 1
avrdude: инициализация не удалась, rc = -1
Дважды проверьте соединения и попробуйте еще раз, или используйте -F для отмены
этой проверки.avrdude сделано.Спасибо.
Проверьте соединения USBasp с uC. Проверьте источник питания uC.