- 1
- 2
- 3
- 4
- 5
RTOS调度故障整改记录
资料介绍
RTOS任务调度典型故障案例与改进措施 概述 做嵌入式这些年,遇到的任务调度问题五花八门,真正棘手的不在少数。这里挑六个印象最深的案例出来,把我当时的排查过程和后来的改进做法都写下来,给同组的兄弟做个参考。判断和口吻都是个人经验,未必放之四海皆准,但对症下药基本管用。 问题一:高优先级任务饿死低优先级任务 现象是系统跑起来后,界面刷新和按键响应越来越迟钝,而某个数据采集任务反而很积极。查来查去,是采集任务把优先级设得太高,配合自带的忙等循环,几乎占满了 CPU。低优先级任务根本排不上号。我的处理办法是给采集任务加上阻塞等待条件,去掉忙等,同时把它的优先级降了两级。 问题二:优先级反转导致偶发卡顿 一个中等优先级任务偶尔长时间抢不到 CPU,界面像卡死一样。追了几天才明白,是高优先级任务要的信号量被低优先级任务握着,而低优先级任务又被中等优先级任务挤着没法释放。这个就是典型的优先级反转。改善手段是用了互斥量的优先级继承机制,现象随即消失。 问题三:信号量使用不当造成死锁 两个任务相互等待对方持有的信号量,系统彻底僵住,看门狗不断复位。这种成对加锁的问题,靠肉眼很难一次定位。我当时用抓取任务栈和锁持有者信息的方式,列出谁在等谁,立刻就看清楚了。改进上,除了规范加锁顺序,还在关键路径加了超时等待,宁可超时报错也不让系统死锁。 问题四:任务栈溢出引发的随机崩溃 系统运行几小时后偶发复位,且每次崩溃点都不同。用排查工具查看任务栈使用率,发现有个任务的峰值接近上限。改进是把该任务栈加大,同时开启栈溢出检测,把异常在第一时间兜住。 问题五:定时器任务抖动影响时序精度 一个需要毫秒级稳定的定时任务,实际抖动经常到十几毫秒。原因是定时器回调里做了不少耗时的处理。改进是把定时回调里的事情拆出来,放到专门任务里做,回调本身只负责发消息,抖动立刻小了很多。
部分文件列表
| 文件名 | 大小 |
| RTOS调度故障整改记录.docx | 38K |
相关下载
- 大唐杯仿真平台使用方法介绍
- PCB做板阻抗要求计算.xls
- PCB转Gerber方法.doc
- USB3.0-ALTERA-DDR2开发板入门指南.pdf
- EZ-USB FX3 I2C Boot Option.pdf
- EZ-USB FX3 Hardware Design Guidelines.pdf
- CYPRESS USB3.0 FX3 DEBUG仿真设置——Eslips...
- CYUSB3KIT-001 FX3 DVK Schematic PDF 硬件原...
- CYUSB3KIT-001 FX3 DVK Schematic CADENCE 设...
- Altera_cyclone III -DDR2-USB3.0开发板CADEN...
最新上传
-
yahuang001 打赏3.00元 3天前
-
yahuang001 打赏1.00元 3天前
-
zhongshaoxiong 打赏3.00元 3天前
-
他山之石可攻玉 打赏60.00元 3天前
用户:烟雨
-
江岚 打赏210.00元 3天前
用户:潇潇江南
-
江岚 打赏100.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏210.00元 3天前
用户:潇潇江南
-
21ic下载 打赏60.00元 3天前
用户:他山之石可攻玉
-
21ic下载 打赏60.00元 3天前
用户:烟雨
-
21ic下载 打赏60.00元 3天前
用户:w178191520
-
21ic下载 打赏60.00元 3天前
用户:w993263495
-
21ic下载 打赏110.00元 3天前
用户:xzxbybd
-
21ic下载 打赏60.00元 3天前
用户:zq_1943
-
21ic下载 打赏20.00元 3天前
用户:kk1957135547
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:w1966891335
-
21ic下载 打赏35.00元 3天前
用户:有理想666
-
21ic下载 打赏15.00元 3天前
用户:nuaanuaa111
-
21ic下载 打赏20.00元 3天前
用户:liqiang9090
-
21ic下载 打赏15.00元 3天前
用户:ningmengge
-
21ic下载 打赏10.00元 3天前
用户:mulanhk
-
21ic下载 打赏5.00元 3天前
用户:asys
-
21ic下载 打赏10.00元 3天前
用户:舞蹈荀彧
-
21ic小能手 打赏5.00元 3天前
资料:磁编码器开源方案
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏50.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏3.00元 3天前




全部评论(0)