Rev. 1.0, 02/00, page 151 of 1141
End of erasing
START
Set SWE bit in FLMCR1
Set ESU1 (2) bit in FLMCR1 (2)
Set E1 (2) bit in FLMCR1 (2)
Wait 1 µs
Wait 100 µs
n = 1
Set EBR1 (2)
Enable WDT
*
3
Wait 10 ms
Wait 10 µs
Wait 10 µs
Wait 6 µs
Set block start address to
verify address
Wait 2 µs
Wait 4 µs
*
2
*
4
Start of erase
Clear E1 (2) bit in FLMCR1 (2)
Clear ES1 (2) bit in FLMCR1 (2)
Set EV1 (2) bit in FLMCR1 (2)
H'FF dummy write to verify address
Read verify data
Clear EV1 (2) bit in FLMCR1 (2)
Wait 4 µs
Clear EV1 (2) bit in FLMCR1 (2)
Clear SWE bit in FLMCR1
Disable WDT
Halt erase
*
1
Verify data =
all 1?
Wait 100 µs
Wait 100 µs
End of erasing of
all erase blocks?
Erase failure
Clear SWE bit in FLMCR1
n
≥
100?
NO
NO
NO
NO
YES
YES
YES
YES
Notes: 1.
2.
3.
4.
Increment
address
n
←
n+1
Last address
of block?
Preprogramming (setting erase block data to all 0) is not necessary.
Verify data is read in 16-bit (word) units.
Set only one bit in EBR. More than two bit cannot be set.
Erasing is performed in block units. To erase a number of blocks, the individual blocks must be erased sequentially.
Figure 7.13 Erase/Erase-Verify Flowchart