gpt4 book ai didi

c - 嵌入式应用测试代码

转载 作者:太空狗 更新时间:2023-10-29 16:34:03 25 4
gpt4 key购买 nike

背景:

我正在使用 Atmel AVR atmega2560 开发一个大型项目。该项目包含许多基于硬件的功能(7 个 SPI 设备、2 个 I2C、2 个 RS485 MODBUS 端口、大量模拟和数字 I/O)。我已经为所有这些设备开发了“驱动程序”,它们为主应用程序循环提供了一个接口(interface)来访问所需的数据。

问题:

我正在开发的项目最终必须满足 SIL 标准。

我希望能够测试代码并提供良好的代码覆盖率。但是,我无法找到任何信息来让我开始了解应该如何设置这样的测试框架。

我的想法是我可以拥有一套自动化测试,这将允许测试 future 的错误修复和功能添加,以查看它们是否会破坏代码。问题是我不明白如何在芯片上测试代码。

我是否需要硬件来监控设备上的 I/O 并模拟外部连接的设备?如果能提供任何指示,我们将不胜感激。

--史蒂夫

最佳答案

这是一个很好的问题——嵌入式开发人员普遍关心的问题。不幸的是,大多数嵌入式开发人员并不像您那样担心,他们只在真实硬件上测试代码。但正如另一个答案所指出的,这基本上只能测试代码的标称功能,而不是角落/错误情况。

这个问题没有单一而简单的解决方案。但是,存在一些指南和技术可以做得相对好。

首先,将您的代码分成几层。一层应该是“与硬件无关”的——即函数调用。不要要求用户直接写入硬件寄存器。另一个(较低的)层处理 HW。该层可以被“模拟”以测试更高级别。没有硬件就无法真正测试较低级别,但它不会经常更改并且需要深入的硬件集成,所以这不是问题。

“测试工具”将是所有与硬件无关的高级代码,带有专门用于测试的“假”较低级别。这可以模拟 HW 设备的正确和错误功能,从而允许您在 PC 上运行自动化测试。

关于c - 嵌入式应用测试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1572601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com