Go Down

Topic: Atmega a prezzo stracciato (Read 22669 times) previous topic - next topic

Erilu

Ciao a tutti,
volevo sapere se qualcuno era riuscito a caricare il bootloader per l'UNO con un 2009 usato come ISP... Questa domanda per la seguente frase nella pagina http://arduino.cc/en/Tutorial/ArduinoISP :

"NOTE: Currently, you cannot use an Arduino Uno as an ISP programmer because the optiboot bootloader does not support this sketch. A revision for this is in progress."  :(

Se qualcuno è riuscito a caricare il bootloader dell'UNO su un Atmega328 vergine, con o senza programmatore esterno, sarebbe fantastico sapere come (magari con qualche dettaglio/consiglio)... scusate l'inesperienza in materia ma stavo valutando se acquistare o meno degli Atmega vergini da usare con un Arduino Uno e, prima di fare un acquisto inutile, preferivo chiedere a chi è più esperto di me (e credo che almeno il 99,9% degli utenti di questo forum lo sia...)  :)

Volevo usarli per caricare uno sketch diverso su ciascun Atmega e poi intercambiarli sull'Uno invece di riprogrammare sempre lo stesso!

Un salutone e un grazie anticipato!


xelendilx

Se hai un vecchio pc con una porta parallela valuta questo


http://www.arduino.cc/en/Hacking/ParallelProgrammer

astrobeed

#62
Feb 28, 2011, 04:51 pm Last Edit: Feb 28, 2011, 05:22 pm by astrobeed Reason: 1

volevo sapere se qualcuno era riuscito a caricare il bootloader per l'UNO con un 2009 usato come ISP... Questa domanda per la seguente frase nella pagina http://arduino.cc/en/Tutorial/ArduinoISP :

"NOTE: Currently, you cannot use an Arduino Uno as an ISP programmer because the optiboot bootloader does not support this sketch. A revision for this is in progress."  :(


La frase dice "correntemente non è possibile usare un Arduino UNO come programmatore ISP perché il bootloader optiboot non supporta il relativo sketch. Una revisione per questa problema è allo studio."

Quindi mi pare ovvio che se usi un Arduino 2009 puoi caricare il bootloader della UNO su un ATmega 328p vergine o preprogrammato che sia.
Se vuoi una ulteriore conferma te la do io perché ho provato personalmente ad usare lo sketch ISP programmer su Arduino 2009 per caricare il bootloader, sia 2009 che UNO, sui dei 328p, però attenzione che è indispensabile bloccare l'autoreset della 2009, va tagliata una pista, affinché lo sketch possa funzionare, in alternativa usare una Luigino 328 con lo SmartReset attivo.

Erilu


Se hai un vecchio pc con una porta parallela valuta questo


http://www.arduino.cc/en/Hacking/ParallelProgrammer


Grazie xelendilx,
purtroppo ho a disposizione un PC "nuovo" (tra virgolette), nel senso che è vecchio ma non ha una porta parallela... ne ho uno in cantina ma è spento da anni!!!  :(
Inoltre non mi è molto chiaro come procedere dal punto di vista software!!! (ovvero se basta l'IDE di Arduino o se è necessario dotarsi di qualche programmino ad hoc!)


La frase dice "correntemente non è possibile usare un Arduino UNO come programmatore ISP perché il bootloader optiboot non supporta il relativo sketch. Una revisione per questa problema è allo studio."

Quindi mi pare ovvio che se usi un Arduino 2009 puoi caricare il bootloader della UNO su un ATmega 328p vergine o preprogrammato che sia.
Se vuoi una ulteriore conferma te lo do io perché ho provato personalmente ad usare lo sketch ISP programmer su Arduino 2009 per caricare il bootloader, sia 2009 che UNO, sui dei 328p, però attenzione che è indispensabile bloccare l'autoreset della 2009, va tagliata una pista, affinché lo sketch possa funzionare, in alternativa usare una Luigino 328 con lo SmartReset attivo.


Grazie astrobeed,
aaarrrgh! :) Tagliare una pista sull'unico e amato Arduino 2009, parte della mia misera ma adorata collezione di pezzi e componenti di elettronica!!!  :(
Non esisterebbe, a parte usare una Luigino 328 (che purtroppo non possiedo), un metodo meno brutale???  :~ 
Ogni altra opzione è ben accetta per evitare di sezionare il mio povero 2009 che, dopo questo post, lampeggia con tutti i suoi led, implorandomi di risparmiarlo dalla tortura. :) :) :)
Grazie comunque per le info preziose a riguardo!
Se qualcuno ha altri suggerimenti io sono qui per assimilarli...  ^_^

Ciao a tutti

astrobeed

Se hai la 2009 puoi provare ad usare l'FTDI in bitbang mode, però non l'ho mai provato e non posso confermarti se funziona sul serio e/o gli eventuali problemi.

astrobeed

