stm32-rs / stm32-device-signature

Device electronic signature 'driver' for STM32 microcontrollers
8 stars 7 forks source link

device id pointer incorrect for L0x0 series #9

Open jglauche opened 3 years ago

jglauche commented 3 years ago

Hi,

The device id for stm32l0 is pointed at 0x1FF8_0050 in this crate. This doesn't match the l0x0 version, as it is 0x1FF8_0050 + offset 0x14 here. See page 722 of the reference manual: https://www.st.com/resource/en/reference_manual/dm00443854-ultralowpower-stm32l0x0-advanced-armbased-32bit-mcus-stmicroelectronics.pdf

I haven't checked if the other l0 versions are affected the same, I just verified the _0050 offset to be not unique in my test hardware.

Disasm commented 3 years ago

Thank you for the information! Apparently, 0x1FF8_0050 address is correct, but device ID is stored in non-contiguous registers (offsets 0, 4, 0x14).

Disasm commented 3 years ago

I found the same problem in L0 and L1 families. Seems like F0, F1, F3, F4, G0 and L4 are not affected.