当前位置:文档之家› 第9讲 嵌入式系统的测试与调试

第9讲 嵌入式系统的测试与调试

通用嵌入式系统测试平台的实现与功能划分

通用嵌入式系统测试平台 (ESITest 3.2) 一、平台概述 通用嵌入式系统测试平台(Embeded System Interface Test Studio V3.2,简称:ESITest3.2)是针对于嵌入式系统进行实时-闭环-非侵入式黑盒测试的自动化测试平台,适用于嵌入式系统在设计、仿真、测试、集成验证和维护等各阶段配置项级别和系统级别的动态测试与验证。 平台主要功能: ?是一款针对嵌入式系统测试的自动化测试平台; ?可实现对嵌入式系统的黑盒动态测试; ?支持自动化测试和回归测试; ?可实现对嵌入式系统进行实时-闭环-非侵入式的系统级测试; ?支持多种测试类型:功能测试、接口测试、边界测试、强度测试、安全 性测试等; ?支持基于硬件、软件以及仿真的故障注入测试; ?可对嵌入式系统各组成模块分割开进行单独测试; ?替代测试工装(陪测设备、测试台); ?实现基于实装难以完成的测试任务; ?提供了支持测试设计与开发、测试执行与管理的整套解决方案。 平台由软件和硬件两部分组成。软件部分主要包括测试设计软件、测试执行软件、客户端软件、实时数据监控软件、数据查看及分析软件、各类接口设备辅助调试软件及辅助测试软件等。 目前该平台提供PXI模式(ESITest-PXI)与分布式模式(ESITest-LAN)两种架构产品。 二、ESITest-PXI产品 1、产品简介 PXI总线架构产品的硬件部分由PXI机箱、PXI控制器、PXI接口模块组成,其中PXI接口模块包括了RS232、RS422、RS485、CAN、MIL-STD-1553B、AD采集、DA转换、DI/DO以及示波器、函数发生仪等模块。

嵌入式软件测试与一般软件测试之异同研究

嵌入式软件测试与一般软件测试之异同研究 作者:网络转载发布时间:[ 2013/3/5 9:09:17 ]推荐标签: 摘要:随着计算机技术的普及,软件系统已经深入到生活的各个方面,从普通的计算机软件,到银行或超市的终端系统,甚至到手机的软件系统。对软件的质量要求也在不断提高,软件测试及其技术也有了飞速发展。在对软件测试技术相关基本概念研究解析的基础上,分析软件测试起源与发展,保证软件产品的质量、提高产品的可靠性。对于嵌入式软件系统,因其多样性,基于操作系统,使用的开发环境,微控制器都是日益繁多的,所以嵌入式软件测试与普通软件测试相比有其自身的特点。 关键字:软件测试;嵌入式测试;软件质量 1、引言 嵌入式软件的开发和测试也就与普通软件的开发和测试策略有了很大的不同,嵌入式软件系统是一种针对特殊任务、特殊环境而进行特殊设计的定制产品,有其专门的开发环境、软硬件紧密结合、严格的实时要求等特点。使得嵌入式软件测试与普通软件测试虽有相似之处,但有也有其自身独特的特点。 2、软件测试和嵌入式软件测试 2.1 软件测试的定义及目的 软件测试,即Software Testing。软件测试的定义有很多,在1979年出版的一本经典著作《软件测试艺术》(The art of software testing)中,GLEMFORD J.MYERS曾经对软件测试下过如下定义:软件测试就是为了发现错误而执行程序或系统的过程。虽然它不太完善,但放在当时的情况下是可以说的通的。 随着计算机和软件技术的发展,软件应用的复杂性和规模的不断扩大,软件测试技术的研究也取得了很大的突破。早期的定义已经不适用了,许多专家对软件测试提出了各种各样的定义。综合起来,我们可以定义“软件测试是由一个程序的行为在有限测试用例集合上,针对期望的行为的动态验证组成,测试用例是从通常的无限执行域中适当选取的”。

嵌入式系统及应用 实验大纲

《嵌入式系统及应用》课程实验 一、实验课程的性质、目的和任务 性质:《嵌入式系统及应用》课程是自动化专业的专业基础课程,本实验课是该课程教学大纲中规定必修的实验教学内容。 目的和任务:通过实验环节来巩固和加深学生对嵌入式系统的理解,使学生掌握MCS51单片机和ARM的基本原理和应用技术。通过熟悉MCS51开发环境和ARM集成开发环境,使学生掌握嵌入式系统开发的一般规律和方法。在集成开发环境下,进行系统功能程序的编写和调试的训练,掌握嵌入式系统软硬件调试的一般方法和系统设计的能力。 二、实验内容、学时分配及基本要求

