国产精品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>

      一種嵌入式軟件在線更新方法

      文檔序號:6598891閱讀:256來源:國知局
      專利名稱:一種嵌入式軟件在線更新方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及嵌入式系統(tǒng)領(lǐng)域,特別涉及一種嵌入式軟件在線更新方法。
      背景技術(shù)
      嵌入式系統(tǒng)是以應(yīng)用為中心,軟硬件可裁減的專用計算機系統(tǒng)。一般由嵌入式處 理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序組成,用于實現(xiàn)對其它設(shè)備的控 制、監(jiān)視和管理。為完成對設(shè)備的控制、監(jiān)視和管理,設(shè)備內(nèi)需要有嵌入式硬件的支持,而嵌 入式軟件往往固化到嵌入式硬件電路上的FLASH存儲器中。首次對“裸板”加注軟件,往往 采用存儲器專用燒寫器工具對存儲器進行擦除、燒入軟件。一旦設(shè)備在工程上開通運行,通 過專用工具更新軟件的方法將十分困難。現(xiàn)有技術(shù)中主要是通過在線更新的方式來更新嵌 入式軟件,但傳統(tǒng)的在線軟件更新方法,對通信鏈路的依賴程度較大,由于工業(yè)設(shè)備往往工 作在較惡劣的環(huán)境中,通信鏈路不一定十分穩(wěn)定,因此限制了嵌入式軟件在線更新的推廣 應(yīng)用。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點和不足,提供了一種嵌入式軟件在線更新 方法,實現(xiàn)在線運行設(shè)備嵌入式軟件的在線更新,并設(shè)置了上下互動的重發(fā)機制、進度查詢 機制、數(shù)據(jù)校驗機制,支持?jǐn)帱c續(xù)傳,最大程度上利用了通信鏈路的傳輸性能,可實現(xiàn)對設(shè) 備內(nèi)部多個子嵌入式系統(tǒng)軟件或多個軟件文件進行更新。本發(fā)明目的是通過下述技術(shù)方案實現(xiàn)的,一種嵌入式軟件在線更新方法,包括以 下步驟S11、上層軟件與嵌入式軟件進行通信,并獲取嵌入式軟件在線更新通信交互的參 數(shù)信息;S21、上層軟件根據(jù)嵌入式軟件在線更新通信交互的參數(shù)信息,將要更新的軟件文 件按照“數(shù)據(jù)包標(biāo)識號+數(shù)據(jù)”的格式分隔成多個數(shù)據(jù)包,并發(fā)送給嵌入式軟件;其中所述 數(shù)據(jù)包標(biāo)識號是用于區(qū)別各數(shù)據(jù)包并表示各數(shù)據(jù)包間順序關(guān)系的編號;S31、嵌入式軟件將收到的軟件文件數(shù)據(jù)保存在存儲器中,并向上層軟件回復(fù)包含 數(shù)據(jù)包標(biāo)識號的數(shù)據(jù)接收確認(rèn)信息;S41、若上層軟件發(fā)出數(shù)據(jù)包后在預(yù)設(shè)的門檻時間內(nèi)沒有收到嵌入式軟件的數(shù)據(jù) 接收確認(rèn)信息,則重發(fā)沒有收到確認(rèn)信息的數(shù)據(jù)包,并返回步驟S31 ;若嵌入式軟件收到上 層軟件數(shù)據(jù)包后在預(yù)設(shè)的門檻時間內(nèi)沒有再收到上層軟件發(fā)送的數(shù)據(jù)包,則向上層軟件發(fā) 送請求重發(fā)指令,上層軟件收到請求重發(fā)指令后重發(fā)沒有收到確認(rèn)信息的數(shù)據(jù)包,并返回 步驟S31 ;S51、上層軟件收到全部數(shù)據(jù)包的數(shù)據(jù)接收確認(rèn)信息后,發(fā)出指令結(jié)束數(shù)據(jù)傳輸;S61、目標(biāo)嵌入式系統(tǒng)對收到的軟件文件進行處理;S71、上層軟件發(fā)出指令結(jié)束在線更新,嵌入式系統(tǒng)重新啟動,運行最新收到的軟件。為更好的實現(xiàn)本發(fā)明,所述上層軟件具體是指本地調(diào)試電腦或/和監(jiān)控中心服務(wù) 器上運行的軟件。所述嵌入式軟件在線更新通信交互的參數(shù)信息具體是指在線更新的通信端口支 持的最大數(shù)據(jù)包長度、數(shù)據(jù)包發(fā)送間隔時間以及嵌入式軟件最長響應(yīng)時間、數(shù)據(jù)發(fā)送窗口 大小等。所述上層軟件與嵌入式軟件進行通信,還可以獲取嵌入式軟件的相關(guān)信息,所述 嵌入式軟件的相關(guān)信息具體是指獲取軟件正處于正常運行的模式還是處于下載模式的信 息。如果處于下載模式,說明有其他用戶正在往該設(shè)備下載軟件,則上層軟件等待嵌入式軟 件下載完成后再啟動本次的在線更新進程。所述S21中上層軟件根據(jù)嵌入式軟件在線更新通信交互的參數(shù)信息,將要更新的 軟件文件按照“數(shù)據(jù)包標(biāo)識號+數(shù)據(jù)”的格式分隔成多個數(shù)據(jù)包,并發(fā)送給嵌入式軟件,具 體是指上層軟件以滑動窗口的形式將數(shù)據(jù)包發(fā)送給嵌入式軟件。所述數(shù)據(jù)包標(biāo)識號可以是數(shù)字或字母。所述步驟S41中預(yù)設(shè)的門檻時間是指由用戶設(shè)置的作為上層軟件和嵌入式軟件 重發(fā)機制啟動條件的時間,當(dāng)上層軟件發(fā)出數(shù)據(jù)包后在預(yù)設(shè)的門檻時間內(nèi)沒有收到嵌入式 軟件的數(shù)據(jù)接收確認(rèn)信息,則上層軟件重發(fā)沒有收到確認(rèn)信息的數(shù)據(jù)包;當(dāng)嵌入式軟件收 到上層軟件數(shù)據(jù)包后在預(yù)設(shè)的門檻時間內(nèi)沒有再收到上層軟件發(fā)送的數(shù)據(jù)包,則向上層軟 件發(fā)送請求重發(fā)指令;用戶預(yù)設(shè)的門檻時間>嵌入式軟件的最長響應(yīng)時間。所述步驟S41后還包括步驟S42 S42、若多次重發(fā)仍無法成功,則嵌入式軟件保存已收到的文件數(shù)據(jù)及最后成功收 到的數(shù)據(jù)包中的數(shù)據(jù)包標(biāo)識號,并取消下載。根據(jù)最后已保存的數(shù)據(jù)包標(biāo)識號來確定未下 載的數(shù)據(jù)包,在下次下載時,可以僅下載未保存的數(shù)據(jù)包,避免重復(fù)下載,提高效率。步驟S61所述目標(biāo)嵌入式系統(tǒng)對收到的軟件文件進行處理,主要包括對軟件文件 進行移動、修改和/或發(fā)送給其他子系統(tǒng)。優(yōu)選的,所述嵌入式軟件在線更新方法還包括數(shù)據(jù)校驗機制,具體為所述步驟Sll后還包括步驟S12 S12、上層軟件對要更新的軟件文件的所有數(shù)據(jù)作CRC校驗(CyclicalRedundancy Check循環(huán)冗余校驗),將獲得的CRC校驗值作為軟件文件的文件標(biāo)識碼;上層軟件向嵌入 式軟件發(fā)送要更新的軟件文件的文件標(biāo)識碼;嵌入式軟件接收上層軟件的文件標(biāo)識碼并存儲,將剛接收的文件標(biāo)識碼與以前下 載過的軟件文件的文件標(biāo)識碼比對,若比對不一致,則此更新文件為第一次下載的文件;若 找到一致的文件標(biāo)識碼,則此更新文件為以前未下載成功的文件;所述步驟S51后還包括步驟S52 S52、根據(jù)數(shù)據(jù)包標(biāo)識號的順序關(guān)系,嵌入式軟件將收到的數(shù)據(jù)包中數(shù)據(jù)排列組合 好,將組合后的所有軟件文件數(shù)據(jù)進行CRC校驗得到文件標(biāo)識碼;將文件標(biāo)識碼與之前上 層軟件發(fā)送的文件標(biāo)識碼進行比對,并將比較結(jié)果發(fā)送至上層軟件,如果完全相同,則認(rèn)為 文件數(shù)據(jù)接收正確,否則取消下載。優(yōu)選的,當(dāng)有多個嵌入式系統(tǒng)目標(biāo)的軟件或有多個文件的軟件需要在線更新時,則所述步驟Sll后還包括S12、上層軟件向嵌入式軟件發(fā)出配置目標(biāo)指令,請求配置要下載的目標(biāo)嵌入式系統(tǒng);S13、嵌入式軟件回復(fù)確認(rèn)信息,并根據(jù)指令配置要下載的目標(biāo)嵌入式系統(tǒng);所述步驟S61后還包括步驟S62 步驟S62、重復(fù)前面步驟S12到步驟S61。優(yōu)選的,所述嵌入式軟件在線更新方法還包括進度查詢機制,具體為步驟S61后還包括步驟S62、上層軟件發(fā)出指令查詢目標(biāo)嵌入式系統(tǒng)對收到的軟件文件數(shù)據(jù)處理的 進度;步驟S63、嵌入式軟件向上層軟件回復(fù)處理進度,并將處理進度顯示給用戶。本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點和有益效果1.實現(xiàn)在線運行設(shè)備嵌入式軟件的在線更新;通過軟件技術(shù),本方法可以支持對 在線設(shè)備本地或者遠程進行嵌入式軟件更新,而不需使用專用工具更新軟件,也給用戶減 少了軟件更新的成本、時間。2.連續(xù)對設(shè)備內(nèi)部多個子嵌入式系統(tǒng)軟件或多個軟件文件進行更新;當(dāng)設(shè)備內(nèi) 有多個嵌入式系統(tǒng)時,本方法可支持一個設(shè)備內(nèi)多目標(biāo)嵌入式系統(tǒng)軟件的更新,在上層軟 件發(fā)送數(shù)據(jù)包前,先向嵌入式軟件發(fā)出配置目標(biāo)指令,具體指出下載的更新軟件用于設(shè)備 內(nèi)的某一個嵌入式系統(tǒng),待嵌入式軟件在處理收到的數(shù)據(jù)時移動到目標(biāo)嵌入式系統(tǒng)中;另 外,本方法還支持一個嵌入式系統(tǒng)內(nèi)多軟件文件的更新。3.本方法支持?jǐn)帱c續(xù)傳;由于工業(yè)設(shè)備往往工作在較惡劣的環(huán)境中,通信鏈路不 一定十分穩(wěn)定,若在下載過程中因通信鏈路不穩(wěn)定造成無法順利下載,則上層軟件根據(jù)嵌 入式軟件最后保存的數(shù)據(jù)包標(biāo)識號來確定未下載的數(shù)據(jù)包,在下次下載時,可以僅傳送嵌 入式軟件未保存的數(shù)據(jù)包,避免重復(fù)下載,提高效率。4.本方法還加入了上下互動的重發(fā)機制;一般的嵌入式在線軟件更新方法,對通 信鏈路的依賴程度較大,本方法通過上下互動式的數(shù)據(jù)重發(fā)保證機制,可適應(yīng)較惡劣的通 信鏈路情況,使嵌入式軟件的在線更新過程更加可靠。若上層軟件發(fā)出數(shù)據(jù)包后在預(yù)設(shè)的 門檻時間內(nèi)沒有收到嵌入式軟件的數(shù)據(jù)接收確認(rèn)信息,則重發(fā)沒有收到確認(rèn)信息的數(shù)據(jù) 包;若嵌入式軟件收到上層軟件數(shù)據(jù)包后在預(yù)設(shè)的門檻時間內(nèi)沒有再收到上層軟件發(fā)送的 數(shù)據(jù)包,則向上層軟件發(fā)送請求重發(fā)指令;只有當(dāng)多次重發(fā)均無法繼續(xù)下載時才會判定下 載失敗,取消下載。5.本方法通過文件標(biāo)識碼校驗可以保證收到的軟件文件數(shù)據(jù)的完整性;本發(fā)明 方法中上層軟件在發(fā)送數(shù)據(jù)前,對要更新的軟件文件的所有數(shù)據(jù)作CRC校驗,將獲得的CRC 校驗值作為軟件文件的文件標(biāo)識碼并發(fā)送給嵌入式軟件;嵌入式軟件接收所有軟件文件數(shù) 據(jù)后,進行CRC校驗得到文件標(biāo)識碼;將文件標(biāo)識碼與之前上層軟件發(fā)送的文件標(biāo)識碼進 行比對,并將比較結(jié)果發(fā)送至上層軟件,如果完全相同,則認(rèn)為文件數(shù)據(jù)接收正確,否則取 消下載。6.最大程度利用了通信鏈路的傳輸性能本方法針對不同通信端口可以采用不同的通信交互參數(shù),從而最大程度上利用了通信鏈路的傳輸性能,提高了軟件在線更新速率;為最大化利用傳輸通道,不同傳輸速率、不同傳輸穩(wěn)定性的通信端口可以有不同的交互 參數(shù)配置。7.本方法還加入了進度查詢機制本發(fā)明中上層軟件發(fā)出指令查詢目標(biāo)嵌入式 系統(tǒng)對收到的軟件文件數(shù)據(jù)的處理進度;嵌入式軟件向上層軟件回復(fù)處理進度,并將處理 進度顯示給用戶。


      圖1是實施例中嵌入式軟件在線更新的場景圖;圖2是實施例中嵌入式軟件在線更新的示意圖;圖3是實施例中上層軟件與嵌入式軟件傳輸更新軟件文件數(shù)據(jù)的示意圖。
      具體實施例方式下面結(jié)合實施例及附圖,對本發(fā)明作進一步地詳細(xì)說明,但本發(fā)明的實施方式不 限于此。實施例如圖1所示,嵌入式軟件在線更新系統(tǒng)包括在線運行的設(shè)備1,還包括本地調(diào)試電 腦2和/或監(jiān)控中心服務(wù)器3,其中本地調(diào)試電腦2與在線運行的設(shè)備1信號相連,監(jiān)控中 心服務(wù)器3與在線運行的設(shè)備1網(wǎng)絡(luò)相連。為方便描述,本發(fā)明將在線運行的設(shè)備1中需更新的軟件為嵌入式軟件,將本地 調(diào)試電腦2和/或監(jiān)控中心服務(wù)器3中運行的軟件為上層軟件。如圖2所示,本嵌入式軟 件利用上層軟件實現(xiàn)在線更新,具體包括以下步驟Si、上層軟件發(fā)出指令獲取嵌入式軟件相關(guān)信息及嵌入式軟件在線更新通信交互 的參數(shù)信息,其中所述嵌入式軟件的相關(guān)信息具體是指獲取軟件正處于正常運行的模式還 是處于下載模式的信息。如果處于下載模式,說明有其他用戶正在往該設(shè)備下載軟件,則上 層軟件等待嵌入式軟件下載完成后再啟動本次的在線更新進程。所述參數(shù)信息具體包括通 信端口支持的最大數(shù)據(jù)包長度、數(shù)據(jù)包發(fā)送間隔時間、嵌入式軟件最長響應(yīng)時間、數(shù)據(jù)發(fā)送 窗口大小等。為最大化利用傳輸通道,不同傳輸速率、不同傳輸穩(wěn)定性的通信端口可以有不 同的交互參數(shù)配置。S2、上層軟件發(fā)出啟動軟件在線更新的指令;嵌入式軟件收到指令后回復(fù)確認(rèn)信 息,并做好接收數(shù)據(jù)的準(zhǔn)備。S3、上層軟件對要更新的軟件文件的所有數(shù)據(jù)作CRC(Cyclical RedundancyCheck 循環(huán)冗余校驗)校驗,將獲得的CRC校驗值作為軟件文件的文件標(biāo)識碼。上層軟件向嵌入 式軟件發(fā)送要更新的軟件文件的文件標(biāo)識碼。嵌入式軟件接收上層軟件的文件標(biāo)識碼并存 儲,將剛接收的文件標(biāo)識碼與以前下載過的軟件文件的文件標(biāo)識碼比對,若比對不一致,則 此更新文件為第一次下載的文件;若找到一致的文件標(biāo)識碼,則此更新文件為以前未下載 成功的文件。S4、上層軟件按之前獲得的軟件在線更新通信交互的參數(shù)信息,將要更新的軟件 文件按照“數(shù)據(jù)包標(biāo)識號+數(shù)據(jù)”的格式分隔成多個數(shù)據(jù)包,其中所述數(shù)據(jù)包標(biāo)識號是用于區(qū)別各數(shù)據(jù)包的編號,并用于表示各數(shù)據(jù)包間的順序關(guān)系,如上層軟件將軟件文件分隔為5 個數(shù)據(jù)包,分別為“1+數(shù)據(jù)”的數(shù)據(jù)包、“2+數(shù)據(jù)”的數(shù)據(jù)包、“3+數(shù)據(jù)”的數(shù)據(jù)包、“4+數(shù) 據(jù)”的數(shù)據(jù)包和“5+數(shù)據(jù)”的數(shù)據(jù)包,上面數(shù)據(jù)包中的第一位數(shù)字即為該數(shù)據(jù)包的數(shù)據(jù)包標(biāo) 識號,并且“ 1+數(shù)據(jù),,的數(shù)據(jù)包與“ 2+數(shù)據(jù),,的數(shù)據(jù)包內(nèi)的數(shù)據(jù)是相鄰的數(shù)據(jù);本實施例中 采用數(shù)字作為數(shù)據(jù)包的數(shù)據(jù)包標(biāo)識號,但數(shù)據(jù)包標(biāo)識號的形式并不限于此,還可以以字母 或其它方式作為標(biāo)識。S5、上層軟件發(fā)出指令獲取嵌入式軟件要接收的數(shù)據(jù)斷點編號;所述數(shù)據(jù)斷點編 號是由嵌入式軟件向上層軟件發(fā)送的,用于表示嵌入式軟件要接收的數(shù)據(jù)包的編號。嵌入 式軟件根據(jù)文件標(biāo)識碼的比對結(jié)果,向上層軟件回復(fù)數(shù)據(jù)斷點編號,若文件標(biāo)識碼比對結(jié) 果不一致,則發(fā)送編號“0”給上層軟件,表示該更新文件沒有下載過,需從頭下載;若文件 標(biāo)識碼比對結(jié)果一致,嵌入式軟件查找之前未下載成功的文件,將數(shù)據(jù)包標(biāo)識號“η” (η為 之前下載更新文件時嵌入式軟件最后成功收到的數(shù)據(jù)包的數(shù)據(jù)包標(biāo)識號,η不等于0)發(fā)送 給上層軟件,表示該更新文件之前下載過但沒有下載成功,僅收到數(shù)據(jù)包標(biāo)識號為“η”的數(shù) 據(jù)包及其之前的其它數(shù)據(jù)包。S6、若目標(biāo)設(shè)備內(nèi)有多個嵌入式系統(tǒng),則上層軟件發(fā)出指令配置要下載的目標(biāo)嵌 入式系統(tǒng),嵌入式軟件回復(fù)確認(rèn)信息。上層軟件發(fā)出指令啟動數(shù)據(jù)傳輸,嵌入式軟件回復(fù)確 lAfn 息 οS7、如圖3所示,上層軟件根據(jù)嵌入式軟件回復(fù)的數(shù)據(jù)斷點編號,以滑動窗口的形 式向嵌入式軟件傳送數(shù)據(jù)包。若嵌入式軟件回復(fù)的數(shù)據(jù)斷點編號為“0”,則上層軟件從第1 個數(shù)據(jù)包開始發(fā)送;若嵌入式軟件回復(fù)的數(shù)據(jù)斷點編號為“η” (η不等于0),則上層軟件從 數(shù)據(jù)包標(biāo)識號為η+1的數(shù)據(jù)包開始發(fā)送。S8、嵌入式軟件將收到的軟件文件數(shù)據(jù)保存在存儲器中,并向上層軟件回復(fù)包含 數(shù)據(jù)包標(biāo)識號的數(shù)據(jù)接收確認(rèn)信息。S9、如果上層軟件在發(fā)出文件數(shù)據(jù)后預(yù)定的門檻時間內(nèi)沒有收到嵌入式軟件的數(shù) 據(jù)接收確認(rèn)信息,則需要重發(fā)沒有收到確認(rèn)信息的數(shù)據(jù)包。如果嵌入式軟件在上次收到上層軟件數(shù)據(jù)包后預(yù)定的門檻時間內(nèi)沒有再收到上 層軟件發(fā)送的數(shù)據(jù)包,則主動向上層軟件發(fā)送請求重發(fā)指令,上層軟件收到指令后重發(fā)沒 有收到確認(rèn)信息的數(shù)據(jù)包。如果多次重發(fā)仍無法成功,嵌入式軟件則保存已收到的軟件文件數(shù)據(jù)及當(dāng)前最后 收到的數(shù)據(jù)包中的數(shù)據(jù)包標(biāo)識號,并取消下載。通過這種不僅上層軟件可以重發(fā),而且嵌入 式軟件也可以請求重發(fā)的上下互動重發(fā)機制,在通信鏈路不穩(wěn)定的條件下,可極大地提高 軟件在線更新的成功率。S10、上層軟件收到全部數(shù)據(jù)包的數(shù)據(jù)接收確認(rèn)信息后,發(fā)出指令結(jié)束數(shù)據(jù)傳輸。 嵌入式軟件將收到的數(shù)據(jù)包中數(shù)據(jù)按數(shù)據(jù)包標(biāo)識號的大小排列組合好,將組合后的所有軟 件文件數(shù)據(jù)進行CRC校驗得到文件標(biāo)識碼。將文件標(biāo)識碼與之前上層軟件發(fā)送的文件標(biāo)識 碼進行比對,并將比較結(jié)果發(fā)送至上層軟件,如果完全相同,則認(rèn)為文件數(shù)據(jù)接收正確,否 則取消下載。S11、目標(biāo)嵌入式系統(tǒng)對收到的軟件文件進行處理,主要包括對軟件文件進行移 動、修改或/和發(fā)送給其他子系統(tǒng)等動作。上層軟件發(fā)出指令查詢目標(biāo)嵌入式系統(tǒng)對收到的軟件文件數(shù)據(jù)處理的進度,嵌入式軟件向上層軟件回復(fù)處理進度,并將處理進度顯示給 用戶。當(dāng)處理進度達100%時,則表示一個嵌入式系統(tǒng)目標(biāo)軟件完成更新。S12、如果多個嵌入式系統(tǒng)目標(biāo)的軟件或有多個文件的軟件需要在線更新則重復(fù) 前面步驟S3到步驟Sll。S13、最后,上層軟件發(fā)出指令結(jié)束軟件在線更新。嵌入式系統(tǒng)重新啟動,運行最新收到的軟件。上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受所述實施例的 限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化, 均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。
      權(quán)利要求
      一種嵌入式軟件在線更新方法,其特征在于,包括以下步驟S11、上層軟件與嵌入式軟件進行通信,并獲取嵌入式軟件在線更新通信交互的參數(shù)信息;S21、上層軟件根據(jù)嵌入式軟件在線更新通信交互的參數(shù)信息,將要更新的軟件文件按照“數(shù)據(jù)包標(biāo)識號+數(shù)據(jù)”的格式分隔成多個數(shù)據(jù)包,并發(fā)送給嵌入式軟件;其中所述數(shù)據(jù)包標(biāo)識號是用于區(qū)別各數(shù)據(jù)包并表示各數(shù)據(jù)包間順序關(guān)系的編號;S31、嵌入式軟件將收到的軟件文件數(shù)據(jù)保存在存儲器中,并向上層軟件回復(fù)包含數(shù)據(jù)包標(biāo)識號的數(shù)據(jù)接收確認(rèn)信息;S41、若上層軟件發(fā)出數(shù)據(jù)包后在預(yù)設(shè)的門檻時間內(nèi)沒有收到嵌入式軟件的數(shù)據(jù)接收確認(rèn)信息,則重發(fā)沒有收到確認(rèn)信息的數(shù)據(jù)包,并返回步驟S31;若嵌入式軟件收到上層軟件數(shù)據(jù)包后在預(yù)設(shè)的門檻時間內(nèi)沒有再收到上層軟件發(fā)送的數(shù)據(jù)包,則向上層軟件發(fā)送請求重發(fā)指令,上層軟件收到請求重發(fā)指令后重發(fā)沒有收到確認(rèn)信息的數(shù)據(jù)包,并返回步驟S31;S51、上層軟件收到全部數(shù)據(jù)包的數(shù)據(jù)接收確認(rèn)信息后,發(fā)出指令結(jié)束數(shù)據(jù)傳輸;S61、目標(biāo)嵌入式系統(tǒng)對收到的軟件文件進行處理;S71、上層軟件發(fā)出指令結(jié)束在線更新,嵌入式系統(tǒng)重新啟動,運行最新收到的軟件。
      2.根據(jù)權(quán)利要求1所述嵌入式軟件在線更新方法,其特征在于,所述上層軟件具體是 指本地調(diào)試電腦或/和監(jiān)控中心服務(wù)器上運行的軟件。
      3.根據(jù)權(quán)利要求1所述嵌入式軟件在線更新方法,其特征在于,所述嵌入式軟件在線 更新通信交互的參數(shù)信息具體是指在線更新的通信端口支持的最大數(shù)據(jù)包長度、數(shù)據(jù)包發(fā) 送間隔時間以及嵌入式軟件最長響應(yīng)時間、數(shù)據(jù)發(fā)送窗口大小。
      4.根據(jù)權(quán)利要求1所述嵌入式軟件在線更新方法,其特征在于,所述S21中上層軟件 根據(jù)嵌入式軟件在線更新通信交互的參數(shù)信息,將要更新的軟件文件按照“數(shù)據(jù)包標(biāo)識號+ 數(shù)據(jù)”的格式分隔成多個數(shù)據(jù)包,并發(fā)送給嵌入式軟件,具體是指上層軟件以滑動窗口的形 式將數(shù)據(jù)包發(fā)送給嵌入式軟件。
      5.根據(jù)權(quán)利要求1所述嵌入式軟件在線更新方法,其特征在于,所述數(shù)據(jù)包標(biāo)識號是 數(shù)字或字母。
      6.根據(jù)權(quán)利要求1所述嵌入式軟件在線更新方法,其特征在于,所述步驟S41后還包括 步驟S42 542、若多次重發(fā)仍無法成功,則嵌入式軟件保存已收到的文件數(shù)據(jù)及最后成功收到的 數(shù)據(jù)包中的數(shù)據(jù)包標(biāo)識號,并取消下載。
      7.根據(jù)權(quán)利要求1所述嵌入式軟件在線更新方法,其特征在于,步驟S61所述目標(biāo)嵌入 式系統(tǒng)對收到的軟件文件進行處理,主要包括對軟件文件進行移動、修改和/或發(fā)送給其 他子系統(tǒng)。
      8.根據(jù)權(quán)利要求1所述嵌入式軟件在線更新方法,其特征在于,所述步驟Sl1后還包括 步驟S12 S12、上層軟件對要更新的軟件文件的所有數(shù)據(jù)作CRC校驗,將獲得的CRC校驗值作為 軟件文件的文件標(biāo)識碼;上層軟件向嵌入式軟件發(fā)送要更新的軟件文件的文件標(biāo)識碼;嵌入式軟件接收上層軟件的文件標(biāo)識碼并存儲,將剛接收的文件標(biāo)識碼與以前下載過的軟件文件的文件標(biāo)識碼比對,若比對不一致,則此更新文件為第一次下載的文件;若找到 一致的文件標(biāo)識碼,則此更新文件為以前未下載成功的文件; 所述步驟S51后還包括步驟S52 S52、根據(jù)數(shù)據(jù)包標(biāo)識號的順序關(guān)系,嵌入式軟件將收到的數(shù)據(jù)包中數(shù)據(jù)排列組合好, 將組合后的所有軟件文件數(shù)據(jù)進行CRC校驗得到文件標(biāo)識碼;將文件標(biāo)識碼與之前上層軟 件發(fā)送的文件標(biāo)識碼進行比對,并將比較結(jié)果發(fā)送至上層軟件,如果完全相同,則認(rèn)為文件 數(shù)據(jù)接收正確,否則取消下載。
      9.根據(jù)權(quán)利要求1所述嵌入式軟件在線更新方法,其特征在于,當(dāng)有多個嵌入式系統(tǒng) 目標(biāo)的軟件或有多個文件的軟件需要在線更新時,則所述步驟Sll后還包括512、上層軟件向嵌入式軟件發(fā)出配置目標(biāo)指令,請求配置要下載的目標(biāo)嵌入式系統(tǒng);513、嵌入式軟件回復(fù)確認(rèn)信息,并根據(jù)指令配置要下載的目標(biāo)嵌入式系統(tǒng); 所述步驟S61后還包括步驟S62 步驟S62、重復(fù)前面步驟S12到步驟S61。
      10.根據(jù)權(quán)利要求1所述嵌入式軟件在線更新方法,其特征在于,步驟S61后還包括 步驟S62、上層軟件發(fā)出指令查詢目標(biāo)嵌入式系統(tǒng)對收到的軟件文件數(shù)據(jù)處理的進度;步驟S63、嵌入式軟件向上層軟件回復(fù)處理進度,并將處理進度顯示給用戶。
      全文摘要
      本發(fā)明公開了一種嵌入式軟件在線更新方法,包括以下步驟S11、上層軟件與嵌入式軟件進行通信,獲取嵌入式軟件通信交互的參數(shù)信息;S21、上層軟件將文件分隔成多個數(shù)據(jù)包,并發(fā)送給嵌入式軟件;S31、嵌入式軟件回復(fù)數(shù)據(jù)接收確認(rèn)信息;S41、若上層軟件在預(yù)設(shè)的門檻時間內(nèi)沒有收到數(shù)據(jù)接收確認(rèn)信息,則重發(fā)數(shù)據(jù)包;若嵌入式軟件在預(yù)設(shè)的門檻時間內(nèi)沒有再收到上層軟件發(fā)送的數(shù)據(jù)包,則發(fā)送請求重發(fā)指令;S51、上層軟件收到全部數(shù)據(jù)包的數(shù)據(jù)接收確認(rèn)信息后,結(jié)束數(shù)據(jù)傳輸;S61、目標(biāo)嵌入式系統(tǒng)對文件進行處理;S71、嵌入式系統(tǒng)運行最新收到的軟件。本發(fā)明實現(xiàn)嵌入式軟件的在線更新,并設(shè)置了上下互動的重發(fā)機制。
      文檔編號G06F9/445GK101807155SQ20101011998
      公開日2010年8月18日 申請日期2010年3月3日 優(yōu)先權(quán)日2010年3月3日
      發(fā)明者武玉鵬, 賴遠萱 申請人:京信通信系統(tǒng)(中國)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1