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