Go Down

Topic: Guida: La programmazione di micro ATMEL con Arduino [rel. 4] (Read 68026 times) previous topic - next topic

leo72

@Michele:
non intendevo dire, quando ho scritto che almeno sei a posto con la tua coscienza, che usavi una copia illegale  :D
Intendevo dire che eri a posto con la tua coscienza di contributore del mondo "open"  ;)

Michele Menniti


@Michele:
non intendevo dire, quando ho scritto che almeno sei a posto con la tua coscienza, che usavi una copia illegale  :D
Intendevo dire che eri a posto con la tua coscienza di contributore del mondo "open"  ;)

Ah, scusa ma non avevo capito, comunque tutta questa cosa merita un approfondimento, sono troppo vecchio per farmi influenzare dall'entusiamo in una decisione, quindi voglio capirci qualcosa in più, documentarmi e poi fare la scelta migliore; per ora dedico risorse alle prove successive e ad altre cose che ho un po' trascurato, il mio antifurto continua ogni tanto a scattare di notte :smiley-eek-blue: ed io, pur avendo ormai pronto tutto, non procedo perché ho preferito lavorare alla Guida invece che sul risparmio energetico del chip.
Devo pur fare qualcosa di utile per casa, altrimenti la moglie comincia a chiedersi cosa vado a fare nel mio laboratorio ogni volta che ho un minuto libero... :~ Quindi tieniti pronto, prometto che parto dalla tua Guida su Attiny, ma di sicuro avrò bisogno di chiarimenti ;)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Michele Menniti

Ho appena messo il file aggiornato sul sito, grazie a tutti per i suggerimenti, spero di non averne dimenticato nessuno! Vi chiedo di continuare a leggerlo e segnalarmi altre eventuali incongruenze.
Buona lettura!
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

uwefed

#48
May 11, 2011, 11:58 pm Last Edit: May 12, 2011, 01:48 am by uwefed Reason: 1
Ciao minniti

Vorei ringraziarti per le la guida. Ben fatta, passo per passo.

Mi sono permesso di fare un riassunto sul forum tedesco perché qualcuno chiedeva come caricare il Bootloader con un Arduino Uno.
http://arduino.cc/forum/index.php/topic,60659.0.html

Mi é rimasto un dubbio:
Carico il Bootloader su un Atmega montato su una breadbord e ho bisogno di aggiungere la resistenza e il condensatore per bloccare l' autoreset.
Se volessi subito caricare il Bootloader su un secondo ATmega posso lasciare il Autoreset bloccato o devo provare prima senza la resistenza e il condensatore?

Grazie di tutto
Ciao Uwe


Michele Menniti


Ciao minniti
Vorei ringrazierti per le la guida. Ben fatta, passo per passo.
Mi sono permesso di fare un riassunto sul forum tedesco perché qualcuno chiedeva come caricare il Bootloader con un Arduino Uno.
http://arduino.cc/forum/index.php/topic,60659.0.html

Ciao Uwe, mi onorano molto i tuoi complimenti, grazie! Ho visto il post tedesco ma non c'ho capito niente :smiley-eek-blue:, a parte il link  XD. Oggi si è parlato della traduzione in inglese, penso che i nostri amici tedeschi non abbiano le mie stesse difficoltà con l'inglese; alla prossima (e ultima credo :smiley-sweat:) versione si provvederà.
Quote

Mi é rimasto un dubbio:
Carico il Bootloader su un Atmega montato su una breadbord e ho bisogno di aggiungere la resistenza e il condensatore per bloccare l' autoreset.
Se volessi subito caricare il Bootloader su un secondo ATmega posso lasciare il Autoreset bloccato o devo provare prima senza la resistenza e il condensatore?

Se Arduino (a me l'ha fatto col 2009, ad altri è capitato con l'UNO) per funzionare richiede il circuito R-C per l'anti-autoreset lo richiederà sempre, quindi devi lasciare tutto montato e cambiare il solo chip. E' una cosa che ho sperimentato più volte, se togli l'R-C dopo il primo chip, col secondo non funziona di nuovo e va rimesso, tanto vale lasciarlo lì.
Quote

