Another real hair-puller for me. I have a mature, stable design based on the 89LV51RC2. When that part was discontinued, I moved to the -RD2. When I program them with the same old code, they work fine -- at first. Some of them (3 so far out of 10) just spontaneously erased themselves after a few days. I even tried setting the security bit and adding a serial number as write protection, to no avail. I put the failed board on Flash Magic, and saw the security bit was still set, but the part was otherwise blank.
Suppose I have a stack leak or wandering program counter in my code, that was never found because the RC2 had less program space -- something that was benign before, but now isn't. Is it possible to access a built-in "erase all" subroutine by accident?
Suppose I have a stack leak or wandering program counter in my code, that was never found because the RC2 had less program space -- something that was benign before, but now isn't. Is it possible to access a built-in "erase all" subroutine by accident?