The User Row Programming feature allows programming new values to the user row
(USERROW) on a locked device. To program with this functionality enabled, the following
sequence must be followed:
- 1.Enter the USERROW-Write key located
in Table 2 by using the
KEY
instruction. See
Table 2 for the USERROW-Write signature.
- 2.
Optional: Read the User Row Write Key Status (UROWWRITE) bit from the ASI Key
Status (UPDI.ASI_KEY_STATUS) register to see if the key has been activated.
- 3.Write the signature to the Reset
Request (RSTREQ) bit in the ASI Reset Request (UPDI.ASI_RESET_REQ) register. This
will issue a System Reset.
- 4.Write
0x00
to the
ASI Reset Request (UPDI.ASI_RESET_REQ) register to clear the System Reset.
- 5.Read the Start User Row Programming
(UROWPROG) bit from the ASI System Status (UPDI.ASI_SYS_STATUS) register.
- 6.User Row Programming can start when
the UROWPROG bit is ‘
1
’. If UROWPROG is ‘0
’,
return to step 5.
- 7.The data to be written to the User
Row must first be written to a buffer in the RAM. The writable area in the RAM has a
size of 32 bytes, and it is only
possible to write user row data to the first 32 byte addresses of the RAM. Addressing outside this memory range
will result in a nonexecuted write. The data will map 1:1 with the user row space
when the data is copied into the user row upon completion of the Programming
sequence.
- 8.When all user row data has been
written to the RAM, write the User Row Programming Done (UROWDONE) bit in the ASI
System Control A (UPDI.ASI_SYS_CTRLA) register.
- 9.Read the Start User Row Programming
(UROWPROG) bit from the ASI System Status (UPDI.ASI_SYS_STATUS) register.
- 10.The User Row Programming is completed
when UROWPROG bit is ‘
0
’. If UROWPROG bit is ‘1
’,
return to step 9.
- 11.Write to the User Row Write Key
Status (UROWWRITE) bit in the ASI Key Status (UPDI.ASI_KEY_STATUS) register.
- 12.Write the signature to the Reset
Request (RSTREQ) bit in the ASI Reset Request (UPDI.ASI_RESET_REQ) register. This
will issue a System Reset.
- 13.Write
0x00
to the
ASI Reset Request (UPDI.ASI_RESET_REQ) register to clear the System Reset.
- 14.The User Row Programming is
complete.
It is not possible to read back data from
the RAM in this mode. Only writes to the first 32 bytes of the RAM are allowed.