libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
|
Go to the source code of this file.
Functions | |
uint16_t | desig_get_flash_size (void) |
Read the on board flash size. More... | |
void | desig_get_unique_id (uint32_t *result) |
Read the full 96 bit unique identifier Note: ST specifies that bits 31..16 are also reserved for future use. More... | |
void | desig_get_unique_id_as_string (char *string, unsigned int string_len) |
Read the full 96 bit unique identifier and return it as a zero-terminated string. More... | |
void | desig_get_unique_id_as_dfu (char *string) |
Generate the same serial number from the unique id registers as the DFU bootloader. More... | |
uint16_t desig_get_flash_size | ( | void | ) |
Read the on board flash size.
Definition at line 24 of file desig.c.
References cm3_assert_not_reached, DBGMCU_IDCODE, DBGMCU_IDCODE_DEV_ID_MASK, DESIG_FLASH_SIZE_BASE_CAT12, and DESIG_FLASH_SIZE_BASE_CAT3456.
void desig_get_unique_id | ( | uint32_t * | result | ) |
Read the full 96 bit unique identifier Note: ST specifies that bits 31..16 are also reserved for future use.
result | pointer to at least 3xuint32_ts (96 bits) |
Definition at line 45 of file desig.c.
References cm3_assert_not_reached, DBGMCU_IDCODE, DBGMCU_IDCODE_DEV_ID_MASK, DESIG_UNIQUE_ID_BASE_CAT12, and DESIG_UNIQUE_ID_BASE_CAT3456.
Referenced by desig_get_unique_id_as_dfu(), and desig_get_unique_id_as_string().
void desig_get_unique_id_as_dfu | ( | char * | string | ) |
Generate the same serial number from the unique id registers as the DFU bootloader.
This document: http://www.usb.org/developers/docs/devclass_docs/usbmassbulk_10.pdf says that the serial number has to be at least 12 digits long and that the last 12 digits need to be unique. It also stipulates that the valid character set is that of upper-case hexadecimal digits. The onboard DFU bootloader produces a 12-digit serial based on the 96-bit unique ID. Show the serial with dfu-util -l
while the MCU is in DFU mode.
string | pointer to store serial in, must be at least 13 bytes |
Definition at line 43 of file desig_common_all.c.
References desig_get_unique_id().
void desig_get_unique_id_as_string | ( | char * | string, |
unsigned int | string_len | ||
) |
Read the full 96 bit unique identifier and return it as a zero-terminated string.
string | memory region to write the result to |
string_len | the size of string in bytes |
Definition at line 22 of file desig_common_all.c.
References desig_get_unique_id().