The user row programming feature allows programming new values to the user row (USERROW) on a
locked device. Follow this sequence to program with this functionality enabled:
- 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.The 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 RAM buffer. 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 the UROWPROG bit is ‘
0
’. If the 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.