最近在开发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移植工作
本文介绍了作者在开发MCU平台过程中尝试引入UDS协议的经历。通过使用GitHub上的开源UDS项目,作者详细记录了项目的下载、配置及初步测试过程,并分享了解决过程中遇到的问题的方法。
7万+





