A Dijous, 6 de febrer de 2014, Gilles Chanteperdrix va escriure:
> On 02/06/2014 01:28 PM, Leopold Palomo-Avellaneda wrote:
> > A Dijous, 6 de febrer de 2014, Gilles Chanteperdrix va escriure:
> >> On 02/06/2014 12:09 PM, Philippe Gerum wrote:
> >>> On 02/06/2014 11:58 AM, Leopold Palomo-Avellaneda wrote:
> >>>> Hi all,
> >>>>
> >>>> we are trying to develop an application using xddp protocol. We use as
> > base,
> >>>> the xddp-label exaample that compiles and run perfectly in our system
> >>>> (Xenomai-2.6.3 with Linux 3.8.13).
> >>>>
> >>>> Our app is different from the xddp example because we have encapsulated
> > the
> >>>> realtime thread in a task, that it's in a library. We can run the
> > task,called
> >>>> from another part, and it rus.
> >>>>
> >>>> Our task create two sockets, one to receive from the NRT and another to
> > send.
> >>>> Yes, I know that we could do it in just one socket, but by design we 
must
> > do
> >>>> it in the way.
> >>>>
> >>>> Our main problem is when the RT task try to open the socket, the ipc
> >>>> device isn't created. The error that appears is:"socket: Address family
> > not
> >>>> supported by protocol". I attach the real-time task code below.
> >>>>
> >>>> The xddp works, because the examples works. We have several /dev/rtpX 
and
> > when
> >>>> we run the example the /proc/xenomai/registry/rtipc/xddp/xddp-label is
> >>>> created.
> >>>>
> >>>> Someone could give us some idea about what are we doing wrong?
> >>>>
> >>>
> >>> Your application is likely not wrapping POSIX symbols properly, calling
> >>> regular socket() instead of the Xenomai implementation. Check
> >>> examples/rtdm/profiles/ipc/Makefile for LDLIBS. You must have --wrap or
> >>> -Wl,@/some/path/posix.wrappers appearing in your link flags, for the
> >>> wrapping to take place properly.
> >>
> >> See also:
> >>
> > 
https://www.xenomai.org/index.php/Porting_POSIX_applications_to_Xenomai#Compilation_flags
> > 
> > Thanks for the answers.
> >   
> > However, the pandora box has been open. :-(
> > 
> > We are using a modified version of SOEM [1][2] where the posix calls and
> > selected in function of a defines.
> > 
> > We have not used any posix skin, if not native and rtdm. Using that 
wrapper
> > have done that our lib doesn't work. All of our programs receive an 
SIGXCPU
> > (CPU time limit exceeded). It's not easy for us with that.
> 
> SIGXCPU is in fact Xenomai's SIGDEBUG. See examples/native/sigdebug.c 
> to find out why you receive SIGDEBUG. My bet would be that you are 
> missing mlockall. That said, Xenomai should issue the mlockall 
> automatically, you simply have to take care of putting xenomai 
> libraries at the end of the link-edit command line, so that xenomai 
> libraries are loaded first.

Ok,


now it works, half work. So, it could be equivalent if I call the mlockall 
function in the entry point of the lib? I mean, if I create a init function of 
the lib and when I load it, mlockall is called.

> > 
> > So, can we use the xddp protocol from native? Which functions we should 
use to
> > send/receive, etc?
> 
> See:
> 
http://www.xenomai.org/documentation/xenomai-2.6/html/api/group__userapi.html

good, done. Perfect. However we are having problems because _only_ one label 
is created. I suppose that there's no limit of the number of sockets created 
in the RT thread, no?

We are closing ....

Thanks for all,

Leopold






> 
> -- 
>                                           Gilles.
> 


-- 
--
Linux User 152692
Catalonia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: 
<http://www.xenomai.org/pipermail/xenomai/attachments/20140206/999f6429/attachment.sig>
_______________________________________________
Xenomai mailing list
Xenomai@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to