Не устанавливается драйвер usbasp

Обновлено: 04.07.2024

Первым делом нужно скачать драйвер usbasp-windriver.2011-05-28.zip и распаковать скачанный архив на жёсткий диск.

2 Перезагрузка компьютерав режиме диагностики

Чтобы установить драйвер в Windows 8 или Windows 10, сначала нужно отключить проверку цифровой подписи драйверов. Делается это одним из следующих способов.

Первый вариант. Нажимаем клавишу Shift и кликаем мышью на кнопке Перезагрузка. Выбираем опцию Диагностика (Troubleshoot).

Второй вариант. Вводим в командной строке, запущенной с правами Администратора, команду: shutdown.exe /r /o /f /t 00

Перезагрузка компьютера в режиме диагностики

Перезагрузка компьютера в режиме диагностики из командной строки

3 Задание параметровзагрузки Windows

Появится окно выбора вариантов перезагрузки. Выбираем второй вариант – Диагностика (или Troubleshoot). Далее выбираем Дополнительные параметры Параметры загрузки.

Задание параметров загрузки Windows

Выбор параметров загрузки Windows 8 или 10

4 Выбор параметровзагрузки

Компьютер перезагрузится и предложит выбрать клавишами с цифрами или функциональными клавишами F1-F9 различные параметры загрузки. Нас интересует вариант под номером 7 – Отключить обязательную проверку подписи драйверов. Нажимаем клавишу F7 или цифровую клавишу "7".

Выбор параметров загрузки Windows 10

Выбор параметров загрузки Windows 8 или Windows 10

5 Установка драйверадля программатора USBasp

После окончательной загрузки компьютера подключаем программатор USBasp к USB-порту компьютера. Устройство определится и появится в диспетчере устройств под названием USBasp. Кликаем по нему правой кнопкой мыши и выбираем опцию Обновить драйверы…. Выбираем скачанный и распакованный ранее драйвер. Несмотря на предупреждение менеджера безопасности, устанавливаем драйвер.

Установка драйвера для программатора USBasp

Установка драйвера для программатора USBasp в ОС Windows 10

6 Завершение установкидрайвера программатора

По завершении установки система сообщит об успешном завершении обновления драйверов Windows 8 или Windows 10, а программатор появится в диспетчере устройств под названием USBasp без жёлтого треугольника. Теперь вы можете пользоваться своим программатором.

Завершение установки драйвера USBasp

Завершение установки драйвера для USBasp программатора в Windows 10

Первым делом нужно скачать драйвер usbasp-windriver.2011-05-28.zip и распаковать скачанный архив на жёсткий диск.

2 Перезагрузка компьютерав режиме диагностики

Чтобы установить драйвер в Windows 8 или Windows 10, сначала нужно отключить проверку цифровой подписи драйверов. Делается это одним из следующих способов.

Первый вариант. Нажимаем клавишу Shift и кликаем мышью на кнопке Перезагрузка. Выбираем опцию Диагностика (Troubleshoot).

Второй вариант. Вводим в командной строке, запущенной с правами Администратора, команду: shutdown.exe /r /o /f /t 00

Перезагрузка компьютера в режиме диагностики

Перезагрузка компьютера в режиме диагностики из командной строки

3 Задание параметровзагрузки Windows

Появится окно выбора вариантов перезагрузки. Выбираем второй вариант – Диагностика (или Troubleshoot). Далее выбираем Дополнительные параметры Параметры загрузки.

Задание параметров загрузки Windows

Выбор параметров загрузки Windows 8 или 10

4 Выбор параметровзагрузки

Компьютер перезагрузится и предложит выбрать клавишами с цифрами или функциональными клавишами F1-F9 различные параметры загрузки. Нас интересует вариант под номером 7 – Отключить обязательную проверку подписи драйверов. Нажимаем клавишу F7 или цифровую клавишу "7".

Выбор параметров загрузки Windows 10

Выбор параметров загрузки Windows 8 или Windows 10

5 Установка драйверадля программатора USBasp

После окончательной загрузки компьютера подключаем программатор USBasp к USB-порту компьютера. Устройство определится и появится в диспетчере устройств под названием USBasp. Кликаем по нему правой кнопкой мыши и выбираем опцию Обновить драйверы…. Выбираем скачанный и распакованный ранее драйвер. Несмотря на предупреждение менеджера безопасности, устанавливаем драйвер.

Установка драйвера для программатора USBasp

Установка драйвера для программатора USBasp в ОС Windows 10

6 Завершение установкидрайвера программатора

