« Return to Thread: gpdasm 0.13.6 alpha question

Re: gpdasm 0.13.6 alpha question

by Peter Keller :: Rate this Message:

Reply to Author | View in Thread

On Thu, Mar 12, 2009 at 09:17:46AM +0000, Rob Pearce wrote:

> On Thursday 12 March 2009, Peter Keller wrote:
> > 300000:  0804  sublw  0x4
> > 300002:  1e38  comf   0x38, 0x1, 0
> >
> > I would read that (from left to right) as being:
> >
> > 300000: 08
> > 300001: 04
> > 300002: 1e
> > 300003: 38
> >
> No, that would be a wrong reading. The PIC is little-endian, so the byte at
> 0x300000 is the lower byte of the word.

That definitely explains my misread, thanks.

> > Could I get a bit more clarification on where the EEPROM addresses are on
> > PICs in general? It seems a hard thing to pin down.
> >
> That's not an entirely meaningful question - the EEPROM is in a separate
> address space. It's a bit like asking where 38 South Road is on High Street -
> it isn't, it's somewhere else. Since the HEX file format doesn't allow for
> multiple address spaces, MicroChip decided on a convention (or several
> different conventions, in fact) for mapping the EEPROM address space into
> out-of-range normal address space so that programmers can load it. These
> conventions are therefore programmer related rather than device related. You
> can usually find them in a comment in the "In Circuit Serial Programming"
> guide for the family. The 0xF00000 address is used for most (all?) 18F
> devices, while 0x2100 is generally used for mid-range (16F) devices (but note
> that mid-range devices use word addressing).

I get it now, thank you for the explanation.

-pete

---------------------------------------------------------------------
To unsubscribe, e-mail: gnupic-unsubscribe@...
For additional commands, e-mail: gnupic-help@...

 « Return to Thread: gpdasm 0.13.6 alpha question