三、考核及实验报告 (一)考核 本课程实验为非独立设课,实验成绩占课程总成绩的15%,综合评定实验成绩。(二)实验报告 实验报告应包括: 实验名称 实验目的 实验内容与要求 设计思路(如:分析、程序流程图等) 实验步骤 实验代码(含必要注释) 实验结果分析 实验小结(本题调试过程中遇到的问题和解决方法、注意事项、心得体会等)注:综合型实验需写出系统功能、设计过程 实验报告的要求: 实验报告以文本形式递交,实验报告要书写规范、文字简练、语句通顺、图表清晰。 四、主要仪器设备 硬件:微型计算机;嵌入式系统开发平台。 软件:Keil C51;ADT 五、教材及参考书 教材

[1] 高锋.单片微型计算机原理与接口技术(第二版).北京:科学出版社,2007 [2] 自编.嵌入式系统及应用 参考书 [1] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2003 [2] 陈赜.ARM9 嵌入式技术及Linux高级实践教程.北京:北京航空航天大学出版社,2005 [3] 李忠民等.ARM嵌入式VxWorks实践教程.北京:北京航空航天大学出版社,2006

嵌入式系统软件测试技术期末报告

期末总结报告 课程名称:嵌入式系统软件测试技术 学院:信息工程与自动化 专业:计算机科学与技术 年级: 2010级 学生姓名: 学生学号: 201010803116 指导教师:江虹 日期: 2013年1月2日

一、嵌入式软件测试的特点及步骤 嵌入式软件测试作为一种特殊的软件测试,它的目的和原则同普通的软件测试氏相同的,同样是为了验证或达到可靠性要求而对软件进行的测试。 但是和一般的应用软件测试的可靠性测试相比,嵌入式软件测试有自身的特点:(特别是对于没有操作系统的嵌入式应用软件而言) 1)嵌入式软件测试是在特定的硬件环境下才能运行的软件。因此,嵌入式软件测试最重要的目的就是保证嵌入式软件能在此特定的环境下更可靠地运行。 2)嵌入式软件测试除了要保证嵌入式软件在特定环境中运行的高可靠性,还要保证嵌入式软件的实时性。比如在工业控制中,如果某些特定环境下的嵌入式软件不具备实时响应的能力,就可能造成巨大的损失。 3)嵌入式软件产品为了满足高可靠性的要求,不允许内存在运行时有泄漏等情况发生,因此嵌入式软件测试除了对软件进行性能测试、GUI测试、覆盖分析测试是同普通软件测试一样都不可或缺之外,还需要对内存进行测试。 4)嵌入式产品不同于一般的软件产品,在嵌入式软件和硬件集成测试完成之后,并不代表测试全部完成,在第一件嵌入式产品生产出来之后,还需要对其进行产品测试。嵌入式软件测试的最终目的是使嵌入式产品能够在满足所有功能的同时安全可靠地运行。 因此,嵌入式软件测试除了要遵循普通软件测试的原则之外,还应该遵循以下几个原则; 1)嵌入式软件测试对软件在硬件平台的测试氏必不可少的。 2)嵌入式软件测试需要在特定环境下对嵌入式软件进行测试,比如,对某些软件在工业强磁场的干扰下测试,这也是为保证嵌入式软件可靠性所必须进行的测试。 3)必要的可靠性负载测试,比如,测试某些嵌入式系统能否连续1000个小时不断电工作。 4)除了要对嵌入式软件的功能进行测试之外,还需要对实时性进行测试。 在判断系统是否失效方面,除了看它的输出结构是否正确,还应考虑其是

嵌入式系统仿真测试平台的体系结构研究

