国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種車輛的軟件更新方法和裝置制造方法

      文檔序號:6632701閱讀:125來源:國知局
      一種車輛的軟件更新方法和裝置制造方法
      【專利摘要】本發(fā)明公開了一種車輛的軟件更新方法和裝置,屬于電子【技術(shù)領(lǐng)域】。該方法包括:判斷車輛的電子控制單元ECU中的啟動加載程序是否需要更新;如果需要更新,通過車輛的控制器局域網(wǎng)CAN總線從上位機中獲取最新的啟動加載程序,ECU中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,且第一啟動加載程序和第二啟動加載程序相同;設(shè)置第一啟動加載程序處于工作狀態(tài),將第二啟動加載程序更新為最新的啟動加載程序;在第二啟動加載程序更新完成時,設(shè)置第二啟動加載程序處于工作狀態(tài),將第一啟動加載程序更新為最新的啟動加載程序。該裝置包括:第一判斷模塊,第一獲取模塊,第一更新模塊和第二更新模塊。本發(fā)明提高了更新成功率。
      【專利說明】
      一種車輛的軟件更新方法和裝置

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及電子【技術(shù)領(lǐng)域】,特別涉及一種車輛的軟件更新方法和裝置。

      【背景技術(shù)】
      [0002]隨著電子技術(shù)的發(fā)展,現(xiàn)在車輛的EQJ(Electronic Control Unit,電子控制單元)中的軟件越來越多,例如,ECU中的軟件包括啟動加載程序,為了給用戶帶來更好的用戶體驗,車輛需要每隔一段時間對ECU中的軟件進行更新,以便使ECU中的軟件更加完善。
      [0003]現(xiàn)有技術(shù)中車輛的軟件更新方法可以為:在車輛的E⑶上設(shè)置一個串行通信端口,通過串行通信端口將E⑶和上位機進行連接出⑶通過串行通信端口接收上位機發(fā)送的最新的啟動加載程序,并將ECU中的啟動加載程序更新為最新的啟動加載程序。
      [0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
      [0005]需要在E⑶上設(shè)置串行通信端口,增加了硬件設(shè)計的復(fù)雜性;并且,串行通信端口的通信距離太短,抗干擾能力太差,在車輛復(fù)雜的電磁環(huán)境下很容易導(dǎo)致更新失敗。


      【發(fā)明內(nèi)容】

      [0006]為了使解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一車輛的軟件更新方法和裝置。技術(shù)方案如下:
      [0007]—方面,本發(fā)明提供了一種車輛的軟件更新方法,所述方法包括:
      [0008]判斷車輛的電子控制單元ECU中的啟動加載程序是否需要更新;
      [0009]如果需要更新,通過所述車輛的控制器局域網(wǎng)CAN總線從上位機中獲取最新的啟動加載程序,所述ECU中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,且所述第一啟動加載程序和第二啟動加載程序相同;
      [0010]設(shè)置所述第一啟動加載程序處于工作狀態(tài),將所述第二啟動加載程序更新為所述最新的啟動加載程序;
      [0011]在所述第二啟動加載程序更新完成時,設(shè)置所述第二啟動加載程序處于工作狀態(tài),將所述第一啟動加載程序更新為所述最新的啟動加載程序。
      [0012]優(yōu)選的,所述判斷車輛的電子控制單元ECU中的啟動加載程序是否需要更新,包括:
      [0013]判斷指定存儲單元中是否存在啟動加載程序的更新標(biāo)識;
      [0014]如果存在,則確定所述車輛的電子控制單元ECU中的啟動加載程序需要更新;
      [0015]如果不存在,則確定所述車輛的電子控制單元ECU中的啟動加載程序不需要更新。
      [0016]優(yōu)選的,所述方法還包括:
      [0017]通過所述車輛的CAN總線接收所述上位機發(fā)送的更新命令,所述更新命令攜帶所述啟動加載程序的程序標(biāo)識;
      [0018]為所述啟動加載程序分配更新標(biāo)識;
      [0019]將所述啟動加載程序的更新標(biāo)識存儲在指定存儲單元中。
      [0020]優(yōu)選的,所述方法還包括:
      [0021]判斷所述車輛的2⑶中的應(yīng)用程序是否需要更新;
      [0022]如果需要更新,通過所述車輛的0^總線從所述上位機中獲取最新的應(yīng)用程序;
      [0023]將所述中的應(yīng)用程序更新為所述最新的應(yīng)用程序。
      [0024]優(yōu)選的,所述判斷所述車輛的中的應(yīng)用程序是否需要更新,包括:
      [0025]獲取所述車輛的中應(yīng)用程序的存儲地址;
      [0026]判斷所述存儲地址對應(yīng)的存儲空間中是否存在完整的應(yīng)用程序;
      [0027]如果所述存儲地址對應(yīng)的存儲空間中不存在完整的應(yīng)用程序,則確定所述車輛的中的應(yīng)用程序需要更新;
      [0028]如果所述存儲地址對應(yīng)的存儲空間中存在完整的應(yīng)用程序,則確定所述車輛的中的應(yīng)用程序不需要更新。
      [0029]另一方面,本發(fā)明提供了一種車輛的軟件更新裝置,所述裝置包括:
      [0030]第一判斷模塊,用于判斷車輛的電子控制單元中的啟動加載程序是否需要更新;
      [0031]第一獲取模塊,用于如果需要更新,通過所述車輛的控制器局域網(wǎng)0^總線從上位機中獲取最新的啟動加載程序,所述中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,且所述第一啟動加載程序和第二啟動加載程序相同;
      [0032]第一更新模塊,用于設(shè)置所述第一啟動加載程序處于工作狀態(tài),將所述第二啟動加載程序更新為所述最新的啟動加載程序;
      [0033]第二更新模塊,用于在所述第二啟動加載程序更新完成時,設(shè)置所述第二啟動加載程序處于工作狀態(tài),將所述第一啟動加載程序更新為所述最新的啟動加載程序。
      [0034]優(yōu)選的,所述第一判斷模塊,包括:
      [0035]第一判斷單元,用于判斷指定存儲單元中是否存在啟動加載程序的更新標(biāo)識;
      [0036]第一確定單元,用于如果存在,則確定所述車輛的電子控制單元中的啟動加載程序需要更新;
      [0037]第二確定單元,用于如果不存在,則確定所述車輛的電子控制單元中的啟動加載程序不需要更新。
      [0038]優(yōu)選的,所述裝置還包括:
      [0039]接收模塊,用于通過所述車輛的0^總線接收所述上位機發(fā)送的更新命令,所述更新命令攜帶所述啟動加載程序的程序標(biāo)識;
      [0040]分配模塊,用于為所述啟動加載程序分配更新標(biāo)識;
      [0041]存儲模塊,用于將所述啟動加載程序的更新標(biāo)識存儲在指定存儲單元中。
      [0042]優(yōu)選的,所述裝置還包括:
      [0043]第二判斷模塊,用于判斷所述車輛的2⑶中的應(yīng)用程序是否需要更新;
      [0044]第二獲取模塊,用于如果需要更新,通過所述車輛的0^總線從所述上位機中獲取最新的應(yīng)用程序;
      [0045]第三更新模塊,用于將所述中的應(yīng)用程序更新為所述最新的應(yīng)用程序。
      [0046]優(yōu)選的,所述第二判斷模塊,包括:
      [0047]獲取單元,用于獲取所述車輛的2⑶中應(yīng)用程序的存儲地址;
      [0048]第二判斷單元,用于判斷所述存儲地址對應(yīng)的存儲空間中是否存在完整的應(yīng)用程序;
      [0049]第三確定單元,用于如果所述存儲地址對應(yīng)的存儲空間中不存在完整的應(yīng)用程序,則確定所述車輛的中的應(yīng)用程序需要更新;
      [0050]第四確定單元,用于如果所述存儲地址對應(yīng)的存儲空間中存在完整的應(yīng)用程序,則確定所述車輛的中的應(yīng)用程序不需要更新。
      [0051]在本發(fā)明中,通過車輛的0^總線從上位機中獲取最新的啟動加載程序,從而不需要在上設(shè)置串行通信端口,減少了硬件設(shè)計的復(fù)雜性;并且,總線通信距離長,抗干擾能力強,從而提高了車輛軟件的更新成功率;并且,中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,在更新中的啟動加載程序時,設(shè)置第一啟動加載程序處于工作狀態(tài),更新第二啟動加載程序;在第二啟動程序更新完成時,設(shè)置第二啟動加載程序處于工作狀態(tài),更新第一啟動加載程序,從而避免了在更新啟動加載程序斷電無法運行啟動加載程序的問題。

      【專利附圖】

      【附圖說明】
      [0052]圖1是本發(fā)明實施例1提供的一種車輛的軟件更新方法流程圖;
      [0053]圖2是本發(fā)明實施例2提供的一種車輛的軟件更新方法流程圖;
      [0054]圖3是本發(fā)明實施例3提供的一種車輛的軟件更新裝置結(jié)構(gòu)示意圖。

      【具體實施方式】
      [0055]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
      [0056]實施例1
      [0057]本發(fā)明實施例提供了一種車輛的軟件更新方法,該方法的執(zhí)行主體可以為,參見圖1,其中,該方法包括:
      [0058]步驟101:判斷車輛的電子控制單元已⑶中的啟動加載程序是否需要更新;
      [0059]步驟102:如果需要更新,通過車輛的控制器局域網(wǎng)總線從上位機中獲取最新的啟動加載程序,中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,且第一啟動加載程序和第二啟動加載程序相同;
      [0060]步驟103:設(shè)置第一啟動加載程序處于工作狀態(tài),將第二啟動加載程序更新為最新的啟動加載程序;
      [0061]步驟104:在第二啟動加載程序更新完成時,設(shè)置第二啟動加載程序處于工作狀態(tài),將第一啟動加載程序更新為最新的啟動加載程序。
      [0062]優(yōu)選的,判斷車輛的電子控制單元中的啟動加載程序是否需要更新,包括:
      [0063]判斷指定存儲單元中是否存在啟動加載程序的更新標(biāo)識;
      [0064]如果存在,則確定車輛的電子控制單元中的啟動加載程序需要更新;
      [0065]如果不存在,則確定車輛的電子控制單元中的啟動加載程序不需要更新。
      [0066]優(yōu)選的,該方法還包括:
      [0067]通過車輛的總線接收上位機發(fā)送的更新命令,更新命令攜帶啟動加載程序的程序標(biāo)識;
      [0068]為啟動加載程序分配更新標(biāo)識;
      [0069]將啟動加載程序的更新標(biāo)識存儲在指定存儲單元中。
      [0070]優(yōu)選的,該方法還包括:
      [0071]判斷車輛的2⑶中的應(yīng)用程序是否需要更新;
      [0072]如果需要更新,通過車輛的0^總線從上位機中獲取最新的應(yīng)用程序;
      [0073]將中的應(yīng)用程序更新為最新的應(yīng)用程序。
      [0074]優(yōu)選的,判斷車輛的2⑶中的應(yīng)用程序是否需要更新,包括:
      [0075]獲取車輛的5:⑶中應(yīng)用程序的存儲地址;
      [0076]判斷存儲地址對應(yīng)的存儲空間中是否存在完整的應(yīng)用程序;
      [0077]如果存儲地址對應(yīng)的存儲空間中不存在完整的應(yīng)用程序,則確定車輛的中的應(yīng)用程序需要更新;
      [0078]如果存儲地址對應(yīng)的存儲空間中存在完整的應(yīng)用程序,則確定車輛的中的應(yīng)用程序不需要更新。
      [0079]在本發(fā)明中,通過車輛的0^總線從上位機中獲取最新的啟動加載程序,從而不需要在上設(shè)置串行通信端口,減少了硬件設(shè)計的復(fù)雜性;并且,總線通信距離長,抗干擾能力強,從而提高了車輛軟件的更新成功率;并且,中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,在更新中的啟動加載程序時,設(shè)置第一啟動加載程序處于工作狀態(tài),更新第二啟動加載程序;在第二啟動程序更新完成時,設(shè)置第二啟動加載程序處于工作狀態(tài),更新第一啟動加載程序,從而避免了在更新啟動加載程序斷電無法運行啟動加載程序的問題。
      [0080]實施例2
      [0081]本發(fā)明實施例提供了一種車輛的軟件更新方法,該方法的執(zhí)行主體可以為,其中,車輛的軟件包括啟動加載程序和應(yīng)用程序。并且,啟動加載程序和應(yīng)用程序存儲在車輛的已⑶中。當(dāng)車輛的中的啟動加載程序需要更新時,在指定存儲單元中存儲啟動加載程序的更新標(biāo)識。參見圖2,其中,該方法包括:
      [0082]步驟201:判斷指定存儲單元中是否存在啟動加載程序的更新標(biāo)識,如果存在,執(zhí)行步驟202 ;如果不存在,結(jié)束;
      [0083]當(dāng)車輛的啟動加載程序需要更新時,上位機通過車輛的紅68~6切01^,控制器局域網(wǎng))總線發(fā)送更新命令給車輛的201,該更新命令攜帶啟動加載程序的程序標(biāo)識⑶通過總線接收上位機發(fā)送的更新命令;根據(jù)該更新命令為啟動加載程序分配更新標(biāo)識;將啟動加載程序的更新標(biāo)識存儲在指定存儲單元中。
      [0084]啟動加載程序的程序標(biāo)識可以為啟動加載程序的名稱等;指定存儲單元可以為2⑶的?閃存)單元等。
      [0085]在步驟201中判斷指定存儲單元中是否存在啟動加載程序的更新標(biāo)識;如果存在,執(zhí)行步驟202 ;如果不存在,則確定車輛的中的啟動加載程序不需要更新,結(jié)束。
      [0086]需要說明的是,在本步驟之前,初始化車輛的各個模塊,如總線等。
      [0087]步驟202:如果存在,則確定車輛的中的啟動加載程序需要更新;
      [0088]如果指定存儲單元中存在啟動加載程序的程序標(biāo)識,則上位機已經(jīng)發(fā)過更新命令給也即確定車輛的中的啟動加載程序需要更新。
      [0089]步驟203:通過車輛的總線從上位機中獲取最新的啟動加載程序,中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,且第一啟動加載程序和第二啟動加載程序相同;
      [0090]其中,第一啟動加載程序和第二啟動加載程序相同,但第一啟動加載程序和第二啟動加載程序的存儲地址不同,從而實現(xiàn)了啟動加載程序的備份,避免了啟動加載程序運行出錯時,無法運行的問題。并且,有效的避免了啟動加載程序更新失敗時導(dǎo)致打開2⑶重新寫入啟動加載程序的問題。
      [0091]其中,通過車輛的0^總線從上位機中獲取最新的啟動加載程序可以通過以下步驟⑴至⑶實現(xiàn),包括:
      [0092](1):2⑶通過車輛的總線發(fā)送第一更新請求給上位機,該第一更新請求攜帶啟動加載程序的程序標(biāo)識;
      [0093]具體地,如果確定出中的啟動加載程序需要更新,獲取啟動加載程序的程序標(biāo)識,將啟動加載程序的程序標(biāo)識添加到第一更新請求中,并通過總線發(fā)送第一更新請求給上位機,以請求獲取最新的啟動加載程序。
      [0094](2):上位機接收2⑶通過車輛的總線發(fā)送的第一更新請求,根據(jù)啟動加載程序的程序標(biāo)識獲取最新的啟動加載程序,并通過車輛的總線發(fā)送最新的啟動加載程序給已⑶;
      [0095]具體地,上位機接收2⑶通過總線發(fā)送的第一更新請求,從第一更新請求中獲取啟動加載程序的程序標(biāo)識,根據(jù)啟動加載程序的程序標(biāo)識,從程序標(biāo)識和最新的程序中獲取最新的啟動加載程序,并通過總線發(fā)送最新的啟動加載程序給2⑶。
      [0096]需要說明的是,上位機中存儲有一個程序列表,該程序列表中存儲有程序標(biāo)識和程序的對應(yīng)關(guān)系,當(dāng)上位機接收到最新的啟動加載程序時,根據(jù)啟動加載程序的程序標(biāo)識,從程序列表中獲取該啟動加載程序的程序標(biāo)識對應(yīng)的啟動加載程序,并將該獲取的啟動加載程序替換為最新的啟動加載程序,從而實現(xiàn)程序列表中存儲的啟動加載程序為最新的啟動加載程序。
      [0097](3)疋⑶接收上位機通過總線發(fā)送的最新的啟動加載程序。
      [0098]步驟204:設(shè)置第一啟動加載程序處于工作狀態(tài),將第二啟動加載程序更新為最新的啟動加載程序;
      [0099]步驟204具體可以通過以下步驟⑴至⑶實現(xiàn),包括:
      [0100](1):2⑶設(shè)置第一啟動加載程序處于工作狀態(tài);
      [0101]2⑶設(shè)置啟動加載程序的工作標(biāo)識位為1,也即設(shè)置第一啟動加載程序處于工作狀態(tài)。
      [0102]進一步地,當(dāng)2⑶中的引導(dǎo)程序運行時,讀取啟動加載程序的工作標(biāo)識位的值,根據(jù)啟動加載程序的工作標(biāo)識位的值加載啟動加載程序。也即啟動加載程序的工作標(biāo)識位為1,則獲取第一啟動加載程序的存儲地址,并加載第一啟動加載程序的存儲地址對應(yīng)的存儲空間中的啟動加載程序。
      [0103]需要說明的是,引導(dǎo)程序在2⑶出廠時寫入引導(dǎo)區(qū),由于引導(dǎo)區(qū)存儲地址固定,所以無需對引導(dǎo)程序進行更新。
      [0104](2):根據(jù)第二啟動加載程序的程序標(biāo)識獲取第二啟動加載程序的存儲地址;
      [0105]在將第二啟動加載程序?qū)懭胲囕v的時,在車輛的中為該第二啟動加載程序分配一個存儲空間,獲取該存儲空間的存儲地址,將第二啟動加載程序的程序標(biāo)識和第二啟動加載程序的存儲地址存儲在程序標(biāo)識和存儲地址的對應(yīng)關(guān)系中。
      [0106]相應(yīng)的,步驟⑵可以為:根據(jù)第二啟動加載程序的程序標(biāo)識,從程序標(biāo)識和存儲地址的對應(yīng)關(guān)系中獲取第二啟動加載程序的存儲地址。
      [0107](3):將第二啟動加載程序的存儲地址對應(yīng)的存儲空間中的啟動加載程序刪除,并將最新的啟動加載程序?qū)懭氲诙蛹虞d程序的存儲地址對應(yīng)的存儲空間中。
      [0108]需要說明的是,由于的存儲空間很多,而啟動加載程序本身占用存儲空間很少,因此設(shè)置2⑶中包括兩個啟動加載程序?qū)?⑶的存儲空間的開銷可以忽略。
      [0109]步驟205:在第二啟動加載程序更新完成時,設(shè)置第二啟動加載程序處于工作狀態(tài),將第一啟動加載程序更新為最新的啟動加載程序;
      [0110]步驟205具體可以通過以下步驟⑴至⑶實現(xiàn),包括:
      [0111](1):在第二啟動加載程序更新完成時,2⑶設(shè)置第二啟動加載程序處于工作狀態(tài);
      [0112]在第二啟動加載程序更新完成時,設(shè)置啟動加載程序的工作標(biāo)識位為2,也即設(shè)置第二啟動加載程序處于工作狀態(tài)。
      [0113]進一步地,當(dāng)2⑶中的引導(dǎo)程序運行時,讀取啟動加載程序的工作標(biāo)識位的值,根據(jù)啟動加載程序的工作標(biāo)識位的值加載啟動加載程序。也即啟動加載程序的工作標(biāo)識位為2,則獲取第二啟動加載程序的存儲地址,并加載第二啟動加載程序的存儲地址對應(yīng)的存儲空間中的啟動加載程序。
      [0114](2):根據(jù)第一啟動加載程序的程序標(biāo)識獲取第一啟動加載程序的存儲地址;
      [0115]在將第一啟動加載程序?qū)懭胲囕v的£(11時,在車輛的£(11中為該第一啟動加載程序分配一個存儲空間,獲取該存儲空間的存儲地址,將第一啟動加載程序的程序標(biāo)識和第一啟動加載程序的存儲地址存儲在程序標(biāo)識和存儲地址的對應(yīng)關(guān)系中。
      [0116]相應(yīng)的,步驟⑵可以為:根據(jù)第一啟動加載程序的程序標(biāo)識,從程序標(biāo)識和存儲地址的對應(yīng)關(guān)系中獲取第一啟動加載程序的存儲地址。
      [0117](3):將第一啟動加載程序的存儲地址對應(yīng)的存儲空間中的啟動加載程序刪除,并將最新的啟動加載程序?qū)懭氲谝粏蛹虞d程序的存儲地址對應(yīng)的存儲空間中。
      [0118]進一步地,當(dāng)?shù)谝粏蛹虞d程序和第二啟動加載程序都更新完成時,重新啟動第一啟動加載程序和/或第二啟動加載程序。
      [0119]步驟206:判斷車輛的中的應(yīng)用程序是否需要更新,如果需要更新,執(zhí)行步驟207 ;如果不需要更新,結(jié)束;
      [0120]其中,步驟206可以通過以下步驟⑴至⑷實現(xiàn),包括:
      [0121](1):獲取車輛的2⑶中應(yīng)用程序的存儲地址;
      [0122]在將應(yīng)用程序?qū)懭胲囕v的2⑶時,在車輛的中為該應(yīng)用程序分配一個存儲空間,獲取該存儲空間的存儲地址,將應(yīng)用程序的程序標(biāo)識和應(yīng)用程序的存儲地址存儲在程序標(biāo)識和存儲地址的對應(yīng)關(guān)系中。
      [0123]相應(yīng)的,步驟(1)可以為:根據(jù)車輛的2⑶中應(yīng)用程序的程序標(biāo)識,從程序標(biāo)識和存儲地址的對應(yīng)關(guān)系中獲取應(yīng)用程序的存儲地址。
      [0124](2):判斷存儲地址對應(yīng)的存儲空間中是否存在完整的應(yīng)用程序,如果不存在,執(zhí)行步驟(3),如果存在,執(zhí)行步驟(4);
      [0125]具體地,判斷存儲地址對應(yīng)的存儲空間中是否存在應(yīng)用程序,如果不存在應(yīng)用程序,執(zhí)行步驟(3);如果存在應(yīng)用程序,判斷存在的應(yīng)用程序是否為完整的應(yīng)用程序,如果是完整的應(yīng)用程序,執(zhí)行步驟(4);如果存在的應(yīng)用程序不是完整的應(yīng)用程序執(zhí)行步驟⑶。
      [0126]判斷存在的應(yīng)用程序是否為完整的應(yīng)用程序的步驟可以為:判斷是否存在應(yīng)用程序的完整性標(biāo)識;如果存在,則確定存在的應(yīng)用程序是完整的應(yīng)用程序;如果不存在,則確定存在的應(yīng)用程序不是完整的應(yīng)用程序。
      [0127](3):如果存儲地址對應(yīng)的存儲空間中不存在完整的應(yīng)用程序,則確定車輛的已⑶中的應(yīng)用程序需要更新;
      [0128]具體地,如果存儲地址對應(yīng)的存儲空間中不存在應(yīng)用程序,或者存在應(yīng)用程序但不是完整的應(yīng)用程序,則確定車輛的中的應(yīng)用程序需要更新。
      [0129](4):如果存儲地址對應(yīng)的存儲空間中存在完整的應(yīng)用程序,則確定車輛的中的應(yīng)用程序不需要更新。
      [0130]具體地,如果存儲地址對應(yīng)的存儲空間中存在應(yīng)用程序且該應(yīng)用程序是完整的應(yīng)用程序,則確定車輛的中的應(yīng)用程序不需要更新。
      [0131]步驟207:如果需要更新,通過車輛的總線從上位機中獲取最新的應(yīng)用程序;
      [0132]步驟207可以通過以下步驟⑴至⑶實現(xiàn),包括:
      [0133](1):2⑶通過車輛的總線發(fā)送第二更新請求給上位機,該第二更新請求攜帶應(yīng)用程序的程序標(biāo)識;
      [0134]具體地,如果確定出中的應(yīng)用程序需要更新時,獲取應(yīng)用程序的程序標(biāo)識,將應(yīng)用程序的程序標(biāo)識添加到第二更新請求中,并通過總線發(fā)送第二更新請求給上位機。
      [0135]應(yīng)用程序的程序標(biāo)識可以為應(yīng)用程序的名稱等。
      [0136](2):上位機接收2⑶通過0^總線發(fā)送的第二更新請求,根據(jù)應(yīng)用程序的程序標(biāo)識獲取最新的應(yīng)用程序,并通過總線發(fā)送最新的應(yīng)用程序給2⑶;
      [0137]具體地,上位機接收2⑶通過0^總線發(fā)送的第二更新請求,從第二更新請求中獲取應(yīng)用程序的程序標(biāo)識,根據(jù)應(yīng)用程序的程序標(biāo)識,從程序標(biāo)識和最新的程序中獲取最新的應(yīng)用程序,并通過總線發(fā)送最新的應(yīng)用程序給2⑶。
      [0138]需要說明的是,上位機中存儲有一個程序列表,該程序列表中存儲有程序標(biāo)識和程序的對應(yīng)關(guān)系,當(dāng)上位機接收到最新的應(yīng)用程序時,根據(jù)應(yīng)用程序的程序標(biāo)識,從程序列表中獲取該應(yīng)用程序的程序標(biāo)識對應(yīng)的應(yīng)用程序程序,并將該獲取的應(yīng)用程序替換為最新的應(yīng)用程序,從而實現(xiàn)程序列表中存儲的應(yīng)用程序為最新的應(yīng)用程序。
      [0139](3)疋⑶接收上位機發(fā)送的最新的應(yīng)用程序。
      [0140]步驟208:將中的應(yīng)用程序更新為最新的應(yīng)用程序。
      [0141]根據(jù)應(yīng)用程序的程序標(biāo)識,從程序標(biāo)識和存儲地址的對應(yīng)關(guān)系中獲取應(yīng)用程序的存儲地址;將應(yīng)用程序的存儲地址對應(yīng)的存儲空間中的應(yīng)用程序刪除,并將最新的應(yīng)用程序?qū)懭霊?yīng)用程序的存儲地址對應(yīng)的存儲空間中。
      [0142]進一步地,當(dāng)應(yīng)用程序更新完成時,重新啟動應(yīng)用程序。并且,設(shè)置應(yīng)用程序的完整性標(biāo)識。
      [0143]在本發(fā)明中,通過車輛的0^總線從上位機中獲取最新的啟動加載程序,從而不需要在上設(shè)置串行通信端口,減少了硬件設(shè)計的復(fù)雜性;并且,總線通信距離長,抗干擾能力強,從而提高了車輛軟件的更新成功率;并且,中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,在更新中的啟動加載程序時,設(shè)置第一啟動加載程序處于工作狀態(tài),更新第二啟動加載程序;在第二啟動程序更新完成時,設(shè)置第二啟動加載程序處于工作狀態(tài),更新第一啟動加載程序,從而避免了在更新啟動加載程序斷電無法運行啟動加載程序的問題。
      [0144]實施例3
      [0145]本發(fā)明實施例提供了一種車輛的軟件更新裝置,參見圖3,其中,該裝置包括:
      [0146]第一判斷模塊301,用于判斷車輛的電子控制單元中的啟動加載程序是否需要更新;
      [0147]第一獲取模塊302,用于如果需要更新,通過車輛的控制器局域網(wǎng)0^總線從上位機中獲取最新的啟動加載程序,中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,且第一啟動加載程序和第二啟動加載程序相同;
      [0148]第一更新模塊303,用于設(shè)置第一啟動加載程序處于工作狀態(tài),將第二啟動加載程序更新為最新的啟動加載程序;
      [0149]第二更新模塊304,用于在第二啟動加載程序更新完成時,設(shè)置第二啟動加載程序處于工作狀態(tài),將第一啟動加載程序更新為最新的啟動加載程序。
      [0150]優(yōu)選的,第一判斷模塊301,包括:
      [0151]第一判斷單元,用于判斷指定存儲單元中是否存在啟動加載程序的更新標(biāo)識;
      [0152]第一確定單元,用于如果存在,則確定車輛的電子控制單元中的啟動加載程序需要更新;
      [0153]第二確定單元,用于如果不存在,則確定車輛的電子控制單元中的啟動加載程序不需要更新。
      [0154]優(yōu)選的,該裝置還包括:
      [0155]接收模塊,用于通過車輛的總線接收上位機發(fā)送的更新命令,更新命令攜帶啟動加載程序的程序標(biāo)識;
      [0156]分配模塊,用于為啟動加載程序分配更新標(biāo)識;
      [0157]存儲模塊,用于將啟動加載程序的更新標(biāo)識存儲在指定存儲單元中。
      [0158]優(yōu)選的,該裝置還包括:
      [0159]第二判斷模塊,用于判斷車輛的中的應(yīng)用程序是否需要更新;
      [0160]第二獲取模塊,用于如果需要更新,通過車輛的0^總線從上位機中獲取最新的應(yīng)用程序;
      [0161]第三更新模塊,用于將中的應(yīng)用程序更新為最新的應(yīng)用程序。
      [0162]優(yōu)選的,第二判斷模塊,包括:
      [0163]獲取單元,用于獲取車輛的2⑶中應(yīng)用程序的存儲地址;
      [0164]第二判斷單元,用于判斷存儲地址對應(yīng)的存儲空間中是否存在完整的應(yīng)用程序;
      [0165]第三確定單元,用于如果存儲地址對應(yīng)的存儲空間中不存在完整的應(yīng)用程序,貝0確定車輛的中的應(yīng)用程序需要更新;
      [0166]第四確定單元,用于如果存儲地址對應(yīng)的存儲空間中存在完整的應(yīng)用程序,則確定車輛的中的應(yīng)用程序不需要更新。
      [0167]在本發(fā)明中,通過車輛的0^總線從上位機中獲取最新的啟動加載程序,從而不需要在上設(shè)置串行通信端口,減少了硬件設(shè)計的復(fù)雜性;并且,總線通信距離長,抗干擾能力強,從而提高了車輛軟件的更新成功率;并且,中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,在更新中的啟動加載程序時,設(shè)置第一啟動加載程序處于工作狀態(tài),更新第二啟動加載程序;在第二啟動程序更新完成時,設(shè)置第二啟動加載程序處于工作狀態(tài),更新第一啟動加載程序,從而避免了在更新啟動加載程序斷電無法運行啟動加載程序的問題。
      [0168]需要說明的是:上述實施例提供的車輛的軟件更新裝置在車輛的軟件更新時,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的車輛的軟件更新裝置與車輛的軟件更新方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
      [0169]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
      [0170]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
      【權(quán)利要求】
      1.一種車輛的軟件更新方法,其特征在于,所述方法包括: 判斷車輛的電子控制單元ECU中的啟動加載程序是否需要更新; 如果需要更新,通過所述車輛的控制器局域網(wǎng)CAN總線從上位機中獲取最新的啟動加載程序,所述ECU中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,且所述第一啟動加載程序和第二啟動加載程序相同; 設(shè)置所述第一啟動加載程序處于工作狀態(tài),將所述第二啟動加載程序更新為所述最新的啟動加載程序; 在所述第二啟動加載程序更新完成時,設(shè)置所述第二啟動加載程序處于工作狀態(tài),將所述第一啟動加載程序更新為所述最新的啟動加載程序。
      2.如權(quán)利要求1所述的方法,其特征在于,所述判斷車輛的電子控制單元ECU中的啟動加載程序是否需要更新,包括: 判斷指定存儲單元中是否存在啟動加載程序的更新標(biāo)識; 如果存在,則確定所述車輛的電子控制單元ECU中的啟動加載程序需要更新; 如果不存在,則確定所述車輛的電子控制單元ECU中的啟動加載程序不需要更新。
      3.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 通過所述車輛的CAN總線接收所述上位機發(fā)送的更新命令,所述更新命令攜帶所述啟動加載程序的程序標(biāo)識; 為所述啟動加載程序分配更新標(biāo)識; 將所述啟動加載程序的更新標(biāo)識存儲在指定存儲單元中。
      4.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 判斷所述車輛的ECU中的應(yīng)用程序是否需要更新; 如果需要更新,通過所述車輛的CAN總線從所述上位機中獲取最新的應(yīng)用程序; 將所述ECU中的應(yīng)用程序更新為所述最新的應(yīng)用程序。
      5.如權(quán)利要求4所述的方法,其特征在于,所述判斷所述車輛的ECU中的應(yīng)用程序是否需要更新,包括: 獲取所述車輛的ECU中應(yīng)用程序的存儲地址; 判斷所述存儲地址對應(yīng)的存儲空間中是否存在完整的應(yīng)用程序; 如果所述存儲地址對應(yīng)的存儲空間中不存在完整的應(yīng)用程序,則確定所述車輛的ECU中的應(yīng)用程序需要更新; 如果所述存儲地址對應(yīng)的存儲空間中存在完整的應(yīng)用程序,則確定所述車輛的ECU中的應(yīng)用程序不需要更新。
      6.一種車輛的軟件更新裝置,其特征在于,所述裝置包括: 第一判斷模塊,用于判斷車輛的電子控制單元ECU中的啟動加載程序是否需要更新;第一獲取模塊,用于如果需要更新,通過所述車輛的控制器局域網(wǎng)CAN總線從上位機中獲取最新的啟動加載程序,所述ECU中的啟動加載程序包括第一啟動加載程序和第二啟動加載程序,且所述第一啟動加載程序和第二啟動加載程序相同; 第一更新模塊,用于設(shè)置所述第一啟動加載程序處于工作狀態(tài),將所述第二啟動加載程序更新為所述最新的啟動加載程序; 第二更新模塊,用于在所述第二啟動加載程序更新完成時,設(shè)置所述第二啟動加載程序處于工作狀態(tài),將所述第一啟動加載程序更新為所述最新的啟動加載程序。
      7.如權(quán)利要求6所述的裝置,其特征在于,所述第一判斷模塊,包括: 第一判斷單元,用于判斷指定存儲單元中是否存在啟動加載程序的更新標(biāo)識; 第一確定單元,用于如果存在,則確定所述車輛的電子控制單元ECU中的啟動加載程序需要更新; 第二確定單元,用于如果不存在,則確定所述車輛的電子控制單元ECU中的啟動加載程序不需要更新。
      8.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 接收模塊,用于通過所述車輛的CAN總線接收所述上位機發(fā)送的更新命令,所述更新命令攜帶所述啟動加載程序的程序標(biāo)識; 分配模塊,用于為所述啟動加載程序分配更新標(biāo)識; 存儲模塊,用于將所述啟動加載程序的更新標(biāo)識存儲在指定存儲單元中。
      9.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 第二判斷模塊,用于判斷所述車輛的ECU中的應(yīng)用程序是否需要更新; 第二獲取模塊,用于如果需要更新,通過所述車輛的CAN總線從所述上位機中獲取最新的應(yīng)用程序; 第三更新模塊,用于將所述ECU中的應(yīng)用程序更新為所述最新的應(yīng)用程序。
      10.如權(quán)利要求9所述的裝置,其特征在于,所述第二判斷模塊,包括: 獲取單元,用于獲取所述車輛的ECU中應(yīng)用程序的存儲地址; 第二判斷單元,用于判斷所述存儲地址對應(yīng)的存儲空間中是否存在完整的應(yīng)用程序;第三確定單元,用于如果所述存儲地址對應(yīng)的存儲空間中不存在完整的應(yīng)用程序,則確定所述車輛的ECU中的應(yīng)用程序需要更新; 第四確定單元,用于如果所述存儲地址對應(yīng)的存儲空間中存在完整的應(yīng)用程序,則確定所述車輛的ECU中的應(yīng)用程序不需要更新。
      【文檔編號】G06F9/445GK104391714SQ201410604602
      【公開日】2015年3月4日 申請日期:2014年10月30日 優(yōu)先權(quán)日:2014年10月30日
      【發(fā)明者】蔡交明, 羅曉, 王瑛, 陳立沖, 王金磊 申請人:奇瑞汽車股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1