TM STM32F4xx Libraries  v1.0.0
Libraries for STM32F4xx devices from Tilen Majerle
TM_ID_Functions

Library Functions. More...

Macros

#define TM_ID_GetSignature()   ((*(uint16_t *) (ID_DBGMCU_IDCODE)) & 0x0FFF)
 Get STM32F4xx device signature. More...
 
#define TM_ID_GetRevision()   (*(uint16_t *) (DBGMCU->IDCODE + 2))
 Get STM32F4xx device revision. More...
 
#define TM_ID_GetFlashSize()   (*(uint16_t *) (ID_FLASH_ADDRESS))
 Get STM32F4xx device's flash size in kilo bytes. More...
 
#define TM_ID_GetUnique8(x)   ((x >= 0 && x < 12) ? (*(uint8_t *) (ID_UNIQUE_ADDRESS + (x))) : 0)
 Get unique ID number in 8-bit format. More...
 
#define TM_ID_GetUnique16(x)   ((x >= 0 && x < 6) ? (*(uint16_t *) (ID_UNIQUE_ADDRESS + 2 * (x))) : 0)
 Get unique ID number in 16-bit format. More...
 
#define TM_ID_GetUnique32(x)   ((x >= 0 && x < 3) ? (*(uint32_t *) (ID_UNIQUE_ADDRESS + 4 * (x))) : 0)
 Get unique ID number in 32-bit format. More...
 

Detailed Description

Library Functions.

Macro Definition Documentation

#define TM_ID_GetFlashSize ( )    (*(uint16_t *) (ID_FLASH_ADDRESS))

Get STM32F4xx device's flash size in kilo bytes.

Note
Defined as macro to get maximal response time
Parameters
None
Return values
Flashsize in kilo bytes
#define TM_ID_GetRevision ( )    (*(uint16_t *) (DBGMCU->IDCODE + 2))

Get STM32F4xx device revision.

Note
Defined as macro to get maximal response time
Parameters
None
Return values
Devicerevision value
  • 0x1000: Revision A
  • 0x1001: Revision Z
  • 0x1003: Revision Y
  • 0x1007: Revision 1
  • 0x2001: Revision 3
#define TM_ID_GetSignature ( )    ((*(uint16_t *) (ID_DBGMCU_IDCODE)) & 0x0FFF)

Get STM32F4xx device signature.

Note
Defined as macro to get maximal response time
Parameters
None
Return values
Devicesignature, bits 11:0 are valid, 15:12 are always 0.
  • 0x0413: STM32F405xx/07xx and STM32F415xx/17xx)
  • 0x0419: STM32F42xxx and STM32F43xxx
  • 0x0423: STM32F401xB/C
  • 0x0433: STM32F401xD/E
  • 0x0431: STM32F411xC/E
#define TM_ID_GetUnique16 (   x)    ((x >= 0 && x < 6) ? (*(uint16_t *) (ID_UNIQUE_ADDRESS + 2 * (x))) : 0)

Get unique ID number in 16-bit format.

Note
STM32F4xx has 96bits long unique ID, so 6 2-bytes values are available for read in 16-bit format
Defined as macro to get maximal response time
Parameters
xByte number: specify which part of 16 bits you want to read
  • Values between 0 and 5 are allowed
Return values
UniqueID address
#define TM_ID_GetUnique32 (   x)    ((x >= 0 && x < 3) ? (*(uint32_t *) (ID_UNIQUE_ADDRESS + 4 * (x))) : 0)

Get unique ID number in 32-bit format.

Note
STM32F4xx has 96bits long unique ID, so 3 4-bytes values are available for read in 32-bit format
Defined as macro to get maximal response time
Parameters
xByte number: specify which part of 16 bits you want to read
  • Values between 0 and 2 are allowed
Return values
UniqueID address
#define TM_ID_GetUnique8 (   x)    ((x >= 0 && x < 12) ? (*(uint8_t *) (ID_UNIQUE_ADDRESS + (x))) : 0)

Get unique ID number in 8-bit format.

Note
STM32F4xx has 96bits long unique ID, so 12 bytes are available for read in 8-bit format
Defined as macro to get maximal response time
Parameters
xByte number: specify which part of 8 bits you want to read
  • Values between 0 and 11 are allowed
Return values
UniqueID address