!"##!年第$期 福建电脑注:本文得到广东省科技厅攻关项目资金资助%项目编号"##"&’(&)电子科技大学青年基金项目资助%项目编号*+#"#,#-。 &、 引言目前嵌入式系统开发已经成为了计算机工业最热门的领域之一,嵌入式系统应用渗透到信息家电、工业控制、通信与电子设备、人工智能设备等诸多领域。然而嵌入式系统的软件与目标硬件紧密相关,软件开发周期长,开发成本昂贵,软件质量无法保障.&/."/。特别是嵌入式软件的测试工作,在整个开发周期中通 常占用着大部分时间 (-#01,#0)。软件测试是一个非常重要而又艰苦的过程。软件测试工具用来全部或部分的代替人工进行软件的测试工作。它能极大的节省人力、物力和财力,缩短项目的开发周期。 国际上,许多软件公司致力于开发功能强大的软件测试工具。按获得测试信息的方式分为纯硬件、纯软件、软硬件相结合三种类型的测试工具。纯硬件测试工具如仿真器、逻辑分析仪、开发系统等。纯软件测试工具如234563786的2345938:,是一种软件逻辑分析仪。软硬件相结合的测试工具如以;<公司的=>?938:为代表的虚拟仪器和以@AB 公司的BC58DEFD 为代表的测试工具。这三类测试工具都有一个缺点:没有提供一个集成各种软硬件测试工具的框架,使各类测试工具能紧密协调工作。 为提高测试工作的效率,迫切需要功能强大的嵌入式系统测试工具。 仿真开发在嵌入式系统开发中正在发挥着越来越重要的作用。许多软件公司已经开发出成熟稳定的嵌入式仿真开发工具。但是在嵌入式仿真开发中,仍然缺乏一种嵌入式系统测试工具的集成框架。本文正是基于这个目标,从软件体系结构的角度,研究和设计了一种称为G EFDH G 的嵌入式系统仿真测试平台的集成框架。并基于其上实现了一个嵌入式仿真测试平台3I >EFDH 。 "、 嵌入式系统仿真测试平台的体系结构EFDH 对于大规模复杂软件系统,其总体结构设计远比算法和数据结构的选择更重要.J /.!/。基于这样的认识和背景,本文在对嵌入式测试和嵌入式仿真开发深入研究的基础上,研究和设计了EFDH 的体系结构。"K &EFDH 的结构模型 EFDH 的体系结构主要借鉴了当前流行的嵌入式交叉开发工具的目标服务器L 目标代理结构.’/,分为宿主机端和仿真目标机端两大部分。 EFDH 的结构模型见图&: 图&EFDH 结构模型 EFDH 结构模型的基本特征:&M EFDH 由宿主机端和目标机端两大部分构成,宿主机 端以测试服务器DF (D8NO F86786)为核心;目标机端以测试代理D@P D8NO @Q84O M 为核心。 "M 所有的测试工具不与目标机端交互, 而只与测试服务器DF 进行交互;测试服务器DF 同测试代理D@交互。这样只要更换相应的测试代理D@,即可与不同的仿真开发系统一起工作。 J M 测试服务器DF 与所有测试工具之间通过嵌入式仿真测试工具交换协议EFDDR (ES?85585F3STU>O3C4D8NO DCCU 8RI VW>4Q8X6COCVCU ) 规范接口进行交互。!M 测试服务器DF 和测试代理D@之间通过嵌入式仿真测试协议EFD P ES?85585F3STU>O3C4D8NO X6COCVCU M 规范接口进行交互。 ’M 测试工具以软插件的形式集成到EFDH 中%EFDDR 和EFD 规范定义的接口是公开的和可免费获得的,第三方测试工具非常容易的集成到EFDH 中来。 -M 测试工具多种多样,可以是软件代码测试工具,也可以是硬件诊断测试工具,都可以很容易的集成到EFDH 中来,从而达到各类测试工具的紧密协作。 $M EFDH 中各类测试工具紧密集成到一个图形用户接口中,大大提高了用户的工作效率。 ,M 测试代理D@以一个线程的形式存在于仿真运行环境中,与各类模拟器之间通过固定的接口交互,获取丰富的测试信息。 "K "测试服务器DF 模型 测试服务器DF 是EFDH 的核心结构部件,作为EFDH 的测试管理器,其结构模型如图"。 图"测试服务器DF 结构模型 DF 的主要功能:&M DF 提供相应的EFDDR 协议规范接口,接受来自测试工具的控制命令和状态查询,并提供相应的数据传输接口,向测试工具返回对应的测试结果。 "M DF 提供相应的EFD 协议规范接口,向采集代理发送控制命令信息和状态查询信息,并且根据EFD 协议规范提供的接口收取返回信息。 J M DF 提供测试高速缓冲管理、 测试存储器管理以及流测试协议,管理和控制整个宿主机端。"K J 测试代理D@模型 嵌入式系统仿真测试平台的体系结构研究 邵荣防,罗克露 P 电子科技大学计算机科学与工程学院,四川 成都-&##’!M 【摘要】仿真开发在嵌入式开发中正逐步成为热点,仿真测试工具在仿真开发过程中正发挥着日益重要的作用。本文首先简要分析了当前的嵌入式测试工具,然后给出一种嵌入式仿真测试平台的体系结构EFDH 。基于EFDH 体系结构,实现了一个面向信息家电的嵌入式仿真测试平台3>EFDH 。 【关键词】嵌入式系统仿真开发 仿真测试平台

嵌入式系统的测试和可靠性评估

