嵌入系统按实时性需求分类,其中什么实施最好

作者&投稿:濯苛 (若有异议请与网页底部的电邮联系)
嵌入式系统按是否具有实时性能可分为嵌入式~

实时系统主要分为以下两类。
强实时系统(Hard Real-Time):在航空航天、军事、核工业等一些关键领域中,应用时间需求应能够得到完全满足,否则就造成如飞机失事等重大地安全事故,造成重大地生命财产损失和生态破坏。因此,在这类系统的设计和实现过程中,应采用各种分析、模拟及形式化验证方法对系统进行严格的检验,以保证在各种情况下应用的时间需求和功能需求都能够得到满足。
弱实时系统(Soft Real-Time):某些应用虽然提出了时间需求,但实时任务偶尔违反这种需求对系统的运行以及环境不会造成严重影响,如视频点播(Video-On-Demand,VOD)系统、信息采集与检索系统就是典型的弱实时系统。在VOD系统中,系统只需保证绝大多数情况下视频数据能够及时传输给用户即可,偶尔的数据传输延迟对用户不会造成很大影响,也不会造成像飞机失事一样严重的后果。

根据实时性从高到底,嵌入式操作系统如下:
VxWorks(商业的,使用须缴费)-->RT Linux --> Linux--->Android

一、嵌入式软件的测试方法 一般来说,软件测试有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)提供给开发者的目标环境和联合开发环境通常是很昂贵的。 7)使用主机与目标环境之间有什么限制(如软件安全标准)? 任何人或组织进行嵌入式软件的测试都应深入考虑以上问题,结合自身实际情况,选定合理测试策略和方案。 对于嵌入式软件测试或叫交叉测试(cross-test),在测试的各个阶段有着通用的策略: 1.单元测试 所有单元级测试都可以在主机环境上进行,除非少数情况,特别具体指定了单元测试直接在目标环境进行。最大化在主机环境进行软件测试的比例,通过尽可能小的目标单元访问所有目标指定的界面。 在主机平台上运行测试速度比在目标平台上快的多,当在主机平台完成测试,可以在目标环境上重复作一简单的确认测试,确认测试结果在主机和目标机上没有被他们的不同影响。在目标环境上进行确认测试将确定一些未知的,未预料到的,未说明的主机与目标机的不同。例如,目标编译器可能有bug,但在主机编译器上没有。 2.集成测试 软件集成也可在主机环境上完成,在主机平台上模拟目标环境运行,当然在目标环境上重复测试也是必须的,在此级别上的确认测试将确定一些环境上的问题,比如内存定位和分配上的一些错误。 在主机环境上的集成测试的使用,依赖于目标系统的具体功能有多少。有些嵌入式系统与目标环境耦合的非常紧密,若在主机环境做集成是不切实际的。一个大型软件的开发可以分几个级别的集成。低级别的软件集成在主机平台上完成有很大优势,越往后的集成越依赖于目标环境。 3.系统测试和确认测试 所有的系统测试和确认测试必须在目标环境下执行。当然在主机上开发和执行系统测试,然后移植到目标环境重复执行是很方便的。对目标系统的依赖性会妨碍将主机环境上的系统测试移植到目标系统上,况且只有少数开发者会卷入系统测试,所以有时放弃在主机环境上执行系统测试可能更方便。 确认测试最终的实施舞台必须在目标环境中,系统的确认必须在真实系统之下测试,而不能在主机环境下模拟。这关系到嵌入式软件的最终使用。 包括恢复测试、安全测试、强度测试、性能测试,已超出了软件测试的范畴,本文暂不讨论。 使用有效的cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,当然正确的测试工具使用也是必不可少的: 总结一下,应用以上测试工具进行.Cross-test时的策略: A)使用测试工具的插装功能(主机环境)执行静态测试分析,并且为动态覆盖测试准备好一插装好的软件代码。 B)使用源码在主机环境执行功能测试,修正软件的错误和测试脚本中的错误。 C)使用插装后的软件代码执行覆盖率测试,添加测试用例或修正软件的错误,保证达到所要求的覆盖率目标。 D)在目标环境下重复(B),确认软件在目标环境中执行测试的正确性。 E)若测试需要达到极端的完整性,最好在目标系统上重复(C),确定软件的覆盖率没有改变。 通常在主机环境执行多数的测试,只是在最终确定测试结果和最后的系统测试才移植到目标环境,这样可以避免发生访问目标系统资源上的瓶颈,也可以减少在昂贵资源如在线仿真器上的费用。另外,若目标系统的硬件由于某种原因而不能使用时,最后的确认测试可以推迟直到目标硬件可用,这为嵌入式软件的开发测试提供了弹性。设计软件的可移植性是成功进行cross-test的先决条件,它通常可以提高软件的质量,并且度软件的维护大有益处。以上所提到的测试工具,都可以通过各自的方式提供测试在主机与目标之间的移植,从而使嵌入式软件的测试得以方便的执行。 使用有效的cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,提高嵌入式软件的质量。附录: 1). HOST-TARGET的连接方法简介:图1-- 直接连接图2 -- 通过仿真器连接图3 -- 使用介质进行间接连接图4 -- 使用PROM等传递被测软件图5 -- 测试的交互界面图6 -- 无交互界面的连接四、结论 嵌入式系统在人类生活中发挥着重要的作用,包括飞行控制器这样的控制系统,以及洗衣机这样的家用电器。日前,嵌入式系统中软件的比重越来越大,也越来越复杂,保证嵌入式软件的可靠性正面临严峻的挑战。 大多数软件测试方法都可以直接或间接地用于嵌入式软件的测试,但是由于操作系统的实时和嵌入式特性,嵌入式软件测试也面临一些特殊的问题。虽然日前已经有一些针对嵌入式软件的测试和调试工具,但是在有些方面仍存在不足,包括许多任务操作系统的并发、非侵入式的测试和凋试、嵌入式系统的软件抽象等。对于嵌入式软件测试技术


