使用python测试嵌入式系统

时间:2017-11-28 16:14:54

标签: python

我为汽车公司工作,目前我正在研究MPC57XX(飞思卡尔)微控制器。 有一些测试用例需要测试..我有兴趣使用python将它们变成AUTOMATED测试用例。 有没有人知道如何让python直接与微控制器交互,无需任何接口(任何其他S / W或H / W) 是否有可能制作自动化测试用例,直接从微控制器获取值? 我还没试过这个!!

1 个答案:

答案 0 :(得分:0)

我相信没有一个非常简单的方法可以做到这一点。您要问的似乎是一种“黑匣子”或集成测试。我们通常将其称为验证和确认测试,并且可能会影响不同级别的系统工程:

  • 验证设计是否满足客户要求
  • 根据要求(输出功率,电池寿命,极端温度)进行设计验证
  • 根据设计验证单元(验证装配,校准,调试)

您将需要在微控制器软件中自定义“挂钩”来控制和测量输入和输出,这是工作的最大部分。为了使python与微控制器进行交互,您将需要某种硬件接口:COM端口,以太网等;我们通常会使用产品上已经可用的界面。

一旦有了,就可以用python编写测试,该测试将在单独的计算机上运行。我们使用Google的OpenHTF框架来构建和执行测试。一探究竟: https://github.com/google/openhtf

在这一点上,以下问题的答案可能会有所帮助: Test framework for testing embedded systems in Python

如果使用OpenHTF,则应为微控制器编写一个插件,以抽象出您选择的接口,并公开诸如'activate_led()','read_input_signal()'之类的功能,并带有与产品功能相关的名称。

然后,您的测试可以使用您的插头与您的micrcontroller进行交互,并使用python捕获测量值,验证阈值,要求用户输入(即,LED是否亮起?)等等。

简而言之,这不是即插即用的工作,需要在您的微控制器中自定义钩子。因此,我要说的是,不行,python无法在没有任何接口的情况下直接与微控制器进行交互,也不能(没有两端都控制的某些软件)直接从微控制器获取值。