2024-11-18 02:13 AM - edited 2024-11-18 02:16 AM
For our product we use the stm32L162VCT6D processors.
To give every product a "unique" serialnumber, we wanted to use the 96-bits unique device ID.
We do this also for our other products and that works fine.
After producing a couple products, we noticed a problem with the uniqueness of the 96-bits UID.
For a Cat 3 device the UID is stored at address 0x1FF800D0, 0x1FF800D0 + 4, 0x1FF800D0 + 14.
As described in the reference manual.
We are sure, we use a Cat 3 device.
We have read the numbers with our software, Debug Mode stm32cubeIDE and with STM32CubeProgrammer.
After reading 10 processors, we noticed that every UID was the same.
We did the same for a batch that is a year older. These had a slightly different number but all the same.
We did the test again with 2 new processors we bought from Mouser.
Also a different number, but both the same number.
We have done everything that is described on the internet and could not find a solution.
Example UID's:
(Hex) 32,33,47,08 35,38,31,38 FF,FF,11,00 (When we noticed the problem)
(Hex) 34,39,47,19 38,34,36,39 A0,A0,11,00 (when we checked older ones)
(Hex) 32,33,47,17 37,33,30,33 FF,FF,11,00 (When we bought 2 new ones)
We are 99,99% sure we do everything right.
We have validated our test with STM32F411VET6 processors and concluded that every ID was unique for these processors. Yes, we did change the address offset to +8 for the last segment.
What could be the problem?
Have we received clones, is there a problem from factory, is this a known issue?
we are looking forward to your reply.
2024-11-18 02:41 AM
Hi,
just to make shure:
@PB_NL wrote:For a Cat 3 device the UID is stored at address 0x1FF800D0, 0x1FF800D0 + 4, .
Did you read the last word from address 0x1FF800D0 + 14 or 0x1FF800D0 + 0x14 (hex)?
Regards, Norbert
2024-11-18 02:54 AM
Hi,
Thanks for your reply.
I read the last 4 bytes from BASE-ADDRESS + 14 (dec).
2024-11-18 02:59 AM
Hi,
According to the reference manual, you need to read the third word from Address offset: 0x14 (hex) which corresponds to offset 20 (decimal).