Arduino ide не видит usbasp

Обновлено: 04.07.2024

Пытаюсь залить бутлоадер в мегу, но среда разработки АРДУИНО не видит программатор USBasp.
пишет: avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc

В настройках выбираю нужную плату и нужный программатор.

Программатор USBasp нормально работает с USBASP_AVRDUDE_PROG.
Я на всякий случай даже дрова обновил - безрезультатно.

_________________
не зная броду не лезь к вольтмоду

у меня заработало после того как перепрошил, пришедший из китая программатор, новой версией и поигрался с libusb win32 и дровами, вот точно не скажу что делал, кажется там exe какой то запускаешь, они видит девайс, жмешь кнопку и что то переустанавливается (win 7 x64) но насчет не той версии прошивки мне avrdude английским по черному писал

JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Не пробовал - нет его у меня.

Жаль, но программатор у меня один и перепрошить его нечем. Хотя 5 проводков ни кто не отменял..
Ах, да есть у меня какой-то старенький программатор, работает кое как. По моему в нем диод не правильно установлен.

_________________
не зная броду не лезь к вольтмоду

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Не пробовал - нет его у меня.

Жаль, но программатор у меня один и перепрошить его нечем. Хотя 5 проводков ни кто не отменял..
Ах, да есть у меня какой-то старенький программатор, работает кое как. По моему в нем диод не правильно установлен.

ну "5ю проводами" я и перешивал, с com порта ) avrdude ничего не пишет про версию usbasp если в настройках среды включить "выводить подробности при загрузке" ? я свой не так давно получил, видимо они в китае годами валяются

кстати, проще его и не отцеплять от меги и загрузчик не заливать - больше места будет в мк (если конечно нет необходимости шить именно через uart), чтобы кнопку "скомпилировать и загрузить" заставить грузить сразу через программатор (не используя пункт файл - загрузить программатором) есть рецепт на arduino.cc (но мне и так нормально, привык уже клацать через меню)

Приглашаем 30 ноября всех желающих посетить вебинар о литиевых источниках тока Fanso (EVE). Вы узнаете об особенностях использования литиевых источников питания и о том, как на них влияют режим работы и условия эксплуатации. Мы расскажем, какие параметры важно учитывать при выборе литиевого ХИТ, рассмотрим «подводные камни», с которыми можно столкнуться при неправильном выборе, разберем, как правильно проводить тесты, чтобы убедиться в надежности конечного решения. Вы сможете задать вопросы представителям производителя, которые будут участвовать в вебинаре.

кстати, проще его и не отцеплять от меги и загрузчик не заливать - больше места будет в мк

не, UART нужен - через него я буду изменять настройки в прошивке. В
Видимо френдли_юзер интерфес таким образом авторы организовали.
Конечно же можно и без него обойтись, но тогда для внесения изменений в настройки придется ковыряться в коде, а исходников наверняка нет. и даже если я их найду, то комментарии наверняка не по русски.

А можно залить туда бутлодер не через ардуино ?

_________________
не зная броду не лезь к вольтмоду

Приглашаем всех желающих 25/11/2021 г. принять участие в вебинаре, посвященном антеннам Molex. Готовые к использованию антенны Molex являются компактными, высокопроизводительными и доступны в различных форм-факторах для всех стандартных антенных протоколов и частот. На вебинаре будет проведен обзор готовых решений и перспектив развития продуктовой линейки. Разработчики смогут получить рекомендации по выбору антенны, работе с документацией и поддержкой, заказу образцов.

кстати, проще его и не отцеплять от меги и загрузчик не заливать - больше места будет в мк
не, UART нужен - через него я буду изменять настройки в прошивке.

в смысле настройки в прошивке ? работать с uart в меге конечно можно и без него (в скетче), а шить можно usbasp'ом постоянно - это быстрее даже (на 32кб вполне заметна разница), загрузчик может пригодиться если нет программатора под рукой, но есть uart и комп с ардуиновской средой ну или хочется собрать именно клон ардуины

Видимо френдли_юзер интерфес таким образом авторы организовали.
Конечно же можно и без него обойтись, но тогда для внесения изменений в настройки придется ковыряться в коде, а исходников наверняка нет. и даже если я их найду, то комментарии наверняка не по русски.

не совсем понятно о чем речь, в каком коде так можно ковыряться и причем тут ардуино, ардуиновские коды обычно в виде скетча же ? если нужна пошаговая отладка - это в сторону нормальной среды программирования нужно копать

