FreeRtos on embedded Linux, Schedule timer ma

krakenzit wrote on Monday, June 10, 2013:

Hi FreeRTOS community,

I’m using FreeRTOS on a Digiconnect ME 9210 which is an Ethernet port with an embedded linux. I use the posix port of William Davy for the FreeRTOS V5.3.0.

The soft I want to create can be describe in tasks (in the freertos meaning) like that :
Task 1 : Listen to the serial port then in function of what is received create one of the two action task ;
Action task 1 : Answer on the serial port ;
Action task 2 : Send a request on the Ethernet.

The soft will run as a daemon.

My matter is :
I don’t have any timer tick to make the scheduling.

So first I use a dirty vtaskDelay(0) on my main task for loop, to force it.
Then I’ve tried to implement a software timer, but without base tick it doesn’t work.

So after I go in the port code and I’ve discovered, I think, the source of my matter.
When I call vPortStartScheduler I got a timer created which send the SIGALRM signal when it expires and I also have a signal Handler created when the first task is created.
I’ve tried with no tasks at all, just the creation of the timer and the signal handler, they are both working well.
So I think the matter is that the signal is well sent when the timer expires, but the task which contains the signal handler doesn’t received it, maybe because she is not the running one, or because all the tasks accept the signal, but got no handler for it.

Do you have any ideas to solve this timer matter ?

Regards Cedric.

krakenzit wrote on Monday, June 10, 2013:

Hi again,

I’ve tried my soft on a classic linux, an it’s running well, so I think the matter comes from the configuration of my embedded linux.

Regards Cedric.