基于TPT的PIL测试:PIL测试(Processor-in-the-Loop-Testing)| 基于TPT的PIL测试可以测试什么 | 基于TPT的PIL测试案例

在嵌入式行业,为了测试硬件是否能满足程序的正常运行以及是否实现相应的功能,通常需要PIL测试(Processor-in-the-Loop-Testing)来验证。 PIL测试是汽车行业嵌入式软件开发过程中的一个阶段测试,从模型的开发开始,被测系统(SUT)依次将经历MIL、SIL、PIL、HIL以及实车测试。

德国PikeTec公司提供的嵌入式系统测试工具TPT可以与PLS公司的调试软件UDE(Universal Debug Engine)集成来提供PIL测试功能。那么PIL测试是什么概念呢?基于TPT又是如何进行PIL测试的呢?

PIL测试(Processor-in-the-Loop-Testing)

PIL测试发生在SIL测试之后,在HIL测试之前。类似于SIL测试,PIL测试为了验证软件代码在仿真的非实时控制系统中的正确性。此情况下,程序是在实际的嵌入式处理器或指令集仿真器上执行的。因此,可以通过PIL测试来验证嵌入式对象代码的功能行为。

通过PIL测试,不仅可以评估不同的硬件、编译器组合情况下处理数据的方式有何区别,还可以测试模型环境无法测试出的一些行为(如硬件优化代码的使用)。同时也可以读写程序中的变量,获取输入控制流。PIL测试原理图如图1所示。

在这里插入图片描述

图1 PIL测试图示

基于TPT的PIL测试可以测试什么?

TPT通过 PLS UDE作为媒介工具来自动测试硬件处理器上的软件代码。

支持多种处理器的测试以及调试

AURIX Tricore, Power Architecture, Cortex, ARM, XE166/XC2000, XScale, SH-2A, C166, XilinX SoCs, Freescale MPC family和更多其他处理器以及同样支持多核处理器。

支持直接访问多种变量和数据类型

可以访问目标变量(以符号和地址为主)
可以访问函数的局部变量
可以访问数据位和寄存器
可以访问多维数组、结构体、曲线

支持的控制流

TPT需要与UDE中设置断点同步
支持独立的功能和代码测试
可以直接访问控制流
可以调用及使用宏变量

支持多核目标处理

基于TPT的PIL测试案例

在编译器中编译需要测试的软件代码,生成elf文件(或者其他类型可执行文件),在UDE中导入elf文件,可根据需要设置几个断点,可进行调试工作,如图2所示。

在这里插入图片描述

图2 设置UDE断点

在TPT的FUSION平台中新建PLS UDE节点,导入UDE工程文件,设置与UDE中一致的断点,以及可以对变量进行读写设置,如图3所示。

在这里插入图片描述

图3 设置PLS UDE Node

写好测试用例,并添加评估条件后执行测试。执行测试过程中可以看到UDE界面调试过程,同时在TPT执行界面可以看到声明的变量,定义的断点,参数初始化,调试过程中读写变量的值等信息,这些调试的过程与之前Configure PLS UDE中的配置相对应,如图4所示。

在这里插入图片描述

图4 TPT执行信息

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值