XC886/888CLM
Flash Memory
User’s Manual
4-9
V1.3, 2010-02
Flash Memory, V 1.0
A WL address can be calculated as follow:
0000
H
+ 40
H
×
n, with 0
≤
n
≤
127 for P-Flash Pair 0
(4.1)
2000
H
+ 40
H
×
n, with 0
≤
n
≤
127 for P-Flash Pair 1
(4.2)
4000
H
+ 40
H
×
n, with 0
≤
n
≤
127 for P-Flash Pair 2
(4.3)
7000
H
/A000
H
+ 20
H
×
n, with 0
≤
n
≤
127 for D-Flash 0
(4.4)
6000
H
/B000
H
+ 20
H
×
n, with 0
≤
n
≤
127 for D-Flash 1
(4.5)
Only one out of all the wordlines in the Flash banks can be programmed each time. The
minimum program width of each WL is 64 bytes for P-Flash and 32 bytes for D-Flash.
Before programming can be done, the user must first write the number of bytes of data
that is equivalent to the program width into the IRAM using ‘MOV’ instructions. Then, the
Bootstrap Loader (BSL) routine (see
) or Flash program subroutine (see
) will transfer this IRAM data to the corresponding write buffers of the
targeted Flash bank. Once the data are assembled in the write buffers, the charge pump
voltages are ramped up by a built-in program and erase state machine. Once the voltage
ramping is completed, the volatile data content in the write buffers would have been
stored into the non-volatile Flash cells along the selected WL. The WL is selected via the
WL addresses shown in
IRAM with the number of bytes of data as defined by the program width, otherwise the
previous values stored in the write buffers will remain and be programmed into the WL.
For the P-Flash banks, a programmed WL must be erased before it can be
reprogrammed again as the Flash cells can only withstand one gate disturb. This means
that the entire sector containing the WL must be erased since it is impossible to erase a
single WL.
For the D-Flash bank, the same WL can be programmed twice before erasing is required
as the Flash cells are able to withstand two gate disturbs. This means if the number of
data bytes that need to be written is smaller than the 32 bytes minimum programming
width, the user can opt to program this number of data bytes (x; where x can be any
integer from 1 to 31) first and program the remaining bytes (32-x) later. However, since
the minimum programming width of D-Flash is always 32 bytes, the bytes that are
unused in each programming cycle must be written with all zeros.
shows an example of programming the same wordline twice with 16 bytes of
data. In the first program cycle, the lower 16 bytes are written with valid data while the
upper 16 bytes that do not contain meaningful data are written with all zeros. In the
second program cycle, it will be opposite as now only the upper 16 bytes can be written
with valid data and the lower 16 bytes, which already contain meaningful data, must be
written with all zeros.
Содержание XC886CLM
Страница 1: ...User s Manual V1 3 2010 02 Microcontrollers 8 Bit XC886 888CLM 8 Bit Single Chip Microcontroller...
Страница 3: ...User s Manual V1 3 2010 02 Microcontrollers 8 Bit XC886 888CLM 8 Bit Single Chip Microcontroller...
Страница 324: ...XC886 888CLM Serial Interfaces User s Manual 12 52 V1 3 2010 02 Serial Interfaces V 1 0...
Страница 663: ...w w w i n f i n e o n c o m Published by Infineon Technologies AG...