
ADuC841/ADuC842/ADuC843
USING FLASH/EE DATA MEMORY
The 4 kBytes of Flash/EE data memory are configured as 1024
pages, each of 4 bytes. As with the other ADuC841/ADuC842/
ADuC843 peripherals, the interface to this memory space is via
a group of registers mapped in the SFR space. A group of four
data registers (EDATA1–4) is used to hold the four bytes of data
at each page. The page is addressed via the two registers, EADRH
and EADRL. Finally, ECON is an 8-bit control register that may
be written with one of nine Flash/EE memory access commands
to trigger various read, write, erase, and verify functions. A block
diagram of the SFR interface to the Flash/EE data memory array
is shown in Figure 41.
ECON—Flash/EE Memory Control SFR
Programming of either Flash/EE data memory or Flash/ EE
program memory is done through the Flash/EE memory
control SFR (ECON). This SFR allows the user to read, write,
erase, or verify the 4 kBytes of Flash/EE data memory or the
56 kBytes of Flash/EE program memory.
Table 12. ECON—Flash/EE Memory Commands
ECON VALUE
(Power-On Default)
01H
READ
by the page address EADRH/L, being read into EDATA1–4.
02H
WRITE
Flash/EE data memory at the page address given by
EADRH/L (0 – EADRH/L < 0400H).
Note that the 4 bytes in the page being addressed must
be pre-erased.
03H
Reserved.
04H
VERIFY
page address given by EADRH/L. A subsequent read of the
ECON SFR results in 0 being read if the verification is valid,
or a nonzero value being read to indicate an invalid
verification.
05H
ERASE PAGE
memory addressed by the page address EADRH/L.
Rev. 0 | Page 34 of 88
BYTE 1
(0000H)
E
BYTE 1
(0004H)
BYTE 1
(0008H)
BYTE 1
(000CH)
BYTE 1
(0FF8H)
BYTE 1
(0FFCH)
BYTE 2
(0001H)
E
BYTE 2
(0005H)
BYTE 2
(0009H)
(BYTE 2
BYTE 2
(0FF9H)
BYTE 2
(0FFDH)
BYTE 3
(0002H)
E
BYTE 3
(0006H)
BYTE 3
(000AH)
BYTE 3
(000EH)
BYTE 3
(0FFAH)
BYTE 3
(0FFEH)
BYTE 4
(0003H)
E
BYTE 4
(0007H)
BYTE 4
(000BH)
BYTE 4
(000FH)
BYTE 4
(0FFBH)
(0FFFH)
01H
00H
02H
03H
3FEH
3FFH
P
(
BYTE
ADDRESSES
ARE GIVEN IN
BRACKETS
0
BYTE 4
Figure 41. Flash/EE Data Memory Control and Configuration
Command Description (Normal Mode)
Command Description (ULOAD Mode)
Not implemented. Use the MOVC instruction.
Results in 4 bytes in the Flash/EE data memory, addressed
Results in 4 bytes in EDATA1–4 being written to the
Results in bytes 0–255 of internal XRAM being written to
the 256 bytes of Flash/EE program memory at the page
address given by EADRH (0 – EADRH < E0H).
Note that the 256 bytes in the page being addressed must
be pre-erased.
Reserved.
Not implemented. Use the MOVC and MOVX instructions
to verify the write in software.
Verifies that the data in EDATA1–4 is contained in the
Results in erasing the 4-byte page of Flash/EE data
Results in the 64 byte page of Flash/EE program memory,
addressed by the byte address EADRH/L, being erased.
EADRL can equal any of 64 locations within the page. A
new page starts whenever EADRL is equal to 00H, 40H,
80H, or C0H.
Results in erasing the entire 56 kBytes of ULOAD Flash/EE
program memory.
Not implemented. Use the MOVC command.
06H
ERASE ALL
81H
READBYTE
Results in erasing the entire 4 kBytes of Flash/EE data
memory.
Results in the byte in the Flash/EE data memory,
addressed by the byte address EADRH/L, being read into
EDATA1 (0 – EADRH / L – 0FFFH).
Results in the byte in EDATA1 being written into Flash/EE
data memory at the byte address EADRH/L
82H
WRITEBYTE
Results in the byte in EDATA1 being written into Flash/EE
program memory at the byte address EADRH/L (0 –
EADRH/L – DFFFH).
Enters normal mode directing subsequent ECON
instructions to operate on the Flash/EE data memory.
Leaves the ECON instructions to operate on the Flash/EE
program memory.
0FH
EXULOAD
F0H
ULOAD
Leaves the ECON instructions to operate on the Flash/EE
data memory.
Enters ULOAD mode, directing subsequent ECON
instructions to operate on the Flash/EE program memory.