наверняка можно, они же в виде "optiboot_atmega328.hex" в папке ардуиновской среды есть, но мне кажется, имея уже нормальный программатор, шить загрузчик и работать через него (без usbasp) нет необходимости, я в своих поделках стараюсь оставить полностью работоспособный spi (даже если на него навешиваю sd карточку и прочее, ну т.е. не вешаю на них кнопки всякие и прочее, только spi периферию) и шить, прицепившись к этим ногам программатором

вот как раз в процессе "настройки", если приходится менять код и перезаливать каждую минуту, шить штатным образом ардуину через uart тоскливо довольно - не особо шустро получается

Я бы с радостью залил прошивку через USBasp с помощью USBASP_AVRDUDE_PROG
Мне так намного привычнее. ( я только начал заниматься программированием )

На форумах посвященных авиомоделестроению мне советуют залить в передатчик ардуиновский бутлодер, а потом через FDTI залить туда сконфигурированную прошивку.
Почему так? да хрен его знает.
Говорят, что я не смогу сконфигурировать прошивку. ( да да - прошивку можно конфигурировать на свой вкус )
Ах ну да - исходников же у меня нет - естественно я не смогу сконфигурировать.
Да даже если бы и был у меня исходник, то что бы я с ним смог сделать? Уйдет уйма времени пока я разберусь в коде.
Вот по этому-то и нужен конфигуратор, а работает он в среде гугл оболочки и только с юартом.

А приемник в обще конфигурируется только с передатчика и по радиосвязи.
Хотя у него есть и SPI и UART.

Вот мне и нужно и туда и сюда ( в приемник и передатчик ) залить ардуиновский бутлодер.
Почему ардуино? да хрен его знает..
Я с этим ардуино в обще не дружу..

А ардуино выдает ошибку: avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc

Вот мне и нужно понять сейчас, что же мне делать.
Прошивать программатор?
Это 100% вариант или тоже непонятно?

_________________
не зная броду не лезь к вольтмоду

Последний раз редактировалось uwrtey Сб апр 05, 2014 23:35:35, всего редактировалось 2 раз(а).

. собственно заголовок - проблема, на версии 1.0.6 (это моя предыдущая) работает.

ВОПРОС кто нить смог с это перемочь ?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
avrdude: Warning: cannot query manufacturer for device: No such file or directory avrdude: Warning: cannot query product for device: No such file or directory
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Valera19701 аватар

. собственно заголовок - проблема, на версии 1.0.6 (это моя предыдущая) работает.

ВОПРОС кто нить смог с это перемочь ?

в менеджере плат на 1.6.13 откатитесь

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Valera19701 аватар

и есть новый драйвер USBASP

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

c 1.6.12 на 1.6.13 не понял как откатится, однако с новым драйвером заработало.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Valera19701 аватар

c 1.6.12 на 1.6.13 не понял как откатится, однако с новым драйвером заработало.

в самой первой вкладке в менеджере плат (там где выбираете платы в самом верху) увидите синюю надпись "MORE INFO" там выпадет список версий


  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

и есть новый драйвер USBASP

Спасибо. Была такая же проблема.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Спасибо! Чтоб эти обновления. *злюка*

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

kisoft аватар

Не даром говорят, работает - не трогай ;)

Спасибо за тему, тоже себе скачал драйвера новые.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Не даром говорят, работает - не трогай ;)

Спасибо за тему, тоже себе скачал драйвера новые.

а, в чём причина и почему дрова нужно качать с непонятного источника?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

kisoft аватар

Скачал на всякий случай. Если вдруг, когда я перейду на 1.6.12 не будет работать. А пока работает - трогать не буду, понятно.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Скачал на всякий случай. Если вдруг, когда я перейду на 1.6.12 не будет работать. А пока работает - трогать не буду, понятно.

ну, это прикольный способ распространения вирусов - один кидает дезу, что что-то перестало работать, и толпа леммингов несётся скачивать 11 мегабайт драйвера с какой-то помойки.

откуда взялся этот типо "драйвер"?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Valera19701 аватар

откуда взялся этот типо "драйвер"?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

откуда взялся этот типо "драйвер"?

ну, протостак, и что?

какое отношение этот протосток имеет к первоисточнику проблемы? - новой версии Дуино ИДЕ, которая не желает видеть USBasp?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Valera19701 аватар

был вопрос откуда взялся, получили ответ :)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

kisoft аватар

