一种雷达导引头数据处理dsp软件测试方法

文档序号:10534722阅读:799来源:国知局
一种雷达导引头数据处理dsp软件测试方法
【专利摘要】本发明涉及一种雷达导引头数据处理DSP软件测试方法,组建一套行之有效的基于TESTBED测试工具与RTInsight数据采集器的导引头数据处理DSP软件系统测试平台,结合导引头软件系统测试中对各分系统功能验证中出现的诸多问题给出合理的解决方案。
【专利说明】
一种雷达导弓I头数据处理DSP软件测试方法
技术领域
[0001 ]本发明是应用于雷达导引头数据处理DSP软件的软件测试技术,属于雷达导引头数据处理DSP软件测试领域。
【背景技术】
[0002]随着电子对抗武器系统的发展,由最早的雷达系统功能靠硬件实现延续到现今雷达组网、数传等,出现了系统功能软件化,武器装备体积小、重量轻、跳频速率快等特点。雷达功能依靠软件实现已成为现代战场对武器装备的必然要求,可以说武器装备的软件可靠性主宰了整个战局的成败。军方对雷达等武器装备的软件可靠性要求越来越高。为了适应这种新的形势,渐渐认识到软件测试的重要性,并为此做了相应的研究工作。
[0003]本方法结合某雷达导引头数据处理软件开发的现状,开展针对性的嵌入式测试实践,总结优化嵌入式软件测试流程,引入自动测试、实时在线测试等技术,最终实现进一步提高嵌入式软件产品开发质量的目的。

【发明内容】

