Go Down

Topic: Strano problema con signature scrivendo il bootloader (Read 15303 times) previous topic - next topic

leo72

Uh... ci faccio caso ora... nick molto simili.
Cmq il problema è stato sollevato da gcblack, e lui lo dice diverse volte di avere la 2009.

Michele Menniti


Uh... ci faccio caso ora... nick molto simili.
Cmq il problema è stato sollevato da gcblack, e lui lo dice diverse volte di avere la 2009.

Sì, molti post fa infatti gli avevo consigliato di seguire la procedura di Nik77 ma usando come board di partenza la 2009.
GH_Blackout (bah, stasera tutti i black bloc sono in giro :smiley-yell:) invece ha fatto esattamente ciò che ha fatto Nik77 e gli è andato tutto bene, segno che probabilmente ha una UNO.
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

gcblack

:~ tutti in black.. Creiamo confusione... :smiley-eek-blue: cmq io penso sia come ha deto @ astrobeed... Scrivendo il boot tramite arduino adatta la firma perchè emula stk500... Programmandolo col tiny conserva l'x14!

gcblack

Cmq prof se vuoi sperimentarlo personalmete ti invio un mio micro così posso contribuire alla tua guida!  XD

niki77


:~ tutti in black.. Creiamo confusione... :smiley-eek-blue: cmq io penso sia come ha deto @ astrobeed... Scrivendo il boot tramite arduino adatta la firma perchè emula stk500... Programmandolo col tiny conserva l'x14!


Si ma a questo punto cosa vuol dire che il bootloader della Arduino UNO ha anche la signature per il 328?

Perchè io come vi ho detto, ho scritto il bootloader nei miei 328 vergini tramite arduino (uno) as ISP utilizzando una entry specifica(fatta apposta da me) per far puntare avrdude all'altra entry creata in avrdude.conf con signature modificata.
Fatto ciò programmo correttamente i chip 328 utilizzando la boards arduino uno.
Questo mi fà pensare che il bootloader della arduino uno ha anche la signature per il 328, oppure se ne frega proprio e carica tutto.
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

leo72

Penso più che non abbia controlli sulla signature. Adesso non posso controllare, verificherò più tardi.

astrobeed

#66
Oct 16, 2011, 12:10 pm Last Edit: Oct 16, 2011, 12:12 pm by astrobeed Reason: 1

Penso più che non abbia controlli sulla signature. Adesso non posso controllare, verificherò più tardi.


L'optiboot funziona in modo diverso dal bootloader 2009, la signature la ricava tramite una funzione di avrlibc, però non mi ricordo se viene letta direttamente dal chip o se viene preimpostata in fase di compilazione.

parte del optiboot che legge la signature
Code: [Select]

/* Get device signature bytes  */
   else if(ch == STK_READ_SIGN) {
     // READ SIGN - return what Avrdude wants to hear
     verifySpace();
     putch(SIGNATURE_0);
     putch(SIGNATURE_1);
     putch(SIGNATURE_2);
   }


SIGNATURE_0, SIGNATURE_1, SIGNATURE_2 sono tre valori forniti dalla libreria avrlibc.
Comunque rimane sempre il fatto che pure l'optiboot deve essere ricompilato per il 328, lo ripeto un programma compilato per il 328p può funzionare male, o non funzionare del tutto, sul 328.


GH_Blackout


@Blackout:
ma in quella guida è scritto: "Arduino Uno", tu hai una 2009. Astro parlava del bootloader della 2009. Con quel file boards.txt lì stai mettendo il bootloader della UNO. Ti funzionano in standalone o anche sulla 2009?


ciao Leo, innanzi tutto fai dei progetti spettacolari ... me li leggo con molta attenzione! :) complimenti!

veniamo al dunque... io posseggo un freeduino ma carico un bootloader relativo ad arduino uno (correggetemi sesbaglio)
di conseguenza quando devo programmare la board seleziono come board ARDUINO UNO e va tutto ok

siccome mi sono venuti dei dubbi ho prelevato uno dei chip burnizzati (x il mio amico) e ho caricato per 4 volte 4 sketch diversi (cambiando qualcosina) senza problemi

