提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:龚雪|2015-10-08 15:48:13.000|阅读 337 次
概述:由于嵌入式系统资源有限,很难提供软件开发、调试所需要的相关资源和工具,因此嵌入式系统的这个特点也限制了嵌入式软件的测试。所以对于嵌入式软件测试来说,也有基于宿主机的测试和基于目标机的测试之分。本文将对几种常用的嵌入式测试方法进行分析和对比。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
在嵌入式领域目标系统的应用系统日趋复杂,而由于竞争要求产品快速上市,开发技术日新月异,同时硬件发展的日益稳定,而软件故障却日益突出,软件的重要性 逐渐引起人们的重视,越来越多的人认识到嵌入式系统的测试势在必行。
由于嵌入式系统的自身特点,如实时性(Real-timing),内存不丰富,I/O通道少,开发工具昂贵,并且与硬件紧密相关CPU种类繁多,等等。嵌入式软件的开发和测试也就与一般商用软件的开发和测试策略有了很大的不同,可以说嵌入式软件是最难测试的一种软件。嵌入式软件测试使用有效的测试策略是唯一的出路,它可以使开发的效率最大化,避免目标系统的瓶颈,使用在线仿真器节省昂贵的目标资源。
通过多年来前人的不断努力,我们已经掌握了一些专门针对嵌入式软件特性的测试方法和技术,经过对现有的这些测试方法和技术的总结和分析,我们可以把嵌入式软件的测试分为软件测试方法,硬件测试方式和软硬件结合的测试方法。由于嵌入式系统资源有限,很难提供软件开发、调试所需要的相关资源和工具,因此嵌入式系统的这个特点也限制了嵌入式软件的测试。所以对于嵌入式软件测试来说,也有基于宿主机的测试和基于目标机的测试之分。本文将对几种常用的嵌入式测试方法进行分析和对比。
软件测试方法的目的就是尽量减少嵌入式软件在目标环境下测试的时间,不需要为了完成测试工作而建立专用的硬件测试环境,降低测试的成本。软件测试方法一般是通过在宿主平台上建立一个软件方针测试环境来完成对被测软件的测试。按照仿真环境和仿真方式的不同,基于软件仿真的测试方法可以分为两类:一类为了实现仿真支持,要求用户改写代码,使用测试环境提供的输入/输出函数代替被测程序中的I/O访问。Pmsoft公司的ESIM就是这类测试工具的典型代表,它通过在宿主机上运行C语言编写的嵌入式软件来完成测试过程。被测软件经过C编译器编译后被连接到ESIM环境的库中,不但有指令的仿真,还包括输入/输出操作的仿真。其特点是仿真环境构造相对简单,仿真速度快,因为无需使用指令仿真器。
另一类是完全以软件仿真的方式实现嵌入式软件的测试,不需要任何目标设备的支持。例如SDS公司的SingleSTEP。它允许用户在没有目标机和I/O设备、并且无需修改被测程序的情况下完成对被测软件的测试工作。这样的工具还有Ready公司的RTAda-SIM等。这类方法构造软件仿真测试环境费时费力,而且仿真速度较慢。
常用的硬件测试方法主要包括总线监视器、仿真存储器、在线仿真器ICE和逻辑分析仪等。总线监视器通过观察总线上的数据和指令来获得程序执行的可视性,在对流经总线的数据进行分析时完成一些相关的测试工作。
仿真存储器的工作原理开发商在存储器中包含覆盖位,当访问到某个内存地址的同时设置覆盖位。程序运行结束后,就可以看到仿真存储器被“命中”的部位,并从中推算出测试覆盖率的百分比。通过连续把系统内存“映射”到仿真存储器就可以得到测试覆盖率的统计结果。
在线仿真器ICE是用来仿真CPU核心的设备,它可以在不干扰运算器的正常运行情况下,实时的检测CPU的内部工作情况。当ICE停止时它内部的寄存器内容可以被读出,还允许用户设定断点、检测和修改CPU状态。ICE的不足之处在于它对特定的微处理器来说是专用的。
逻辑分析仪则是通过设置各种的逻辑条件,实时记录下内存访问的活动,所以也可以把它作为测试覆盖率的工具。由于逻辑分析仪是用在“触发捕获”模式下的,所以把跟踪的数据转化为覆盖率数据是比较困难的。因此一般用在逻辑分析仪进行测试时,采用统计采样的方法。
上述的这些硬件测试方法对被测软件的运行影响很少,但是它只能获得被测程序较低层次的信息,需要测试人员来完成从这些低级的信息到被测软件高层结构的映射,测试效率比较低。
AMC公司的CodeTEST是一种软硬件结合的实时嵌入式软件测试工具,它仍然采用了传统的软件插桩方法,但由于硬件采集的存在可以使得插入的额外代码减少,对目标系统的影响降低,同时也克服了逻辑分析仪不能长时间连续进行采集的缺点。由于一些额外代码的存在也会对被测程序的执行行为产生一定的影响,从而使得干扰的存在,在一定程度上影响测试的结果。根据AMC提供的分析数据,这种干涉效应为1%-15%。
为了解决实时软件测试过程中引入额外的代码而产生的探针效应问题,也有人研究软硬件相结合的实时嵌入式软件测试方法。在这些方法中,为了解决某个特定应用中嵌入式软件的实时性测试问题,需要开发专门的硬件设备和上层分析软件。因此通用性不好,而且实现困难,测试成本高。
基于宿主机的测试是指完全利用宿主平台上丰富的资源和工具来对嵌入式软件进行测试,不需要依赖目标系统的支持。基于宿主机的测试极大地提高了被测软件执行可视性和可控性。因此测试过程中我们能够以较少代价、较高的效率发现和定位软件设计中的错误。另外,基于宿主机的测试在完全脱离目标平台的情况下完成对嵌入式软件的测试工作,可以尽早发现软件设计中的错误,避免了在软硬件集成时才来发现和定位问题。从而减少了软件的测试成本、降低了开发风险。目前,已经有很多的研究工作是把嵌入式软件的测试转移到宿主平台环境中进行。
无论在宿主机上进行的测试如何完善,基于目标系统的测试仍然不可替代。因为有些问题只有在目标机上测试时在能够发现,例如软硬件接口。当然,基于目标机的测试并不能仅仅依靠目标系统来完成全部的测试。为了解决目标机平台测试时可视性和可控性有限、测试效率低的问题,基于目标机的测试一般都是采用宿主机/目标机(Host/Target)交叉的测试模式。被测软件运行在目标系统中,宿主机负责控制目标系统的运行并且反馈目标系统的状态来实现测试。这样一方面实现了软件在真实的目标环境下的测试,而且又充分利用宿主机上丰富的资源和工具,高效、低成本的完成嵌入式软件的测试工作。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