Porting FreeRTOS to TI c66x DSP

Hi, I’m new to FreeRTOS and use FreeRTOSv202012.00.
I ported this version to the TI c66x DSP and I’m facing a problem.
The context switching is working fine and I’m using a non preemptive kernel so the tasks are yielding explicitly the processor for context switching.
I have three tasks in my Demo and there is also the idle task started by the kernel before scheduling starts.
I implemented a vPortYield function first saving the current context then calling vTaskSwitchContext() and then restore the new elected context.
The problem I have is that the three tasks are scheduled once and the the ready list is empty and the only scheduled task is the idle one.
The idle task is configured to yield the processor each time it get it.
Thanks in advance for any help.
Hugo.

Hmm. As this is a new port done yourself there could be any of a number of different things. To start with though, if I understand correctly, each task gets scheduled once only - so what are these tasks doing? Do they block to wait for a time or an event? If so and they don’t unblock, is the tick interrupt running? If the tick interrupt is not running then time will never change so a task that is blocked with a timeout will never time out.