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

      一種可軟件在線升級的嵌入式系統(tǒng)及在線升級方法

      文檔序號:6587526閱讀:455來源:國知局
      專利名稱:一種可軟件在線升級的嵌入式系統(tǒng)及在線升級方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種嵌入式計(jì)算機(jī)軟件在線升級的技術(shù),尤其是具有嵌入式操作系 統(tǒng)的嵌入式計(jì)算機(jī)的系統(tǒng)軟件和應(yīng)用軟件在線升級。
      背景技術(shù)
      傳統(tǒng)的嵌入式終端設(shè)備,由于資源和環(huán)境條件的限制,在生產(chǎn)階段就需要將軟 件代碼固化,設(shè)備出廠后是無法在現(xiàn)場在線修改的。一旦出現(xiàn)升級需求,要么是設(shè)備返 廠維修,要么是在現(xiàn)場拆機(jī)更換部件板或替換程序存儲芯片。隨著計(jì)算機(jī)應(yīng)用水平的不斷提高,為了能夠滿足客戶持續(xù)變化的需求,延長產(chǎn) 品的生命周期,改善系統(tǒng)的性能,嵌入式產(chǎn)品需要具備在線升級能力。目前公知的嵌入式軟件在線升級方法,將工作環(huán)境理想化了?,F(xiàn)實(shí)環(huán)境中,我 們可能面臨各種異常,如通訊傳輸誤碼、存儲操作故障、傳輸中斷、人工操作失誤等現(xiàn) 象,任何一項(xiàng)異常的發(fā)生,都會造成升級過程失敗,甚至引起系統(tǒng)癱瘓導(dǎo)致產(chǎn)品失效。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于克服現(xiàn)有技術(shù)之不足,提供一種可軟件在線升級的嵌入式系 統(tǒng)及在線升級方法,使用這種方法,能夠有效識別在線升級過程中的各種異常狀況,并 采取相應(yīng)措施加以補(bǔ)救,或誤碼重傳,或斷點(diǎn)續(xù)傳,或無效拋棄,或失敗還原,確保在 線升級的正確性和魯棒性。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種可軟件在線升級的嵌入式系 統(tǒng),包括—嵌入式終端,其包括主控芯片、程序存儲器、數(shù)據(jù)存儲器、遠(yuǎn)程通信接口和 本地/近程通信接口;主控芯片分別與程序存儲器、數(shù)據(jù)存儲器、遠(yuǎn)程通信接口和本地 /近程通信接口相連接;該程序存儲器至少劃分為具有對等結(jié)構(gòu)的A區(qū)和B區(qū),每個區(qū) 又進(jìn)一步劃分為具有相同的大小和結(jié)構(gòu)的三個子區(qū)域;所述的三個子區(qū)域分別是用來存 儲啟動程序的啟動程序區(qū)、用來存儲引導(dǎo)程序的引導(dǎo)程序區(qū)和用來存儲系統(tǒng)程序的系統(tǒng) 程序區(qū);該數(shù)據(jù)存儲器設(shè)有能夠同時存儲業(yè)務(wù)程序、業(yè)務(wù)數(shù)據(jù)及其升級程序包的存儲空 間;所述的啟動程序區(qū)還存儲有升級控制信息;一設(shè)在遠(yuǎn)程并能通過無線網(wǎng)絡(luò)接入而與所述嵌入式終端相連接的第一主站,該 第一主站與嵌入式終端之間設(shè)有相互認(rèn)可的通信協(xié)議以使第一主站與嵌入式終端之間能 夠?qū)崿F(xiàn)數(shù)據(jù)交換,第一主站向嵌入式終端發(fā)送升級程序包及其升級指令,嵌入式終端進(jìn) 行軟件升級;一設(shè)在近程并能通過無線方式接入而與所述嵌入式終端相連接的第二主站,該 第二主站與嵌入式終端之間設(shè)有相互認(rèn)可的通信協(xié)議以使第二主站與嵌入式終端之間能 夠?qū)崿F(xiàn)數(shù)據(jù)交換,第二主站向嵌入式終端發(fā)送升級程序包及其升級指令,嵌入式終端進(jìn) 行軟件升級;
      一設(shè)在近程并能通過本地接入而與所述嵌入式終端相連接的第三主站,該第三 主站與嵌入式終端之間設(shè)有相互認(rèn)可的通信協(xié)議以使第三主站與嵌入式終端之間能夠?qū)?現(xiàn)數(shù)據(jù)交換,第三主站向嵌入式終端發(fā)送升級程序包及其升級指令,嵌入式終端進(jìn)行軟 件升級。所述的程序存儲器采用Flash存儲器件。所述的第二主站、第三主站分別為手持式設(shè)備或臺式計(jì)算機(jī)或手提電腦。一種嵌入式系統(tǒng)的軟件在線升級方法,包括如下步驟a.嵌入式終端根據(jù)預(yù)先設(shè)定的引導(dǎo)模式從A區(qū)啟動,加載A區(qū)的引導(dǎo)程序,引 導(dǎo)A區(qū)的操作系統(tǒng)程序,進(jìn)入工作狀態(tài);b.由第一主站或第二主站或第三主站的其中一個主站向嵌入式終端發(fā)送若干個 用于軟件升級的升級程序包;嵌入式終端檢驗(yàn)升級程序包,確保能夠完整正確地接收到 所有的升級程序包;c.發(fā)送升級程序包的主站向嵌入式終端發(fā)送指令,通知嵌入式終端進(jìn)行軟件升 級更新;d.嵌入式終端使用升級程序包更新B區(qū),并在A區(qū)的啟動程序區(qū)中登記升級控 制信息,該升級控制信息標(biāo)記為新版本就緒;e.嵌入式終端重新啟動,從A區(qū)啟動,檢查A區(qū)登記的升級控制信息,在發(fā)現(xiàn) 升級控制信息標(biāo)記為新版本就緒時,再一次登記升級控制信息,該升級控制信息標(biāo)記為 新版本啟用,并加載B區(qū)的引導(dǎo)程序,引導(dǎo)B區(qū)的操作系統(tǒng)程序,進(jìn)入工作狀態(tài);f.若引導(dǎo)系統(tǒng)成功,則將B區(qū)的引導(dǎo)程序區(qū)和系統(tǒng)程序區(qū)復(fù)制到A區(qū),再次登記 升級控制信息,該升級控制信息標(biāo)記為新版本已更新;升級過程結(jié)束;&若引導(dǎo)系統(tǒng)失敗,經(jīng)過一個預(yù)先設(shè)定時間的超時,嵌入式終端在看門狗電路 作用下進(jìn)行復(fù)位;h.嵌入式終端重新啟動,從A區(qū)啟動,檢查升級控制信息,發(fā)現(xiàn)升級控制信息 的標(biāo)記仍為新版本啟用而未被修改為新版本已更新,則加載A區(qū)的引導(dǎo)程序,引導(dǎo)A區(qū) 的操作系統(tǒng)程序,進(jìn)入工作狀態(tài);i.引導(dǎo)系統(tǒng)成功,將A區(qū)的引導(dǎo)程序區(qū)和系統(tǒng)程序區(qū)復(fù)制到B區(qū),再次登記升級 控制信息,該升級控制信息標(biāo)記為新版本廢棄;系統(tǒng)恢復(fù)到升級前的狀態(tài),升級過程結(jié)
      束ο所述的預(yù)先設(shè)定的引導(dǎo)模式是依次從A區(qū)和B區(qū)輪流進(jìn)行,每次成功進(jìn)行系統(tǒng) 軟件升級后則調(diào)換引導(dǎo)區(qū)域。所述的升級程序包被分解為一個升級包描述數(shù)據(jù)塊和若干個升級數(shù)據(jù)塊,這些 數(shù)據(jù)塊順次從第一主站或第二主站或第三主站傳送到嵌入式終端上,暫存在嵌入式終端 的數(shù)據(jù)存儲器的預(yù)先劃定的區(qū)域上,傳送結(jié)束后由嵌入式終端自動合并還原為升級程序 包。所述的升級程序包為第一主站或第二主站或第三主站發(fā)送的升級包;該升級包 的數(shù)據(jù)塊順次從第一主站或第二主站或第三主站傳送到嵌入式終端,這個過程可以被系 統(tǒng)其他事項(xiàng)中斷;兩個數(shù)據(jù)塊傳送之間,第一主站或第二主站或第三主站可以下發(fā)其 他指令,嵌入式終端可以被重新啟動,第一主站或第二主站或第三主站也可以被重新啟動。所述的升級程序包為第一主站或第二主站或第三主站發(fā)送的升級包;該升級包 的數(shù)據(jù)塊傳送具有故障自動恢復(fù)的能力;第一主站或第二主站或第三主站可以查詢到正 在傳送的升級包的數(shù)據(jù)塊數(shù)量,并繼續(xù)傳送后續(xù)的升級包數(shù)據(jù)塊。所述的升級程序包在分塊傳送和合并還原的過程中,經(jīng)過了二層的檢查校驗(yàn), 其過程如下在每個升級數(shù)據(jù)塊的傳送過程中包含自身的校驗(yàn)信息,嵌入式終端接收后先核 對升級數(shù)據(jù)塊的校驗(yàn)信息,正確后才進(jìn)行存儲,并通知對應(yīng)的主站發(fā)送下一個升級數(shù)據(jù) 塊;在升級包描述數(shù)據(jù)塊中包含校驗(yàn)信息,嵌入式終端在所有數(shù)據(jù)塊傳送結(jié)束后, 合并還原成升級程序包,還要對升級包描述數(shù)據(jù)塊的校驗(yàn)信息進(jìn)行檢查校驗(yàn),以此確保 升級程序包正確傳送。所述的一次遠(yuǎn)程升級更新過程,可以同時更新多個程序模塊,每個程序模塊做 為一個升級程序包進(jìn)行傳送,多個升級程序包之間可以并發(fā)傳送。本發(fā)明的一種可軟件在線升級的嵌入式系統(tǒng)及在線升級方法,嵌入式終端設(shè)備 由主控芯片、程序存儲器件、數(shù)據(jù)存儲器件、以及能夠和主站(可以是第一主站,也可 以是第二主站,或者可以是第三主站)通信的通訊接口構(gòu)成。軟件部分包括系統(tǒng)程序(啟 動程序、引導(dǎo)程序和嵌入式操作系統(tǒng))和業(yè)務(wù)程序。在主站(包括第一主站、第二主站和第三主站)與嵌入式終端之間制定有一個通 訊協(xié)議,該通訊協(xié)議使得嵌入式終端設(shè)備和主站之間可以交換數(shù)據(jù)。升級程序包按照該 種通訊協(xié)議方式由主站傳送到嵌入式終端設(shè)備。該通訊協(xié)議能夠支持多種通訊方式,可 以是遠(yuǎn)程通訊(如TCP/UDP、GPRS/CDMA、PSTN、230MHz無線等),或者是本地連 接的通訊(如USB、RS232、RS485、高速紅外等),還可以是近距離通訊(如遠(yuǎn)紅外、 無線射頻、藍(lán)牙等)。只要能夠?qū)崿F(xiàn)主站和嵌入式設(shè)備交換數(shù)據(jù)的通訊方式都能夠完成在 線升級包的傳輸。軟件升級包的傳輸和更新過程在業(yè)務(wù)程序中實(shí)現(xiàn)。系統(tǒng)的引導(dǎo)過程依次從A區(qū)和B區(qū)輪流進(jìn)行,每次進(jìn)行系統(tǒng)軟件升級則調(diào)換引 導(dǎo)區(qū)域。系統(tǒng)軟件升級包更新的區(qū)域是當(dāng)前非引導(dǎo)區(qū)域。即系統(tǒng)從A區(qū)引導(dǎo),則軟件版 本更新至B區(qū)。反之,系統(tǒng)從B區(qū)引導(dǎo),則軟件版本更新至A區(qū)。操作系統(tǒng)引導(dǎo)成功之后,再檢查A存儲區(qū)和B存儲區(qū)的軟件版本是否一致,如 果不一致,則用引導(dǎo)區(qū)的版本替換非引導(dǎo)區(qū)的版本,以此保持2個區(qū)域(即A存儲區(qū)和B 存儲區(qū))的軟件版本同步。若更新后的操作系統(tǒng)不能成功引導(dǎo),則從舊版本系統(tǒng)引導(dǎo)區(qū)引導(dǎo),并將更新過 的系統(tǒng)區(qū)域還原成舊版本。本發(fā)明的有益效果是,由于采用了一設(shè)在遠(yuǎn)程并能通過無線網(wǎng)絡(luò)接入而與所述 嵌入式終端相連接的第一主站、一設(shè)在近程并能通過無線方式接入而與所述嵌入式終端 相連接的第二主站、一設(shè)在近程并能通過本地接入而與所述嵌入式終端相連接的第三主 站和包括有主控芯片、程序存儲器、數(shù)據(jù)存儲器、遠(yuǎn)程通信接口及本地/近程通信接口 的嵌入式終端來構(gòu)成可軟件在線升級的嵌入式系統(tǒng);且在嵌入式終端的程序存儲器中劃分有具有對等結(jié)構(gòu)的A區(qū)和B區(qū),系統(tǒng)的引導(dǎo)過程依次從A區(qū)和B區(qū)輪流進(jìn)行,每次 進(jìn)行系統(tǒng)軟件升級則調(diào)換引導(dǎo)區(qū)域;系統(tǒng)軟件升級包更新的區(qū)域是當(dāng)前非引導(dǎo)區(qū)域,即 系統(tǒng)從A區(qū)引導(dǎo),則軟件版本更新至B區(qū);反之,系統(tǒng)從B區(qū)引導(dǎo),則軟件版本更新至 A區(qū)。該嵌入式系統(tǒng)及在線升級方法,具有如下有益效果一是,系統(tǒng)程序在程序存儲 器保存雙備份,如果升級過程失敗,可以從上一次成功啟動的區(qū)域還原,具有魯棒性; 二是,傳輸過程具有多重校驗(yàn),具備故障恢復(fù)的能力,支持并發(fā)傳輸;三是,各種通訊 方式均可以實(shí)現(xiàn)升級操作,具有靈活性;四是,升級過程的傳輸和控制過程在應(yīng)用層實(shí) 現(xiàn),用戶可以自行升級。以下結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明;但本發(fā)明的一種可軟件在 線升級的嵌入式系統(tǒng)及在線升級方法不局限于實(shí)施例。


      圖1是本發(fā)明的可軟件在線升級的嵌入式系統(tǒng)的結(jié)構(gòu)示意圖;圖2是本發(fā)明的嵌入式終端的結(jié)構(gòu)示意圖;圖3是本發(fā)明的嵌入式終端的程序存儲器的劃分方式示意圖;圖4是本發(fā)明的軟件升級包的傳輸和更新過程流程圖。
      具體實(shí)施例方式實(shí)施例,參見附圖所示,本發(fā)明的一種可軟件在線升級的嵌入式系統(tǒng),包括—嵌入式終端1,其包括主控芯片11、程序存儲器12、數(shù)據(jù)存儲器13、遠(yuǎn)程 通信接口 14和本地/近程通信接口 15;主控芯片11分別與程序存儲器12、數(shù)據(jù)存儲 器13、遠(yuǎn)程通信接口 14和本地/近程通信接口 15相連接;該程序存儲器12至少劃分 為具有對等結(jié)構(gòu)的A區(qū)和B區(qū),每個區(qū)又進(jìn)一步劃分為具有相同的大小和結(jié)構(gòu)的三個子 區(qū)域;所述的三個子區(qū)域分別是用來存儲啟動程序的啟動程序區(qū)LOADER、用來存儲引 導(dǎo)程序的引導(dǎo)程序區(qū)BOOT和用來存儲系統(tǒng)程序的系統(tǒng)程序區(qū)SYSTEM ;該數(shù)據(jù)存儲器 13設(shè)有能夠同時存儲業(yè)務(wù)程序、業(yè)務(wù)數(shù)據(jù)及其升級程序包的存儲空間;所述的啟動程序 區(qū)LOADER還存儲有升級控制信息;該嵌入式終端1可以還具有帶數(shù)字寄存器的電子器 件,如果具有帶數(shù)字寄存器的電子器件,該數(shù)字寄存器被用來存放升級控制信息的校驗(yàn) 信息;嵌入式終端1具有引導(dǎo)程序BSP和嵌入式操作系統(tǒng);一設(shè)在遠(yuǎn)程并能通過無線網(wǎng)絡(luò)5接入而與所述嵌入式終端相連接的第一主站2, 該第一主站2與嵌入式終端1之間設(shè)有相互認(rèn)可的通信協(xié)議以使第一主站2與嵌入式終端 1之間能夠?qū)崿F(xiàn)數(shù)據(jù)交換,第一主站2向嵌入式終端1發(fā)送升級程序包及其升級指令,嵌 入式終端1進(jìn)行軟件升級;無線網(wǎng)絡(luò)5是公用或?qū)S玫倪h(yuǎn)程通訊網(wǎng)絡(luò);一設(shè)在近程并能通過無線方式接入而與所述嵌入式終端相連接的第二主站3,該 第二主站3與嵌入式終端1之間設(shè)有相互認(rèn)可的通信協(xié)議以使第二主站3與嵌入式終端1 之間能夠?qū)崿F(xiàn)數(shù)據(jù)交換,第二主站3向嵌入式終端發(fā)送升級程序包及其升級指令,嵌入 式終端1進(jìn)行軟件升級;一設(shè)在近程并能通過本地接入而與所述嵌入式終端相連接的第三主站4,該第三 主站4與嵌入式終端1之間設(shè)有相互認(rèn)可的通信協(xié)議以使第三主站4與嵌入式終端1之間能夠?qū)崿F(xiàn)數(shù)據(jù)交換,第三主站4向嵌入式終端發(fā)送升級程序包及其升級指令,嵌入式終 端1進(jìn)行軟件升級。其中程序存儲器12采用Flash存儲器件;第二主站3、第三主站4分別為手持式設(shè)備或臺式計(jì)算機(jī)或手提電腦。一種嵌入式系統(tǒng)的軟件在線升級方法,包括如下步驟a.嵌入式終端1根據(jù)預(yù)先設(shè)定的引導(dǎo)模式從A區(qū)啟動,加載A區(qū)的引導(dǎo)程序, 引導(dǎo)A區(qū)的操作系統(tǒng)程序,進(jìn)入工作狀態(tài);如圖4的框401至框408所示;b.由第一主站2或第二主站3或第三主站4的其中一個主站向嵌入式終端1發(fā)送 若干個用于軟件升級的升級程序包;嵌入式終端1檢驗(yàn)升級程序包,確保能夠完整正確 地接收到所有的升級程序包;如圖4的框409所示;c.發(fā)送升級程序包的主站向嵌入式終端1發(fā)送指令,通知嵌入式終端1進(jìn)行軟件 升級更新;d.嵌入式終端1使用升級程序包更新B區(qū),并在A區(qū)的啟動程序區(qū)中登記升級 控制信息,該升級控制信息標(biāo)記為新版本就緒;如圖4的框410所示;e.嵌入式終端1重新啟動,從A區(qū)啟動,檢查A區(qū)登記的升級控制信息,在發(fā) 現(xiàn)升級控制信息標(biāo)記為新版本就緒時,再一次登記升級控制信息,該升級控制信息標(biāo)記 為新版本啟用,并加載B區(qū)的引導(dǎo)程序,引導(dǎo)B區(qū)的操作系統(tǒng)程序,進(jìn)入工作狀態(tài);如 圖4的框411所示;f.若引導(dǎo)系統(tǒng)成功,則將B區(qū)的引導(dǎo)程序區(qū)和系統(tǒng)程序區(qū)復(fù)制到A區(qū),再次登 記升級控制信息,該升級控制信息標(biāo)記為新版本已更新;升級過程結(jié)束;如圖4的框407 所示;&若引導(dǎo)系統(tǒng)失敗,經(jīng)過一個預(yù)先設(shè)定時間的超時,嵌入式終端在看門狗電路 作用下進(jìn)行復(fù)位;如圖4的框412所示;h.嵌入式終端重新啟動,從A區(qū)啟動,檢查升級控制信息,發(fā)現(xiàn)升級控制信息 的標(biāo)記仍為新版本啟用而未被修改為新版本已更新,則加載A區(qū)的引導(dǎo)程序,引導(dǎo)A區(qū) 的操作系統(tǒng)程序,進(jìn)入工作狀態(tài);如圖4的框401至框406所示;i.引導(dǎo)系統(tǒng)成功,將A區(qū)的引導(dǎo)程序區(qū)和系統(tǒng)程序區(qū)復(fù)制到B區(qū),再次登記升級 控制信息,該升級控制信息標(biāo)記為新版本廢棄;系統(tǒng)恢復(fù)到升級前的狀態(tài),升級過程結(jié) 束;如圖4的框407所示。其中預(yù)先設(shè)定的引導(dǎo)模式是依次從A區(qū)和B區(qū)輪流進(jìn)行,每次成功進(jìn)行系統(tǒng)軟件升 級后則調(diào)換引導(dǎo)區(qū)域。升級程序包被分解為一個升級包描述數(shù)據(jù)塊和若干個升級數(shù)據(jù)塊,這些數(shù)據(jù)塊 順次從第一主站或第二主站或第三主站傳送到嵌入式終端上,暫存在嵌入式終端的數(shù)據(jù) 存儲器的預(yù)先劃定的區(qū)域上,傳送結(jié)束后由嵌入式終端自動合并還原為升級程序包。升級程序包為第一主站或第二主站或第三主站發(fā)送的升級包;該升級包的數(shù)據(jù) 塊順次從第一主站或第二主站或第三主站傳送到嵌入式終端,這個過程可以被系統(tǒng)其他 事項(xiàng)中斷;兩個數(shù)據(jù)塊傳送之間,第一主站或第二主站或第三主站可以下發(fā)其他指令,嵌入式終端可以被重新啟動,第一主站或第二主站或第三主站也可以被重新啟動。升級程序包為第一主站或第二主站或第三主站發(fā)送的升級包;該升級包的數(shù)據(jù) 塊傳送具有故障自動恢復(fù)的能力;第一主站或第二主站或第三主站可以查詢到正在傳送 的升級包的數(shù)據(jù)塊數(shù)量,并繼續(xù)傳送后續(xù)的升級包數(shù)據(jù)塊。升級程序包在分塊傳送和合并還原的過程中,經(jīng)過了二層的檢查校驗(yàn),其過程 如下在每個升級數(shù)據(jù)塊的傳送過程中包含自身的校驗(yàn)信息,嵌入式終端接收后先核 對升級數(shù)據(jù)塊的校驗(yàn)信息,正確后才進(jìn)行存儲,并通知對應(yīng)的主站發(fā)送下一個升級數(shù)據(jù) 塊;在升級包描述數(shù)據(jù)塊中包含校驗(yàn)信息,嵌入式終端在所有數(shù)據(jù)塊傳送結(jié)束后, 合并還原成升級程序包,還要對升級包描述數(shù)據(jù)塊的校驗(yàn)信息進(jìn)行檢查校驗(yàn),以此確保 升級程序包正確傳送。在一次遠(yuǎn)程升級更新過程中,可以同時更新多個程序模塊,每個程序模塊做為 一個升級程序包進(jìn)行傳送,多個升級程序包之間可以并發(fā)傳送;提高通訊通道的效率。本發(fā)明的一種可軟件在線升級的嵌入式系統(tǒng)及在線升級方法,嵌入式終端設(shè)備 由主控芯片、程序存儲器件、數(shù)據(jù)存儲器件、以及能夠和主站(可以是第一主站,也可 以是第二主站,或者可以是第三主站)通信的通訊接口構(gòu)成。軟件部分包括系統(tǒng)程序(啟 動程序、引導(dǎo)程序和嵌入式操作系統(tǒng))和業(yè)務(wù)程序。在主站(包括第一主站、第二主站和第三主站)與嵌入式終端之間制定有一個通 訊協(xié)議,該通訊協(xié)議使得嵌入式終端設(shè)備和主站之間可以交換數(shù)據(jù)。升級程序包按照該 種通訊協(xié)議方式由主站傳送到嵌入式終端設(shè)備。該通訊協(xié)議能夠支持多種通訊方式,可 以是遠(yuǎn)程通訊(如TCP/UDP、GPRS/CDMA、PSTN、230MHz無線等),或者是本地連 接的通訊(如USB、RS232、RS485、高速紅外等),還可以是近距離通訊(如遠(yuǎn)紅外、 無線射頻、藍(lán)牙等)。只要能夠?qū)崿F(xiàn)主站和嵌入式設(shè)備交換數(shù)據(jù)的通訊方式都能夠完成在 線升級包的傳輸。軟件升級包的傳輸和更新過程在業(yè)務(wù)程序中實(shí)現(xiàn)。系統(tǒng)的引導(dǎo)過程依次從A區(qū)和B區(qū)輪流進(jìn)行,每次進(jìn)行系統(tǒng)軟件升級則調(diào)換引 導(dǎo)區(qū)域。系統(tǒng)軟件升級包更新的區(qū)域是當(dāng)前非引導(dǎo)區(qū)域。即系統(tǒng)從A區(qū)引導(dǎo),則軟件版 本更新至B區(qū)。反之,系統(tǒng)從B區(qū)引導(dǎo),則軟件版本更新至A區(qū)。操作系統(tǒng)引導(dǎo)成功之后,再檢查A存儲區(qū)和B存儲區(qū)的軟件版本是否一致,如 果不一致,則用引導(dǎo)區(qū)的版本替換非引導(dǎo)區(qū)的版本,以此保持2個區(qū)域(即A存儲區(qū)和B 存儲區(qū))的軟件版本同步。若更新后的操作系統(tǒng)不能成功引導(dǎo),則從舊版本系統(tǒng)引導(dǎo)區(qū)引導(dǎo),并將更新過 的系統(tǒng)區(qū)域還原成舊版本。上述實(shí)施例僅用來進(jìn)一步說明本發(fā)明的可軟件在線升級的嵌入式系統(tǒng)及在線升 級方法,但本發(fā)明并不局限于實(shí)施例,凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對以上實(shí)施例所作的 任何簡單修改、等同變化與修飾,均落入本發(fā)明技術(shù)方案的保護(hù)范圍內(nèi)。
      權(quán)利要求
      1.一種可軟件在線升級的嵌入式系統(tǒng),其特征在于包括一嵌入式終端,其包括主控芯片、程序存儲器、數(shù)據(jù)存儲器、遠(yuǎn)程通信接口和本地 /近程通信接口;主控芯片分別與程序存儲器、數(shù)據(jù)存儲器、遠(yuǎn)程通信接口和本地/近 程通信接口相連接;該程序存儲器至少劃分為具有對等結(jié)構(gòu)的A區(qū)和B區(qū),每個區(qū)又進(jìn) 一步劃分為具有相同的大小和結(jié)構(gòu)的三個子區(qū)域;所述的三個子區(qū)域分別是用來存儲啟 動程序的啟動程序區(qū)、用來存儲引導(dǎo)程序的引導(dǎo)程序區(qū)和用來存儲系統(tǒng)程序的系統(tǒng)程序 區(qū);該數(shù)據(jù)存儲器設(shè)有能夠同時存儲業(yè)務(wù)程序、業(yè)務(wù)數(shù)據(jù)及其升級程序包的存儲空間; 所述的啟動程序區(qū)還存儲有升級控制信息;一設(shè)在遠(yuǎn)程并能通過無線網(wǎng)絡(luò)接入而與所述嵌入式終端相連接的第一主站,該第一 主站與嵌入式終端之間設(shè)有相互認(rèn)可的通信協(xié)議以使第一主站與嵌入式終端之間能夠?qū)?現(xiàn)數(shù)據(jù)交換,第一主站向嵌入式終端發(fā)送升級程序包及其升級指令,嵌入式終端進(jìn)行軟 件升級;一設(shè)在近程并能通過無線方式接入而與所述嵌入式終端相連接的第二主站,該第二 主站與嵌入式終端之間設(shè)有相互認(rèn)可的通信協(xié)議以使第二主站與嵌入式終端之間能夠?qū)?現(xiàn)數(shù)據(jù)交換,第二主站向嵌入式終端發(fā)送升級程序包及其升級指令,嵌入式終端進(jìn)行軟 件升級;一設(shè)在近程并能通過本地接入而與所述嵌入式終端相連接的第三主站,該第三主站 與嵌入式終端之間設(shè)有相互認(rèn)可的通信協(xié)議以使第三主站與嵌入式終端之間能夠?qū)崿F(xiàn)數(shù) 據(jù)交換,第三主站向嵌入式終端發(fā)送升級程序包及其升級指令,嵌入式終端進(jìn)行軟件升 級。
      2.根據(jù)權(quán)利要求1所述的可軟件在線升級的嵌入式系統(tǒng),其特征在于所述的程序 存儲器采用Flash存儲器件。
      3.根據(jù)權(quán)利要求1所述的可軟件在線升級的嵌入式系統(tǒng),其特征在于所述的第二 主站、第三主站分別為手持式設(shè)備或臺式計(jì)算機(jī)或手提電腦。
      4.一種如權(quán)利要求1所述的嵌入式系統(tǒng)的軟件在線升級方法,其特征在于包括如 下步驟a.嵌入式終端根據(jù)預(yù)先設(shè)定的引導(dǎo)模式從A區(qū)啟動,加載A區(qū)的引導(dǎo)程序,引導(dǎo)A 區(qū)的操作系統(tǒng)程序,進(jìn)入工作狀態(tài);b.由第一主站或第二主站或第三主站的其中一個主站向嵌入式終端發(fā)送若干個用于 軟件升級的升級程序包;嵌入式終端檢驗(yàn)升級程序包,確保能夠完整正確地接收到所有 的升級程序包;c.發(fā)送升級程序包的主站向嵌入式終端發(fā)送指令,通知嵌入式終端進(jìn)行軟件升級更新;d.嵌入式終端使用升級程序包更新B區(qū),并在A區(qū)的啟動程序區(qū)中登記升級控制信 息,該升級控制信息標(biāo)記為新版本就緒;e.嵌入式終端重新啟動,從A區(qū)啟動,檢查A區(qū)登記的升級控制信息,在發(fā)現(xiàn)升級 控制信息標(biāo)記為新版本就緒時,再一次登記升級控制信息,該升級控制信息標(biāo)記為新版 本啟用,并加載B區(qū)的引導(dǎo)程序,引導(dǎo)B區(qū)的操作系統(tǒng)程序,進(jìn)入工作狀態(tài);f.若引導(dǎo)系統(tǒng)成功,則將B區(qū)的引導(dǎo)程序區(qū)和系統(tǒng)程序區(qū)復(fù)制到A區(qū),再次登記升級控制信息,該升級控制信息標(biāo)記為新版本已更新;升級過程結(jié)束;&若引導(dǎo)系統(tǒng)失敗,經(jīng)過一個預(yù)先設(shè)定時間的超時,嵌入式終端在看門狗電路作用 下進(jìn)行復(fù)位;h.嵌入式終端重新啟動,從A區(qū)啟動,檢查升級控制信息,發(fā)現(xiàn)升級控制信息的標(biāo) 記仍為新版本啟用而未被修改為新版本已更新,則加載A區(qū)的引導(dǎo)程序,引導(dǎo)A區(qū)的操 作系統(tǒng)程序,進(jìn)入工作狀態(tài);i.引導(dǎo)系統(tǒng)成功,將A區(qū)的引導(dǎo)程序區(qū)和系統(tǒng)程序區(qū)復(fù)制到B區(qū),再次登記升級控制 信息,該升級控制信息標(biāo)記為新版本廢棄;系統(tǒng)恢復(fù)到升級前的狀態(tài),升級過程結(jié)束。
      5.根據(jù)權(quán)利要求4所述的嵌入式系統(tǒng)的軟件在線升級方法,其特征在于所述的預(yù) 先設(shè)定的引導(dǎo)模式是依次從A區(qū)和B區(qū)輪流進(jìn)行,每次成功進(jìn)行系統(tǒng)軟件升級后則調(diào)換 引導(dǎo)區(qū)域。
      6.根據(jù)權(quán)利要求4所述的嵌入式系統(tǒng)的軟件在線升級方法,其特征在于所述的升 級程序包被分解為一個升級包描述數(shù)據(jù)塊和若干個升級數(shù)據(jù)塊,這些數(shù)據(jù)塊順次從第一 主站或第二主站或第三主站傳送到嵌入式終端上,暫存在嵌入式終端的數(shù)據(jù)存儲器的預(yù) 先劃定的區(qū)域上,傳送結(jié)束后由嵌入式終端自動合并還原為升級程序包。
      7.根據(jù)權(quán)利要求6所述的嵌入式系統(tǒng)的軟件在線升級方法,其特征在于所述的升 級程序包為第一主站或第二主站或第三主站發(fā)送的升級包;該升級包的數(shù)據(jù)塊順次從第 一主站或第二主站或第三主站傳送到嵌入式終端,這個過程可以被系統(tǒng)其他事項(xiàng)中斷; 兩個數(shù)據(jù)塊傳送之間,第一主站或第二主站或第三主站可以下發(fā)其他指令,嵌入式終端 可以被重新啟動,第一主站或第二主站或第三主站也可以被重新啟動。
      8.根據(jù)權(quán)利要求6所述的嵌入式系統(tǒng)的軟件在線升級方法,其特征在于所述的升 級程序包為第一主站或第二主站或第三主站發(fā)送的升級包;該升級包的數(shù)據(jù)塊傳送具有 故障自動恢復(fù)的能力;第一主站或第二主站或第三主站可以查詢到正在傳送的升級包的 數(shù)據(jù)塊數(shù)量,并繼續(xù)傳送后續(xù)的升級包數(shù)據(jù)塊。
      9.根據(jù)權(quán)利要求6所述的嵌入式系統(tǒng)的軟件在線升級方法,其特征在于所述的升 級程序包在分塊傳送和合并還原的過程中,經(jīng)過了二層的檢查校驗(yàn),其過程如下在每個升級數(shù)據(jù)塊的傳送過程中包含自身的校驗(yàn)信息,嵌入式終端接收后先核對升 級數(shù)據(jù)塊的校驗(yàn)信息,正確后才進(jìn)行存儲,并通知對應(yīng)的主站發(fā)送下一個升級數(shù)據(jù)塊;在升級包描述數(shù)據(jù)塊中包含校驗(yàn)信息,嵌入式終端在所有數(shù)據(jù)塊傳送結(jié)束后,合并 還原成升級程序包,還要對升級包描述數(shù)據(jù)塊的校驗(yàn)信息進(jìn)行檢查校驗(yàn),以此確保升級 程序包正確傳送。
      10.根據(jù)權(quán)利要求7或8所述的嵌入式系統(tǒng)的軟件在線升級方法,其特征在于所述 的一次遠(yuǎn)程升級更新過程,可以同時更新多個程序模塊,每個程序模塊做為一個升級程 序包進(jìn)行傳送,多個升級程序包之間可以并發(fā)傳送。
      全文摘要
      本發(fā)明公開了一種可軟件在線升級的嵌入式系統(tǒng)及在線升級方法,包括嵌入式終端和能夠分別與嵌入式終端進(jìn)行數(shù)據(jù)傳輸?shù)倪h(yuǎn)程主站、近程主站、本地主站;嵌入式終端包括有主控芯片、程序存儲器、數(shù)據(jù)存儲器、遠(yuǎn)程通信接口及本地/近程通信接口;嵌入式終端的程序存儲器被劃分有具有對等結(jié)構(gòu)的A區(qū)和B區(qū),在主站向嵌入式終端發(fā)送軟件包時,嵌入式終端的系統(tǒng)的引導(dǎo)過程依次從A區(qū)和B區(qū)輪流進(jìn)行,每次進(jìn)行系統(tǒng)軟件升級則調(diào)換引導(dǎo)區(qū)域;系統(tǒng)程序在程序存儲器保存雙備份,如果升級過程失敗,可以從上一次成功啟動的區(qū)域還原。使用這種方法,能夠有效識別在線升級過程中的各種異常狀況,并采取相應(yīng)措施加以補(bǔ)救,或誤碼重傳,或斷點(diǎn)續(xù)傳,或無效拋棄,或失敗還原,確保在線升級的正確性和魯棒性。
      文檔編號G06F9/445GK102023876SQ20091030693
      公開日2011年4月20日 申請日期2009年9月14日 優(yōu)先權(quán)日2009年9月14日
      發(fā)明者何樹生, 李松濤, 林冬武, 許良剛 申請人:漳州科能電器有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1