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.

TMS320F28379D: Diagnostic library

Part Number: TMS320F28379D
Other Parts Discussed in Thread: C2000WARE, C2000-SAFETI-DIAGNOSTICS-LIB

Hi Experts,

The SPRACB9 application report mentions "Diagnostic Library". 

I searched the site and I found C2000-SAFETI-DIAGNOSTICS-LIB. However, this corresponds to an older C2000Ware version (around v1.00.01.00). Do we have a version that corresponds to the latest C2000Ware?

Could you please clarify whether this Diagnostic Library is still actively maintained and validated
for use with the latest C2000Ware versions? I am concerned that the older version may contain
potential issues or incompatibilities.

In particular, I observed a difference in the HWBIST handling between devices. For example, in
some devices (such as F2837x), the HWBIST flow does not explicitly disable Timer1 and Timer2
interrupts, while in others (such as F28002x), these interrupts appear to be handled differently.

Thanks!

Marvin

  • Hi Marvin,

    Apologies for the delayed response:

    The C2000-SAFETI-DIAGNOSTICS-LIB you found is indeed an older version that was packaged separately from C2000Ware. In more recent releases, the Diagnostic Library has been integrated directly into C2000Ware as part of the standard package.

    The Diagnostic Library is still actively maintained and validated for use with the latest C2000Ware versions. It's now included within C2000Ware rather than being distributed as a separate download.

    Refer below path:

    --
    Thanks & regards,
    Jagadish.

  • Hi Jagadish,

    Thank you.

    I have a follow-up question regarding HWBIST.

    I understand that HWBIST supports two types of tests: STL_HWBIST_99_SAF and STL_HWBIST_95_LOS. During my testing, I observed the following behavior:
    • For STL_HWBIST_95_LOS, the function STL_HWBIST_runMicroTest() was called approximately 1700 times before bistDone was set to 1.
    • For STL_HWBIST_99_SAF, the same function was called only about 300 times before bistDone was set to 1.

    Based on my understanding, achieving a 99% fault coverage should require more extensive testing than 95%. Therefore, I am concerned that performing only around 300 micro test iterations may not be sufficient to reach 99% coverage.

    Could you please help clarify:
    1.Why the number of micro test iterations is significantly lower for STL_HWBIST_99_SAF compared to STL_HWBIST_95_LOS?
    2.How the 99% coverage is ensured with this number of iterations?

  • Hi Jagadish,

    I would like to request for an update regarding the follow up question.

    Thanks,

    Marvin

  • The 300 patterns are what needs to be run in addition to the 1700 for 95% to reach 99%. The expected flow is for you to initialize the HWBIST for 95% mode, complete all 1700 micro runs, reinitialize the HWBIST to 99% mode, and complete the additional 300 micro runs. So in the end you'll be running a total of 2000 micro runs to reach 99%.

    Whitney

  • Hi Jagadish,

    Regarding the C2000Ware, the diagnostic libraries only contains f2838x, not f2837x. can you help check agaiin?

    Regards,

    Marvin

  • Unfortunately, the F2837x isn't supported by the current C2000Ware diagnostic library, but you can port the F2837x version to use the a newer C2000Ware version and use the F2838x as a guide on what changes need to be made. Most modules that exist on both devices are basically the same with the exception of HWBIST which has a slightly different flow on F2837x.

    Whitney

  • Hi Whitney,

    Thanks for the response.

    Do you have any plans to update the content of 2837x in future releases? However, the current version 1.0 of 2837x has some content that differs from the latest TI test board. I found that some content in version 1.0 does not match the TI test board. For example, the crystal oscillator frequency. The test version is 10MHz, but it is 20MHz in the code. There are also some other issues, but I cannot describe all of them here. are there any other errors? Version 1.0 of 2837x is really too old; are there any vulnerabilities in the diagnostic library content?

    Regards,

    Marvin

  • We don't have any plans to update it currently. I think there are driverlib modules that have had defines/functions renamed since v1.00.01, and I'd recommend migrating from COFF to EABI, but other than that, there should not be many changes required to migrate to a newer version of C2000Ware. I'm working on getting access to the list of bugs for the F2837x SDL, and will let you know if there are any known issues.

    Can I ask what test board you're using? If I recall correctly, the library example was designed to work with the controlCARD board which has always had a 20 MHz oscillator. Are you using a LaunchPad instead?

    Whitney

  • Hi Whitney,

    Yes, the launchpad is being used

    Marvin

  • I checked on the known issues with the F2837x SDL. There are 3:

    1. C++ extern C linkage specification not closed properly (missing '}')

    2. STA example array used for March test needs to be aligned to 32-bit boundary (#pragma DATA_ALIGN(STA_User_marchTestData, 2))

    3. HWBIST needs to implement workaround for "spurious interrupt" bug mentioned in the device errata

    These are all fixed in the SDL in C2000Ware for newer devices, so you can use them as a reference for the fixes.

    Whitney