嵌入式系统测试实验报告

时间:2024.4.20

《嵌入式系统测试》

实验报告

院     系:                     

专     业:                     

班级学号 :                      

姓     名:                      

任课教师 :      饶莉莉          


实    验    报    告

院(系):                     课程名称:                  日期:


实    验    报    告

院(系):                     课程名称:                  日期:

实    验    报    告

院(系):                     课程名称:                  日期:

实    验    报    告

院(系):                     课程名称:                  日期:


第二篇:嵌入式测试


什么是嵌入式系统

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用 户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进 入市场,具有较长的生命周期。我认为就是为了满足一定需要把软件嵌入到硬件中,通过软件实现对硬件的控制和管理。 嵌入式计算机系统同通用型计算机系统相比具有以下特点:

1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。

2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力

4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。

5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。

6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发

嵌入式软件测试/嵌入式测试或叫交叉测试(cross-test)的日的与非嵌入式软件是相同的。但是,在嵌入式系统设计中,软件正越来越多地取代硬件,以降低系统的成本,获得更大的灵活性,这就需要使用更好的测试方法和工具进行嵌入式和实时软件的测试。

通常嵌入式系统对可靠性的要求比较高。嵌入式系统安全性的失效可能会导致灾难性的后果,即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对嵌入式系统,包括嵌入式软件进行严格的测试、确认和验证。随着越来越多的领域使用软件和微处理器控制各种嵌入式设备,对门益复杂的嵌入式软件进行快速有效的测试愈加显得重要。

软件测试的目的是保证软件满足需求规格说明。系统失效是系统没有满足—个或多个正式需求规范中所要求的需求项。嵌入式软件有其特殊的失效判定准则,但是,嵌入式软件测试的日的与非嵌入式软件是相同的。在嵌入式系统设计中,软件正越来越多地取代硬件,以降低系统的成本,获得更大的灵活性,这就需要使用更好的测试方法和工具进行嵌入式和实时软件的测试。

一、嵌入式软件的测试方法

一般来说,软件测试有7个基本阶段,即单元或模块测试、集成测试、外部功能测试、回归测试、系统测试、验收测试、安装测试。嵌入式软件测试在4个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集成测试。前3个阶段适用于任何软件的测试,硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地交互。

1、白盒测试与黑盒测试

一般来说,软件测试有两种基本的方式,即白盒测试方法与黑盒测试方法,嵌入式

软件测试也不例外。

白盒测试或基本代码的测试检查程序的内部设计。根据源代码的组织结构查找软件缺陷,一股要求测试人员对软件的结构和作用有详细的了解,白盒测试与代码覆盖率密切相关,可以在白盒测试的同时计算出测试的代码的覆盖率,保证测试的充分性。把100%的代码都测试到几乎是不可能的, 所以要选择最重要的代码进行白盒测试。由于严格的安全性和可靠性的要求,嵌入式软件测试同非嵌入式软件测试相比,通常要求有更高的代码覆盖率。对于嵌入式软件,白盒测试一般不必在目标硬件上进行,更为实际的方式是在开发环境中通过硬件仿真进行,所以选取的测试工具应该支持在宿主环境中的测试。

黑盒测试在某些情况下也称为功能测试。这类测试方法根据软件的用途和外部特征查找软件缺陷,不需要了解程序的内部结构。黑盒测试最大的优势在于不依赖代码,而是从实际使用的角度进行测试,通过黑盒测试可以发现白盒测试发现不了的问题。因为黑盒测试与需求紧密相关,需求规格说明的质量会直接影响测试的结果,黑盒测试只能限制在需求的范围内进行。在进行嵌入式软件黑盒测试时,要把系统的预期用途作为重要依据,根据需求中对负载、定时、性能的要求,判断软件是否满足这些需求规范。为了保证正确地测试,还须要检验软硬件之间的接口。嵌入式软件黑盒测试的一个重要方面是极限测试。在使用环境中,通常要求嵌入式软件的失效过程要平稳,所以,黑盒测试不仪要检查软件工作过程,也要检查软件换效过程。

2、目标环境测试和宿主环境测试

