0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PiL測試實戰(zhàn)(上)| 單元級代碼的PiL測試

北匯信息POLELINK ? 2022-11-22 10:19 ? 次閱讀


作者:酷兔本兔小編:吃不飽
對于嵌入式代碼,為了測試軟件能否在目標(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測試。

2d45b574-6857-11ed-b116-dac502259ad0.gif2d58b570-6857-11ed-b116-dac502259ad0.png2d45b574-6857-11ed-b116-dac502259ad0.gif圖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)行連接。2d45b574-6857-11ed-b116-dac502259ad0.gif2d974e7a-6857-11ed-b116-dac502259ad0.png2d45b574-6857-11ed-b116-dac502259ad0.gif圖2 硬件連接

首先我們需要搭建一個可以正常運行的UDE工程,以便于后面通過TPT調(diào)用進(jìn)行PiL測試。

2d45b574-6857-11ed-b116-dac502259ad0.gif2eb68348-6857-11ed-b116-dac502259ad0.png
2d45b574-6857-11ed-b116-dac502259ad0.gif圖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。2d45b574-6857-11ed-b116-dac502259ad0.gif2f0d34f4-6857-11ed-b116-dac502259ad0.png2d45b574-6857-11ed-b116-dac502259ad0.gif圖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ù)時的斷點,用于Read2d45b574-6857-11ed-b116-dac502259ad0.gif2f639970-6857-11ed-b116-dac502259ad0.png2d45b574-6857-11ed-b116-dac502259ad0.gif圖5 設(shè)置斷點

為了讓程序能夠持續(xù)運行以便于我們能持續(xù)給入連續(xù)變化的信號,我們需要在TPT中設(shè)置一個斷點的循環(huán),防止程序在斷點的位置停止。

2d45b574-6857-11ed-b116-dac502259ad0.gif308edf80-6857-11ed-b116-dac502259ad0.png
2d45b574-6857-11ed-b116-dac502259ad0.gif圖6 斷點循環(huán)過程


2d45b574-6857-11ed-b116-dac502259ad0.gif30b5e922-6857-11ed-b116-dac502259ad0.png
2d45b574-6857-11ed-b116-dac502259ad0.gif圖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)行評估。2d45b574-6857-11ed-b116-dac502259ad0.gif30e1a4d6-6857-11ed-b116-dac502259ad0.png2d45b574-6857-11ed-b116-dac502259ad0.gif圖8 TPT中設(shè)置信號動作
05MiL/SiL測試工程的快速復(fù)用

由于我們在MiL/SiL階段已經(jīng)完成了對測試工程的搭建,得益于TPT提供的信號mapping的功能,我們只需要對信號做簡單的mapping即可實現(xiàn)測試工程的完全復(fù)用。

2d45b574-6857-11ed-b116-dac502259ad0.gif30fe728c-6857-11ed-b116-dac502259ad0.png
2d45b574-6857-11ed-b116-dac502259ad0.gif圖9 TPT中信號mapping

做完這些配置工作之后,我們即可運行測試工程,完成PiL測試,并生成相應(yīng)的PiL測試報告。

2d45b574-6857-11ed-b116-dac502259ad0.gif3142d4fe-6857-11ed-b116-dac502259ad0.png2d45b574-6857-11ed-b116-dac502259ad0.gif圖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測試該如何做?

316e2280-6857-11ed-b116-dac502259ad0.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 測試
    +關(guān)注

    關(guān)注

    8

    文章

    5359

    瀏覽量

    126866
