This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

how to porting priority-based scheduling(non-preemptive, QV kernel)

hi all

i want porting qpc with softdevice. it need set SCB_SYSPRI exception priorities with PRIMASK bit or the BASEPRI register for critical section

can anyone give me advised


that SoftDevice takes all the interrupt, the qpc framework it is superloop to execute handle(Privileged Handler mode)

(To avoid race conditions between the main loop and the interrupts)

The cooperative QV kernel works essentially as the traditional foreground-background system (a.k.a. "superloop") in that all active objects are executed in the main loop and interrupts always return back to the point of preemption. To avoid race conditions between the main loop and the interrupts, QV briefly disables interrupts.

ref qp discussion , 

https://sourceforge.net/p/qpc/discussion/668726/thread/d71eca19/?limit=25

ref about : qpc(qv)

https://www.state-machine.com/qpcpp/arm-cm_qv.html

Related