50586|53

928

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

KEIL Vs IAR 实战比较 [复制链接]

 

单选投票 , 共有 268 人参与投票
登录注册,参与投票或查看投票结果。
此帖出自单片机论坛

最新回复

        相比IAR 和KEIL,个人感觉,不管是从编译速度,代码优化,以及开发过程(仿真调试),IAR 感觉完胜keil ,除此之外,最喜欢的就是IAR 的一个项目虚拟目录的多级管理,这个是keil无法完成的。还有就是,在编译文件过多的时候,开启文件索引信息(变量函数等的跳转功能)之后,keil编译速度兼职不可恭维。虽然IAR 开启文件索引之后,也会有一些跳转索引未及时更新的情况,但是编译速度无明显差异(重新编译的时候,不会去更新跳转信息索引)。         不过keil 有自己的独特之处,就是pack 的引入,自带的很多pack 功能包,可以直接使用。虽然IAR 新版本推出后,也可以使用部分keil pack,但是任有很多pack 功能包无法在IAR 上使用。        总的来说,我还是比较喜欢IAR,我个人喜欢模块化编程,所以比较喜欢多级虚拟目录对代码进行管理,虽然pack 很多无法使用,但是可以找到相应或者类似的源码进行移植(虽然开发难度大一些)。   详情 回复 发表于 2021-10-28 15:04
点赞 关注(2)
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 

回复
举报

928

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 
罗布青菜各有所爱吧。
此帖出自单片机论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 

回复

928

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 

KEIL RVMDK VS IAR EWARM

项目实战比较(谁更有效率?)!!

                                                       --By dz561(电子561

    KEIL IAR Systems都是嵌入式领域系统开发工具和服务商(IDE)的供应商,前者成立于-1986年,总部在德国(如今已被大名鼎鼎的美国ARM公司收购);后者于成立1983,公司总部位于北欧的瑞典。

二者的最著名的产品分别是 KEIL uVision IDE IAR Embeded Workbench。目前他们最新的产品(用于ARM的开发工具,当然也可以用于开发51单片机)的IDE分别是RealView MDK -ARM4.10)和IAR EWARM 5.40

    对于二者,嘿嘿,各位具有丰富设计经验的GGMM恐怕都不陌生吧,估计大部分的开发人员都用过。因为他们都可以很好的支持各种不同版本的MCU。对于不同的开发环境,用久了,便会日久生情。用得顺不顺手,快不快乐,或喜欢,或讨厌等等,都因人而异的。然而我们不能不考虑这个问题:能选择到最适合自己,更有效率的工具,才是最好的。

先说说本人的个人经历吧。 先说KEIL,个人感觉KEILIDE界面比较通俗易懂,属于平易近人的那种,尤其软件仿真功能做得很不错,各种外设的仿真都很好,软件仿真,没得说,就是栩栩如生,不好一点呢,印象中总是那个大名鼎鼎的文字编辑的BUG了,KEIL的有些版本对于EDIT编辑对于汉字支持,怎一个烂字了得! IAR呢,界面简洁明了,软件仿真虽然没那么强悍,但仿真起来也没什么问题,该咋地就咋地,整体感觉——专业。不好一点呢,就是对初学者来说入来说不太容易掌握。但用上手了,你就会感到有安全感。

此帖出自单片机论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 
 

回复

928

帖子

0

TA的资源

五彩晶圆(高级)

4
 
曾几何时,在用51单片机的时候一直用KEIL C51 这个工具,刚刚用的时候从不考虑各种效率和技巧的问题,毕竟当时经验也不是很多,追求的是会用。用久了,对其的各种操作久了,对其风格也渐轻车熟驾,版本前变万变也就那样,操作仍如往常。渐渐的便觉得KEIL还不赖,因此再用其他工具变很容易产生一种排斥之感(地方保护主义,嘿嘿)。

    然而现实总是有压力的,对于学习,也是这样。很多情况下还不得不‘被’接触其他工具。终于有一次项目开发,用到IAR,开发IC也是基于51内核的IC,是TI公司的一片RF IC CC1110。刚开始确实对IAR不感冒,总喜欢拿KEIL来做比较,有一种本能的排斥。总感觉IAR,很小儿科,不专业,比起KEIL来根本不是一个档次。当项目开发完的时候,又用回了KEIL C51。但是,后来发现错了,真的错了。就是我们常说的,当你失去一件宝贵的东西的时候,你才发现,原来学会珍惜,是多么的重要。这次用了KEIL C51,竟然让我时常的怀念起了IAR。。。

    这是为什么呢, 回想当时在用IAR,自己用得很顺手,那感觉就是像座上宝马做开发一样,而现在用KEIL,有时你真的不得不鸟它几句,像驴一样的东西。怀念IAR它简洁明了的界面,高效编译的速度,甚至有时让你感到它的就是对的,错的就是你。想想这次用的KEIL 怎么没有像IAR的那种感觉呢。我想这一切总会是有原因的。

    而现在用上ARM了,开发IC为STM32F系列,基于ARM公司的最新内核CORTEX-M3。目前有个项目既可用KEIL RVMDK平台也可用IAR EWARM平台。但一直想弄个明白,RVMDK VS IAR 到底谁效率更高,下面我用同一个项目做测试比较。希望能解开心中纠结。
