[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] how to write specific value to program memory?

From: Kevin Neff
Subject: Re: [avr-gcc-list] how to write specific value to program memory?
Date: Fri, 25 Nov 2005 11:53:12 -0600 (CST)

On Thu, 24 Nov 2005, David Kelly wrote:

> On Nov 24, 2005, at 6:49 AM, 임지수 wrote:
> > hi,
> >
> > I am using atmega128 mic.
> > i want program memory to store data, not eeprom.
> > At avrlibc, the file of pgmspace.h provide the function to read the  
> > program memory.
> > But I can't find the function to write the program memory.
> > how to write specific value to program memory?
> Its hard to write to FLASH program memory so its not done very often  
> other than to write executable code and constant data. Also in  
> general FLASH memory can not be reprogrammed as many times before  
> breaking than EEPROM cells.
> EEPROM is much easier to write but harder to read than FLASH because  
> the AVR EEPROM is not in either of the CPU memory spaces. The  
> solution I use for read-often variables is to declare a structure  
> containing all my EEPROM variables. Then create two allocations of  
> that structure, one in RAM and one in EEPROM. Usually call them ee  
> and wc, for EEprom and Working Copy, that its obvious ee.calibration  
> and wc.calibration are paired.

For large amounts of read-often data, you might consider keeping two
copies in EEPROM.  I have a factory default copy and a user-modified
copy.  It's an alternative for systems where RAM is limited and 
access to the constant can be slow; it works well for embedded systems
that are connected to mechanical devices.

--Kevin Neff

reply via email to

[Prev in Thread] Current Thread [Next in Thread]