官方下载的ucos 2.86 for stm32 测试发现问题

[复制链接]
10355|23
 楼主| coreduo 发表于 2011-6-21 08:44 | 显示全部楼层 |阅读模式
中断给线程PostSem,跑了会全部线程都死掉了。只剩下idle还在跑。线程互发sem没有问题。
中断PostSem, 线程不PendSem也没问题。
中断不PostSem,线程可以PendSem。
郁闷死了。

求各位给个稳定版本,非常非常感谢。
clingos 发表于 2011-6-21 09:00 | 显示全部楼层
应该不会,肯定是楼主的程序问题,
LZ可以试下仅一个中断中PostSem,一个任务中
PendSem试下。
 楼主| coreduo 发表于 2011-6-21 10:20 | 显示全部楼层
2楼,我就是这么实验的。
只要中断不postsem,或者线程不pendsem,就不出问题。
i55 发表于 2011-6-21 13:25 | 显示全部楼层
1)ucos2.86的bug我也遇到过,现象是卡死在低优先级任务上,高优先级的就绪任务无法进入,这个问题在2.88和2.90的手册里面都提到过,就是OSSched()和OSIntExit()两个函数的隐患,用2.88的这两个函数替代即可。
2)之所以还用2.86而不是升级,是因为IAR对2.86支持极好,运行时的各种资源都可以实时监测,任务栈是否溢出也看得很清楚。相比来说,MDK简直就是垃圾中的战斗机。
i55 发表于 2011-6-21 16:31 | 显示全部楼层
2.88的很多宏定义名字都变了,IAR的ucos插件不认识了。
手头没有2.88,只有官网上面下载的2.90,在ReleaseNotes.pdf文件中说的很清楚,但是我一直不理解这个bug为什么只有Cortex-M3才有,其他的CPU不会出问题:

CHANGES TO V2.87
You should follow these steps in order to upgrade from a previous version to V2.87.
1) OS_CORE.C:
OSIntExit() and OS_Sched() have changed slightly because of a boundary condition found with the Cortex-M3 port. Specifically, we needed to move the statement:
OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy];
Before testing for the priority
 楼主| coreduo 发表于 2011-6-21 16:38 | 显示全部楼层
1)ucos2.86的bug我也遇到过,现象是卡死在低优先级任务上,高优先级的就绪任务无法进入,这个问题在2.88和2.90的手册里面都提到过,就是OSSched()和OSIntExit()两个函数的隐患,用2.88的这两个函数替代即可。
2)之 ...
i55 发表于 2011-6-21 13:25

网上下了个2.92版本的,果然有效,完全没问题了。
2.86害人啊。
感谢各位老大。
xwj 发表于 2011-6-21 16:43 | 显示全部楼层
这个...
ucos要不要钱的?
 楼主| coreduo 发表于 2011-6-21 16:48 | 显示全部楼层
你想不给钱就不给钱
xwj 发表于 2011-6-21 16:55 | 显示全部楼层
问题是偶个人用的其他软件也是想不给钱就不给钱
 楼主| coreduo 发表于 2011-6-21 17:00 | 显示全部楼层
我相信大家用的windows都没给钱。。。。
所以。。。。ucos也不会给
总之呢 网上能下到的都不会给。
这个是第三世界工程师的红利。
i55 发表于 2011-6-21 18:49 | 显示全部楼层
考虑版权问题的话,可以试试FreeRTOS,我用着不错。感觉更适合Cortex-M3,ucos过于追求通用性,好多东西大而不当。
clingos 发表于 2011-6-21 19:57 | 显示全部楼层
LZ肯定是IAR没有设置好,不然不可能出现LZ说的IAR不识别的问题!
huanben 发表于 2011-6-21 22:35 | 显示全部楼层
官方网站是什么?
i55 发表于 2011-6-21 22:43 | 显示全部楼层
官方网站是什么?
huanben 发表于 2011-6-21 22:35

你自己Google “Micrium”
ai640626 发表于 2011-6-21 22:52 | 显示全部楼层
nongfuxu 发表于 2011-6-22 06:09 | 显示全部楼层
学习了!担心实时反应变慢,一直在用裸奔.
ttlasong 发表于 2011-6-22 10:38 | 显示全部楼层
官方网站
wewo 发表于 2011-6-22 15:14 | 显示全部楼层
我试过没有问题呀
wewo 发表于 2011-6-22 15:14 | 显示全部楼层
应该不会跑偏才对
i55 发表于 2011-6-22 22:35 | 显示全部楼层
学习了!担心实时反应变慢,一直在用裸奔.
nongfuxu 发表于 2011-6-22 06:09

用STM32就别担心什么实时性了,有多少时间紧凑的场合?用这种简易的OS会让整体程序结构清晰简洁,好处太多了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

418

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部