嵌入式前景如何
(2) 嵌入式操作系统类课程 除了WinCE的实时性稍差外,大多数嵌入式操作系统的实时性都很强,所以也可称为实时操作系统Real TimeOperating System。从事嵌入式的人至少须掌握一个嵌入式操作系统(当然掌握两个更好),这在嵌入式的所有技术中是最为关键的了。目前最重要的RTOS主要包括:第一类、传统的经典RTOS:最主要的...

eos操作系统是怎么样的
EOS操作系统是一种广泛应用于工业控制和国防系统等领域的嵌入式系统软件。接下来,我将为您详细介绍EOS操作系统。EOS操作系统的主要特点包括:1. 可裁剪性:EOS支持开放性和可伸缩性的体系结构,可以根据特定需求进行定制。2. 强实时性:EOS通常具有很强的实时性,适用于各种设备控制场景。3. 操作方便、...

嵌入式实时操作系统调度算法的发展现状
嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理复杂的系统资源,能够对硬件进行抽象,能够提供库函数、驱动程序、开发工具集等。但与通用操作系统相比较,嵌入式操作系统在系统实时性、硬件依赖性、软件固化性以及应用专用性等方面,具有更加鲜明的特点。 嵌入式操作系统根据应用场合可以分为两大类:一类是面向消费...

简述嵌入式系统的概念及特点
嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。嵌入式系统的特点:系统内核小、专用性强、系统精简、高实时性、多任务的操作系统、专门的开发工具和环境。

智能视频智能视频监控应用系统设计攻略
随着技术的成熟和成本的降低,智能视频的普及和应用愈发广泛,不仅降低了安保人员的工作负担,还优化了管理流程,节省了成本。在零售、服务等领域,如人数统计、人脸识别和交通流量控制等应用,智能视频也发挥着关键作用。实时视频监测的需求正在强劲增长,尤其是安全监控的实时性需求,使得智能视频监测系统成为...

评价嵌入式操作系统的指标有哪些
时间约束性 实时系统的任务具有一定的时间约束(截止时间)。根据截止时间,实时系统的实时性分为“硬实时”和“软实时”。硬实时是指应用的时间需求能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如在航空航天、军事、核工业等一些关键领域中的应用。软实时是指某些应用...

实时操作系统一般应用于什么场合?
实时操作系统主要应用领域 主要应用于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的场合。例如:机器人的运动控制、无人驾驶等。

