Go Down

Topic: zero fuse di protezione (Read 177 times) previous topic - next topic

x-giorgio-x

Ma è possibile che uno schetch sbagliato mi cancelli il boot loader ?
Ogni tanto mi capita di doverlo ricaricare.

E il fuse di protezione ?
Ho letto qualcosa a proposito che se lo brucio poi solo con un certo pin si può riprogrammare la CPU.

Ma il programma è protetto dalla copia ?

astrobeed

Non è possibile che uno sketch cancella il bootloader, questo perché dalla porzione di flash in cui viene eseguito non è permesso riscrivere la flash, inoltre la piccola porzione dove risiede il bootloader è protetta contro la scrittura da codice, puoi farlo solo tramite programmatore hardware.
La protezione tramite lock bit serve solo per impedire la lettura della flash, è una protezione contro la copia, se li attivi puoi sempre e comunque riprogrammare Arduino tramite un programmatore hardware nel solito modo.
Se ti capita di dover ricaricare il bootloader è perché l'hai cancellato tramite programmazione ISP, in questo caso è la norma, oppure il tuo sketch manda fin da subito molti dati, in modo continuo, sulla seriale e questo crea problemi alla comunicazione del bootloader perché il 16u2 non viene resettato, per ovvi motivi, all'avvio della programmazione e continua ad inviare i dati presenti nel suo buffer, in questi casi risolvi con la "manovra di emergenza"
Scientia potentia est

x-giorgio-x

Mi spiace essermi spiegato male e averti fatto perdere tempo.
Parlo della scheda zero, con ARM.
C'è un solo fusibile di protezione.

PaoloP

Il bootloader della Zero non è sovrascrivibile via seriale (native port) ma solo tramite il chip EDBG (programming port).
Tu quale usi?

x-giorgio-x



PaoloP

#6
Nov 16, 2017, 04:51 pm Last Edit: Nov 16, 2017, 04:52 pm by PaoloP
Se usi un programmatore esterno è possibile cancellare il bootloader. Anzi sulla Uno, Mega, Leonardo e versioni compatibili lo cancelli di sicuro. Sulla ZERO non ricordo.
Controlla le opzioni del programma.

Go Up