在嵌入式软件测试中,常常要在基于目标的测试和基于宿主的测试之间作出折衷。基于目标的测试消耗较多的经费和时间,而基于宿主的测试代价较小,但毕竟是在模拟环境中进行的。目前的趋势是把更多的测试转移到宿主环境中进行,但是,目标环境的复杂性和独特性不可能完全模拟。

在两个环境中可以出现不同的软件缺陷,重要的是目标环境和宿主环境的测试内容有所选择。在宿主环境中,可以进行逻辑或界面的测试、以及与硬件无关的测试。在模拟或宿主环境中的测试消耗时间通常相对较少,用调试工具可以更快地完成调试和测试任务。而与定时问题有关的白盒测试、中断测试、硬件接口测试只能在目标环境中进行。在软件测试周期中,基于目标的测试是在较晚的“硬件/软件集成测试”阶段开始的,如果不更早地在模拟环境中进行白盒测试,而是等到“硬件/软件集成测试”阶段进行全部的白盒测试,将耗费更多的财力和人力。

二、嵌入式软件的测试工具

用于辅助嵌入式软件测试的工具很多,下面对几类比较有用的有关嵌入式软件的测试工具加以介绍和分析。

1、内存分析工具

在嵌入式系统中,内存约束通常是有限的。内存分析工具用来处理在动态内存分配中存在的缺陷。当动态内存被错误地分配后,通常难以再现,可能导致的失效难以追踪,使用内存分析工具可以避免这类缺陷进入功能测试阶段。目前有两类内存分析工具——软件和硬件的。基于软件的内存分析工具可能会对代码的性能造成很大影响,从而严重影响实时操作;基于硬件的内存分析工具价格昂贵,而且只能在工具所限定的运行环境中使用。

2、性能分析工具

在嵌入式系统中,程序的性能通常是非常重要的。经常会有这样的要求,在特定时

间内处理一个中断,或生成具有特定定时要求的一帧。开发人面临的问题是决定应该对哪一部分代码进行优化来改进性能,常常会花大量的时间去优化那些对性能没有任何影响的代码。性能分析工具会提供有关的数据,说明执行时间是如何消耗的,是什么时候消耗的,以及每个例程所用的时间。根据这些数据,确定哪些例程消耗部分执行时间,从而可以决定如何优化软件,获得更好的时间性能。对于大多数应用来说,大部分执行时间用在相对少量的代码上,费时的代码估计占所有软件总量的5%-20%。性能分析工具不仅能指出哪些例程花费时间,而且与调试工具联合使用可以引导开发人员查看需要优化的特定函数,性能分析工具还可以引导开发人员发现在系统调用中存在的错误以及程序结构上的缺陷。

3、GUI测试工具

很多嵌入式应用带有某种形式的图形用户界面进行交互,有些系统性能测试足根掘用户输入响应时间进行的。GUI测试工具可以作为脚本工具有开发环境中运行测试用例,其功能包括对操作的记录和回放、抓取屏幕显示供以后分析和比较、设置和管理测试过程。很多嵌入式设备没有GUI,但常常可以对嵌入式设备进行插装来运行GUI测试脚本,虽然这种方式可能要求对被测代码进行更改,但是节省了功能测试和回归测试的时间。

4、覆盖分析工具

在进行白盒测试时,可以使用代码覆盖分析工具追踪哪些代码被执行过。分析过程可以通过插装来完成,插装可以是在测试环境中嵌入硬件,也可以是在可执行代码中加入软件,也可以是二者相结合。测试人员对结果数据加以总结,确定哪些代码被执行过,哪些代码被巡漏了。覆盖分析工具一般会提供有关功能覆盖、分支覆盖、条件覆盖的信息。对于嵌入式软件来说,代码覆盖分析工具可能侵入代码的执行,影响实时代码的运行过程。基于硬件的代码覆盖分析工具的侵入程度要小一些,但是价格一般比较昂贵,而且限制被测代码的数量。

三、嵌入式软件测试策略

在嵌入式领域目标系统的应用系统日趋复杂,而由于竞争要求产品快速上市,开发技术日新月异,同时硬件发展的日益稳定,而软件故障却日益突出,软件的重要性逐渐引起人们的重视,越来越多的人认识到嵌入式系统的测试势在必行。提到嵌入式软件测试,首先要简单介绍一些软件工程的一些观点,现在,被普遍接受的软件的定义是:软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。其中程序是按照事先设计的功能和性能要求执行的指令序列;数据是是程序能正常操纵信息的数据结构;文档是与程序开发维护和使用有关的各种图文资料。

