2009 Microchip Technology Inc.
Preliminary
DS41338B-page 19
MCV14A
4.0
FLASH DATA MEMORY
The data memory is the Flash data memory block,
which attaches to the user Flash program memory. It is
located at addresses 0x400-0x43F, as shown in Figure
5-1.
This Flash data memory block consists of 8 rows and
has self-write capability of up to 64 bytes. This memory
block is not directly mapped in the register file space.
Instead, it is indirectly addressed through the Special
Function Registers. There are three SFRs used to read
and write this memory:
EEDATA holds the 8-bit data for read/write, and
EEADR holds the address of the EEDATA location
being accessed. The effective program counter is
EEADR + 400h with only the lower 8 bits of each word
being readable or writable.
EEADR = 00h, PC = 400h
EEADR = 01h, PC = 401h
The Flash data memory allows byte read and write, and
during the operations of read and write cycles, the CPU
stalls.
The timing for all self-writes and erases is controlled by
the internal timing block of the program memory (see
by an on-chip charge pump rated to operate over the
voltage range of the device for byte or word operations.
When the device is code-protected, the CPU may
continue to read and write the Flash data memory and
read the program memory. When code-protected, the
device programmer can no longer access data or
program memory.
REGISTER 4-1:
EEDATA: FLASH DATA REGISTER
R/W-x
EEDATA7
EEDATA6
EEDATA5
EEDATA4
EEDATA3
EEDATA2
EEDATA1
EEDATA0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
U = Unimplemented bit, read as ‘0’
-n = Value at POR
‘1’ = Bit is set
‘0’ = Bit is cleared
x = Bit is unknown
bit 7-0
EEDATA<7:0>: 8-bits of data to be read from/written to data Flash
REGISTER 4-2:
EEADR: FLASH ADDRESS REGISTER
U-0
R/W-x
—
EEADR5
EEADR4
EEADR3
EEADR2
EEADR1
EEADR0
bit 7
bit 0
Legend:
R = Readable bit
W = Writable bit
U = Unimplemented bit, read as ‘0’
-n = Value at POR
‘1’ = Bit is set
‘0’ = Bit is cleared
x = Bit is unknown
bit 7-6
Unimplemented: Do not use
bit 5-0
EEADR<5:0>: 6-bits of data to be read from/written to data Flash