Скачал на всякий случай. Если вдруг, когда я перейду на 1.6.12 не будет работать. А пока работает - трогать не буду, понятно.

ну, это прикольный способ распространения вирусов - один кидает дезу, что что-то перестало работать, и толпа леммингов несётся скачивать 11 мегабайт драйвера с какой-то помойки.

откуда взялся этот типо "драйвер"?

Будет нужда, буду разбираться. Ты на нас, леммингов, бочку не кати.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

походу, криво напатчили, поэтому валим на официальный источник avrdude, качаем неглючный avrdude 6.3 , меняем в Дуино ИДЕ avrdude.ехе из скачанного пакета.

или, если патч настолько критичен, то взять avrdude вместе с конфой с предыдущей версии пакета Дуино ИДЕ.

но, там версия дудки - древнее гавно мамонта.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

kisoft аватар

Ну вот и прекрасно, будем ждать более другие версии, лично мне нафиг эта 1.6.12 не уперлась.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Ну вот и прекрасно, будем ждать более другие версии, лично мне нафиг эта 1.6.12 не уперлась.

при чём здесь "эта 1.6.12", если проблема в отдельном экзешнике?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

kisoft аватар

Мне это безразлично.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

1.6.15 с таким же косяком тоже. по пробую поменять ЕХЕ.

обошлось заменой драйверов. шьёт даже атмегу16.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ua6em аватар

Интересует другое, почему через Zadig драйвера ставятся но не работают?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

через что? ставь просто и всё работает!

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ua6em аватар

через что? ставь просто и всё работает!

Для установки устройств (а соответственно и драйверов) USB под windows существует программа Zadig, скачать можно много где, у меня уже была, так как только она ставит правильно USB-RTL )))
На сайте разработчика USBasp она тоже есть


Zadig изначально поставила версию драйверов этого устройства 1.0 (только они подписаны)
Устанавливая программатор SinaProg он с этими драйверами не заработал, поставил из комплекта программы

Предлагаемый драйвер (3.0.7.0) переписывает имя устройства на USBaspK


Интересно, как Вы без Zadig зачищаете драйвера.
Опытом поделитесь

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

нахера? ставятся с архива стандартным установщиком, а не через жопу!


и ничего не менятся, всё остаётся как и было USBAsp

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии


  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

прекращаем эти танцы с бубном вокруг драйверов - проблема не в них, а в сломаном avrdude

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

у меня решилось просто заменой дров. и всё работает

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

у меня решилось просто заменой дров. и всё работает

красавчик - засрал систему драйверами непонятного происхождения

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

с чего это? всё нормально у меня с ситемой.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Jeka_M аватар

1.6.15 с таким же косяком

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

прекращаем эти танцы с бубном вокруг драйверов - проблема не в них, а в сломаном avrdude

Это работает и это правильно. Починил именно так.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

у меня показало обновление до 1.6.15 с какого то хрена! но не обновилось


а это что тогда?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Jeka_M аватар

а это что тогда?

Это версия тулчейна AVR, а не Arduino IDE. Посмотрите, что сверху слева в заголовке IDE написано.

P.S. Меня удивляет, почему разработчики выбрали такую странную нумерацию - версия тулчейна всегда на х.х.2 больше версии IDE. Ставили бы уже одинаковую, чтобы народ в заблуждение не вводить.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

понадобилось заливать скетчи через ISP, перед этим умудрился обновить IDE до последней версии и не смог ни через mkII ни через USBASP

помог совет из темы по замене averdude.exe. Спасибо

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Oleg_707 аватар

перестало шить по isp.

при этом в диспетчере задач устройство с vid=0x16c0 pid=0x5dc есть.( USBasp)

Обновил драйвер - стало шить.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

selevo аватар

ничё не помогло.

драйвер: libusbK USB Devices

Что ещё поделать ?

Это всё дело в кривой avrdude

на этой версии (6.3) и другие программаторы не работают ,точнее графические оболочки для avrdude

тоже самое выдают:

заменил таки на оригинал с сайта (второй раз)

как было отмечено ранее,хотя спервого раза не пошло,видимо флуктуация ручек.

Скорее всего в ардуино пропатченный avrdude чисто в комерческих целях (не видимых большинству)

как было отмечено ранее,хотя спервого раза не пошло,видимо флуктуация ручек.

Скорее всего в ардуино пропатченный фмквгву чисто в комерческих целях (не видимых большинству)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

selevo аватар

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Клапауций 112 аватар

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Клапауций 112 аватар

