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.

TMS570LS20216: Unique serial numbers

Part Number: TMS570LS20216

Hello,

My questions are listed below:

1)      I want to assign unique serial numbers for my PCBs to avoid possible illegal production. Do these microcontrollers have unique read-only serial numbers or something like this? Probably, a microcontroller from TSM570LS09x/07x series will be selected for new designs. My current idea demands at least one onboard component with unique serial number. In my opinion, it’s not enough to write own serial numbers to FLASH memory. At the moment, I consider an additional IC (for example, DS2411) that stores an unique read-only serial number. However, this solution is more complicated, expensive and perhaps less reliable. What do you recommend?

2)      Is it possible to restore source codes from .out files? Protection against unauthorized manufacturing will be realized in code. At the same time, we provide .out files for updating firmware. Therefore, it is imperative that no one can restore source codes from .out files. If so, it is important to disable reading code from chip. Otherwise all efforts will be effectless.

Best regards,

Vitalij Stepin

  • Hello Vitalij,

    Each MCU does include a unique die-id that can be used to identify the part. This is readable from the system module die-id registers, and includes information such as the lot number, wafer number, and the die X- and Y-coordinates.

    It is certainly possible to convert .out files to hex files that can be read using a simple text editor. These include addresses and the contents for these addresses. You can consider using the Advanced JTAG Security Module (AJSM) in order to prevent a third party to be able to read out the flash memory contents using a JTAG tool.

    Regards,
    Sunil
  • Hello Sunil,

    Thank you for information.

    The following die-id values were read from two microcontrollers:

    Device 1: DIEIDH = 0xB60305AA, DIEIDL = 0x6CCB0607

    Device 2: DIEIDH = 0xC20305AA, DIEIDL = 0x6CCA0E08

    Are they read correctly? 

    There are also reserved bits in the DIEIDH register. Is it necessary to ignore these non-zero reserved bits? 

    Perhaps, it's harmless to let know to others addresses and the contents for these addresses. 

    The question was, whether it's possible to restore C source files from .out files.

    Regards,

    Vitalij

  • Hello,

    The die ids seem to be read correctly. It is not possible for me to confirm these as I would need to cross-check against a database of lot codes, wafer numbers, etc. Just that you can use a combination of these two registers as a unique code for each part.

    As for the second question, it is certainly possible to get an assembly listing of the program code from the .out file. It may not be possible (or necessary) to get to the C source.

    Regards,
    Sunil
  • Hello Sunil,

    Unfortunately, it's unacceptable that someone can get an assembly listing of the program code from the .out file. 

    Does the TMS570LS20216 device contain the Advanced JTAG Security Module? I don't see any information about it in the Technical Reference Manual. 

    However, the TMS570LS09x/07x series does include the Advanced JTAG Security Module. Am I right that it allows reading or writing when the 128-bit unlock code is known?

    There is mentioned the ICEPick module in the document. Isn't the XDS100v2 suitable for this purpose?

    Best regards,

    Vitalij

  • Hello Vitalij,

    The TMS570LS20216 does not include a JTAG security module. Please note that this part is marked as "Not Recommended for New Designs (NRND)".

    The TMS570LS09x/07x parts do include the AJSM. You are correct: this uses a 128-bit password that allows you to unlock JTAG access to the part.

    The ICEPick module on the part is a JTAG router. This is used to interface to the external JTAG emulator (e.g. xds100v2, xds110, xds200, etc.) via the JTAG port.

    Regards,
    Sunil