Le 08/03/2013 13:22, Gilles Chanteperdrix a écrit :
On 03/08/2013 11:17 AM, Jerome Poncin wrote:

Le 07/03/2013 16:33, Jerome Poncin a écrit :
Le 06/03/2013 22:05, Gilles Chanteperdrix a écrit :
On 03/06/2013 04:28 PM, Jan Kiszka wrote:

Also here: Do not misuse write(), define an IOCTL that contains
something like "MMAP" and another one with MUNMAP in its name - that's
the purpose of this service, no?
A lot of drivers probably have to reinvent a way to pass all the
parameters for an mmap, why not adding an "mmap" method to RTDM drivers?


Hello,

I  re factored my code with all your remarks (I think and I hope).

Could you say me if it's correct now ?

Jan, you're right, It's possible to use Xenomai with UIO driver, but I
would like to use more real time possibilities of Xenomai in future
(like IRQ).
My first goal is to have a code compliant.
I added IRQ, and my next step will be to understand why the kernel
crash after IRQ registration.

Thank you for your help,

Jerome



Hello,

I have good news because, I arrived to validated driver with IRQ
support. I changed position of cifx on my motherboard in my PC and the
IRQ affected is not shared ;-) !

I have now a question about IRQ. What is the good method to signal to
user-land that there is an IRQ. Is there an example ?

Almost every "read" call is an example... ;-)

Hello,

I'm finishing my driver with IRQ. I saw that there is two mode, Real time and Non real time for RTDM driver function. My driver should run in the two mode. When I compile my User Space Shared library that call Xenomai Kernel driver, I saw that library call every time Non real time function and no real time function... I use a shared library with posix skin with makefile in attached file. I read explanation for static library with posix skin :

http://www.xenomai.org/index.php/Porting_POSIX_applications_to_Xenomai

What must I do with shared library for using rt mode ?

Jerome



-------------- next part --------------
# ------------------------------------------------------------------------------
# line below should not be changed
# ------------------------------------------------------------------------------
### Default Xenomai installation path
XENO ?= /usr/xenomai

XENOCONFIG=$(shell PATH=$(XENO):$(XENO)/bin:$(PATH) which xeno-config 
2>/dev/null)

### Sanity check
ifeq ($(XENOCONFIG),)
all::
        @echo ">>> Invoke make like this: \"make XENO=/path/to/xeno-config\" 
<<<"
        @echo
endif


CC=$(shell $(XENOCONFIG) --cc)

CFLAGS=-DCONSUMER $(shell $(XENOCONFIG) --skin=posix --cflags) $(MY_CFLAGS)

LDFLAGS=$(MY_LDFLAGS)
LDLIBS=$(shell $(XENOCONFIG) --skin=posix --ldflags)

# This includes the library path of given Xenomai into the binary to make live
# easier for beginners if Xenomai's libs are not in any default search path.
LDFLAGS+=-Xlinker -rpath -Xlinker $(shell $(XENOCONFIG) --libdir)

KSRC ?= /usr/xenomai/include
LSRC ?= ./
TKSRC ?= ./Toolkit

INCLUDE := -I$(KSRC)/include/xenomai -I$(KSRC)/include/xenomai/compat 
-I$(KSRC)/include/xenomai/posix -I$(LSRC) -I$(LSRC)/Toolkit

EXTRA_CFLAGS := -Wall -fpic -O2 # -DVERBOSE
EXTRA_LDFLAGS := -L/usr/xenomai/lib -shared

all: $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(TKSRC)/cifXDownload.c
        $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(TKSRC)/cifXEndianess.c
        $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(TKSRC)/cifXFunctions.c
        $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(TKSRC)/cifXHWFunctions.c
$(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(TKSRC)/cifXInit.c $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(TKSRC)/cifXInterrupt.c $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(TKSRC)/md5.c $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(LSRC)/cifx_xenomai.c $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(LSRC)/OS_xenomai.c $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_CFLAGS) -c $(LSRC)/USER_xenomai.c $(CC) $(CFLAGS) $(INCLUDE) $(EXTRA_LDFLAGS) -o libcifx.so $(LSRC)/cifXDownload.o $(LSRC)/cifXEndianess.o $(LSRC)/cifXFunctions.o $(LSRC)/cifXHWFunctions.o $(LSRC)/cifXInit.o $(LSRC)/cifXInterrupt.o $(LSRC)/md5.o $(LSRC)/cifx_xenomai.o $(LSRC)/OS_xenomai.o $(LSRC)/USER_xenomai.o $(EXTRA_LDFLAGS)

clean:
        rm -f *.o *.so
_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to