13817|38

46

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

IAR的编译器比MDK的差这么多?! [复制链接]

                                 我们搞变频的,打算用ST的芯片,买了块STM32评估板,开始挑开发工具,直接从IAR例程中挑了一个,先在IAR下编译,最大优化级别情况下,BIN文件有6.9K,原封不懂移到MDK下编译,BIN文件有7.2K,后来发现MDK还有一个选项,选了之后,BIN文件只有3.7K了!IAR再也找不到其他选项了,难道IAR的编译器比MDK差这么多?几乎有一半,那岂不是用IAR开发的100K的程序我在MDK下用64K的芯片就能搞定?!
此帖出自stm32/stm8论坛

最新回复

不会出现这么大的差异,IAR的体积优化绝对领先,是不是选的库有问题  详情 回复 发表于 2013-8-14 15:26
点赞 关注
 

回复
举报

60

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

据我了解。。。

传说IAR的编译器比MDK的优越,因为IAR搞编译器出身,搞了很多8位的编译器
此帖出自stm32/stm8论坛
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

有差别是正常的,但差别这么大是不正常的

                                 你是否能具体看看是哪里出了差错,如果有更多经验的话,可以看看生成的代码,找找原因。
此帖出自stm32/stm8论坛
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 

关于编译器优化的效率有时在小程序上是看不出来的

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 

世道如此~~~

                                 8位里面Keil是老大,MDK本身就是keil搞的,Keil开始自己搞了个armcc编译器,现在换成了arm公司自己的编译器,老大都认栽了,呵呵
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 

支持楼主继续研究,找出问题的真相。造福人类。

                                 支持楼主继续研究,找出问题的真相。造福人类。
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

7
 

需要大量统计才有意义……

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

91

帖子

0

TA的资源

一粒金砂(初级)

8
 

是不是 microLIB?哈哈

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

9
 

~

                                 估计应该大概可能也许非常: 是。
此帖出自stm32/stm8论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

10
 

第三方的东西一般斗不过原厂的

                                 性能斗过了,市场也斗不过,微软以前还用Borland的编译器开发VC,后来Borland就消失了
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

11
 

楼主用了什么选项, 我也在用MDK,好经验分享分享

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

12
 

基本

上很多人都拿着几行代码来比较编译器的性能,可是比出来的结果可信吗?还有就是你根本就不了解一种平台.........就象是菜鸟总怀疑编译器有BUG一样....
8位机里面keil也只算是一家小公司,专业的开发工具提供商一般都有比较全面的产品线,基本上能提供市场上的绝大部分芯片的平台.IAR就是这些公司其中的一个.这些公司都经过市场的洗礼,产品也是经过了市场长期的验证,生存并状大就是其存在的最好证明.
反倒是ARM官方的开发环境,从SDT,ADS,RVDS,RVMDK,反而不一定能竞争过这些专业的嵌入式软件开发商.
此帖出自stm32/stm8论坛
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

13
 

11楼

                                 用的选项是“ One ELF Section per Function”,看意思好像是一个函数一个ELF节,不知道干什么用,请牛人赐教
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

14
 

LZ

If the library was built without the "One ELF Section per Function" selected, you could include all the functions in a source file even though you only used one of them。
这是我在其他论坛上找的别人的解释
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

15
 

14楼的解释给我一个启发

                                 虽然我还不完全理解"One ELF Section per Function"的真实意义,但这给我以启发,LZ会不会在IAR下链接时包含了所有的函数,没有用到的函数也链接到了目标bin文件中;而在Keil环境下,链接时只包含了用到的函数,没用到的函数不含在目标bin文件中。
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

16
 

RO-data也应算进去,

Program Size: Code=3370 RO-data=670 RW-data=32 ZI-data=512  
RO-data也应算进去,
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

17
 

:)

                                 One ELF Section per Function选项应该是按函数编译,没有被调用的函数通通干掉了. 大部分编译器都是优化函数,精简指令,没有分析调用关系,所以即使函数优化得再好,也还是有很多冗余代码。
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

18
 

学习中

                                 顶1个 ,学习中!
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

19
 

大开眼界

                                 学习中。。。。。。
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

20
 

MDK的书什么时候出?

                                  
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表