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.

Can the TSK_idle tast have a breakpoint?

Hi,

I use CCS 5.5.0 to run the simple task example for an eZDSP5535 usb. I create this project from the CCS example project with only added one LOG_printf. Anyway, I don't think it will make any difference to the TSK_idle object.

Void main()
{
LOG_printf(&trace, "bigTime started.");
LOG_printf(&prdLog0, "bigTime xxx started.");
}

/*
* ======== task ========
*/
Void task(Arg id_arg)
{
Int id = ArgToInt (id_arg);
Int i;

for (i = 0; i < NLOOPS ; i++) {
LOG_printf(&trace, "Loop %d: Task %d Working", i, id);
LOG_printf(&prdLog0, "bigTime task %dx started.", id);
TSK_yield();
}
LOG_printf(&trace, "Task %d DONE", id);
}

On an old CCS tutorial (spru327c.pdf), it said that it can add a breakpoint at IDL_F_loop. From those procedures, it did not look like there was any user added code in IDL_F_loop function. i.e. it could place a breakpoint to a idle function. 

On my example project, I try to place a breakpoint at TSK_idle function. Although it does succeed to add the breakpoint, it does not stop there after run the project with the on-board emulator.

What is the problem for breakpoint in TSK_idle task not effective?

Thanks,

  • In the TCONF tool, I can see there are three idle tasks. All those are generated by the TCONF configuration (there is no code I add inside). Can I set a break point in one of those idle function?

  • Hi Robert,

    First thing, there is only one IDL task. The three items you are showing in the last post are IDL functions. The IDL task loops through these functions...repeating them forever until something is ready to run (e.g. HWI, SWI, or non-IDL TSK).

    Can you put "IDL_F_loop" into the Disassembly Window and hit enter? Please confirm that the breakpoint is set. You can set breakpoints in the IDL functions also (e.g. IDL_cpuLoad).

    By looking at ROV, the IDL task is running. IDL functions must not block. For example, none of the three functions listed call SEM_pend. IDL functions should not poll forever also. Did you add any IDL functions?

    Todd