ничё не помогло.

драйвер: libusbK USB Devices

не засераем систему непонятными драйверами - драйвера из пакета usbasp.2011-05-28.tar.gz

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ua6em аватар

ничё не помогло.

драйвер: libusbK USB Devices

не засераем систему непонятными драйверами - драйвера из пакета usbasp.2011-05-28.tar.gz

Все нормальные подписанные драйвера ставятся через ZADIG, неподписанные через танцы с бубном

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Клапауций 112 аватар

Все нормальные подписанные драйвера ставятся через ZADIG, неподписанные через танцы с бубном

тем, кто задиг задик юзает, яйца мешают.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Jeka_M аватар

Ниразу не пришлось ставить драйвера через ZADIG. Надо просто брать драйвера с официальных сайтов, а не с левых файлопомоек.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Клапауций 112 аватар

Надо просто брать драйвера с официальных сайтов, а не с левых файлопомоек.

с официальных - пиндосовских и гейропейских?

потом ФБР и МИ-7 с Моссадом обороноспособность наРоссии удалённо подрывают.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

selevo аватар

че как дела в новой ардуине ?

Норально определает юсбаспы ?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

че как дела в новой ардуине ?

Норально определает юсбаспы ?

Все там нормально. Главное - драйвер usbasp обновить.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ua6em, не помогает, ставил и через ZAD. и через. как только не ставил. и последнюю ИДЕ ставил. Добился только того, что аведудка 3 читет и пишет, а ИДЕшка не видит никакая, даже портабельная.

Может есть какие мысли?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Люди подскажите как прошить через CH341A программатор, ардуинки под рукой нет и в нашем городе их вообще найти не могу с китая ждать долго! Я собрал шлейф для подключения от программатора к Arduino Mega 2560. Выбрал порт, выбралплату и проц мегу 2560 и программатор пробовал и USBasp и другие то вообще не подрубается то пытается и не может записать. Без программатора не варик, походу слетел бутлоадер и пк не видит его как устройство вообще, но плата сама запускается и от USB и от блока питания.

При этом я могу получить информацию об устройстве, пишет неизвестное устройство но в тоже время пишет его VIP и PID.



Существуют простые и дешевые программаторы для прошивки м/к Atmega ,которые поддерживает среда Arduino IDE- необходимо просто выбрать соотвествующий программатор USBasp в настройках Arduino IDE. USBasp необходим,если вы просто прошиваете микроконтроллеры Amtel.Программатор основан на м/к Atmega 8 и использует програмный USB.

Для работы в операционной системе Windows необходимы драйвера.Linux же не требует их.

Данный программатор легко превратить в друое устройство,например в I2C-USB переходник , USB контроллер с GIO или контроллер чтения термодатчиков DS18B20.

Программирование через USBasp в Arduino IDE


Для программирования микроконтроллеров,подключенных через USBasp в Arduino IDE необходимо выбрать его в программе согласно скриншоту.


Программирование осуществляется через меню файл,выбрав пункт

"Загрузить с помощью программатора".Не забываем выбрать микроконтроллер в меню "сервис" ->"плата".

Программирование через USBasp утилитой avrdude

Утилиту avrdude можно найти в папке /hardware/tools/ в дистрибутиве Arduino IDE или скачать в интернете.

Для того,чтобы залить прошивку в микроконтроллер необходимо выполнить команду:

Обычно прошивку можно осуществить через команду make flash ,если Вы имеете исходный код прошивки и установленную WinAVR.

В других средах программирования выбор программатора осуществляется через соответсвующее меню программы.

Обратите внимание,

Что на некоторых микроконтроллерах с завода,например на серии Attiny включен по умолчанию фьюз CKDIV8 ,который устанавливает делитель на 8 и из-за этого USBasp не программирует такие микроконтроллеры пока не установить перемычку JP3 на USBasp.Для настройки фьюзов воспользуйтесь калькулятором фьюзов чтобы выставить нужные настройки , в том числе выключить данный делитель.Фьюзы прошиваются через avrdude командой avrdude -c usbasp -p имя_м/к -U lfuse:w:0xХХ:m .

Пример для установки фьюзов attiny85 для внутреннего генератора 8мгц с выключенным делителем на 8 :

avrdude -c attiny85 usbasp -p -U lfuse:w:0x62:m

При программировании через Arduino IDE можно установить нужные фьюзы выбрав в меню "записать загрузчик",выбрав перед этим необходимый микроконтроллер.

