Hello,
I'm currently working on feedback scheduling. I have a set of tasks : an MPC controller, a feedback scheduler, and some disturbance tasks. To do feedback scheduling, I need to measure the execution time quite accurately, and xenomai can not measure the execution time spend in the secondary mode. So I'm trying to stay in the primary mode. I had some calloc and free in one function that made me leave primary mode (for the MPC task). I tried to replace this by a rt_heap, and doing rt_heap_alloc in place of calloc, and I also tried to have static allocation. In both cases, my MPC task disappears when executing it! (nothing in /proc/xenomai/stat after the first try to execute it, but present during initialisation. and the other tasks are still here). I'm working on it for a few days now, and I can't find out what is wrong. I have tested to increase the maximum locked-in-memory size (in /etc/security/limits.conf). If I debug it with ddd, all is ok, array are well allocated... The strangest thing is that if I put a printf (this make a switch to secondary mode) saying that heap allocation was successful, everything works fine. So there is a function call that kills my task if I am in primary mode, and executes well if I am in secondary mode? Do you have any idea on where may be the mistake? Do you need some more information? My config: Linux 2.6.17-x320 preempt Thanks in advance, Arnaud DESVAGES
_______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