По завершении установки система сообщит об успешном завершении обновления драйверов Windows 8 или Windows 10, а программатор появится в диспетчере устройств под названием USBasp без жёлтого треугольника. Теперь вы можете пользоваться своим программатором.

Завершение установки драйвера USBasp

Завершение установки драйвера для USBasp программатора в Windows 10


Загрузчик (bootloader)

Загрузчик живёт в самом конце Flash памяти МК и позволяет записывать прошивку, отправляемую через UART. Загрузчик стартует при подаче питания на МК, ждёт некоторое время (вдруг кто-то начнёт слать код прошивки по UART), затем передаёт управление основной программе. И так происходит каждый каждый раз при старте МК.

  • Загрузчик позволяет прошивать МК через UART;
  • Загрузчик замедляет запуск МК, т.к. при каждом запуске ждёт некоторое время для потенциальной загрузки прошивки;
  • Загрузчик занимает место во Flash памяти. Стандартный старый для Arduino NANO занимает около 2 кБ, что весьма существенно!
  • Именно загрузчик мигает светодиодом на 13 пине при включении, как индикация работы.

Программатор

Помимо записи прошивки во flash память, программатор позволяет:

  • Считывать содержимое Flash памяти (скачать прошивку на компьютер)
  • Полностью очищать чип от всех данных и настроек
  • Записывать и читать загрузчик
  • Считывать/записывать EEPROM память
  • Читать и настраивать фьюзы (fuses, fuse-bits) и лок биты.

USB-TTL (UART)

USB-TTL Arduino
DTR DTR
RX TX
TX RX
GND GND
VCC/5V/3.3V VCC

Фьюзы (Pro)

Фьюзы (фьюз-биты) являются низкоуровневыми настройками микроконтроллера, которые хранятся в специальном месте в памяти и могут быть изменены только при помощи ISP программатора. Это такие настройки как выбор источника тактирования, размер области памяти под загрузчик, настройка отсечки по напряжению и прочее. Фьюз-биты собраны по 8 штук в байты (т.н. байты конфигурации), как типичный регистр микроконтроллера AVR. Таких байтов может быть несколько, они называются low fuses, high fuses, extended fuses. Для конфигурации байтов рекомендуется использовать калькулятор фьюзов (например, вот такой), в котором просто ставятся галочки на нужных битах, и на выходе получается готовый байт в hex виде. Рассмотрим на примере ATmega328p:


Лок-биты (Pro)

Лок-биты (lock-bits) позволяют управлять доступом к памяти микроконтроллера, что обычно используется для защиты устройства от копирования. Лок-биты собраны опять же в конфигурационный лок-байт, который содержит: BOOTLOCK01, BOOTLOCK02, BOOTLOCK11, BOOTLOCK12, LOCKBIT1, LOCKBIT2 (для ATmega328). Калькулятор лок-битов можно использовать этот. BOOTLOCK биты позволяют запретить самому МК запись (самопрограммирование) во flash память (область программы и область загрузчика)


А вот локбиты LOCKBIT позволяют запретить запись и чтение flash и EEPROM памяти извне, при помощи программатора, т.е. полностью защитить прошивку от скачивания и копирования:


Таким образом включив LOCKBIT1 (лок-байт будет 0x3E) мы запретим внешнюю запись во Flash и EEPROM память, т.е. при помощи ISP программатора, а включив LOCKBIT1 и LOCKBIT2 (лок-байт: 0x3C) полностью заблокируем заодно и чтение данных из памяти микроконтроллера. Повторюсь, всё описанное выше относится к ATmega328p, для других моделей МК читайте в соответствующих даташитах.

ISP программатор

USBasp


Решение проблем

Решение большинства проблем с загрузкой через программатор (независимо от того, что написано в логе ошибки):

  • Вытащить и обратно вставить usbasp в usb порт
  • Вставить в другой usb порт
  • Переустановить драйвер на usbasp
  • Проверить качество соединения USBasp с МК
  • Перепаять переходник и отмыть флюс

Для прошивки микроконтроллера, тактирующегося низкой частотой (менее 1 МГц внутренний клок):

Основные ошибки в логе Arduino IDE

Arduino as ISP

Почти любая другая плата Arduino может стать ISP программатором, для этого нужно просто загрузить в неё скетч ArduinoISP:

  • Открыть скетч Файл > Примеры > 11. ArduinoISP > ArduinoISP
  • Всё! Ваша Arduino теперь стала ISP программатором
  • Подключаем к ней другую Arduino или голый чип по схеме ниже
  • Выбираем Arduino as ISP в Инструменты > Программатор
  • И можем писать загрузчики, фьюзы или загружать прошивку напрямую во Flash


    Либо поставить поставить конденсатор ёмкостью