"Допиливание" программатора.

или исправляем ошибку: avrdude: warning: cannot set sck period. please check for usbasp firmware update

При программировании некоторых микроконтроллеров(например у серии ATtiny) возможны не фатальные ошибки.Хотя и программирование микроконтроллера происходит,но обновить прошивку микроконтроллера на программаторе рекомендуется.

Что для этого нужно ? Вы можете использовать плату arduino как программатор или использовать другой USBasp программатор .Для программирования используются те же выводы SCK,MISO,MOSI ,RESET .

Порядок действий для прошивки через arduino:

1. Подключаем выводы SCK,MISO,MOSI ,RESET к Arduino согласно инструкции .

2. Установавливаем перемычку self programming (на фото обозначена как JP2),обычно место для перемычки не распаяно.

3. Качаем последнюю версию прошивки usbasp.2011-05-28 тут и кидаем в папку путь_к_папке_ардуины_/hardware/tools/ .

4. Перейдем в консоль (cmd или bash) Вашей операционной системы в папку через команду cd путь_к_папке_ардуины_/hardware/tools/ и далее вводим команды для Windows,не забывем указать верный порт,на котором подключена Arduina:

avrdude -C avrdude.conf -c avrisp -P COM1 -b 19200 -p m8 -v


avrdude -C avrdude.conf -c avrisp -P COM1 -b 19200 -p m8 -U flash:w:usbavr.hex -U lfuse:w:0xef:m -U hfuse:w:0xc9:m



Для прошивки из Linux все аналогично, заменяется часть строки:

./avrdude -C avrdude.conf -c avrisp -P /dev/ttyUSB0 .

Порядок действий для прошивки через другую USBasp:

Прошивка аналогична прошивке обычного микроконтроллера: подключаем выводы SCK,MISO,MOSI,RESET один в один шлейфом идущим в комплекте с программатором.Не забываем про перемычку JP2.

Указываем опцию -c usbasp вместо -c avrisp

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.

четверг, 13 сентября 2018 г.

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


Содержание

Подключение программатора USBasp к Ардуино

USBasp позволяет программировать AVR микроконтроллеры через последовательный интерфейс SPI. Для этого он имеет 10-пиновый разъем SPI. И подключение программатора к Ардуино или отдельному микроконтроллеру сводится к соединению их линий SPI и Reset.

В большинство плат Ардуино присутствует ICSP разъем, в котором сгруппированы выводы для внутрисхемного программирования: MOSI, MISO, SCK, RST, GND и VCC. Поэтому удобнее всего подключать программатор именно к ICSP. Здесь вам потребуется распиновка разъемов, она приведена ниже:


Соедините соответствующие выводы программатора и Ардуино, должно получиться примерно так:


Конечно, возиться каждый раз с проводами не очень удобно, поэтому советую приобрести переходник ISP 10 pin to 6 pin. С ним всё становится гораздо проще.


Если же на плате Ардуино нет ICSP разъема, то остается подключать программатор к цифровым выводам в соответствии со следующей таблицей. В ней приведено расположение выводов MOSI, MISO и SCK для различных плат Ардуино.

Плата Ардуино MOSI MISO SCK Уровень
Uno, Duemilanove 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3
Nano 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3
Pro Mini 11 12 13 3.3В или 5В
Mega1280, Mega2560 51 или ICSP-4 50 или ICSP-1 52 или ICSP-3
Leonardo ICSP-4 ICSP-1 ICSP-3
Due ICSP-4 ICSP-1 ICSP-3 3.3В
Zero ICSP-4 ICSP-1 ICSP-3 3.3В
101 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3 3.3В

Не забывайте о том, что некоторые платы требуют питания 3.3В и для них нужно менять положение джампера JP1 на программаторе.

Драйвера для USBasp

У меня в системе установлены драйвера из этого набора, они подходят как для XP, так и для свежих версий Windows. Скачайте архив, распакуйте его и запустите InstallDriver.exe для установки драйверов.

После установки драйверов программатор будет виден в диспетчере устройств как USBasp, теперь мы можем его использовать:


При работе в Linux или MacOS X установка дополнительного ПО для USBasp не требуется.

Итак, проверим программатор USBasp в действии. В предыдущих публикациях я описывал процедуру записи загрузчика в Ардуино и работу с фьюзами с использованием Ардуино в качестве программатора. Эти же действия можно выполнить, используя USBasp.

Чтение и запись фьюзов Ардуино

