libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
desig_common_all.c File Reference
Include dependency graph for desig_common_all.c:

Go to the source code of this file.

Functions

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...
 

Function Documentation

◆ desig_get_unique_id_as_dfu()

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.

See also
https://my.st.com/52d187b7 for the algorithim used.
Parameters
stringpointer 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().

Here is the call graph for this function:

◆ desig_get_unique_id_as_string()

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.

Parameters
stringmemory region to write the result to
string_lenthe size of string in bytes

Definition at line 22 of file desig_common_all.c.

References desig_get_unique_id().

Here is the call graph for this function: