嵌入式软件开发测试与代码复用实践
1. 测试驱动开发(TDD)的不足
测试驱动开发(TDD)虽有诸多优点,但也存在一些会影响嵌入式软件开发人员的缺点:
- 需要创建模拟对象来模拟硬件访问。
- 设置开发环境既耗时又棘手。
- 采用这种思维方式并真正遵循TDD很困难。
- 整个过程可能会让人觉得非常耗时。
尽管存在这些缺点,开发人员仍可研究TDD,确定哪些部分最适合他们的可复用固件。
2. 硬件在环测试(HIL)
硬件在环(HIL)测试是在目标微控制器上运行测试用例代码,而非使用模拟软件层来充当硬件。HIL测试对于验证硬件抽象层(HAL)的硬件访问是否按预期工作,甚至测试系统的所有输出是否符合预期都非常有用。
2.1 HIL测试的组件
HIL测试包含以下几个不同的组件:
|组件|说明|
| ---- | ---- |
|被测设备(DUT)|包含验证系统工作所需的关键信息,如微控制器寄存器值、引脚I/O状态、通信通道、来自传感器和执行器等与产品相关的信号。手动监控这些信号很耗时,开发人员可构建HIL测试工具,使其包含能自动采样所需状态的工具。|
|调试器|测试控制器使用调试器将应用程序和测试代码加载到目标微控制器上,并通过调试器通信端口控制这些测试。大多数现代调试器可作为虚拟通信端口,开发人员借助少量软件就能创建测试命令控制通道来管理微控制器,还能请求遥测数据、寄存器值,甚至监控软件跟踪和事件历史记录。|
|通信通道|开发人员通常需要一个通信通道与产品进行通信。例如,汽车产品可能有需要测试的CAN消息响应;有通信端口的设备,需要
超级会员免费看
订阅专栏 解锁全文
2112

被折叠的 条评论
为什么被折叠?



