Hi,
Please check below queries on task management and control and let us know your comments.
1) Can we execute a set of tasks in a non-preemptive controlled manner?
Scenario: We have task1,task2,task3 of same priority and task 4 of higher priority. The execution should start from task1->task2->task3->task4 even if in between the high priority task4 becomes ready to run while lower priority tasks are running or any SWI/HWI occurs in the system. Once these 4 tasks are executed we should be able to service all the interrupts that came in between.
2) Can we create a environment where we can deterministically control the length of the execution time slice for same priority tasks?
Scenario: We have task1,task2,task3 of same priority. Now once the Bios starts we want task1 execution to take t1 usec, task2 execution to take t2 usec and t3 usec for task3. Every task should yield once its time slice is finished without any explicit timer/clock usage.
Using SysBios6 on TCI6618 DSP.
Please let us know pros and cons of each solution if it’s feasible. Also it will be of great help if you can provide a sample code block to implement such functionality to manage tasks.
Regards
Soumya