Для примера сделаем программатор на основе Atmega88 и попробуем прочитать прошивку с другой Atmega88!
Также установим на Linux Rosa Fresh R12 графическую оболочку для Avrdude – AVR8 Burn-O-Mat.
Схема будет следующая:
Собирал её по следующей схеме:
https://fischl.de/usbasp/
Прошивку hex файл можно скачать здесь:
Скачать прошивку usbasp.2011-05-28 в архиве tar.gz
Скачать прошивку usbasp.2011-05-28 в архиве zip
Hex файл находится здесь:
Действия по изготовлению программатора USBasp:
1. Прошиваем Atmega88 hex файлом из архива выше – можно использовать простейший программатор – 5 проводков через LPT порт + программа PonyProg2000 или Avrdude
Программатор – 5 проводков через LPT порт:
—————————————
Схема LPT Atmel AVR простой программатор: ATmega8, ATmega48, ATmega88, ATmega168 и некоторые другие в DIP28.
Программатор 5 проводков для других Atmeg в этой статье – https://gameforstreet.ru/avr-prostye-i-prostejshie-programmatory/
——————————————
Программу PonyProg2000 можно скачать здесь – скачать.
2. Прописываем фьюзы в PonyProg2000 для Atmega88 следующие:
3. Вставляем компоненты и провода.
4. Устанавливаем драйверы:
Для Windows XP устанавливал вот эти драйверы:
Для Linux, в моем примере использовал свою ОС Linux Rosa Fresh R12 Plasma – устанавливаем avrdude:
urpmi avrdude
Отключаем программатор от компьютера и создадим файл с правилом что разрешает доступ к программатору USBAsp всем пользователям на компьютере, выполним команду:
sudo nano /etc/udev/rules.d/60-objdev.rules
После запуска откроется текстовый редактор, вставьте в него вот этот код:
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE="0666", SYMLINK+="USBasp"
Выходим из редактора и сохраняем файл (CTL+X и Y).
Для того чтобы в Linux наш скрипт заработал можно перезагрузить ОС.
5. Проверяем работу программатора Usbasp
avrdude -p m8 -c usbasp -P usb -n
Если все подключено и настроено как нужно то то вывод программы будет выглядеть вот таким образом:
А теперь давайте считаем прошивку микроконтроллера что хранится во Flash-памяти и сохраним ее в файл.
Считывание Flash для программатора USBAsp, но для сначала скопируйте какой-нибудь hex файл, положите его например в домашнюю папку и переименуйте в 111.hex например:
avrdude -p m8 -c usbasp -P usb -U flash:r:/home/alisa7/111.hex:i
После выполнения команды – файл 111.hex перепишется и будет содержать данные из флешь-памяти микроконтроллера.
———————————-
Для начала сверим идентификаторы устройства и убедимся что у нас действительно программатор USBAsp. Подключаем программатор к USB порту ноутбука и смотрим лог последних событий системы за текущий день:
sudo journalctl -f
К примеру, в конце вывода последней команды увидим вот что:
Oct 11 13:11:52 alpha5 kernel: usb 1-2: new low-speed USB device number 9 using xhci_hcd Oct 11 13:11:52 alpha5 kernel: usb 1-2: New USB device found, idVendor=16c0, idProduct=05dc Oct 11 13:11:52 alpha5 kernel: usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Oct 11 13:11:52 alpha5 kernel: usb 1-2: Product: USBasp Oct 11 13:11:52 alpha5 kernel: usb 1-2: Manufacturer: www.fischl.de
———————————-
6. Скачиваем графическую оболочку для ardude – AVR8 Burn-O-Mat
Скачать можно здесь: http://avr8-burn-o-mat.brischalle.de/
Или здесь:
– Скачать AVR8 Burn-O-Mat в формате zip
– Скачать AVR8 Burn-O-Mat в формате tar.gz
7. Запускаем файл start.sh и настраиваем AVR8 Burn-O-Mat
Прописываем, где находятся файлы avrdude в настройках AVR8 Burn-O-Mat
На моей ОС Linux Rosa Fresh R11:
/user/bin/avrdude
/etc/avrdude/avrdude.conf
Прописываем права доступа к файлу avrdude.conf
chmod 777 avrdude.config
8. Читаем фьюзы и прошивку!
Видео инструкция:
“rutube.ru/video/d7770a567ff9d3c13df7ed36f8601720/”