最近可能会参与汽车行业的驱动测试项目。
第一次做测试相关项目,感觉头很大。
初步进行了一些调研,了解到的系统环境和需求如下:
1> 汽车采用英飞凌的芯片与系统
2> 硬件系统并不提供串口接口
3> 无操作系统
4> 不支持网络
需求:
需要测试系统的稳定性,性能,数据传输速率
这就带来了构建测试系统的难点。
理想的测试系统如下:
测试人员用VBScript或Python写测试代码
执行脚本,生成C代码
上位机通过通信系统将C代码发送到下位机
|
下位机动态解析C代码,执行,并将测试结果返回给上位机。
|
上位机将结果分析,生成报表,并将测试代码与结果写入测试系统数据库
难点:
1> 基于CAN总线的上位机下位机通信系统
2> 编写一个100K以下的C语言解析器,移植到嵌入式系统
难点1估计问问百度应该很好解决。
重点是难点2,解决方案有3种:
1> 将TInyCC移植到目标系统
2> 基于Flex/Yacc 自己生成一个解析器
3> 针对测试代码需求,设计一个简化版的C解析器
各方案的优点:
方案1: 代码修改难度可能比较大,需要花时间进行调试,能否一周搞定无法预计,项目进度可能失控
方案2: 实现很快,但目前没有目标系统的内存大小信息和库信息,能否移植无法确定
方案3: 代码量多,但代码空间少, 缺点并不完全支持C,可能导致测试脚本难写。
经过一定的思考,打算先使用方案3.
咨询了google,找到了以下资料。
picoc 一个微型C语言解析器。
原文:http://blog.csdn.net/levinjoe/article/details/24501881