
ADuC836
–32–
Using the Flash/EE Data Memory
The 4 Kbytes of Flash/EE data memory are configured as
1024 pages, each of four bytes. As with the other ADuC836
peripherals, the interface to this memory space is via a group of
registers mapped in the SFR space. A group of four data regis-
ters (EDATA1–A4) 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 20.
ECON—Flash/EE Memory Control SFR
Programming of either the Flash/EE data memory or the 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.
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
(000DH)
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)
BYTE 4
(0FFFH)
01H
00H
02H
03H
3FEH
3FFH
P
(
BYTE
ADDRESSES
ARE GIVEN IN
BRACKETS
Figure 20. Flash/EE Data Memory Control and Configuration
Table XIV. ECON—Flash/EE Memory Commands
Command Description Command Description
ECON Value (Normal Mode) (Power-On Default) (ULOAD Mode)
01H Results in four bytes in the Flash/EE data memory, Not Implemented. Use the MOVC instruction.
READ addressed by the page address EADRH/L, being read
into EDATA 1 to 4.
02H Results in four bytes in EDATA1–A4 being written to the Results in bytes 0–255 of internal XRAM being written
WRITE Flash/EE data memory, at the page address given by to the 256 bytes of Flash/EE program memory at the
EADRH/L (0
EADRH/L < 0400H) page address given by EADRH. (0
EADRH < E0H)
Note: The four bytes in the page being addressed must Note: The 256 bytes in the page being addressed must
be pre-erased. be pre-erased.
03H Reserved Command Reserved Command
04H Verifies if the data in EDATA1–4 is contained in the Not Implemented. Use the MOVC and MOVX
VERIFY page address given by EADRH/L. A subsequent read instructions to verify the WRITE in software.
of the ECON SFR will result in a 0 being read if the
verification is valid, or a nonzero value being read
to indicate an invalid verification.
05H Results in the erase of the 4-bytes page of Flash/EE Results in the 64-byte page of Flash/EE program
ERASE PAGE data memory addressed by the page address EADRH/L 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.
06H Results in the erase of entire four Kbytes of Flash/EE Results in the erase of the entire 56 Kbytes of ULOAD
ERASE ALL data memory. Flash/EE program memory.
81H Results in the byte in the Flash/EE data memory, Not Implemented. Use the MOVC command.
READBYTE addressed by the byte address EADRH/L, being read
into EDATA1. (0
EADRH/L
0FFFH).
82H Results in the byte in EDATA1 being written into Results in the byte in EDATA1 being written into
WRITEBYTE Flash/EE data memory, at the byte address EADRH/L. Flash/EE program memory at the byte address
EADRH/L (0
EADRH/L
DFFFH).
0FH Leaves the ECON instructions to operate on the Enters Normal mode, directing subsequent ECON
EXULOAD Flash/EE data memory. instructions to operate on the Flash/EE data memory.
F0H Enters ULOAD mode, directing subsequent ECON Leaves the ECON instructions to operate on the Flash/EE
ULOAD instructions to operate on the Flash/EE program memory. program memory.
REV. A