UDS协议-代码完整性测试
最近在開發(fā)MCU平臺(tái)搭建,于是有了想把UDS協(xié)議架設(shè)到平臺(tái)的想法。UDS協(xié)議涉及的文檔比較多,一個(gè)人來實(shí)現(xiàn)比較不現(xiàn)實(shí)。通過在網(wǎng)上查找資料,發(fā)現(xiàn)GitHub上有福特開源的UDS項(xiàng)目,于是嘗試把該項(xiàng)目拿來進(jìn)行調(diào)試。
開源地址為uds-c,進(jìn)行下載即可。
首先對(duì)代碼的完整性進(jìn)行測試。我是在Linux上進(jìn)行測試的,之前已經(jīng)安裝gcc編譯器。依環(huán)境不同,可能會(huì)遇到不同的問題,到時(shí)候谷歌一下即可。
通過讀開源代碼的Readme文檔,可以看出里面有三個(gè)接口需要自行實(shí)現(xiàn),分別是:send_can,debug以及set_timer。send_can函數(shù)必須實(shí)現(xiàn),其余兩個(gè)可選。解壓項(xiàng)目進(jìn)入工程文件夾下:/home/geno/Documents/uds-c,運(yùn)行make test,會(huì)報(bào)有fatal error: check.h: No such file or directory錯(cuò)誤,查了一下應(yīng)該是沒有安裝check包的原因,運(yùn)行命令sudo apt install check,安裝check包后,問題解決。另外可以進(jìn)行覆蓋率測試,由于沒有安裝lcov,同樣會(huì)報(bào)錯(cuò),還有需要注意的是要把
$ BROWSER=google-chrome-stable make coverage?google-chrome-stable換成自己實(shí)際的瀏覽器,并且要確保可以命令行啟動(dòng)瀏覽器。
我這里使用的是chromium-browser,所以要修改為BROWER=chromium-browser make coverage。
運(yùn)行make test的效果如下:
運(yùn)行BROWER=chromium-browser make coverage的結(jié)果如下:
命令行界面:
瀏覽器界面:
目前看UDS源碼的完整性沒有問題,下一步進(jìn)行UDS移植工作
?
總結(jié)
以上是生活随笔為你收集整理的UDS协议-代码完整性测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【剑指offer】——求出一个正整数的质
- 下一篇: 计算闰年