Оглавление:

Как обновить прошивку на дешевом USBasp-Clone: 9 шагов
Как обновить прошивку на дешевом USBasp-Clone: 9 шагов

Видео: Как обновить прошивку на дешевом USBasp-Clone: 9 шагов

Видео: Как обновить прошивку на дешевом USBasp-Clone: 9 шагов
Видео: Обновление прошивки USBASP для AVR 2024, Июль
Anonim
Как обновить прошивку на дешевом USBasp-Clone
Как обновить прошивку на дешевом USBasp-Clone

Это небольшое руководство по прошивке новой прошивки на USBasp-клон вроде моего. Это руководство специально написано для клона USBasp, показанного на рисунках, однако оно должно работать и с другими. Схема подключения показана на шаге 5, на шаге 9 есть TL; DR.

Наслаждаться!

Шаг 1. Проблема

Проблема
Проблема
Проблема
Проблема

Avrdude сообщает мне, что у программатора, который я использую, устаревшая прошивка. Нормальной перемычки для самопрограммирования на моей плате нет. Вот как это исправить. Схемы USBasp можно найти на сайте fischl.de.

Шаг 2: Необходимые материалы

Тебе понадобится…

  • Паяльник
  • Arduino (желательно Nano)
  • Некоторые перемычки
  • ПК с установленной Arduino IDE и avrdude

Шаг 3: решение

Решение
Решение
Решение
Решение
Решение
Решение

Чтобы установить новую прошивку на ATmega8, нам нужно получить контроль над его выводом RESET. Обычно перемычка на USBasp может быть закрыта для включения самопрограммирования, однако производитель моей платы не включил ее.

На ATmega8 вывод RESET - это вывод 29, четвертый вывод сверху слева. Он подключен к подтягивающему резистору 10 кОм до 5 В. Мы должны подключить его к контакту 5 заголовка ICSP.

Мы могли бы попробовать припаять провод непосредственно к резистору или самому штырю, однако это утомительно и может повредить вашу плату. (Я попробовал и оторвал подтягивающий резистор, не рекомендую) Кроме того, есть способ намного проще!

Хотя производитель не включил настоящую перемычку для самопрограммирования, он поместил заголовок под микроконтроллер. Мы можем просто припаять провод поперёк и …

Шаг 4: Вуаля

Вуаля!
Вуаля!

Мы соединили два контакта сброса! Два отверстия внизу соединяют контакты 29 и 14 микроконтроллера.

Шаг 5: настройка Arduino

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

// #define USE_OLD_STYLE_WIRING

Теперь подключите Arduino к заголовку ICSP на вашем программаторе.

Ардуино USBasp

5V Контакт 2 (VCC) GND Контакт 4/6/8/10 (GND) Контакт 10 Контакт 5 (Сброс) Контакт 11 Контакт 9 (MISO) Контакт 12 Контакт 1 (MOSI) Контакт 13 Контакт 7 (SCK)

USBasp остается отключенным от ПК.

Откройте терминал и введите

avrdude -cavrisp -pm8 -b19200 -P [Здесь указывается номер вашего порта, он должен быть таким же, как в Arduino IDE]

Если все пойдет правильно, avrdude должен распечатать некоторую информацию о ATmega8 (предохранители, подпись и т. Д.)

Шаг 6: Прошивка ATmega8

Для прошивки чипа нам еще нужна прошивка. Зайдите на fisch.de и загрузите последнюю версию. Распакуйте архив и перейдите к нему с помощью оболочки.

Компиляция кода у меня не сработала, но, к счастью, в архиве есть все скомпилированные программы под

bin / прошивка

Здесь вы должны увидеть три файла.hex. Выберите тот, имя которого совпадает с названием вашей фишки. Мой программист использует ATmega8, поэтому я выбрал

usbasp.atmega8.yyyy-mm-dd.hex

При рабочем подключении к ATmega8 для его перепрошивки требуется только набрать

avrdude -cavrisp -pm8 -b19200 -P [ПОРТ] -U flash: w: [шестнадцатеричный файл]

Если все было сделано правильно, avrdude должен записать и проверить выбранную прошивку.

Шаг 7. Убедитесь, что программист работает

Убедитесь, что программист работает
Убедитесь, что программист работает

Чтобы снова использовать USBasp в качестве программатора, мы должны удалить соединение между контактом 29 и контактом 14. Достаточно разрезать перемычку внизу, однако удаление ее также не повредит.

Вы можете попробовать его, снова подключив его к ПК и набрав

avrdude -cusbasp -pm8

Даже если avrdude не может достичь цели, он должен, по крайней мере, подтвердить новую прошивку нашего программатора.

Шаг 8: Устранение неполадок

Исправление проблем
Исправление проблем

Если avrdude покажет такую ошибку, вероятно, это как-то связано с функцией автоматического сброса Arduino. Чтобы обойти это, добавьте конденсатор между RESET и GND Arduino. Обычно рекомендуется использовать конденсатор 10 мкФ, однако в моем случае конденсатор 100 мкФ работал нормально.

Если вы получите сообщение об ошибке

avrdude: error: programm enable: target не отвечает. 1

или возвращена недействительная подпись, проверьте проводку. У меня была проблема с тем, что мои силовые кабели ржавели и больше не проводили электричество. Я рекомендую заранее проверить все перемычки.

Также не забудьте поменять местами контакты 11 и 12 на Arduino, если проблема не исчезнет.

Также убедитесь, что для Arduino установлена правильная скорость передачи данных как ISP, 19200. Ее можно установить с помощью опции

-b19200

Если у вас есть вопросы или вы заметили ошибку, дайте мне знать:)

Шаг 9: TL; DR

  1. Припаяйте провод к двум контактам в нижней части платы.
  2. Настройте Arduino как ISP, убедившись, что включена старая схема подключения.
  3. Подключите Arduino к программатору через заголовок ICSP
  4. Прошить новую прошивку на программатор
  5. Снимаем соединение снизу
  6. Не срывайте резисторы SMD

Рекомендуемые: