⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtai_trace.h

📁 rtai-3.1-test3的源代码(Real-Time Application Interface )
💻 H
📖 第 1 页 / 共 2 页
字号:
           {\           trace_rtai_sem sem_event; \           sem_event.event_sub_id = (uint8_t)  ID; \           sem_event.event_data1  = (uint32_t) DATA1; \           sem_event.event_data2  = (uint64_t) DATA2; \           rt_trace_event(TRACE_RTAI_EV_SEM, &sem_event); \           } while(0)/*  TRACE_RTAI_MSG */#define TRACE_RTAI_EV_MSG_SEND                      1    /* Send a message */#define TRACE_RTAI_EV_MSG_SEND_IF                   2    /* Send if possible */#define TRACE_RTAI_EV_MSG_SEND_UNTIL                3    /* Try sending until a certain time */#define TRACE_RTAI_EV_MSG_RECV                      4    /* Receive a message */#define TRACE_RTAI_EV_MSG_RECV_IF                   5    /* Receive if possible */#define TRACE_RTAI_EV_MSG_RECV_UNTIL                6    /* Try receiving until a certain time */typedef struct _trace_rtai_msg{  uint8_t   event_sub_id;  /* Message event ID */  uint32_t  event_data1;   /* Event data 1 */  uint32_t  event_data2;   /* Event data 2 */  uint64_t  event_data3;   /* Event data 3 */} LTT_PACKED_STRUCT trace_rtai_msg;#define TRACE_RTAI_MSG(ID, DATA1, DATA2, DATA3) \           do \           {\           trace_rtai_msg msg_event; \           msg_event.event_sub_id = (uint8_t)  ID; \           msg_event.event_data1  = (uint32_t) DATA1; \           msg_event.event_data2  = (uint32_t) DATA2; \           msg_event.event_data3  = (uint64_t) DATA3; \           rt_trace_event(TRACE_RTAI_EV_MSG, &msg_event); \           } while(0)/*  TRACE_RTAI_RPC */#define TRACE_RTAI_EV_RPC_MAKE                       1    /* Make a remote procedure call */#define TRACE_RTAI_EV_RPC_MAKE_IF                    2    /* Make RPC if receiver is ready */#define TRACE_RTAI_EV_RPC_MAKE_UNTIL                 3    /* Try making an RPC until a certain time */#define TRACE_RTAI_EV_RPC_RETURN                     4    /* Send result of RPC back to caller */typedef struct _trace_rtai_rpc{  uint8_t   event_sub_id;  /* RPC event ID */  uint32_t  event_data1;   /* Event data 1 */  uint32_t  event_data2;   /* Event data 2 */  uint64_t  event_data3;   /* Event data 3 */} LTT_PACKED_STRUCT trace_rtai_rpc;#define TRACE_RTAI_RPC(ID, DATA1, DATA2, DATA3) \           do \           {\           trace_rtai_rpc rpc_event; \           rpc_event.event_sub_id = (uint8_t)  ID; \           rpc_event.event_data1  = (uint32_t) DATA1; \           rpc_event.event_data2  = (uint32_t) DATA2; \           rpc_event.event_data3  = (uint64_t) DATA3; \           rt_trace_event(TRACE_RTAI_EV_RPC, &rpc_event); \           } while(0)/*  TRACE_RTAI_MBX */#define TRACE_RTAI_EV_MBX_INIT                       1    /* Initialize Message BoX */#define TRACE_RTAI_EV_MBX_DELETE                     2    /* Delete message box */#define TRACE_RTAI_EV_MBX_SEND                       3    /* Send a message to a message box */#define TRACE_RTAI_EV_MBX_SEND_WP                    4    /* Send as many bytes as possible */#define TRACE_RTAI_EV_MBX_SEND_IF                    5    /* Send a message if possible */#define TRACE_RTAI_EV_MBX_SEND_UNTIL                 6    /* Try sending until a certain time */#define TRACE_RTAI_EV_MBX_RECV                       7    /* Receive a message */#define TRACE_RTAI_EV_MBX_RECV_WP                    8    /* Receive as many bytes as possible */#define TRACE_RTAI_EV_MBX_RECV_IF                    9    /* Receive a message if available */#define TRACE_RTAI_EV_MBX_RECV_UNTIL                10    /* Try receiving until a certain time */typedef struct _trace_rtai_mbx{  uint8_t   event_sub_id;  /* Message Box event ID */  uint32_t  event_data1;   /* Event data 1 */  uint32_t  event_data2;   /* Event data 2 */  uint64_t  event_data3;   /* Event data 3 */  } LTT_PACKED_STRUCT trace_rtai_mbx;#define TRACE_RTAI_MBX(ID, DATA1, DATA2, DATA3) \           do \           {\           trace_rtai_mbx mbx_event; \           mbx_event.event_sub_id = (uint8_t)  ID; \           mbx_event.event_data1  = (uint32_t) DATA1; \           mbx_event.event_data2  = (uint32_t) DATA2; \           mbx_event.event_data3  = (uint64_t) DATA3; \           rt_trace_event(TRACE_RTAI_EV_MBX, &mbx_event); \           } while(0)/*  TRACE_RTAI_FIFO */#define TRACE_RTAI_EV_FIFO_CREATE                     1   /* Create FIFO */#define TRACE_RTAI_EV_FIFO_DESTROY                    2   /* Destroy FIFO */#define TRACE_RTAI_EV_FIFO_RESET                      3   /* Reset FIFO */#define TRACE_RTAI_EV_FIFO_RESIZE                     4   /* Resize FIFO */#define TRACE_RTAI_EV_FIFO_PUT                        5   /* Write data to FIFO */#define TRACE_RTAI_EV_FIFO_GET                        6   /* Get data from FIFO */#define TRACE_RTAI_EV_FIFO_CREATE_HANDLER             7   /* Install FIFO handler */#define TRACE_RTAI_EV_FIFO_OPEN                       8   /* Open FIFO */#define TRACE_RTAI_EV_FIFO_RELEASE                    9   /* Release FIFO */#define TRACE_RTAI_EV_FIFO_READ                      10   /* Read from FIFO */#define TRACE_RTAI_EV_FIFO_WRITE                     11   /* Write to FIFO */#define TRACE_RTAI_EV_FIFO_READ_TIMED                12   /* Read with time limit */#define TRACE_RTAI_EV_FIFO_WRITE_TIMED               13   /* Write with time limit */#define TRACE_RTAI_EV_FIFO_READ_ALLATONCE            14   /* Read all the data from FIFO */#define TRACE_RTAI_EV_FIFO_LLSEEK                    15   /* Seek position into FIFO */#define TRACE_RTAI_EV_FIFO_FASYNC                    16   /* Asynchronous notification */#define TRACE_RTAI_EV_FIFO_IOCTL                     17   /* IO control on FIFO */#define TRACE_RTAI_EV_FIFO_POLL                      18   /* Poll FIFO */#define TRACE_RTAI_EV_FIFO_SUSPEND_TIMED             19   /* Suspend task for given period */#define TRACE_RTAI_EV_FIFO_SET_ASYNC_SIG             20   /* Set asynchrounous signal */#define TRACE_RTAI_EV_FIFO_SEM_INIT                  21   /* Initialize semaphore */#define TRACE_RTAI_EV_FIFO_SEM_POST                  22   /* Post semaphore */#define TRACE_RTAI_EV_FIFO_SEM_WAIT                  23   /* Wait on semaphore */#define TRACE_RTAI_EV_FIFO_SEM_TRY_WAIT              24   /* Try waiting on semaphore */#define TRACE_RTAI_EV_FIFO_SEM_TIMED_WAIT            25   /* Wait on semaphore until a certain time */#define TRACE_RTAI_EV_FIFO_SEM_DESTROY               26   /* Destroy semaphore  */typedef struct _trace_rtai_fifo{  uint8_t   event_sub_id;  /* FIFO event ID */  uint32_t  event_data1;   /* Event data 1 */  uint32_t  event_data2;   /* Event data 2 */} LTT_PACKED_STRUCT trace_rtai_fifo;#define TRACE_RTAI_FIFO(ID, DATA1, DATA2) \           do \           {\           trace_rtai_fifo fifo_event; \           fifo_event.event_sub_id = (uint8_t)  ID; \           fifo_event.event_data1  = (uint32_t) DATA1; \           fifo_event.event_data2  = (uint32_t) DATA2; \           rt_trace_event(TRACE_RTAI_EV_FIFO, &fifo_event); \           } while(0)/*  TRACE_RTAI_SHM */#define TRACE_RTAI_EV_SHM_MALLOC                       1  /* Allocate shared memory */#define TRACE_RTAI_EV_SHM_KMALLOC                      2  /* Allocate shared memory in kernel space */#define TRACE_RTAI_EV_SHM_GET_SIZE                     3  /* Get the size of the shared memory area */ #define TRACE_RTAI_EV_SHM_FREE                         4  /* Free shared memory */#define TRACE_RTAI_EV_SHM_KFREE                        5  /* Free kernel space shared memory */typedef struct _trace_rtai_shm{  uint8_t   event_sub_id;  /* SHared Memory event ID */  uint32_t  event_data1;   /* Event data 1 */  uint32_t  event_data2;   /* Event data 2 */  uint32_t  event_data3;   /* Event data 3 */} LTT_PACKED_STRUCT trace_rtai_shm;#define TRACE_RTAI_SHM(ID, DATA1, DATA2, DATA3) \           do \           {\           trace_rtai_shm shm_event; \           shm_event.event_sub_id = (uint8_t)  ID; \           shm_event.event_data1  = (uint32_t) DATA1; \           shm_event.event_data2  = (uint32_t) DATA2; \           shm_event.event_data3  = (uint32_t) DATA3; \           rt_trace_event(TRACE_RTAI_EV_SHM, &shm_event); \           } while(0)/*  TRACE_RTAI_POSIX */#define TRACE_RTAI_EV_POSIX_MQ_OPEN                       1  /* Open/create message queue */#define TRACE_RTAI_EV_POSIX_MQ_CLOSE                      2  /* Close message queue */#define TRACE_RTAI_EV_POSIX_MQ_SEND                       3  /* Send message to queue */#define TRACE_RTAI_EV_POSIX_MQ_RECV                       4  /* Receive message from queue */#define TRACE_RTAI_EV_POSIX_MQ_GET_ATTR                   5  /* Get message queue attributes */#define TRACE_RTAI_EV_POSIX_MQ_SET_ATTR                   6  /* Set message queue attributes */#define TRACE_RTAI_EV_POSIX_MQ_NOTIFY                     7  /* Register to be notified of message arrival */#define TRACE_RTAI_EV_POSIX_MQ_UNLINK                     8  /* Destroy message queue */#define TRACE_RTAI_EV_POSIX_PTHREAD_CREATE                9  /* Create RT task */#define TRACE_RTAI_EV_POSIX_PTHREAD_EXIT                 10  /* Terminate calling thread */#define TRACE_RTAI_EV_POSIX_PTHREAD_SELF                 11  /* Get thread ID */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_INIT            12  /* Initialize thread attribute */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_DESTROY         13  /* Destroy thread attribute */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_SETDETACHSTATE  14  /* Set detach state of thread */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_GETDETACHSTATE  15  /* Get detach state of thread */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_SETSCHEDPARAM   16  /* Set thread scheduling parameters */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_GETSCHEDPARAM   17  /* Get thread scheduling parameters */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_SETSCHEDPOLICY  18  /* Set thread scheduling policy */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_GETSCHEDPOLICY  19  /* Get thread scheduling policy */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_SETINHERITSCHED 20  /* Set thread scheduling inheritance */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_GETINHERITSCHED 21  /* Get thread scheduling inheritance */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_SETSCOPE        22  /* Set thread scheduling scope */#define TRACE_RTAI_EV_POSIX_PTHREAD_ATTR_GETSCOPE        23  /* Get thread scheduling scope */#define TRACE_RTAI_EV_POSIX_PTHREAD_SCHED_YIELD          24  /* Yield processor control */#define TRACE_RTAI_EV_POSIX_PTHREAD_CLOCK_GETTIME        25  /* Get current clock count */#define TRACE_RTAI_EV_POSIX_PTHREAD_MUTEX_INIT           26  /* Initialize mutex */#define TRACE_RTAI_EV_POSIX_PTHREAD_MUTEX_DESTROY        27  /* Destroy mutex */#define TRACE_RTAI_EV_POSIX_PTHREAD_MUTEXATTR_INIT       28  /* Initiatize mutex attribute */#define TRACE_RTAI_EV_POSIX_PTHREAD_MUTEXATTR_DESTROY    29  /* Destroy mutex attribute */#define TRACE_RTAI_EV_POSIX_PTHREAD_MUTEXATTR_SETKIND_NP 30  /* Set kind of attribute */#define TRACE_RTAI_EV_POSIX_PTHREAD_MUTEXATTR_GETKIND_NP 31  /* Get kind of attribute */#define TRACE_RTAI_EV_POSIX_PTHREAD_SETSCHEDPARAM        32  /* Set scheduling parameters */#define TRACE_RTAI_EV_POSIX_PTHREAD_GETSCHEDPARAM        33  /* Get scheduling parameters */#define TRACE_RTAI_EV_POSIX_PTHREAD_MUTEX_TRY_LOCK       34  /* Non-blocking mutex lock */#define TRACE_RTAI_EV_POSIX_PTHREAD_MUTEX_LOCK           35  /* Blocking mutex lock */#define TRACE_RTAI_EV_POSIX_PTHREAD_MUTEX_UNLOCK         36  /* Mutex unlock */#define TRACE_RTAI_EV_POSIX_PTHREAD_COND_INIT            37  /* Initialize conditionnal variable */#define TRACE_RTAI_EV_POSIX_PTHREAD_COND_DESTROY         38  /* Destroy cond. variable */#define TRACE_RTAI_EV_POSIX_PTHREAD_CONDATTR_INIT        39  /* Initialize cond. attribute variable */#define TRACE_RTAI_EV_POSIX_PTHREAD_CONDATTR_DESTROY     40  /* Destroy cond. attribute variable */#define TRACE_RTAI_EV_POSIX_PTHREAD_COND_WAIT            41  /* Wait for cond. variable to be signaled */#define TRACE_RTAI_EV_POSIX_PTHREAD_COND_TIMEDWAIT       42  /* Wait for a certain time */#define TRACE_RTAI_EV_POSIX_PTHREAD_COND_SIGNAL          43  /* Signal a waiting thread */#define TRACE_RTAI_EV_POSIX_PTHREAD_COND_BROADCAST       44  /* Signal all waiting threads */typedef struct _trace_rtai_posix{  uint8_t   event_sub_id;  /* POSIX event ID */  uint32_t  event_data1;   /* Event data 1 */  uint32_t  event_data2;   /* Event data 2 */  uint32_t  event_data3;   /* Event data 3 */} LTT_PACKED_STRUCT trace_rtai_posix;#define TRACE_RTAI_POSIX(ID, DATA1, DATA2, DATA3) \           do \           {\           trace_rtai_posix posix_event; \           posix_event.event_sub_id = (uint8_t)  ID; \           posix_event.event_data1  = (uint32_t) DATA1; \           posix_event.event_data2  = (uint32_t) DATA2; \           posix_event.event_data3  = (uint32_t) DATA3; \           rt_trace_event(TRACE_RTAI_EV_POSIX, &posix_event); \           } while(0)/*  TRACE_RTAI_LXRT */#define TRACE_RTAI_EV_LXRT_RTAI_SYSCALL_ENTRY             1  /* Entry in LXRT syscall */#define TRACE_RTAI_EV_LXRT_RTAI_SYSCALL_EXIT              2  /* Exit from LXRT syscall */#define TRACE_RTAI_EV_LXRT_SCHED_CHANGE                   3  /* Scheduling change */#define TRACE_RTAI_EV_LXRT_STEAL_TASK                     4  /* Take task control from Linux */#define TRACE_RTAI_EV_LXRT_GIVE_BACK_TASK                 5  /* Give task control back to Linux */#define TRACE_RTAI_EV_LXRT_SUSPEND                        6  /* Suspend a task */#define TRACE_RTAI_EV_LXRT_RESUME                         7  /* Resume task's execution */#define TRACE_RTAI_EV_LXRT_HANDLE                         8  /* Handle a request for an RTAI service */typedef struct _trace_rtai_lxrt{  uint8_t   event_sub_id;  /* LXRT event ID */  uint32_t  event_data1;   /* Event data 1 */  uint32_t  event_data2;   /* Event data 2 */  uint32_t  event_data3;   /* Event data 3 */  } LTT_PACKED_STRUCT trace_rtai_lxrt;#define TRACE_RTAI_LXRT(ID, DATA1, DATA2, DATA3) \           do \           {\           trace_rtai_lxrt lxrt_event; \           lxrt_event.event_sub_id = (uint8_t)  ID; \           lxrt_event.event_data1  = (uint32_t) DATA1; \           lxrt_event.event_data2  = (uint32_t) DATA2; \           lxrt_event.event_data3  = (uint32_t) DATA3; \           rt_trace_event(TRACE_RTAI_EV_LXRT, &lxrt_event); \           } while(0)/*  TRACE_RTAI_LXRTI */#define TRACE_RTAI_EV_LXRTI_NAME_ATTACH                    1  /* Register current process as name */#define TRACE_RTAI_EV_LXRTI_NAME_LOCATE                    2  /* Locate a given process usint it's name */#define TRACE_RTAI_EV_LXRTI_NAME_DETACH                    3  /* Detach process from name */#define TRACE_RTAI_EV_LXRTI_SEND                           4  /* Send message to PID */#define TRACE_RTAI_EV_LXRTI_RECV                           5  /* Receive message */#define TRACE_RTAI_EV_LXRTI_CRECV                          6  /* Non-blocking receive */#define TRACE_RTAI_EV_LXRTI_REPLY                          7  /* Reply to message received */#define TRACE_RTAI_EV_LXRTI_PROXY_ATTACH                   8  /* Attach proxy to process */#define TRACE_RTAI_EV_LXRTI_PROXY_DETACH                   9  /* Detach proxy from process */#define TRACE_RTAI_EV_LXRTI_TRIGGER                       10  /* Trigger proxy */typedef struct _trace_rtai_lxrti{  uint8_t   event_sub_id;  /* LXRT event ID */  uint32_t  event_data1;   /* Event data 1 */  uint32_t  event_data2;   /* Event data 2 */  uint64_t  event_data3;   /* Event data 3 */  } LTT_PACKED_STRUCT trace_rtai_lxrti;#define TRACE_RTAI_LXRTI(ID, DATA1, DATA2, DATA3) \           do \           {\           trace_rtai_lxrti lxrti_event; \           lxrti_event.event_sub_id = (uint8_t)  ID; \           lxrti_event.event_data1  = (uint32_t) DATA1; \           lxrti_event.event_data2  = (uint32_t) DATA2; \           lxrti_event.event_data3  = (uint64_t) DATA3; \           rt_trace_event(TRACE_RTAI_EV_LXRTI, &lxrti_event); \           } while(0)#else /* RTAI is configured without tracing */#define RT_TRACE_EVENT(ID, DATA)#define TRACE_RTAI_MOUNT()#define TRACE_RTAI_UMOUNT()#define TRACE_RTAI_GLOBAL_IRQ_ENTRY(ID,X)#define TRACE_RTAI_GLOBAL_IRQ_EXIT()#define TRACE_RTAI_OWN_IRQ_ENTRY(ID)#define TRACE_RTAI_OWN_IRQ_EXIT()#define TRACE_RTAI_TRAP_ENTRY(ID,ADDR)#define TRACE_RTAI_TRAP_EXIT()#define TRACE_RTAI_SRQ_ENTRY(a)#define TRACE_RTAI_SRQ_EXIT()#define TRACE_RTAI_SWITCHTO_LINUX(ID)#define TRACE_RTAI_SWITCHTO_RT(ID)#define TRACE_RTAI_SCHED_CHANGE(OUT, IN, OUT_STATE)#define TRACE_RTAI_TASK(ID, DATA1, DATA2, DATA3)#define TRACE_RTAI_TIMER(ID, DATA1, DATA2)#define TRACE_RTAI_SEM(ID, DATA1, DATA2)#define TRACE_RTAI_MSG(ID, DATA1, DATA2, DATA3)#define TRACE_RTAI_RPC(ID, DATA1, DATA2, DATA3)#define TRACE_RTAI_MBX(ID, DATA1, DATA2, DATA3)#define TRACE_RTAI_FIFO(ID, DATA1, DATA2)#define TRACE_RTAI_SHM(ID, DATA1, DATA2, DATA3)#define TRACE_RTAI_POSIX(ID, DATA1, DATA2, DATA3)#define TRACE_RTAI_LXRT(ID, DATA1, DATA2, DATA3)#define TRACE_RTAI_LXRTI(ID, DATA1, DATA2, DATA3)#endif#endif /* __RTAI_TRACE_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -