vxworks常用系统调用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vxworks常用系统调用

附:常用系统调用 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 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 msgQDele

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档