打印

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

[复制链接]
8004|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简直就是垃圾中的战斗机。

使用特权

评论回复
5
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

使用特权

评论回复
6
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害人啊。
感谢各位老大。

使用特权

评论回复
7
xwj| | 2011-6-21 16:43 | 只看该作者
这个...
ucos要不要钱的?

使用特权

评论回复
8
coreduo|  楼主 | 2011-6-21 16:48 | 只看该作者
你想不给钱就不给钱

使用特权

评论回复
9
xwj| | 2011-6-21 16:55 | 只看该作者
问题是偶个人用的其他软件也是想不给钱就不给钱

使用特权

评论回复
10
coreduo|  楼主 | 2011-6-21 17:00 | 只看该作者
我相信大家用的windows都没给钱。。。。
所以。。。。ucos也不会给
总之呢 网上能下到的都不会给。
这个是第三世界工程师的红利。

使用特权

评论回复
11
i55| | 2011-6-21 18:49 | 只看该作者
考虑版权问题的话,可以试试FreeRTOS,我用着不错。感觉更适合Cortex-M3,ucos过于追求通用性,好多东西大而不当。

使用特权

评论回复
12
clingos| | 2011-6-21 19:57 | 只看该作者
LZ肯定是IAR没有设置好,不然不可能出现LZ说的IAR不识别的问题!

使用特权

评论回复
13
huanben| | 2011-6-21 22:35 | 只看该作者
官方网站是什么?

使用特权

评论回复
14
i55| | 2011-6-21 22:43 | 只看该作者
官方网站是什么?
huanben 发表于 2011-6-21 22:35

你自己Google “Micrium”

使用特权

评论回复
15
ai640626| | 2011-6-21 22:52 | 只看该作者
:)

使用特权

评论回复
16
nongfuxu| | 2011-6-22 06:09 | 只看该作者
学习了!担心实时反应变慢,一直在用裸奔.

使用特权

评论回复
17
ttlasong| | 2011-6-22 10:38 | 只看该作者
官方网站

使用特权

评论回复
18
wewo| | 2011-6-22 15:14 | 只看该作者
我试过没有问题呀

使用特权

评论回复
19
wewo| | 2011-6-22 15:14 | 只看该作者
应该不会跑偏才对

使用特权

评论回复
20
i55| | 2011-6-22 22:35 | 只看该作者
学习了!担心实时反应变慢,一直在用裸奔.
nongfuxu 发表于 2011-6-22 06:09

用STM32就别担心什么实时性了,有多少时间紧凑的场合?用这种简易的OS会让整体程序结构清晰简洁,好处太多了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

418

帖子

1

粉丝