对于一般商用软件的测试,嵌入式软件测试有其自身的特点和测试困难。

由于嵌入式系统的自身特点,如实时性(Real-timing),内存不丰富,I/O通道少,开发工具昂贵,并且与硬件紧密相关CPU种类繁多,等等。嵌入式软件的开发和测试也就与一般商用软件的开发和测试策略有了很大的不同,可以说嵌入式软件是最难测试的一种软件。

嵌入式软件测试使用有效的测试策略是唯一的出路,它可以使开发的效率最大化,避免目标系统的瓶颈,使用在线仿真器节省昂贵的目标资源。自从出现高级语言,开发环境与最终运行环境通常都是存在差异的,嵌入式系统更是如此。开发环境被认为是主机平台,软件运行环境为目标平台。相应的测试为host-target测试或cross-testing。

讨论嵌入式软件测试首先就会遇到一个问题:为什么不把所有测试都放在目标上进

行呢?因为若所有测试都放在目标平台上有很多不利的因素:

1)测试软件,可能会造成与开发者争夺时间的瓶颈,避免它只有提供更多的目标环境。

2)目标环境可能还不可行。

3)比起主机平台环境,目标环境通常是不精密的和不方便的。

4)提供给开发者的目标环境和联合开发环境通常是很昂贵的。

5)开发和测试工作可能会妨碍目标环境已存在持续的应用

从经济上和开发效率上考虑,软件开发周期中尽可能大的比例在主机系统环境中进行,其中包括测试。

确定host-target测试环境后,开发测试人员又会遇到以下的问题:

1)多少开发人员会卷入测试工作(单元测试,软件集成,系统测试)?

2)多少软件应该测试,测试会花费多长时间?

3)在主机环境和目标环境有哪些软件工具,价格怎样,适合怎样?

4)多少目标环境可以提供给开发者,什么时候?

5)主机和目标机之间的连接怎样?

6)被测软件下载到目标机有多快?

7)使用主机与目标环境之间有什么限制(如软件安全标准)?

任何人或组织进行嵌入式软件的测试都应深入考虑以上问题,结合自身实际情况,选定合理测试策略和方案。

对于嵌入式软件测试或叫交叉测试(cross-test),在测试的各个阶段有着通用的策略:

1.单元测试

所有单元级测试都可以在主机环境上进行,除非少数情况,特别具体指定了单元测试直接在目标环境进行。最大化在主机环境进行软件测试的比例,通过尽可能小的目标单元访问所有目标指定的界面。

在主机平台上运行测试速度比在目标平台上快的多,当在主机平台完成测试,可以在目标环境上重复作一简单的确认测试,确认测试结果在主机和目标机上没有被他们的不同影响。在目标环境上进行确认测试将确定一些未知的,未预料到的,未说明的主机与目标机的不同。例如,目标编译器可能有bug,但在主机编译器上没有。

2.集成测试

软件集成也可在主机环境上完成,在主机平台上模拟目标环境运行,当然在目标环境上重复测试也是必须的,在此级别上的确认测试将确定一些环境上的问题,比如内存定位和分配上的一些错误。

在主机环境上的集成测试的使用,依赖于目标系统的具体功能有多少。有些嵌入式系统与目标环境耦合的非常紧密,若在主机环境做集成是不切实际的。一个大型软件的开发可以分几个级别的集成。低级别的软件集成在主机平台上完成有很大优势,越往后的集成越依赖于目标环境。

3.系统测试和确认测试

所有的系统测试和确认测试必须在目标环境下执行。当然在主机上开发和执行系统测试,然后移植到目标环境重复执行是很方便的。对目标系统的依赖性会妨碍将主机环境上的系统测试移植到目标系统上,况且只有少数开发者会卷入系统测试,所以有时放弃在主机环境上执行系统测试可能更方便。

确认测试最终的实施舞台必须在目标环境中,系统的确认必须在真实系统之下测试,而不能在主机环境下模拟。这关系到嵌入式软件的最终使用。

包括恢复测试、安全测试、强度测试、性能测试,已超出了软件测试的范畴,本文暂不讨论。

