ho abilitato il supporto ad arduino 2... sia con avrisp mkii che con usbtiny isp ottengo gli stessi errori.
ovviamente non vi sono connessi altri dispositivi su la board che voglio programmare
forse ho scoperto qualcosa:
I have performed a firmware switch. My drivers are properly installed.
Still I can't properly program my target with AVRDUDE. I also tested with the latest Arduino IDE.
What is the problem? Is my programmer bricked?
The hardware of your AVR-ISP-MK2 is fine.
There is a software bug that affects LUFA-based programmers in newest releases of AVRDUDE.
Either use AVRDUDE versions prior to 6.x.x or apply this patch to the AVRDUDE sources and compile.
The same problems appears in newest releases of Arduino IDE – they use AVRDUDE
versions 6.0.1 or newer. The last suitable Arduino IDE version that uses pre-6.x.x AVRDUDE
version is Arduino IDE 1.5.7.
The official bug report is here: https://savannah.nongnu.org/bugs/index.php?40831
More about the issue can be found here:
http://www.avrfreaks.net/forum/lufa-based-avrisp-mkii-doesnt-work-avrdude-601
ho scaricato la patch ma non ho ben chiaro come applicarla...
inoltre ho scaricato una versione dell'ide (1.5.5) più vecchia (che non dovrebbe essere affetta dal bug). In questa releas usbtiny isp funziona perfettamente, il programmatore olimex da lo stesso errore della versione più recente...
Aspetta, aspetta prima di giocare con queste cose ...
... avrdude 6.0.1 non mi da alcun problema con il AVRISP mkII quindi ... vediamo una cosa per volta.
Intanto, apri il terminale e lancia il comando "avrdude -v" e vediamo cosa ti dice e se lo hai installato anche fuori dell'IDE. Se non ce l'hai ... lo installiamo
Vai QUI ed scaricati CrossPack ... che è sempre utile (... e che ti installa avrdude 6.0.1 semplicemente raggiungibile da linea comando)
Io NON ho mai programmato via ISP un Arduino ... io ho sempre programmato i chip sciolti montati su apposita basetta con zoccolo e quindi ... NON so se si può programmare direttamente Arduino via ISP senza alcuna modifica.
Leggendo un vecchio documento di Michele, relativo alla programmazione ISP, vedo che c'è un problema con il pin di "reset" ... non vorrei quindi che ci siano dei problemi a programmare direttamente sulla board ...
Il suo vecchio documento lo puoi trovare QUI ... dagli un'occhiata ...
$ avrdude -v
avrdude: Version 6.1, compiled on Oct 13 2015 at 21:49:20
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/usr/local/Cellar/avrdude/6.1/etc/avrdude.conf"
User configuration file is "/Users/Carlo/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
avrdude: no programmer has been specified on the command line or the config file
Specify a programmer using the -c option and try again
Via ICSP con USBtiny ISP riesce a programmare senza problemi la board ArduinoUNO... non vedo motivo del perché AVR ISP MKII non dovrebbe riuscire... ad ogni modo, sempre con un atmega328 "standalone" l'avr asp mkii da lo stesso errore
max95:
ps. noto solo ora che nell'elenco delle board non è presente arduino DUE... come mai?
I core per la DUE, Galileo e altre schede si scaricano, a partire dalla 1.6.4, a parte.
Apri l'IDE, vai sul menù strumenti --> scheda -> board manger...
Scegli il core e premi install.
gpb01:
... un momento ... io sto usando la 6.0.1 non la 6.1 ... non vorrei che la nuova dia dei problemi ...
Hai provato ad installare CrossPack ? Quello contiene la 6.0.1 così puoi fare una verifica
Guglielmo
ok forse passettino passettino ci stiamo arrivando... avevo installato avrdude tramite brew... ora l'ho rimosso, infatti se da terminale digito avrdude non lo trova più...
poi ho scaricato ed installato crosspack, ma avrdude, da terminale, non risulta in elenco
Guglielmos-iMac:~ gpb01$ /usr/local/CrossPack-AVR-20131216/bin/avrdude -v
avrdude: Version 6.0.1, compiled on Dec 16 2013 at 17:26:24
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/usr/local/CrossPack-AVR-20131216/etc/avrdude.conf"
User configuration file is "/Users/gpb01/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
avrdude: no programmer has been specified on the command line or the config file
Specify a programmer using the -c option and try again
Guglielmos-iMac:~ gpb01$
... si trova in CrossPack ... lo puoi lanciare direttamente o aggiungere la path alla tua
Per esperienza, quando mi succedono queste cose, è cosa buona fermarsi e ripartire da zero.
Ho eliminato avrdude installato con brew, installandolo da sorgenti con una versione meno recente (5.11.1). Funziona.
Ho allestito per le prove un atmega328 standalone sul quale ho cariato il bootloader con il USBtinyISP. Di conseguenza posso affermare che ora, con questa configurazione, L'USBtinyISP programma correttamente sia da l'IDE 1.6.5 che dal 1.5.7...
l'AVR ISP MKII della olimex continua a dar il solito errore. un led sul programmatore lampeggia per circa 1 secondo, dopo di che compare l'errore nell'IDE.
Ora, a questo punto, volevo eliminare anche l'IDE, e vedere se almeno con avrdude riesco a buttare su un eseguibile. è corretto il seguente comando?
$ ./avrdude -p ATmega328P -P usb -c avrispmkII -U flash:w:Documents/Arduino/Blink1/Blink1.cpp.standard.hex
avrdude: stk500v2_recv_mk2: error in USB receive
avrdude: usbdev_send(): wrote -1 out of 1 bytes, err = usb_bulk_write: An error occured during write (see messages above)
avrdude: stk500_send_mk2(): failed to send command to serial port
Non so se ho capito bene, a me sembra di capire che su MAC sia necessario installare un modulo del kernel per avrispmkii, ora se è così, questo modulo dovrebbe creare un device file, il nome si dovrebbe potere ricavare dal comando dmesg, se non è così allora sul MAC ci deve essere installata la lib 'libusb' per accedere ai dispositivi USB da user space senza la necessità di un device file.
Nel secondo caso se avrdude è stato linkato alla libusb, se questa non è presente sul MAC si dovrebbe ricevere un errore diverso. Per vedere se avrdude è linkato con la libusb si può usare il comando 'ldd nomeeseguibile'.
MauroTec:
Non so se ho capito bene, a me sembra di capire che su MAC sia necessario installare un modulo del kernel per avrispmkii
Mmmm .... no, no, deve funzionare e basta ... io non ho installato assolutamente nulla ed avrdude funziona regolarmente, inoltre OS X ... non sa cosa sia ldd
L'equivalente dovrebbe essere il comando "otool -L" che mi da :
Guglielmos-iMac:~ gpb01$ otool -L /usr/local/CrossPack-AVR-20131216/bin/avrdude
/usr/local/CrossPack-AVR-20131216/bin/avrdude:
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 744.18.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
/usr/lib/libedit.dylib (compatibility version 2.0.0, current version 3.0.0)
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
Guglielmos-iMac:~ gpb01$
... ecco, quello che invece potrebbe essere influente è ... hai installato Xcode ed i "Command Line Tools" ? Ed hai poi eseguito il comando "xcode-select --install" ?
Perché varie cose su OS X sono dipendenti dall'installazione di Xcode e dei suoi tools ... :
Guglielmo
P.S.: Considera che sul fisso ho si brew e varie utility installate, ma sul portatile NON ho mai installato brew e quindi nulla di aggiuntivo oltre XCode ed i suoi tools e ... avrdude lo uso sempre sul portatile :D.
Riccomi qui per l'appuntamento quotidiano per le mie difficoltà
ovviamente xcode installato correttamente..
Programmazione attraverso l'USBtiny ISP (e quindi avrdude ecc. direi che funzionano a dovere)
./avrdude -p ATmega328P -P usb -c usbtiny -U flash:w:/Users/Carlo/Documents/Arduino/Blink1/Blink1.cpp.standard.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/Users/Carlo/Documents/Arduino/Blink1/Blink1.cpp.standard.hex"
avrdude: input file /Users/Carlo/Documents/Arduino/Blink1/Blink1.cpp.standard.hex auto detected as Intel Hex
avrdude: writing flash (1068 bytes):
Writing | ################################################## | 100% 1.31s
avrdude: 1068 bytes of flash written
avrdude: verifying flash memory against /Users/Carlo/Documents/Arduino/Blink1/Blink1.cpp.standard.hex:
avrdude: load data flash data from input file /Users/Carlo/Documents/Arduino/Blink1/Blink1.cpp.standard.hex:
avrdude: input file /Users/Carlo/Documents/Arduino/Blink1/Blink1.cpp.standard.hex auto detected as Intel Hex
avrdude: input file /Users/Carlo/Documents/Arduino/Blink1/Blink1.cpp.standard.hex contains 1068 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.99s
avrdude: verifying ...
avrdude: 1068 bytes of flash verified
avrdude: safemode: Fuses OK (H:05, E:DE, L:FF)
avrdude done. Thank you.
Stesso comando, ma con l'AVR ISP MKII
./avrdude -p ATmega328P -P usb -c avrispmkII -U flash:w:/Users/Carlo/Documents/Arduino/Blink1/Blink1.cpp.standard.hex
avrdude: stk500v2_recv_mk2: error in USB receive
avrdude: usbdev_send(): wrote -1 out of 1 bytes, err = usb_bulk_write: An error occured during write (see messages above)
avrdude: stk500_send_mk2(): failed to send command to serial port
Lettura dei fuse:
./avrdude -P usb -c avrispmkII -p ATmega328P -qq -U lfuse:r:/tmp/LOW.tmp:h -U efuse:r:/tmp/EXTENDED.tmp:h -U hfuse:r:/tmp/HIGH.tmp:h
avrdude: stk500v2_recv_mk2: error in USB receive
avrdude: usbdev_send(): wrote -1 out of 1 bytes, err = usb_bulk_write: An error occured during write (see messages above)
avrdude: stk500_send_mk2(): failed to send command to serial port
il tutto utilizzando avrdude 6.0.1 contenuto nel CrossPack-AVR
avrdude: stk500v2_recv_mk2: error in USB receive
avrdude: usbdev_send(): wrote -1 out of 1 bytes, err = usb_bulk_write: An error occured during write (see messages above)
avrdude: stk500_send_mk2(): failed to send command to serial port
il tutto utilizzando avrdude 6.0.1 contenuto nel CrossPack-AVR
Al momento limitiamoci alla lettura dei Fuse ... che DEVE andare ...
... altrimenti, a questo punto, c'è un problema sul programmatore. :
Non ricordo se lo hai detto in precedenza ... su che macchina sei (iMac, Macbook xxxx, ...) e con che sistema operativo?
Considera che io, al momento, mi sono ben guardato di aggiornare alla 10.11.x (El Capitan) ma sono su Yosemite e che quindi tutto quello che ti dico si riferisce a OS X 10.10.5.
Mi spiace, ma ho idea che quel programmatore sia difettoso ...
ho preso il vecchio iMac di mi moglie su cui è installato già El Capitan
ho installato AVRFuses
ho installato Crosspack ... e qui già c'è una differenza con te ... appena installato, ho aperto il terminale, ho lanciato avrdude -v e ... ha immediatamente trovato in Crosspack SENZA che io abbia dovuto aggiungere a mano nessuna path !
Ho collegato il mio AVRISP mkII (originale Atmel), collegata la mia basetta con sopra un ATmega328p e lanciato il comando per la lettura dei Fuse ... letti regolarmente senza alcun problema.
Quindi ...
... ho hai incasinato così tanto il S.O. che il miglior consiglio sarebbe di reinstallarlo da zero (ma non vedo come tu possa aver fatto), o il programmatore ha dei problemi.
Guglielmo
P.S.: naturalmente sto dando per scontato che ... ... tu inserisca il connettore ISP a 6 pin nel verso giusto e non rovesciato