Upgrade disaster!

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
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]