嵌入式系统的测试和可靠性评估 摘要:引入多种嵌入式系统测试方法;根据ISO 9000国际质量标准,提出一种切实可行的可靠性评估方案,并使它们应用于嵌入式产品测试中,测试效果良好。最后,通过测试实例说明嵌入式系统的系统测试过程和分析。 关键词:嵌入式系统;系统测试;测试方法;可靠性评估 随着嵌入式系统硬件体系结构的变化,嵌入式系统的发展趋势向嵌入式系统高端,即嵌入式软件系统转移,具体体现在嵌入式操作系统趋于多样和应用软件日渐复杂。由于嵌入式系统软硬件功能界限模糊,研究如何进行系统测试和进行质量评估来保证嵌入式系统的产品质量具有重要意义。 首先,这里明确嵌入式系统的系统测试定义,是将开发的软件系统(包括嵌入式操作系统和嵌入式应用软件)、硬件系统和其它相关因素(如人员的操作、数据的获取等)综合起来,对整个产品进行的全面测试。嵌入式系统的系统测试比PC 系统软件测试要困难得多,主要体现如下:①测试软件功能依赖不需编码的硬件功能,快速定位软硬件错误困难;②强壮性测试、可知性测试很难编码实现;③交叉测试平台的测试用例、测试结果上载困难;④基于消息系统测试的复杂性,包括线程、任务、子系统之间的交互,并发、容错和对时间的要求;⑤性能测试、确定性能瓶颈困难;⑥实施测试自动化技术困难。 1测试方法 根据Goodenough和Gerhart提出的软件测试充分性准则可知,软件测试具有非复合性的特点,也就是说,即使以软件所有成分都进行了充分的测试,也并不意味着整个软件的测试已经充分。所以,即使通过了需求测试、设计测试、编码测试,并不意味着已经完全了充分的测试,还要进行软硬件全面测试,即系统测试。正确的系统测试方法能设计出良好的测试用例,而良好的测试用例是测试成功的关键。测试用例质量特性主要有以下几点。 ①检验性:检测软件缺陷的有效性,是否能发现缺陷或至少可能发现缺陷。②可仿效性:可以支持测试多项内容,减少测试用例的数量。③开销:测试用例的执行、分析和调试是否经济。④修改性:每次软件修改后对测试用例的维护成本。测试方法不仅要保证测试用例具有发现缺陷的高可移植性,而且还要保证测试用例设计的经济有效。因此,在实际测试工作中,将嵌入式系统的测试方法分类如下:根据测试是否动态运行被测程序分为静态测试方法和动态测试方法;根据测试阶

嵌入式系统测试方法

GSM手机测试基础知识 测试手机的主要参数有: 1)发射功率等级TX power level(5~19) 2)频率误差frequency FER 3)相位误差Phase PER 4)射频频谱RF Spectrum 5)开关谱SwitchSpectrum 6)接受灵敏度RX Sensitivity 7)调制谱Modulation Spectrum 测试系统需要的主要设备: 1)模拟基站的综合测试仪如德国罗德-史瓦茨公司的CMU200 2)通信专用电源如2304A双通道移动通讯高速电源,该电源在脉冲负载变化时展现了他显著的电压稳定性,同时能够测量负载电流。对于测试需电池供电的无线通讯设备(例如便捷式电话),在非常短的时间间隔内经历真实的负载变化而言,这种电源是最优化的。 3)手机夹具等 4)测试开发软件labview或VB等labview快速方便 测试过程 实际测量系统的工作过程是首先手机开机,寻找与模拟基站CMU之间的频率同步;然后对PS(电源)与CMU进行初始化;初始化正确完成后在MSC上注册手机IMSI号;建立MS对BS(基站)的呼叫;当呼叫成功时,开始测量手机GSM900参数;首先测量信道1三个功率等级(Lv5,Lv10,Lv15)的发射功率;若符合标准,进入信道1的FER(频率误差)与PER(相位误差)测量;按同样的步骤测量信道62、123的发射功率、FER与PER;测量GSM900的Modulation Spectrum(调制谱)、SwitchSpectrum(开关谱);从GSM900切换到DCS1800;测量信道512,69 8,885的各发射功率,FER,PER,ModulationSpectrum和SwitchSpectrum;在测量过程中如果任何参数不符合标准,立即显示FAIL并生成报告退出,全部测试完毕显示PASS并生成报告退出。

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

实验三 搭建嵌入式系统开发环境

