HackTheLife

Просто блог

ГлавнаяLinuxРешаем проблемыУстановка и настройкаDIYArduino и прочееСамогоноварениеКалькулятор самогонщикаРазноеВсякое разное

Обновление прошивки USBasp

09.05.2017

По работе нужно было загрузить прошивку в микроконтроллер ATtiny13A, метод переделки ардунки в программатор был испробован и отклонен из-за некоторых неудобств, включая отсутсвие лишней платки под это дело. Благополучно был найден купленный когда то давно на aliexpress программатор USBasp. Самый простой способ написать прошивку оказалось использовать Arduino IDE. Для поддержки этой микросхемки в IDE нужно установить нужные библиотеки, самое актуальное что нашлось на сегодняшний день лежит тут (инструкция по установке в описании):

https://github.com/MCUdude/MicroCore

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

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

После изучения гугла получилось найти такую инструкцию для обновления прошивки:

  1. Качаем официальную прошивку отсюда. (датирована 2011 годом)
  2. Распаковываем, ищем внутри файл "usbasp.atmega8.2011-05-28.hex" и копируем в паку "C:\Program Files (x86)\Arduino\hardware\tools\avr\bin" или где там у вас Arduino IDE расположено (путь актуален для версии 1.8).
  3. Подключаем USBasp программатор к Arduino Uno по схеме:

  4. На программаторе ставим джампер JP2 (если не распаян, можно замкнуть скрепкой). Программаторы бывают разные, у меня вот такой:
  5. Подключаем Arduino Uno (Nano), запускаем Arduino IDE, выбираем "Файл -> Примеры -> 11.ArduinoISP" и загружаем в плату
  6. Смотрим на каком COM порту наша ардуна "Инструменты -> Порт"
  7. Запускаем командную строку. Переходим в папку C:\Program Files (x86)\Arduino\hardware\tools\avr\bin. Проверяем подключение к USBasp, для этого вводим следующую команду:
    avrdude -C ../etc/avrdude.conf -c avrisp -P COM3 -b 19200 -p m8 -v (замените com-порт на ваш)
    Если всё в порядке, тополучите вывод без ошибок. Если посыпались какие-то ошибки, самое основное, проверяем еще раз подключение, очень часто ошибки сыпятся из-за плохих проводов/контактов.
  8. Как проверили программатор, желательно сохранить старую прошивку на всякий случай. Запускаем команду:
    avrdude -C ../etc/avrdude.conf -c avrisp -P COM3 -b 19200 -p m8 -U flash:r:firmware_old.hex:i
    хекс файл старой прошивки сохранится в папку с avrdude
  9. Теперь прошиваем наш программатор вот этой командой:
    avrdude -C ../etc/avrdude.conf -c avrisp -P COM3 -b 19200 -p m8 -U flash:w:usbasp.atmega8.2011-05-28.hex
  10. Все, программатор готов! У меня правда возникли проблемы с прошивкой ATtiny13A с установленной частотой 1.2MHz, если до прошивки все работало стабильно, то после пришлось устанавливать джампер JP3 для понижения частоты работы программатора, после чего все начало работать прекрасно.

 

Настройки сайта

Скоро тут будут настройки сайта