Для работы с фьюзами будем использовать уже знакомый нам Avrdude. Поэтому запускаем командную строку, переходим в каталог avrdude и вводим команду для чтения младшего конфигурационного байта:

avrdude -C ../etc/avrdude.conf -c usbasp -p m328p -U lfuse:r:-:h

В этой команде использованы следующие параметры:

указано значение m328p.



Чтение и запись FLASH и EEPROM памяти Ардуино

В приведенных выше примерах команд для Avrdude в качестве параметра использовались значения lfuse и efuse для доступа к конфигурационным байтам микроконтроллера. Данный параметр может принимать и другие значения, они приведены ниже:

Таким образом, для чтения FLASH Ардуино Уно (микроконтроллера ATmega328p) может быть использована следующая команда:
avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U flash:r:flash_dump.hex:i

Файл с содержимым FLASH памяти микроконтроллера будет создан в каталоге Avrdude. Либо можно прописать в команде полный путь к файлу.

Для записи в FLASH память содержимого файла flash_dump.hex можно использовать команду:
avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U flash:w:flash_dump.hex:i

Чтение EEPROM:
avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U eeprom:r:eeprom_dump.hex:i

Запись EEPROM:
avrdude -C ../etc/avrdude.conf -p m328p -c usbasp -U eeprom:w:eeprom_dump.hex:i

Запись загрузчика в Ардуино

  1. Соединяем USBasp с платой, в которую будем записывать загрузчик и подключаем программатор к компьютеру.
  2. Запускаем IDE Arduino.
  3. В меню Инструменты > Программатор выбираем USBasp.
  4. В меню Инструменты > Плата выбираем значение, соответствующее нашей плате.
  5. В меню Инструменты выбираем команду Записать загрузчик.












Вы скачали драйвер, установили, но ардуино все равно не шьется. Проблема может быть как и с завода, так и по вине пользователя, это не суть важно. Что делаем. Переходим ко второму способу.








Но на всякий прикрепляю дрова для CP2102

Программатор требует установки драйверов, проблем с этим не у меня, не у других замечено не было, просто ставьте драйвер на CP2102, либо тот, который предлагает производитель.


Это обычный USBasp, самый распространённый программатор AVR микроконтроллеров. Стоит на али те же копейки.

Программатор имеет стандартный 10-ти контактный разъем, однако в комплекте можно купить переходник на 6-ти контактный. Его конечно можно изготовить и самому или подключить просто проводами, однако так значительно проще и удобнее.


Прошивка осуществляется не стандартным способом. Для начала идем в Инструменты>Программатор>USBasp


Далее Скетч/Загрузить через программатор.


Как и говорил, тут я описываю проблемы, с которыми столкнулся я. Этот программатор так же требует драйверов. Найти их не сложно. Однако связываясь с китайцами с целью экономии, нужно быть готовым к неожиданным поворотам. Лично я, при работе с этим программатором, столкнулся со следующей проблемой, которую когда-то описывал на радиокоте:

Над решением беды бился долго, и нашел лишь на забугорных форумах. И так:

1)По следующей ссылке скачиваем архив LibUSB-64bit.zip
2)Подключаем программатор к USB порту.
3)Распаковываем архив и переходим по пути куда распаковалиLibUSB-64bitlibusb-win32-bin-1.2.1.0inx86
4) Запускаем inf-wizard.exe
5)Жмем Next
6)Выбираем USBasp и жмем Next
7)Следующие поля заполняем таким образом:

vendor ID (hex format) = 0x16C0
product ID (hex format) = 0x05DC
mi (hex format) = оставить пустым
manufacturer name = VOTI
device name = USBasp

9)Жмем install now
10) Система уведомит, что драйвер не из проверенных источников. Жмем "Все равно установить"
11)Начнется установка драйвера. В процессе установки услышим звук отключения и подключения USB устройства. По окончанию установки жмем ОК.

Ещё несколько советов

Если на выводах RX и TX висит какое-то исполняющее устройство — ардуинка не прошьется. Сначала прошивайте, потом подключайте на эти выводы необходимое устройство.

На этом все, Надеюсь информация будет кому-то полезна.
Всем удачи в творчестве!

avrdude: warning: cannot set sck period, please check for usbasp firmware update

В качестве программатора можно использовать любую имеющуюся плату Ардуино. Для этого подключаем ее к компьютеру и загружаем в нее скетч ArduinoISP из стандартных примеров:

ArduinoISP sketch file

