m58wr032ft STMicroelectronics, m58wr032ft Datasheet - Page 78

no-image

m58wr032ft

Manufacturer Part Number
m58wr032ft
Description
32 Mbit 2mb X 16, Multiple Bank, Burst 1.8v Supply Flash Memory
Manufacturer
STMicroelectronics
Datasheet
M58WR032FT, M58WR032FB
Enhanced Factory Program Pseudo Code
efp_command(addressFlow,dataFlow,n)
/* n is the number of data to be programmed */
{
}
78/86
/* setup phase */
writeToFlash(addressFlow[0],0x30);
writeToFlash(addressFlow[0],0xD0);
status_register=readFlash(any_address);
if (status_register.SR7==1){
}
else{
}
/*EFP aborted for an error*/
if (status_register.SR4==1) /*program error*/
if (status_register.SR3==1) /*VPP invalid error*/
if (status_register.SR1==1) /*program to protect block error*/
/*Program Phase*/
do{
} while (status_register.SR0==1)
/*Ready for first data*/
for (i=0; i++; i< n){
}
writeToFlash(another_block_address,FFFFh);
/* Verify Phase */
for (i=0; i++; i< n){
}
writeToFlash(another_block_address,FFFFh);
/* exit program phase */
/* Exit Phase */
/* status register polling */
do{
} while (status_register.SR7==0);
if (status_register.SR4==1) /*program failure error*/
if (status_register.SR3==1) /*VPP invalid error*/
if (status_register.SR1==1) /*program to protect block error*/
error_handler();
error_handler();
error_handler();
status_register=readFlash(any_address);
/* E or G must be toggled*/
writeToFlash(addressFlow[i],dataFlow[i]);
/* status register polling*/
do{
} while (status_register.SR0==1);
/* Ready for a new data */
writeToFlash(addressFlow[i],dataFlow[i]);
/* status register polling*/
do{
} while (status_register.SR0==1);
/* Ready for a new data */
status_register=readFlash(any_address);
/* E or G must be toggled */
error_handler();
error_handler();
error_handler();
status_register=readFlash(any_address);
/* E or G must be toggled*/
status_register=readFlash(any_address);
/* E or G must be toggled*/

Related parts for m58wr032ft