38. Device electronic signature
The electronic signature is stored in the Flash memory area. It can be read using the JTAG/SWD or the CPU. It contains factory-programmed identification data that allow the user firmware or other external devices to automatically match its interface to the characteristics of the STM32F469xx and STM32F479xx microcontrollers.
38.1 Unique device ID register (96 bits)
The unique device identifier is ideally suited:
- • for use as serial number (USB string serial number, or other end applications)
- • for use as part of the security keys, to increase the security of code in Flash memory while using and combining this unique ID with software cryptographic primitives and protocols before programming the memory
- • to activate processes such as secure boot.
The 96-bit unique device identifier provides a reference number, unique for a given device and in any context. These bits cannot be altered by the user.
The 96-bit unique device identifier can also be read in single bytes/half-words/words in different ways and then be concatenated using a custom algorithm.
Base address: 0x1FFF 7A10
Address offset: 0x00
Read only = 0xXXXX XXXX, where X is factory-programmed

| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| U_ID[31:16] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| U_ID[15:0] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
Bits 31:0 U_ID[31:0] : 31:0 unique ID bits.
Address offset: 0x04
Read only = 0xXXXX XXXX, where X is factory-programmed

| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| U_ID[63:48] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| U_ID[47:32] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
Bits 31:0 U_ID[63:32] : 63:32 unique ID bits
Address offset: 0x08
Read only = 0xXXXX XXXX, where X is factory-programmed

| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| U_ID[95:80] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| U_ID[79:64] | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
Bits 31:0 U_ID[95:64] : 95:64 Unique ID bits.
38.2 Flash memory size register
Base address: 0x1FFF 7A22
Address offset: 0x00
Read only = 0xXXXX, where X is factory-programmed

| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| F_SIZE | |||||||||||||||
| r | r | r | r | r | r | r | r | r | r | r | r | r | r | r | r |
Bits 15:0 F_SIZE[15:0] : Flash memory size
Indicates the size of the device Flash memory, expressed in KBytes.
As an example, 0x0200 corresponds to 512 KBytes.
38.3 Package data register
Base address: 0x1FFF7BF0
Address offset: 0x00
Read only = 0xXXXX, where X is factory-programmed

| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Res | Res | Res | Res | Res | PKG[2:0] | Res | Res | Res | Res | Res | Res | Res | Res | ||
| r | r | r | |||||||||||||
Bits 15:11 Reserved, must be kept at reset value
Bits 10:8 PKG[2:0]: Package type
0x11x: reserved
0x10x: LQFP208 and TFBGA216 packages
0x011: reserved
0x010: LQFP176 and UFBGA176 packages
0x001: WLCSP168 and UFBGA169 packages
0x000: reserved
Bits 7:0 Reserved, must be kept at reset value.