2. Подключение USBasp к Ардуино

Микроконтроллеры семейства AVR, а значит и базирующиеся на них платы (как Ардуино, так и USBasp) поддерживают программирование по ISP-технологии с использованием линий связи SPI. Поэтому сейчас нам нужно:

  • соединить выводы Ардуино MOSI, MISO, SCK GND и VCC (5В или 3.3В) с одноименными выводами USBasp;
  • цифровой вывод 10 Ардуино подключить к выводу RESET USBasp;
  • установить электролитический конденсатор на 10мкФ между RESET и GND Ардуино, чтобы предотвратить автоматическую перезагрузку. Хотя возможно будет работать и без конденсатора, зависит от используемой платы Ардуино.

Обновление прошивки USBasp через Ардуино

На всякий случай приведу таблицу соответствия сигналов MOSI, MISO и SCK цифровым выводам различных плат Ардуино:

Плата Ардуино MOSI MISO SCK
Uno, Duemilanove 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3
Nano 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3
Pro Mini 11 12 13
Mega1280, Mega2560 51 или ICSP-4 50 или ICSP-1 52 или ICSP-3
Leonardo ICSP-4 ICSP-1 ICSP-3
Due ICSP-4 ICSP-1 ICSP-3
Zero ICSP-4 ICSP-1 ICSP-3
101 11 или ICSP-4 12 или ICSP-1 13 или ICSP-3

3. Установка джампера JP2 на USBasp

На плате USBasp присутствуют 3 джампера, хотя распаян у вас, скорее всего, будет только JP1 - выбор напряжения питания программируемого микроконтроллера. Для прошивки USBasp (и любых других манипуляций с ним при помощи программатора) необходимо установить джампер JP2. Советую не мучиться с замыканием контактов подручными средствами и впаять пару штырьков, так будет надежней:


4. Скачивание прошивки

Прошивать USBasp будем при помощи уже знакомого нам avrdude, входящего в состав IDE Arduino. Файл прошивки нужно поместить в каталог avrdude, чтобы потом не пришлось указывать полный путь к нему. Для этого запускаем Проводник Windows и переходим в каталог Arduino_dir\hardware\tools\avr\bin\, где Arduino_dir - это путь к IDE Arduino. В моем случае он выглядит так: d:\Arduino\arduino-1.6.12\hardware\tools\avr\bin\, сюда я копирую файл usbasp.atmega8.2011-05-28.hex.

5. Прошивка USBasp

После копирования файла прошивки в каталог avrdude поместите курсор в адресную строку Проводника, удалите из нее путь, введите cmd и нажмите Enter.


Запустится интерпретатор командной строки. В нем нужно ввести команду:

avrdude -C ..\etc\avrdude.conf -p m8 -c arduino -P com18 -b 19200 -U flash:w:usbasp.atmega8.2011-05-28.hex

Не забудьте проверить и с корректировать ее параметры:

-C ..\etc\avrdude.conf - путь к конфигурационному файлу (без этого параметра avrdude иногда ругается: can't open config file "": Invalid argument)

-p m8 - определяет тип микроконтроллера. Значение m8 сообщает avrdude о том, что мы собираемся работать с ATmega8. Если у вас в USBasp установлен ATmega48 или ATmega88, то замените это значение на m48 или m88 соответственно.

-P com18 - определяет COM порт, присвоенный плате Ардуино. У меня это com18, вам нужно подставить свое значение.

-U flash:w:usbasp.atmega8.2011-05-28.hex - определяет действие, которое мы хотим выполнить. В данном случае мы хотим записать в FLASH память данные из файла usbasp.atmega8.2011-05-28.hex. При необходимости скорректируйте имя файла прошивки в соответствии с типом микроконтроллера в USBasp.


Уже пару лет прошло с тех пор, как я полностью отказался от Wndows в пользу Linux. Для себя я выбрал дистрибьютив Linux Mint.

Освоение платформы Arduino я начал гораздо раньше. Не хочу сказать, что я великий программист микроконтроллеров, но все устройства какие мне нужно было сделать — я сделал =).

К сожалению, если устанавливать Arduino IDE через стандартный менеджер программ в Linux Mint или Ubuntu, то будет доступна лишь морально устаревшая версия 1.0.5. Почему-то обновлять репозиторий давно забросили, а PPA для Arduino я не нашел.

Поэтому придется устанавливать среду вручную, впрочем это совсем не сложно. Сначала нужно скачать архив по этой ссылке.
Распакуйте его в любую удобную директорию и запустите файлик install.sh.


