AVRISP MkII для avrdude и Arduino
Программатор AVRISP MkII, а точнее его клон AVRISP XPII производства Waveshare Electronics, отлично работавший с Atmel Studio 6-7, и умеющий прошивать огромный список микроконтроллеров по протоколам ISP, PDI и TPI, отказался работать с avrdude и Arduino под Windows 10 x64, выдавая такое сообщение об ошибке:
avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2104)
Вот лог avrdude:
D:\avrdude\avrdude -v -p m328p -c avrispmkII -e -U flash:w:TransistorTester.hex avrdude: Version 6.3, compiled on Feb 17 2016 at 09:25:53 Copyright (c) 2000-2005 Brian Dean, //www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "D:\avrdude\avrdude.conf" Using Port : usb Using Programmer : avrispmkII avrdude: usbdev_open(): did not find any USB device "usb" (0x03eb:0x2104) avrdude done. Thank you.
После небольшого разбирательства, проблема была найдена в драйвере, установленном Atmel Studio. Для работы AVRISP MkII с avrdude и Arduino требуется драйвер libusb-win32. Для его установки нужна утилита Zadig, скачать её можно на официальном сайте 0.
Запускаем Zadig, ставим галочку вOptions -> List All Devices
.Выбираем AVRISP mkII и драйвер libusb-win32
Идём в Диспетчер задач и проверяем появилось ли новое устройство AVRISP mkII?
Появилось! Проверим его работу.D:\avrdude\avrdude -v -p m328p -c avrispmkII -e -U flash:w:TransistorTester.hex avrdude: Version 6.3, compiled on Feb 17 2016 at 09:25:53 Copyright (c) 2000-2005 Brian Dean, https://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "D:\avrdude\avrdude.conf" Using Port : usb Using Programmer : avrispmkII avrdude: usbdev_open(): Found AVRISP mkII, serno: 0000B8080308 AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : STK500V2 Description : Atmel AVR ISP mkII Programmer Model: AVRISP mkII Hardware Version: 1 Firmware Version Master : 1.24 Vtarget : 4.8 V SCK period : 4.00 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x1e950f (probably m328p) avrdude: safemode: hfuse reads as DE avrdude: safemode: efuse reads as FD avrdude: erasing chip avrdude: reading input file "TransistorTester.hex" avrdude: input file TransistorTester.hex auto detected as Intel Hex avrdude: writing flash (30614 bytes): Writing | ################################################## | 100% 5.90s avrdude: 30614 bytes of flash written avrdude: verifying flash memory against TransistorTester.hex: avrdude: load data flash data from input file TransistorTester.hex: avrdude: input file TransistorTester.hex auto detected as Intel Hex avrdude: input file TransistorTester.hex contains 30614 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 5.60s avrdude: verifying ... avrdude: 30614 bytes of flash verified avrdude: safemode: hfuse reads as DE avrdude: safemode: efuse reads as FD avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF) avrdude done. Thank you.
AVRISP MkII с avrdude заработал! Zadig работает с Windows 7-10 x86/x64. Если нужна работа с Atmel Studio придётся переключиться на их собственный драйвер.