Errore nella programmazione di ATtiny85 con Arduino Nano

Ho un sistema Linux Ubuntu 14.04 LTS. Ho acquistato un Arduino Nano con cui ho fatto pratica hardware/software con soddisfazione, seguendo guide e forum, e con l'IDE versione 1.6.6 Hourly Build 2015/11/04 09:38, che dovrebbe essere la più recente. Adesso vorrei programmare degli ATtiny85 utilizzando Arduino Nano come ISP. Ho cercato in rete e le istruzioni più aggiornate per farlo e le ho trovate all'interno di un documento contenuto in questo download.
Nel documento viene spiegato molto bene come fare per programmare proprio un ATtiny85 e ho seguito le istruzioni. All'atto di caricare il bootloader, per settare i fuse dell'ATtiny85, l'IDE mi ha dato il seguente errore:

Arduino:1.6.6 Hourly Build 2015/11/04 09:38 (Linux), Scheda:"ATtiny x5, ATtiny85 @ 8 MHz (internal oscillator; BOD disabled)"

java.io.IOException: Cannot run program "{path}/bin/avrdude": error=2, File o directory non esistente
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)
.... e molti altri

Dovrebbero derivare tutti dal primo:

java.io.IOException: Cannot run program "{path}/bin/avrdude": error=2, File o directory non esistente

Ma avrdude esiste in /usr/bin/avrdude e ha i permessi giusti, quindi penso che l'errore stia nel trattamento della variabile {path} da parte di arduinopc.jar (?). Ma se {path} è equivalente alla variabile di sistema PATH, quest'ultima contiene anche /usr, quindi il programma dovrebbe trovare /usr/bin/avrdude.
Se sapessi come e dove {path} viene settata, o come e dove viene chiamato /usr/bin/avrdude potrei correggere, ma in java sono uno zero.
Scusate la prolissità, ma volevo essere chiaro.

Credo che avrdude venga cercato in /opt/arduino-1.6.6/hardware/tools/avr/bin/avrdude, dove, nel mio caso, /opt/arduino-1.6.6 è la directory dove ho installato Arduino. Vedi se lì c'è.

Grazie per la riposta.
Nel mio sistema avrdude è posizionato in /usr/share/arduino/hardware/tools/avr/bin/avrdude, insieme a tutti i suoi "compagni" avr-xxx.
Sembra allora che sia {path} che è settato male.
Devo fare un po' di prove, inserendo manualmente in $PATH anche il percorso /usr/share/arduino/hardware/tools/avr e vedere che succede.
Ti farò sapere

I vecchi core con la 1.6.5 e 1.6.6 non vanno. Troppi percorsi e file modificati.
Carica uno di questi tramite il menu impostazioni e il board manager
--> Unofficial list of 3rd party boards support urls · arduino/Arduino Wiki · GitHub
E' stata fatta una modifica tra 1.6.5 e 1.6.6, se il core si lamenta usa la 1.6.5.
Ad esempio Elektor rilascia 2 versioni, degli altri non ho idea se hanno aggiornato.
Prova il core di Drazzy. :slight_smile:

Grazie PaoloP.
Ho aggiunto
https://raw.githubusercontent.com/ElektorLabs/arduino/master/package_elektor-labs.com_ide-1.6.6_index.json
nello spazio: "URL aggiuntive per il gestore schede" del menu impostazioni.
Più tardi faccio qualche prova.
Per quel che riguarda il core di Drazzy, ho cercato con Google, ma non l'ho trovato.
Comunque prima le prove, poi cerco meglio Drazzy

EDIT: Ho trovato Drazzy :slight_smile:

Il core Elektor era solo un esempio.
Devi usare il core Drazzy, quello di Mellis o il Femto-Attiny.
Lo trovi nell'elenco.
--> http://drazzy.com/package_drazzy.com_index.json
--> https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
--> https://dl.dropboxusercontent.com/u/2807353/femtoCore/package_femtocow_attiny_index.json

Dopo averli aggiunti vai nel gestore schede (o board manger). Menu strumenti --> schede.
Ti apre la finestra con tutti i core e selezioni quello che vuoi aggiornare o installare.
Finita l'installazione trovi le nuove schede insieme a quelle classiche di Arduino.

