English
Language : 

M58LT128HST Datasheet, PDF (93/110 Pages) STMicroelectronics – 128-Mbit (8 Mb ×16, Multiple Bank, Multilevel interface, Burst) 1.8 V supply, Secure Flash memories
M58LT128HST, M58LT128HSB
Flowcharts and pseudo codes
Figure 21. Buffer Program flowchart and pseudo code
Start
Buffer Program E8h
Command,
Start Address
Buffer_Program_command (Start_Address, n, buffer_Program[] )
/* buffer_Program [] is an array structure used to store the address and
data to be programmed to the Flash memory (the address must be within
the segment Start Address and Start Address+n) */
{
do {writeToFlash (Start_Address, 0xE8) ;
Read Status
Register
status_register=readFlash (Start_Address);
NO
SR7 = 1
YES
Write n(1),
Start Address
} while (status_register.SR7==0);
writeToFlash (Start_Address, n);
Write Buffer Data,
Start Address
X=0
writeToFlash (buffer_Program[0].address, buffer_Program[0].data);
/*buffer_Program[0].address is the start address*/
x = 0;
YES
X=n
NO
Write Next Buffer Data,
Next Program Address(2)
X=X+1
Program
Buffer to Flash
Confirm D0h
Read Status
Register
while (x<n)
{ writeToFlash (buffer_Program[x+1].address, buffer_Program[x+1].data);
x++;
}
writeToFlash (Start_Address, 0xD0);
do {status_register=readFlash (Start_Address);
NO
SR7 = 1
YES
Full Status
Register Check(3)
End
} while (status_register.SR7==0);
full_status_register_check();
}
AI08913b
1. n + 1 is the number of data being programmed.
2. Next Program data is an element belonging to buffer_Program[].data; Next Program address is an element belonging to
buffer_Program[].address
3. Routine for Error Check by reading SR3, SR4 and SR1.
93/110