OTP changed spontaneously.

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by Ivar on Fri Aug 21 17:30:50 MST 2015

I use the OTP bank 3 word 1 as the device serial number.

From a total of 5000 devices sold about 1% changes without being reprogrammed.

When this happens, 0xFFFFFFFF is recorded in this place and I use the bank3 word 2 as serial number. Similarly, it also I use the third word.

Amazingly, a word with 0xFFFFFFFF is sometimes handles certain bits off! Sometimes the word was not used and is read with a few bits on.

Here are some examples of when the word should be zero (Hex):
00000010, 00000010, 00000010, 00000010, 00000040, 00000100, 00000810, 00001100, 00002000, 00008000, 00008040, 00200000, 00400000, 00400100, 00408000, 00600000, 01000000, 04000000, 04000040, A0000000, 81000010, 80400000, 80000000, 80000000, 80000000, 80000000, 10000000, 20000000, 21000010, 24000000

And these examples should be FFFFFFFF (Hex):


Very important: only one program write the OTP and runs during device production. After just run a program that reads the OTP.

Investigating a specific device with this problem, it has been observed that when the appliance is initially on the OTP was ok. Waiting for about 2 minutes to warm up the processor (about 40 ° C) the problem appears repeatedly. After a few minutes off, the device cools and the OTP back to normal.

But most devices with problem permanently alter the OTP, regardless of whether cold or hot.

I also use the OTP to change the boot and I had no problem with that.

How can I solve this problem?