Questa è una curiosità che può tornare utile, chi ha un programmatore Microchip Pickit2 può usarlo come programmatore AVR, funziona perfettamente sia con AVR studio che con AVRdude, provato personalmente con i 168 e i 328.

http://pickit2.isgreat.org

Massimo Banzi

La 2009 funziona come programmatore ISP senza tagliare nulla come descritto qui http://arduino.cc/en/Tutorial/ArduinoISP


m

GianfrancoPa


Se hai un vecchio pc con una porta parallela valuta questo


http://www.arduino.cc/en/Hacking/ParallelProgrammer


Un adattatore usb-->parallelo puo' funzionare?
Gianfranco

Erilu


La 2009 funziona come programmatore ISP senza tagliare nulla come descritto qui http://arduino.cc/en/Tutorial/ArduinoISP


m


Grazie Massimo,
allora confermi che è possibile usare la 2009 per programmare un Atmega328 con il bootloader dell'UNO???
(naturalmente, come già hai detto, senza tagliare nulla... io voglio un sacco di bene bene al mio Duemilanove!!!)  :)

Ciao

astrobeed


La 2009 funziona come programmatore ISP senza tagliare nulla come descritto qui


Mi dispiace contraddirti, ma non è così, sto facendo riferimento allo sketch ArduinoISP.pde allegato all'IDE.
E' necessario disabilitare l'autoreset perchè nel momento in cui si da il via alla programmazione dall'IDE di Arduino l'apertura della Vcom comporta il reset dell'ATmega con la conseguente perdita di comunicazione, il risultato è il fallimento dell'operazione.
Per risolvere ci sono due modi, il primo è tagliare la pista dell'autoreset, al suo posto si usa il jumper reset EN (è di lato al connettore USB) previsto dal progetto di Arduino 2009, il secondo modo che ho trovato consigliato sul forum internazionale è collegare una resistenza da 120 ohm tra il reset e il +5V in modo da invalidare l'impulso che arriva tramite DTR e il condensatore da 100 nf.
Cosa citata anche nel playground e che ho avuto modo di verificare in pratica.



pelletta

#70
Feb 28, 2011, 10:46 pm Last Edit: Feb 28, 2011, 10:57 pm by Pelletta Reason: 1
A me funziona senza fare nessuna modifica, carico lo sketch e metto il bootloader

@astrobeed: ho il pickit2 ma l'ho usato solo una volta e per giunta senza successo, sicuramente è stato per mia incapacità ma se dici che funziona riproverò.

Altra curiosità: se tramite il pickit2 è possibile scrivere sul microcontrollore, a questo punto si potrebbe omettere anche il bootloader caricando direttamente il file .hex del nostro sketch risparmiando un pò di memoria, ho detto una fesseria?

leo72

@Pelletta:
il bootloader è una "comodità" che serve proprio per poter caricare uno sketch nell'Atmega usando Arduino semplicemente collegato al PC. Se si dispone di un programmatore esterno e si usa l'Atmega in un proprio progetto, l'uso del bootloader si può anche evitare. Si risparmia qualche byte di memoria: con il boot dell'Uno sono solo 512 ma con quello del 2009 arrivano già a 1,5 kB, e se uno ha l'Atmega168 (cioè con 16 kB di Flash totali) comincia già ad essere una differenza che si fa sentire  ;)

83darking83


A me funziona senza fare nessuna modifica, carico lo sketch e metto il bootloader


Idem anche per me.
Operazione ripetuta con successo su 4 ATmega328P, utilizzando un semplice Arduino 2009  :)

astrobeed

Non sto a discutere sul fatto che magari a qualcuno funziona pure senza disabilitare l'autoreset, però vi riporto quanto scritto sul playground relativamente a questo scketch.

********
Arduinos with auto reset capabilities(i.e. Diecimila, Duemilanove) will likely need to have the auto-reset functionality disabled.
********

Per ulteriore chiarezzo lo traduco.

********
Su Arduino dotati dell'autoreset, p.e. Diecimila o 2009, potrebbe essere necessario disabilitare l'autoreset.
*******
Ovviamente la frase indica una possibilità e non una certezza, questo vuol dire che in effetti può anche funzionare senza disabilitare l'autoreset, ma può anche non funzionare.
Io ho provato con una 2009 e fino a che non ho disabilitato l'autoreset non ha funzionato, ho provato con 5 diverse Luigino 328 senza riuscirci fino a che non ho abilitato lo SmartReset, è la funzione che blocca il reset del micro quando si apre la Vcom sul pc.
Non ho il tempo per mettermi a guardare cosa combina esattamente l'IDE quando si invoca la programmazione tramite Arduino, ma ho il sospetto che non ci sia un sufficiente delay dopo l'apertura della Vcom prima di iniziare a dialogare con l'STK500 emulato.

xelendilx



Se hai un vecchio pc con una porta parallela valuta questo


http://www.arduino.cc/en/Hacking/ParallelProgrammer


Un adattatore usb-->parallelo puo' funzionare?

Non saprei sinceramente... Teoricamente si..

Go Up