R
Platform Flash XL High-Density Configuration and Storage Device
X-Ref Target - Figure 42
Start
erase_suspend_command
( )
{
Write B0h
writeToFlash (bank_address, 0xB0) ;
writeToFlash (bank_address, 0x70) ;
/* read status register to check if
erase has already completed */
Write 70h
do {
Read Status
Register
status_register=readFlash (bank_address) ;
/* E or G must be toggled*/
NO
NO
}
while (status_register.SR7== 0) ;
SR7 = 1
YES
if (status_register.SR6==0) /*erase completed */
SR6 = 1
YES
Erase Complete
{
writeToFlash (bank_address, 0xFF)
;
read_data ( ) ;
/*read data from another block*/
/*The device returns to Read Array
Write FFh
(as if program/erase suspend was not issued).*/
Read data from another block,
Program,
Set Configuration Register or
Block Protect/Unprotect/Lock
}
}
else
{
writeToFlash (bank_address, 0xFF)
read_program_data ( );
;
Write D0h
Write FFh
/*read or program data from another address*/
writeToFlash (bank_address, 0xD0) ;
/*write 0xD0 to resume erase*/
}
Read Data
Erase Continues
DS617_36_101608
Notes:
1. The Read Status Register command (Write 70h) can be issued just before or just after the Erase Resume command.
2. To read the memory in Asynchronous mode, the CR15 Configuration Register bit must be written to 1.
Figure 42: Erase Suspend & Resume Flowchart and Pseudocode
DS617 (v3.0.1) January 07, 2010
www.xilinx.com
Product Specification
74