vxworks任务阻塞的原因

mwy72183 2019-05-14 04:18:56
我有7个任务,5ms,10ms,20ms,40ms,80ms,100ms,1000ms,优先级依次降低,给每个任务创建了一个二进制信号量,并在一个5ms定时中断函数里定时释放信号量 程序在vxworks系统下运行测试时偶发出现40ms任务阻塞的问题,并且该问题很难复现,有时程序运行几十个小时都不出来。有时80ms任务和40ms任务都阻塞,有时10ms,20ms,40ms,80ms都异常,但每次40ms必异常。 请教各位大神,都什么原因可能引起任务阻塞?
...全文
597 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
star_1983 2019-09-05
  • 打赏
  • 举报
回复
高优先级任务会不会某种情况下运行时间过长导致低优先级任务没时间执行?
VxWorks_developer 2019-05-29
  • 打赏
  • 举报
回复
你这个问题描述真是醉了,导致任务阻塞是单任务异常造成的,比如堆栈越界之类的,好好查一下你的任务处理就行了。如果你的40ms任务不是中断触发的,加打印printf也不应该出现问题。感觉你问题没有排查清楚,还有就是电脑屏幕休眠是什么意思?你的VxWorks是跑的x86吗?
mwy72183 2019-05-14
  • 打赏
  • 举报
回复
问题好像找到了,因为40ms里用了printf,电脑屏幕睡眠的时候问题就会复现!

2,184

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