R
Platform Flash XL High-Density Configuration and Storage Device
X-Ref Target - Figure 43
Start
locking_operation_command
(address, lock_operation)
{
Write 60h(1)
writeToFlash (address, 0x60) ; /*configuration setup*/
/* see note (1) */
if (lock_operation==LOCK) /*to protect the block*/
writeToFlash (address, 0x01)
else if (lock_operation==UNLOCK) /*to unprotect the block*/
writeToFlash (address, 0xD0)
else if (lock_operation==LOCK-DOWN) /*to lock the block*/
writeToFlash (address, 0x2F)
;
Write
01h, D0h or 2Fh
;
;
Write 90h(1)
writeToFlash (address, 0x90) ;
/*see note (1) */
Read Block
Lock States
if (readFlash (address) ! = locking_state_expected)
error_handler () ;
NO
Locking
change
/*Check the locking state (see Read Block Signature table )*/
confirmed?
YES
writeToFlash (address, 0xFF) ; /*Reset to Read Array mode*/
/*see note (1) */
Write FFh(1)
}
End
DS617_37_101608
Notes:
1. Any address within the bank can equally be used.
2. To read the memory in Asynchronous mode, the CR15 Configuration Register bit must be written to 1.
Figure 43: Locking Operation Flowchart and Pseudocode
DS617 (v3.0.1) January 07, 2010
www.xilinx.com
Product Specification
75