此帖出自单片机论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 
 

回复

928

帖子

0

TA的资源

五彩晶圆(高级)

5
 

点击看大图

测试版本:

Keil uVision V4.00,RVMDK 3.5(1999-20009) + IAR EWARM 5.40(2002-2009)

测试项目: 

pwhid

测试性能主要从以下两个方面来测试:

A. 项目整体编译速度   B. 代码产生效率(即最终代码大小,HEX文件)

测试日期:20100523

 

测试结果及过程:

A.整体编译速度(Built ALL)

在等同配置,即KEIL的时候要求Target 设置的Ouput项:

选上:Debug Information + Create HEX File + Browse Information

其他保持默认(要选中CLIST项)。

同样在IAR环境下,需要尽量配置成等同的配置,其他需要全部选中LIST项。

二者,在Rebuilt All 的时候:

KEIL RVMDK的表现:

编译的完成的速度约为17s(目测速度)

IAR EWARM的变现:

编译完成的速度约为12s(目测速度)

结论:

IAR EWARM的编译速度要比KEIL RVMDK快!

 

此帖出自单片机论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

6
 
IAR的效率应该搞很多,只是MDK比较普及!
此帖出自单片机论坛
 
个人签名我的博客
 
 

回复

928

帖子

0

TA的资源

五彩晶圆(高级)

7
 

也就是说,在你使用KEIL RVMDK编译同一个项目的时候你每一次,都需要多等5秒钟。

这一小5秒,积累起来就成了很大的5秒了,无形中为自己的开发节省了多少时间。

为什么KEIL需要那么长时间呢,主要因为在编译产生 Browse Information的时间太多。

如果把这个取消掉就会快了很多了。

这里有一个使用小诀窍,每一次都Rebuilt ALL,是不明智的,当第一次Rebuilt All的时候

如果其他文件并无改变的话,直接用Built 就行了,这样编译速度就很快了。

B.代码产生效率。

不同的编译器都有自己的不同之点。然而,编译的结果终究是要产生可执行的文件。

点击看大图

点击看大图

这次以HEX文件为例,分别在编译器不优化和最佳优化这两种情况

下作比较。

IDE都不进行优化的时候:

KEIL的优化配置选LEVEL 00IAR的优化配置选NONE,其他默认。

KEIL RVMDK的表现:

HEX文件大小为:68.5KB

IAR EWARM的表现:

HEX文件大小为:48.0KB

此帖出自单片机论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 
 

回复

928

帖子

0

TA的资源

五彩晶圆(高级)

8
 

结论:

真是不比不知道,一比吓一跳。没想到同一个项目,RVMDK产生的垃圾代码真不少。

IDE都进行最佳优化的时候:

KEIL的优化配置选为LEVEL 03IAR的优化配置选HIGHBALANCE),其他默认。

KEIL RVMDK的表现:

HEX文件大小为:53.6KB

IAR EWARM的表现:

HEX文件大小为:35.7KB

在二者编译器默认的优化配置时

KEIL MVDKdefualt(即LEVEL02),IAR EWARMLOW

二者表现分别是:

53.5KB 45.6KB

 

 

此帖出自单片机论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 
 

回复

928

帖子

0

TA的资源

五彩晶圆(高级)

9
 

 

结论:

得益于ARM的鼎力支持(其实KEIL已属于ARM的一个部门了)KEIL的编译优化方面已有一定的提升。不过IAR也不赖,编译速度一直很稳定。

点击看大图

最后总结:

