Re: PIC16F628: what's the addr of EEPROM?

From: Michael (NoSpam_at_att.net)
Date: 06/18/04


Date: Fri, 18 Jun 2004 04:06:06 GMT

Byron A Jeff wrote:
>
> In article <xijAc.8$uM6.295090@news.salzburg-online.at>,
> Wolfgang Mahringer <yeti201@gmx.at> wrote:
> -Dear Michael,
> -
> -Michael wrote:
> -> Where in the docs is the starting address of EEPROM defined?? A program
> -> I wrote a year or so ago has EEPROM data ORG'd and DEFINED at 0x1200,
> -> but I have no idea were I got that address!
> -
> -The only way to access to EEPROM bytes is via the EEADR, EEDATA, EECON1
> -and EECON2 registers. See section 13 of the data*** how to do this.
> -
> -Like the built in RAM, the EEPROM has an independent address space, and
> -it starts at 0.
> -
> -> Having a senior moment, I guess.
> -:-)
>
> Wolf,
>
> While technically true, there's more to the story. The data EEPROM of pics
> can be externally programmed by the PIC programmer. the 0x2100 is a convention
> used to describe the address space of the data EEPROM to the programmer.
> So the address is an agreement between the human programmer and the hardware
> PIC programmer to describe the data for the data EEPROM.
>
> It could in fact be any other address that the human and the PIC programmer
> software can agree on. However for midrange PICS th 0x2100 is pretty standard.
>
> Note that on the 18F parts the address is completely different: 0xC00000 IIRC.
> rason being is that 18F has a larger program memory address space.
>
> Hope this helps,
>
> BAJ (Trivial LVP PIC Programmer designer: http://www.finitesite.com/d3jsys)

Yeah, that does help. Thank-you. Subsequent to posting I decided that
the reason I had ORGed EEPROM at x1200/x2100 (whichever) is that's what
I'd done previously with 16f84 (Makes little sense; I know.)

The "book of words" for MPASM (document DS33014G) states very clearly
that "DE" can be used to define the contents of EEPROM at device
programming time, and it does work ... for the 16F628 at least. (As
long as you ORG it correctly)


Loading