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:
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.
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.
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:
{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
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.
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.
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.