实验三搭建嵌入式系统开发环境 一、实验目的: 1.掌握嵌入式开发环境的配置; 2.掌握开发工具链的安装与配置; 3.掌握嵌入式系统内核和根文件系统的烧写的过程。 二、实验内容: 1)安装配置嵌入式开发环境; 2)安装与配置工具链; 3)内核和根文件系统的烧写 三、实验设备及工具: 硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。 软件:PC机操作系统Red Hat Enterprise Linux 4、MINICOM 、AMRLINUX开发环境。 四、实验步骤: 1.共享windows下内核文件至linux环境下,并将文件复制至个人开发目录中 2.进入目录,输入make menuconfig,对内核进行裁剪配置 3.编译内核之前输入make clean清理编译环境 4.输入make dep 编译相关依赖文件 5.输入make zImage 输出最终编译后的镜像文件 6.将镜像文件共享至windows环境下 7.在windows打开超级终端,进入vivi,将镜像文件烧录至实验箱开发板中 五、实验总结: 通过本次实验,熟悉了Linux 开发环境,学会了如何进行linux内核的烧写。在实验

过程中了解到Linux内核模块的组成结构,通过本次实验,初步了解嵌入式开发的基本过程。 实验四嵌入式驱动程序设计 一、实验目的: 1.学习在LINUX 下进行驱动设计的原理 2.掌握使用模块方式进行驱动开发调试的过程 二、实验内容: 在PC 机上编写简单的虚拟硬件驱动程序并进调试,实验驱动的各个接口函数的实现,分析并理解驱动与应用程序的交互过程。 三、实验设备及工具: 硬件:UP-NETARM2410-S嵌入式实验仪、PC机pentumn500以上、硬盘40G以上、内存大于256M。 软件:PC机操作系统Red Hat Enterprise Linux 4、MINICOM 、AMRLINUX开发环境。 四、预备知识: 1.有 C 语言基础。 2.掌握在Linux 下常用编辑器的使用。 3.掌握Makefile 的编写和使用。 4.掌握Linux 下的程序编译与交叉编译过程。 5.有驱动开发的基本知识。 五、实验步骤: 1.进入/arm2410cl/exp/drivers/01_demo,使用vi 编辑器或其他编辑器阅读理解源代码 2.使用makefile编译驱动模块与测试程序,编译器采用armv4l-unknown-linux-gcc 3.将编译后的驱动模块demo.o和测试程序test_demo挂载到实验箱上 4.插入驱动模块demo.o 执行命令insmod demo.o 5.查看驱动是否插入成功,执行命令lsmod demo.o 6.运行测试程序,查看执行结果

通用嵌入式系统软件测试平台的设计

