实时嵌入式软件测试工具的研究
A Research on Real-Time Embedded Software Testing Tools
ABSTRACT This thesis has a test for the Real-Time Embedded Software under the environment without the real hardware with simulation. Construct an environment suitable for the simulation of software running, and put forward some testing models suitable for varied environment.
在国内,目前大型的软件工程中大都使用国外的软件测试平台,我们在测试工程中使用法国的LOGISCOPE测试平台对C语言开发的实时嵌入式软件进行测试。
由于实时嵌入式软件主要是对外部接口设备进行控制,而被送检的软件需要大量不同的硬件环境,在进行测试时,由于无法建立大量不同的接口设备的硬件仿真环境,每当执行输入输出指令时,程序便无法继续运行,因此,测试软件无法完整地覆盖整个程序的各个分支和语句。同时,被测试软件常常需要多个模块同时对某个外设进行共同测试,需要通过网络环境进行集中测试。
为了完成对各种实时嵌入式软件的测试工作,我们研制开发了基于网络的接口设备的软件仿真环境,使得用户程序运行时不再需要真正的接口硬件设备,而是与仿真软件进行通讯,交换数据,从而使得被测程序在脱离硬件的环境中顺利运行。本课题主要解决C语言和汇编语言混合编程中,把所有原来控制外设的输入输出指令都修改成与仿真软件进行通信的函数,同时,把原来由硬件触发的中断处理功能转由软件触发,以及通过网络环境完成多模块的集中测试。
本课题的意义在于建成一种通用的方法,使得不同软件开发的程序都能够使用这些功能模块与接口仿真软件进行通信,从而顺利地进行软件测试。
被测软件的运行环境绝大多数是基于DOS的,在仿真环境下进行测试时,由于原来的硬件环境不再存在,因此要求对被测软件进行相应的修改,使其在一个新的系统模型当中运行:原来与硬件进行I/O的指令,变成对仿真软件通讯动态链接库中函数的调用;由硬件触发的中断信号变成来自仿真软件的消息;更重要的是,原来由CPU负责调度的中断服务函数必须由新的模型来负责(因为不再有硬件中断信号),而由于
《实时嵌入式软件测试工具的研究》