您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术STM32:集成开发环境IDE 正文
STM32:集成开发环境IDE

STM32:集成开发环境IDE

点击数:7712 次   录入时间:03-04 11:51:34   整理:http://www.55dianzi.com   嵌入式系统-技术

     嵌入式系统是一个软件和硬件相结合的计算机系统。软件代码经编写、编译、汇编、链接,生成可执行文件,然后将可执行文件加载到嵌入式系统的ROM或flash中,通过嵌入式系统的MCU来控制、检测外部的装置。

    软件的编辑需要文本编辑器,编译需要编译器,汇编需要汇编器,链接需要编译器,可执行文件需要软件工具来加载文件,同时软件还需要一些函数库,中间件等。为了使开发更便捷,简单,几乎所有的MCU芯片都会有对应的集成开发环境(IDE),该环境囊括了软件开发从编辑到可执行文件的所有工具,同时还包括常用的库,调试工具,在线调试工具链等。

    STM32主流的集成开发环境有两种:IAR和MDK。我在这里不想讨论哪一种IDE好,谈论这个没有意义,就像你认为版主多优秀,但是版主依然单身;你认为这个人多蛋疼,他却有鲜花默默的陪伴在身边,所以没有好与不好,只有喜欢与不喜欢,适合与不适合。如果你是一名刚接触STM32的同学,我将发挥我媒婆的本色,为你分别介绍下这两款开发环境,看看有没有相中的,如果没有,我就无能为力,请你自己寻觅吧;如果你是一名老鸟,也许下面的介绍会让你移情别恋也说不定。

    无论MDK还是IAR,功能都很强大,除非有些比较特殊需求之外,基本上都能满足日常的工作和学习。两者的区别这处,可能会主导我们比较倾向于选择哪一个。

    1、MDK是keil公司的产品,keil公司的集成环境,我们学习的51单片机的开发环境就是keil C,所以上手很容易,IDE中的各个功能很容易找到,再加上大量的中文出版图书都使用了Keil,因此,其中文资料相当丰富,对于英语稍差的童鞋,绝对是一个不错的选择;IAR对于大多数网友们来说使用的并不多,所以需要一段时间的学习和适应,而且最近其更新的加密措施,原有的和谐程序无法使用了,对于初学者来说,造成了不少的麻烦。

    2、 MDK的文本编辑与IAR的文本编辑,自我感觉都不怎么样,相对于Source Insight的文本,差的太远了(顺便吐槽)。即使最新版的两者开发环境在文本编辑器方面都做了改善,但bla~~ bla~~

    3 、MDK的工程管理和平常用的VC,keil C,PIC等开发环境没有多大的区别,而IAR的工程管理文件,采用了层叠的技术,更容易理清代码的层次,方便工程管理,这事IAR的亮点。两者的文件管理视图如下:

1.jpg

    图1:MFDK开发环境 工程管理界面

2.jpg

    图2:IAR开发环境 工程管理界面

    4、 MDK的默认工具栏工具多,方便查找;IAR的工具栏的工具比较少,看起来是干净整洁了,用到的时候就不太方便了。两者都支持外部工具链的调用。

    5、 MDK的源程序的最后一行要是空行,否则就会有一个警告:warning: #1-D: last line of file ends without a newline,类似与unix的gCC的C语言规范;而IAR则不需要最后一行是空格。

    6、 IAR有Eclipse 插件,可以使用Eclipse进行开发。

    7、 IAR的优化效率较高,CODE-DATA代码区较小,而MDK的RW-DATA区较小。采用同一段程序,分别采用MDK和IAR开发环境,在不同的优化级别下,得到了如下的数据:

    MDK 开发环境

优化级别 CODE data memory RO data memory RW data memory ZI-data memory

0

2032

252

0

608

1

1888

252

0

608

2

1876

252

0

608

3

1872

252

0

608



www.55dianzi.com

    IAR开发环境

优化级别 CODE data memory RO data memory RW data memory NONE

2208

84

8708

LOW

2176

84

8708

MEDIUM

992

84

8708

HIGH

952

84

8708



www.55dianzi.com

    无论使用哪种开发环境都应该将该环境熟练使用,对其配置参数、功能要理解透彻,对其提供的库函数要熟悉,对该编程环境支持的C或者C++代码的规范要深入理解。最后一句,两者的说明文档都是非常全面,英语好的话,千万不要差过。




本文关键字:开发  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术