2007,43(15) 1引言 目前,软件测试的理论和方法应用于普通个人计算机和大型机中已经非常成熟,这主要得益于它们的硬件资源比较丰富,而且内部结构和外部接口高度统一,并且有强大的操作系统支持。相对而言,嵌入式系统由于受自身内存不丰富,外设资源少,体系标准不统一,没有操作系统,或者难以获得操作系统足够支持等因素的制约,嵌入式软件的测试必须高度依赖于自身的调试平台,而往往这样的调试平台不足以进行全面的软件测试。 通用嵌入式系统软件测试平台(以下简称通用测试平台)通过仿真的手段,在PC机上模拟各种嵌入式系统,让嵌入式系统软件在模拟的环境中运行,并且在通用测试平台的控制下进行各种测试,从而能将成熟的软件测试方法应用于嵌入式系统软件中,有效地提高嵌入式系统软件的可靠性和开发效率、缩短产品的开发周期。 本文讨论的通用测试平台仅针对基于32位ARMCPU内核的各种嵌入式系统。通用测试平台必须高度可配置,可由用户根据实际的嵌入式系统,配置不同的模拟目标,并且真实反映实际的硬件外设资源;更为重要的是,通用测试平台必须提供完善的平台与被测软件交互的接口,通过这些接口,用户能方便地实现和使用各种软件测试方法;而且具备可靠的记录手段,将测试结果保存下来进行后续分析;同时还应该具有良好的结构和人机界面,方便扩充模拟目标和二次开发。 本文将围绕上述要求阐述通用嵌入式系统软件测试平台的整体框架设计,并介绍与之配合使用的工具链。 2通用嵌入式系统软件测试模拟环境 2.1嵌入式系统软件模拟测试方法 本文介绍的通用测试平台运用了全数字仿真技术,在PC机上模拟整个嵌入式硬件系统,不但包括核心CPU,而且将外围各种器件,如串口、定时器、实时时钟、通用I/O等,进行数字化仿真。嵌入式软件无需,或者稍加改动就能在这个仿真环境下运行。在这个封闭的黑盒子中,嵌入式软件如同在真正硬件上被执行,通过仿真模型内建的测试接口导出或发送测试数据,驱动被测软件运行,进而验证软件测试结构,从而实现对嵌入式系统软件动态的封闭测试。 2.2嵌入式系统软件测试环境与功能 通用测试平台为嵌入式软件测试的自动化提供了必要的支持,这些支持分别体现在测试过程的两个阶段:编译插装和测试运行。在测试开始前,使用通用测试平台专用的工具链,将被测软件和测试用例、测试方法进行整体插装和编译。在测试运行过程中,要求通用测试平台能够对测试脚本中的测试任务进行管理和实时的调度,组织被测系统运行所需要的输入条件,并提供人工干预界面,实现测试中人机模型之间以及与被测系统之间的数据交互,并实时地收集从被测系统返回的结果数据用于实时显示和事后的数据分析等。 通用嵌入式系统软件测试平台的设计 沈永清,徐中伟 SHENYong-qing,XUZhong-wei 同济大学通信工程系,上海200331 DepartmentofCommunicationEngineering,TongjiUniversity,Shanghai200331,China SHENYong-qing,XUZhong-wei.Designofgeneralsimulationtestplatformforembeddedsystemsoftware.ComputerEngineeringandApplications,2007,43(15):83-85. Abstract:Simulationtestisavaluablewaythatcanimprovethequalityandreliabilityofsoftware;generalsimulationtestplatformisasetofsoftwaresystemrunningonpersonalcomputer,viausingmodulesofARMCPUbehaviorandperipheralhardwaresimulatorandatestingcontroller,whichsupporttestingdifferentembeddedsoftwarewithoutanychanginginsource.Thispaperfocusesonthearchitectureofageneralsimulationtestplatformandthedesignofsimulator,testingmanagerandspecialtoolsforthisplatform,thenputsforwardanimplementationmoduleforthetestingmanagerindetail. Keywords:embeddedsoftware;softwaretest;embeddedsystemsimulation;testingenvironment;testmanagement 摘要:仿真测试是嵌入式软件系统测试阶段的一种有效测试方法,探讨了通过在PC机上仿真模拟ARM嵌入式系统,对嵌入式系统软件进行仿真测试的通用测试平台的设计。该平台可以在不做大幅度修改的情况下对不同的嵌入式系统软件进行各种测试。重点介绍了仿真模拟器、测试管理器和测试平台专用工具链的设计,提出了一种测试管理器的实现模型,并进行了详细的描述。 关键词:嵌入式软件;软件测试;嵌入式系统仿真;测试环境;测试管理 文章编号:1002-8331(2007)15-0083-03文献标识码:A中图分类号:TP311 作者简介:沈永清(1978-),男,在读硕士研究生,主要研究方向:铁路软件安全测试,计算机通信网;徐中伟(1964-),男,教授,博士生导师,主要研究方向:铁路软件安全测试与安全评估,测试自动化。 ComputerEngineeringandApplications计算机工程与应用83

《嵌入式系统与开发》测试题 - 答案

测试题0及参考答案 (1)ARM汇编程序由指令、指令和指令构成。 (2)ARM C____(A.0X12 B.0X34 C.0X56 D.0X78)(采用小端模式进行存储) (4)一般情况下,ARM微处理器异常处理模式共有___7___种,机器启动后第一条指令执行的是__A___(A.复位异常处理函数指令 B.中断异常处理指令 C.IRQ 异常处理指令 D.指令预取终止异常)。 (5)调用函数FUN(X,Y,Z),则实参值分别通过__r0__、_r1___、_r2__寄存器来进行传递,如果参数超过4个,则参数传递规则为____通过栈进行传递________。 (6)举例列出一款ARM7TDMI微内核的嵌入式微处理器_S3C44B0X_,ARM920T微内核的嵌入式微处理器_S3C2410_,ARM11内核的嵌入式微处理器__S3C6410____,并列举2款64位ARM微内核_Cortex-A53 __、__Cortex-A57________。 (7)利用汇编和C混合编程,设计代码完成求a,b,c中最大值功能,要求写出汇编启动代码和C代码。 (略)此知识点不需要掌握 测试题1及参考答案 1.嵌入式Linux操作系统包括 bootloader 、内核、文件系统三部分组成。 2.在PC机上Linux系统编译使用的编译器名为 gcc ,ARM处理器嵌入式编译器名为 arm-linux-gcc 。 3.bootloader的功能:①引导操作系统内核启动②提供辅助命令工具。 4.列出最常用的bootloader:、、、、、。 5.在uboot中,打印开发板上环境变量值的命令为 printenv setenv ,假如嵌入式内核名为vmlinux,通过tftp加载内核的命令为

南邮嵌入式系统B实验报告2016年度-2017年度-2

_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期

实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop // B stop // END } return gcdnum; } int main() { int a; a = find_gcd(18,9);

printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include int find_maxnum(int a,int b,int c)

实时嵌入式系统平台自动测试工具

