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

      嵌入式軟件升級方法

      文檔序號:6623754閱讀:1938來源:國知局
      嵌入式軟件升級方法
      【專利摘要】本發(fā)明提供了一種嵌入式軟件在線升級方法,在嵌入式設備的存儲器中設置主分區(qū)和更新區(qū),分別用于獨立引導設備啟動和更新,并根據(jù)更新標記來決定啟動新的版本或退回升級前的狀態(tài)。本發(fā)明保證升級穩(wěn)定,具有魯棒性和故障恢復的能力,支持并發(fā)傳輸;還支持各種通訊方式在應用層實現(xiàn),方便用戶控制。
      【專利說明】嵌入式軟件升級方法

      【技術領域】
      [0001] 本發(fā)明涉及軟件的升級更新,尤其是嵌入式設備軟件在線升級。

      【背景技術】
      [0002] 傳統(tǒng)的嵌入式設備設備,由于資源和環(huán)境條件的限制,在生產(chǎn)階段就需要將軟件 代碼固化,設備出廠后是無法在現(xiàn)場在線修改的。一旦出現(xiàn)升級需求,只能是設備返廠維 修,或在現(xiàn)場拆機更換部件板或替換程序存儲芯片。隨著計算機應用水平的不斷提高,為了 能夠滿足客戶持續(xù)變化的需求,延長產(chǎn)品的生命周期,改善系統(tǒng)的性能,嵌入式產(chǎn)品需要具 備在線升級能力。特別是在遠程環(huán)境監(jiān)測領域的應用背景下,能否便于遠程升級,是否能夠 靈活性使用更是作為一項關鍵因素。目前在現(xiàn)場布置的嵌入式設備環(huán)境中,尤其在用于污 染監(jiān)測的水下監(jiān)測設備情況下,可能面臨各種異常,如通訊傳輸誤碼、存儲操作故障、傳輸 中斷、人工操作失誤等現(xiàn)象,任何一項異常的發(fā)生,都會造成升級過程失敗,甚至引起系統(tǒng) 癱瘓導致產(chǎn)品失效。
      [0003] 因此,針對相關技術中所存在的上述問題,目前尚未提出有效的解決方案。


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

      [0004] 為解決上述現(xiàn)有技術所存在的問題,本發(fā)明提出了一種嵌入式軟件在線升級方 法,包括如下步驟:
      [0005] a.嵌入式設備根據(jù)預先設定的引導模式從主分區(qū)啟動,加載主分區(qū)的Boot程序, 引導主分區(qū)的操作系統(tǒng),進入工作狀態(tài);
      [0006] b.由遠程服務器、本地服務器或上位機的其中一個向嵌入式設備發(fā)送多個用于軟 件升級的更新包;嵌入式設備校驗更新包;所述遠程服務器、本地服務器或上位機均存儲 有用于軟件升級的更新包;
      [0007] c.發(fā)送更新包的服務器向嵌入式設備發(fā)送命令,通知嵌入式設備進行軟件升級更 新;
      [0008] d.嵌入式設備使用更新包更新所述更新區(qū),并在主分區(qū)的加載啟動區(qū)中注冊更新 標記,該更新標記為升級版本可用;
      [0009] e.嵌入式設備從主分區(qū)重新啟動,檢查主分區(qū)注冊的更新標記,在發(fā)現(xiàn)更新標記 修改為升級版本可用時,再一次注冊更新標記,將該更新標記修改為升級版本啟用,并加載 更新區(qū)的Boot程序,引導更新區(qū)的操作系統(tǒng),進入工作狀態(tài);
      [0010] f.若引導系統(tǒng)成功,則將更新區(qū)的引導區(qū)和系統(tǒng)區(qū)復制到主分區(qū),再次注冊更新 標記,修改為升級版本已更新;升級過程結束;
      [0011] g.若引導系統(tǒng)失敗,經(jīng)過預定義時間的超時,嵌入式設備利用看門狗電路進行復 位;
      [0012] h.嵌入式設備從主分區(qū)重新啟動,檢查更新標記,若發(fā)現(xiàn)更新標記仍為升級版本 啟用而未被修改為升級版本已更新,則加載主分區(qū)的Boot程序,引導主分區(qū)的操作系統(tǒng), 進入工作狀態(tài);
      [0013] i.引導系統(tǒng)成功,將主分區(qū)的引導區(qū)和系統(tǒng)區(qū)復制到更新區(qū),再次注冊更新標記, 該更新標記修改為升級版本不可用;系統(tǒng)恢復到升級前的狀態(tài),升級過程結束。
      [0014] 優(yōu)選地,所述的更新包被分解為一個升級內(nèi)容文件描述文件和多個升級內(nèi)容文 件,這些文件依次從遠程服務器或本地服務器或上位機傳送到嵌入式設備上,暫存在嵌入 式設備的NOR Flash的預先劃定的區(qū)域上,傳送結束后由嵌入式設備自動重新合并為更新 包。
      [0015] 優(yōu)選地,更新包在分解傳送和重新合并的過程中,經(jīng)過了雙重校驗,其過程如下: [0016] 在每個升級內(nèi)容文件的傳送過程中包含自身的校驗信息,嵌入式設備接收后先檢 查升級內(nèi)容文件的校驗信息,正確后才進行存儲,并通知對應的服務器發(fā)送下一個升級內(nèi) 容文件;
      [0017] 在升級內(nèi)容文件描述文件中包含校驗信息,嵌入式設備在所有文件傳送結束后, 重新合并成更新包,還要對升級內(nèi)容文件描述文件的校驗信息進行校驗,以此確保更新包 正確傳送。
      [0018] 優(yōu)選地,所述預先設定的引導模式是輪流從主分區(qū)和更新區(qū)進行引導,每次成功 進行系統(tǒng)軟件升級后則改變引導區(qū)域,如果系統(tǒng)從主分區(qū)引導,則軟件更新至更新區(qū);如果 系統(tǒng)從更新區(qū)引導,則軟件更新至主分區(qū),操作系統(tǒng)引導成功之后,檢查主分區(qū)和更新區(qū)的 軟件版本是否一致,如果不一致,則用引導區(qū)的版本替換非引導區(qū)的版本。
      [0019] 本發(fā)明的有益效果是,在嵌入式設備的Flash中劃分主分區(qū)和更新區(qū),引導過程 依次從兩個區(qū)輪流進行,達到以下顯著的進步,首先,系統(tǒng)程序在Flash保存雙備份,如果 升級過程失敗,可以從上一次成功啟動的區(qū)域還原,具有魯棒性;其次,傳輸過程具有多重 校驗,具備故障恢復的能力,支持并發(fā)傳輸;第三,各種通訊方式均可以實現(xiàn)升級操作,具有 靈活性;最后,升級過程的傳輸和控制過程在應用層實現(xiàn),用戶可以自行升級。

      【專利附圖】

      【附圖說明】
      [0020] 圖1是本發(fā)明的嵌入式軟件升級方法的流程圖。

      【具體實施方式】
      [0021] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描 述。結合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權 利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié) 以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中 的一些或者所有細節(jié)也可以根據(jù)權利要求書實現(xiàn)本發(fā)明。
      [0022] 圖1是根據(jù)本發(fā)明實施例的嵌入式軟件升級的流程圖,表示了實施本發(fā)明方法的 具體步驟。
      [0023] 本發(fā)明可在線升級的嵌入式設備,包括處理器、用于存儲程序的NAND Flash、用 于存儲數(shù)據(jù)的NOR Flash、遠程通信接口和本地通信接口;處理器分別與NAND Flash、N0R Flash、遠程通信接口和本地通信接口相連接;該NAND Flash劃分為具有對等結構的主分 區(qū)和更新區(qū),對等結構的每個區(qū)又進一步劃分為具有相同的大小和結構的三個子區(qū)域;所 述的三個子區(qū)域分別是用來存儲啟動程序的加載啟動區(qū)、用來存儲Boot程序的引導區(qū)和 用來存儲系統(tǒng)程序的系統(tǒng)區(qū);該NOR Flash設有能夠同時存儲應用程序、應用數(shù)據(jù)及其更 新包的存儲空間;所述的加載啟動區(qū)還存儲有更新標記;嵌入式設備具有Boot程序和操作 系統(tǒng);
      [0024] 一設在遠程并能通過無線網(wǎng)絡(如TCP/UDP、GPRS/CDMA等)接入而與所述嵌入式 設備相連接的遠程服務器,該遠程服務器與嵌入式設備之間設有相互認可的通信協(xié)議以使 遠程服務器與嵌入式設備之間能夠?qū)崿F(xiàn)數(shù)據(jù)交換,遠程服務器向嵌入式設備發(fā)送更新包及 其升級命令,嵌入式設備進行軟件升級;無線網(wǎng)絡是公用或?qū)S玫倪h程通訊網(wǎng)絡;
      [0025] 一設在本地并能通過無線方式(如紅外、藍牙等)接入而與所述嵌入式設備相連 接的本地服務器,該本地服務器與嵌入式設備之間設有相互認可的通信協(xié)議以使本地服務 器與嵌入式設備之間能夠?qū)崿F(xiàn)數(shù)據(jù)交換,本地服務器向嵌入式設備發(fā)送更新包及其升級命 令,嵌入式設備進行軟件升級;
      [0026] 一設在本地并能通過有線方式(如USB、RS232C等)而與所述嵌入式設備相連接 的上位機,該上位機與嵌入式設備之間設有相互認可的通信協(xié)議以使上位機與嵌入式設備 之間能夠?qū)崿F(xiàn)數(shù)據(jù)交換,上位機向嵌入式設備發(fā)送更新包及其升級命令,嵌入式設備進行 軟件升級。其中:本地服務器和上位機可為手持式設備或臺式計算機。
      [0027] 本發(fā)明的嵌入式系統(tǒng)的軟件在線升級方法包括如下步驟:
      [0028] a.嵌入式設備根據(jù)預先設定的引導模式從主分區(qū)啟動,加載主分區(qū)的Boot程序, 引導主分區(qū)的操作系統(tǒng),進入工作狀態(tài);
      [0029] b.由遠程服務器、本地服務器或上位機的其中一個向嵌入式設備發(fā)送多個用于軟 件升級的更新包;嵌入式設備校驗更新包;所述遠程服務器、本地服務器或上位機均存儲 有用于軟件升級的更新包;
      [0030] c.發(fā)送更新包的服務器向嵌入式設備發(fā)送命令,通知嵌入式設備進行軟件升級更 新;
      [0031] d.嵌入式設備使用更新包更新所述更新區(qū),并在主分區(qū)的加載啟動區(qū)中注冊更新 標記,該更新標記為升級版本可用;
      [0032] e.嵌入式設備從主分區(qū)重新啟動,檢查主分區(qū)注冊的更新標記,在發(fā)現(xiàn)更新標記 修改為升級版本可用時,再一次注冊更新標記,將該更新標記修改為升級版本啟用,并加載 更新區(qū)的Boot程序,引導更新區(qū)的操作系統(tǒng),進入工作狀態(tài);
      [0033] f.若引導系統(tǒng)成功,則將更新區(qū)的引導區(qū)和系統(tǒng)區(qū)復制到主分區(qū),再次注冊更新 標記,修改為升級版本已更新;升級過程結束;
      [0034] g.若引導系統(tǒng)失敗,經(jīng)過預定義時間的超時,嵌入式設備利用看門狗電路進行復 位;
      [0035] h.嵌入式設備從主分區(qū)重新啟動,檢查更新標記,若發(fā)現(xiàn)更新標記仍為升級版本 啟用而未被修改為升級版本已更新,則加載主分區(qū)的Boot程序,引導主分區(qū)的操作系統(tǒng), 進入工作狀態(tài);
      [0036] i.引導系統(tǒng)成功,將主分區(qū)的引導區(qū)和系統(tǒng)區(qū)復制到更新區(qū),再次注冊更新標記, 該更新標記修改為升級版本不可用;系統(tǒng)恢復到升級前的狀態(tài),升級過程結束。
      [0037] 其中:預先設定的引導模式是依次從主分區(qū)和更新區(qū)輪流進行,每次成功進行系 統(tǒng)軟件升級后則改變引導區(qū)域。系統(tǒng)軟件升級內(nèi)容文件更新的區(qū)域是當前非引導區(qū)域。即 系統(tǒng)從主分區(qū)引導,則軟件更新至更新區(qū)。反之,系統(tǒng)從更新區(qū)引導,則軟件更新至主分區(qū)。 操作系統(tǒng)引導成功之后,再檢查主分區(qū)和更新區(qū)的軟件版本是否一致,如果不一致,則用引 導區(qū)的版本替換非引導區(qū)的版本,以此保持2個區(qū)域(即主分區(qū)和更新區(qū))的軟件版本同 止 /J/ 〇
      [0038] 更新包被分解為一個升級內(nèi)容文件描述文件和多個升級內(nèi)容文件,這些文件依 次從遠程服務器或本地服務器或上位機傳送到嵌入式設備上,暫存在嵌入式設備的N0R Flash的預先劃定的區(qū)域上,傳送結束后由嵌入式設備自動重新合并為更新包。
      [0039] 更新包為遠程服務器或本地服務器或上位機發(fā)送的升級內(nèi)容文件;該升級內(nèi)容文 件的文件依次從遠程服務器或本地服務器或上位機傳送到嵌入式設備,這個過程可以被系 統(tǒng)其他事項中斷;兩個文件傳送之間,遠程服務器或本地服務器或上位機可以下發(fā)其他命 令,嵌入式設備可以被重新啟動,遠程服務器或本地服務器或上位機也可以被重新啟動。
      [0040] 更新包為遠程服務器或本地服務器或上位機發(fā)送的升級內(nèi)容文件;該升級內(nèi)容文 件的文件傳送具有故障自動恢復的能力;遠程服務器或本地服務器或上位機可以查詢到正 在傳送的升級內(nèi)容文件的文件數(shù)量,并繼續(xù)傳送后續(xù)的升級內(nèi)容文件文件。
      [0041] 更新包在分解傳送和重新合并的過程中,經(jīng)過了雙重校驗,其過程如下:
      [0042] 在每個升級內(nèi)容文件的傳送過程中包含自身的校驗信息,嵌入式設備接收后先檢 查升級內(nèi)容文件的校驗信息,正確后才進行存儲,并通知對應的服務器發(fā)送下一個升級內(nèi) 容文件;
      [0043] 在升級內(nèi)容文件描述文件中包含校驗信息,嵌入式設備在所有文件傳送結束后, 重新合并成更新包,還要對升級內(nèi)容文件描述文件的校驗信息進行校驗,以此確保更新包 正確傳送。
      [0044] 在一次遠程升級更新過程中,可以同時更新多個程序模塊,每個程序模塊做為一 個更新包進行傳送,多個更新包之間可以并發(fā)傳送;提高通訊通道的效率。
      [0045] 若更新后的操作系統(tǒng)不能成功引導,則從舊版本系統(tǒng)引導區(qū)引導,并將更新過的 系統(tǒng)區(qū)域還原成舊版本。
      [0046] 綜上所述,本發(fā)明提出的升級方法,不僅保證升級穩(wěn)定,具有魯棒性和故障恢復的 能力,支持并發(fā)傳輸;還支持各種通訊方式在應用層實現(xiàn),方便用戶控制。
      [0047] 顯然,本領域的技術人員應該理解,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算系統(tǒng)來實現(xiàn),它們可以集中在單個的計算系統(tǒng)上,或者分布在多個計算系統(tǒng)所組成 的網(wǎng)絡上,可選地,它們可以用計算系統(tǒng)可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲 在存儲系統(tǒng)中由計算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。 [0048] 應當理解的是,本發(fā)明的上述【具體實施方式】僅僅用于示例性說明或解釋本發(fā)明的 原理,而不構成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何 修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。此外,本發(fā)明所附權利要求旨 在涵蓋落入所附權利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修 改例。
      【權利要求】
      1. 一種嵌入式軟件在線升級方法,其特征在于,包括如下步驟: a. 嵌入式設備根據(jù)預先設定的引導模式從主分區(qū)啟動,加載主分區(qū)的Boot程序,引導 主分區(qū)的操作系統(tǒng),進入工作狀態(tài); b. 由遠程服務器、本地服務器或上位機的其中一個向嵌入式設備發(fā)送多個用于軟件升 級的更新包;嵌入式設備校驗更新包;所述遠程服務器、本地服務器或上位機均存儲有用 于軟件升級的更新包; c. 發(fā)送更新包的服務器向嵌入式設備發(fā)送命令,通知嵌入式設備進行軟件升級更新; d. 嵌入式設備使用更新包更新所述更新區(qū),并在主分區(qū)的加載啟動區(qū)中注冊更新標 記,該更新標記為升級版本可用; e. 嵌入式設備從主分區(qū)重新啟動,檢查主分區(qū)注冊的更新標記,在發(fā)現(xiàn)更新標記修改 為升級版本可用時,再一次注冊更新標記,將該更新標記修改為升級版本啟用,并加載更新 區(qū)的Boot程序,引導更新區(qū)的操作系統(tǒng),進入工作狀態(tài); f. 若引導系統(tǒng)成功,則將更新區(qū)的引導區(qū)和系統(tǒng)區(qū)復制到主分區(qū),再次注冊更新標記, 修改為升級版本已更新;升級過程結束; g. 若引導系統(tǒng)失敗,經(jīng)過預定義時間的超時,嵌入式設備利用看門狗電路進行復位; h. 嵌入式設備從主分區(qū)重新啟動,檢查更新標記,若發(fā)現(xiàn)更新標記仍為升級版本啟用 而未被修改為升級版本已更新,則加載主分區(qū)的Boot程序,引導主分區(qū)的操作系統(tǒng),進入 工作狀態(tài); i. 引導系統(tǒng)成功,將主分區(qū)的引導區(qū)和系統(tǒng)區(qū)復制到更新區(qū),再次注冊更新標記,該更 新標記修改為升級版本不可用;系統(tǒng)恢復到升級前的狀態(tài),升級過程結束。
      2. 根據(jù)權利要求1所述的嵌入式軟件升級方法,其特征在于:所述的更新包被分解為 一個升級內(nèi)容文件描述文件和多個升級內(nèi)容文件,這些文件依次從遠程服務器或本地服務 器或上位機傳送到嵌入式設備上,暫存在嵌入式設備的NOR Flash的預先劃定的區(qū)域上,傳 送結束后由嵌入式設備重新合并為更新包。
      3. 根據(jù)權利要求2所述的嵌入式軟件升級方法,其特征在于:更新包在分解傳送和重 新合并的過程中,經(jīng)過了雙重校驗,其過程如下 : 在每個升級內(nèi)容文件的傳送過程中包含自身的校驗信息,嵌入式設備接收后先檢查升 級內(nèi)容文件的校驗信息,正確后才進行存儲,并通知對應的服務器發(fā)送下一個升級內(nèi)容文 件; 在升級內(nèi)容文件描述文件中包含校驗信息,嵌入式設備在所有文件傳送結束后,重新 合并成更新包,還要對升級內(nèi)容文件描述文件的校驗信息進行校驗,以此確保更新包正確 傳送。
      4. 根據(jù)權利要求1所述的嵌入式軟件升級方法,其特征在于:所述預先設定的引導模 式是輪流從主分區(qū)和更新區(qū)進行引導,每次成功進行系統(tǒng)軟件升級后則改變引導區(qū)域,如 果系統(tǒng)從主分區(qū)引導,則軟件更新至更新區(qū);如果系統(tǒng)從更新區(qū)引導,則軟件更新至主分 區(qū),操作系統(tǒng)引導成功之后,檢查主分區(qū)和更新區(qū)的軟件版本是否一致,如果不一致,則用 引導區(qū)的版本替換非引導區(qū)的版本。
      【文檔編號】G06F11/14GK104156249SQ201410406157
      【公開日】2014年11月19日 申請日期:2014年8月18日 優(yōu)先權日:2014年8月18日
      【發(fā)明者】毛力 申請人:四川九成信息技術有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1