常用Xenomai API

常用的Xenomai 原生API:
 
  
1、任务管理 
  
  Xenomai 本身提供的一系列多任务调度机制,主要有以下一些函数: 
  
  int rt_task_create (RT_TASK *task, const char *name, int stksize,int prio, int mode) ; 任务的创建; 
  
  int rt_task_start (RT_TASK *task, void(*entry)(void *cookie),void *cookie) ;  开始任务调度; 
  
  int rt_task_suspend (RT_TASK *task);              挂起任务; 
  
  int rt_task_delete (RT_TASK *task) ;               删除任务; 
  
  int rt_task_set_periodic (RT_TASK *task, RTIME idate, RTIMEperiod) ;设置任务运行周期; 
  
  int rt_task_wait_period (unsigned long *overruns_r);挂起任务到下个周期再运行; 
  
  int rt_task_set_priority (RT_TASK *task, int prio);设置任务优先级;
 
  
2、内存堆服务 
  
  int rt_heap_create (RT_HEAP *heap, const char *name, size_theapsize, int mode)  创建一个内存堆空间或一个共享内存片段; 
  
  int rt_heap_delete (RT_HEAP*heap)  删除一个内存堆空间或一个共享内存片段; 
  
  int rt_heap_bind (RT_HEAP *heap, const char *name, RTIMEtimeout)  绑定共享内存空间; 
  
  int rt_heap_unbind (RT_HEAP *heap)  接触共享内存空间的绑定;
 
  
3、信息管道服务 
  
  int rt_pipe_create (RT_PIPE *pipe, const char *name, int minor,size_t poolsize)  创建通讯管道; 
  
  int rt_pipe_delete (RT_PIPE *pipe)  删除通讯管道; 
  
  ssize_t  rt_pipe_receive  (RT_PIPE  *pipe,  RT_PIPE_MSG  **msgp,  RTIME  timeout)从管道接受一条信息; 
  
  ssize_t rt_pipe_send (RT_PIPE *pipe, RT_PIPE_MSG *msg, size_tsize, int mode)  向管道发送一条信息;
 
  
Xenomai 在实时内核之上还提供了多组API 模拟多种不同的实时操作系统和编程规范,包括POSIX、VxWorks 和RTAI等。这使得实时应用系统的开发和移植变得非常方便。

你可能感兴趣的:(常用Xenomai API)