一、IAR是瑞典IAR Systems公司推出的一款嵌入式系统开发工具,适用于许多不同体系结构的微控制器和处理器。它有一个友好的图形用户界面和一个直观的集成开发环境,包括高级C/C++编译器,调试器、ROM调试器、模拟器以及完整的IDE。它支持多种体系结构和多个平台,包括Micrium uC /OS-II和III,以及迁移Windows平台。此外,可帮助团队管理整个生命周期的以融合代码以改善软件质量,进一步增强开发注意力以提高质量和生产速度。
二、Keil是美国Keil Software公司推出的一款基于 Windows 的单片微控制器和嵌入式系统的集成开发环境(简称IDE),Keil主要用来开发单片机,尤其是51单片机和ARM,最新的MDK-ARM版本还支持CORTEX-M,并且支持汇编和C等多种语言,可以进行编译、串口下载程序、单片机仿真。Keil的功能比较完善,硬件支持范围也很广。
IAR开发环境的编译器非常高效,能够将代码编译成非常小且高效的机器语言,所以IAR所编译出来的程序的运行速度比Keil要快一些。同时,IAR的编译器在代码优化方面有着很好的性能,可以优化代码结构和完成大规模代码开发。
Keil的编译器相对来说,不如IAR的编译器那么高效,对于那些内存比较小的单片机系统,Keil开发的程序大小比较大,而且由于使用了较多的基本算法,其速度也较慢。但是Keil的编译器非常稳定,在操作系统上也能很好地运行。
IAR作为一款全球著名的嵌入式C语言开发软件,在软件的兼容性方面较强,它支持Win7,Windows Vista,Windows XP,Windows Server 2003,Windows 2000等不同版本的操作系统,在不同版本的C语言标准方面也具有良好的兼容性。
Keil在兼容性方面与IAR有些差距,主要表现在对各种不同操作系统的支持上,对于高级操作系统的支持不如IAR那么强大,但是它在基础的开发和编写方面,能够提供系统化的组成,可以比较好地解决软件开发过程中的一些基本问题。
IAR的价格相对来说较贵,但是IAR的编译器性能确实更强,特别适合那些内存比较小的单片机进行程序编写和优化。同时,在软件的高级功能方面非常出色,能够很好地解决不同嵌入式系统的开发过程中的问题,因此相对来说IAR的价格比较高。
Keil的价格比较低,可以适用于各种不同级别的软件开发人员,而且相对来说支持的功能也比较齐全,不过对于那些对程序的运行效率要求比较高的项目而言,Keil可能不太适合,因为它的编译器在运行速度和代码优化方面不如IAR。