XC2200 Derivatives
System Units (Vol. 1 of 2)
Memory Organization
User’s Manual
3-36
V2.1, 2008-08
MemoryX2K, V1.3
Therefore the application must ensure that flash processes can perform uninterrupted
and under the defined operating conditions, e.g. by early brown-out warning that
prevents the software from starting flash processes.
After a flash process aborted the affected address range must be erased and re-
programmed.
3.9.5.3
Margin Reads
Margin reads can be used to verify that flash data is readable with a certain margin. This
is typically used as additional check directly after end-of-line programming. As explained
above this is not a reliable method for detecting interrupted program or erase processes
but the probability of detecting such cases can be increased.
Reading with “hard read 0 margin” returns weak 0s as 1s and reading with “hard read 1
margin” returns weak 1s as 0s. Changing the read margin is done with the command
sequence “
” and is reported by the status register “
”.
3.9.5.4
Protection Overview
The flash memory supports read and write protection for the whole memory and
separate write protection for each logical sector. The logical sector structure is depicted
in
.
Figure 3-6
Logical Sectors
If read protection is installed and active, any flash read access is disabled in case of start
after reset from external memory or from internal RAM. Debug access is as well disabled
flash_array_logsectors_diagram.vsd
256 KB Array
Phys.
Sector
Number
0
63
Logical
Grouping
Logical
Sector
Address
0
63
4
8
12
16
32
48
Logical
Sector
Number
0 - 3 = 4 * 4 KB
4 = 16 KB
5 = 16 KB
6 = 12 KB/16 KB
7 = 64 KB
8 = 64 KB
9 = 64 KB
Phys. Sector 15
Reserved in
Flash 0
15