Come proteggere i codici PIC12F675 Da Hacking

December 26

Il PIC12F675 è un microcontrollore a 8-bit che può essere usato per programmare dispositivi embedded, come telefoni cellulari di base, elettrodomestici e robot incaricati di lavori semplici. Il microcontrollore memorizza i suoi dati di programma in una banca di EEPROM, che è sia leggibile e scrivibile. Se non si vuole a chiunque di incidere nel dispositivo e scoprire il vostro programma, è possibile abilitare la funzione built-in "Codice di protezione". Questo permette alla CPU di leggere dalla EEPROM, ma nessun risultato di lettura non autorizzate in tutti zeri. Pertanto, nessuno può incidere il vostro dispositivo, e si può proteggere la proprietà intellettuale.

istruzione

1 Aprire l'IDE per il dispositivo. Il PIC12F675 può essere programmato sia in linguaggio assembly e C. In genere, i file di linguaggio assembly impostare l'ambiente hardware per programmi C, che semplifica molte attività di programmazione.

2 Creare un puntatore al registro 3. Sulla PIC12F675, questo registro si trova in indirizzo di posizione 0x2006, che significa che è il valore esadecimale 2006. È possibile creare un puntatore a questo registro, scrivendo la seguente istruzione nella parte superiore del vostro codice sorgente C file:

volatili unsigned int

reg3 = ((volatile unsigned int *) 0x2006;

3 Impostare il bit 7 del registro 3 a 0. In questo modo, la funzione "Codice di protezione", che impedisce ad altre persone di accedere ai dati. È possibile utilizzare l'operazione bit-shift C per impostare questo bit. Scrivi la seguente dichiarazione per impostare questo bit:

reg3 & = ~ (1 << 7);

4 Compilare e caricare il programma sul PIC12F675. La procedura esatta per questo dipende dall'hardware in uso a lampeggiare EEPROM, e la catena strumento che si utilizza per i programmi di cross-compilazione. Cross-compilazione è una procedura che compila il codice utilizzando un PC, ma genera codice macchina che sia leggibile da parte del PIC12F675. Dopo aver compilato e caricato il programma sul PIC12F675, sarà protetto dalla funzione "Codice di protezione".