VxWorks程序指南
发布日期:2021-07-01 01:03:49 浏览次数:3 分类:技术文章

本文共 658 字,大约阅读时间需要 2 分钟。

*******************************************

一、任务
*******************************************
任务状态:挂起、阻塞、就绪、睡眠。
任务可以在任何一种状态被删除。
Wind内核里有256种优先级,0最高,255为最低。
任务调度控制函数
kernelTimeSlice() 控制轮转调度
taskPrioritySet() 改变任务优先级
taskLock()    禁止任务调度
taskUnlock()   允许任务调度

当任务访问一个可能会被中断服务程序访问的变量或者数据结构时,可以使用intLock()实现互斥。

通过taskLock()、taskUnlock()抢占上锁可禁止优先级的抢占,中断服务程序仍然可以执行。
所有应用任务的优先级应该在100-250之间;但是驱动程序支持的任务(与中断服务程序关联的任务)优先级能够位于51-99。
任务堆栈的空间分配:为了避免堆栈溢出和破坏任务堆栈可使用下列方法:
在最初分配堆栈空间时,分配比预先估计大一些的空间;然后周期性地调用checkStack()函数监控;若可以安全使用更小的空间,将修改分配空间的尺寸。
一般vxWorks使用任务ID号来定位任务,约定ID号为0的表示任务调用。
vxWorks操作系统不需要惟一的任务名,但为了避免混乱,建议使用惟一的任务名。
vxWorks操作系统的任务命名规则:所有从目标机启动的任务以字母t开头,而从主机启动的任务以字母u开头。

转载地址:https://mao0514.blog.csdn.net/article/details/21078047 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:VxWorks嵌入式系统几种常用的延时方法
下一篇:VxWorks 引导程序

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年05月02日 03时17分21秒