Re: [Xenomai-help] binding to memory heap from user space
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. ___ Xenomai-help mailing list Xenomai-help@gna.org https://mail.gna.org/listinfo/xenomai-help
Re: [Xenomai-help] binding to memory heap from user space
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); andrt_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
Re: [Xenomai-help] binding to memory heap from user space
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); andrt_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.
Re: [Xenomai-help] binding to memory heap from user space
Cedric Herreman wrote: */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 mknod /dev/rtheap c 10 254 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 http://us.rd.yahoo.com/mail_us/taglines/PMall/*http://photomail.mail.yahoo.com - it's free and works with Yahoo! Mail. ___ Xenomai-help mailing list Xenomai-help@gna.org https://mail.gna.org/listinfo/xenomai-help -- Philippe.