使用有效的cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,当然正确的测试工具使用也是必不可少的:

总结一下,应用以上测试工具进行.Cross-test时的策略:

A)使用测试工具的插装功能(主机环境)执行静态测试分析,并且为动态覆盖测试准备好一插装好的软件代码。

B)使用源码在主机环境执行功能测试,修正软件的错误和测试脚本中的错误。

C)使用插装后的软件代码执行覆盖率测试,添加测试用例或修正软件的错误,保证达到所要求的覆盖率目标。

D)在目标环境下重复(B),确认软件在目标环境中执行测试的正确性。

E)若测试需要达到极端的完整性,最好在目标系统上重复(C),确定软件的覆盖率没有改变。

通常在主机环境执行多数的测试,只是在最终确定测试结果和最后的系统测试才移植到目标环境,这样可以避免发生访问目标系统资源上的瓶颈,也可以减少在昂贵资源如在线仿真器上的费用。另外,若目标系统的硬件由于某种原因而不能使用时,最后的确认测试可以推迟直到目标硬件可用,这为嵌入式软件的开发测试提供了弹性。设计软件的可移植性是成功进行cross-test的先决条件,它通常可以提高软件的质量,并且度软件的维护大有益处。以上所提到的测试工具,都可以通过各自的方式提供测试在主机与目标之间的移植,从而使嵌入式软件的测试得以方便的执行。

使用有效的cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,提高嵌入式软件的质量。

四、结论

嵌入式系统在人类生活中发挥着重要的作用,包括飞行控制器这样的控制系统,以及洗衣机这样的家用电器。日前,嵌入式系统中软件的比重越来越大,也越来越复杂,保证嵌入式软件的可靠性正面临严峻的挑战。

大多数软件测试方法都可以直接或间接地用于嵌入式软件的测试,但是由于操作系统的实时和嵌入式特性,嵌入式软件测试也面临一些特殊的问题。虽然日前已经有一些针对嵌入式软件的测试和调试工具,但是在有些方面仍存在不足,包括许多任务操作系统的并发、非侵入式的测试和凋试、嵌入式系统的软件抽象等。对于嵌入式软件测试技术的研究人选测试工具有待开发,仍须要做很多进一步的工作。

嵌入式软件的基本测试方法举例

由于嵌入式软件与其他产品息息相关,这给嵌入式软件的测试工作带来了极大的困难,软件的测试工作不能够等程序烧到或者固化到芯片中才开始进行测试,这就太晚了,本文结合自己的一些经验提出自己的看法,希望大家一起讨论。

搞好开发前的原型设计

原型开发目前在开放流程中受到了更多的重视,同样嵌入式软件也是非常需要的。比如说一个录音机版面的设计,可以定义好版面上面的按键以及每个按键的功能。然后画出状态转化图,写清楚每个按键何时可以触发,触发后由哪个状态转入别的其他状态。原型设计好了,组织专家,工程师进行评审,尽可能多的找出原型中不合理需要改进的地方;改进以后,有必要可以进行再一次的评审工作。每一次评审工作需要记录评审建议是否需要解决?如何解决以及实际解决情况。

进行设计和开发工作

设计和开发工作需要设立里程碑。每个里程碑结束前都需要进行评审工作。由于嵌入式软件的运行环境不同,受到很大的限制,所以在进行开

发之前需要进行编程规范工作,编码的时候需要严格按照编码要求进行工作,每一个条款都需要认真执行和审查。现在业界提供许多关于嵌入

式软件开发的标准,大家可以通过网站搜索,最好能够购买业界一些比较著名的标准。目前市场上也提供许多关于代码检验的工具。为什么一

直提出代码编码规范?这是因为嵌入式软件的质量与代码规范是十分重要的。举个例子,著名的阿里亚火箭失事,专家进行详细的调查工作,

最后发现问题出在代码上。代码是符合标准C语言的,但是在运行过程中由于程序员将一个长整形变量赋给了一个短整形变量,造成内存溢出,

这是导致火箭失事的关键所在。

int8 a;

int32 b;

?

a=b;

代码测试

当程序开发完毕,需要进行测试工作,但是在程序烧入或固化芯片之前如何进行测试呢?这里介绍一种方法:比如程序时使用C语言进行开发的

