138
32072H–AVR32–10/2012
AT32UC3A3
To erase or write a general-purpose fuse bit, the commands Write General-Purpose Fuse Bit
(WGPB) and Erase General-Purpose Fuse Bit (EGPB) are provided. Writing one of these com-
mands, together with the number of the fuse to write/erase, performs the desired operation.
An entire General-Purpose Fuse byte can be written at a time by using the Program GP Fuse
Byte (PGPFB) instruction. A PGPFB to GP fuse byte 2 is not allowed if the flash is locked by the
security bit. The PFB command is issued with a parameter in the PAGEN field:
PAGEN[2:0] - byte to write
PAGEN[10:3] - Fuse value to write
All General-Purpose fuses can be erased by the Erase All General-Purpose fuses (EAGP) com-
mand. An EAGP command is not allowed if the flash is locked by the security bit.
Two errors can be detected in the FSR register after issuing these commands:
Programming Error: A bad keyword and/or an invalid command have been written in the
FCMD register.
Lock Error: A write or erase of any of the special-function fuse bits in
Table 12-3 was
attempted while the flash is locked by the security bit.
The lock bits are implemented using the lowest 16 general-purpose fuse bits. This means that
the 16 lowest general-purpose fuse bits can also be written/erased using the commands for
12.7
Security bit
The security bit allows the entire chip to be locked from external JTAG or other debug access for
code security. The security bit can be written by a dedicated command, Set Security Bit (SSB).
Once set, the only way to clear the security bit is through the JTAG Chip Erase command.
Once the Security bit is set, the following Flash controller commands will be unavailable and
return a lock error if attempted:
Write General-Purpose Fuse Bit (WGPB) to BOOTPROT or EPFL fuses
Erase General-Purpose Fuse Bit (EGPB) to BOOTPROT or EPFL fuses
Program General-Purpose Fuse Byte (PGPFB) of fuse byte 2
Erase All General-Purpose Fuses (EAGPF)
One error can be detected in the FSR register after issuing the command:
Programming Error: A bad keyword and/or an invalid command have been written in the
FCMD register.