Hi all,
 
We have some general questions
 
Our setup is:
Hardware MPC5200B on Microsys MPX5200
Linux version: 2.6.19
Adeos Patch: Compatible with this Linux
Xenomai version: 2.3.0
 
1.) Is the RT CAN socket deterministic? If I send immediately after
knowing the code is in 4 mS gap interval, how long does the rt socket
send this to the connected device from the time I command rt_dev_send to
the real seding in the Xenomai? Will the Xenomai RT-CAN socket sending
be interrupted by another task or resource? 
 
2.) Are all task application in Xenomai interruptable (or blockable) by
another task or resource irregardless of priority? If this happens....
What is the most time delay it will consume to switch back to my
rt-application task if it is blocked? Lets say I am sending CAN and at
the same time 4 more rt-application are running...
 
3.) Is the highest priority application task can also be blocked by
another process or resource? Will this task yield to another task or
resource if it will be needed? For how long this task switching will
occur so that my application takes control again?
 
4.) Where is rt_timer_read gets its timer value? Is this a predetermined
resolution set in the Xenomai-OS? Is there any relationship of this
timer value in real system pulse?  
 
5.) Is there a way that I can send directly to the RT socket buffer so
that the xenomai can directly send the message without going to the
rt_dev_send on the opened socket? Or is this way impossible and the only
way to send in real-time is through RT CAN socket?
 
6.)  Is an rt application which runs in a periodic task mode will really
executed in periodic intervals? What if the end of the code is not yet
reached and the periodic interval is triggered? Will the task just
continues or will it resign? And then what will happen? Is the periodic
interval will not resign its code when the interval and the code running
overlapped? Will the application code be blocked or will still remain in
running state?
 
7.)  Is there a general protection for a running code that it will be
unblockable for all task and resource for certain lines to be executed?
It is like I will enter to a critical code section and after sending my
CAN message will leave the critical section so that my application will
be able to send immediately and will not be blocked....
 
8.) Why is it that the RT socket CAN of xenomai is still collecting the
incoming frames of an opened socket handle even if it is not requesting
for a read? If the socket will not read, the buffer is becoming full and
will trigger the message buffer full (message discarded). Isn't it that
the xenomai should throw away this frame and free the buffer since the
default timeout will be triggered? The buffer is still being used until
the message overflows when the socket will not read instead of handling
the timeout... It is like as if the CAN device handler will pass the
received CAN message to ALL referenced opened handle eveif it is not
requesting to read the message. Isn't it that if a timeout is already
defined, it should throw away and clear the buffer instead of
continously buffering the "unwanted" frames of the opened socket handle?

 
 
My question might be related or not related to my problem. But I need at
least some of the answers so I can use effectively use the Xenomai task
and have the scheduling in real-time that is accurate to the needed
specification of the project I needed. Please give some recommendation
and comments on things what we might use to address the need of our
real-time project application...
 
Best Regards
 
Urs 
 
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to