ora puo darsi che sia il culo del principiante! :) ma non ho dovuto ricompilare nessun bootloader

traetene voi le conclusioni (voi saggi)

ps: gcblack e io siamo due persone totalmente diverse
~blackout~ @ grayhats.org

leo72


ciao Leo, innanzi tutto fai dei progetti spettacolari ... me li leggo con molta attenzione! :) complimenti!

Mi stai adulando per entrare nelle mie grazie?  XD XD

Quote

veniamo al dunque... io posseggo un freeduino ma carico un bootloader relativo ad arduino uno (correggetemi sesbaglio)
di conseguenza quando devo programmare la board seleziono come board ARDUINO UNO e va tutto ok

La Freeduino  dovrebbe essere una specie di Diecimila/2009. Quindi con chip FT232.
Quindi ci dovrebbe essere questo limite, dato dal bootloader Optiboot: la prima volta che carichi lo sketch va tutto bene e funziona tutto regolarmente. Se però resetti, lo sketch non dovrebbe ripartire e ti dovrebbe iniziare a lampeggiare freneticamente il led LED della scheda.

Quote

siccome mi sono venuti dei dubbi ho prelevato uno dei chip burnizzati (x il mio amico) e ho caricato per 4 volte 4 sketch diversi (cambiando qualcosina) senza problemi

Come ti ho detto sopra, subito dopo la flashatura non ci sono problemi. Ma resettando oppure togliendo e rendendo l'alimentazione, lo sketch ti riparte?

Michele Menniti


Cmq prof se vuoi sperimentarlo personalmete ti invio un mio micro così posso contribuire alla tua guida!  XD

Sì, mi farebbe piacere fare un po' di prove, avendo UNO, 2009 e Luigino posso tirarne fuori un aggiornamento in modo da risolvere questa cosa una volta per tutte; inoltre approfitto per provarlo sull'HV.
Ti mando in MP l'indirizzo, se possibile me ne mandi un paio (non si sa mai...)? Tanto te li riporto a Padova massimo entro 1 mese (sul serio), nella  Guida sarai citato per il contributo alle prove XD

@ Leo: non è scientifico che un micro con bl UNO su una 2009 abbia quel problema, come detto in altra occasione; io ho avuto il problema in stand-alone, comunque per scrupolo la rifaccio questa prova e ti faccio sapere.
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

gcblack

#70
Oct 16, 2011, 09:39 pm Last Edit: Oct 16, 2011, 09:40 pm by gcblack Reason: 1
Inviato MP  8)

GH_Blackout


Mi stai adulando per entrare nelle mie grazie?  XD XD


naaa è un complimento senza secondi fini


Come ti ho detto sopra, subito dopo la flashatura non ci sono problemi. Ma resettando oppure togliendo e rendendo l'alimentazione, lo sketch ti riparte?


ah
controllo ^^
~blackout~ @ grayhats.org

GH_Blackout

ho preso uno dei chip flashati con un blinkwithdelay (3s) lho inserito
il primo secondo il 13 blinka e dopo smette

dopo inizia il loop con blink3s noblink3s etc etc etc (quindi lo sketch funziona)

devo fare altre prove?
~blackout~ @ grayhats.org

Michele Menniti


ho preso uno dei chip flashati con un blinkwithdelay (3s) lho inserito
il primo secondo il 13 blinka e dopo smette

:smiley-eek: eh, quando si scrive prima del caffé XD
Quote

devo fare altre prove?

Se tutto ciò significa che hai montato sulla board un chip flashato in precedenza, ora dovresti semplicemente provare a staccare l'USB, contare fino a quanto vuoi...., poi ricollegarla, se il blink riparte è tutto ok, se non riparte hai il problema del bootloader, ma questo non significa che l'operazione non sia andata a buon fine, semplicemente si tratterebbe di un bug dell'optiboot, quando è montato su schede 2009.
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


si tratterebbe di un bug dell'optiboot, quando è montato su schede 2009.

E' da tanto che lo dico.. bisogna sempre prendere il caffè  :smiley-yell:

Go Up