Grazie di tutto
CIao Uwe

Figurati, sono a tua completa disposizione, tu fai così tanto per questo Forum  XD XD XD
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

uwefed


Ciao Uwe, mi onorano molto i tuoi complimenti, grazie!

Non esagerare ;) ;) ;)

Quote from: menniti

Se Arduino (a me l'ha fatto col 2009, ad altri è capitato con l'UNO) per funzionare richiede il circuito R-C per l'anti-autoreset lo richiederà sempre, quindi devi lasciare tutto montato e cambiare il solo chip. E' una cosa che ho sperimentato più volte, se togli l'R-C dopo il primo chip, col secondo non funziona di nuovo e va rimesso, tanto vale lasciarlo lì.

Allora forse é meglio aggiungere pure questo alla Tua guida per togliere ogni dubbio.

Quote from: menniti

Figurati, sono a tua completa disposizione, tu fai così tanto per questo Forum  XD XD XD  

Collaboriamo tutti due, come altri per lo stesso interesse. Come giá detto non esagerare  ;) ;) ;)

Ciao Uwe

alexdb

ho due domande:

1)a pagina 31 c'è la protoshield che hai modificato; in pratica è come se fosse un arduino? potresti mandarmi il link dove l'hai trovata?

2) sempre a pagina 31 hai scritto che si può far girare uno sketch l'atmega 328 senza il bootloader; ci sono particolari limitazioni? c'è da cambiare qualcosa negli sketch? (tipo invece che usare setup e loop scrivere un programma c normalmente con il main?)

grazie mille per la pazienza e per le risposte!

GianfrancoPa


ho due domande:

2) sempre a pagina 31 hai scritto che si può far girare uno sketch l'atmega 328 senza il bootloader; ci sono particolari limitazioni? c'è da cambiare qualcosa negli sketch? (tipo invece che usare setup e loop scrivere un programma c normalmente con il main?)



Che per caricare lo sketch devi usare un ISP programmer oppure usare arduino come ISP, come scritto nella guida. Il semplice upload dello sketch non va senza il bootloader. Per il resto non cambia nulla!!
Gianfranco

Michele Menniti


Quote from: menniti

Se Arduino (a me l'ha fatto col 2009, ad altri è capitato con l'UNO) per funzionare richiede il circuito R-C per l'anti-autoreset lo richiederà sempre, quindi devi lasciare tutto montato e cambiare il solo chip. E' una cosa che ho sperimentato più volte, se togli l'R-C dopo il primo chip, col secondo non funziona di nuovo e va rimesso, tanto vale lasciarlo lì.

Allora forse é meglio aggiungere pure questo alla Tua guida per togliere ogni dubbio.
Ciao Uwe

Ok stasera faccio un nuovo aggiornamento e spiego bene questa cosa dove affronto per la prima volta l'autoreset.Grazie della segnalazione!
Ciao.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Michele Menniti

#54
May 12, 2011, 09:46 am Last Edit: May 12, 2011, 09:48 am by menniti Reason: 1

ho due domande:
1)a pagina 31 c'è la protoshield che hai modificato; in pratica è come se fosse un arduino? potresti mandarmi il link dove l'hai trovata?

Non è un Arduino-compatibile nel senso che mancano alcune sezioni, p.es. il convertitore USB; questa scheda puoi considerarla come una breadboard con tutte le comodità. http://www.futurashop.it/carrello_sql/prodotti.asp?cosa=arduino&liv3=&title=SOFTWARE E SISTEMI DI SVILUPPO&cate=SHIELD E ACCESSORI ARDUINO&cod=7300-PCBPROTOV10#7300-PCBPROTOV10 Esiste anche la versione con un po' di componenti, in ogni caso te la devi "progettare", a parte qualche pista non c'è nulla di collegato, per realizzarla serve una decente esperienza in materia di montaggio elettronico, un buon saldatore (ed un dissaldatore per gli "errori"); ti piazzi davanti lo schema elettrico di Arduino e ti armi di pazienza. Non voglio scoraggiarti, non so quanto sei bravo, per tua conoscenza oggi ti posto la foto del lato inferiore, così capisci cosa intendo dire; se poi decidi di cimentarti io sono a tua disposizione.
Quote

