嵌入式系统测试、调试与用户空间驱动开发全解析
1. 测试基础设施
在使用嵌入式设备的大多数行业领域,都受到监管机构的约束。拥有一个可扩展且强大的测试基础设施,与对内核和设备驱动进行修改同样重要。测试框架主要负责以下几个方面:
-合规性测试:为了获得监管机构的批准,需要证明系统符合相关标准。例如,如果系统是面向美国市场的医疗级设备,就需要使测试套件符合美国食品药品监督管理局(FDA)的要求。大多数面向美国市场的电子设备必须符合联邦通信委员会(FCC)规定的电磁干扰(EMI)和电磁兼容性(EMC)等发射标准。为了证明合规性,可能需要在模拟不同运行环境的测试室内进行一系列测试,还需要验证当静电枪指向电路板的不同部分时系统是否能正常运行。
-构建验证测试:每次构建软件交付件时,都要使用这些测试进行质量保证(QA)。
-制造测试:每次组装设备时,都需要使用一组测试来验证其功能。当制造进入批量生产阶段时,这些测试尤为重要。
为了拥有一个通用的测试基础,建议在 Linux 上实现测试框架,而不是开发独立的测试套件。独立代码不易扩展,例如在基于 Linux 的测试系统上,添加一个简单的测试来 ping 下一跳路由器只需五行脚本,但如果使用独立的测试监视器,则可能需要编写网络驱动和协议栈。测试工程师不一定需要是内核专家,但需要从开发团队获取实现信息并进行批判性思考。
| 测试类型 | 说明 |
|---|