【问题标题】:Code coverage measurement on real hardware target真实硬件目标上的代码覆盖率测量
【发布时间】:2015-06-29 03:01:11
【问题描述】:

您能否分享您对在实际硬件目标上运行的测量代码覆盖率的看法?是指在真实硬件上执行测试代码后如何为该测试做仪器以及如何获取覆盖率信息。

示例:我有 STM32L152RB 发现板。我对其软件进行单元测试。我可以在 X86(可视化环境或 PC 环境)上运行代码覆盖率测量。但我想在真实硬件(STM32L152RB 发现板)上运行该测试代码,以确保代码覆盖率更可靠。

感谢和问候, 长

【问题讨论】:

  • istarc.wordpress.com/2015/01/06/stm32f4-unit-testing 这提供了 afaik 的所有信息
  • 当您在操作系统上运行时,您拥有...一个操作系统...位于代码、大量资源和代码之下。但是在这样的目标上运行你需要你的主代码加上代码来做覆盖,这可能需要一个环境,所以有挑战。
  • 检查并查看该部件是否支持 ETM,这是 Cortex-M3 部件的可选附加组件。如果是这样,那么它只是获得正确工具的问题。
  • 感谢 Pradheep,dwelch abd Brian。我通过在另一个目标(RH850-D1x)上使用 Green Hill 编译器来完成它执行后需要一个解码文件。然后运行覆盖率分析工具上报结果。

标签: testing embedded drivers test-coverage


【解决方案1】:

听起来您希望在运行时执行dynamic analysis,这是在嵌入式系统上测量真实代码覆盖率的唯一方法,因为它是在所有可能输入可用的实际硬件上完成的。

要在微控制器上执行此操作,您通常需要昂贵的工具,例如真正的在线仿真器。但是现在可能有 JTAG 适配器等能够记录正在运行的程序的程序计数器。取决于 CPU 是否支持跟踪或“循环窃取”等。我不知道如何在您的特定硬件上执行此操作(无论如何,工具建议都与 SO 无关),但您可能应该为高昂的工具成本做好准备。

【讨论】:

  • 嗨 Lundin,是的,我必须有电路调试器,而且我成功地做到了。但我不明白关于真实目标的代码覆盖率的理论。你有关于框架的任何基本知识或任何资源来弄清楚它吗?
猜你喜欢
  • 2011-04-07
  • 1970-01-01
  • 2010-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-12
  • 2012-01-18
  • 2019-01-18
相关资源
最近更新 更多