Content originally posted in LPCWare by Ivar on Fri Aug 21 17:30:50 MST 2015
Hi,
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):
FFFFFFEF, F8FFFFFF, EFFFFFFF, FFFFFFFE.
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?
Thanks.
Ivar.