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.

TMS320F28P650DK: different 1ms timer duration between the debug mode and normal mode

Part Number: TMS320F28P650DK

Tool/software:

Hello TI expert,

I am using the F28P650 dual-core DSP to implement the interrupt in core1 and task in core2. I configure the PWM and ADC interrupt in core1, and configure a timer 10us interrupt in core2, based on the 10us interrupt, there is a 1ms task generated. I give a GPIO toggle in the 10us interrupt and 1ms task.

The wired issue is that the 1ms task GPIO toggle in debug mode (with Launch pad) is not correct, the time is erratic, but the 10us toggle is correct. I start the CPU1 running firstly and then start the CPU2 running soon. The wave form is like below.

    

However, in the normal mode, disconnect the usb of the launch pad, then reconnect the usb line to computer (the flash is programed), the 10us and 1ms GPIO toggle is correct. The waveform is like below. 

This phenomenon is the same for many times try. What is the reason and how to fix this debug issue?

Look forward your reply.

  • Hi,

    When you say debug mode, what does it mean ? Does it mean you have debugger connected and programming the code on CPU1/CPU2 via debugger ? 

    Also how are you generating 1ms  and 5ms task ? Also what do you have on channel 1 in these waveforms ? 

    Vivek Singh

  • When you say debug mode, what does it mean ? Does it mean you have debugger connected and programming the code on CPU1/CPU2 via debugger ? 

    - Yes, I use the TI F28P65x LaunchPad to debug the CPU1 and CPU2. Debug mode means that I run the "Debug" in the CCS via LaunchPad.

    Also how are you generating 1ms  and 5ms task ? Also what do you have on channel 1 in these waveforms ? 

    - In CPU2 I have a 10us timer0 interrupt, based on this 10us timer tick, counting 100 times generate a 1ms task, and 1ms counts 5 times to get a 5ms task. This task timer checking is executed in main function while(1) loop.

    The channel 1 is the showing of the 1ms and 5ms task handling, a toggle shows a task is triggered. Normally, it should toggle 5 times in 5ms, 4 times for 1ms task trigger, 1 time for 5ms task trigger.

  • Can you use another timer instead of time0 and see if that helps.

    Vivek Singh