Scheduling DSP/BIOS Threads
interrupt void MyHwi(void)
{
}
HWI Dispatcher for
HWI Dispatcher for
ISRs
ISRs
For non-BIOS code, we use the interrupt keyword to declare an ISR
tells the compiler to perform context save/restore
For DSP/BIOS code, the dispatcher will perform the save/restore
Remove the interrupt keyword from the MyHwi()
Check the “Use Dispatcher” box when you configure the interrupt
vector in the DSP/BIOS config tools
Using Software Interrupts
Using Software Interrupts
-
-
SWI
SWI
main
{ …
// return to O/S;
}
DSP/BIOS
Make each algorithm an independent
software interrupt
SWI scheduling is handled by DSP/BIOS
HWI function triggered by hardware
SWI function triggered by software
e.g. a call to SWI_post()
Why use a SWI?
No limitation on number of SWIs, and
priorities for SWIs are user-defined
SWI can be scheduled by hardware or
software event(s)
Defer processing from HWI to SWI
Function 2
Function 1
C28x - Using DSP/BIOS 9 - 7