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.

Debugging issue when moving from CCS 2.21 to CCS4.2

I have a project running on a TI5502 that we just updated to CCS4.2 from CCS2.21 and we are encounter what seems to be a processor reset that the system runs for about 10 seconds.  I any wondering if anyone has any recommendation on how to determine what is causing the DSP to reset?  I am hoping there are some tricks within CCS 4.2 that will allow me to do this.

Thanks,

Bob

  • Hi Bob,

    How are you starting a debug session? Are you selecting the "Debug Active Project" option to automatically start a debug session, load the program, and run to main?

    ki

  • Yes.  I am using "Debug Active Project".  One other thing to note, we are having problems with the watch dog.  So we have commented out the enabling of the watch dog to allow us to focus on getting our application back up and running on CCS 4.2.

  • I want to confirm that you have disabled the watchdog, albeit temporarily, and you are still getting resets of the DSP?  Do you see this behavior with your application build environment under the old toolchain version, or was this issue observed after migrating to the toolchain and libraries associated with CCS v4.2?

  • After you run to main, you hit "Run" again and it runs for 10 seconds, then the DSP gets reset?

  • Yes ... The application starts running and configures a McBSP to perform a transmission of data, which is successful and correct.  However, during the McBSP receive the DSP resets.

  • This issue was observed only after we went to the new toolchain.  The code is the same in both toolchains.  Here is what we are doing to set up the watchdog, but we comment out two of the lines to prevent enabling the watchdog to get further in our application debug. However, I would like to determine why our watchdog is having issues.

     // Set the watchdog counter
     WDTCNT1 = 0;
     WDTCNT2 = 0;
     WDTCNT3 = 0;
     WDTCNT4 = 0;
     
     // Set the watchdog period to 1 second
     WDTPRD1 = ((CPU_FREQ/FAST_PERIPH_CLK_DIV) & 0x0000FFFF) >> 0;
     WDTPRD2 = ((CPU_FREQ/FAST_PERIPH_CLK_DIV) & 0xFFFF0000) >> 16;
     WDTPRD3 = 0;
     WDTPRD4 = 0;
     
     WDTCTL1 = 0x0080;
     WDTGCTL1 = 0x000B;
     //enble watchdog
     //WDTWCTL1 = 0x4000;

     //CHIP_FSET(TSSR, IWCON, 1);