Guenter Ebermann wrote:
> Hi Gilles,
>
> Gilles Chanteperdrix wrote:
>> Guenter Ebermann wrote:
>>> Yeah, I understand your point with generic interface and device driver
>>> separation. And I really like the way this happens under linux/xenomai. I am
>>> also willing to write new drivers which are usable by a broader public using
>>> these design principles. But the communication stack I am gona use (AUTOSAR
>>> FlexRay stack) does not follow them. AUTOSAR (www.autosar.org) specs defines
>>> the Interfaces and layers of the whole communcation system for cars. It does
>>> not involve kernel/userspace separation, but it also does not mix the
>>> low-level
>>> code with application code. Low level code is only implemented in the device
>>> drivers (CAN, LIN, FlexRay), but the interface to the upper level stack is
>>> not
>>> generic (as in linux with device drivers) - it is different for each kind of
>>> lower layer device (CAN, LIN, FlexRay) to gain the best performance from
>>> each
>>> of them.
>> Well, it looks to me like you can implement the interface between driver
>> and user-space with standard posix interface (especially ioctl), and
>> then implement the AUTOSAR interfaces as a user-space library relying on
>> this posix interface.
>
> Yes, this will work for the send direction for LIN and CAN very fine. But
> receive operation happens via function calls (RxIndications) from driver to
> upper layer. Also send direction of FLEXRAY is a call from driver to upper
> layer with a request to fill the buffers.
>
> Can I make callbacks from xenomai rtdm into a xenomai app in user space?
> Or can I register C-callbacks with ioctrl at driver?
The support to have this is almost in place, we call it user-space
signals, because this is essentially the way posix signals are
implemented, but it applies to any type of user-space callback triggered
by a kernel-space action.
With the current method, the callback would be called only when
returning from a system call, but with the "mayday" support, implemented
in Xenomai 2.5.4, we have a way to have the callbacks being able to
interrupt any piece of code. The support we have currently is only the
core support, we need some window-dressing for the RTDM skin, though.
But all this can be sorted out pretty quickly if need be.
--
Gilles.
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help