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.

Task Execution Order problem in full EtherCAT example for AM3359 ICE

Other Parts Discussed in Thread: AM3359

Hi,

I am learning TI provided full ethercat example which comes with the am3359 ICE board. I see in the "tiescappl.c" (TI ESC Application) there is a task named "task1" which is created in the "main()" function. And in "task1", three tasks are created(with different priority levels:) PdiTask, Sync0Task and LEDtask, see the following

Task_Params_init(&taskParams);
taskParams.priority = 6;
taskParams.stackSize = 1512;
pdiTask = Task_create (PDItask, &taskParams, NULL);

Task_Params_init(&taskParams);
taskParams.priority = 8;
taskParams.stackSize = 1512;
sync0Task = Task_create (Sync0task, &taskParams, NULL);

Task_Params_init(&taskParams);
taskParams.priority = 4;
taskParams.stackSize = 1512;
ledTaskHndl = Task_create (LEDtask, &taskParams, NULL);

 However, when I debug the full ethercat application using the CCS, I found only LEDtask is running, but none of the other two tasks with higher priority level (than LEDtask) preempts the LEDtask. It seem unreasonable (and I do not know why) that the Sync0Task with highest priority level does not run immediately after creation (even not entering its Task function)?

Thank you for any answer!

Tao