This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Implementing Unique USB Serial Numbers?

I'm wondering how my fellow engineers typically implement unique serial numbers for their USB devices. I was hoping I could write the user registers over a USB DFU but it's unavailable in LM Flash Programmer. Any tips?

  • Hello Nathan,

    You can store the unique ID in the user registers. If more memory is desired EEPROM (if you r part has one) or a specific page of flash can be used.

    The user registers can be programmed using "LM Flash Programmer". The fourth tab, "Other Utilities", has a section called "User Register Programming" that can be used to program these registers.

    Select the radio button "Register Mode", enter the id in "User Register 0" and "User Register 1". These values can be programmed by using the "Program User 0" and "Program User 1" buttons. You could also read the current values in these registers by clicking the button "Get Current Values". 

    Hope this helps!

    Regards,
    Sai
  • Sai,

    The attached screenshot is taken when my device is enumerated as a USB DFU device. It doesn't give me the option. Is there a way around this?

    Thanks,

    Nate

  • Nathan,

    Are you using a TI dev/eval board? If using TI kits, are you connecting to the ICDI (debug) USB port or the MCU USB port? Are you able to program the MCU connecting to the same port?

    You can use "LM Flash Programmer" to program the user registers only through ICDI. Since the LM Flash Programmer is not enabled, one of the following three could be occurring.

    1. The USB of the MCU (not the ICDI) is connected to the PC.
    2. The ICDI firmware is erased.
    3. The correct drivers are not installed on the PC.

    If the correct drivers are installed but the board does not enumerate as a "ICDI JTAG Interface"  (or something similar) most likely the ICDI firmware has been erased. If so, let me know what eval/dev board is being used and I will try to find out how to program it back.

    Regards,
    Sai
  • I'm connected to a custom board over a USB device firmware upgrade (DFU) connection. I was hoping to be able to program the user registers using this boot-loader during production. However, based on what you've told me it seems like that's impossible unless using an ICDI connection.

    Thanks,

    Nate