2) sempre a pagina 31 hai scritto che si può far girare uno sketch l'atmega 328 senza il bootloader; ci sono particolari limitazioni? c'è da cambiare qualcosa negli sketch? (tipo invece che usare setup e loop scrivere un programma c normalmente con il main?)

Non c'è alcuna limitazione, come mi ha ben spiegato Uwe la prima volta e chiarito Leo72 la seconda volta, il bootloader serve solo per vedere se sul chip di Arduino c'è uno sketch ed eseguirlo. Se monti il chip in stand alone (fuori dalla scheda Arduino) il bootloader non ti serve più; questa cosa diventa importante se riesci a realizzare sketch di 32K o lì vicino, diversamente non dovrebbe incidere su nulla, almeno dalle prove che ho fatto.
Quote

grazie mille per la pazienza e per le risposte!

le risposte sono doverose, la pazienza, se ben ricordo, me l'hai già provata in una altro topic, come vedi non la perdo mai, a parte qualche espressione colorita ;)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Michele Menniti



ho due domande:

2) sempre a pagina 31 hai scritto che si può far girare uno sketch l'atmega 328 senza il bootloader; ci sono particolari limitazioni? c'è da cambiare qualcosa negli sketch? (tipo invece che usare setup e loop scrivere un programma c normalmente con il main?)



Che per caricare lo sketch devi usare un ISP programmer oppure usare arduino come ISP, come scritto nella guida. Il semplice upload dello sketch non va senza il bootloader. Per il resto non cambia nulla!!

Ooops, scusa, non avevo letto che avevi già risposto tu, sorry :smiley-red:
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

alexdb



ho due domande:
1)a pagina 31 c'è la protoshield che hai modificato; in pratica è come se fosse un arduino? potresti mandarmi il link dove l'hai trovata?

Non è un Arduino-compatibile nel senso che mancano alcune sezioni, p.es. il convertitore USB; questa scheda puoi considerarla come una breadboard con tutte le comodità. http://www.futurashop.it/carrello_sql/prodotti.asp?cosa=arduino&liv3=&title=SOFTWARE E SISTEMI DI SVILUPPO&cate=SHIELD E ACCESSORI ARDUINO&cod=7300-PCBPROTOV10#7300-PCBPROTOV10 Esiste anche la versione con un po' di componenti, in ogni caso te la devi "progettare", a parte qualche pista non c'è nulla di collegato, per realizzarla serve una decente esperienza in materia di montaggio elettronico, un buon saldatore (ed un dissaldatore per gli "errori"); ti piazzi davanti lo schema elettrico di Arduino e ti armi di pazienza. Non voglio scoraggiarti, non so quanto sei bravo, per tua conoscenza oggi ti posto la foto del lato inferiore, così capisci cosa intendo dire; se poi decidi di cimentarti io sono a tua disposizione.

con il saldatore credo di cavarmela discretamente; quando farò il benedettissimo ordine compro anche la protoshield e poi ci provo;
alternativamente avevo pensato a un'altra cosa; ho un convertitore usb seriale (rs232); mi pare di aver capito (correggetemi se sbaglio) che c'è la possibilita di caricare gli sketch collegando i pin giusti della seriale sui pin giusti dell'atmega 328; se è possibile con una basetta millefori, e qualche componente non dovrebbe essere difficile costruire un programmatore per atmega 328...alla fine invece che usare l'arduino come programmatore-adattatore usb/seriale salto quasto passaggio...secondo voi è fattibile?
Quote