,请将所有的操作都封入在函数中,函数的定义都在相应的头文件中定义(.h),然后设计测试用例,书写测试代码,测试代码包含相应头文件,

可以对函数进行检测。测试案例往往分为两类:一种是功能测试,主要测试函数的功能;另外一种是错误参数测试,主要检查程序对错误参数进行检验。

功能测试

这种测试的运行往往需要通过仿真器辅助完成,比如类似录音机软件程序,分别测试播放,加大(减小)音量,停止,暂停(取消暂停),快

速前进,快速后退,录音对应的功能是否能够正常运行。

错误测试

主要测试函数在调用参数无效的时候,系统是否会按照规定返回正确的错误代码。比如 function test(int Tid)

测试的时候给出一个错误的序列号(Tid),看程序是否返回正确的错误代码。 对于函数function test1(int t)需要进行特出的处理

t 定义为1-100

我们可以按照边界值法和等价分类法进行测试

上边界:-1,0,1

下边界:99,100,101

中边界:50

所以测试用例集合为(-1,0,1,50,99,100,101),其中-1,101为错误测试用例,其他为正确测试用例

功能组合测试

在进行完功能测试后,我们可以进行功能组和测试,还是拿录音机程序做个例子。我们可以定义将音量增加到10,快速前进,检查音量,看是

否还是为10;播放,暂停,试图调整音量,检查调整音量的功能是否可以被成功执行。

烧入固化测试

关于嵌入式测试的工具

Vxworks测试专用工具CodeTest

嵌入式系统开发特点:

嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应 用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分 散、不断创新的知识集成系统。

今天嵌入式系统带来的工业年产值已超过了1万亿美元,19xx年来自美国嵌入式 系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计 算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。 美国汽车大王福特公司的高级经理也曾宣称,“福特出售的‘计算能力’已超过 了IBM”,由此可以想见嵌入式计算机工业的规模和广度。19xx年11月在美国 加州圣*何塞举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个 技术新热点。

美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(电脑) 工具将是PC和因特网之后最伟大的发明。我国著名嵌入式系统专家沈绪榜院士 98年11月在武汉全国第11次微机学术交流会上发表的《计算机的发展与技术》一 文中,对未来10年以嵌入式芯片为基础的计算机工业进行了科学的阐述和展望。 3 嵌入式系统工业的特点和要求

(Embedded System Industry, ESI)

3.1 嵌入式系统工业是不可垄断的高度分散的工业

从某种意义上来说,通用计算机行业的技术是垄断的。占整个计算机行业90%的 PC产业,80%采用Intel的8x86体系结构,芯片基本上出自Intel,AMD,Cyrix等

几家公司。在几乎每台计算机必备的操作系统和文字处理器方面,Microsoft的 Windows及Word占80-90%,凭借操作系统还可以搭配其它应用程序。因此当代的 通用计算机工业的基础被认为是由Wintel(Microsoft和Intel 90年代初建立的 联盟)垄断的工业。

嵌入式系统则不同,它是一个分散的工业,充满了竞争、机遇与创新,没有哪 一个系列的处理器和操作系统能够垄断全部市场。即便在体系结构上存在着主 流,但各不相同的应用领域决定了不可能有少数公司、少数产品垄断全部市场。 因此嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业的中小 规模高技术公司的创新余地很大。另外,社会上的各个应用领域是在不断向前 发展的,要求其中的嵌入式处理器核心也同步发展,这也构成了推动嵌入式工 业发展的强大动力。

嵌入式系统工业的基础是以应用为中心的“芯片”设计和面向应用的软件产品 开发。

3.2 嵌入式系统具有的产品特征

嵌入式系统是面向用户、面向产品、面向应用的,如果独立于应用自行发展, 则会失去市场。嵌入式处理器的功耗、体积、成本、可靠性、速度、处理能力、 电磁兼容性等方面均受到应用要求的制约,这些也是各个半导体厂商之间竞争 的热点。

和通用计算机不同,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、 去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用对 处理器的选择面前更具有竞争力。嵌入式处理器要针对用户的具体需求,对芯 片配置进行裁剪和添加才能达到理想的性能;但同时还受用户订货量的制约。 因此不同的处理器面向的用户是不一样的,可能是一般用户,行业用户或单一 用户。

嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步 进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。嵌入式系统 中的软件,一般都固化在只读存储器中,而不是以磁盘为载体,可以随意更换, 所以嵌入式系统的应用软件生命周期也和嵌入式产品一样长。另外,各个行业 的应用系统和产品,和通用计算机软件不同,很少发生突然性的跳跃,嵌入式 系统中的软件也因此更强调可继承性和技术衔接性,发展比较稳定。

嵌入式处理器的发展也体现出稳定性,一个体系一般要存在8-10年的时间。一 个体系结构及其相关的片上外设、开发工具、库函数、嵌入式应用产品是一套 复杂的知识系统,用户和半导体厂商都不会轻易地放弃一种处理器。

3.3 嵌入式系统软件的特征

嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统 软件和应用软件的要求也和通用计算机有所不同。

(1) 软件要求固态化存储

为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯 片或单片机本身中,而不是存贮于磁盘等载体中。

(2) 软件代码高质量、高可靠性

尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但 在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程 序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。

(3) 系统软件(OS)的高实时性是基本要求

在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是 保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效 率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实 时性是基本要求。

(4) 多任务操作系统是知识集成的平台和走向工业标准化道路的基础

3.4 嵌入式系统开发需要开发工具和环境

通用计算机具有完善的人机接口界面,在上面增加一些开发应用程序和环境即

可进行对自身的开发。而嵌入式系统本身不具备自举开发能力,即使设计完成 以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和 环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以 及各种逻辑分析仪、混合信号示波器等。

3.5 嵌入式系统软件需要RTOS开发平台

通用计算机具有完善的操作系统和应用程序接口(API),是计算机基本组成不可 分离的一部分,应用程序的开发以及完成后的软件都在OS平台上面运行,但一 般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统直接在芯片上 运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函 数接口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、 可靠性,并减少开发时间,保障软件质量。

3.6 嵌入式系统开发人员以应用专家为主

通用计算机的开发人员一般是计算机科学或计算机工程方面的专业人士,而嵌入式 系统则是要和各个不同行业的应用相结合的,要求更多的计算机以外的专业知识, 其开发人员往往是各个应用领域的专家。因此开发工具的易学、易用、可靠、高效 是基本要求。

结 语

中国的单片机应用和嵌入式系统开发走过了15年的历程,有超过10万名从事单片机 开发应用的工程师,但95%以上是3~5个人的小组以孤军奋战的封闭方式开发几乎 不可重用的软件。今天面对的是嵌入式系统工业化的潮流,如果我们不能认清嵌入 式软件必须以工业化的方式生产开发,不理解在短时间内装配集成“数百人年” 嵌入式产品软件库固化于芯片之中的方法,那么我们将失去更多“上游”产品的 市场机遇;反之在我国大力推动和建设“嵌入式软件工厂”,使我国的嵌入式软件 库(零件)产品化并溶入国际市场,对加速知识创新和建立面向21世纪的知识经济

嵌入式计算机系统的展望

中国计算机学会微机专业委员会主任 中国科学院院士沈绪榜

从使用角度来说,计算机可分为两类:一类是独立使用的计算机系统,如个人计算 机、工作站等;一类是嵌入式计算机系统,它是作为其他系统的组成部分使用的。不管 是哪一种计算机系统,要能够迅速地向前发展,都必须满足五个简单而又基本的条件: 一是经济性,计算机要很便宜,让更多的人能买得起;二是小型化,人们携带起来方便 ;三是可靠性,能够在一般环境条件下或者是苛刻的环境条件下运行;四是高速度,能 够迅速地完成数据计算或数据传输;五是智能性,使人们用起来更习惯,对人们更有使 用价值。不过,对不少应用来说,嵌入式计算机系统对这些基本条件的要求往往是更苛 刻的。这可以从一些嵌入式系统的成功与失败的例子清楚地看出来。所以,这里就从这 五个基本条件出发,展望一下嵌入式系统发展的未来。

