|
From: | Juergen Harms |
Subject: | Re: [avr-chat] How can I individualise specific CPUs? |
Date: | Tue, 22 Sep 2009 22:35:49 +0200 |
User-agent: | Thunderbird 2.0.0.23 (X11/20090822) |
Thanks, that is a good solution.I have solved my problem by simply disabling the chip erase for eeprom (program the EESAVE fuse byte and suppress any download to eeprom), compiling object-code for eeprom into a template in flash and than initialising EEPROM - when and where needed - by programmed transfer from this template.
I create the eeprom address space by allocating non-initialised variables as target for receiving the copy from the flash template - may sound complicated but is very easy to realize (attention is only needed where the template needs to contain eeprom addresses). The intialisation of the flash-to-eeprom transfer is triggered at boot when key-bytes in eeprom contain 0xFF (hence if the eeprom is void). In case re-initialisation of eeprom becomes necessary, that can be triggered by forcing these bytes to 0xFF.
That works out nicely for my application (I have much more flash capacity than I need, and timewise there does not appear to be a penality).
[Prev in Thread] | Current Thread | [Next in Thread] |