XC886/888CLM
Flash Memory
User’s Manual
4-18
V1.3, 2010-02
Flash Memory, V 1.0
4.8.3
Aborting Flash Erase
Each complete erase operation on a Flash bank requires approximately 100 ms, during
which read and program operations on the Flash bank cannot be performed. For the
XC886/888, provision has been made to allow an on-going erase operation to be
interrupted so that higher priority tasks such as reading/programming of critical data
from/to the Flash bank can be performed. Hence, erase operations on selected Flash
bank sector(s) may be aborted to allow data in other sectors to be read or programmed.
To minimize the effect of aborted erase on the Flash data retention/cycling and to
guarantee data reliability, the following points must be noted for each Flash bank:
•
An erase operation cannot be aborted earlier than 5 ms after it starts.
•
Maximum of two consecutive aborted erase (without complete erase in-between) are
allowed on each sector.
•
Complete erase operation (approximately 100 ms) is required and initiated by user-
program after a single or two consecutive aborted erase as data in relevant sector(s)
is corrupted.
R6
Select sector(s) to be erased for P-Flash Bank Pair 1.
LSB represents sector 0, bit 2 represents sector 2.
R7
Select sector(s) to be erased for P-Flash Bank Pair 2.
LSB represents sector 0, bit 2 represents sector 2.
Flash NMI (NMICON.NMIFLASH) is enabled (1) or disabled (0)
MISC_CON.DFLASHEN
3)
bit = 1
Output
PSW.CY:
0 = Flash erasing is in progress
1 = Flash erasing is not started
Stack size required
9 bytes
Resource
used/destroyed
ACC, B, SCU_PAGE, PSW
R0 – R7 of Current Register Bank (8 bytes)
--
1)
The time taken by the subroutine from the calling of the subroutine to the setting of the NMI flag can be split
into two components. One is the time from the calling of the subroutine to the return to the calling function,
which is <30
µ
s, the other is the time needed by the Flash State Machine, which is given by the formula
9807360/
f
SYS
.
2)
The inputs should be clear to 0 if the sector(s) of the bank(s) is/are not to be selected for erasing.
3)
When Flash Protection Mode 0 is enabled, the DFLASHEN bit needs to be set before each erase of the D-
Flash banks. In addition, parallel erase of the D-Flash Banks 0 and 1 is not allowed in the Flash Protection
Mode 0.
Table 4-2
Flash Erase Subroutine
(cont’d)
*