10-17-2015, 03:02 PM
What's the best way to remove a FRAM71 memory module from the configuration string?
It sounds like a trivial question and that simply POKEing zeros into the appropriate place in the config string is all that's necessary. This is like pulling out a physical memory module without FREEPORTing it first.
FREEPORTing the module first and then POKEing zeros in the config string does remove the module safely, but what happens when the F-Blocks are reused? Unlike volatile memory modules, FRAM never forgets! A reconfigured F-Block that was previously FREE'd this way will come back to life as an IRAM or ROM. What's worse is if the the F-Block was part of a multi-Chip module and the module is reconfigured with missing Chips. The 71 is likely to crash.
I suggest that a better way might be to FREEPORT the module, POKE zeros over the IRAM identifier, then remove the module from the configuration string. This way when the F-Block is reconfigured it comes back as RAM and is erased.
Has anybody experimented with this?
Dave
It sounds like a trivial question and that simply POKEing zeros into the appropriate place in the config string is all that's necessary. This is like pulling out a physical memory module without FREEPORTing it first.
FREEPORTing the module first and then POKEing zeros in the config string does remove the module safely, but what happens when the F-Blocks are reused? Unlike volatile memory modules, FRAM never forgets! A reconfigured F-Block that was previously FREE'd this way will come back to life as an IRAM or ROM. What's worse is if the the F-Block was part of a multi-Chip module and the module is reconfigured with missing Chips. The 71 is likely to crash.
I suggest that a better way might be to FREEPORT the module, POKE zeros over the IRAM identifier, then remove the module from the configuration string. This way when the F-Block is reconfigured it comes back as RAM and is erased.
Has anybody experimented with this?
Dave