嵌入式软件开发中的时序考量:策略与实践
在嵌入式软件开发过程中,时序验证、未来功能的提前规划以及最终产品的时序监控等环节,对于开发出安全、可靠且低成本的嵌入式系统至关重要。下面将详细介绍这些方面的相关内容。
1. 时序验证
时序验证的有效性依赖于自动化时序测试的可用性。若能进行自动化测试且每晚执行,那么遇到意外时序问题的概率会极低。如今,越来越多的项目更进一步,在每次提交或推送代码(即对版本控制进行更改时)都会运行时序测试,这种被称为“持续集成”的方法在功能测试中已得到广泛应用。
自动化测试可在不同环境中实现。单元测试通常在 x86 平台上运行,也就是在本地 PC 或测试服务器上。通过相对简单的扩展,单元测试除了进行功能测试外,还能初步捕获和监控被测函数的执行时间(CET),从而在不显著延长单元测试时长的情况下实现代码级的性能分析。
这种将时序测试与功能测试并行的理念也可应用于更高层次。系统测试在硬件在环(HIL)和子系统测试站进行,同时也可进行性能分析。除了 CET,获取和监控调度级的时序参数(如 CPU 负载、响应时间(RT)、时间差(DT)和净空闲时间(NST))也是可行且有用的。
HIL 提供的时序测试可分为以下几个测试阶段:
- “性能分析”测试阶段 :性能分析用于确定时序参数,可通过直接的时序测量或间接的跟踪来完成。在各个功能测试中,针对特定功能和操作状态,通常为每个测试记录一组单独的性能分析数据,并与功能测试结果一起存储。部分测试会包含特定于该测试的时序参数,例如在测试部分中单独检查所有诊断作业时,至少应测量诊断处理程序的 CET 以及每个作业从请求到执行的总时长。
-