计算机联锁毕业论文
(一)实时性要求 计算机联锁系统必须及时输出关于信号和道岔之类的控制命令,通过对于输入变量的变化情况进行采集,来将车站各类表示信息及时刷新,并且以一种较为安全的形式来输出。 (二)经济性 计算机联锁系统的一个重要原因就是其经济性,这也是其能够将继电联锁系统进行取代的原因。计算机联锁系统在建筑、调试、设计、施...

res操作系统是什么意思
尽管res操作系统具有多项优势,但也存在一些弊端。例如,由于其专门设计用于实时性领域,缺乏通用性和兼容性。除此之外,相对于普通操作系统来说,其编程难度更高,维护和调试的难度也相对较大。但在需要精细调度和高实时性需求的领域,res操作系统仍是不可替代的。

VESYSTEM应用领域
电力行业则面临着电力控制系统的安全性、可靠性和实时性需求,随着互联网的普及,网络安全问题变得愈发严峻。涉密单位的信息安全尤为重要,但当前涉密网的设备和技术存在风险,需要从根本上提升网络、系统和信息的安全管理,以防止数据泄露和黑客入侵。无论是哪个领域,传统的基于操作系统平台的终端管理已无法...

烈山区15228846853: 嵌入系统按实时性需求分类,其中什么实施最好 -
仁狠赛莱: 一、嵌入式软件的测试方法 一般来说,软件测试有7个基本阶段,即单元或模块测试、集成测试、外部功能测试、回归测试、系统测试、验收测试、安装测试.嵌入式软件测试在4个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集...

烈山区15228846853: 根据实时性,嵌入式操作系统有哪些类型 -
仁狠赛莱: 根据实时性从高到底,嵌入式操作系统如下: VxWorks(商业的,使用须缴费)-->RT Linux --> Linux--->Android

烈山区15228846853: 嵌入式系统按是否具有实时性能可分为嵌入式 -
仁狠赛莱: 实时系统主要分为以下两类. 强实时系统(Hard Real-Time):在航空航天、军事、核工业等一些关键领域中,应用时间需求应能够得到完全满足,否则就造成如飞机失事等重大地安全事故,造成重大地生命财产损失和生态破坏.因此,在这类...

烈山区15228846853: 嵌入式系统的存储器设计需要考虑哪些方面 -
仁狠赛莱: 常见的嵌入式系统Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 什么是嵌入式操作系统?嵌入式操作系统是一种支持嵌入式系统应...

烈山区15228846853: 什么是嵌入式操作系统?
仁狠赛莱: 固化在硬件里面的系统,比如手机、路由器里面的系统.有些是可以管理的,有些不行 常见的嵌入式系统 Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、...

烈山区15228846853: 嵌入式操作系统基于软件分类有哪些?
仁狠赛莱: 从软件方面划分,主要可以依据操作系统的类型.嵌入式系统的软件主要有两大类:实时系统和分时系统.其中实时系统又分为两类:硬实时系统和软实时系统. 实时嵌入系统是为执行特定功能而设计的,可以严格的按时序执行功能.其最大的特征就是程序的执行具有确定性.在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,则系统被称为硬实时系统.而在软实时系统中,虽然响应时间同样重要,但是超时却不会导致致命错误.一个硬实时系统往往在硬件上需要添加专门用于时间和优先级管理的控制芯片,而软实时系统则主要在软件方面通过编程实现时限的管理.比如Windows CE就是一个多任务分时系统,而Ucos-II则是典型的实时操作系统.

烈山区15228846853: 嵌入式为什么要用Linux操作系统 -
仁狠赛莱: Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播.另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习 Unix操作系统的人都可以从Linux中获益.

烈山区15228846853: 嵌入式实时系统,什么是嵌入式实时系统 -
仁狠赛莱: 嵌入式实时操作系统(Embedded Real-time Operation System,RTOS).嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”,是一种以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格...

烈山区15228846853: 从嵌入式操作系统特点可以将嵌入式操作系统分为 和分时操作系统,其中实时系统亦可分为 和软实时系统. -
仁狠赛莱: 从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其中实时系统亦可分为 (硬实时系统)和软实时系统.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网