Flowcharts and pseudo codes
Figure 22. Locking Operations Flowchart and Pseudo Code
M28W320FCT, M28W320FCB
Start
Write 60h
Write
01h, D0h or 2Fh
Write 90h
locking_operation_command (address, lock_operation) {
writeToFlash (any_address, 0x60) ; /*configuration setup*/
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) ;
writeToFlash (any_address, 0x90) ;
Read Block
Lock States
Locking
NO
change
confirmed?
YES
Write FFh
End
if (readFlash (address) ! = locking_state_expected)
error_handler () ;
/*Check the locking state (see Read Block Signature table )*/
writeToFlash (any_address, 0xFF) ; /*Reset to Read Array mode*/
}
AI04364
62/69