在这次实测中,发现KEIL 在编译速度方面确实比IAR慢一些,而且奇怪的发现了KEIL每次的编译结果有可能都不一样,要想得到最终结果,你可能需要多编译几次才行,这一点真让人恐怖!

对于IAR,用得多了,偶尔也会发现一些令人不满意的地方,就是,IAR,有时会‘休克’,装死,当然KEIL也多多少少存在一点。 至于是不是IAR本身的问题,这个就不得而知了。 因为XP系统也不是很可靠的东西。另外这次只是中等项目编译的比较。

以上是这侧项目的实测结果,但是还不知道程序能不能跑,稳定性能如何。但是无论怎样,是驴是马,跑出来溜溜就知道了。经程序下载检验,一切正常。至于稳定性能如何还有待测试。

如果那个网友感兴趣可以下载到自己的硬件板上做测试。发现什么问题别忘了提出来(硬件平台为STM32F103C8RB,最小系统即可,有USB功能),下面是我测试的程序运行结果和测试文件:

点击看大图

令温馨提示一下:

这里应该算是MDK的一个BUG,

在KEIL MDK中,硬件仿真时,对于数组变量的擦看,如果数组量很多时候,你所看到的数据有可能不对,而IAR EWARM则没有发现这个问题,我曾在2@1IC上发过贴(有兴趣,可以去搜搜看)

另外,编译器的优化,要慎用。

毕竟这是机器优化,有时会出现一些令人惊奇的,莫名奇妙的错误。

比如说,你在函数内部要使用一个变量的时候,它就无缘无故的把你要想用的变量优化掉了,变成了永远的 unavailable !

最好的办法,是要对自己要写的代码有信心。

 

呀呀USB_hid上位机及程序文件请到dz561的个人博客上下载:

http://www.ednchina.com/blog/itspy

终上PK 结果,心底终于有点数了。整体上,感觉还是IAR略胜一筹。不过话又说回来,事物总会在变的,这些只是工具而已,罗布青菜各有所爱吧。

此帖出自单片机论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 
 

回复

928

帖子

0

TA的资源

五彩晶圆(高级)

10
 

奇怪,发这篇文章好困难,
仅供大家参考.
此帖出自单片机论坛
 
个人签名动手创造个性自我

https://home.eeworld.com.cn/?95709
 
 

回复

2131

帖子

0

TA的资源

至上芯片

11
 
写的挺全的,LS辛苦了!
不过没有做过这个方面的测试,两个都用过,不过用的时间最长的还是MDK

[ 本帖最后由 daicheng 于 2010-7-14 10:56 编辑 ]
此帖出自单片机论坛
 
个人签名处处留心皆学问!
 
 

回复

1583

帖子

0

TA的资源

五彩晶圆(高级)

12
 
目前只会用51,所以先Keil但是如果用在ARM上,感觉Keil不是很好用。
此帖出自单片机论坛
 
个人签名
 
 

回复

211

帖子

0

TA的资源

一粒金砂(高级)

13
 
看不到图
此帖出自单片机论坛
 
 
 

回复

2641

帖子

0

TA的资源

五彩晶圆(中级)

14
 
我都用过,现在基本固定下来用IAR了,总感觉keil不稳定,以前编程经常遇到不是自己代码的错keil误报的现象
此帖出自单片机论坛
 
 
 

回复

826

帖子

0

TA的资源

一粒金砂(中级)

15
 

评测太全面了

对比很详细!!
此帖出自单片机论坛
 
 
 

回复

239

帖子

0

TA的资源

一粒金砂(中级)

16
 
用的是Keil,不过目前还是在学习阶段。
此帖出自单片机论坛
 
 
 

回复

762

帖子

0

TA的资源

一粒金砂(中级)

17
 
jian别人用过IAR,但自己没有过,不好说好还是不好
此帖出自单片机论坛
 
 
 

回复

640

帖子

0

TA的资源

五彩晶圆(初级)

18
 
都没有用过,看了楼主介绍基本确定用IAR.
此帖出自单片机论坛
 
 
 

回复

47

帖子

0

TA的资源

一粒金砂(初级)

19
 
iar还真没用过,在学校一直是用keil
此帖出自单片机论坛
 
 
 

回复

1万

帖子

16

TA的资源

版主

20
 

喜欢德国的精密,支持KEIL。

此帖出自单片机论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
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
快速回复 返回顶部 返回列表