打印
[uCOS/RTOS]

keil编译uCOS-III必须选择Micro LIB才能跑起来,哪位大神遇到...

[复制链接]
2298|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hj007|  楼主 | 2018-11-15 12:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
最近一直在学习uCOS-III,移植了一个工程(基于STM32F429IG),刚开始跑不起来,到网上查了很久,有人说uCOS-III官方版本不支持带浮点处理的MCU(原因是浮点寄存器出入栈的问题,具体还不是很了解),我把浮点处理关闭了也不行;有人说不要选择Micro Lib,我本来就没选,可是我选择microlib后竟然跑起来了。请问问题出在哪里?
下面是我建工程过程:
这里选择了keilmanage run-time environment进行配置,选择了STM32CubeMXRTOS
生成的工程就是这样的
移植部分(其实keil已经移植好了99%了):
这是我的任务:
开始任务:

相关帖子

沙发
hj007|  楼主 | 2018-11-15 21:34 | 只看该作者
最新发现,不是选择micro lib的原因,我将编译优化等级提高就能跑了。
未优化时生产的代码空间如下:
Program Size: Code=47102 RO-data=1254 RW-data=192 ZI-data=18128  

这里有什么坑吗?

另外附上我的工程

使用特权

评论回复
板凳
airwill| | 2018-11-18 21:41 | 只看该作者
编译优化器, 对代码执行是有影响的, 不过我之前遇到的情况都是低优化等级能跑, 而高优化会有问题

这是编译器的问题, 这是个新特例, 看来要多个看法了.

使用特权

评论回复
地板
〖SNOW〗| | 2018-11-26 15:10 | 只看该作者
代码优化后又能跑起来,90%的可能是你的任务栈设的太小了,你设大点应该就不用优化了。

使用特权

评论回复
5
狮子歌歌| | 2018-12-14 11:32 | 只看该作者
微库和优化都可以减少程序占用空间,所以应该是你给任务分配的空间不足引起的

使用特权

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

本版积分规则

9

主题

39

帖子

0

粉丝