[0004]要解决的技术问题
[0005]为了避免现有技术的不足之处,本发明提出一种雷达导引头数据处理DSP软件测试方法,组建一套行之有效的基于TESTBED测试工具与RTInsight数据采集器的导引头数据处理DSP软件系统测试平台,结合导引头软件系统测试中对各分系统功能验证中出现的诸多问题给出合理的解决方案。
[0006]技术方案
[0007]一种雷达导引头数据处理DSP软件测试方法,其特征在于步骤如下:
[0008]步骤1:以国军标GJB5369-2005、GJB/Z141-2004为软件测试标准,使用TESTBED对雷达导引头数据处理DSP软件源代码进行静态分析,得到雷达导引头数据处理DSP软件源代码的调用关系图;
[0009]步骤2:根据调用关系图设计粧函数,对导引头数据处理软件源代码进行插粧,得到插粧后的代码;
[0010]步骤3:对插粧后的代码进行编译生成可以在信号处理测试板上运行的可执行代码;
[0011]步骤4:将可执行代码下载到信号处理测试板的RAM中运行,运行后的数据存储在SRAM;
[0012]步骤5:通过RTinsight进行实时数据采集与分析,得到覆盖率分析及性能测试的?艮胃。
[0013]一种信号处理测试板,包括DSP微处理器和FPGA,所述的DSP微处理器包括RAM、EMIFA接口和EMIFB接口,DSP程序下载到DSP微处理器内部的RAM中,FPGA与DSP微处理器通过EMIFA进行通信;其特征在于EMIFB接口外挂一个异步的SRAM存储插粧代码,RTInsight通过Probe Module连接到EMIFB总线。
[0014]所述的DSP微处理器为TMS320 C6416。
[0015]有益效果
[0016]本发明提出的一种雷达导引头数据处理DSP软件测试方法,根据被测系统的特性,设计满足测试需求的测试板卡,实现对导引头数据处理软件进行代码覆盖率分析、功能任务分析、性能分析。有益效果:
[0017]a)解决了导引头数据处理DSP微处理器的地址总线和数据总线通过连接线与RTInsight数据采集器的连接方式问题;
[0018]b)解决了导引头数据处理DSP软件实装环境无法实时监控系统的总线读写情况;
[0019]c)解决了雷达导引头数据处理DSP软件插粧代码膨胀后无法利用RTInsight实时进行代码覆盖率分析与性能分析。
【附图说明】
[0020]图1测试实施的流程图
[0021]图2导引头数据处理软件测试过程图
[0022]图3根据被测的硬件结构设计的被测板卡结构图
[0023]图4具体测试系统连接图
[0024]图5覆盖率分析结果
[0025]图6性能分析结果
【具体实施方式】
[0026]现结合实施例、附图对本发明作进一步描述:
[0027]为了提高导引头数据处理软件的可靠性,结合实际情况完成嵌入式软件的测试过程模型的改进,制定详细的导引头数据处理软件测试规范,以便于指导以后的测试。针对导引头数据处理软件是基于DSP的嵌入式实时系统,计划完成基于硬件实时测试工具RTinsight的覆盖率及性能测试的硬件搭建及测试工作。
[0028]为了能够将程序中写到指定地址的特征数据采集接收出来,通过RTInsight数据采集器监控总线数据和被测试系统的数据总线和地址总线连接,实时监控系统的总线读写情况,需要监控的地址对应的片选信号和写信号以及目标系统的地信号。
[0029]覆盖率分析是运行插装后的程序,向某一硬件地址写覆盖率信息,RTinsight将捕获到覆盖率信息进行分析从而动态显示程序覆盖情况,时间性能分析是运行RTinsight插装后的程序,向某一硬件地址写信息,RTinsight将捕获到信息进行分析从而动态显示程序实际运行的时间情况。内存泄露分析也需向某一硬件地址写入存储器申请与释放信息。所以要求程序中写到硬件地址的数据能在RTInsight连接的总线上产生相应的信号且该地址是被测试程序本身所不会使用到的。变量监控和堆栈监控要求变量存取信息和堆栈操作信息能在RTInsight连接的总线上产生相应的信号。
[0030]下面以某雷达导引头数据处理软件为例,在TITMS320 C6416(DSP微处理器)软件测试中所能执行的实施方式和附图,对本发明做进一步说明。
[0031 ]测试实施的流程如图1所示。
[0032]由于RTInsight接口没有提供时钟信号,读取的是系统总线上的异步时序,通过和被测试系统的物理总线连接,实时监控系统的总线读写情况。通过将C6416片子上的EMIFB的时钟频率降为40MHZ,再在片外加个2MB的SRAM,实现RTinsight实时监控插粧后代码在板上运行的数据。测试板制作完后,就可以开始对源代码进行静态分析,拿到的源代码需能通过编译,将源代码根据符合GJB5369-2005编码标准的进行代码质量度量,得到代码的函数调用关系;通过静态分析的源代码根据函数调用关系,设计粧函数,对源代码进行插粧;再将插粧后的代码进行编译,生成可执行代码;最后将可执行代码下载到信处测试板中运行;通过RTinsight进行实时数据采集与分析,得到覆盖率分析及性能测试的报告。以下是具体实施测试过程的内容。
[0033]I)测试准备
[0034]a)测试板设计制作
[0035]在测试准备前,需要将微处理器的地址总线和数据总线通过连接线的方式引出,被测项目是处理器TMS320 C6416下挂一个FPGA,FPGA与DSP通过EMIFA进行通信,目的是想要做DSP的程序测试,不关心FPGA上的程序,该项目没有外部RAM,DSP程序是下载到DSP内部RAM中,内部RAM可用空间为1M,使用Testbed进行源码插粧后超出了IM的可用空间,所以需在测试板卡上增加一片不小于2MB存储空间的SRAM,具体结构图如图2。
[0036]RTInsight接口没有提供时钟信号,读取的是系统总线上的异步时序,通过和被测试系统的物理总线连接,实时监控系统的总线读写情况。经过分析,可以利用D S P的E MIF B(16位宽)接口,外挂一个异步的SRAM(不少于2M),程序放到外部的SRAM中,RTInsight通过Probe Module连接到EMIFB总线,从而来完成DSP程序的测试过程,具体框图如图3。
[0037]b)静态测试阶段
[0038]在静态测试阶段,使用TESTBED对被测软件进行静态分析,分析软件的模块的调用关系,以国军标6见5369-2005、6邛/2141-2004软件测试标准和相应0/^++语言软件开发过程经验为依据,制定了软件质量度量准则,获得相应的质量度量结果,作为评价软件质量的依据。
[0039]c)动态测试阶段
[0040]在动态测试中要对被测软件进行代码覆盖率分析。代码覆盖率分析有2种方法,第一是使用仿真器与逻辑分析仪,由于仿真器与逻辑分析仪不能准确判断预指令是否真正执行,同时对指令CACHE中的代码不能正常进行代码覆盖率分析,因此很难用于嵌入式实时系统代码覆盖率分析;第二是软件插粧技术,在主机平台的软件测试中使用广泛,有时也用于非实时性嵌入式系统中进行代码覆盖率分析,但是由于增加了被测系统的开销,影响了被测系统的实时性,因此很难用于实时嵌入式系统代码测试。
[0041]本次动态测试后配置项测试语句覆盖率为75%,分支覆盖率65%,调用覆盖率为91.0%,雷达导引头数据处理DSP软件功能模块覆盖率96 %。针对动态测试的覆盖率结果,还需要采用代码插粧技术与实时硬件数据采集器RTInsight相互配合,实时地对嵌入式系统进行代码覆盖率分析,方得到覆盖率更高的结果和性能分析结果。
[0042]2)测试实施
[0043]a)实时覆盖率分析
[0044]使用代码插粧技术,判断代码执行情况,由于采用RTInsight高速虚拟端口技术使得插粧量可控制在每个特征点(即函数入口、出口,程序分支点),减少插粧代码增加对被测系统的影响。TESTBED使用下面的比率来测量覆盖率:执行对象数/所用应执行的对象数。通过累计记录的方式,TESTBED和RTInsight相配合,可以得到在不同测试用例作用下,分别以图、表形式表示的软件执行的分支覆盖率、语句覆盖率、调用覆盖率累计情况,以及在测试用例实施情况下,软件分支执行的对错。通过RTInsight发现有一些语句在测试用例作用下始终未被执行覆盖,经过分析发现该部分软件在运行时不会有满足被执行条件的可能,应为软件代码中的多余部分。通过测试用例的注入,本次配置项测试语句覆盖率为97%,分支覆盖率86%,调用覆盖率为100.0%,雷达导引头数据处理DSP软件功能模块覆盖率100%。具体结果如图4。
[0045]b)性能分析
[0046]在性能测试时首先要对RTInsight进行配置,选择内部时钟的频率,指定启动计时和停止计时命令的地址;然后在被测软件中测试时间的起点加入启动计数功能的指令,在结尾处加入停止计数的指令;RTInsight通过监控系统总线,在发现开始计数命令后,记录内部集成的高精度时钟的时间值,收到结束命令停止计时再次记录该时刻的时钟值。利用这种技术,可以记录分析程序中每个函数的最大运行时间、最小运行时间、总的运行时间、以及运行次数,或者任意2点间的运行时间的统计。在对某型号雷达导引头数据处理DSP软件测试中就使用到了这项功能,很方便的分析了软件中的所有延时特性。图5给出的是性能分析结果。
[0047]3)形成测试报告
[0048]通过使用TESTBED及RTinsight测试工具进行雷达导引头数据处理软件测试,并形成静态分析报告和覆盖率测试报告,反映出的情况清晰,为评估软件设计和软件的测试提供了可靠数据,也给软件维护带来很大帮助。
[0049]图2是根据被测的硬件结构设计的被测板卡结构图。测板卡是处理器TMS320C6416下挂一个FPGA,FPGA与DSP通过EMIFA进行通信,DSP程序是下载到DSP内部RAM中。
[0050]图3是具体测试系统连接图。利用导引头数据处理DSP软件系统的EMIFB(16位宽)接口,外挂一个异步的SRAM(不少于2M),程序放到外部的SRAM中,RTInsight通过ProbeModul e连接到EMIFB总线,从而来完成DSP程序的测试过程。
【主权项】
1.一种雷达导引头数据处理DSP软件测试方法,其特征在于步骤如下: 步骤1:以国军标GJB5369-2005、GJB/Z141-2004为软件测试标准,使用TESTBED对雷达导引头数据处理DSP软件源代码进行静态分析,得到雷达导引头数据处理DSP软件源代码的调用关系图; 步骤2:根据调用关系图设计粧函数,对导引头数据处理软件源代码进行插粧,得到插粧后的代码; 步骤3:对插粧后的代码进行编译生成可以在信号处理测试板上运行的可执行代码; 步骤4:将可执行代码下载到信号处理测试板的RAM中运行,运行后的数据存储在SRAM; 步骤5:通过RTinsight进行实时数据采集与分析,得到覆盖率分析及性能测试的报告。2.—种用于权利要求1中的信号处理测试板,包括DSP微处理器和FPGA,所述的DSP微处理器包括RAM、EMIFA接口和EMIFB接口,DSP程序下载到DSP微处理器内部的RAM中,FPGA与DSP微处理器通过EMIFA进行通信;其特征在于EMIFB接口外挂一个异步的SRAM存储插粧代码,RTInsight通过Probe Module连接到EMIFB总线。3.根据权利要求2所述的一种信号处理测试板,其特征在于所述的DSP微处理器为TMS320C6416。
【文档编号】G06F11/36GK105893255SQ201610190723
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】李国强, 张虹, 王小波, 潘晓佳
【申请人】西安电子工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1