On Mon, May 04, 2009 at 11:46:40AM -0700, Steven Michalske wrote:
> On May 4, 2009, at 11:33 AM, David Kelly wrote:
> >
> >IIRC the compiler doesn't know internal AVR EEPROM either. AVR
> >EEPROM is not mapped in CPU address space but it faked into the load
> >map for debugging and device programming.
> >
> 
> Good catch Dave,  avr libc  has macros for accessing the AVR eeprom.
> 
> Look at http://www.nongnu.org/avr-libc/user-manual/group__avr__eeprom.html 
>   for insperation on writing your own macros.
> 
> You can add another section to your linker script for the external
> eeprom if you wanted to as well.

Did that on a project some time ago. The advantage is to initialize the
EEPROM at device programming time. You can get "addresses" off your
structures initialized in the EEPROM but have to use them as offsets
when using EEPROM routines rather than as pointers into RAM or FLASH.

Other than the ability to initialize EEPROM with an AVR programming tool
there isn't much difference in use of internal vs external EEPROM.

The OP might consider writing to FLASH for his data logger assignment.
Is harder to use as one must write bigger blocks at a time. Might be a
wear limit depending on how many write/erase cycles are needed.

-- 
David Kelly N4HHE, dke...@hiwaay.net
========================================================================
Whom computers would destroy, they must first drive mad.


_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to