No Image

Usbasp обновление прошивки с помощью arduino

161 просмотров
12 декабря 2019

Решил показать, какими программаторами я пользуюсь и пользовался раньше.

Самым простым программатором является программатор для LPT-порта. Чтобы собрать такой программатор потребуется всего лишь штеккер LPT и 4 сопротивления.

Это был мой первый программатор. К нему я припаял колодку для прошивки ATmega8. Питание 5В брал с разъема molex компьютера.

Главным минусом этого программатора является то, что сейчас трудно найти LPT порт. Он канул в лету. Я использовал завалявшуюся у меня терминальную станцию на базе Pentium III, которая загружалась с флешки и жутко тормозила, но для первых экспериментов хватало.

Вскоре мой коллега тоже заразился программированием микроконтроллеров и даже соорудил танк с беспроводным управлением! Ну а для отладки танка собрал программатор USBasp.

И я стал тоже им пользоваться. Надо сказать, что пользоваться им гораздо приятнее, причем на любом компьютере и операционке.

Негоже на халяву пользоваться чужим и я заказал с ebay себе китайский USBasp за скромную цену в 170 рублей.

Рейтинг продавца хороший, но к сюрпризам с китайцами все равно будь готов. И без них не обошлось. Программатор работает, но avrdude выдает такое сообщение:

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

Решено обновить прошивку. Долго высматривал схему USBasp и плату полученного девайса. Все совпало. Значит можно спокойно обновляться. Для обновления нам понадобиться еще один USBasp, благо у нас есть самопальный! Соединяем оба программатора их родным проводом ISP10. Контакты перемычки для обновления находятся под чипом ATmega с обратной стороны. Их нужно замыкать, когда обновляешь прошивку программатора.

Китайцы не перестают удивлять. Попробовал считать прошивку, дабы попробовать определить версию, ну и сделать резервную копию — получил кашу. Это значит, что выставлен Lock bit, он защищает прошивку от считывания. Защитить прошивку открытого проекта — очень логичное решение. Но тем кто захочет обновить прошивку своего программатора, все равно попробуйте сделать резервную копию.

Читайте также:  Включить вай фай через командную строку

Вообщем, зашил последнюю прошивку с официального сайта, прошивал только FLASH. Теперь все работает хорошо, avrdude ничего лишнего не пишет.

Еще один сюрприз кроется в том, что на программаторе стоит ATmega8L, который по документации работает на частоте до 8 МГц, но на программаторе он работает в разогнанном режиме с внешним кварцем на 12МГц. На долго ли его хватит?

Вот еще добрый человек выложил видео, как обновить прошивку.

Так же хотел похвастаться макетной платой. Шла вместе с модулем питания и проводами для отладки схем. Приобрел за 270 рублей.

Успехов в программировании микроконтроллеров!

Решил показать, какими программаторами я пользуюсь и пользовался раньше.

Самым простым программатором является программатор для LPT-порта. Чтобы собрать такой программатор потребуется всего лишь штеккер LPT и 4 сопротивления.

Это был мой первый программатор. К нему я припаял колодку для прошивки ATmega8. Питание 5В брал с разъема molex компьютера.

Главным минусом этого программатора является то, что сейчас трудно найти LPT порт. Он канул в лету. Я использовал завалявшуюся у меня терминальную станцию на базе Pentium III, которая загружалась с флешки и жутко тормозила, но для первых экспериментов хватало.

Вскоре мой коллега тоже заразился программированием микроконтроллеров и даже соорудил танк с беспроводным управлением! Ну а для отладки танка собрал программатор USBasp.

И я стал тоже им пользоваться. Надо сказать, что пользоваться им гораздо приятнее, причем на любом компьютере и операционке.

Негоже на халяву пользоваться чужим и я заказал с ebay себе китайский USBasp за скромную цену в 170 рублей.

Рейтинг продавца хороший, но к сюрпризам с китайцами все равно будь готов. И без них не обошлось. Программатор работает, но avrdude выдает такое сообщение:

Читайте также:  Зеркала настенные для ванн

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

Решено обновить прошивку. Долго высматривал схему USBasp и плату полученного девайса. Все совпало. Значит можно спокойно обновляться. Для обновления нам понадобиться еще один USBasp, благо у нас есть самопальный! Соединяем оба программатора их родным проводом ISP10. Контакты перемычки для обновления находятся под чипом ATmega с обратной стороны. Их нужно замыкать, когда обновляешь прошивку программатора.

Китайцы не перестают удивлять. Попробовал считать прошивку, дабы попробовать определить версию, ну и сделать резервную копию — получил кашу. Это значит, что выставлен Lock bit, он защищает прошивку от считывания. Защитить прошивку открытого проекта — очень логичное решение. Но тем кто захочет обновить прошивку своего программатора, все равно попробуйте сделать резервную копию.

Вообщем, зашил последнюю прошивку с официального сайта, прошивал только FLASH. Теперь все работает хорошо, avrdude ничего лишнего не пишет.

Еще один сюрприз кроется в том, что на программаторе стоит ATmega8L, который по документации работает на частоте до 8 МГц, но на программаторе он работает в разогнанном режиме с внешним кварцем на 12МГц. На долго ли его хватит?

Вот еще добрый человек выложил видео, как обновить прошивку.

Так же хотел похвастаться макетной платой. Шла вместе с модулем питания и проводами для отладки схем. Приобрел за 270 рублей.

Успехов в программировании микроконтроллеров!

Я купил программатор USBasp на Dx.com чтобы использовать с Arduino IDE для прошивки Arduino Pro mini.

Всё работало нормально, но выдавало вот такую ошибку:

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

В-общем требовалось обновление прошивки программатора USBasp.

Гугление в Интернете выдало вот такое решение:

  1. Качаем обновление прошивки отсюда .
  2. Распаковываем, и лучше сразу положить новую прошивку в папку с avrdude (у меня это было здесь: C:Program Files (x86)Arduinohardware oolsavrin).
  3. Подключаем USBasp программатор к Arduino Uno по схеме:
  4. На программаторе ставим джампер в позицию J1 (для этого я воспользовался скрепкой). Стоит отметить, что программаторы бывают разные, а значит и джампер может отличаться:
  5. Подключаем Arduino Uno, запускаем Arduino IDE, выбираем ArduinoISP и загружаем
  6. И нужно запомнить com-порт, к которому подключена Arduino Uno (Инструменты ⇒ Порт).
  1. Запускаем командную строку. Переходим в папку C:Program Files (x86)Arduinohardware oolsavrin. Проверяем подключение к USBasp, для этого вводим следующую команду: avrdude -C ../etc/avrdude.conf -c avrisp -P COM2 -b 19200 -p m8 -v (замените com-порт на ваш). Если всё в порядке, Вы получите вот такой результат:
  2. Теперь прошиваем наш программатор вот этой командой: avrdude –C ../etc/avrdude.conf –c avrisp –P COM2 –b 19200 –p m8 –U flash:w:usbasp.atmega8.2011-05-28.hex и должны получить вот такой результат:
  3. Поздравляю! Теперь можно использовать программатор по назначению!
Комментировать
161 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock detector