m58wr032et STMicroelectronics, m58wr032et Datasheet - Page 73

no-image

m58wr032et

Manufacturer Part Number
m58wr032et
Description
32 Mbit 2mb X 16, Multiple Bank, Burst 1.8v Supply Flash Memory
Manufacturer
STMicroelectronics
Datasheet
Enhanced Factory Program Pseudo Code
efp_command(addressFlow,dataFlow,n)
/* n is the number of data to be programmed */
{
}
/* setup phase */
writeToFlash(addressFlow[0],0x30);
writeToFlash(addressFlow[0],0xD0);
status_register=readFlash(any_address);
if (status_register.b7==1){
}
else{
}
/*EFP aborted for an error*/
if (status_register.b4==1) /*program error*/
if (status_register.b3==1) /*VPP invalid error*/
if (status_register.b1==1) /*program to protect block error*/
/*Program Phase*/
do{
} while (status_register.b0==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.b7==0);
if (status_register.b4==1) /*program failure error*/
if (status_register.b3==1) /*VPP invalid error*/
if (status_register.b1==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.b0==1);
/* Ready for a new data */
writeToFlash(addressFlow[i],dataFlow[i]);
/* status register polling*/
do{
} while (status_register.b0==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*/
M58WR032ET, M58WR032EB
73/81

Related parts for m58wr032et