[Xenomai] Porting a library to Xenomai
gilles.chanteperdrix at xenomai.org
Fri Dec 11 15:09:27 CET 2015
On Fri, Dec 11, 2015 at 03:03:55PM +0100, Leopold Palomo-Avellaneda wrote:
> El Divendres, 11 de desembre de 2015, a les 14:20:12, Gilles Chanteperdrix va
> > On Fri, Dec 11, 2015 at 01:44:01PM +0100, Leopold Palomo-Avellaneda wrote:
> > > Hi,
> > >
> > > I'm working to make a library to work with Xenomai. It's a library that
> > > has a thread and open a socket to communicate with an external device via
> > > network.
> > >
> > > I have read the guide "Porting a Linux application to Xenomai dual kernel
> > > " but still I have some doubts in some details. So, here my topics
> > > without any importance order:
> > >
> > > - What is the recommended way to obtain the link, flags, etc information
> > > to
> > > build an application that use Xenomai? xeno-config, pkg-config, some build
> > > macros to find the information, ...
> > Quoting the document you say you have read:
> > "Compilation flags
> > To ease that task, the xeno-config script, installed when compiling
> > Xenomai user-space support, is able to give you these flags. (...)
> > Beware: this way of obtaining the compilation flags is recommended,
> > if for anything because it will make using a different release of
> > Xenomai easier: the flags may change between two different releases."
> ok, but this solution implies that xeno-config must be available. In any case
> as CMake user, following your indications the Macros should use xeno-config.
> For what I have seen in the net, not all the people use that.
We can not force people to use the recommended solution. This is
implied in the word "recommended".
> > > - I would like to have a code that could be used with an Standard POSIX or
> > > a Xenomai. I thought that protecting my code with some #ifdef __XENO__ I
> > > could choose which part is specific to Xenomai and which no. However, I'm
> > > a bit confused, because then, I don't understand what is the utility of
> > > the wrap script. Please, could you elaborate a bit more this part,
> > > especially focused in an application the could use an standard network
> > > interface or rtnet version.
> > Quoting the documentation again: "Use of Linux original services
> No Gilles, that's the point that I don't understand. Maybe it could be a
> language problem.
If you do not understand the text. Read the example.
> > > - In the document, there's a section about the mlockall option. So, may I
> > > understand that from xenomai <= 2.6.3 it's not needed that I call the
> > > mlockall function?
> > Quoting the documentation again: "
> > Starting with version 2.6.3, as part of their initialization,
> > Xenomai libraries systematically call mlockall to commit and lock
> > the whole application memory.
> Ok, so why it's use it in your example:
> May I understand that that line is not needed?
It is not needed indeed.
More information about the Xenomai