Page 1 of 1

How is it possible to define the scheduling strategy

Posted: Tue Feb 24, 2015 1:23 pm
by PelWe
Hi,

I'm new to ERIKA and like the approach esp. with the eclipse integration. But I'm still not sure how to define the scheduling strategy, as OSEK supports non-preemptive, full-preemptive and mixed. Or is it the case that the selection of a conformance class determines the scheduling strategy?

Re: How is it possible to define the scheduling strategy

Posted: Tue Feb 24, 2015 2:38 pm
by e.guidieri
Hi,

you can select the scheduling strategy for each TASK trought the SCHEDULE field of TASK OIL element. Two possible value are allowed:

FULL: This means that the TASK is full Preentive, so any TASK with priority greater than his can preempt him.
NON: This means that TASK priority is only used to handle the ready queue. When the TASK is started it runs until it terminate (TerminateTask, ChainTask primitives) or wait on an event (if the TASK can wait, [extended TASK + Private Stack]), or successfully try to yeld it self with Schedule primitive (that low the TASK execution priority to the ready priority one for the call).

Regards

Re: How is it possible to define the scheduling strategy

Posted: Tue Feb 24, 2015 6:05 pm
by PelWe
Thanks for your quick reply.

So just to clarify: In case I've only taks with Full Schedule, does this mean that the overall scheduling strategy would be Preemptive?

Cheers

Re: How is it possible to define the scheduling strategy

Posted: Tue Feb 24, 2015 6:21 pm
by e.guidieri
Exactly.

Cheers

Re: How is it possible to define the scheduling strategy

Posted: Thu Sep 01, 2016 10:56 am
by janakiram
Hi All,

I understood how to set a task in preemptive and non preemptive, can any one please explain how to schedule a task in Mixed Preemptive scheduling ?
where we have to set that preemptive threshold value in OIL ?
----
Thanks & Regards,
Janaki Ram

Re: How is it possible to define the scheduling strategy

Posted: Thu Sep 01, 2016 10:57 am
by paolo.gai
Hi!

This is done in OIL using "Internal Resources". or you can change directly the dispach priority in the generated eecfg.c code.

Ciao,

PJ