打印
[开发工具]

大家使用IAR编译STM32系列工程都使用优化功能吗?

[复制链接]
3935|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jessemok|  楼主 | 2008-2-16 17:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近发现一个问题,使用IAR的编译优化的时候,对采样数据有很大的影响。

现在做的这个项目使用STM32101 64K的片子,程序到47K了,但还没有做完,于是想试下IAR4.41的优化功能,选择High(Maximun Optimization),编译出来有
31K多,心想这下不愁没空间。但是一运行程序,采样数据跳动很大,计算出来的值完全不能满足精度要求,于是把优化去掉,选择None(Best debug support),采样值跳动不厉害了,计算出来的值大概在+-0.1之间跳动,可以满足精度要求。

大家是否也碰到过同样的问题?
沙发
香水城| | 2008-2-16 17:58 | 只看该作者

怀疑你在采样过程中使用了软件延时,导致优化后时序失调

硬件的特性不可能因为程序的优化与否而产生变化。

使用特权

评论回复
板凳
jessemok|  楼主 | 2008-2-20 12:22 | 只看该作者

没有使用延时

没有使用延时,只是使用定时器来采样。

硬件的特性不可能因为程序的优化与否而产生变化。
这一点我也同意,可能是程序优化后不稳定吧。哪里不稳定,我也不知道

使用特权

评论回复
地板
flowingray| | 2008-2-20 14:16 | 只看该作者

Re

只能跟一下采样部分的代码,看是哪里被优化掉了。
或者不要一下子升到High,可以一点点地把优化级别升上去,看什么时候出问题,然后对比手册里不同优化级别之间的区别,判断问题所在。

使用特权

评论回复
5
americ| | 2008-2-20 17:00 | 只看该作者

当然要选择优化

例如 inLine等。

都是根据需要设置的。

认真看一下生成的汇编,分析一下即可!



使用特权

评论回复
6
hwashing| | 2008-2-22 18:29 | 只看该作者

尽量不要使用优化

使用了优化就把小命交给IAR的link工具了
我从来不敢用优化。

使用特权

评论回复
7
hotpower| | 2008-2-22 18:47 | 只看该作者

哈哈~~~没听说过不敢优化的~~~

使用特权

评论回复
8
ATmega32L| | 2008-2-22 20:27 | 只看该作者

从来就是用最高优化

从来就是用最高优化

使用特权

评论回复
9
ijk| | 2008-2-23 16:43 | 只看该作者

根据需要进行优化

  一般我在项目开始时不优化或者低级别优化,在项目后期会使用中级别优化

使用特权

评论回复
10
kgp0213| | 2008-11-21 15:52 | 只看该作者

肯定部分程序被优化掉了

使用特权

评论回复
11
bear1| | 2014-12-3 17:42 | 只看该作者
楼主,解决了吗?找到最终原因了吗?

使用特权

评论回复
12
gotofly21| | 2014-12-7 13:05 | 只看该作者
从来就是用最高优化   size和speed  ,size不行就speed ,speed不行就size  ,感觉size更快些

使用特权

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

本版积分规则

10

主题

91

帖子

2

粉丝