I am having some problems getting a BL2500C to retain data stored in SRAM after losing power. My application works fine on a BL2100 (that is, no data is lost when it is powered off). The same code is not working properly on a BL2500C. I am wondering if it has to do with the fact that the BL2500C has two SRAM’s, 512K for program and 256K for data. What lead me down this train of thought is the following comment, specific to the BL2500C, which I stumbled across in BOARDTYPES.LIB:
“Compile to RAM option programs the battery-backed RAM on CS1 and destroys any persistent data stored there”.
At the same time, in Technical Note TN248, I found the following text:
IMPORTANT NOTE: Rabbit Semiconductor strongly discourages the use of �Code and BIOS in Flash� on boards that have both fast non battery-backed SRAM as well as slower battery-backed SRAM. Such boards are expected to use �Code and BIOS in Flash, Run in RAM.� The battery-backed SRAM is mapped by default when compiling with this optimal setting.
I haven’t been able to find very much documentation on how exactly the SRAM differs on the BL2500C, but it appears I may need to do something different to get this to work properly on the BL2500C. I have tried both the “Code and BIOS in Flash” and the “Code and BIOS in Flash, Run in RAM” compiler options and neither seems to work for me. Unfortunately I don’t have a standard BL2500 available to test my code on.
Is there anyone out there with more info on the BL2500C that can help?