
ST10F296E
Internal Flash memory
Table 10 shows the composition of the control register interface. These registers can be
addressed by the CPU
.
5.1.3
Low power mode
The Flash modules are automatically switched off when executing the PWRDN instruction.
Consumption is drastically reduced, but, exiting this state can take a long time (tPD).
Note:
Recovery time from power-down mode for the Flash modules is shorter than the main
oscillator start-up time. To avoid problems restarting to fetch code from the Flash, it is
important to properly size the external circuit on the RPD pin.
Power-off Flash mode is entered only at the end of the Flash write operation.
5.2
Write operation
The Flash modules have a single register interface mapped in the memory space of the
XFlash module (0x0E 0000 to 0x0E 0013). All operations are enabled through four 16-bit
control registers: Flash control register 1-0 high/low (FCR1H/L-FCR0H/L). Eight other 16-bit
registers are used to store Flash addresses and data for program operations (FARH/L and
FDR1H/L-FDR0H/L) and write operation error flags (FERH/L). All registers are accessible
with 8 and 16-bit instructions (since they are mapped on the ST10 XBus).
Note:
Before accessing the XFlash module (and consequently the Flash register to be used for
program/erasing operations), the XFLASHEN bit in the XPERCON register and the XPEN
bit in the SYSCON register must be set.
The four Flash module banks have their own dedicated sense amplifiers, so that any bank
can be read while any other bank is written. However simultaneous write operations (‘write’
meaning either program or erase) on different banks are forbidden. When a write operation
is occurring in the Flash, no other write operations can be performed.
Table 10.
Control register interface
Name
Description
Addresses
Size
(byte)
ST10
bus size
FCR1-0
Flash control registers 1-0
0x000E 0000 - 0x000E 0007
8
16-bit
(XBus)
FDR1-0
Flash data registers 1-0
0x000E 0008 - 0x000E 000F
8
FAR
Flash address registers
0x000E 0010 - 0x000E 0013
4
FER
Flash error register
0x000E 0014 - 0x000E 0015
2
FNVWPXR
Flash non volatile protection X
register
0x000E DFB0 - 0x000E DFB3
4
FNVWPIR
Flash non volatile protection I
register
0x000E DFB4 - 0x000E DFB7
4
FNVAPR0
Flash non volatile access
protection register 0
0x000E DFB8 - 0x000E DFB9
2
FNVAPR1
Flash non volatile access
protection register 1
0x000E DFBC - 0x000E DFBF
4
XFICR
XFlash interface control register
0x000E E000 - 0x000E E001
2