This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to manually call the task scheduler ?

Other Parts Discussed in Thread: SYSBIOS

Hello,

My goal is to reduce the jitter of my highest priority interrupt. By jitter I mean the stability of the beginning of the code executed in my the Hwi thread.

I guess the task scheduler at the end of the interrupt dispatcher disable the interrupt for a while, so the jitter increase.

I do use Task semaphore, mailbox, event and timeout.

 

Question: Is it possible to call manually the task scheduler , for instance at the end of my highest priority Hwi thread?

 

So if it's possible, I will set the  BIOS.taskEnabled to false to disable the logic in the interrupt dispatcher that invokes the Task scheduler prior to returning from an interrupt.

And call the task scheduler only once, in my high frequency hwi thread.

And by the way, I expect also to call the bios tick (Clock_tick()) manually at the same time.

 

My setup:

sysbios 6.31.4.27, xdc 3.20.8.88, ccs5.1, TMS570

 

  • Have you considered mapping your high priority interrupt to FIQ rather than IRQ?

    BIOS NEVER disables the FIQ.

    There are severe restrictions placed on what the ISR can do (ie no Semaphore_post(), Swi_post(), etc calls) but if all you're doing is interacting with hardware, this may be just what you need.

  • Yes that's true, it would fix the jitter problem, but as you said, with many restrictions.

    It seems a better solution to me to call manually the task dispatcher at high frequency. Is it possible to do that?

    Simon