1、Xenomai 原生API
-
任務管理
Xenomai 本身提供的一系列多任務調度機制,主要有以下一些函數:
int rt_task_create (RT_TASK task, const char name, int stksize, int prio, intmode) ; 任務的創建;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, RTIME period) ;設置任務運行周期;int rt_task_wait_period (unsigned long *overruns_r) ;掛起任務到下個周期再運行;int rt_task_set_priority (RT_TASK *task, int prio);設置任務優先級;
-
內存堆服務
int rt_heap_create (RT_HEAP heap, const char name, size_t heapsize, int mode) 創建一個內存堆空間或一個共享內存片段;int rt_heap_delete (RT_HEAP *heap) 刪除一個內存堆空間或一個共享內存片段;int rt_heap_bind(RT_HEAP heap, const char name, RTIME timeout) 綁定共享內存空間;int rt_heap_unbind (RT_HEAP *heap) 接觸共享內存空間的綁定;
-
信息管道服務
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) 從管道接受一