October 24th, 2019

Перепрошивка китайского USBAsp программатора

Для программирования AVR микроконтроллеров удобно использовать USBAsp программатор. Китайская версия стоит до 2$, но родная прошивка не USBAsp - её надо менять. Родная программа ProgISP1.72.



После прошивки программатор будет определяться как usbasp и поддерживаться avrdude.
Проверено на MX-USBISP-V4.00 и MX-USBISP-V5.00.

Для прошивки требуется плата arduino (as isp программатор) или другой программатор.

Прошивка при помощи уже вылеченного китайского программатора:


1. Скачиваем НЕ оригинальную прошивку USBASP, т.к. китайцы поменяли пины в своих программаторах тут. Версия для atmega88v (/bin/firmware/usbasp.atmega88-modify.hex)

2. Устанавливаем драйвер для вылеченного USBAsp (libusbK)

3. Скачиваем avrdude утилиту

4. Разбираем оригинальный USBAsp, который хотим перепрошить. Замыкаем два контакта (проводом навесу или пайкой).


5. Соединяем родным шлейфом вылеченный и оригинальный USBAsp. Отличие вылеченного - у него горит синий светодиод. У оригинального - красный.
Подключаем вылеченный программатор к ПК и выполняем:

avrdude -c usbasp -P usb -p m88 -B 1 -U flash:w:usbasp.atmega88-modify.hex

Если фьюзы не HFUSE=0xdd LFUSE=0xff, то изменяем и их:
avrdude -c usbasp -P usb -p m88 -B 1 -U lfuse:w:0xff:m -U hfuse:w:0xdd:m

6. Отсоединяем перемычку оригинального USBAsp - светодиод должен загореться синим. Поздравляю!

7. Подключение в USB теперь покажет libusbK устройство.

Прошивка при помощи ардуино:


1. Прошиваем плату Ардуино как программатор ISP

2. Разбираем оригинальный USBAsp, который хотим перепрошить. Замыкаем два контакта (проводом навесу или пайкой).

3. Подключаем ардуино к оригинальному USBAsp по SPI + питание. Ардуино подключаем к ПК.



4. avrdude -p m88 -P COM1 -c avrisp -b 19200 -B 1 -U flash:w:usbasp.atmega88-modify.hex
COM1 - замените на свой порт
-B 1 возможно можно убрать.


Источник:
drive.ru
Фото: github @aleh
прошивки