收藏 人收藏

    評論

    相關(guān)推薦

    EE-141:ADSP-2106x和ADSP-2116x系列DSP的基準(zhǔn)測試C代碼

    電子發(fā)燒友網(wǎng)站提供《EE-141:ADSP-2106x和ADSP-2116x系列DSP的基準(zhǔn)測試C代碼.pdf》資料免費下載
    發(fā)表于 01-07 14:25 ?0次下載
    EE-141:ADSP-2106x和ADSP-2116x系列DSP<b class='flag-5'>上</b>的基準(zhǔn)<b class='flag-5'>測試</b>C<b class='flag-5'>代碼</b>

    芯片極限能力、封裝成品及系統(tǒng)測試

    本文介紹了芯片極限能力、封裝成品及系統(tǒng)測試。 本文將介紹芯片極限能力、封裝成品及系統(tǒng)測試,分述如下: 極限能力測試 封裝成品
    的頭像 發(fā)表于 12-24 11:25 ?346次閱讀

    開發(fā)者必讀!CircleCI?組件測試單元測試全解析

    在軟件開發(fā)中,測試是保證軟件質(zhì)量和可靠性的關(guān)鍵環(huán)節(jié)。作為領(lǐng)先的 CI/CD 平臺,CircleCI 提供了支持自動化測試的強大工具。其中,單元測試和組件測試是兩種重要的
    的頭像 發(fā)表于 12-03 09:18 ?269次閱讀

    嚴(yán)格的單元測試造就完美的軟件

    關(guān)鍵系統(tǒng)時,更是對軟件質(zhì)量提出了極高的要求。而單元測試作為軟件開發(fā)過程中的核心環(huán)節(jié),其重要性不言而喻。 單元測試的作用 單元測試是指對軟件中的最小可測試
    的頭像 發(fā)表于 11-26 13:22 ?201次閱讀

    汽車HiL測試:利用TS-GNSS模擬器掌握硬件性能的仿真藝術(shù)

    (Software-in-the-Loop,簡稱SiL)或處理器在環(huán)(Processor-in-the-Loop,簡稱PiL測試之后的最終階段。HiL仿真不僅能夠針對單個被測設(shè)備(Device Under Test,簡稱DUT)
    的頭像 發(fā)表于 11-22 16:21 ?319次閱讀
    汽車HiL<b class='flag-5'>測試</b>:利用TS-GNSS模擬器掌握硬件性能的仿真藝術(shù)

    嵌入軟件單元/集成測試工具專業(yè)分析

    引言 在現(xiàn)代軟件開發(fā)過程中,單元測試作為確保代碼質(zhì)量的重要環(huán)節(jié),得到了廣泛的關(guān)注和應(yīng)用。隨著嵌入式系統(tǒng)的復(fù)雜性日益增加,對高效、可靠的單元測試工具的需求也愈加迫切。WinAMS作為一款專為嵌入
    的頭像 發(fā)表于 11-19 16:41 ?270次閱讀

    符合ISO 26262的零部件的軟件測試解決方案

    功能安全的開發(fā)、測試過程中概念階段的活動一般都是由主機廠負(fù)責(zé),而從系統(tǒng)開發(fā)到單元實現(xiàn)則是由供應(yīng)商負(fù)責(zé),對于供應(yīng)商所做的一系列測試通常稱為零部件測試
    的頭像 發(fā)表于 11-07 08:05 ?251次閱讀
    符合ISO 26262的零部件<b class='flag-5'>級</b>的軟件<b class='flag-5'>測試</b>解決方案

    DaVinci系統(tǒng)基準(zhǔn)測試測量

    電子發(fā)燒友網(wǎng)站提供《DaVinci系統(tǒng)基準(zhǔn)測試測量.pdf》資料免費下載
    發(fā)表于 10-16 11:32 ?0次下載
    DaVinci系統(tǒng)<b class='flag-5'>級</b>基準(zhǔn)<b class='flag-5'>測試</b>測量

    智駕仿真測試實戰(zhàn)之自動泊車HiL仿真測試

    汽車進(jìn)入智能化時代,自動泊車功能已成為標(biāo)配。在研發(fā)測試階段,實車測試面臨測試場景覆蓋度不足、效率低下和成本高昂等挑戰(zhàn)。為解決這些問題,本文提出一種自動泊車HiL仿真測試系統(tǒng)方案,可大幅
    的頭像 發(fā)表于 10-10 08:05 ?2768次閱讀
    智駕仿真<b class='flag-5'>測試</b><b class='flag-5'>實戰(zhàn)</b>之自動泊車HiL仿真<b class='flag-5'>測試</b>

    單元測試、集成測試自動化工具

    CoverageMaster winAMS :?適用于嵌入式目標(biāo)機代碼單元測試/集成測試工具 全面支持嵌入式微機!驗證嵌入式C/C++軟件 實施以模塊為單位的自動化單元測試工具 不需
    的頭像 發(fā)表于 06-26 13:41 ?474次閱讀
    <b class='flag-5'>單元測試</b>、集成<b class='flag-5'>測試</b>自動化工具

    嵌入軟件單元測試工具的作用

    測試單元進(jìn)行測試,來驗證其是否按照設(shè)計要求正常工作。 嵌入軟件單元測試工具能夠提高開發(fā)人員的工作效率和軟件質(zhì)量。首先,它可以幫助開發(fā)人員快速地發(fā)現(xiàn)
    的頭像 發(fā)表于 04-23 15:31 ?451次閱讀
    嵌入軟件<b class='flag-5'>單元測試</b>工具的作用

    STM32F429做的PIL仿真速度非常慢的原因?

    各位大神好, 本人用MATLAB/SIMULINK搭建了小型直流電力系統(tǒng)。系統(tǒng)包含三個直流轉(zhuǎn)換器。相關(guān)三個控制器被載入STM32F429中,從而與SIMULINK構(gòu)成PIL仿真。仿真運行一切正常
    發(fā)表于 04-11 07:28

    鴻蒙OS開發(fā)實戰(zhàn):【自動化測試框架】使用指南

    為支撐HarmonyOS操作系統(tǒng)的自動化測試活動開展,我們提供了支持JS/TS語言的單元及UI測試框架,支持開發(fā)者針對應(yīng)用接口進(jìn)行單元測試,并且可基于UI操作進(jìn)行UI自動化腳本的編寫。
    的頭像 發(fā)表于 04-08 14:49 ?1488次閱讀
    鴻蒙OS開發(fā)<b class='flag-5'>實戰(zhàn)</b>:【自動化<b class='flag-5'>測試</b>框架】使用指南

    單元/集成測試服務(wù)

    單元/集成測試旨在證明被測軟件實現(xiàn)其單元/架構(gòu)設(shè)計規(guī)范、證明被測軟件不包含非預(yù)期功能。經(jīng)緯恒潤測試團隊擁有豐富的研發(fā)經(jīng)驗、嚴(yán)格的流程管控,依據(jù)ISO26262/ASPICE等開展符合要
    的頭像 發(fā)表于 02-29 13:27 ?405次閱讀
    <b class='flag-5'>單元</b>/集成<b class='flag-5'>測試</b>服務(wù)

    如何實現(xiàn)PIL和OpenCV之間圖像數(shù)據(jù)的轉(zhuǎn)換呢?

    PIL圖像數(shù)據(jù)格式轉(zhuǎn)換成OpenCV圖像數(shù)據(jù)格式
    的頭像 發(fā)表于 02-25 13:43 ?1254次閱讀