Find the answer to your Linux question:
Results 1 to 2 of 2
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    Xenomai Linux Application Problem


    I have a problem with some applications I have written for a version of Debian Linux which I have patched with Xenomai 2.5.1.

    Before I get into the problem I am not sure where I should be posting this. If this is the wrong place please move my post.

    I am relatively new to Linux in general so please try to keep any answers as basic as possible.

    Before I lay the problem out is there anyone who is familiar with Xenomai Linux. If so let me know and I will try to explain the problem in detail.


  2. #2

    The Problem

    I have not gotten any responses to whether anyone is familiar with Xenomai but I will give a general outline of the problem I am having.

    I have 2 applications which I have written that can send and receive data on a CAN (Control Area Network) bus. I know the programs themselves work and I have run both of them on this machine many times.

    Nothing about the applications or the setup has changed to my knowledge. Now when I run them I get a error code returned on which ever application is run second. The error occurs when I try to start the Real Time thread.

    int rt_task_start ( RT_TASK * task,
    void(*)(void *cookie) entry,
    void * cookie
    Start a real-time task.

    Start a (newly) created task, scheduling it for the first time. This call releases the target task from the dormant state.

    The TSTART hooks are called on behalf of the calling context (if any, see rt_task_add_hook()).

    task The descriptor address of the affected task which must have been previously created by the rt_task_create() service.
    entry The address of the task's body routine. In other words, it is the task entry point.
    cookie A user-defined opaque cookie the real-time kernel will pass to the emerging task as the sole argument of its entry point.
    0 is returned upon success. Otherwise:
    -EINVAL is returned if task is not a task descriptor.
    -EIDRM is returned if task is a deleted task descriptor.
    -EBUSY is returned if task is already started.
    -EPERM is returned if this service was called from an asynchronous context.

    This service can be called from:

    Kernel module initialization/cleanup code
    Kernel-based task
    User-space task
    Rescheduling: possible.

    References XNDORMANT, and xnpod_start_thread().

    Referenced by rt_task_spawn().

    This is the call that is made and it is supposed to start the real time task. However when I run this is returns a -17 error. This error is not one of the errors listed above. How can I determine what this error code means?


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts