分享
 
 
 

VxWorks操作系统指南(附) 常用系统调用

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

附:常用系统调用

1.taskSpawn 创建(产生并激活)新任务

int taskSpawn

(

char *name, /*新任务名称*/

int priority, /*任务的优先级*/

int options, /*任务可选项*/

int stackSize, /*任务堆栈大小*/

FUNCPTR entryPt, /*任务入口函数*/

int arg1, /*任务入口函数所带参数1~10*/

int arg2, int arg3,

int arg4, int arg5,

int arg6, int arg7,

int arg8, int arg9,

int arg10

)

函数运行成功返回任务ID号,否则为ERROR。

任务可选项的几种模式如下表:

名 称

描 述

VX_FP_TASK

VX_NO_STACK_FILL

VX_PRIVATE_ENV

VX_UNBREAKABLE

VX_SUPERVISOR_MODE

0x8

0x100

0x80

0x2

运行带浮点的协处理器

不使用0xee填充堆栈

用私有环境运行任务

断点失效

用户任务常用值

2.taskDelete 删除一个任务

STATUS taskDelete

(

int tid /*删除任务的ID号*/

)

删除指定ID号的任务,并释放任务所占有的内存

3.taskDelay 延迟任务

STATUS taskDelay

(

int ticks /*延迟的时间滴答数*/

)

任务延迟为某一任务休眠一定时间提供了简单的处理方法,一般用于任务的周期性循环执行。当输入参数为NO_WAIT(其值为零)时,表示将所延迟的任务切换到同一优先级就绪队列的尾部。

4.taskSuspend 任务悬置

STATUS taskSuspend

(

int tid /*被悬置的任务ID号*/

)

5.taskResume 恢复任务

STATUS taskResume

(

int tid /*恢复的任务ID号*/

)

6.msgQCreate 创建并初始化消息队列

#include <msgQLib.h>

MSG_Q_ID msgQCreate

(

int maxMsgs, /*队列所能容纳的最大消息数目*/

int maxMsgLength, /*每一消息的最大长度*/

int options /*消息入列方式*/

)

消息入列方式有两种:MSG_Q_FIFO 先进先出,按时间先后顺序考虑;MSG_Q_PRIORITY 按消息优先级考虑。

7.msgQSend 向一消息队列发送消息包

STATUS msgQSend

(

MSG_Q_ID msgQId, /*所发向的消息队列名*/

char * buffer, /*消息包所在缓冲区指针*/

UINT nBytes, /*消息包长度*/

int timeout, /*等待的时间长度*/

int priority /*优先级*/

)

该函数将长度为nBytes的缓冲区buffer消息包发向消息队列msgQId. 如果任务正在等待接收该消息队列的消息包,消息将立即被送到第一个等待的任务。如果没有任务等待此消息,消息包被保留在消息队列中。

参数timeout指明:当消息队列已满时,等待消息队列有空间时所等待的时间。超过该时间还没空间可用的话,消息包被舍弃。它有两个特殊值:NO_WAIT(0)立即返回,不管消息包是否被发送;WAIT_FOREVER(-1)一直等待消息队列有空间可用。

参数priority指明发送的消息的优先级,可能值有:MSG_PRI_NORMAL(0)正常优先级,将消息置于消息队列的尾部;MSG_PRI_URGENT(1)紧急消息,将消息置于消息队列的首部。

8.msgQReceive 接收消息

int msgQReceive

(

MSG_Q_ID msgQId, /*接收消息的消息队列ID号*/

char * buffer, /*接收消息的缓冲区指针*/

UINT maxNBytes, /*缓冲区长度*/

int timeout /*等待时间*/

)

该函数从消息队列msgQId接收消息,将其拷贝到最大长度为maxNBytes的缓冲区buffer。如果消息包长度超过maxNBytes,多余部分被舍弃。等待时间timeout有两个特殊值: NO_WAIT(0)立即返回;WAIT_FOREVER(-1)一直等待消息队列有消息可取。

9.msgQDelete 删除一个消息队列

STATUS msgQDelete

(

MSG_Q_ID msgQId /*要删除的消息队列ID号*/

)

任何因发送或接收该消息队列的消息的任务都将解阻,并返回错误errno.

10. wdCreate 创建看门狗定时器

WDOG_ID wdCreate(void)

11. wdStart 启动定时器

STATUS wdStart

WDOG_ID wdId, /*看门狗定时器ID号*/

int delay, /*延迟值,以滴答计*/

FUNCPTR pRoutine, /*超时函数*/

int parameter /*超时函数的参数*/

12. wdCancel 取消一个当前工作的定时器

STATUS wdCancel

(

WDOG_ID wdId /*被取消的定时器ID号*/

)

该函数只是让定时器的延迟值为零来取消其工作。

13. wdDelete 删除定时器

STATUS wdDelete

(

WDOG_ID wdId /*被删除的定时器ID号*/

)

14. semBCreate 创建并初始化二进制信号量

SEM_ID semBCreate

(

int options, /*信号量选项*/

SEM_B_STATE initialState /*信号量初始化状态值*/

)

信号量初始化状态值有两种:SEM_FULL(1)或SEM_EMPTY(0)。选项参数指明被阻塞任务的入列方式:基于优先级(SEM_Q_PRIORITY)和先进先出(SEM_Q_FIFO).

15. semCCreate 创建并初始化计数信号量

SEM_ID semCCreate

(

int options, /*信号量选项*/

int initialCount /*信号量初始化计数值*/

)

选项参数指明被阻塞任务的入列方式:基于优先级(SEM_Q_PRIORITY)和先进先出(SEM_Q_FIFO).

16. semGive 给出信号量

STATUS semGive

(

SEM_ID semId /*所给出的信号量ID号*/

)

17. semTake 获得信号量

STATUS semTake

(

SEM_ID semId /*所要得到的信号量ID号*/

int timeout /*等待时间*/

)

如果任务在规定时间内未得到信号量,函数semTake返回错误。等待时间值WAIT_FOREVER和NO_WAIT分别表示一直等待和不等待。

18. semDelete 删除信号量

STATUS semDelete

(

SEM_ID semId /*要删除的信号量ID号*/

)

该函数释放与此信号量相关的资源,所有等待此信号量的任务解阻。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有