ciao a tutti,
vorrei caricare un file .hex nel mio arduino leonardo... come devo fare???? usando teensy è facilissimo perchè ho un programmino molto semplice dove selezioni il file .hex e lo programmi direttamente sulla scheda collegata tramite usb... con arduino leonardo di cosa ho bisogno?? che passaggi devo fare??
grazie a chi mi aiuterà
Stessa cosa, devi usare avrdude, che è lo stesso che usa l'IDE di Arduino (ti consiglio di usare quello che trovi appunto nella cartella arduino\hardware\tools\avr\bin). QUI trovi la documentazione di come si usa, ma se programmi una scheda con l'IDE vedi anche, nella finestrella in basso, esattamente i parametri che l'IDE usa
Guglielmo
ho provato ad aprire avrdude ma non me lo apre, neanche come amministratore... la guida è tutta in inglese, non esiste qualcosa in italiano?
update: ho scaricato da google anche un altro avrdude ma col doppio click si apre una frazione di secondo e poi si chiude... uguale se lo faccio partire da amministratore e non cambia niente se gli dò la compatibilità con XP SP2
devi farlo partire dalla shell di window e passargli i parametri corretti che puoi copiare come ti a spiegato gpo1 ma esiste anche una un programma che fa da finestra di interfaccia verso avrdude non mi ricordo come si chiama ma se cerchi su google lo trovi di sicuro.
Ciao
rslogix52:
... esiste anche una un programma che fa da finestra di interfaccia verso avrdude ...
... eccolo QUI.
Guglielmo
gpb01:
... eccolo QUI.Guglielmo
Grazie 1000!!!! perfetto!!
Ultima cosa, che baud rate e quale bit clock devo impostare per il mio arduino leonardo??? (ATmega16u2)
purtroppo non c'è come preset il leonardo
Credo, e ripeto credo (NON l'ho provato), che basti editare il file "presets.xml" con un editor di testo (notepad per intenderci) ed aggiungere, rispettando la struttura che vedi nel file, le seguenti righe:
<Preset>
<programmer>arduino</programmer>
<mcu>m32u4</mcu>
<port>COM1</port>
<baud>57600</baud>
<bitclock />
<flashFile />
<flashFormat>a</flashFormat>
<flashOp>w</flashOp>
<EEPROMFile />
<EEPROMFormat>a</EEPROMFormat>
<EEPROMOp>w</EEPROMOp>
<force>false</force>
<disableVerify>false</disableVerify>
<disableFlashErase>false</disableFlashErase>
<eraseFlashAndEEPROM>false</eraseFlashAndEEPROM>
<doNotWrite>false</doNotWrite>
<lfuse>0xFF</lfuse>
<hfuse>0xD8</hfuse>
<efuse>0xCB</efuse>
<setFuses>false</setFuses>
<lockBits>0xFF</lockBits>
<setLock>false</setLock>
<additional />
<verbosity>0</verbosity>
<name>Arduino Leonardo (ATmega32U4)</name>
</Preset>
... ed usare il bottone "import" per importarlo (escono una serie di warning, ma il file sembra venga letto correttamente).
Prova e fammi sapere
Guglielmo
ho modificato il file presets e l'ho importato... escono i warning ma lo ha importato correttamente, grazie 1000
edit: scusa ma che errore sarebbe questo? su google non trovo nulla
: avrdude -u -c arduino -p m32u4 -P COM6 -b 57600 -U flash:w:"C:\Users\Fantsy\Desktop\Snowball\snowball-thrower\Joystick.hex":a
>FantsyWorld: Quando si quota un post, NON è necessario riportarlo (inutilmente) tutto; bastano poche righe per far capire di cosa si parla ed a cosa ci si riferisce, inoltre, se si risponde al post immediatamente precedente, normalmente NON è necessario alcun "quote" dato che è sottinteso.
Gli utenti da device "mobile" ringrazieranno per la cortesia
Guglielmo
P.S.: Ho eliminato io il "quote" dal tuo post qui sopra
FantsyWorld:
edit: scusa ma che errore sarebbe questo? su google non trovo nulla: avrdude -u -c arduino -p m32u4 -P COM6 -b 57600 -U flash:w:"C:\Users\Fantsy\Desktop\Snowball\snowball-thrower\Joystick.hex":a
Questo NON è un errore, questo è la linea comando che viene preparata ed inviata ... la stessa che avresti dovuto scrivere TU a mano nel terminale quando ti dicevo di studiare come si usa avrdude.
Però avrdude dovrebbe invece, dopo, dare una serie di messaggi ed indicare come è andata la programmazione ...
... cosa appare dopo ?
Guglielmo
gpb01:
Questo NON è un errore, questo è la linea comando che viene preparata ed inviata ... la stessa che avresti dovuto scrivere TU a mano nel terminale quando ti dicevo di studiare come si usa avrdude.Però avrdude dovrebbe invece, dopo, dare una serie di messaggi ed indicare come è andata la programmazione ...
... cosa appare dopo ?Guglielmo
non esce nulla...
: avrdude -u -c arduino -p m32u4 -P COM6 -b 57600 -U flash:w:"C:\Users\Fantsy\Desktop\Snowball\snowball-thrower\Joystick.hex":a
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
: avrdude -u -c arduino -p m32u4 -P COM6 -b 1200 -U flash:w:"C:\Users\Fantsy\Desktop\Snowball\snowball-thrower\Joystick.hex":a
ho provato a cambiare baud rate ma non cambia nulla, do il GO ma non esce nulla se non questa stringa azzurra, per questo ho pensato ad un errore anche se tale non è
Il baud rate NON lo devi cambiare, visto che il bootloader della Leonardo lavora a quella velocità !
Ma la Leonardo sulla COM6: è collegata ? ? ? Ed il programma l'ha caricato ? ? ?
Guglielmo
gpb01:
Il baud rate NON lo devi cambiare, visto che il bootloader della Leonardo lavora a quella velocità !Ma la Leonardo sulla COM6: è collegata ? ? ? Ed il programma l'ha caricato ? ? ?
Guglielmo
Si sul COM6 c'è arduino leonardo collegato, tanto che se tolgo l'usb perdo la COM6, appena la ricollego torna COM6... anche in gestione dispositivi ho il COM6 con Arduino Leonardo
ho provato a fare Detect a destra ora e mi da errore hai ragione non lo vede...
avrdude.exe: stk500_recv(): programmer is not responding
avrdude.exe: stk500_getsync() attempt 10 of 10: not in sync: resp=0x3b
avrdude.exe: ser_drain(): read error: Il dispositivo non riconosce il comando.
Errore mio, nella parte della Leonardo che hai aggiunto, prova a modificare la seguente riga e ricarica il file con le definizioni (dopo aver cancellato tutte le precedenti, meno la default, così hai una cosa pulita).
arduino
in questo modo:
avr109
Guglielmo
gpb01:
Errore mio, nella parte della Leonardo che hai aggiunto, prova a modificare la seguente riga e ricarica il file con le definizioni (dopo aver cancellato tutte le precedenti, meno la default, così hai una cosa pulita).arduino
in questo modo:
avr109
Guglielmo
ok ho cambiato arduino con avr109, ora mi da questo errore qui
: avrdude -u -c avr109 -p m32u4 -P COM6 -b 57600 -U flash:w:"C:\Users\Fantsy\Desktop\Snowball\snowball-thrower\Joystick.hex":a
Connecting to programmer: .avrdude.exe: butterfly_recv(): programmer is not responding
Prova a leggere QUI ... :
Guglielmo
Ok sono riuscito a farlo partire ma sono usciti un'altra serie di errori, uff, sbaglio io qualcosa?
Found programmer: Id = "F"; type = @
Software Version = ÿ.t; Hardware Version = V.È
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: error: programmer did not respond to command: leave prog mode
avrdude.exe: butterfly_recv(): programmer is not responding
avrdude.exe: error: programmer did not respond to command: exit bootloader
avrdude.exe done. Thank you.
Guarda, a questo punto non so che dirti, io avrdude lo uso da linea comando senza inutili interfaccie grafiche,
Fai una cosa, lancia l'IDE, verifica che nelle preferenze sia messo il segno di spunta alle due opzioni di "dettaglio" (verbose) sia per la compilazione che per l'upload e carica sulla Leonardo il programma "Blink".
Al termine della compilazione, prima di tutte le scritte arancioni di avrdude, In basso, ti apparirà la riga con cui esso viene messo in esecuzione. La copi, cambi il .hex e la esegui dal prompt del dos (oltretutto io sono su macOS e quindi ho anche alcune difficoltà a seguire la cosa su Win).
Guglielmo
Ecco, guarda, ho usato una macchina Win che ho da parte per caricare il Blink su una Leonardo. E' una vecchia installazione dell'IDE fatta in una determinata cartella che ho sull disco D:, quindi tu dovrai poi cambiare tutti i percorsi per la tua installazione, comunque:
D:\Programmi\arduino-1.8.6\hardware\tools\avr/bin/avrdude
-CD:\Programmi\arduino-.8.6\hardware\tools\avr/etc/avrdude.conf -v -patmega32u4 -cavr109
-PCOM8 -b57600 -D -Uflash:w:C:\Users\gpb01\AppData\Local\Temp\arduino_build_2448/Blink.ino.hex:i
Quello in blu è la porta COMx su cui è collegata la leonardo, quello in arancione è il percorso del .hex che veine caricato. Dove vedi D:\ è il mio disco D: con le path relative ad esso, chiaramente tu devi aggiustare il tutto in funzione della tua configurazione.
Guglielmo
P.S.: Ovviamente è tutto su un'unica riga
ok grazie 1000, piu tardi appena torno a casa ci provo