Grazie PaoloP, avevo proprio bisogno di istruzioni un po' dettagliate.
I core che mi hai suggerito sono indifferenti, cioè posso sceglierne uno, oppure devo metterli tutti e tre?
E quello che avevo messo (https://raw.githubusercontent.com/ElektorLabs/arduino/master/package_elektor-labs.com_ide-1.6.6_index.json) devo toglierlo?
Solo per non incasinare di più l'IDE...

Uno solo, anche se metterli tutti, a parte renderti il menù delle schede lunghissimo, non dovrebbe causare problemi.

Io mi trovo bene con quello di DrAzzy, anche perché lui è molto disponibile e si attiva rapidamente a risolvere eventuali problemi.

Ok. Grazie anche a SukkoPera.
Ho realizzato un semplice comando di luci per un presepe (originale, eh?). Vorrei sostituire Arduino con un più semplice ATtiny85, più che sufficiente allo scopo.
Provo e vi so dire.

Purtroppo tutto come prima.
Ho aggiunto il core di DrAzzy come suggerito da SukkoPera, ma l'errore è sempre quello.
Ho impostato "Mostra un output dettagliato durante carica" ed è comparsa un'altra riga che indica proprio che avrdude non viene trovato nel {path} impostato dal programma:

Arduino:1.6.6 Hourly Build 2015/11/04 09:38 (Linux), Scheda:"ATtiny x5, ATtiny85 @ 8 MHz (internal oscillator; BOD disabled)"

{path}/bin/avrdude -C{path}/etc/avrdude.conf -v -v -v -v -pattiny85 -cstk500v1 -P/dev/ttyUSB0 -b19200 -e -Ulock:w:0xFF:m -Uefuse:w:0xFF:m -Uhfuse:w:0xD7:m -Ulfuse:w:0xE2:m
java.io.IOException: Cannot run program "{path}/bin/avrdude": error=2, File o directory non esistente
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:485)

più un'altra sessantina di errori derivati.
Continuerò a far prove cercando nel core.
Grazie a tutti
Piero

Prova a mettere la 1.6.6 stabile, non hourly build.

Devi cancellare il core di Leo.
Il core DrAzzy non da alcun problema.

Grazie dei consigli.
In effetti, andando a vedere il contenuto del file di configurazione .arduino15 ho notato una tremenda confusione sugli indirizzi dei file necessari all'IDE per funzionare.
SukkoPera hai preceduto la mia decsione: braso tutto e reinstallo dalla 1.6.6 stabile. Poi, come dice PaoloP, sostituisco il core di Leo con quello di DrAzzy.
Vi farò sapere.

Piero

Riprendo questo thread per informarvi che ho risolto.
Tutti i guai sono nati da uno stupido cambiamento di nomi di cartelle che non ricordavo di aver fatto.
Riassumo la mia situazione per chi ha Ubuntu 14.04 LTS, ma dovrebbe andar bene anche per altre distribuzioni basate su Debian.

  • Ho scaricato l'ultimissima versione dell'IDE (https://www.arduino.cc/download.php?f=/arduino-nightly-linux32.tar.xz)
  • L'ho estratta in una cartella CHE NON DEVE CHIAMARSI Arduino. Meglio se la estraete nella home
  • Ho aperto un terminale; sono andato nella cartella dove è stato estratto il software
  • Ho dato il comando: "./.install.sh"; ho chiuso il terminale
  • Ho eseguito "arduino" che sta nella stessa cartella (apre l'IDE)
  • In "File -> Impostazioni -> URL aggiuntive per il Gestore Schede" ho aggiunto: "http://drazzy.com/package_drazzy.com_index.json"
  • Ho confermato con OK; ho chiuso e riaperto l'IDE
  • In "Strumenti -> Scheda -> Gestione Schede" ho selezionato la scheda "ATTiny Core by Spencer Konde versione 1.0.6"
  • Lasciando stare "Seleziona una versione", che serve solo per le versioni precedenti, click su "installa"
  • Chiuso e riaperto l'IDE, in "Strumenti -> Scheda" sono comparse le serie ATTinyXX
    Ringrazio ancora SukkoPera e PaoloP per l'assistenza prestata.

Ultima nota.
Le versioni Hourly Build sono delle versioni beta in fase di sviluppo. Consigli di usare, a meno di non volere fare dei test specifici, le ultime versioni stabili disponibili nell'area download del sito di Arduino.cc.