Titelbild Mikrocontroller

2.6. Configuration Change Protection (CCP)

Systemkritische I/O Register sind vor zufälliger Änderung geschützt. Der SPM Befehl ist vor zufälliger Ausführung geschützt und der LMP Befehl ist geschützt, solange die fuses und Signatur Zeilen gelesen werden. Der Schutz wird über das zentrale CCP Register gesteuert. Änderungen an geschützten I/O Registern oder die Ausführung geschützter Befehle sind nur möglich, wenn eine entsprechende Signatur in das CCP Register geschrieben wird.

Die Signaturen sind:
CCP Signaturen

CCP Signaturen


Schreiben in geschützte I/O-Register

1. Das Programm schreibt die Signatur in das CCP Register um den Schutz vorübergehend aufzuheben

2. Innerhalb von vier Taktzyklen schreibt das Programm die Daten dann in das geschützte Register. Einige besonders geschützte Register enthalten ein zusätzliches Schreibfreigabe / Änderungsbit, das mit der gleichen Operation mit der Daten die Daten geschrieben werden, auf 1 gesetzt werden muss.

Ausführen geschützter Befehle

1. Das Programm schreibt eine Signatur in das CCP Register um den SPM/LPM-Befehl ausführen zu können.

2. Innerhalb von vier Taktzyklen muss dann der gewünschte Befehl ausgeführt werden.

Für beide Fälle muss sichergestellt sein, dass zwischen Schritt 1 und 2 keine anderen Befehle ausgeführt werden, die die Freigabe sofort wieder beenden würden. Nachdem Schritt 1 erfolgreich ausgeführt wurde, werden für die Dauer von 4 Taktzyklen Interrupts automatisch gesperrt. Tritt ein Interrupt während der CCP-Dauer auf, wird das dazugehörende Interruptflag gesetzt.

Fuse Lock

Für einige systemkritische Eigenschaften/Funktionen können Änderungen durch das Programm ausgeschlossen werden. Durch Programmieren entsprechender fuses können die Register dann nicht mehr durch das Programm sondern nur noch durch das externe Programmiergerät geändert werden.
Impressum