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
Message
Re: Re: [AVR-Chat] Errors in manuals ...
2005-09-01 by Thomas Keller
Attachments
- No local attachments were found for this message.