AnsweredAssumed Answered

Unique device ID register address in STM32F2xx

Question asked by bonesana.ivano on Jun 11, 2012
Latest reply on Jun 22, 2012 by Clive One
I’m trying to get the uID from a STM32F207 microcontroller using the integrated bootloader connected through the USART1 (as described in AN3155). I’ve already implemented this feature for other microcontrollers of family F101, F103 and F105 without any problem. Now I’m encountering some difficulties.

My idea is to use the command “read” to get the content of the 12 bytes (96 bit) located in the registers starting at 0x1FFF7A10 (as specified in section 33 of RM0033) and containing the uID. The result is a NAK from the bootloader just after the number of bytes to be read have been sent (please, refer to figure 8 of AN3155).

I post the sequence sniffed on the USART line.
PC: 11 EE
BL: 79
PC: 1F FF 7A 10 8A
BL: 79
PC: 03 FC
BL: 1F

I tried to read more or less bytes than the 12 expected (e.g. this sequence tries to read 3 bytes), and I get a successful execution with 1 or 2 bytes only. Any other attempt to read to the address 0x1FFF7A10 fails.
By reading table 21 in AN2606, I noticed that the address 0x1FFF7A10 seems to be placed outside of the system memory (where I thought to fund the uID registers) that ends at 0x1FF77DF.
Moreover, from RM0033 it seems that the uID registers (33.1) are located at the same address than the flash size register (33.2).

My questions are:
- What is the right address of the uID registers?
- Is it possible to access it through the integrated bootloader with my approach?


P.S.: this discussion could have been posted twice. Sorry.