cancel
Showing results for 
Search instead for 
Did you mean: 

Unique Device ID not unique!

gestur
Associate
Posted on September 20, 2013 at 14:35

Hello there,

Apparently the 96 bit unique device id is not unique for STM32L1x family of devices.

Or is it supposed to be absolutely unique between devices?

I have at least 2 devices on my desk, with the same 96 bit number.

Any explanation for this?

Best regards

Gestur

#no-hablo-hal #stupid-as-designed
6 REPLIES 6
karlp
Associate II
Posted on September 20, 2013 at 15:27

Further information:

Devices are all STM32L151C6T6, revision V

packaging info ''GH254 VG'' and CHN309

All 3 devices show exactly the same values for the uniqueid registers

(gdb) x /3x 0x1FF80050 

0x1ff80050: 0x0e473233  0x30343433  0x7b747800

(gdb) x /3d 0x1FF80050 

0x1ff80050: 239546931   808727603   2071230464

(gdb) 

Sincerely,

Karl P
Posted on September 20, 2013 at 17:15

You understand the unique number is NOT 3 linear words, but

0x1FF80050

0x1FF80054

and

0x1FF80064 !!!

right?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
karlp
Associate II
Posted on October 02, 2013 at 14:52

Was just coming back to update this post.  Yes, we were looking at the three contiguous words.  When we correctly followed the L1 ref man, and used different addresses for the different parts of the UID register, it was indeed unique.

Of course, on the F0,f1,f2,f3,f4 it's three contiguous registers, and it's all ''software compatible'' right?! So good job ST on the L1.

Oh yeah, and the L1M+ and HD have a _different_ discontiguous set of registers.

So yeah, we failed to read the reference manual, but ST failed pretty hard at being sane. :(
Posted on October 02, 2013 at 17:22

I agree it's a bit stupid, but it is documented behaviour.

I'm not sure of the rational, this OTP/FLASH area is filled with other die site and part specific data, most of which isn't documented.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
nicolas
Associate III
Posted on November 11, 2016 at 10:24

Documented behaviour that even ST doesn't read. Here is a bugged function from stm32l1xx_ll_utils.h of the STM32L1xx_HAL_Driver:

__STATIC_INLINE uint32_t LL_GetUID_Word2(void)

{

  return (uint32_t)(READ_REG(*((uint32_t *)(UID_BASE_ADDRESS + 8U))));

}

Posted on November 11, 2016 at 17:27

I seem to recall the L1 series having two different unique mappings depending on the stepping/functionality. There are a host of reasons why I'm not a HAL user..

0690X000006037KQAQ.jpg

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..