English
Language : 

M28W160CT Datasheet, PDF (40/50 Pages) STMicroelectronics – 16 Mbit (1Mb x16, Boot Block) 3V Supply Flash Memory
M28W160CT, M28W160CB
APPENDIX C. FLOWCHARTS AND PSEUDO CODES
Figure 17. Program Flowchart and Pseudo Code
Start
Write 40h or 10h
Write Address
& Data
Read Status
Register
program_command (addressToProgram, dataToProgram) {:
writeToFlash (any_address, 0x40) ;
/*or writeToFlash (any_address, 0x10) ; */
writeToFlash (addressToProgram, dataToProgram) ;
/*Memory enters read status state after
the Program Command*/
do {
status_register=readFlash (any_address) ;
/* E or G must be toggled*/
NO
b7 = 1
YES
NO
b3 = 0
YES
NO
b4 = 0
YES
NO
b1 = 0
YES
End
VPP Invalid
Error (1, 2)
Program
Error (1, 2)
Program to Protected
Block Error (1, 2)
} while (status_register.b7== 0) ;
if (status_register.b3==1) /*VPP invalid error */
error_handler ( ) ;
if (status_register.b4==1) /*program error */
error_handler ( ) ;
if (status_register.b1==1) /*program to protect block error */
error_handler ( ) ;
}
AI03538b
Note: 1. Status check of b1 (Protected Block), b3 (VPP Invalid) and b4 (Program Error) can be made after each program operation or after
a sequence.
2. If an error is found, the Status Register must be cleared before further Program/Erase Controller operations.
40/50