-
配線確認
動作不具合の原因切り分けのため,まず,ハードウェア側が適切に措置されているか確認します。
- Arduino UNO Rev.3の基板ハックの確認
JP2の取り付け。TPICLK信号線の引き出し。 - Arduino UNO Rev.3と書込み対象AVRデバイスとの配線を確認
ISPモード TPIモード +5VはAVRISP-mkIIと異なり電圧出力
ATmega328Pは取り外す
TPIDATAはDO,D1を並列接続
TPICLKを取り出すには基板ハック(追加配線)が必要
+5VはAVRISP-mkIIと異なり電圧出力配線例:ATtiny13/45/85
配線例:ATtiny10
- Arduino UNO Rev.3の基板ハックの確認
-
不具合情報(再現未確認)
以下の情報が寄せられていますが,こちらではこれら不具合を確認していません。
- Macの dfu-programmer でfirmwareを書いたらダメでWinのFlipで書いたらOKだった。
- DFUブートローダが不調でfirmwareが正しく書き込まれず動作不良が起こっていた。
- DFUブートローダをAtmega16u2のICSPから書き込んで,
- DFUモードでcloneのfirmwareを再書き込みすれば正しく動いた。
- UNO R3のATmega16u2用DFUブートローダはArduino IDE 1.8.0付属のものを用いた。
-
libusbとの相性
AVRISP mkII Clone firmware と汎用USBデバイスドライバlibusbのバージョンによる相性が指摘されています。
AVRISP-MKII_ATmega16u2.zip(2017.01.13)は LUFA-151115です。
AVRISP-MKII_130303.zip(AVRISP-MKII_130303_toggle_driver.hex)は LUFA-130303です。 -
firmwareのソースコード
ソースコードはLUFAプロジェクトのgitで公開されています。
https://github.com/abcminiuser/lufa/releases lufa-LUFA-xxxxxxx/Projects/AVRISP-MKII/ -
動作検証環境・結果
こちらの環境(Mac OS X El Capitan 10.11.6 + avr-mac_v1.0.0.zip)での AVRISP mk2 Clone Arduino UNO Rev.3 (AVRISP-MKII_ATmega16u2.zip)でATtiny10とのTPIリンクをテストした結果です。
$ ./avrdude -C ../etc/avrdude.conf -c avrisp2 -P usb -p t10 -v -v -v -v avrdude: Version 6.3, compiled on Sep 12 2016 at 17:22:25 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "../etc/avrdude.conf" User configuration file is "/Users/kim/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : usb Using Programmer : avrisp2 avrdude: usbdev_open(): Found AVRISP mkII, serno: 000200212345 avrdude: Sent: . [01] avrdude: Recv: . [01] . [00] . [0a] A [41] V [56] R [52] I [49] S [53] P [50] _ [5f] M [4d] K [4b] 2 [32] avrdude: stk500v2_getsync(): found AVRISP mkII programmer AVR Part : ATtiny10 Chip Erase delay : 0 us PAGEL : P00 BS2 : P00 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 0 StabDelay : 0 CmdexeDelay : 0 SyncLoops : 0 ByteDelay : 0 PollIndex : 0 PollValue : 0x00 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- signature 0 0 0 0 no 3 16 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse 0 0 4 0 no 1 16 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- calibration 0 0 0 0 no 1 16 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lockbits 0 0 0 0 no 1 16 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 0 0 128 0 no 1024 16 0 0 0 0x00 0x00 Programmer Type : STK500V2 Description : Atmel AVR ISP mkII Programmer Model: AVRISP mkII avrdude: Sent: . [03] . [90] avrdude: Recv: . [03] . [00] . [00] avrdude: Sent: . [03] . [91] avrdude: Recv: . [03] . [00] . [01] avrdude: Sent: . [03] . [92] avrdude: Recv: . [03] . [00] . [18] Hardware Version: 0 Firmware Version Master : 1.24 avrdude: Sent: . [03] . [94] avrdude: Recv: . [03] . [00] ! [21] Vtarget : 3.3 V avrdude: Sent: . [03] . [98] avrdude: Recv: . [03] . [00] . [06] SCK period : 8.00 us avrdude: Sent: Q [51] . [02] avrdude: Recv: Q [51] . [00] avrdude: Sent: P [50] . [01] avrdude: Recv: P [50] . [01] . [00] avrdude: Sent: . [02] . [a4] . [e8] avrdude: Recv: . [02] . [00] avrdude: Sent: P [50] . [07] . [03] 3 [33] avrdude: Recv: P [50] . [07] . [00] avrdude: Sent: P [50] . [07] . [04] 2 [32] avrdude: Recv: P [50] . [07] . [00] avrdude: AVR device initialized and ready to accept instructions Reading | | 0% 0.00savrdude: Sent: . [06] . [00] . [00] . [00] . [00] avrdude: Recv: . [06] . [00] avrdude: Sent: P [50] . [05] . [01] . [00] . [00] ? [3f] . [c0] . [00] . [10] avrdude: Recv: P [50] . [05] . [00] . [1e] . [90] . [03] . [ff] . [ff] . [ff] 9 [39] J [4a] 6 [36] 0 [30] 5 [35] 9 [39] . [10] . [ff] = [3d] e [65] Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9003 (probably t10) avrdude: Sent: P [50] . [02] avrdude: Recv: P [50] . [02] . [00] avrdude done. Thank you.