查看原文
其他

基于TPT的PiL测试能做什么?

北汇信息 2022-09-22

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

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



01

什么是PiL测试?

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

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




02

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

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

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

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

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

  • 可以访问目标变量(以符号和地址为主)

  • 可以访问函数的局部变量

  • 可以访问数据位和寄存器

  • 可以访问多维数组、结构体、曲线

支持的控制流

  • TPT需要与UDE中设置断点同步

  • 支持独立的功能和代码测试

  • 可以直接访问控制流

  • 可以调用及使用宏变量

支持多核目标处理


03

基于TPT的PiL测试案例


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


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


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




关于PikeTec

PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的嵌入式软件开发经验。TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(博世、大陆、海拉等)中得到广泛应用,如戴姆勒的多个车型的混合动力汽车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。

北汇信息作为PikeTec的中国合作伙伴,将帮助中国客户提升嵌入式控制系统的开发效率。



如需了解如上内容更多信息,可以随时联系北汇信息!

电话:010-64782218

邮箱:info@polelink.com



微信ID:Polelink_Info

     北汇信息|专注电控、新能源、MES技术

长按二维码关注北汇信息





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存