Is it possible to use FreeRTOS on a Digi ME 9210 ?

Hi Digi community.

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 ?

And also is it a good idea to use FreeRTOS on a digiconnect ? Or should I just use the pthread linux lib to create my “real time” software ?

Regards Cedric.

Hi again,

I’ve tried my soft on the dev computer, with exactly the same code, the only thing which change is the kind of project, instead of a Digi El Application/Library c project, I’ve use a c project. And everything is going well, my ticks for scheduler and all the mulstitasking is running as it should.

So my questions are :

  • What are the diferences between the dev linux, and the embedded linux on the digi me 9210 ?
  • Are the signals implemented ?

Regards Cedric.