收稿日期:2003-10-16 基金项目:国家863计划项目(2002AA1Z2306) 作者简介:王陈(1973-),男,助理研究员,硕士,主要研究方向:嵌入式操作系统、测试工具和技术; 左雪梅(1968-),女,高级工程师,主要研究方向:嵌入式操作系统、测试工具和技术、数据通讯; 黄烨明(1974-),女,高级工程师,硕士,主要研究方向:嵌入式操作系统、第三代移动通讯. 文章编号:1001-9081(2003)12Z -0339-02 实时嵌入式系统平台自动测试工具 王 陈,左雪梅,黄烨明 (中兴通讯股份有限公司成都研究所,四川成都610041) 摘 要:介绍实时嵌入式系统平台的结构,在此基础上介绍一种嵌入式平台自动测试工具的设计原理及具体组成。该工具的使用能提高测试人员的效率,保证嵌入式平台的质量。 关键词:嵌入式系统;自动测试工具;实时;消息中图分类号:TP316 文献标识码:A 1 引言 随着嵌入式技术的发展,嵌入式系统复杂性不断提高,对 嵌入式的测试技术的要求也越来越高,为了提高测试的效率和质量,对嵌入式自动测试工具的研究变得十分紧迫。本课题研究的自动测试工具是针对面向通讯领域的嵌入式操作系统平台的,但其研究结果适用于嵌入式系统应用程序的自动测试。嵌入式操作系统平台是通讯系统设备软件支撑环境。其本质就是封装操作系统本身,使得应用程序与嵌入式操作系统无关,并提供消息驱动机制。测试工具是建立在该平台之上的,利用其消息驱动机制对该平台进行功能性、业务性的测试,专注于测试该平台是否满足功能需求,而没有特别关心诸如代码覆盖率等这些泛泛目标。1.1 嵌入式操作系统平台介绍 如图1所示,嵌入式操作系统平台包括操作系统的适配:Linux 、VxWorks 、PSOS 等的适配。操作系统适配位于平台支撑和操作系统之间,实现对底层操作系统的屏蔽,对嵌入式软件平台及上层应用提供统一的系统调用。平台支撑部分提供了通讯设备分布式系统必须的基础功能,如内存管理、定时管理、调度管理、进程通信、系统监控、异常处理。支撑部分组成了消息驱动机制 。 图1 嵌入式软件平台系统结构图 本平台主要为通信系统级设备提供稳定的操作系统支撑 功能,屏蔽底层操作系统和硬件,向上为各处理机上的应用程序提供了一个统一的运行平台,其设计满足下列特性: 1)高可靠性,能满足电信网长时间稳定运行的要求;2)实时性,能满足电信信令、协议、业务应用、多处理机 间数据同步的时间要求; 3)自愈性,尽可能检测、处理和记录整个系统异常; 4)可维护性,能对核心资源和系统服务的使用和调用状况进行必要的跟踪和记录; 5)简单性,仅向应用程序提供必要的系统服务,屏蔽非必要的系统服务; 6)封装性,能完全屏蔽硬件特性,使应用层与硬件无关;彻底封装第三方的实时操作系统(VxWorks ,嵌入式Linux )的核心资源和系统服务,为各处理机的应用程序提供一个统一的和可移植的软件平台; 7)可移植性,能够方便地在商业实时操作系统间进行移植; 8)可扩充性,能增加、删除不同的模块和功能,具有很强的设计弹性和对不同产品的适应能力。1.2  设计原理 图2 自动测试工具总体结构 嵌入式系统测试的一般步骤是在主机上编写测试用例代 码,然后把该代码编译下载到目标机,接着通过调试器执行该测试用例目标代码。在嵌入式环境下测试一项系统功能耗费的时间和人力是惊人的。根据我们对过去多个项目的软件过程能力分析发现,测试执行所花费的时间占整个测试活动的50%左右,而编译下载这种繁琐低效的工作占了测试执行40%左右的时间。为了解决工作效率问题,我们需要一种工具,可以一次编译,然后根据命令多次执行。通过分析我们把嵌入式测试工具分成了三个部分,主机的脚本命令模式、主机和目标机的通讯以及目标机的代理测试执行。基本结构如图2所示,测试人员只需要利用测试工具通过脚本发送相应的命令,命令解析部分负责把命令组成相应的消息;消息通过通讯部分发送到目标测试代理上;测试代理根据解析出的消息 第23卷 2003年12月   计算机应用 Computer Applications   Vol.23Dec.,2003

嵌入式软件测试(参考答案)

