
最近在网络上逛逛的时候发现了UCOS II V2.86有一个BUG,会导致系统优先级调度失败的BUG,就是低优先级的任务一直占用CPU,而高优先级的任务即使就绪了也无法执行!" g% y, _+ q0 Q" S: b, l 刚开始我也不信,因为这个版本的UCOS已经使用过两年了,基本没有问题。不过最近发现了确实有这个问题,当我禁止了内部看门狗之后,发现了一个很费解的问题之后才验证出这个BUG的。 UCOS II V2.86的BUG就是出现在OS的 OS_CORE.C 文件中,函数OSIntExit 和 OSStart 中,由于对高优先级的判断和调度弄反了,导致小微概率的调度失败。/ U- `8 f# A' E5 Z2 _% y 这个BUG很少能找得到哦,我居然这么衰遇上了~真悲剧! 特发帖提醒! 希望给那些陷在BUG中获救无望的同学一点希望。 修正这个BUG也很简单,就是把OS_CORE.C 文件中的函数修改两个地方 |
RE:UCOS II V2.86 的 漏洞修补
RE:UCOS II V2.86 的 漏洞修补
回复:UCOS II V2.86 的 漏洞修补
能给个链接不?3Q
百度贴吧里面有:! `8 [" ~! a0 d o
https://tieba.baidu.com/f?kw=stm32isp&from=prin' {6 E' p9 G3 m# F3 Y
或者百度搜索 UCOS BUG
回复:UCOS II V2.86 的 漏洞修补