Datasheet

debugger makes an access to a peripheral, write-protection is ignored so that the debugger can update
the register.
Write-protect registers allow the user to disable a selected peripheral’s write-protection without doing a
read-modify-write operation. These registers are mapped into two I/O memory locations, one for clearing
and one for setting the register bits. Writing a one to a bit in the Write Protect Clear register (WPCLR) will
clear the corresponding bit in both registers (WPCLR and WPSET) and disable the write-protection for
the corresponding peripheral, while writing a one to a bit in the Write Protect Set (WPSET) register will set
the corresponding bit in both registers (WPCLR and WPSET) and enable the write-protection for the
corresponding peripheral. Both registers (WPCLR and WPSET) will return the same value when read.
If a peripheral is write-protected, and if a write access is performed, data will not be written, and the
peripheral will return an access error (CPU exception).
The PAC also offers a safety feature for correct program execution, with a CPU exception generated on
double write-protection or double unprotection of a peripheral. If a peripheral n is write-protected and a
write to one in WPSET[n] is detected, the PAC returns an error. This can be used to ensure that the
application follows the intended program flow by always following a write-protect with an unprotect, and
vice versa. However, in applications where a write-protected peripheral is used in several contexts, for
example, interrupts, care should be taken so that either the interrupt can not happen while the main
application or other interrupt levels manipulate the write-protection status, or when the interrupt handler
needs to unprotect the peripheral, based on the current protection status, by reading WPSET.
Related Links
16. PM – Power Manager
11.6.2 Register Description
Atomic 8-, 16- and 32-bit accesses are supported. In addition, the 8-bit quarters and 16-bit halves of a 32-
bit register, and the 8-bit halves of a 16-bit register can be accessed directly. Refer to the Product
Mapping for PAC locations.
11.6.2.1 PAC0 Register Description
SAM D21 Family
Processor And Architecture
© 2018 Microchip Technology Inc.
Datasheet Complete
DS40001882D-page 54