Go Down

Topic: [RISOLTO]Bootloader e programmatore universale, curiosità.... (Read 100 times) previous topic - next topic

matrix77

Salve a tutti!


Probabilmente la mia domanda rientrerà nel reparto "curiosità stupide", ma questa cosa mi ha lasciato un po' perplesso, anche perché non l'avevo mai approfondita, avendo sempre programmato "Arduino", tramite il classico collegamento "USB", oppure programmando chip puliti (con file compilato in "HEX"), tramite programmatore, ma senza aver mai "giocato" col bootloader.

In sostanza, ho eseguito tramite programmatore "TL866" , un "erase" dell'atmega "328P", smontato da un  "Arduino UNO", ma avendo realizzato prima, un file di BKP dello stesso e solo successivamente, ho riprogrammato l'Atmega, con il file precedentemente creato, ma del bootloader nessuna traccia.

Fatto sta che per ripristinare il bootloader, ho utilizzato un economicissimo ed inutilizzatissimo "USBasp" che avevo in un cassetto, con conseguente scocciatura per i vari collegamenti da realizzare (mi costruirò un cavetto....)

Da questa vicenda, la conseguente domanda: "Esiste un modo per scrivere nell'area di memoria destinata al "boot" del chip, utilizzando appunto, un programmatore universale?

Ho cercato in rete, (o forse non ho cercato abbastanza bene....)ma tutti fanno riferimento al sistema che utilizza un "USBasp", oppure di un collegamento, tra un "Arduino" ed il "328p" pulito, ma nessun riferimento al programmatore universale.

Saluti e buon weekend a tutti!

Matrix



gpb01

Ciao, so che sei un vecchio utente del forum :), ma purtroppo ... non riesco a trovare il tuo post di presentazione ...

... cortesemente, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), potresti presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO (che negli anni è piuttosto cambiato) ... Grazie mille. ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

matrix77

Ciao, so che sei un vecchio utente del forum :), ma purtroppo ... non riesco a trovare il tuo post di presentazione ...

... cortesemente, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), potresti presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO (che negli anni è piuttosto cambiato) ... Grazie mille. ;)

Guglielmo
Salve Guglielmo,

Nessun problema, ho rieseguito la presentazione.

Saluti

Paolo

gpb01

Grazie mille :)

Venendo al tuo quesito, con qualsiasi programmatore ISP supportato da avrdude e possibile leggere la memoria di una MCU Atmel AVR, non protetta, e salvare il contenuto su file .hex. solo che ... il solo contenuto NON basta perché, affinché venga usato il bootloader, occorre che anche alcuni FUSE sia programmati correttamente.

Se salvi la corretta impostazione dei FUSE, salvi il .hex di un chip con bootloader, prendi un chip vergine, ricarichi l'hex e ripristini i FUSE ... avrai esattamente una copia del chip di partenza, incluso il bootloader. :)

Guglielmo
Search is Your friend ... or I am Your enemy !

matrix77

Grazie mille :)

Venendo al tuo quesito, con qualsiasi programmatore ISP supportato da avrdude e possibile leggere la memoria di una MCU Atmel AVR, non protetta, e salvare il contenuto su file .hex. solo che ... il solo contenuto NON basta perché, affinché venga usato il bootloader, occorre che anche alcuni FUSE sia programmati correttamente.

Se salvi la corretta impostazione dei FUSE, salvi il .hex di un chip con bootloader, prendi un chip vergine, ricarichi l'hex e ripristini i FUSE ... avrai esattamente una copia del chip di partenza, incluso il bootloader. :)

Guglielmo
Ah ok very thanks Guglielmo! Di solito mi sono limitato ad impostarli per gestire la frequenza di clk, ma adesso mi hai fatto ricordare che puoi gestire l'area di boot, dopo provo.

Grazie ancora e una buona serata!

Saluti, Paolo

Go Up