测试固件

时间:2009-01-16 21:00:03

标签: testing firmware

这跟随了几个other questions(但我想我已经更好地改进了我的问题)。

我想在安装设备之前测试我的固件代码。

我意识到很多人都在编写代码,上传,测试等等。但我真的想在上传前编写和测试(主要是因为我想自动化很多场景)。

那么,这样做的最佳方法是什么。如果我正在编写纯软件,就像没有固件一样,我会通过使用cppunit(例如)来实现它。但是这个固件的东西我有点迷失了。

有什么想法吗?

由于

4 个答案:

答案 0 :(得分:10)

我认为标记为“正确”的答案完全正确或完整。

对于固件代码,你必须进行双管齐下的测试才能严格。

  1. 使用模拟器完成的初始测试。这是理想的,但假设您可以为目标平台获得良好的模拟器。

  2. 测试实际硬件,但在测试台框架中。也就是说,您可以在实际设备上进行测试,但需要使用其他硬件(即示波器,探头)和其他连接,以便对正在发生的事情进行正确的跟踪/调试。

  3. 对于固件,通常最困难的错误与时序相关,并且只有在您使用实际硬件时才会显示。在最糟糕的情况下,实际的探测行为可以改变时间,使得错误不会出现 - 仅在“生产”版本中。那你真的很有趣。

    干杯,

    -Richard

答案 1 :(得分:3)

在不知道代码如何构建的情况下很难说,但基本上你可以像其他软件一样在类/功能级别测试软件。任何与设备接口的代码都很可能需要通过emmulation进行测试。

答案 2 :(得分:2)

许多嵌入式设备都有可用的软件模拟器,但它确实依赖于设备。

答案 3 :(得分:0)

您应该尽可能多地对您的课程进行单元测试,但是在一天结束时,您必须运行它并在硬件中进行测试。

要在设备中测试固件,请编写调试接口,以便可以使用procomm之类的终端仿真器与您的设备通信。然后,当您编写一个功能时,可以让调试接口调用类中的方法,这样您就可以专门在设备中测试代码。

完成后,您可以在终端仿真器中编写脚本以自动执行测试。