一、填空题:(10题,每题2分,共20分)1、嵌入式系统是计算机技术、通信技术、半导体技术、微电子技术、语音图像数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的更新换代产品。 2、ARM 处理器当前主要有6个系列产品:ARM7、ARM9、ARM9E、 ARM10E SecurCore及最新的ARM11 系列。 3 、实时是嵌入式系统的主要特征, 根据截止时间的要求,可将实时分为硬实时和软实时。 4、嵌入式应用软件典型的开发方式是宿主机/ 目标机方式。 5、MISRA C已经被越来越多的企业接受,成为用于嵌入式系统的C语言标准, 特别是对安全性要求极高的嵌入式系统,其软件应完全符合MISRA标准。 6、插桩也称为打点,是在程序中插入额外的代码来获得程序在执行时有关行为信息的一种重要手段,属于动态测试的一种常用技术。 7、等价类划分的目的就是为了在有限的测试资源的情况下,用少量有代表性 的数据得到比较好的测试效果。 8、测试报告是把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。 9、TEmb作为一种全新的嵌入式软件结构化测试方法,覆盖了测试过程中的一些关键步骤,回答了“做什么、什么时候做、如何做、用什么方法做和谁去做”的问题。10、嵌入式软件测试自动化就是希望能够通过嵌入式软件测试自动化工具或其他的实现手段,按照测试人员预订的计划进行自动地嵌入式软件测试工 作。 二、选择题:(10题,每题2分,共20分) 1、嵌入式系统是集软硬件于一体的可独立工作的“器件”主,要包括 ___ A___、__ B___、__C _ 、___D___。 A 嵌入式微处理器

嵌入式系统综合实验一

实验名称: 姓名: 学号: 装 订 线 P.1 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED 灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC 引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.4.28 地点:创客空间

装订线送响应信号,送出40bit 的数据,幵触发一次信采集。 b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低电平保持时间不能小于18ms,然后等待DHT11 作出应答信号。 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11 的DATA引脚处于输出状态,输出80 微秒的低电平作为应答信号,紧接着输出80 微秒的高电平通知外设准备接收数据。 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。

嵌入式的测试浅谈

黑盒测试(Black box testing) ── 不考虑内部设计和代码,根据需求和功能进行测试。 白盒测试(White box testing) ── 根据应用软件的代码的内部逻辑,按照代码的语句、分支、路径和条件进行测试。 部件测试(Unit testing) ── 最小范围的测试,针对特定的函数和代码模块进行测试。因为需要了解程序的设计和代码的细节才能进行,所以 部件测试一般是由程序员,而不是由测试人员来做。除非应用软件的结构设计良好,而且代码也写得清楚,否则部件测试并非易事。也许需要开发测试驱动模块或测试工具。 递增的综合测试(incremental integration testing) ── 不断进行的测试过程,每增加一个新的功能模块,都进行测试。这要求一个应用软件在最终完成之前,各功能模块要相对独立,或者已根据需要开发出测试驱动软件。这种测试可由程序员或测试人员进行。 综合测试(integration testing) ── 对应用软件的各个部件进行组合测试,来检查各功能模块在一起工作是否正常。“部件”可以是代码模块、独立的应用程序、也可以是网络中的客户/服务器应用软件。这种测试特别适用于客户/服务器环境和分布式系统。 功能测试(functional testing) ── 对一个应用软件的功能模块进行黑盒测试。这种测试应当由测试人员进行。但这并不意味着程序员在推出软件之前不进行代码检查。(这一原则适用于所有的测试阶段。) 系统测试── 针对全部需求说明进行黑盒测试,包括系统中所有的部件。 端到端测试(end-to-end testing) ── 类似于系统测试,但测试范围更“宏观”一些。模仿实际应用环境,对整个应用软件进行使用测试。例如与数据库进行交互作业、使用网络通信、与其他硬件、应用程序和系统之间的相互作用是否满足要求。 健全测试(sanity testing) ── 是一种典型的初始测试。判断一个新的软件版本的运行是否正常,是否值得对它作进一步的测试。例如,如果一个新的软件每 5 分钟就破坏系统、大大降低系统的运行速度、或者破坏数据库,那么这样的软件就算不上是“健全”的,不值得在目前状态下进行进一步的测试。 回归测试(regression testing) ── 每当软件经过了整理、修改、或者其环境发生变化,都重复进行测试。很难说需要进行多少次回归测试,特别是是到了开发周期的最后阶段。进行此种测试,特别适于使用自动测试工具。 认同测试(acceptance testing) ── 基于说明书的、由最终用户或顾客来进行的测试。或者由最终用户/顾客来进行一段有限时间的使用。 负荷试验(load testing) ── 在大负荷条件下对应用软件进行测试。例如测试一个网站在不同负荷情况下的状况,以确定在什么情况下系统响应速度下降或是出现故障。

相关主题
文本预览
相关文档 最新文档