Embedded 版 (精华区)

发信人: mornfs (爻木), 信区: Embeded_system
标  题: 转载:嵌入式系统综述5
发信站: 哈工大紫丁香 (2001年05月16日13:33:37 星期三), 站内信件

发信人: epip (恶皮皮), 信区: CSArch
标  题: 嵌入式系统综述(五)
发信站: 北大未名站 (2001年04月11日22:24:38 星期三), 站内信件

5 嵌入式系统的开发工具
 

嵌入式处理器是一个复杂的高技术系统,因此以开发工具和技术咨询为基础的整体解决
方案是迫切需要的。好的开发工具除能够开发出处理器的全部功能以外,还应当是用户
友好的。目前嵌入式系统的开发工具平台主要包括下面几类。

 

(1)实时在线仿真系统ICE(In-Circuit Emulator)

 

实时在线仿真系统(ICE)仍是进行嵌入式应用系统调试最有效的开发工具。ICE首先可以
通过实际执行,对应用程序进行原理性检验,排除以人的思维难以发现的设计逻辑错误
。ICE的另一个主要功能是在应用系统中仿真微控制器的实时执行,发现和排除由于硬件
干扰等引起的异常执行行为。此外,高级的ICE带有完善的跟踪功能,可以将应用系统的
实际状态变化、微控制器对状态变化的反应、以及应用系统对控制的响应等以一种录像
的方式连续记录下来,以供分析,在分析中优化控制过程。很多机电系统难以建立一个
精确有效的数学模型,或是建立模型需要大量人力,这时采用ICE的跟踪功能对系统进行
记录和分析是一个快而有效的方法。

 

嵌入式应用的特点是和现实世界中的硬件系统有关,存在各种异变和事先未知的变化,
这就给微控制器的指令执行带来了各种不确定性,这种不确定性只有通过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%效率差别,完全可以由现代微控制器的高速度、大存
储器空间以及产品提前进入市场的优势来弥补。

 

C/C++/EC++引入嵌入式系统,使得嵌入式开发和个人计算机、小型机等之间在开发上的
差别正在逐渐消除,软件工程中的很多经验、方法乃至库函数可以移植到嵌入式系统。
在嵌入式开发中采用高级语言,还使得硬件开发和软件开发可以分工,从事嵌入式软件
开发不再必须精通系统硬件和相应用汇编语言指令集。

 

另一种高级语言,JAVA的发展则具有戏剧性。JAVA本来是为设备独立的嵌入式系统设计
的、为了提高程序继承性的语言,但是目前基于JAVA的嵌入式开发工具代码生成长度要
比嵌入式C编译工具差10倍以上。因此EC++很可能将成为未来的主流工具。

 

(3) 源程序模拟器(Simulator)

 

源程序模拟器是在广泛使用的、人机接口完备的工作平台上,如小型机和PC,通过软件
手段模拟执行为某种嵌入式处理器内核编写的源程序测试工具。简单的模拟器可以通过
指令解释方式逐条执行源程序,分配虚拟存储空间和外设,供程序员检查;高级的模拟
器可以利用计算机的外部接口模拟出处理器的I/O电气信号。不同档次和功能模拟器工具
价格差距巨大。

 

模拟器软件独立于处理器硬件,一般与编译器集成在同一个环境中,是一种有效的源程
序检验和测试工具。但值得注意的是,模拟器毕竟是以一种处理器模拟另一种处理器的
运行,在指令执行时间、中断响应、定时器等方面很可能与实际处理器有相当的差别。
另外它无法和ICE一样,仿真嵌入式系统在应用系统中的实际执行情况。(更多的资料,
可查询以下网址:www.chiptools.com, www.keil.com, www.tasking.com)。

 

(4) 实时多任务操作系统

(Real Time multi-tasking Operation System, RTOS)

 

实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。目前在中国大多数嵌
入式软件开发还是基于处理器直接编写,没有采用商品化的RTOS,不能将系统软件和应
用软件分开处理。RTOS是一段嵌入在目标代码中的软件,用户的其它应用程序都建立在R
TOS之上。不但如此,RTOS还是一个可靠性和可信性很高的实时内核,将CPU时间、中断
、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级
,合理地在不同任务之间分配CPU时间。

 

RTOS是针对不同处理器优化设计的高效率实时多任务内核,优秀商品化的RTOS可以面对
几十个系列的嵌入式处理器MPU、MCU、DSP、SOC等提供类同的API接口,这是RTOS基于设
备独立的应用程序开发基础。因此基于RTOS上的C语言程序具有极大的可移植性。据专家
测算,优秀RTOS上跨处理器平台的程序移植只需要修改1~5%的内容。在RTOS基础上可以
编写出各种硬件驱动程序、专家库函数、行业库函数、产品库函数,和通用性的应用程
序一起,可以作为产品销售,促进行业内的知识产权交流,因此RTOS又是一个软件开发
平台。

 

(5) RTOS是嵌入式系统的软件开发平台

 

RTOS最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器管理、存储
器管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等,

 

这些管理功能是通过内核服务函数形式交给用户调用的,也就是RTOS的API。 RTOS的引
入,解决了嵌入式软件开发标准化的难题。随着嵌入式系统中软件比重不断上升、应用
程序越来越大,对开发人员、应用程序接口、程序档案的组织管理成为一个大的课题。
引入RTOS相当于引入了一种新的管理模式,对于开发单位和开发人员都是一个提高。

 

基于RTOS开发出的程序,具有较高的可移植性,实现90%以上设备独立,一些成熟的通用
程序可以作为专家库函数产品推向社会。嵌入式软件的函数化、产品化能够促进行业交
流以及社会分工专业化,减少重复劳动,提高知识创新的效率。

 

嵌入式工业的基础是以应用为中心的芯片设计和面向应用的软件开发。实时多任务操作
系统(RTOS)进入嵌入式工业的意义不亚于历史上机械工业采用三视图的贡献,对嵌入式
软件的标准化和加速知识创新是一个里程碑。

 

目前,商品化的RTOS可支持从8BIT的8051到32BIT的PowerPC及DSP等几十个系列的嵌入式
处理器。提供高质量源代码RTOS的著名公司主要集中在美国。

 

 

--

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 天外飞仙]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.197毫秒