2) sempre a pagina 31 hai scritto che si può far girare uno sketch l'atmega 328 senza il bootloader; ci sono particolari limitazioni? c'è da cambiare qualcosa negli sketch? (tipo invece che usare setup e loop scrivere un programma c normalmente con il main?)

Non c'è alcuna limitazione, come mi ha ben spiegato Uwe la prima volta e chiarito Leo72 la seconda volta, il bootloader serve solo per vedere se sul chip di Arduino c'è uno sketch ed eseguirlo. Se monti il chip in stand alone (fuori dalla scheda Arduino) il bootloader non ti serve più; questa cosa diventa importante se riesci a realizzare sketch di 32K o lì vicino, diversamente non dovrebbe incidere su nulla, almeno dalle prove che ho fatto.
[/quote]
[/quote]
capito :)
Quote

grazie mille per la pazienza e per le risposte!

le risposte sono doverose, la pazienza, se ben ricordo, me l'hai già provata in una altro topic, come vedi non la perdo mai, a parte qualche espressione colorita ;)
[/quote]
mbuhaha  :smiley-mr-green: ]:D :smiley-mr-green: ]:D :smiley-mr-green:

leo72


Che per caricare lo sketch devi usare un ISP programmer oppure usare arduino come ISP, come scritto nella guida. Il semplice upload dello sketch non va senza il bootloader. Per il resto non cambia nulla!!


Non è esatto. Si può caricare uno sketch su un chip standalone anche senza che esso contenga il bootloader.
Questo perché il bootloader serve solo per caricare gli sketch col metodo RX/TX.

In entrambi i casi, comunque, serve SEMPRE un tramite tra l'IDE ed il chip standalone, sia esso un programmatore ISP che una scheda Arduino usata come programmatore ISP.

Michele Menniti

Quote
alternativamente avevo pensato a un'altra cosa; ho un convertitore usb seriale (rs232); mi pare di aver capito (correggetemi se sbaglio) che c'è la possibilita di caricare gli sketch collegando i pin giusti della seriale sui pin giusti dell'atmega 328; se è possibile con una basetta millefori, e qualche componente non dovrebbe essere difficile costruire un programmatore per atmega 328...alla fine invece che usare l'arduino come programmatore-adattatore usb/seriale salto quasto passaggio...secondo voi è fattibile?

Questa è la tecnica che voglio sperimentare appena possibile; concettualmente finora ho verificato che tutte le tecniche seriali presuppongono che il chip abbia il bootloader precaricato, quindi se vuoi realizzare un chip senza di questo non puoi ricorrere al sistema che dici, ma io non ho fatto prove, ripeto.
Visto che non hai problemi a realizzare la pcb, quella sarebbe la soluzione ideale, io ho previsto sia il collegamento seriale che quello ISP, ci metti pure lo zoccolo ZIF, in pochi secondi ogni volta fai quello che vuoi, ma sempre usando Arduino; in realtà la mia pcb ha anche la porta USB, usata solo per l'alimentazione; da ciò che ho lett nell'altro post, mi pare d'aver capito che addirittura si potrebbe collegare direttamente i segnali USB al chip (ma NON a tx/rx), e questa è l'altra tecnica che voglio sperimentare. Ci vuole tempo ma, come vedi, pian piano poi facciamo tutto, mettiamo le info in ordine e quindi a disposizione di tutti. naturalmente se fai queste prove e raggiungi risultati postali, è tutto tempo risparmiato.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72

Per programmare i micro devi usare avrdude. Questo però supporta solo alcuni tipi di programmatori. Realizzarne uno tuo comporterebbe di non avere il supporto con avrdude. Meglio allora pensare a fare qualcosa che usi uno dei tanti progetti di comunicatori USB/seriali software compatibili avrdude come USBtiny, USBavr ecc... Io stesso stavo pensando ieri di realizzare un prodottino con un Mega ed un Tiny come interfaccia USB. D'altronde è la tecnica usata anche dall'Arduino: l'8U2 funge infatti da tramite fra l'USB ed il Mega.

Go Up