Решение проблем

Для прошивки микроконтроллера, тактирующегося низкой частотой (менее 1 МГц внутренний клок):

  • Arduino ISP: нужно изменить частоту загрузки прошивки в скетче Arduino ISP и снова прошить его в ардуино-программатор (см. строку в скетче 45 и ниже);

Работа в Arduino IDE

Прошивка загрузчика

Как убрать загрузчик?

Загрузка скетча

В Arduino IDE можно зашить скетч через программатор, для этого надо нажать Скетч > Загрузить через программатор. Это очень удобно в том случае, когда МК используется без загрузчика, или просто голый МК.

Фьюзы

Конфигуратор платы в Arduino IDE устроен следующим образом: каждой плате в Инструменты > Плата соответствует свой набор настроек, включая фьюзы, которые прошиваются вместе с загрузчиком . Некоторые из них:

  • Загрузчик (путь к файлу)
  • Скорость загрузки (через загрузчик)
  • Объем доступной flash и sram памяти
  • Весь набор фьюзов и лок-биты

Файл конфигурации называется boards.txt и найти его можно в папке с ядром Arduino: C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt. Документацию на boards.txt можно почитать здесь. При желании можно вывести нужные фьюзы через калькулятор (читайте выше), изменить их в boards.txt (главное не запутаться, для какой выбранной конфигурации платы делается изменение) и прошить в МК, нажав Инструменты > Записать загрузчик.


Такая работа с фьюзами максимально неудобна, но есть и другие варианты:

  • Ядро GyverCore для atmega328, в нем мы сделали кучу готовых настроек фьюзов прямо в настройках платы, читайте в уроке про GyverCore. Несколько загрузчиков, включая вариант без загрузчика, выбор источника тактирования и другие настройки в один клик мышкой.
  • Программа AVRdudeprog, про нее поговорим ниже

Avrdudeprog

  • Чтение/запись/очистка flash памяти
  • Чтение/запись/очистка eeprom памяти
  • Полная очистка чипа
  • Калькулятор фьюзов и локбитов (чтение/запись)


Более подробный обзор на avrdudeprog можно посмотреть здесь . Давайте посмотрим на калькулятор фьюзов. Выбираем свой микроконтроллер и программатор (можно добавить другие модели микроконтроллеров и программаторов, читай тут). Переходим во вкладку Fuses, нажимаем прочитать. При успешном чтении увидим текущий набор настроек своего чипа. Можно их поменять и загрузить. Важно! Галку инверсные биты не трогаем! Лок-биты и отключение RST заблокирует микроконтроллер, не трогайте их, если такой цели нет! Можно загружать прошивку или загрузчик из .hex файла, указав путь к ней на первой вкладке в окне Flash. Очень удобная утилита для низкоуровневой работы с МК.

Видео

USBasp - простой внутрисхемный USB-программатор для микроконтроллеров Atmel AVR. Программатор построен на микроконтроллере ATMega88 (или ATMega8) и содержит минимум деталей. Программатор использует свой USB-драйвер, никакие специальные USB контроллеры не нужны.

Особенности программатора:
- работа под любой платформой: Windows, Linux и Mac OS X
- какие-либо специальные компоненты или smd не нужны
- скорость программирования до 5 кБ/сек
- SCK-джампер позволяет программировать низкоскоростные контроллеры (< 1.5МГц)
- в планах: последовательный интерфейс (например для отладки)

Схема программатора

Принципиальная схема программатора

Схема предназначена для программирования только 5В кристаллов. В других случаях, уровни должны быть преобразованы!

Заливка прошивки

Установки джамперов

J1 - источник питания (от USB, либо внешний источник). Будьте аккуратнее, т.к. схема не содержит какой-либо защиты от КЗ.
J2 - обновление прошивки (сам себя обновлять не может!). Установленный джампер позволяет программировать контроллер программатора другим рабочим программатором.
J3 - если программируемый МК низкоскоростной <1.5 МГц, то необходимо установить данный джампер. Тогда SCK уменьшится с 375 кГц до примерно 8 кГц.

Установка драйверов под 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").

Фото программатора USBasp

Программы для работы с программатором

    - поддерживается USBasp начиная с версии 5.2 - поддерживается USBasp начиная с версии 1.11.9.6 - Windows XP/Vista GUI приложение для USBasp и avrdude - программа Windows GUI для USBasp

Последнюю версию всегда можно взять на официальном сайте USBasp

Печатные платы

Под данный программатор разработано более 10 различных вариантов разводки печатной платы, которые можно скачать ниже, либо на страничке официального сайта.

Читайте также: