Gilles Chanteperdrix <[EMAIL PROTECTED]> wrote:
Cedric Herreman wrote:
> Hello,
>
> I have created a memory heap in the init_module routine of a kernel module :
> rt_heap_create(&heap_data,"RT_LOG_HEAP",sizeof(ttv_log_data),H_FIFO|H_SHARED);
> and
> rt_heap_alloc(&heap_data,0,TM_NONBLOCK,&loc_ptr);
> Both calls return succesful.
>
> When i try to bind to this memory in an user space application :
> rt_heap_bind(&rt_heap,"RT_LOG_HEAP",TM_NONBLOCK);
> the call returns with error -2, this error does not seem to be documented (i test on all the constants defined in the html API docs, xenomai v2.0).
>
> Can anyone give me a hint on what's wrong here ?

-2 is -ENOENT, no such file or directory.

You are probably missing the /dev/rtheap file. In order to create it,
run "make devices" with root privileges.

Gilles Chanteperdrix.
Yes, i was. I added the file on the target system (doesn't have the src tree, so i can't "run make devices")  like this :
mknod /dev/rtheap b 1 0

Now, it is giving me the error : -EPERM. The doc says the call is made from a context that cannot sleep (interrupt, non-realtime, scheduler locked). Is it not possible to link to shared mem from a non-realtime userspace application in this way ?

Cedric.


Brings words and photos together (easily) with
PhotoMail - it's free and works with Yahoo! Mail.
_______________________________________________
Xenomai-help mailing list
Xenomai-help@gna.org
https://mail.gna.org/listinfo/xenomai-help

Reply via email to