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.

CCS/TMS570LS3137: starting dwd in sys_startup.c to protect against startup failure

Part Number: TMS570LS3137

Tool/software: Code Composer Studio

I want to use the dwd to protect against any lock ups in the PBIST/sys_startup code as generated per the HAL. I seem to be unable to find the right location where rtiInit actually works. I'm currently writing a space in RAM, which I assume will be the same prior to memoryInit happening. Is there a suggested way to use the dwd to protect against PBIST "running forever" as the note in 7.5 of the TRM says could happen with bad code. 

  • Hello,

    1. You can use a timeout to exit the while() loop:

    unsigned int timeout = xxx;

    while(pbistIsTestCompleted() != TRUE || timeout-- != 0x0)
    {
    }/* Wait */

    2. You can enable the RTI DWD in startup.c  

  • Specifically where in startup.c do I enable RTI? It seems to break the startup wherever I put it. What is required to be initialized for RTI to function and do the self tests that are not for RTI, break RTI from running?

    There are many locations using a while loop on HW bit to change, we need to ensure that all of this doesn't take longer than allowed. 

  • You can initialize the DWD and enable the DWD counter after the systemInit() is executed and before running the PBIST test.

    Please note that once the DWD is enabled, it cannot be disabled except by system reset or power on reset.