14
8331B–AVR–03/12
Atmel AVR XMEGA AU
the fuses and signature row. This is handled globally by the configuration change protection
(CCP) register. Changes to the protected I/O registers or bits, or execution of protected instruc-
tions, are only possible after the CPU writes a signature to the CCP register. The different
signatures are described in the register description.
There are two modes of operation: one for protected I/O registers, and one for the protected
instructions, SPM/LPM.
3.12.1
Sequence for write operation to protected I/O registers
1.
The application code writes the signature that enable change of protected I/O registers
to the CCP register.
2.
Within four instruction cycles, the application code must write the appropriate data to
the protected register. Most protected registers also contain a write enable/change
enable bit. This bit must be written to one in the same operation as the data are written.
The protected change is immediately disabled if the CPU performs write operations to
the I/O register or data memory or if the SPM, LPM, or SLEEP instruction is executed.
3.12.2
Sequence for execution of protected SPM/LPM
1.
The application code writes the signature for the execution of protected SPM/LPM to
the CCP register.
2.
Within four instruction cycles, the application code must execute the appropriate
instruction. The protected change is immediately disabled if the CPU performs write
operations to the data memory or if the SLEEP instruction is executed.
Once the correct signature is written by the CPU, interrupts will be ignored for the duration of the
configuration change enable period. Any interrupt request (including non-maskable interrupts)
during the CCP period will set the corresponding interrupt flag as normal, and the request is kept
pending. After the CCP period is completed, any pending interrupts are executed according to
their level and priority. DMA requests are still handled, but do not influence the protected config-
uration change enable period. A signature written by DMA is ignored.
3.13
Fuse Lock
For some system-critical features, it is possible to program a fuse to disable all changes to the
associated I/O control registers. If this is done, it will not be possible to change the registers from
the user software, and the fuse can only be reprogrammed using an external programmer.
Details on this are described in the datasheet module where this feature is available.