一種雷達導引頭數(shù)據(jù)處理dsp軟件測試方法
【專利摘要】本發(fā)明涉及一種雷達導引頭數(shù)據(jù)處理DSP軟件測試方法,組建一套行之有效的基于TESTBED測試工具與RTInsight數(shù)據(jù)采集器的導引頭數(shù)據(jù)處理DSP軟件系統(tǒng)測試平臺,結(jié)合導引頭軟件系統(tǒng)測試中對各分系統(tǒng)功能驗證中出現(xiàn)的諸多問題給出合理的解決方案。
【專利說明】
一種雷達導弓I頭數(shù)據(jù)處理DSP軟件測試方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明是應用于雷達導引頭數(shù)據(jù)處理DSP軟件的軟件測試技術(shù),屬于雷達導引頭數(shù)據(jù)處理DSP軟件測試領(lǐng)域。
【背景技術(shù)】
[0002]隨著電子對抗武器系統(tǒng)的發(fā)展,由最早的雷達系統(tǒng)功能靠硬件實現(xiàn)延續(xù)到現(xiàn)今雷達組網(wǎng)、數(shù)傳等,出現(xiàn)了系統(tǒng)功能軟件化,武器裝備體積小、重量輕、跳頻速率快等特點。雷達功能依靠軟件實現(xiàn)已成為現(xiàn)代戰(zhàn)場對武器裝備的必然要求,可以說武器裝備的軟件可靠性主宰了整個戰(zhàn)局的成敗。軍方對雷達等武器裝備的軟件可靠性要求越來越高。為了適應這種新的形勢,漸漸認識到軟件測試的重要性,并為此做了相應的研究工作。
[0003]本方法結(jié)合某雷達導引頭數(shù)據(jù)處理軟件開發(fā)的現(xiàn)狀,開展針對性的嵌入式測試實踐,總結(jié)優(yōu)化嵌入式軟件測試流程,引入自動測試、實時在線測試等技術(shù),最終實現(xiàn)進一步提高嵌入式軟件產(chǎn)品開發(fā)質(zhì)量的目的。
【發(fā)明內(nèi)容】
[0004]要解決的技術(shù)問題
[0005]為了避免現(xiàn)有技術(shù)的不足之處,本發(fā)明提出一種雷達導引頭數(shù)據(jù)處理DSP軟件測試方法,組建一套行之有效的基于TESTBED測試工具與RTInsight數(shù)據(jù)采集器的導引頭數(shù)據(jù)處理DSP軟件系統(tǒng)測試平臺,結(jié)合導引頭軟件系統(tǒng)測試中對各分系統(tǒng)功能驗證中出現(xiàn)的諸多問題給出合理的解決方案。
[0006]技術(shù)方案
[0007]一種雷達導引頭數(shù)據(jù)處理DSP軟件測試方法,其特征在于步驟如下:
[0008]步驟1:以國軍標GJB5369-2005、GJB/Z141-2004為軟件測試標準,使用TESTBED對雷達導引頭數(shù)據(jù)處理DSP軟件源代碼進行靜態(tài)分析,得到雷達導引頭數(shù)據(jù)處理DSP軟件源代碼的調(diào)用關(guān)系圖;
[0009]步驟2:根據(jù)調(diào)用關(guān)系圖設(shè)計粧函數(shù),對導引頭數(shù)據(jù)處理軟件源代碼進行插粧,得到插粧后的代碼;
[0010]步驟3:對插粧后的代碼進行編譯生成可以在信號處理測試板上運行的可執(zhí)行代碼;
[0011]步驟4:將可執(zhí)行代碼下載到信號處理測試板的RAM中運行,運行后的數(shù)據(jù)存儲在SRAM;
[0012]步驟5:通過RTinsight進行實時數(shù)據(jù)采集與分析,得到覆蓋率分析及性能測試的?艮胃。
[0013]一種信號處理測試板,包括DSP微處理器和FPGA,所述的DSP微處理器包括RAM、EMIFA接口和EMIFB接口,DSP程序下載到DSP微處理器內(nèi)部的RAM中,F(xiàn)PGA與DSP微處理器通過EMIFA進行通信;其特征在于EMIFB接口外掛一個異步的SRAM存儲插粧代碼,RTInsight通過Probe Module連接到EMIFB總線。
[0014]所述的DSP微處理器為TMS320 C6416。
[0015]有益效果
[0016]本發(fā)明提出的一種雷達導引頭數(shù)據(jù)處理DSP軟件測試方法,根據(jù)被測系統(tǒng)的特性,設(shè)計滿足測試需求的測試板卡,實現(xiàn)對導引頭數(shù)據(jù)處理軟件進行代碼覆蓋率分析、功能任務分析、性能分析。有益效果:
[0017]a)解決了導引頭數(shù)據(jù)處理DSP微處理器的地址總線和數(shù)據(jù)總線通過連接線與RTInsight數(shù)據(jù)采集器的連接方式問題;
[0018]b)解決了導引頭數(shù)據(jù)處理DSP軟件實裝環(huán)境無法實時監(jiān)控系統(tǒng)的總線讀寫情況;
[0019]c)解決了雷達導引頭數(shù)據(jù)處理DSP軟件插粧代碼膨脹后無法利用RTInsight實時進行代碼覆蓋率分析與性能分析。
【附圖說明】
[0020]圖1測試實施的流程圖
[0021]圖2導引頭數(shù)據(jù)處理軟件測試過程圖
[0022]圖3根據(jù)被測的硬件結(jié)構(gòu)設(shè)計的被測板卡結(jié)構(gòu)圖
[0023]圖4具體測試系統(tǒng)連接圖
[0024]圖5覆蓋率分析結(jié)果
[0025]圖6性能分析結(jié)果
【具體實施方式】
[0026]現(xiàn)結(jié)合實施例、附圖對本發(fā)明作進一步描述:
[0027]為了提高導引頭數(shù)據(jù)處理軟件的可靠性,結(jié)合實際情況完成嵌入式軟件的測試過程模型的改進,制定詳細的導引頭數(shù)據(jù)處理軟件測試規(guī)范,以便于指導以后的測試。針對導引頭數(shù)據(jù)處理軟件是基于DSP的嵌入式實時系統(tǒng),計劃完成基于硬件實時測試工具RTinsight的覆蓋率及性能測試的硬件搭建及測試工作。
[0028]為了能夠?qū)⒊绦蛑袑懙街付ǖ刂返奶卣鲾?shù)據(jù)采集接收出來,通過RTInsight數(shù)據(jù)采集器監(jiān)控總線數(shù)據(jù)和被測試系統(tǒng)的數(shù)據(jù)總線和地址總線連接,實時監(jiān)控系統(tǒng)的總線讀寫情況,需要監(jiān)控的地址對應的片選信號和寫信號以及目標系統(tǒng)的地信號。
[0029]覆蓋率分析是運行插裝后的程序,向某一硬件地址寫覆蓋率信息,RTinsight將捕獲到覆蓋率信息進行分析從而動態(tài)顯示程序覆蓋情況,時間性能分析是運行RTinsight插裝后的程序,向某一硬件地址寫信息,RTinsight將捕獲到信息進行分析從而動態(tài)顯示程序?qū)嶋H運行的時間情況。內(nèi)存泄露分析也需向某一硬件地址寫入存儲器申請與釋放信息。所以要求程序中寫到硬件地址的數(shù)據(jù)能在RTInsight連接的總線上產(chǎn)生相應的信號且該地址是被測試程序本身所不會使用到的。變量監(jiān)控和堆棧監(jiān)控要求變量存取信息和堆棧操作信息能在RTInsight連接的總線上產(chǎn)生相應的信號。
[0030]下面以某雷達導引頭數(shù)據(jù)處理軟件為例,在TITMS320 C6416(DSP微處理器)軟件測試中所能執(zhí)行的實施方式和附圖,對本發(fā)明做進一步說明。
[0031 ]測試實施的流程如圖1所示。
[0032]由于RTInsight接口沒有提供時鐘信號,讀取的是系統(tǒng)總線上的異步時序,通過和被測試系統(tǒng)的物理總線連接,實時監(jiān)控系統(tǒng)的總線讀寫情況。通過將C6416片子上的EMIFB的時鐘頻率降為40MHZ,再在片外加個2MB的SRAM,實現(xiàn)RTinsight實時監(jiān)控插粧后代碼在板上運行的數(shù)據(jù)。測試板制作完后,就可以開始對源代碼進行靜態(tài)分析,拿到的源代碼需能通過編譯,將源代碼根據(jù)符合GJB5369-2005編碼標準的進行代碼質(zhì)量度量,得到代碼的函數(shù)調(diào)用關(guān)系;通過靜態(tài)分析的源代碼根據(jù)函數(shù)調(diào)用關(guān)系,設(shè)計粧函數(shù),對源代碼進行插粧;再將插粧后的代碼進行編譯,生成可執(zhí)行代碼;最后將可執(zhí)行代碼下載到信處測試板中運行;通過RTinsight進行實時數(shù)據(jù)采集與分析,得到覆蓋率分析及性能測試的報告。以下是具體實施測試過程的內(nèi)容。
[0033]I)測試準備
[0034]a)測試板設(shè)計制作
[0035]在測試準備前,需要將微處理器的地址總線和數(shù)據(jù)總線通過連接線的方式引出,被測項目是處理器TMS320 C6416下掛一個FPGA,F(xiàn)PGA與DSP通過EMIFA進行通信,目的是想要做DSP的程序測試,不關(guān)心FPGA上的程序,該項目沒有外部RAM,DSP程序是下載到DSP內(nèi)部RAM中,內(nèi)部RAM可用空間為1M,使用Testbed進行源碼插粧后超出了IM的可用空間,所以需在測試板卡上增加一片不小于2MB存儲空間的SRAM,具體結(jié)構(gòu)圖如圖2。
[0036]RTInsight接口沒有提供時鐘信號,讀取的是系統(tǒng)總線上的異步時序,通過和被測試系統(tǒng)的物理總線連接,實時監(jiān)控系統(tǒng)的總線讀寫情況。經(jīng)過分析,可以利用D S P的E MIF B(16位寬)接口,外掛一個異步的SRAM(不少于2M),程序放到外部的SRAM中,RTInsight通過Probe Module連接到EMIFB總線,從而來完成DSP程序的測試過程,具體框圖如圖3。
[0037]b)靜態(tài)測試階段
[0038]在靜態(tài)測試階段,使用TESTBED對被測軟件進行靜態(tài)分析,分析軟件的模塊的調(diào)用關(guān)系,以國軍標6見5369-2005、6邛/2141-2004軟件測試標準和相應0/^++語言軟件開發(fā)過程經(jīng)驗為依據(jù),制定了軟件質(zhì)量度量準則,獲得相應的質(zhì)量度量結(jié)果,作為評價軟件質(zhì)量的依據(jù)。
[0039]c)動態(tài)測試階段
[0040]在動態(tài)測試中要對被測軟件進行代碼覆蓋率分析。代碼覆蓋率分析有2種方法,第一是使用仿真器與邏輯分析儀,由于仿真器與邏輯分析儀不能準確判斷預指令是否真正執(zhí)行,同時對指令CACHE中的代碼不能正常進行代碼覆蓋率分析,因此很難用于嵌入式實時系統(tǒng)代碼覆蓋率分析;第二是軟件插粧技術(shù),在主機平臺的軟件測試中使用廣泛,有時也用于非實時性嵌入式系統(tǒng)中進行代碼覆蓋率分析,但是由于增加了被測系統(tǒng)的開銷,影響了被測系統(tǒng)的實時性,因此很難用于實時嵌入式系統(tǒng)代碼測試。
[0041]本次動態(tài)測試后配置項測試語句覆蓋率為75%,分支覆蓋率65%,調(diào)用覆蓋率為91.0%,雷達導引頭數(shù)據(jù)處理DSP軟件功能模塊覆蓋率96 %。針對動態(tài)測試的覆蓋率結(jié)果,還需要采用代碼插粧技術(shù)與實時硬件數(shù)據(jù)采集器RTInsight相互配合,實時地對嵌入式系統(tǒng)進行代碼覆蓋率分析,方得到覆蓋率更高的結(jié)果和性能分析結(jié)果。
[0042]2)測試實施
[0043]a)實時覆蓋率分析
[0044]使用代碼插粧技術(shù),判斷代碼執(zhí)行情況,由于采用RTInsight高速虛擬端口技術(shù)使得插粧量可控制在每個特征點(即函數(shù)入口、出口,程序分支點),減少插粧代碼增加對被測系統(tǒng)的影響。TESTBED使用下面的比率來測量覆蓋率:執(zhí)行對象數(shù)/所用應執(zhí)行的對象數(shù)。通過累計記錄的方式,TESTBED和RTInsight相配合,可以得到在不同測試用例作用下,分別以圖、表形式表示的軟件執(zhí)行的分支覆蓋率、語句覆蓋率、調(diào)用覆蓋率累計情況,以及在測試用例實施情況下,軟件分支執(zhí)行的對錯。通過RTInsight發(fā)現(xiàn)有一些語句在測試用例作用下始終未被執(zhí)行覆蓋,經(jīng)過分析發(fā)現(xiàn)該部分軟件在運行時不會有滿足被執(zhí)行條件的可能,應為軟件代碼中的多余部分。通過測試用例的注入,本次配置項測試語句覆蓋率為97%,分支覆蓋率86%,調(diào)用覆蓋率為100.0%,雷達導引頭數(shù)據(jù)處理DSP軟件功能模塊覆蓋率100%。具體結(jié)果如圖4。
[0045]b)性能分析
[0046]在性能測試時首先要對RTInsight進行配置,選擇內(nèi)部時鐘的頻率,指定啟動計時和停止計時命令的地址;然后在被測軟件中測試時間的起點加入啟動計數(shù)功能的指令,在結(jié)尾處加入停止計數(shù)的指令;RTInsight通過監(jiān)控系統(tǒng)總線,在發(fā)現(xiàn)開始計數(shù)命令后,記錄內(nèi)部集成的高精度時鐘的時間值,收到結(jié)束命令停止計時再次記錄該時刻的時鐘值。利用這種技術(shù),可以記錄分析程序中每個函數(shù)的最大運行時間、最小運行時間、總的運行時間、以及運行次數(shù),或者任意2點間的運行時間的統(tǒng)計。在對某型號雷達導引頭數(shù)據(jù)處理DSP軟件測試中就使用到了這項功能,很方便的分析了軟件中的所有延時特性。圖5給出的是性能分析結(jié)果。
[0047]3)形成測試報告
[0048]通過使用TESTBED及RTinsight測試工具進行雷達導引頭數(shù)據(jù)處理軟件測試,并形成靜態(tài)分析報告和覆蓋率測試報告,反映出的情況清晰,為評估軟件設(shè)計和軟件的測試提供了可靠數(shù)據(jù),也給軟件維護帶來很大幫助。
[0049]圖2是根據(jù)被測的硬件結(jié)構(gòu)設(shè)計的被測板卡結(jié)構(gòu)圖。測板卡是處理器TMS320C6416下掛一個FPGA,F(xiàn)PGA與DSP通過EMIFA進行通信,DSP程序是下載到DSP內(nèi)部RAM中。
[0050]圖3是具體測試系統(tǒng)連接圖。利用導引頭數(shù)據(jù)處理DSP軟件系統(tǒng)的EMIFB(16位寬)接口,外掛一個異步的SRAM(不少于2M),程序放到外部的SRAM中,RTInsight通過ProbeModul e連接到EMIFB總線,從而來完成DSP程序的測試過程。
【主權(quán)項】
1.一種雷達導引頭數(shù)據(jù)處理DSP軟件測試方法,其特征在于步驟如下: 步驟1:以國軍標GJB5369-2005、GJB/Z141-2004為軟件測試標準,使用TESTBED對雷達導引頭數(shù)據(jù)處理DSP軟件源代碼進行靜態(tài)分析,得到雷達導引頭數(shù)據(jù)處理DSP軟件源代碼的調(diào)用關(guān)系圖; 步驟2:根據(jù)調(diào)用關(guān)系圖設(shè)計粧函數(shù),對導引頭數(shù)據(jù)處理軟件源代碼進行插粧,得到插粧后的代碼; 步驟3:對插粧后的代碼進行編譯生成可以在信號處理測試板上運行的可執(zhí)行代碼; 步驟4:將可執(zhí)行代碼下載到信號處理測試板的RAM中運行,運行后的數(shù)據(jù)存儲在SRAM; 步驟5:通過RTinsight進行實時數(shù)據(jù)采集與分析,得到覆蓋率分析及性能測試的報告。2.—種用于權(quán)利要求1中的信號處理測試板,包括DSP微處理器和FPGA,所述的DSP微處理器包括RAM、EMIFA接口和EMIFB接口,DSP程序下載到DSP微處理器內(nèi)部的RAM中,F(xiàn)PGA與DSP微處理器通過EMIFA進行通信;其特征在于EMIFB接口外掛一個異步的SRAM存儲插粧代碼,RTInsight通過Probe Module連接到EMIFB總線。3.根據(jù)權(quán)利要求2所述的一種信號處理測試板,其特征在于所述的DSP微處理器為TMS320C6416。
【文檔編號】G06F11/36GK105893255SQ201610190723
【公開日】2016年8月24日
【申請日】2016年3月30日
【發(fā)明人】李國強, 張虹, 王小波, 潘曉佳
【申請人】西安電子工程研究所