Figure 32. Locking Operations Flowchart and Pseudo Code
M36W832TE, M36W832BE
Start
Write 60h
Write
01h, D0h or 2Fh
Write 90h
Read Status
Register
Locking
NO
change
confirmed?
YES
Write FFh
End
locking_operation_command (address, lock_operation) {
writeToFlash (any_address, 0x60) ; /*configuration setup*/
if (lock_operation==PROTECT) /*to protect the block*/
writeToFlash (address, 0x01) ;
else if (lock_operation==UNPROTECT) /*to unprotect the block*/
writeToFlash (address, 0xD0) ;
else if (lock_operation==LOCK) /*to lock the block*/
writeToFlash (address, 0x2F) ;
writeToFlash (any_address, 0x90) ;
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*/
}
AI90179
59/64