UDS协议-代码完整性测试

最近在开发MCU平台搭建,于是有了想把UDS协议架设到平台的想法。UDS协议涉及的文档比较多,一个人来实现比较不现实。通过在网上查找资料,发现GitHub上有福特开源的UDS项目,于是尝试把该项目拿来进行调试。

开源地址为uds-c,进行下载即可。

首先对代码的完整性进行测试。我是在Linux上进行测试的,之前已经安装gcc编译器。依环境不同,可能会遇到不同的问题,到时候谷歌一下即可。

通过读开源代码的Readme文档,可以看出里面有三个接口需要自行实现,分别是:send_can,debug以及set_timer。send_can函数必须实现,其余两个可选。解压项目进入工程文件夹下:/home/geno/Documents/uds-c,运行make test,会报有fatal error: check.h: No such file or directory错误,查了一下应该是没有安装check包的原因,运行命令sudo apt install check,安装check包后,问题解决。另外可以进行覆盖率测试,由于没有安装lcov,同样会报错,还有需要注意的是要把

$ BROWSER=google-chrome-stable make coverage

 google-chrome-stable换成自己实际的浏览器,并且要确保可以命令行启动浏览器。

我这里使用的是chromium-browser,所以要修改为BROWER=chromium-browser make coverage。

运行make test的效果如下:

运行BROWER=chromium-browser make coverage的结果如下:

命令行界面:

浏览器界面:

目前看UDS源码的完整性没有问题,下一步进行UDS移植工作

 

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
UDS(Unified Diagnostic Services)协议是一种通用的诊断服务协议,用于汽车电子控制单元(ECU)与诊断工具之间的通信。它定义了一系列的诊断服务和通信消息,使诊断工具能够与车辆的ECU进行通信,以读取诊断数据、执行诊断功能和写入控制参数等操作。 UDS协议遵循ISO 14229标准,该标准定义了UDS协议的通信方式、数据格式、错误处理、安全性等方面的要求。通过UDS协议,诊断工具可以向ECU发送诊断请求,如读取故障码、读取和写入数据或控制参数等。同时,ECU也可以通过UDS协议响应这些请求,并将实时数据、故障码或测试结果返回给诊断工具。 UDS协议提供了灵活且可扩展的诊断服务,可以满足不同车辆制造商和ECU的需求。它支持各种诊断功能,如读取和清除故障码、读取实时数据、编程和校准控制器等。同时,UDS协议还支持安全访问和数据保护,以确保诊断操作的安全性和可靠性。 UDS协议通过CAN总线或其他通信媒介进行通信,具有高效的数据传输和低延迟的特点。它适用于各种类型的车辆,包括乘用车、商用车和工程机械等。UDS协议的应用范围广泛,包括车辆制造、汽车维修和诊断设备开发等领域。 总而言之,UDS协议-14229是一种通用的诊断服务协议,通过定义诊断服务和通信消息,实现了诊断工具与车辆ECU之间的通信。它具有灵活可扩展、安全可靠的特点,广泛应用于汽车制造和维修领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值