Заставляем работать AVR isp mkii clone на windows 10 и Atmel Studio 7:

После обновления до Atmel Studio 7 avr isp mkii clone перестал работать.


Исходные данные:

Программатор avr isp mkii clone на at90usb162 16МГц

1. Подготовка среды для сборки прошивки с fw 1.8 и режимом переключения совместимости

— устанавливаем Atmel Studio 7;

— кроме того для компилятора устанавливаем набор портированных *nix утилит: BASH *nix shells, и *nix утилит таких как cut, find и sed:

с сайта mingw скачиваем инсталятор и при установке выбираем следующие пункты: mingw32-base, mingw32-binutils и msys-base, инсталятор сам установит все зависящие пакеты;

— с сайта скачиваем архив LUFA библиотек с проектами, распаковываем в корень системного диска (c:\lufa-master\… );

— в переменных средах PATH для пользователя и для системы дописываем (! пример):
C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin;C:\MinGW\msys\1.0\bin
(пути будут зависить от типа ОС и предпочтений пользователя)

2. Правка исходников прошивки и копиляция

— правим файл C:\lufa-master\Projects\AVRISP-MKII\make (прописываем свой камнь и частоту)

MCU          = at90usb162
ARCH         = AVR8
BOARD        = USBTINYMKII
F_CPU        = 16000000
F_USB        = $(F_CPU)
OPTIMIZATION = s
TARGET       = AVRISP-MKII

— правим файл C:\lufa-master\Projects\AVRISP-MKII\Config\AppConfig.h (разрешаем переключение режимов совместимости):

//    #define LIBUSB_DRIVER_COMPAT
      #define RESET_TOGGLES_LIBUSB_COMPAT

— правим файл C:\lufa-master\Projects\AVRISP-MKII\Lib\V2ProtocolParams.h (тут указываем совместимость версии прошивки 1.8):

#define FIRMWARE_VERSION_MINOR   0x18

сборка:

— открываем камандную строку AS 7 command promt и пишим команды построчно:

 cd C:\lufa-master\Projects\AVRISP-MKII\
        make all

— после этого в данном (C:\lufa-master\Projects\AVRISP-MKII\) каталоге должен появиться hex файл прошивки (который прошиваем с помощью Flip введя программатор в режим DFU);

— после прошивки режим совместимости в программаторе выбирается нажатием RESET и сохраняется в памяти;

— для очистки каталога от результатов компиляции можно выполнив команду:

        make clean

3. Настройка ОС

— Скачиваем Zadig. Zadig это USB driver менеджер для Windows, позволяет подменять драйвер. Последняя версия идет с libusb-win32 (v1.2.6.0) драйвером.

— Открываем Zadig, Options, List All Devices. Из списка выбираем AVRISP mkII (прежде при первом подключении программатора следует сменить режим).

— Смeнить текущий драйвер на libusb-win32 (v1.2.6.0)

Перезагрузка не требуется.

© Geektimes