就经济性来说,个人计算机的普及要算是一个典型的成功例子。可惜的是,Xerox的管理人员于70年代初实施其无纸办公室的计划时,虽然首先开发了个人计算机,但他们 认为这种计算机对一般人来说可能是太贵了,因而没有制造与发展个人计算机。自动付 款机系统要算是一个典型的失败例子。它要求超市中的每件商品都有一个存贮商品价钱 的芯片。当商品小推车经过记账出口时,一个无线电信号使芯片传出它的价钱信息以自 动记账。当信用卡"扫过"时,就给出清单,这样记账时就不用排队了。这个系统未得到 使用,就是因为芯片的价钱还是太贵了。芯片技术能降低电子产品成本的速度,就连当 代电子学革命之父,20xx年诺贝尔物理奖获得者杰克·基尔比也没有想到,他在19xx年发明的芯片技术,会将电子产品的成本降低到了百万分之一的地步。芯片技术的这种神 奇的作用,恐怕就是摩尔预言神奇般灵验的主要原因之一吧!难怪尽管发展芯片技术的 耗资是惊人的巨大,发达国家还是力争在芯片技术的竞争中要永远保持领先的地位,以 便能主宰世界信息技术的发展。

更多相关推荐:
软件测试实验报告

软件测试实验报告万继王20xx1081147任课教师贾春花班级20xx级计科1班实验目的计算机在生活中的普遍计算机已经成为我们生活中不可缺少的部分计算机已经被广泛的应用到各个领域网络技术的飞速发展互联网已经成为...

疲劳试验测试报告

疲劳试验测试报告,内容附图。

可 靠 性 实 验 测 试 报 告(可当模板用,可修改)

可靠性实验测试报告Reliabilitylabtestreport公司名称长兴和兴电子有限公司供应客户宁波凯耀电器制造有限公司实验产品EE160634mh平脚实验日期20xx58实验名称可靠性测试制表金泽烨审核...

试验检测报告1

试验检测报告报告编号委托单位安楚高速公路达连坝服务区改扩建工程样品名称级配碎石检验类别委托试验报告日期20xx年10月29日云南路桥试验检测有限公司申明1报告无云南省建设厅审定的质量检测机构资质章和云南路桥试验...

数学实验试验报告

路灯问题数学实验实验报告一问题重述在一条20m宽的道路两侧分别安装了一只2kw和一只3kw的路灯它们离地面的高度分别为5m和6m在漆黑的夜晚当两只路灯开启时两只路灯连线的路面上最暗的点和最亮的点在哪里如果3kw...

试验段成果报告

试验段路基填筑试验成果报告我项目部为了在路基大规模填筑之前进行试验路段的施工以确定机械设备的合理配置不同机具压实合格填料的最佳含水量每层松铺厚度碾压机具的行走速度压实遍数等施工参数总结出路基填筑施工的最佳工艺流...

软件测试实验报告

桂林航天工业学院课程设计报告课程名称软件测试姓名专业学号20xx025201实验一黑盒测试一实验目的1能熟练应用黑盒测试技术进行测试用例设计2对测试用例进行优化设计二实验要求与内容运用等价类划分和边界值分析测试...

3工业性试验报告3

石门揭煤防突抽采在线监测系统工业性试验报告项目名称石门揭煤防突抽采在线监测系统负责单位淮南矿业集团潘一东矿井建设项目部起止时间20xx年3月20xx年8月鉴定时间20xx年8月20xx年8月目录一项目概述2二项...

同济大学岩土方向原位测试试验报告

学号姓名原位测试实习报告试验一平板载荷试验1试验目的通过平板载荷试验了解平板载荷试验的加载系统反力系统和变形测量系统及其安装方法掌握试验的操作步骤及技术要求采用试验数据计算地基承载力特征值fak地基土的变形模量...

试验记录报告管理制度

一试验委托及收发1凡委托试验检测的试验项目一律填写送检单试验委托单无单不安排试验抽取试样必须有取样见证人的送检或陪同方为有效2送检单试验委托单所列项目要填写齐全字迹清楚并对试样的代表性真实性负责3试验室管理人员...

试验报告结论用语

试验检测报告结论用语试验检测报告结论用语试验检测报告结论用语试验检测报告结论用语

试验表11-沥青试验报告

沥青试验报告试验表11试验编号委托单位试验委托人收样日期工程名称部位品种及标号产地代表数量试样编号试验日期试验结果1软化点2延度cm1525325针入度110mm4其他结论负责人审核计算试验报告日期年月日

实验测试报告(32篇)