All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] Some questions and issues about Xenomai 3
@ 2014-11-16 10:01 Thierry Bultel
  2014-11-16 11:02 ` Philippe Gerum
  0 siblings, 1 reply; 2+ messages in thread
From: Thierry Bultel @ 2014-11-16 10:01 UTC (permalink / raw)
  To: xenomai

Hi,
I am currently attempting to port my application from xenomai-2.6.(3/4) 
to xenomai-3-rc2

My application uses the canfestival package, which uses rt_socket_can.
The distribution is buildroot, and I have hacked it a little to support 
the build of mercury, because it is not supported yet.

For info, I have basically added this:
XENOMAI_CONF_OPT += --with-core=mercury
XENOMAI_CONF_OPT += --enable-smp
XENOMAI_CONF_OPT += --enable-pshared
XENOMAI_CONF_OPT += --enable-registry

I am encountering several issues:

1) xeno-config
a) it says an error with posix skin
localuser@thierry-desktop ~/workspace/agv (STD_ITG_15.03)*$ 
/nous/BASYSTEMES/buildroot/buildroot_agv_v15_amos820/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/bin/xeno-config 
--skin=posix --cflags
unknown RTOS skin: posix

b) --compat fails, and is not mentioned in the Usage
 
/nous/BASYSTEMES/buildroot/buildroot_agv_v15_amos820/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/bin/xeno-config 
--skin=native --cflags --compat
-I/usr/include/xenomai/mercury -I/usr/include/xenomai 
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe 
-Os -D_GNU_SOURCE -D_REENTRANT -D__MERCURY__ -I/usr/include/xenomai/alchemy
Usage xeno-config OPTIONS
Options :
         --help
         --v,--verbose
         --version
         --cc
         --ccld
         --arch
         --prefix
         --[skin=]posix|vxworks|psos|alchemy|rtdm|smokey
         --auto-init|no-auto-init
         --cflags
         --ldflags
         --lib*-dir,--libdir,--user-libdir
         --core
         --info

c) provided that is should work, and that b) is related to an error of 
mine, would --compat fix the headers issue for applications that 
explicitly use #include <native/...> ? For now and testing I have SEDed 
them.

2) I have read in the manual that rtcan.h has been renamed to can.h
But after the install step, can.h is not installed in the staging.
buildroot was using "make install-user" for doing so. Changing to "make 
install" does not help.

3) More general question, about rtcan:
prepare_kernel.sh seems definitively needed for Cobalt kernel only. So 
how can the rtcan drivers be built in the PREEMPT_RT kernel ?
Sorry for my dummy question.

Regards
Thierry


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Xenomai] Some questions and issues about Xenomai 3
  2014-11-16 10:01 [Xenomai] Some questions and issues about Xenomai 3 Thierry Bultel
@ 2014-11-16 11:02 ` Philippe Gerum
  0 siblings, 0 replies; 2+ messages in thread
From: Philippe Gerum @ 2014-11-16 11:02 UTC (permalink / raw)
  To: Thierry Bultel, xenomai

On 11/16/2014 11:01 AM, Thierry Bultel wrote:
> Hi,
> I am currently attempting to port my application from xenomai-2.6.(3/4)
> to xenomai-3-rc2
> 
> My application uses the canfestival package, which uses rt_socket_can.
> The distribution is buildroot, and I have hacked it a little to support
> the build of mercury, because it is not supported yet.
> 
> For info, I have basically added this:
> XENOMAI_CONF_OPT += --with-core=mercury
> XENOMAI_CONF_OPT += --enable-smp
> XENOMAI_CONF_OPT += --enable-pshared
> XENOMAI_CONF_OPT += --enable-registry
> 
> I am encountering several issues:
> 
> 1) xeno-config
> a) it says an error with posix skin
> localuser@thierry-desktop ~/workspace/agv (STD_ITG_15.03)*$
> /nous/BASYSTEMES/buildroot/buildroot_agv_v15_amos820/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/bin/xeno-config
> --skin=posix --cflags
> unknown RTOS skin: posix

Building for the posix skin over the Mercury core basically means
building on top of the glibc, therefore calling xeno-config is useless
as you need no Xenomai-specific flags from us.

Retrieving build flags via xeno-config for Mercury is useful for
non-POSIX APIS, e.g. psos, vxworks, alchemy: in this case, there are
some Xenomai-specific flags required for building over the relevant
emulator/interface.

This said, maybe this script should accept --posix/--skin=posix and
deliver no particular cflags in this case, instead of bailing out on
error. This might help generic build machinery.

> 
> b) --compat fails, and is not mentioned in the Usage
> 

--compat is for enabling the 2.6.x compatibility mode the 3.x transition
kit provides (aka libtrank); as 2.6.x only supports dual kernel mode,
--compat only makes sense when one targets the Cobalt core in 3.x. IOW,
You cannot use --compat to transition from a dual kernel to a native
kernel (i.e. Mercury) configuration. The main reason for this, is that a
number of 2.6.x API features are dual kernel specific.

> 
> 2) I have read in the manual that rtcan.h has been renamed to can.h
> But after the install step, can.h is not installed in the staging.
> buildroot was using "make install-user" for doing so. Changing to "make
> install" does not help.

> 
> 3) More general question, about rtcan:
> prepare_kernel.sh seems definitively needed for Cobalt kernel only. So
> how can the rtcan drivers be built in the PREEMPT_RT kernel ?
> Sorry for my dummy question.
> 

rtcan has not been ported to Mercury, so you won't find any of the
relevant files installed for a Mercury build. At the moment, the
assumption is that rtcan is basically a dual kernel specific replacement
for the native CAN stack available from the mainline kernel. So an
application running in a single kernel configuration should/could use
the native CAN stack instead of rtcan.

Of course this is a broad and general statement that likely does not
account for rtcan-specific details/features. This may need to be
discussed with current rtcan users.

-- 
Philippe.


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-11-16 11:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-16 10:01 [Xenomai] Some questions and issues about Xenomai 3 Thierry Bultel
2014-11-16 11:02 ` Philippe Gerum

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.