После этого на рабочем столе (или в списке приложений) появится ярлык Arduino и через который можно будет запускать среду.

Однако при попытке загрузить скетч в плату будет вылазить такая ошибка:


Для устранения этой несправедливости необходимо добавить своего пользователя в группу dialout. Для этого в Linux Mint необходимо открыть Меню-Администрирование-Пользователи и группы.

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


В списке ставим галочку напротив группы dialout. Потом жмем ОК и перезагружаем компьютер(или выходим из сеанса и входим обратно).


После этого можно смело пользоваться Arduino IDE. Примечательно, что для самих плат не нужно устанавливать никаких драйверов. Просто выбираете нужную плату и порт в списке и загружаете скетчи.

Добавление поддержки семейства ATTiny
Все-таки Arduino это плата для разработки. Готовое устройство необходимо собирать на основе микроконтроллера и соответствующей обвязки.

В них можно загрузить точно такие же скетчи(правда не все библиотеки поддерживаются), что и в обычную Arduino. Правда для этого потребуется программатор. Я использую самодельный USBAsp, но можно использовать и имеющуюся на руках Arduino в качестве ISP программатора.


Далее в меню выбрать Инструменты-Плата-Менеджер плат и в появившемся окне в списке Тип выьрать пункт Внесены и в списке дополнений найти и кликнуть по attiny by David A. Mellis. Появится кнопка Установить, которую и следует нажать.


После этого вы можете выбрать одну из поддерживаемых микросхем attiny в списке плат.

Настройка поддержки USBAsp в LInux
Для программирования ATTiny и ATMega внутрисхемно необходим программатор. Как я уже писал, я использую USBAsp и в Linux по умолчанию нет разрешения работать с USB устройствами напрямую для обычных пользователей. Можно просто запускать Arduino IDE с правами root, но гораздо удобнее прописать разрешение на работу с USBAsp.


В появившемся текстовом редакторе вставляем(ctrl-shift-v) следующий текст: SUBSYSTEM=="usb", ATTR=="16c0", ATTR=="05dc", GROUP="dialout", MODE="0666". После этого жмете ctrl-O и ctrl-X, чтобы сохранить файл и выйти.


После перезагрузки компьютера вы сможете без проблем использовать программатор USBAsp в системе Linux.

Программируем ATTiny
Для примера возьмем ATTiny45. Сначала нужно присоединить микроконтроллер программатору. Можно сделать это на макетной плате по следующей схеме.


Но гораздо лучше сделать свою плату для разработки для attiny и atmega как у меня. Также хорошим решением будет предусматривать 6-пиновый разъем для внутрисхемного программирования, куда можно будет подключить программатор, чтобы перепрошивать микроконтроллер непосредственно в устройстве.

Далее программатор можно подсоединить к компьютеру и запустить Arduino IDE где в меню Инструменты-Программатор выбрать пункт USBAsp. Затем выбрать Attiny25/45/85 а меню Инструменты-Плата. В меню Инструменты-Процессор выбрать Attiny45.

Также необходимо выбрать генератор частоты и саму, на которой будет оперировать микроконтроллер, в меню Инструменты-Clock . Если в вашей схеме нет кварца, то выбирайте частоты только с приставкой Internal. Это означает, что микроконтроллер будет полагаться на свой внутренний генератор частоты. Если вы выберите пункт с приставкой External, то микроконтроллер не будет работать, пока вы не подключите кварц к соответствующим ножкам. Частоту можете выбирать какую угодно. Если в вашей программе нет действий, которые должны выполняться за микросекунды, то имеет смысл использовать самую малую частоту. Если вам важны точные промежутки времени(например, измерение частоты), то лучше использовать частоту побольше и внешний кварц соответствующей частоты. В нашем примере выберем Internal 1MHz.


Если вы прошиваете конкретный микроконтроллер первый раз, а так же в случае смены частоты и источника частоты, необходимо сначала настроить микроконтроллер на выбранные параметры. Для этого выберите в меню пункт Инструменты-Записать загрузчик. Если все хорошо, то вы увидите надпись Запись загрузчика завершена.

Теперь вы можете загрузить скетч в микроконтроллер просто нажав кнопку Загрузка.

При написании микропрограмм в Arduino IDE следует руководствоваться картинкой ниже, чтобы знать какие порты IO среды Arduino соответствуют ножкам микроконтроллера.

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