Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: Re: [AVR-Chat] Errors in manuals ...

2005-09-01 by Thomas Keller

On Wed, 2005-08-31 at 22:45 -0500, Dennis wrote:
> Clarify. The GPIOR0 is in a different address space from the other 2
> GP 
> registers. Why? Haven't a clue.


  Simple.   In the original design specifications for the AVR
processors, only 64 sequential bytes in the address spacer were
allocated for the necessary I/I and control registers.  As the
architecture matured, and more features (read: gegisters) were added,
the register set outgrew the alloted 64 bytes.  Atmel decided to
implement an extended I/O address space, and, in what I considser to a
smart move, opted NOT to change the existing register addressing
assignments.  Tihs would have led to incredible confusions.

  Now, perhaps itmight be argued that thery could have considered
modifying the I/O addressing instructiosn to also access this extended
I/O space, but if I read the data sheet correctly, this would have
involved making them take longer to execute (having to read an
additional byte to obtain the longer addresses).  So, in the intererst
of speed and simplicity, they simply did not do this.  You address those
registers using standard memory access instrcutionsand addressing modes.
Some potential for confusion, but NOTHING like what the situation would
have been if they had chnaged the register addressing assignments.

  Compatibility is a good thing, even it if sometimes leads to minor
confusions such as this one.

Tom

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.