嵌入式处理器是一个复杂的高技术系统,要在短时间内掌握并开发出所有功能是很不容易的,而市场竞争则要求产品能够快速上市,这一矛盾要求嵌入式处理器能够有容易掌握和使用的开发工具平台。提高用户和程序员的时间投入回报率(ROT1)。
从事嵌入式开发的往往是非计算机专业人士www.cechina.cn,面对成百上千种处理器,选择是一个问题控制工程网版权所有,学习掌握处理器结构及其应用更需要时间,因此以开发工具和技术咨询为基础的整体解决方案是迫切需要的。好的开发工具除能够开发出处理器的全部功能以外,还应当是用户友好的。目前嵌入式系统的开发工具平台主要包括下面几类。还应当是用户友好的。目前嵌入式系统的开发工具平台主要包括下面几类。
1. 实时在线仿真系统ICE(In-Circuit Emulator)
直到计算机辅助设计非常发达的今天,实时在线仿真系统(ICE)仍是进行嵌入式应用系统调试最有效的开发工具。ICE首先可以通过实际执行,对应用程序进行原理性检验www.cechina.cn,排除以人的思维难以发现的设计逻辑错误。I
嵌入式应用的特点是和现实世界中的硬件系统有关,存在各种异变和事先未知的变化,这就给微控制器的指令执行带来了各种不确定性,这种不确定性只有通过ICE的实时在线仿真才能发现控制工程网版权所有,特别是在分析可靠性时要在同样条件下多次仿真,以发现偶然出现的错误。
ICE不仅是软件硬件排错工具,同时也是提高和优化系统性能指标的工具。高档ICE工具(如美国NOHAU公司的产品)是可根据用户投资裁剪功能的系统,亦可根据需要选择配置各种档次的实时逻辑跟踪器(Trace)、实时映象存储器(Shadow RAM)及程序效率实时分析功能(PPA)。(有关详情请查阅http://www.nohau.com)。
2. 高级语言编译器(Compiler Tools)
C语言作为一种通用的高级语言,大幅度提高了嵌入式系统工程师的工作效率,使之能够充分发挥出嵌入式处理器日益提高的性能,缩短产品进入市场时间。另外C语言便于移植和修改,使产品的升级和继承更迅速。更重要的是采用C语言编写的程序易于在不同的开发者之间进行交流,从而促进了嵌入式系统开发的产业化。
区别于一般计算机中的C语言编译器,嵌入式系统中的C语言编译器要专门进行优化,以提高编译效率。优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同样功能程序长5~20 。编译质量的不同,是区别嵌入式C编译器工具的重要指标。
而C编译器与汇编语言工具相比残余的5~20 效率差别,完全可以由现代微控制器的高速度、大存储器空间以及产品提前进入市场的优势来弥补。
新型的微控制器指令及SOC速度不断提高,存储器空间也相应加大,已经达到甚至超过了目前的通用计算机中的微处理器www.cechina.cn,为嵌入式系统工程师采用过去一直不敢问津的C++语言创造了条件。C++语言强大的类、继承等功能更便于实现复杂的程序功能。
但是C++语言为了支持复杂的语法,在代码生成效率方面不免有所下降。为此,1995年初在日本成立的Embedded C++技术委员会经过几年的研究,针对嵌入式应用制订了减小代码尺寸的EC++标准。EC++保留了C++的主要优点,提供对C++的向上兼容性,并满足嵌入式系统设计的一些特殊要求。在嵌入式高级语言编译器方面处于领先地位的Tasking公司,是EC++技术委员会成员之一,也是最先推出EC++产品的公司。(更多的信息,可查询http://www.tasking.com)。
C/C++/EC++引入嵌入式系统,使得嵌入式开发和个人计算机、小型机等之间在开发上的差别正在逐渐消除,软件工程中的很多经验、方法乃至库函数可以移植到嵌入式系统。在嵌入式开发中采用高级语言,还使得硬件开发和软件开发可以分工,从事嵌入式软件开发不