一種基于Vspy的ECU軟件刷新方法及裝置的制造方法
【技術領域】
[0001 ] 本發(fā)明涉及汽車電子技術領域,尤其涉及一種基于Vspy的ECU軟件刷新方法及裝置。
【背景技術】
[0002]隨著汽車電子技術的發(fā)展,電子控制器(Electronic Control Unit, EQJ)越來越多地應用于現(xiàn)代汽車技術上。在電子控制器軟件開發(fā)過程中,以及汽車產(chǎn)品的使用期間,由于控制軟件的升級,軟件開發(fā)人員和汽車主機廠需要對控制器軟件進行刷新??刂破鬈浖话愦鎯υ谛酒锌煞磸碗姴脸腇lash區(qū),采用現(xiàn)有的軟件刷新方法,工作人員需要打開控制器,供助BDM (background debug module)端口進行Flash的燒寫,實際操作很不方便。
[0003]在現(xiàn)有技術中,還存在另一種刷新方法,其是通過OBD (On-Board Diagnostics,車載自動診斷系統(tǒng))的診斷口,采用Flash bootloader軟件(FLash引導加載程序)刷新Flash中的內(nèi)容來實現(xiàn)對ECU軟件的升級。但是這種軟件刷新工具需要采用專用的工具,其是獨立于汽車主機廠現(xiàn)有工具之外的專用工具,一般需要從汽車行業(yè)的總線工具開發(fā)商定制這種軟件刷新工具。例如現(xiàn)階普遍使用的Vector公司的基于CANdito的Flashbootloder刷新工具,汽車主機廠首先需要支付一定的費用購買CANdito工具及其軟件刷新源代碼。且工程師不能自主的根據(jù)自身需求調(diào)整刷新代碼,且一旦軟件刷新規(guī)范有變更,又需要通過Vector公司更改源代碼,支付Vector公司一定的開發(fā)費用,這樣提高了整車開發(fā)成本;另外由于需要將自身需求告知Vector公司,故同時降低了汽車主機廠軟件刷新規(guī)范的保密性。而且,在現(xiàn)有的刷新方式中,在刷新開始之前需要操作填寫多個參數(shù),還要操作員選擇多個文件,操作的內(nèi)容很多,并且在繁雜的操作中,很難避免出現(xiàn)參數(shù)填寫錯誤或者加載的文件與所需文件不匹配等情況,出現(xiàn)這種情形,則會影響生產(chǎn)節(jié)拍,甚至在刷錯軟件時造成不必要的浪費或者嚴重的后果。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術問題在于,本發(fā)明提出一種基于Vspy (全稱為VehicleSpy)的ECU軟件刷新方法及裝置,可以降低ECU軟件的刷新成本、降低操作的復雜度以及提高刷新的成功率。
[0005]為了解決上述技術問題,本發(fā)明實施例的一方面提供一種基于Vspy的ECU軟件刷新方法,用于對乘用車的ECU中ECU軟件進行刷新,包括如下步驟:
在由Vspy開發(fā)的刷新工具中,選擇需要刷新的ECU軟件類型以及所處的網(wǎng)絡;
根據(jù)所選擇的需要刷新的ECU軟件類型,讀取所述ECU軟件類型對應的刷新文件的存放地址;
在所述存放地址中,讀取所述ECU軟件類型對應的安全算法文件、Flash驅(qū)動文件以及刷新文件; 在通過所述安全算法文件實現(xiàn)乘用車的ECU的校驗后,將所述Flash驅(qū)動文件以及刷新文件上傳至乘用車的ECU中,并刷新所述ECU中的相應的ECU軟件。
[0006]其中,根據(jù)所選擇的需要刷新的ECU軟件類型,讀取所述ECU軟件類型的刷新文件的存放地址的步驟具體為:
根據(jù)預先存儲的ECU軟件類型與其刷新文件存放地址的對應關系,讀取所述ECU軟件類型所對應的刷新文件的存放地址,所述對應關系存儲在一映射表或通過指針的方式實現(xiàn)。
[0007]其中,在所述存放地址中,讀取所述E⑶軟件類型對應的安全算法文件、Flash驅(qū)動文件以及刷新文件的步驟具體包括:
根據(jù)所述需要刷新的ECU軟件類型,獲得其對應的安全算法文件檢索關鍵詞、Flash驅(qū)動文件檢索關鍵詞以及刷新文件檢索關鍵詞;
在所述存放地址中,分別采用所述安全算法文件檢索關鍵詞、Flash驅(qū)動文件檢索關鍵詞以及刷新文件檢索關鍵詞進行檢索,獲得所述安全算法文件、Flash驅(qū)動文件以及刷新文件。
[0008]其中,所述在通過所述安全算法文件實現(xiàn)乘用車的ECU的校驗后,將所述Flash驅(qū)動文件以及刷新文件上傳至乘用車的ECU中,并刷新所述ECU中的相應的ECU軟件的步驟具體包括:
與乘用車的ECU建立連接,通過所述安全算法文件計算獲得一校驗值,將所述校驗值發(fā)送給乘用車的ECU進行校驗;
調(diào)用Vspy中的診斷命令,向ECU發(fā)送上傳數(shù)據(jù)的請求命令,所述請求命令中包含所述ECU軟件對應的診斷請求ID與響應的ID ;
在收到來自所述ECU的響應命令后,將所述Flash驅(qū)動文件以及刷新文件以診斷報文的方式進行上傳;
通過所述Flash驅(qū)動文件,將所述刷新文件寫入所述E⑶軟件所在的Flash中;
在所有文件上傳完畢后,停止文件的上傳。
[0009]其中,進一步包括:
預先配置各類型ECU軟件的診斷請求ID與響應的ID,以及收發(fā)器的工作的波特率。
[0010]相應地,本發(fā)明實施例的另一方面,還提供一種基于Vspy的E⑶軟件刷新裝置,用于對乘用車的E⑶中E⑶軟件進行刷新,包括:
ECU類型選擇單元,用于在由Vspy開發(fā)的刷新工具中,選擇需要刷新的ECU軟件類型以及所處的網(wǎng)絡;
存放地址定位單元,用于根據(jù)所述ECU類型選擇單元中所選擇的ECU軟件類型,讀取所述ECU軟件類型對應的刷新文件的存放地址;
刷新文件讀取單元,用于在所述存放地址中,讀取所述ECU軟件類型對應的安全算法文件、Flash驅(qū)動文件以及刷新文件;
刷新處理單元,用于在通過所述安全算法文件實現(xiàn)乘用車的ECU的校驗后,上傳所述刷新文件讀取單元讀取的Flash驅(qū)動文件以及刷新文件,并刷新ECU中的相應的ECU軟件。
[0011]其中,所述存放地址定位單元根據(jù)預先存儲的ECU軟件類型與其刷新文件存放地址的對應關系,讀取所述ECU軟件類型所對應的刷新文件的存放地址,所述對應關系存儲在一映射表或通過指針的方式實現(xiàn)。
[0012]其中,所述刷新文件讀取單元進一步包括:
檢索關鍵詞獲取單元,用于根據(jù)所述需要刷新的ECU軟件類型,獲得其對應的安全算法文件檢索關鍵詞、Flash驅(qū)動文件檢索關鍵詞以及刷新文件檢索關鍵詞;
檢索單元,用于在所述存放地址中,分別采用所述檢索關鍵詞獲取單元所確定的安全算法文件檢索關鍵詞、Flash驅(qū)動文件檢索關鍵詞以及刷新文件檢索關鍵詞進行檢索,獲得所述安全算法文件、Flash驅(qū)動文件以及刷新文件。
[0013]其中,所述刷新處理單元進一步包括:
校驗請求發(fā)送單元,用于與乘用車的ECU建立連接,通過所述安全算法文件計算獲得一校驗值,將所述校驗值發(fā)送給乘用車的ECU進行校驗;
數(shù)據(jù)上傳請求單元,用于調(diào)用Vspy中的診斷命令,向ECU發(fā)送上傳數(shù)據(jù)的請求命令,所述請求命令中包含所述ECU軟件對應的診斷請求ID與響應的ID ;
數(shù)據(jù)上傳單元,用于在收到來自所述ECU的響應命令后,將所述Flash驅(qū)動文件以及刷新文件以診斷報文的方式進行上傳;
刷新單元,用于通過所述Flash驅(qū)動文件,將所述刷新文件寫入所述ECU軟件所在的Flash 中;
數(shù)據(jù)上傳停止單元,用于在所有文件上傳完畢后,停止文件的上傳。
[0014]其中,進一步包括:
配置單元,用于預先配置各類型ECU軟件的診斷請求ID與響應的ID,以及收發(fā)器的工作的波特率。
[0015]實施本發(fā)明,具有如下的有益效果:
本發(fā)明的實施例是通過對VSpy軟件進行二次開發(fā),不需要購買定制的ECU軟件刷新工具,可以節(jié)省開發(fā)成本;
本發(fā)明實施例通過所選ECU來自動關聯(lián)刷新所需的相關文件并自動加載,可以加快刷新速度,提高生產(chǎn)節(jié)拍的同時,能增加刷新的成功率。
【附圖說明】
[0016]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1是本發(fā)明提供的基于VSpy的ECU軟件刷新方法的一個實施例的主流程圖; 圖2是本發(fā)明提供的基于VSpy的ECU軟件刷新裝置的一個實施例的結構示意圖;
圖3是圖2中刷新文件讀取單元的結構示意圖;
圖4是圖2中刷新處理單元的結構示意圖;
圖5是本發(fā)明提供的基于VSpy的ECU軟件刷新裝置的軟件界面示意圖。
【具體實施方式】
[0018]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0019]如圖1所示,示出了本發(fā)明提供的一種基于Vspy的ECU軟件刷新方法的一個實施例的主流程示意圖。在該實施例中,該基于Vspy的ECU軟件刷新方法包括如下步驟:
步驟S1