专栏:从零开始搭建一个UDS诊断自动化测试CANoe工程
前言
本专栏将从零开始搭建一个用于UDS诊断服务的CANoe测试工程,基于CAN/CANFD总线,可以手动测试,也可自动化测试,使用XML测试节点实现。目前使用cdd及diva可以快速生成uds诊断的测试用例及工程,任有部分用例无法涉及或配置比较复杂。本工程主要实现功能如下:
- CAN/CANFD可以配置选择。
- 诊断ID可通过面板配置,工程运行过程也可以修改,cdd的诊断id是固定的。
- 通过osek_tp.dll实现诊断服务的接收和发送。
- 物理寻址,功能寻址可以配置。
- 实现27服务安全解锁的框架,具体算法需要根据不同厂商自己去实现。虽然制作dll文件同样可以(按照CANoe模板制作seed&&key.dll),但是针对一些mask如果要修改,在CAPL里实现更方便。
- 实现DTC的解析,19服务读出的诊断报文,解析这条报文中的dtc及dtc的状态,二进制同样打印出来。
- 设计一些常用的诊断服务按钮