Content originally posted in LPCWare by micrio on Wed Mar 23 09:08:27 MST 2011
[SIZE=4]In my code I provided a backdoor way of defeating the security (CRP) feature. I read a special pin for a zero. If a zero is read, I wait for a few seconds and then issue an IAP command to erase all flash. I have tested this back door in development and it worked OK. I am using CRP3, the highest level of security.[/SIZE]
[SIZE=4]Now we have to upgrade the firmware in a bunch of units. I ground the special pin and expect the code to erase the flash. Well, only about half the units successfully erase thenselves.[/SIZE]
[SIZE=4]The unit emitts pulses during normal operation. When I ground the pin the pulses stop after the safety delay. This is the normal behavior for the backdoor erase feature. However when I power cycle the unit the old code comes back in half the units![/SIZE]
[SIZE=4]I can't predict which units will erase themselves and which won't. They are all the same in both hardware and code.[/SIZE]
[SIZE=4]Am I doing something wrong in my backdoor erase function? Is there a more reliable way to do it?[/SIZE]
[SIZE=4]Thanks,[/SIZE]
[SIZE=4]Pete.[/SIZE]