Buongiorno a tutti,
Ieri sera finalmente sono riuscito a trovare uno spicciolo di tempo per finire la mia shield per programmare atmega vergini (@menniti alla fine il quarzo l'ho messo, per siciurezza ! XD) ed andando a fare le prime programmazioni è successa una cosa alla quale non ho trovato una spiegazione plausibile.
Ho degli atmega328pu (vergini), provando a scriverci su il bootloader (bootloader di arduino uno) dall'ide di arduino ricevevo un messaggio che diceva che per il 328p si aspettava una signature diversa.
Nessun problema, armato di pazienza mi sono modificato avrdude.conf aggiungendo una nuova entry specifica per il chip 328pu, copiando lo schema dal 328 normale e cambiando la signature.
Dopodichè ho aggiunto anche una nuova entry (che ho chiamato atmega 328pu su shield)in board.txt di arduino in maniera tale che ho sempre a disposizione le impostazioni delle altre schede e in aggiunta ho questo nuovo set di configurazione che utilizza però la mcu aggiunta poco sopra su avrdude.
Riprovo a scrivere il bootloader, questa volta settando su board la mia 'atmega 328pu su shield' , burn bootloader with arduino as ISP e via, perfetto al primo colpo.
A questo punto prendo il chip appena programmato , e lo metto al posto del chip che ho nella arduino uno, ci scrivo sopra Blink, e il led lampeggia, perfetto direi.
Per sfizio ora ci programmo sopra ISP e provo a riscrivere il bootloader sul chip che originariamente avevo nella arduino uno.
Anche qui perfetto al primo colpo, se non che mi accorgo che nel frattempo non ho cambiato l'impostazione su board, pertanto ho scritto anche questo chip con l'impostazione 'atmega 328pu su shield' che dovrebbe puntare ad un chip con la signature diversa, inquanto 328PU.
Stranito dal fatto, ho controllato con la lente il chip, ed in effetti anche quest'ultimo perlomeno dalla scritta risulta essere un 328PU.
La cosa strana viene ora, sempre con lo stesso chip , che ricordo essere da sigla un atmega328-pu, però estratto dalla mia arduino uno, provo a cambiare board e selezionare arduino uno, vado a riscrivere il bootloader e ... baaaammm , funziona lo stesso al primo colpo!
MA COME!!! ora non la fà la verifica della signature????
Non sazio rimonto il chip originale sulla arduino uno, riscrivo blik, e constato che è tutto ok, riscrivo ISP e riprovo a caricare il bootloader sul mio (ex) chip vergine 328-pu usando come impostazioni la board arduino uno, eeeeee .... bbbbaaaaaaaaammmm, messaggio che dice aspettava una signature diversa!!!(come sopra)
Sunto della situazione, dati 2 chip con codice identico atmega 328-pu, perchè uno lo riesco a scrivere con entrambi i profili e uno invece solo con il suo?