Xenomai native API

本文详细介绍了Xenomai实时操作系统中包括任务状态、Alarm服务、Buffer服务、条件变量服务、事件标志组服务、内存堆服务、中断管理服务、互斥服务、信息管道服务、信息队列服务、信号量服务、任务管理和时序管理等关键API的使用,为开发者提供了深入理解Xenomai API的参考。
摘要由CSDN通过智能技术生成

1.      任务状态

• #define T_BLOCKED XNPEND

• #define T_DELAYED XNDELAY

• #define T_READY XNREADY

• #define T_DORMANTXNDORMANT

• #define T_STARTEDXNSTARTED

• #define T_BOOST XNBOOST

• #define T_LOCK XNLOCK

• #define T_NOSIG XNASDI

• #define T_WARNSW XNTRAPSW

• #define T_RPIOFF XNRPIOFF

2.      Alarm服务

• int rt_alarm_create (RT_ALARM ∗alarm,const char ∗name, rt_alarm_t handler, void ∗cookie)

Alarm

存储alarm相关数据的描述符地址

Name

Alarm变量名

Handler

Alarm结束时调用地址

Cookie

传递给alarm handler作为第二个参数

•int rt_alarm_delete (RT_ALARM ∗alarm)

Alarm

待删除alarm描述符地址

•int rt_alarm_start (RT_ALARM ∗alarm,RTIME value, RTIME interval)

Alarm

Alarm描述符地址

Value

初始alarm shot的相关数据

Interval

Alarm重载值

•int rt_alarm_stop (RT_ALARM ∗alarm)

Alarm

待释放alarm描述符地址

•int rt_alarm_inquire (RT_ALARM ∗alarm,RT_ALARM_INFO ∗info)

Alarm

请求alarm的描述符地址

Info

待写入alarm信息的结构地址

 

•int rt_alarm_create (RT_ALARM ∗alarm,const char ∗name)

Alarm

Alarm描述符地址

Name

Alarm变量名

•int rt_alarm_wait (RT_ALARM ∗alarm)

Alarm

等待alarm描述符地址

3.     Buffer服务

•int rt_buffer_create (RT_BUFFER ∗bf,const char ∗name,size_t bufsz, int mode)

Bf

存储buffer相关数据描述符地址

Name

Buffer变量名

Bufsz

可用空间大小,该区域在系统堆中

Mode

Buffer创建模式

•int rt_buffer_delete (RT_BUFFER ∗bf)

Bf

待删除buffer描述符地址

•ssize_t rt_buffer_write (RT_BUFFER ∗bf, const void ∗ptr, size_t len, RTIMEtimeout)

Bf

Buffer描述符地址

Ptr

待写入buffer数据的地址

Len

信息数据字节长度

Timeout

等待时间限度

• ssize_trt_buffer_write_until (RT_BUFFER ∗bf, const void ∗ptr,size_t len, RTIME timeout)

Bf

描述符地址

Ptr

待写入buffer数据的地址

Len

信息数据字节长度

Timeout

等待buffer有足够空间的绝对时间限度

•ssize_t rt_buffer_read (RT_BUFFER ∗bf, void ∗ptr, size_t len, RTIME timeout)

Bf

待读buffer描述符地址

Ptr

指向内存区域的指针,该区域可以写入收到的数据

Len

Ptr指向数据的长度

Timeout

等待buffer可用信息的时间限度

 

•int rt_buffer_clear (RT_BUFFER ∗bf)

Bf

待清空buffer的描述符地址

•int rt_buffer_inquire (RT_BUFFER ∗bf,RT_BUFFER_INFO ∗info)

Bf

请求buffer的描述符地址

Info

Buffer信息将写入的结构地址

•int rt_buffer_bind (RT_BUFFER ∗bf,const char ∗name,RTIME timeout)

Bf

Buffer描述符地址

Name

有效非空待绑定buffer变量名

Timeout

等待注册发生时间限度

•static int rt_buffer_unbind (RT_BUFFER ∗bf)

Bf

解绑buffer的描述符地址

4.     条件变量服务

•int rt_cond_create (RT_COND ∗cond,const char ∗name)

Cond

存储相关数据的条件变量描述符地址

Name

条件变量变量名

•int rt_cond_delete (RT_COND ∗cond)

Cond

待删除变量的描述符地址

•int rt_cond_signal (RT_COND ∗cond)

Cond

变量描述符地址

•int rt_cond_broadcast (RT_COND ∗cond)

Cond

变量描述符地址

•int rt_cond_wait (RT_COND ∗cond,RT_MUTEX ∗mutex,RTIME timeout)

Cond

变量描述符地址

Mutex

互斥变量描述符

Timeout

条件变量被signal的时间限度

•int rt_cond_wait_until (RT_COND ∗cond,RT_MUTEX ∗mutex,RTIME timeout)

Cond

变量描述符地址

Mutex

互斥变量描述符

Timeout

条件变量被signal的绝对时间限度

•int rt_cond_inquire (RT_COND ∗cond,RT_COND_INFO ∗info)

Cond

变量描述符地址

Info

条件变量信息被写入的结构地址

•int rt_cond_bind (RT_COND ∗cond,const char ∗name,RTIME timeout)

Cond

描述符地址

Name

变量名

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值