你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

IAR好用吗?

[复制链接]
小丁^_^ 提问时间:2015-1-14 13:26 /
听说IAR比KEIL好,但是觉得keil用的多呢
收藏 评论14 发布时间:2015-1-14 13:26

举报

14个回答
大秦正声 回答时间:2015-1-14 13:38:52
51用keil,arm用iar
cxtarm 回答时间:2015-1-14 14:41:10
我喜欢用IAR
沐紫 回答时间:2015-1-14 15:02:38
用keil的多很多吧
小丁^_^ 回答时间:2015-1-14 15:04:15
本帖最后由 小丁^_^ 于 2015-1-14 15:05 编辑

首先要说明,没有那款开发工具是万能的,也没有那款工具在所有方面都具有绝对优势。对于Keil MDK-ARM和IAR两款工具择,可以根据自己的习惯来选择,而不应该在使用其中的一款时贬低另外一款,或者总是赞美自己的选择。


好了,下面开始讲Keil MDK-ARM和IAR的区别。


一、概述

Keil MDK-ARM(旧称RealView MDK)开发工具源自德国Keil公司,被全球上百万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。

KEIL MDK集成了业内最领先的技术,包括uVision3、uVision4、uVision5集成开发环境与 ARM编译器。支持ARM7、ARM9、Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4、Cortex-R4内核核处理器。

Keil MDK可以自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,ARM编译器的最新版本可将性能改善超过20%以上。
  
IAR Embedded Workbench是一套用于编译和调试嵌入式系统应用程序的开发工具,支持汇编、C和C++语言。它提供完整的集成开发环境,包括工程管理器、编辑器、编译链接工具和C-SPY调试器。IAR Systems以其高度优化的编译器而闻名。每个C/C++编译器不仅包含一般全局性的优化,也包含针对特定芯片的低级优化,以充分利用您所选芯片的所有特性,确保较小的代码尺寸。IAR Embedded Workbench能够支持由不同的芯片制造商生产,且种类繁多的8位、16位或32位芯片。


二、区别
1、MDK不支持层叠文件夹,在文件夹的下一级中必须为文件;IAR支持层叠,可以比较方便管理代码,理清层次。

                       



2、MDK连接library,直接添加到文件夹即可;IAR则需要从工程中选项中设置。这应该不算什么问题,毕竟大多数IDE都是这么做的,但最让人很郁闷的是,IAR不能采用相对路径。比如../MUF/MUF.LIB在编译时,就会连接到别的目录,只能采用d:/MUF/MUF.lib绝对路径的形式。





3、 MDK支持dynamic_cast<>运算符,而IAR文档中明确表示不支持。如果在IAR中强行使用该运算符,则编译会报错:

Error[Pe020]: identifier "dynamic_cast" is undefined



4、MDK默认只创建工程,工作区是不会直接创建。如果想多个工程聚合,则首先需要创建一个multi的工作区,然后再添加相应的工程。  IAR,默认是创建工程和工作区,如果想多个工程并存,直接添加即可。  相比之下,MDK创建工程的文件比较少,而IARM创建工程生成的文件比较多。



5、MDK编译时,只有level的选择;IAM有debug和Release的快速选择



6、默认状态,MDK的工具栏功能比较多,有点繁杂;IAM的比较简洁,但相对,也比较单薄。



7、MDK的C++有std::这个命名空间;IAR下面的所有容器和算法,都不采用std命名空间



8、MDK的程序文件,最后必须要有一个新的空行,否则会有编译警告:

warning:  #1-D: last line of file ends without a newline


一般来说,如果主要是采用C,并且也不会有太多的library需要连接,MDK和IAR都能胜任。不过这种情形就比较推荐IAR,因为其非常简洁,上手也快,代码层次也能清晰明了。
  
如果主要是采用C++,并且用到很多特性,或是需要有多个工程进行协作,那么注定只能选择MDK,只不过这样就一定要每个文件最后加上新的空行了。



本文来自米尔科技,原文地址: http://www.myir-tech.com/resource/508.asp,转载请注明出处。
木易-357428 回答时间:2015-1-14 16:42:27
IAR用STM32吧,反正我用的是IAR
小丁^_^ 回答时间:2015-1-14 16:47:49
木易-357428 发表于 2015-1-14 16:42
IAR用STM32吧,反正我用的是IAR

谁说的,很多芯片都可以用的
埃斯提爱慕 回答时间:2015-1-14 17:10:46
提示: 作者被禁止或删除 内容自动屏蔽
大秦正声 回答时间:2015-1-14 17:58:32
小丁^_^ 发表于 2015-1-14 15:04
首先要说明,没有那款开发工具是万能的,也没有那款工具在所有方面都具有绝对优势。对于Keil MDK-ARM和IAR ...

很好的分享!iar是瑞典还是挪威的?
zhangdaijin 回答时间:2015-1-14 18:46:10
顶5楼的机油!!!
小丁^_^ 回答时间:2015-1-14 19:02:49
大秦正声 发表于 2015-1-14 17:58
很好的分享!iar是瑞典还是挪威的?

-----------------
是瑞典,怎么了
大秦正声 回答时间:2015-1-14 19:06:10
小丁^_^ 发表于 2015-1-14 19:02
-----------------
是瑞典,怎么了

欧洲很厉害啊!
mickey005 回答时间:2016-8-3 16:04:55
正在学习IAR
zico1998 回答时间:2016-8-3 16:32:18
KEIL、IAR都需要外挂eclipse,才能提示函数、条件编译灰色显示。。。不如飞思卡尔的CW10.5和VS2010。。。。你都用过的话,就有深刻体会了
hxl520521 回答时间:2016-8-6 06:09:53
没用过,

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版