作者:酷兔本兔小編:吃不飽
對于嵌入式代碼,為了測試軟件能否在目標(biāo)芯片上實現(xiàn)預(yù)期的功能,通常需要進(jìn)行PiL測試(Processor-in-the-Loop-Testing)。目前市面上較為常見的嵌入式軟件調(diào)試工具有PLS UDE和LAUTERBACH Trace32等。UDE和Trace32可以很好的完成軟件調(diào)試的工作,當(dāng)然,我們也可以通過將TPT(基于模型的自動化測試工具,可覆蓋MiL到ViL全階段的測試)和這些調(diào)試工具進(jìn)行集成,更高效、快捷的實施PiL階段的自動化測試。
通過TPT我們可以很方便的實現(xiàn)MiL/SiL的測試工程在PiL階段的完全復(fù)用。下面,我將以lights_control(車燈控制)模型生成的代碼為例,為大家演示如何基于TPT進(jìn)行單元級代碼的PiL測試。
圖1 TPT與調(diào)試器集成
01測試準(zhǔn)備
本次被測代碼是基于模型開發(fā)的單元級軟件,將模型轉(zhuǎn)成代碼后編譯成elf文件刷寫到目標(biāo)板進(jìn)行測試。涉及到的測試環(huán)境及版本信息如下:
①測試工程:MiL階段搭建的單元測試工程(TPT工程可完全復(fù)用)②測試工具:TPT + PLS UDE③調(diào)試器:PLS UAD2Next④目標(biāo)板:Infineon TC233LP其中目標(biāo)板和UAD之間使用JTAG口通訊,UAD和PC端通過USB進(jìn)行連接。圖2 硬件連接
首先我們需要搭建一個可以正常運行的UDE工程,以便于后面通過TPT調(diào)用進(jìn)行PiL測試。
圖3 搭建的UDE工程
02配置測試環(huán)境
在PiL測試過程中,TPT需要將測試用例數(shù)據(jù)發(fā)送到UDE,并讀取UDE從目標(biāo)板讀到的輸出信號數(shù)據(jù)進(jìn)行評估。因此,我們需要搭建測試環(huán)境將TPT和UDE鏈接起來。為方便測試環(huán)境的搭建,TPT提供了能滿足各階段測試的測試平臺,這里我們需要配置一個PLS UDE Platform。圖4 TPT PLS UDE Platform
①設(shè)置用例運行步長(和MiL保持一致)及用例最大運行時間②加載搭建好的UDE工程③加載被測的elf文件④選擇源代碼所在文件夾⑤設(shè)置斷點⑥設(shè)置信號讀/寫動作03設(shè)置斷點
為方便對代碼中的變量進(jìn)行讀/寫操作,需要在程序中設(shè)置一些斷點。這里我們可以在TPT端直接進(jìn)行斷點的設(shè)置,TPT會將斷點信息發(fā)送至UDE。TPT可以支持諸如普通斷點(指定斷點位置)、條件斷點等類型,并支持多控制器、多核斷點的設(shè)置。
一般來說,我們只需要設(shè)置兩個簡單的斷點即可滿足單元級別軟件的測試。通過指定代碼行,我們定義了如下所示的兩個斷點:
①程序入口(step_in):進(jìn)入Step函數(shù)時的斷點,用于Write;②程序出口(step_out):跳出Step函數(shù)時的斷點,用于Read。圖5 設(shè)置斷點
為了讓程序能夠持續(xù)運行以便于我們能持續(xù)給入連續(xù)變化的信號,我們需要在TPT中設(shè)置一個斷點的循環(huán),防止程序在斷點的位置停止。
圖6 斷點循環(huán)過程
圖7 TPT中設(shè)置斷點循環(huán)動作
04設(shè)置信號讀/寫動作
設(shè)置好斷點之后,我們需要在TPT中設(shè)置輸入/輸出信號的動作。這里我們在斷點step_in的位置把輸入信號設(shè)置為write,在斷點step_out的位置把輸出信號設(shè)置為read。設(shè)置好后,TPT即可把測試用例信息在斷點step_in灌入目標(biāo)板,當(dāng)step函數(shù)運行完成后在斷點step_out把輸出信號回采進(jìn)行評估。圖8 TPT中設(shè)置信號動作
05MiL/SiL測試工程的快速復(fù)用
由于我們在MiL/SiL階段已經(jīng)完成了對測試工程的搭建,得益于TPT提供的信號mapping的功能,我們只需要對信號做簡單的mapping即可實現(xiàn)測試工程的完全復(fù)用。
圖9 TPT中信號mapping
做完這些配置工作之后,我們即可運行測試工程,完成PiL測試,并生成相應(yīng)的PiL測試報告。
圖10 測試執(zhí)行
通過對該單元級代碼的測試,不難發(fā)現(xiàn),TPT在實現(xiàn)不同測試階段的測試工程復(fù)用方面有著巨大的優(yōu)勢——單元級軟件測試可實現(xiàn)同一測試工程覆蓋MiL/SiL/PiL所有階段,這無疑大大降低了我們的測試成本和周期。并且TPT在復(fù)雜測試用例信號編寫、復(fù)雜場景評估、創(chuàng)建回歸測試、實現(xiàn)自動化測試等方面都有著很大的優(yōu)勢。敬請期待下篇:帶有Plant Model的PiL測試該如何做?
-
測試
+關(guān)注
關(guān)注
8文章
5359瀏覽量
126866
發(fā)布評論請先 登錄
相關(guān)推薦
評論