Scheduling DSP/BIOS Threads
Priority Based Thread Scheduling
Priority Based Thread Scheduling
HWI 2
HWI 1
SWI 3
SWI 2
SWI 1
MAIN
IDLE
int1
rtn
post2 rtn
int2
post3 rtn
post1
rtn
rtn
rtn
User sets the priority...BIOS does the scheduling
(highest)
(lowest)
SWI_post(&swi2);
Another Solution
Another Solution
–
–
Tasks (TSK)
Tasks (TSK)
DSP/BIOS tasks (TSK) are similar to SWI, but
offer additional flexibility
SWIs must run to completion
TSKs can be terminated by software
Tradeoffs
SWI context switch is faster than TSK
TSK module requires more code space
TSKs have their own stack
User preference and system needs usually
dictates choice, easy to use both
main
{ …
// return to O/S;
}
DSP/BIOS
Function 2
Function 1
C28x - Using DSP/BIOS 9 - 9