本申請(qǐng)涉及車輛,尤其涉及一種can通信矩陣的解析及代碼生成方法、系統(tǒng)及設(shè)備。
背景技術(shù):
1、在汽車電子和嵌入式系統(tǒng)中,can(controller?area?network)通信廣泛應(yīng)用于車載網(wǎng)絡(luò)。為了實(shí)現(xiàn)不同電子控制單元(ecu)之間的有效通信,工程師通常使用can通信矩陣來定義和描述各個(gè)信號(hào)和消息。當(dāng)網(wǎng)絡(luò)工程師整理完can通訊矩陣內(nèi)容后,通常是通過execl和dbc文件發(fā)布,而其他工程師則通過office查看execl文件和其它工具查看dbc文件,最后通過自己熟悉的代碼編譯ide完成代碼修改。
2、現(xiàn)有技術(shù)方案主要是由工程師完成新增或者變更的修改,流程概述如下:根據(jù)業(yè)務(wù)需求,網(wǎng)絡(luò)通信工程師更新并發(fā)布一版can通信矩陣文件;底軟工程師對(duì)比新舊兩個(gè)版本can通信矩陣文件,并找出其中的差異點(diǎn);底軟工程師根據(jù)差異點(diǎn)完成變量定義、發(fā)送表格及接收表格修改。存在以下缺點(diǎn):
3、差異查找困難,can通信矩陣有一定規(guī)則,但是can通信矩陣文件內(nèi)容存在不確定性,例如can報(bào)文放置順序、can報(bào)文內(nèi)容的調(diào)整等,所以大大增加了差異查找的難度,且易出現(xiàn)遺漏情況。手動(dòng)調(diào)整代碼容易出錯(cuò),即使工程師能夠查找到所有差異,手動(dòng)修改工程代碼時(shí)仍然存在較大的錯(cuò)誤風(fēng)險(xiǎn)。每次can通信矩陣調(diào)整的內(nèi)容數(shù)量不確定,增加了手動(dòng)修改過程中的復(fù)雜性和出錯(cuò)率。工期長(zhǎng)且耗時(shí)耗力,現(xiàn)有技術(shù)主要依靠人工檢查和修改,導(dǎo)致工作效率低下。每次can通信矩陣調(diào)整都需要工程師進(jìn)行大量的手動(dòng)操作,耗費(fèi)大量時(shí)間和精力。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問題,提供一種can通信矩陣的解析及代碼生成方法、系統(tǒng)及設(shè)備,具有的can通信矩陣的解析及代碼生成的效率高、準(zhǔn)確性高和可靠性高的優(yōu)點(diǎn)。
2、第一方面,提供一種can通信矩陣的解析及代碼生成方法,包括:
3、運(yùn)行可執(zhí)行文件,對(duì)can通信矩陣更新目錄下的can通信矩陣文件進(jìn)行解析操作,得到can通信矩陣文件內(nèi)容;
4、根據(jù)can通信矩陣文件內(nèi)容,進(jìn)行工程代碼生成操作;
5、如果所述可執(zhí)行文件在運(yùn)行過程中未發(fā)生異常,則在工程代碼生成操作完成后,在代碼生成目錄下生成工程代碼文件。
6、在一些示例中,在運(yùn)行可執(zhí)行文件,對(duì)can通信矩陣更新目錄下的can通信矩陣文件進(jìn)行解析操作,得到can通信矩陣文件內(nèi)容之前,還包括:
7、發(fā)布更新后的can通信矩陣文件,并將所述can通信矩陣文件存儲(chǔ)至所述can通信矩陣更新目錄。
8、在一些示例中,所述運(yùn)行可執(zhí)行文件,對(duì)can通信矩陣更新目錄下的can通信矩陣文件進(jìn)行解析操作,得到can通信矩陣文件內(nèi)容,包括:
9、運(yùn)行所述可執(zhí)行文件,從所述can通信矩陣更新目錄下解析所述can通信矩陣文件,以從所述can通信矩陣文件中提取出can通信矩陣文件內(nèi)容。
10、在一些示例中,所述通信矩陣文件內(nèi)容至少包括can報(bào)文及信號(hào)的定義。
11、在一些示例中,所述根據(jù)can通信矩陣文件內(nèi)容,進(jìn)行工程代碼生成操作,包括:
12、根據(jù)所述通信矩陣文件內(nèi)容,生成至少包括變量定義、發(fā)送定義和接收定義得邏輯代碼。
13、在一些示例中,所述如果所述可執(zhí)行文件在運(yùn)行過程中未發(fā)生異常,則在工程代碼生成操作完成后,在代碼生成目錄下生成工程代碼文件,包括:
14、判斷所述可執(zhí)行文件在運(yùn)行過程中是否發(fā)生異?;蛘咤e(cuò)誤;
15、如果否,則將生成的工程代碼以工程代碼文件的形式存儲(chǔ)至所述代碼生成目錄下。
16、第二方面,提供了一種can通信矩陣的解析及代碼生成系統(tǒng),包括:
17、解析模塊,用于運(yùn)行可執(zhí)行文件,對(duì)can通信矩陣更新目錄下的can通信矩陣文件進(jìn)行解析操作,得到can通信矩陣文件內(nèi)容;
18、代碼生成模塊,用于根據(jù)can通信矩陣文件內(nèi)容,進(jìn)行工程代碼生成操作;
19、存儲(chǔ)模塊,用于在所述可執(zhí)行文件在運(yùn)行過程中未發(fā)生異常時(shí),在工程代碼生成操作完成后,在代碼生成目錄下生成工程代碼文件。第三方面,提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行程序時(shí),實(shí)現(xiàn)上述第一方面以及第一方面任意一種可能的實(shí)現(xiàn)方式的can通信矩陣的解析及代碼生成方法的步驟。
20、第四方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)上述第一方面以及第一方面任意一種可能的實(shí)現(xiàn)方式的can通信矩陣的解析及代碼生成方法的步驟。
21、第五方面,提供一種計(jì)算機(jī)程序產(chǎn)品,其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí),實(shí)現(xiàn)上述第一方面以及第一方面任意一種可能的實(shí)現(xiàn)方式的can通信矩陣的解析及代碼生成方法的步驟。
22、采用本申請(qǐng)的實(shí)施例,具有以下優(yōu)點(diǎn):
23、具有自動(dòng)化解析和生成代碼的優(yōu)點(diǎn),現(xiàn)有技術(shù)中的can通信矩陣更新工作需要工程師手動(dòng)對(duì)比新舊版本的矩陣文件,并手動(dòng)修改代碼。這一過程繁瑣且易出錯(cuò)。本申請(qǐng)則是通過自動(dòng)化解析和生成技術(shù),解決了這一問題,能夠自動(dòng)解析can通信矩陣文件,提取信息,并自動(dòng)生成對(duì)應(yīng)的c代碼。每次運(yùn)時(shí),是從頭開始生成最新的代碼,進(jìn)而確保生成的內(nèi)容始終是最新且符合can通信矩陣要求的。具有消除人工錯(cuò)誤的優(yōu)點(diǎn),由于生成的所有內(nèi)容都是自動(dòng)生成的,所以不存在人工修改可能帶來的錯(cuò)誤或遺漏情況。自動(dòng)生成的代碼按照can通信矩陣的內(nèi)容實(shí)現(xiàn),確保了代碼的準(zhǔn)確性和一致性;具有提高生產(chǎn)效率的優(yōu)點(diǎn),現(xiàn)有技術(shù)中的can通信矩陣內(nèi)容的修改和更新通常需要一到兩周的時(shí)間,而本申請(qǐng),整個(gè)過程可以快速完成,極大地提高了生產(chǎn)效率,節(jié)省了大量的人力和時(shí)間成本。
1.一種can通信矩陣的解析及代碼生成方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的can通信矩陣的解析及代碼生成方法,其特征在于,在運(yùn)行可執(zhí)行文件,對(duì)can通信矩陣更新目錄下的can通信矩陣文件進(jìn)行解析操作,得到can通信矩陣文件內(nèi)容之前,還包括:
3.根據(jù)權(quán)利要求1或2所述的can通信矩陣的解析及代碼生成方法,其特征在于,所述運(yùn)行可執(zhí)行文件,對(duì)can通信矩陣更新目錄下的can通信矩陣文件進(jìn)行解析操作,得到can通信矩陣文件內(nèi)容,包括:
4.根據(jù)權(quán)利要求3所述的can通信矩陣的解析及代碼生成方法,其特征在于,所述通信矩陣文件內(nèi)容至少包括can報(bào)文及信號(hào)的定義。
5.根據(jù)權(quán)利要求4所述的can通信矩陣的解析及代碼生成方法,其特征在于,所述根據(jù)can通信矩陣文件內(nèi)容,進(jìn)行工程代碼生成操作,包括:
6.根據(jù)權(quán)利要求1所述的can通信矩陣的解析及代碼生成方法,其特征在于,所述如果所述可執(zhí)行文件在運(yùn)行過程中未發(fā)生異常,則在工程代碼生成操作完成后,在代碼生成目錄下生成工程代碼文件,包括:
7.一種can通信矩陣的解析及代碼生成系統(tǒng),其特征在于,包括:
8.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí),實(shí)現(xiàn)根據(jù)權(quán)利要求1-6任一項(xiàng)所述的can通信矩陣的解析及代碼生成方法。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1-6任一項(xiàng)所述的can通信矩陣的解析及代碼生成方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1-6任一項(xiàng)所述的can通信矩陣的解析及代碼生成方法。