- Avrdude usbasp windows 10
- USBASP драйвер для windows 7-10 / Linux / MacOS
- Как установить драйвер USBASP на компьютер?
- Обзор программатора USBAsp v.2.0
- Технические параметры
- Общие сведения
- Установка драйвера USBAsp на Windows 8/10
- Программа для USBAsp V2.0
- AVRDUDE Windows
- Список поддерживаемых программаторов
- Список поддерживаемых микроконтроллеров Atmel серии AVR
- Установка AVRDUDE для Windows
- Как использовать AVRDUDE под Windows
- Пример 1 (Прошиваем Flash)
- Пример 2 (программируем Фьюзы)
- Пример 3 (программируем EEPROM)
- Пример 4 (читаем Flash и пишем в файл dump.hex)
- Пример 5 (читаем eeprom и пишем в файл eepromdump.hex)
- Пример 6 (выполняем сравнение (верификацию) Flash памяти с указанным hex файлом)
- Практика использования AVRDUDE под Windows
Avrdude usbasp windows 10
Программатор USBasp из-за своей простоты и дешевизны все еще остается очень популярным. Кроме того, на основе протокола USBasp работают некоторые загрузчики кода [8]. Но к сожалению, стандартная попытка установить драйвер под Windows 10 часто оканчивается неудачей из-за отсутствия подписи сертификатом:
В этой статье показано простое решение [1], которое позволяет установить для USBasp драйвер Zadig [3].
Процесс по шагам:
1. Подключите программатор USBasp к компьютеру.
2. Загрузите и запустите zadig-2.4.exe [3] (или более новую текущую версию). В правом выпадающем списке, на который указывает зеленая стрелка, выберите вариант драйвера libusbK.
3. Нажмите кнопку Install Driver, через несколько секунд драйвер установится.
4. Закройте Zadig, драйвер установлен.
Примечание: некоторые рекомендации по установке драйвера USBasp на основе Zadig предлагают установить вариант libusb-win32, но это не всегда работает (например, утилита программатора avrdude выдает ошибку «initialization failed, rc=-1»).
USBASP драйвер для windows 7-10 / Linux / MacOS
Для внутрисхемной прошивки AVR микроконтроллеров чаще всего применяют специализированный AVR программатор: он прекрасно работает с любыми контроллерами AVR серии ATmega, ATtiny и AT, имеющими SPI интерфейс в режиме внутрисистемного программирования или ISP (In System Programming).
USBASP программатор даёт возможность программировать устройства в собранном виде без отключения от питания, а также существенно упрощает отладку программного обеспечения. Программирование можно осуществлять многократно.
Драйверы для USBASP доступны под различные ОС:
2011-05-28 — последняя прошивка с поддержкой TPI для программирования ATMega88 и ATMega8. Все последующие релизы avrdude также работают с данной прошивкой.
Доступны и более ранние версии драйверов:
Как установить драйвер USBASP на компьютер?
Установка драйвера USBASP производится в несколько простых шагов:
- Скачиваем драйвера по ссылкам выше
- Распаковываем архив с установочными файлами
- Запускаем исполняемый файл (SETUP)
- В открывшимся окне соглашаемся с установкой
- Перезагружаем компьютер для корректного обновления данных в реестре
После установки драйвера заново подключаем контроллер и смотрим, чтобы плата корректно отобразилась в списке диспетчера устройств.
Обзор программатора USBAsp v.2.0
Автор: Сергей · Опубликовано 11.07.2017 · Обновлено 13.04.2020
Сегодня расскажу, о недорогим и очень простом программаторе USBAsp v.2.0 для микроконтроллеров AVR (основанный на дизайне Томаса Фишла), с его помощью можно прошивать контроллеры AVR по интерфейсу ISP (не выпаивая его с платы), а самое главное, можно прошить загрузочный сектор на контроллерах Arduino.
Технические параметры
► Напряжение питания: 5 В, DC
► Интерфейс: USB 2.0
► Программирование/ чтение: Atmel (AVR)
► Габариты: 70 мм x 18 мм x 10 мм
► Поддержка операционных систем: Windows XP / 7 / 8 / 8.1 / 10.
Общие сведения
Программатор USBAsp распространяется и открытым исходным кодом, так что при желании можно изготовить самому, скачав печатную плату и прошивку с сайта Thomas, из-за этого в различных интернет магазинах существует различные варианты программатора с одинаковым функционалом. В моем случае буду рассказывать о USBAsp V2.0 китайского производителя LC Technelogy.
Программатор собран на синий печатной плате, слева расположен USB-разъем необходимый для подключения к компьютеру. В центре располагается контроллер ATmega8A, рядом установлен кварцевый резонатор на 12 МГц и электрическая обвязка (резисторы, конденсаторы). Справа расположен 10-контактный разъем (два ряда, по пять выводов, шагом 2.54 мм), обеспечивающий обмен данными с прошиваемым микроконтроллером (интерфейс ISP). В комплекте поставляется кабель, с каждой стороны которого, установлен разъем IDC (10 выводов), для простоты прошивки некоторых плат (например Arduino), советую приобрести адаптер-переходник с 10-pin на 6-pin. Назначение выводов программатора USBAsp можно посмотреть на рисунке ниже, вид на стороне программатора.
Назначение выводов:
► 1 – MOSI
► 2 – VCC
► 3, 8, 10 – GND
► 4 – TXD
► 5 – RESET
► 6 – RXD
► 7 – SCK
► 9 – MISO
Световая индикация
► Красный светодиод G — Включен
► Красный светодиод R — Обмен данными
Перемычки
► JP1 — POWER, управляет напряжением на разъеме ISP VCC (вывод 2), можно установить на + 3.3В, + 5В или вовсе убрать перемычку, если программируемое устройство, имеет собственный источник питания.
► JP2 — SERVICE, обновления прошивки USBasp.
► JP3 — SLOW, программирования на низких скоростях, если программируемое устройство, работает на частоте ниже 1.5 МГц, SCK (вывод 7) уменьшит частоту с 375 кГц до 8 кГц.
Принципиальная схема программатора USBAsp V2.0 можно посмотреть на рисунке ниже.
Список поддерживаемых AVR микроконтроллеров:
► Mega Series: ATmega8, ATmega8A, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega88, ATmega88A, ATmega88P, ATmega88PA, 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, ATmega329A, ATmega329P, ATmega329PA, ATmega3290, ATmega3290A, ATmega3290P, ATmega64, ATmega64A, ATmega640, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega649, ATmega649A, ATmega649P, ATmega6490, ATmega6490A, ATmega6490P, ATmega8515, ATmega8535,
► Tiny Series: ATtiny12, ATtiny13, ATtiny13A, ATtiny15, ATtiny25, ATtiny26, ATtiny45, ATtiny85, ATtiny2313, ATtiny2313A
► Classic Series: AT90S1200, AT90S2313, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT90S4434, AT90S8515, AT90S8535
► Can Series: AT90CAN128
► PWN Series: AT90PWM2, AT90PWM3
Установка драйвера USBAsp на Windows 8/10
Подключаем программатор к USB порту на компьютере, если все нормально, на плате загорится красный светодиод. Далее операционная система начнет поиск драйвера
Так как, в операционной системе нету необходимого драйвера, в «Диспетчере устройств» появится устройство «USBAsp» с восклицательным знаком.
Скачиваем архив с цифровой подписью, разархивируем и запускаем «InstallDriver.exe»
Драйвер установлен, в «Диспетчере устройств» пропадет восклицательный знак с «USBAsp».
Установка драйвера на Windows XP и Windows 7 аналогичная, программатор готов к работе.
Программа для USBAsp V2.0
Программу разработал «Боднар Сергей», работает не только с китайским программатором USBAsp v.2.0, но и другими программаторами. Первым делом скачиваем программу, разархивируем и запускаем «AVRDUDEPROG.exe».
В качестве примера, прошью китайскую плату Arduino UNO R3 в которой установлен микросхема ATmega328P. В программе, жмем на вкладку «Микроконтроллеры» и выбираем ATmega328P.
Далее, необходимо выбрать прошивку, в строке «Flash» нажимаем «. . .», переходим в папку «C:\Program Files\Arduino\hardware\arduino\avr\bootloaders\atmega» и выбираем «ATmegaBOOT_168_atmega328.hex», жмем «Открыть»
Подключаем программатор к плате «Arduino UNO R3», и нажимаем кнопку «Программирование».
В конце, выйдет диалоговое окно, о удачном окончании программировании.
Ссылки
Скачать драйвер для программатора USBASP v2.0 (LC Technology, ATMEL)
Скачать программу AVRDUDE_PROG v.3.3
Купить на Aliexpress
Программатор USBASP v2.0 (LC Technology, ATMEL)
Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)
Купить в Самаре и области
Программатор USBASP v2.0 (LC Technology, ATMEL)
Адаптер для ATMEL AVRISP, USBASP, STK500 (10 pin на 6 pin)
AVRDUDE Windows
AVRDUDE (http://www.nongnu.org/avrdude/) — мощная программа для прошивки микроконтроллеров Atmel серии AVR. Разработчик Brian S. Dean. Программа поддерживает множество программаторов. AVRDUDE кросплатформенная. Многих, особенно начинающих, пугает тот факт, что программа консольная, и использовать ее нужно с командной строки. И напрасно, ничего сложного в этом нет.
Большинство «оконного» ПО, которое я опробовал, было убогим. Кажущаяся простота графического интерфейса не позволяла в полной мере работать с микроконтроллером. Кроме того, для каждого программатора (железяки), требовалась своя программа-программатор. Часто случалось, что ПО программатора не поддерживает нужный мне микроконтроллер. Все это породило массу неудобств. Эти проблемы ушли после перехода на AVRDUDE. AVRDUDE поддерживает огромное количество программаторов, работающих по параллельному порту (LPT), последовательному порту, USB-программаторы. Теперь у меня один AVRDUDE на все 3 вида используемых программаторов (см. Программаторы микроконтроллеров AVR).
Список поддерживаемых программаторов
Список поддерживаемых микроконтроллеров Atmel серии AVR
Установка AVRDUDE для Windows
На официальном сайте программы http://www.nongnu.org/avrdude/ в разделе для скачивания файлов http://download.savannah.gnu.org/releases/avrdude/ можно скачать все нужные файлы, в том числе и исходный код.
Я собрал в один архив AVRDUDE. 5.11 для Windows с документацией и необходимыми драйверами. Вы можете воспользоваться этой ссылкой, чтобы СКАЧАТЬ AVRDUDE. 5.11 для Windows . Просто скачайте и распакуйте содержимое архива в папку на диске. Далее в примерах будет подразумеваться, что это папка C:\avrdude\ Если используем LPT программатор, запускаем файл install_giveio.bat. Этот пакетный файл установит драйвер прямого доступа к портам (giveio.sys). Если Вы используете программатор usbasp, обратите внимание на папку usbasp-windriver.2011-05-28. В ней находятся драйвера, их так же следует установить.
Как использовать AVRDUDE под Windows
Сразу оговорюсь, что не стоит набирать команды вручную каждый раз. Для этого человечество придумало пакетные файлы. Создаем файл с расширением .bat и в него пишем команду или несколько команд. Потом просто запускаем наш bat файл.
Пример 1 (Прошиваем Flash)
-p m16 — указывает, что мы прошиваем микроконтроллер ATmega16
-c usbasp — указывает, что мы прошиваем, используя программатор USBasp
-e — Выполняет команду ERASE (стирание чипа) перед прошивкой
-U flash:w:upload.hex — указывает, что работаем с флеш памятью (flash), пишем (w), файл (upload.hex).
Сразу же возникает вопрос: «Где найти обозначения микроконтроллеров и программаторов?»
Ответ: в файле документации с подробным описанием параметров командой строки: C:/avrdude/avrdude-html/avrdude_4.html
Если такой отсутствует, можно заглянуть в файл конфигурации avrdude.conf
Пример 2 (программируем Фьюзы)
-p m88p — микроконтроллер ATmega88P
-c usbasp — указывает, что мы прошиваем, используя программатор USBasp
-U lfuse:w:0xE2:m — зашиваем в младший разряд фюзов 0xE2
-U hfuse:w:0xDF:m — зашиваем в старший разряд фюзов 0xDF
Для удобства можете воспользоваться калькуляторами Фьюзов:
Пример 3 (программируем EEPROM)
-p m16 — указывает, что мы прошиваем микроконтроллер ATmega16
-c usbasp — указывает, что мы прошиваем, используя программатор USBasp
-U eeprom:w:upload.hex — указывает, что работаем с eeprom памятью (eeprom), пишем (w), файл (eeprom.hex).
Пример 4 (читаем Flash и пишем в файл dump.hex)
Отличие от первого примера, отсутствует «-e» (стирать чип нам не надо), команда :w: (write, писать) заменена на :r: (read, читать), добавлено :i (формат файла Intel Hex)
При прошивке формат файла определяется автоматически, указывать его не обязательно. Когда пытаетесь слить прошивку, указывать формат файла нужно обязательно.
Поддерживаемые форматы файлов:
i — Intel Hex
s — Motorola S-record
r — raw binary; little-endian byte order, in the case of the flash ROM data
m — immediate mode; actual byte values specified on the command line, separated by commas or spaces in place of the filename field of the ‘-U’ option. This is useful for programming fuse bytes without having to create a single-byte file or enter terminal mode. If the number specified begins with 0x, it is treated as a hex value. If the number otherwise begins with a leading zero (0) it is treated as octal. Otherwise, the value is treated as decimal.
a — auto detect; valid for input only, and only if the input is not provided at stdin.
d — decimal; this and the following formats are only valid on output. They generate one line of output for the respective memory section, forming a comma-separated list of the values. This can be particularly useful for subsequent processing, like for fuse bit settings.
h — hexadecimal; each value will get the string 0x prepended.
o — octal; each value will get a 0 prepended unless it is less than 8 in which case it gets no prefix.
b — binary; each value will get the string 0b prepended.
Пример 5 (читаем eeprom и пишем в файл eepromdump.hex)
Пример 6 (выполняем сравнение (верификацию) Flash памяти с указанным hex файлом)
В последнем параметре :v: (verify, проверить).
Если нам надо одним движением прошивать флеш память и прошить фьюзы, разумно сделать пакетный файл с примерно следующими командами:
Практика использования AVRDUDE под Windows
На практике я поступаю так: в папке, где компилируется .hex файл прошивки создаю файл upload.bat со следующим содержимым:
В случае если потребуется изменить программатор, контроллер или путь к AVRDUDE, не потребуется исправлять во всех командах. Достаточно изменить переменные, объявленные в начале файла.
В статье Программаторы микроконтроллеров AVR я описал программатор AVR ISP Prorgammer (работащий через параллельный порт LPT), совместимый с AVR910 и USBasp программатор. Для этих программаторов в AVRDUDE используются следующие идентификаторы:
AVR ISP Prorgammer — stk200
AVR910 — avr910
USBasp — usbasp
Обращаю Ваше внимание на то, что AVR910 работает через виртуальный последовательный (COM) порт. Его следует указать в параметре -P. Пример: