两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種嵌入式系統(tǒng)的升級(jí)、備份方法和裝置的制作方法

文檔序號(hào):6584729閱讀:330來源:國(guó)知局
專利名稱:一種嵌入式系統(tǒng)的升級(jí)、備份方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式系統(tǒng)的升級(jí)技術(shù),特別是指一種嵌入式系統(tǒng)的升級(jí)、備份方法 和裝置。
背景技術(shù)
目前,在電信、通訊領(lǐng)域的嵌入式系統(tǒng)的升級(jí)應(yīng)用中,采用插座式閃存(FLASH)芯 片作為引導(dǎo)只讀存儲(chǔ)器(B00TR0M),引導(dǎo)中央處理單元(CPU, Central Processing Unit) 加載應(yīng)用程序版本的方法被廣泛地應(yīng)用。該方法雖然能夠方便地進(jìn)行BOOT引導(dǎo)程序的燒 結(jié),但每燒結(jié)一次B00TR0M,就需拔插一次FLASH芯片。在系統(tǒng)軟件調(diào)試過程中或者在系統(tǒng) 升級(jí)維護(hù)的情況下,會(huì)經(jīng)常需要更新BOOT引導(dǎo)程序,這樣,就需要多次燒結(jié)B00TR0M,而插 座式FLASH芯片經(jīng)多次插拔后,芯片管腳容易造成損壞,由此導(dǎo)致系統(tǒng)無法正常啟動(dòng)。采用嵌入式系統(tǒng)在線升級(jí)的方法可以避免上述問題的出現(xiàn),而且還可以實(shí)現(xiàn) B00TR0M的遠(yuǎn)程在線升級(jí),但在升級(jí)過程中經(jīng)常會(huì)由于以下原因?qū)е律?jí)失敗在線升級(jí)過程中發(fā)生意外的外界因素、如斷電、設(shè)備復(fù)位、死機(jī)等;燒結(jié)了錯(cuò)誤的BOOT引導(dǎo)程序。B00TR0M在線升級(jí)失敗后,系統(tǒng)無法正常啟動(dòng),由于現(xiàn)場(chǎng)無法回退或者恢復(fù),進(jìn)而 導(dǎo)致客戶業(yè)務(wù)中斷,這樣維護(hù)人員不得不去現(xiàn)場(chǎng)重新進(jìn)行B00TR0M的升級(jí),即插拔FLASH芯 片,造成了額外的成本損耗。另外,可編程邏輯器件(CPLD,ComplexProgrammable Logic Device)也是嵌入式 系統(tǒng)設(shè)計(jì)中常用的器件。一般情況下,CPLD都是在生產(chǎn)時(shí)直接燒結(jié)以后就不再更改,但是由 于功能更新或者設(shè)計(jì)失誤等原因,也使CPLD需要進(jìn)行更新。這種情況下,如果系統(tǒng)不能實(shí) 現(xiàn)CPLD的在線更新功能,則只能通過聯(lián)合測(cè)試行為組織(JTAG,Joint Test Action Group) 燒結(jié)電纜進(jìn)行現(xiàn)場(chǎng)升級(jí)工作,這無疑會(huì)增加產(chǎn)品的升級(jí)成本,給產(chǎn)品的維護(hù)工作帶來了極 大不便。因此,如何提供一種實(shí)現(xiàn)嵌入式系統(tǒng)可靠、簡(jiǎn)單方便且成本低廉的升級(jí)方法,成為 業(yè)界急需解決的問題。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種嵌入式系統(tǒng)的升級(jí)、備份方法和裝置, 能夠?qū)崿F(xiàn)嵌入式系統(tǒng)可靠、簡(jiǎn)單方便且成本低廉的升級(jí)。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種嵌入式系統(tǒng)的升級(jí)、備份方法,該方法包括在板級(jí)支持包(BSP)調(diào)試階段,由插座式FLASH芯片中的BOOT引導(dǎo)程序引導(dǎo)中央 處理單元(CPU)啟動(dòng),并通過CPU對(duì)可編程邏輯器件(CPLD)進(jìn)行在線升級(jí);在初始使用階段,對(duì)貼片式FLASH芯片中的主BOOT引導(dǎo)程序進(jìn)行升級(jí),并由升級(jí) 后的所述主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),并在CPU啟動(dòng)成功時(shí),CPU加載應(yīng)用程序版本;在CPU啟動(dòng)失敗時(shí),由備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),并在CPU啟動(dòng)成功時(shí),CPU加載應(yīng)用程 序版本。在BSP調(diào)試階段,該方法進(jìn)一步包括通過控制電路選擇由插座式FLASH芯片中的 BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),進(jìn)行所述BSP調(diào)試。所述CPLD在線升級(jí)完成后,該方法進(jìn)一步包括重新啟動(dòng)嵌入式系統(tǒng),通過所述 CPLD將所述貼片式FLASH芯片劃分為主BOOT區(qū)、程序區(qū)和備BOOT區(qū)。在進(jìn)行BSP調(diào)試時(shí),該方法還包括所述插座式FLASH芯片將自身的BOOT引導(dǎo)程 序燒結(jié)到所述貼片式FLASH芯片的主BOOT區(qū)和備BOOT區(qū),得到所述主BOOT引導(dǎo)程序和備 BOOT引導(dǎo)程序。在初始使用階段,通過所述CPLD確定由主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng);所述由升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)時(shí),該方法進(jìn)一步包括CPLD根據(jù) 自身寄存器的標(biāo)志位的值判斷所述弓I導(dǎo)CPU啟動(dòng)是否成功。CPLD判定所述引導(dǎo)CPU啟動(dòng)成功時(shí),該方法進(jìn)一步包括所述CPU讀取所述升級(jí)后的主BOOT引導(dǎo)程序和備BOOT引導(dǎo)程序,并進(jìn)行校驗(yàn)和 比較,并在所述升級(jí)后的主BOOT弓I導(dǎo)程序和備BOOT弓I導(dǎo)程序不一致時(shí),依據(jù)所述升級(jí)后的 主BOOT引導(dǎo)程序?qū)λ鰝銪OOT引導(dǎo)程序進(jìn)行同步,并在同步成功時(shí),所述CPU讀取程序區(qū) 中的應(yīng)用程序版本并加載。CPLD判定所述引導(dǎo)CPU啟動(dòng)失敗時(shí),該方法進(jìn)一步包括所述CPLD選擇由備BOOT 引導(dǎo)程序引導(dǎo)CPU啟動(dòng),并在啟動(dòng)成功時(shí),由所述CPU修改所述寄存器的標(biāo)志位的值。依據(jù)所述寄存器的標(biāo)志位的值所述備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)成功時(shí),該方法 進(jìn)一步包括所述CPU讀取所述升級(jí)后的主BOOT引導(dǎo)程序和備BOOT引導(dǎo)程序,并進(jìn)行校驗(yàn)和 比較,并在所述升級(jí)后的主BOOT引導(dǎo)程序和備BOOT引導(dǎo)程序不一致時(shí),依據(jù)所述備BOOT 引導(dǎo)程序?qū)λ錾?jí)后的主BOOT引導(dǎo)程序進(jìn)行回退,并在回退成功后,所述CPU讀取程序 區(qū)中的應(yīng)用程序版本并加載。在初始使用階段所述CPU啟動(dòng)成功后,該方法進(jìn)一步包括通過CPU對(duì)CPLD進(jìn)行 在線升級(jí)。所述BSP調(diào)試階段和所述初始使用階段中,通過CPU對(duì)CPLD進(jìn)行在線升級(jí),具體 為利用遠(yuǎn)端網(wǎng)管設(shè)備通過業(yè)務(wù)通道或者管理通道和本地設(shè)備建立通訊連接;通過加載控制單元把遠(yuǎn)端服務(wù)器文件下載到本地設(shè)備的文件系統(tǒng)中;通過CPU的通用可編程輸入/輸出(1/0) 口模擬聯(lián)合測(cè)試行為組織(JTAG)下載 接口,并通過所述JTAG下載接口對(duì)所述CPLD進(jìn)行升級(jí)文件的在線升級(jí);加載CPLD版本到隨機(jī)存儲(chǔ)器(RAM)中,并重新啟動(dòng)嵌入式系統(tǒng),完成CPLD的在線 升級(jí)。本發(fā)明還提供了一種嵌入式系統(tǒng)的升級(jí)、備份裝置,該裝置包括插座式FLASH芯 片、貼片式FLASH芯片、CPU和CPLD,其中 所述插座式FLASH芯片,用于在BSP調(diào)試階段,通過自身的BOOT弓|導(dǎo)程序弓|導(dǎo)CPU
啟動(dòng);
所述貼片式FLASH芯片,用于在初始使用階段,通過自身升級(jí)后的主BOOT引導(dǎo)程 序引導(dǎo)CPU啟動(dòng);還用于,在CPU啟動(dòng)失敗時(shí),通過備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng);所述CPU,用于在BSP調(diào)試階段自身啟動(dòng)后,對(duì)所述CPLD進(jìn)行在線升級(jí);還用于在 所述升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)自身啟動(dòng)成功時(shí)、或者備BOOT引導(dǎo)程序引導(dǎo)自身啟動(dòng) 成功時(shí),加載應(yīng)用程序版本;所述CPLD,用于在BSP調(diào)試階段,CPU啟動(dòng)成功后進(jìn)行在線升級(jí)。該裝置進(jìn)一步包括控制電路,用于在BSP調(diào)試階段選擇由所述插座式FLASH芯片 的BOOT弓I導(dǎo)程序弓丨導(dǎo)CPU啟動(dòng)。所述CPLD,在自身的在線升級(jí)完成后,進(jìn)一步用于將所述貼片式FLASH芯片劃分 為主BOOT區(qū)、程序區(qū)和備BOOT區(qū);在初始使用階段,還用于確定由主BOOT引導(dǎo)程序引導(dǎo) CPU啟動(dòng);并在所述升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)時(shí),用于判斷所述引導(dǎo)CPU啟 動(dòng)是否成功;相應(yīng)的,所述升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)成功時(shí),所述CPU進(jìn)一步用 于,確定所述升級(jí)后的主BOOT弓I導(dǎo)程序和備BOOT弓I導(dǎo)程序不一致時(shí),依據(jù)所述升級(jí)后的主 BOOT引導(dǎo)程序?qū)λ鰝銪OOT引導(dǎo)程序進(jìn)行同步,并在同步成功時(shí),讀取程序區(qū)中的應(yīng)用程 序版本并加載;相應(yīng)的,所述升級(jí)后的主BOOT弓丨導(dǎo)程序弓丨導(dǎo)CPU啟動(dòng)失敗時(shí),所述CPLD進(jìn)一步用 于,選擇由備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)。所述備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)成功時(shí),所述CPU進(jìn)一步用于,確定所述升級(jí) 后的主BOOT引導(dǎo)程序和備BOOT引導(dǎo)程序不一致時(shí),依據(jù)所述備BOOT引導(dǎo)程序?qū)λ錾?jí) 后的主BOOT引導(dǎo)程序進(jìn)行回退,并在回退成功后,讀取程序區(qū)中的應(yīng)用程序版本并加載。在初始使用階段所述CPU啟動(dòng)成功后,所述CPU進(jìn)一步用于,對(duì)所述CPLD進(jìn)行在 線升級(jí)。本發(fā)明的升級(jí)、備份方案,在BSP調(diào)試階段,使用插座式FLASH芯片作為B00TR0M 引導(dǎo)CPU啟動(dòng);在初始使用階段,默認(rèn)使用貼片式FLASH芯片的主BOOT引導(dǎo)程序引導(dǎo)CPU 啟動(dòng),當(dāng)啟動(dòng)失敗時(shí),由CPLD控制使用貼片式FLASH芯片的備BOOT引導(dǎo)程序引導(dǎo)CPU啟 動(dòng),如此,在主BOOT引導(dǎo)程序升級(jí)成功時(shí),可以對(duì)備BOOT引導(dǎo)程序同步升級(jí);在主BOOT引 導(dǎo)程序升級(jí)失敗時(shí),可以依據(jù)備BOOT引導(dǎo)程序?qū)χ鰾OOT引導(dǎo)程序進(jìn)行回退;如此可以實(shí)現(xiàn) 可靠的BOOT引導(dǎo)程序的遠(yuǎn)程升級(jí),提高了設(shè)備的可維護(hù)性。同時(shí),程序存儲(chǔ)區(qū)與主備BOOT 區(qū)都存儲(chǔ)在貼片式FLASH芯片的一體化的結(jié)構(gòu)也節(jié)約了存儲(chǔ)器資源,降低了產(chǎn)品的成本和 體積。另外,本發(fā)明中CPLD獨(dú)立于CPU最小系統(tǒng),如此在初始使用階段CPU的啟動(dòng)可以 不依賴于CPLD ;并且,CPU啟動(dòng)后可模擬JTAG下載接口對(duì)CPLD進(jìn)行在線升級(jí),節(jié)約了產(chǎn)品 的維護(hù)成本,給產(chǎn)品的升級(jí)維護(hù)帶來了方便。


圖1為本發(fā)明嵌入式系統(tǒng)的升級(jí)、備份方法流程示意圖;圖2為BSP調(diào)試階段嵌入式系統(tǒng)的升級(jí)、備份方法流程示意圖;圖3為引導(dǎo)B00TR0M選擇示意圖4為本發(fā)明嵌入式系統(tǒng)的硬件結(jié)構(gòu)示意圖;圖5為初始使用階段嵌入式系統(tǒng)的升級(jí)、備份方法流程示意圖;圖6為本發(fā)明嵌入式系統(tǒng)的升級(jí)、備份裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。本發(fā)明的嵌入式系統(tǒng)中采用兩片F(xiàn)LASH芯片作為B00TR0M。其中,兩片F(xiàn)LASH芯 片分別為一個(gè)小容量的插座式FLASH芯片、和一個(gè)大容量的貼片式FLASH芯片。將貼片式 FLASH芯片劃分為三個(gè)分區(qū)主BOOT區(qū)(MBOOT)、程序區(qū)(APPVER)、和備BOOT區(qū)(SLBOOT)?;谏鲜龅那度胧较到y(tǒng),本發(fā)明嵌入式系統(tǒng)的升級(jí)、備份方法流程如圖1所示,包 括步驟101,在BSP調(diào)試階段,由插座式FLASH芯片中的BOOT引導(dǎo)程序引導(dǎo)CPU啟 動(dòng),并通過CPU對(duì)CPLD進(jìn)行在線升級(jí)。步驟102,在初始使用階段,對(duì)貼片式FLASH芯片中的主BOOT引導(dǎo)程序進(jìn)行升級(jí), 并由升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng);在CPU啟動(dòng)成功時(shí),CPU加載應(yīng)用程序版本。步驟103,在CPU啟動(dòng)失敗時(shí),由備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),并在CPU啟動(dòng)成 功時(shí),CPU加載應(yīng)用程序版本。本發(fā)明嵌入式系統(tǒng)的升級(jí)、備份方案主要應(yīng)用于嵌入式系統(tǒng)正常使用前的準(zhǔn)備階 段,該階段的應(yīng)用場(chǎng)景有兩種第一種,在前期的板級(jí)支持包(BSP,Board Support Package)調(diào)試階段和后期的 初始使用階段,嵌入式系統(tǒng)中都包含插座式FLASH芯片和貼片式FLASH芯片;第二種,在前期的BSP調(diào)試階段,嵌入式系統(tǒng)中包含插座式FLASH芯片和貼片式 FLASH芯片;在后期的初始使用階段,嵌入式系統(tǒng)中只包含貼片式FLASH芯片。下面通過具體的實(shí)施例來說明本發(fā)明的嵌入式系統(tǒng)的升級(jí)、備份方法,其中,BSP 調(diào)試階段流程如圖2所示,包括以下步驟步驟201,通過控制電路選擇由插座式FLASH芯片引導(dǎo)CPU啟動(dòng)。相較于貼片式FLASH芯片,插座式FLASH芯片燒結(jié)方便。預(yù)先在插座式FLASH芯 片中燒結(jié)BOOT引導(dǎo)程序,在進(jìn)行BSP調(diào)試時(shí),通過一個(gè)控制電路來選擇通過插座式FLASH 芯片的BOOT引導(dǎo)程序來引導(dǎo)CPU啟動(dòng),進(jìn)行BSP測(cè)試,其中控制電路可以通過一個(gè)跳線器 來實(shí)現(xiàn)。如圖3所示為引導(dǎo)B00TR0M選擇示意圖,當(dāng)系統(tǒng)確定由插座式FLASH芯片系統(tǒng)引 導(dǎo)CPU啟動(dòng)時(shí),通過控制電路選擇插座式FLASH芯片作為片選信號(hào)CSO的映像空間;選擇 貼片式FLASH芯片作為片選信號(hào)CSl的映像空間。如果系統(tǒng)需要由貼片式FLASH芯片引導(dǎo) CPU啟動(dòng)時(shí),則可以通過控制電路選擇貼片式FLASH芯片作為片選信號(hào)CSO的映像空間。該步驟中CPU的啟動(dòng)可以稱為CPU最小系統(tǒng)的啟動(dòng)。步驟202,通過CPU的通用可編程輸入/輸出(1/0) 口模擬JTAG下載接口,對(duì)CPLD 進(jìn)行在線升級(jí)。CPU最小系統(tǒng)啟動(dòng)后,對(duì)CPLD進(jìn)行在線升級(jí),具體實(shí)現(xiàn)如下1、利用遠(yuǎn)端網(wǎng)管設(shè)備通過業(yè)務(wù)通道或者管理通道和本地設(shè)備建立通訊連接。其中,本地設(shè)備指本發(fā)明的嵌入式系統(tǒng)所在的設(shè)備。2、通過加載控制單元把遠(yuǎn)端服務(wù)器文件下載到本地設(shè)備的文件系統(tǒng)中。基于上述通訊連接,本地設(shè)備上的加載控制單元將遠(yuǎn)端服務(wù)器上CPLD的升級(jí)文 件下載到本地設(shè)備的文件系統(tǒng)中。所述的加載控制單元和文件系統(tǒng)獨(dú)立于本發(fā)明的嵌入式 系統(tǒng)。3、通過CPU的I/O 口模擬JTAG下載接口,對(duì)CPLD進(jìn)行升級(jí)文件的在線升級(jí)。4、加載CPLD版本到隨機(jī)存儲(chǔ)器(RAM,Random Access Memory)中,并重新初始化 配置系統(tǒng)、即重新啟動(dòng)該嵌入式系統(tǒng),可以通過遠(yuǎn)程控制命令來重新啟動(dòng)系統(tǒng)。步驟203,插座式FLASH芯片將BOOT引導(dǎo)程序燒結(jié)到貼片式FLASH芯片。在進(jìn)行BSP調(diào)試時(shí),插座式FLASH芯片自動(dòng)檢測(cè)貼片式FLASH芯片,并將自身的 BOOT引導(dǎo)程序燒結(jié)到貼片式FLASH芯片的ΜΒ00Τ區(qū)和SLB00T區(qū)。如此ΜΒ00Τ區(qū)的BOOT引 導(dǎo)程序即為主BOOT弓丨導(dǎo)程序、SLB00T區(qū)的BOOT弓丨導(dǎo)程序即為備BOOT弓丨導(dǎo)程序。在進(jìn)行主、 備BOOT引導(dǎo)程序的燒結(jié)之前,可以通過CPLD對(duì)貼片式FLASH芯片進(jìn)行分區(qū)、即主ΜΒ00Τ、 APPVER、SLB00T,具體在硬件上的實(shí)現(xiàn)將通過圖4進(jìn)行說明。從該流程可以看出,CPU最小系統(tǒng)的啟動(dòng)不依賴于CPLD,即在CPLD為空白時(shí)(沒 有進(jìn)行在線升級(jí),加載CPLD版本),CPU的最小系統(tǒng)也可以通過插座式FLASH芯片的BOOT 弓丨導(dǎo)程序啟動(dòng),該功能在硬件的實(shí)現(xiàn)將通過圖4進(jìn)行說明。在后續(xù)初始使用階段,需要通過貼片式FLASH芯片中的BOOT弓丨導(dǎo)程序弓丨導(dǎo)CPU啟 動(dòng),此時(shí)CPU的啟動(dòng)依賴于CPLD。因此,在BSP調(diào)試階段需要對(duì)CPLD進(jìn)行在線升級(jí),并加載 CPLD版本,使CPLD不為空。下面具體說明一下在初始使用階段本發(fā)明方法的具體實(shí)現(xiàn)如果包含插座式 FLASH芯片,則系統(tǒng)通過控制電路選擇由貼片式FLASH芯片引導(dǎo)CPU啟動(dòng);如果不包含插座 式FLASH芯片,則默認(rèn)由貼片式FLASH芯片引導(dǎo)CPU啟動(dòng)。其中,貼片式FLASH芯片的ΜΒ00Τ 區(qū)和SLB00T區(qū)用于儲(chǔ)存同一個(gè)BOOT引導(dǎo)程序;APPVER區(qū)用于存儲(chǔ)系統(tǒng)運(yùn)行的應(yīng)用程序版 本。這種應(yīng)用程序版本和BOOT引導(dǎo)程序都存儲(chǔ)在貼片式FLASH芯片的一體化結(jié)構(gòu)即節(jié)約 了系統(tǒng)的成本。如圖4所示為本發(fā)明嵌入式系統(tǒng)的硬件結(jié)構(gòu)示意圖,其中,貼片式FLASH芯片的最 高三位地址線Ah、Ah-I、Ah-2弓I入CPLD、CPU上對(duì)應(yīng)Ah、Ah_l、Ah_2的三位地址線C_Ah、C_ Ah-U C_Ah-2也引入CPLD。其中,Ah、Ah_l、Ah_2且默認(rèn)下拉,如此,在BSP調(diào)試階段可以 確保CPLD為空時(shí),CPU的最小系統(tǒng)也可以從插座式FLASH芯片啟動(dòng)、即在BSP調(diào)試階段CPU 最小系統(tǒng)獨(dú)立于CPLD,不依賴CPLD也能夠啟動(dòng)。本發(fā)明中,在初始使用階段默認(rèn)CPU從ΜΒ00Τ區(qū)啟動(dòng),具體的,可以根據(jù)需要對(duì)Ah、 Ah_l、Ah_2接入CPLD的管腳的初始值進(jìn)行設(shè)置、如為000時(shí),表明從ΜΒ00Τ區(qū)啟動(dòng)。另夕卜, CPLD通過Ah、Ah_l、Ah_2還可以對(duì)貼片式FLASH芯片進(jìn)行分區(qū),如通常情況下BOOT空間不 超過511,則可以選擇貼片式FLASH芯片最低位的511空間作為ΜΒ00Τ區(qū),最高位的511 空間作為SLB00T區(qū),中間的空間作為APPVER區(qū)。如果需要使用更大的空間來作為APPVER 區(qū),則可以增加CPLD控制貼片式FLASH芯片所使用的高位地址線,這樣可以通過CPLD使用 全部的FLASH芯片空間,避免資源的浪費(fèi)和空間地址不連續(xù)的問題,同時(shí)也不會(huì)給CPLD增 加過多的負(fù)擔(dān)。
基于圖4,初始使用階段中本發(fā)明的更新、備份方法流程如圖5所示,包括以下步 驟步驟501,升級(jí)MBOOT區(qū)的BOOT弓丨導(dǎo)程序,得到最新的BOOT弓丨導(dǎo)程序,并引導(dǎo)CPU啟動(dòng)。本發(fā)明中,嵌入式系統(tǒng)默認(rèn)使用MBOOT區(qū)的BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),此時(shí) CPLD上對(duì)應(yīng)貼片式FLASH芯片最高三位地址線的管腳值為預(yù)設(shè)的初始值、如000 ;當(dāng)需要進(jìn) 行BOOT引導(dǎo)程序的更新、升級(jí)時(shí),只對(duì)ΜΒ00Τ區(qū)的BOOT引導(dǎo)程序進(jìn)行升級(jí),具體的可以采 用現(xiàn)有技術(shù)中通過網(wǎng)管系統(tǒng)進(jìn)行遠(yuǎn)程在線升級(jí)的方法,此處不再贅述。需要指出的是,在BSP調(diào)試階段CPU是依據(jù)插座式FLASH芯片的BOOT引導(dǎo)程序啟 動(dòng)的,因此CPU的硬件配置字與插座式FLASH芯片的數(shù)據(jù)位寬是對(duì)應(yīng)的。但是,插座式FLASH 芯片和貼片式FLASH芯片的數(shù)據(jù)位寬可能不同,如插座式FLASH的數(shù)據(jù)位寬一般是8位,而 貼片式FLASH的數(shù)據(jù)位寬一般是16或8位,因此,當(dāng)插座式FLASH芯片和貼片式FLASH芯 片的數(shù)據(jù)位寬不同時(shí),系統(tǒng)需要先通過控制電路依據(jù)當(dāng)前貼片式FLASH芯片的數(shù)據(jù)位寬設(shè) 置CPU的硬件配置字,然后系統(tǒng)才能讀取ΜΒ00Τ區(qū)的BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng);如果相 同,則不需要設(shè)置配置字,直接讀取ΜΒ00Τ區(qū)的BOOT弓丨導(dǎo)程序弓丨導(dǎo)CPU啟動(dòng)。 當(dāng)對(duì)ΜΒ00Τ區(qū)的BOOT弓丨導(dǎo)程序在線升級(jí)完成后,該嵌入式系統(tǒng)重啟(可以通過遠(yuǎn) 程控制命令來重新啟動(dòng)系統(tǒng)),并使用ΜΒ00Τ區(qū)最新的BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)。步驟502,CPLD判斷引導(dǎo)CPU啟動(dòng)是否成功,如果是,執(zhí)行步驟503 ;如果否,執(zhí)行 步驟507。如果ΜΒ00Τ區(qū)的最新BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)成功,則CPU啟動(dòng)后修改CPLD 寄存器的標(biāo)志位、如根據(jù)需要將該標(biāo)志位設(shè)置為1 ;相應(yīng)的,如果引導(dǎo)CPU啟動(dòng)未成功,此時(shí) CPLD寄存器的標(biāo)志位可以為默認(rèn)值、如0。因此,CPLD根據(jù)自身寄存器的標(biāo)志位值就可判 定引導(dǎo)CPU啟動(dòng)是否成功。較佳地,此處可以預(yù)設(shè)一個(gè)定時(shí)器,因?yàn)镃PU啟動(dòng)需要一段時(shí)間,因此,可以在該 定時(shí)器到時(shí)時(shí),CPLD開始讀取自身的寄存器標(biāo)志位,進(jìn)行引導(dǎo)CPU啟動(dòng)是否成功的判斷。如果引導(dǎo)CPU啟動(dòng)成功,說明此次ΜΒ00Τ區(qū)的BOOT引導(dǎo)程序升級(jí)成功,執(zhí)行步 503 ;否則,說明升級(jí)失敗,執(zhí)行步驟507。步驟503,判斷ΜΒ00Τ區(qū)和SLB00T區(qū)的BOOT引導(dǎo)程序是否一致,如果否,執(zhí)行步驟 504;如果是,執(zhí)行步驟512。CPU依據(jù)ΜΒ00Τ區(qū)最新的BOOT引導(dǎo)程序成功啟動(dòng)后,分別讀取ΜΒ00Τ區(qū)和SLB00T 區(qū)的BOOT弓I導(dǎo)程序,進(jìn)行校驗(yàn)和比較,如果兩者不一致,則執(zhí)行步驟504 ;如果兩者一致,則 執(zhí)行步驟512。步驟504,同步SLB00T區(qū)的BOOT引導(dǎo)程序。CPU依據(jù)ΜΒ00Τ區(qū)最新的BOOT引導(dǎo)程序?qū)LB00T區(qū)的BOOT引導(dǎo)程序進(jìn)行同步、 即對(duì)SLB00T區(qū)的BOOT引導(dǎo)程序進(jìn)行升級(jí)。步驟505,判斷同步是否成功,如果否,執(zhí)行步驟506 ;如果是,執(zhí)行步驟512。
對(duì)SLB00T區(qū)的BOOT弓丨導(dǎo)程序升級(jí)完成后,CPU再對(duì)ΜΒ00Τ區(qū)和SLB00T區(qū)的BOOT 引導(dǎo)程序進(jìn)行校驗(yàn)和比較,如果一致,說明升級(jí)成功,輸出升級(jí)成功信息、如通過外接打印 機(jī)打印Write SlBoot OK ;如果不一致,說明升級(jí)失敗。
步驟506,輸出同步失敗信息。當(dāng)SLBOOT區(qū)的BOOT引導(dǎo)程序升級(jí)失敗后,輸出同步失敗信息、如通過外接打印機(jī) 打印燒錄失敗(Write SlBoot twice failed),然后,執(zhí)行步驟512。步驟507,通過SLBOOT區(qū)的BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)。CPLD根據(jù)自身寄存器的標(biāo)志位確定CPU從MBOOT區(qū)啟動(dòng)失敗后,修改自身對(duì)應(yīng) 貼片式FLASH芯片最高三位地址線的管腳值、如111,系統(tǒng)依據(jù)修改后的管腳值,使CPU從 SLBOOT區(qū)啟動(dòng)。由于SLBOOT中為原始燒結(jié)的BOOT引導(dǎo)程序,且沒有經(jīng)過升級(jí),因此CPU根 據(jù)該BOOT引導(dǎo)程序能夠啟動(dòng)成功,啟動(dòng)成功后,CPU對(duì)CPLD中寄存器的標(biāo)志位的值進(jìn)行修 改、如置為1 ;如果啟動(dòng)失敗,則說明該貼片式FLASH芯片可能損壞。步驟508,判斷ΜΒ00Τ區(qū)和SLB00T區(qū)的BOOT引導(dǎo)程序是否一致,如果否,執(zhí)行步驟 509 ;如果是,執(zhí)行步驟512。該步驟的實(shí)現(xiàn)同步驟503,此處不再贅述。步驟509,回退ΜΒ00Τ區(qū)的BOOT引導(dǎo)程序。因?yàn)棣?0Τ區(qū)的BOOT引導(dǎo)程序升級(jí)失敗,因此,此時(shí)若ΜΒ00Τ區(qū)和SLB00T區(qū)的 BOOT引導(dǎo)程序是不一致,則需要依據(jù)SLB00T區(qū)的BOOT引導(dǎo)程序?qū)Ζ?0Τ區(qū)的BOOT引導(dǎo)程 序進(jìn)行回退,使其恢復(fù)到升級(jí)之前的狀態(tài)。步驟510,判斷回退是否成功,如果否,執(zhí)行步驟511 ;如果是,執(zhí)行步驟512。 對(duì)ΜΒ00Τ區(qū)的BOOT弓丨導(dǎo)程序回退完成后,CPU再對(duì)ΜΒ00Τ區(qū)和SLB00T區(qū)的BOOT 引導(dǎo)程序進(jìn)行校驗(yàn)和比較,如果一致,說明回退成功,輸出回退成功信息、如通過外接打印 機(jī)打印Write MBoot 0K,然后執(zhí)行步驟512 ;如果不一致,說明回退失敗。步驟511,輸出回退失敗信息。當(dāng)ΜΒ00Τ區(qū)的BOOT引導(dǎo)程序回退失敗后,輸出回退失敗信息、如通過外接打印機(jī) 打印燒錄失敗(Write MBoot twice failed),然后,執(zhí)行步驟512。步驟512,CPU加載應(yīng)用程序版本。當(dāng)CPU從ΜΒ00Τ區(qū)、或者從SLB00T區(qū)啟動(dòng)成功后,CPLD將圖4中貼片式FLASH芯 片的最高三位地址線Ah、Ah_l、Ah_2,與CPU上對(duì)應(yīng)的三位地址線C_Ah、C_Ah_l、C_Ah_2連 通,使CPU讀取并加載貼片式FLASH芯片中APPVER區(qū)存儲(chǔ)的系統(tǒng)運(yùn)行的應(yīng)用程序版本。圖5的流程主要是針對(duì)嵌入式系統(tǒng)中B00TR0M、即BOOT引導(dǎo)程序的升級(jí),其中,貼 片式FLAH芯片中ΜΒ00Τ區(qū)和SLB00T區(qū)的BOOT引導(dǎo)程序互為主備,當(dāng)ΜΒ00Τ區(qū)的BOOT引 導(dǎo)程序升級(jí)失敗時(shí),可以從備用的SLB00T區(qū)的BOOT引導(dǎo)程序啟動(dòng)CPU,并恢復(fù)升級(jí)失敗的 ΜΒ00Τ區(qū)的BOOT引導(dǎo)程序,因此,提高了 B00TR0M遠(yuǎn)程升級(jí)的可靠性,同時(shí)也提高了嵌入式 系統(tǒng)的可維護(hù)性。在初始使用階段以及后續(xù)的正常使用階段中,CPU啟動(dòng)后,也可以進(jìn)行CPLD的在 線升級(jí)。在升級(jí)CPLD的過程中,也需要保證嵌入式系統(tǒng)運(yùn)行正常,為此,本發(fā)明提供一種 CPLD在線升級(jí)的方法,該方法同步驟202中對(duì)CPLD在線升級(jí)的方法,此處不再贅述。另外,基于本發(fā)明的方法,當(dāng)嵌入式系統(tǒng)進(jìn)入正常使用狀態(tài)時(shí),根據(jù)實(shí)際需要,CPU 可以依賴CPLD選擇從ΜΒ00Τ區(qū)、或者SLB00T區(qū)啟動(dòng),具體的,由CPLD根據(jù)實(shí)際情況確定由 ΜΒ00Τ區(qū)的BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)時(shí),將自身對(duì)應(yīng)貼片式芯片最高三位地址線的管腳 值進(jìn)行設(shè)置、如000 ;當(dāng)確定由SLB00T區(qū)的BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)時(shí),對(duì)上述管腳值進(jìn)行設(shè)置、如111。為了實(shí)現(xiàn)上述升級(jí)、備份方法,本發(fā)明提供了一種嵌入式系統(tǒng)的升級(jí)、備份裝置, 如圖6所示,該裝置包括插座式FLASH芯片10、貼片式FLASH芯片20、CPU 30和CPLD 40, 其中插座式FLASH芯片10,用于在BSP調(diào)試階段,通過自身的BOOT引導(dǎo)程序引導(dǎo)CPU 30啟動(dòng);貼片式FLASH芯片20,用于在初始使用階段,通過自身升級(jí)后的主BOOT引導(dǎo)程序 引導(dǎo)CPU 30啟動(dòng);還用于,在CPU 30啟動(dòng)失敗時(shí),通過備BOOT引導(dǎo)程序引導(dǎo)CPU 30啟動(dòng);CPU 30,用于在BSP調(diào)試階段自身啟動(dòng)后,對(duì)CPLD 40進(jìn)行在線升級(jí);還用于在升 級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)自身啟動(dòng)成功時(shí)、或者備BOOT引導(dǎo)程序引導(dǎo)自身啟動(dòng)成功時(shí), 加載應(yīng)用程序版本;CPLD 40,用于在BSP調(diào)試階段,CPU 30啟動(dòng)成功后進(jìn)行在線升級(jí)。該裝置可以包括一個(gè)控制電路50,用于在BSP調(diào)試階段選擇由插座式FLASH芯片 10的BOOT引導(dǎo)程序引導(dǎo)CPU 30啟動(dòng)。CPLD 40,在自身的在線升級(jí)完成后,進(jìn)一步用于將貼片式FLASH芯片20劃分為主 BOOT區(qū)、程序區(qū)和備BOOT區(qū);在初始使用階段,還用于確定由主BOOT引導(dǎo)程序引導(dǎo)CPU 30 啟動(dòng);并在升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU 30啟動(dòng)時(shí),判斷引導(dǎo)CPU 30啟動(dòng)是否成功;相應(yīng)的,升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU 30啟動(dòng)成功時(shí),CPU 30進(jìn)一步用于, 確定升級(jí)后的主BOOT引導(dǎo)程序和備BOOT引導(dǎo)程序不一致時(shí),依據(jù)升級(jí)后的主BOOT引導(dǎo)程 序?qū)銪OOT引導(dǎo)程序進(jìn)行同步,并在同步成功時(shí),讀取程序區(qū)中的應(yīng)用程序版本并加載;相應(yīng)的,升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU 30啟動(dòng)失敗時(shí),CPLD 40進(jìn)一步用于, 選擇由備BOOT引導(dǎo)程序引導(dǎo)CPU 30啟動(dòng)。備BOOT引導(dǎo)程序引導(dǎo)CPU 30啟動(dòng)成功時(shí),CPU 30進(jìn)一步用于,確定升級(jí)后的主 BOOT弓I導(dǎo)程序和備BOOT弓I導(dǎo)程序不一致時(shí),依據(jù)備BOOT弓|導(dǎo)程序?qū)ι?jí)后的主BOOT弓丨導(dǎo) 程序進(jìn)行回退,并在回退成功后,讀取程序區(qū)中的應(yīng)用程序版本并加載。在初始使用階段,CPU 30啟動(dòng)成功后,CPU 30進(jìn)一步用于,對(duì)CPLD 40進(jìn)行在線升級(jí)。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,該方法包括在板級(jí)支持包(BSP)調(diào)試階段,由插座式閃存(FLASH)芯片中的BOOT引導(dǎo)程序引導(dǎo)中 央處理單元(CPU)啟動(dòng),并通過CPU對(duì)可編程邏輯器件(CPLD)進(jìn)行在線升級(jí);在初始使用階段,對(duì)貼片式FLASH芯片中的主BOOT引導(dǎo)程序進(jìn)行升級(jí),并由升級(jí)后的 所述主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),并在CPU啟動(dòng)成功時(shí),CPU加載應(yīng)用程序版本;在CPU 啟動(dòng)失敗時(shí),由備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),并在CPU啟動(dòng)成功時(shí),CPU加載應(yīng)用程序版 本。
2.根據(jù)權(quán)利要求1所述嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,在BSP調(diào)試階段, 該方法進(jìn)一步包括通過控制電路選擇由插座式FLASH芯片中的BOOT弓丨導(dǎo)程序弓丨導(dǎo)CPU啟 動(dòng),進(jìn)行所述BSP調(diào)試。
3.根據(jù)權(quán)利要求2所述嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,所述CPLD在線升級(jí) 完成后,該方法進(jìn)一步包括重新啟動(dòng)嵌入式系統(tǒng),通過所述CPLD將所述貼片式FLASH芯片 劃分為主BOOT區(qū)、程序區(qū)和備BOOT區(qū)。
4.根據(jù)權(quán)利要求3所述嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,在進(jìn)行BSP調(diào)試時(shí), 該方法還包括所述插座式FLASH芯片將自身的BOOT弓|導(dǎo)程序燒結(jié)到所述貼片式FLASH芯 片的主BOOT區(qū)和備BOOT區(qū),得到所述主BOOT引導(dǎo)程序和備BOOT引導(dǎo)程序。
5.根據(jù)權(quán)利要求4所述嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,在初始使用階段, 通過所述CPLD確定由主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng);所述由升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)時(shí),該方法進(jìn)一步包括CPLD根據(jù)自身 寄存器的標(biāo)志位的值判斷所述引導(dǎo)CPU啟動(dòng)是否成功。
6.根據(jù)權(quán)利要求5所述嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,CPLD判定所述弓I導(dǎo) CPU啟動(dòng)成功時(shí),該方法進(jìn)一步包括所述CPU讀取所述升級(jí)后的主BOOT引導(dǎo)程序和備BOOT引導(dǎo)程序,并進(jìn)行校驗(yàn)和比 較,并在所述升級(jí)后的主BOOT弓丨導(dǎo)程序和備BOOT弓丨導(dǎo)程序不一致時(shí),依據(jù)所述升級(jí)后的主 BOOT引導(dǎo)程序?qū)λ鰝銪OOT引導(dǎo)程序進(jìn)行同步,并在同步成功時(shí),所述CPU讀取程序區(qū)中 的應(yīng)用程序版本并加載。
7.根據(jù)權(quán)利要求5所述嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,CPLD判定所述弓I導(dǎo) CPU啟動(dòng)失敗時(shí),該方法進(jìn)一步包括所述CPLD選擇由備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),并 在啟動(dòng)成功時(shí),由所述CPU修改所述寄存器的標(biāo)志位的值。
8.根據(jù)權(quán)利要求7所述嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,依據(jù)所述寄存器的 標(biāo)志位的值所述備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)成功時(shí),該方法進(jìn)一步包括所述CPU讀取所述升級(jí)后的主BOOT引導(dǎo)程序和備BOOT引導(dǎo)程序,并進(jìn)行校驗(yàn)和比較, 并在所述升級(jí)后的主BOOT弓I導(dǎo)程序和備BOOT弓I導(dǎo)程序不一致時(shí),依據(jù)所述備BOOT弓|導(dǎo)程 序?qū)λ錾?jí)后的主BOOT引導(dǎo)程序進(jìn)行回退,并在回退成功后,所述CPU讀取程序區(qū)中的 應(yīng)用程序版本并加載。
9.根據(jù)權(quán)利要求1至8任一所述嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,在初始使 用階段所述CPU啟動(dòng)成功后,該方法進(jìn)一步包括通過CPU對(duì)CPLD進(jìn)行在線升級(jí)。
10.根據(jù)權(quán)利要求9所述嵌入式系統(tǒng)的升級(jí)、備份方法,其特征在于,所述BSP調(diào)試階段 和所述初始使用階段中,通過CPU對(duì)CPLD進(jìn)行在線升級(jí),具體為利用遠(yuǎn)端網(wǎng)管設(shè)備通過業(yè)務(wù)通道或者管理通道和本地設(shè)備建立通訊連接; 通過加載控制單元把遠(yuǎn)端服務(wù)器文件下載到本地設(shè)備的文件系統(tǒng)中; 通過CPU的通用可編程輸入/輸出(I/O) 口模擬聯(lián)合測(cè)試行為組織(JTAG)下載接口, 并通過所述JTAG下載接口對(duì)所述CPLD進(jìn)行升級(jí)文件的在線升級(jí);加載CPLD版本到隨機(jī)存儲(chǔ)器(RAM)中,并重新啟動(dòng)嵌入式系統(tǒng),完成CPLD的在線升級(jí)。
11.一種嵌入式系統(tǒng)的升級(jí)、備份裝置,其特征在于,該裝置包括插座式FLASH芯片、 貼片式FLASH芯片、CPU和CPLD,其中所述插座式FLASH芯片,用于在BSP調(diào)試階段,通過自身的BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng);所述貼片式FLASH芯片,用于在初始使用階段,通過自身升級(jí)后的主BOOT引導(dǎo)程序引 導(dǎo)CPU啟動(dòng);還用于,在CPU啟動(dòng)失敗時(shí),通過備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng);所述CPU,用于在BSP調(diào)試階段自身啟動(dòng)后,對(duì)所述CPLD進(jìn)行在線升級(jí);還用于在所述 升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)自身啟動(dòng)成功時(shí)、或者備BOOT引導(dǎo)程序引導(dǎo)自身啟動(dòng)成功 時(shí),加載應(yīng)用程序版本;所述CPLD,用于在BSP調(diào)試階段,CPU啟動(dòng)成功后進(jìn)行在線升級(jí)。
12.根據(jù)權(quán)利要求11所述嵌入式系統(tǒng)的升級(jí)、備份裝置,其特征在于,該裝置進(jìn)一步包 括控制電路,用于在BSP調(diào)試階段選擇由所述插座式FLASH芯片的BOOT弓丨導(dǎo)程序引導(dǎo)CPU 啟動(dòng)。
13.根據(jù)權(quán)利要求11所述嵌入式系統(tǒng)的升級(jí)、備份裝置,其特征在于,所述CPLD,在自身的在線升級(jí)完成后,進(jìn)一步用于將所述貼片式FLASH芯片劃分為主 BOOT區(qū)、程序區(qū)和備BOOT區(qū);在初始使用階段,還用于確定由主BOOT弓丨導(dǎo)程序引導(dǎo)CPU啟 動(dòng);并在所述升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)時(shí),用于判斷所述引導(dǎo)CPU啟動(dòng)是否 成功;相應(yīng)的,所述升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)成功時(shí),所述CPU進(jìn)一步用于,確 定所述升級(jí)后的主BOOT引導(dǎo)程序和備BOOT引導(dǎo)程序不一致時(shí),依據(jù)所述升級(jí)后的主BOOT 引導(dǎo)程序?qū)λ鰝銪OOT引導(dǎo)程序進(jìn)行同步,并在同步成功時(shí),讀取程序區(qū)中的應(yīng)用程序版 本并加載;相應(yīng)的,所述升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)失敗時(shí),所述CPLD進(jìn)一步用于, 選擇由備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng)。
14.根據(jù)權(quán)利要求13所述嵌入式系統(tǒng)的升級(jí)、備份裝置,其特征在于,所述備BOOT引導(dǎo) 程序引導(dǎo)CPU啟動(dòng)成功時(shí),所述CPU進(jìn)一步用于,確定所述升級(jí)后的主BOOT引導(dǎo)程序和備 BOOT引導(dǎo)程序不一致時(shí),依據(jù)所述備BOOT引導(dǎo)程序?qū)λ錾?jí)后的主BOOT引導(dǎo)程序進(jìn)行 回退,并在回退成功后,讀取程序區(qū)中的應(yīng)用程序版本并加載。
15.根據(jù)權(quán)利要求13所述嵌入式系統(tǒng)的升級(jí)、備份裝置,其特征在于,在初始使用階段 所述CPU啟動(dòng)成功后,所述CPU進(jìn)一步用于,對(duì)所述CPLD進(jìn)行在線升級(jí)。
全文摘要
本發(fā)明公開了一種嵌入式系統(tǒng)的升級(jí)、備份方法和裝置,包括在板級(jí)支持包(BSP)調(diào)試階段,由插座式閃存(FLASH)芯片中的BOOT引導(dǎo)程序引導(dǎo)中央處理單元(CPU)啟動(dòng),并通過CPU對(duì)可編程邏輯器件(CPLD)進(jìn)行在線升級(jí);在初始使用階段,對(duì)貼片式FLASH芯片中的主BOOT引導(dǎo)程序進(jìn)行升級(jí),并由升級(jí)后的主BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),并在CPU啟動(dòng)成功時(shí),CPU加載應(yīng)用程序版本;在CPU啟動(dòng)失敗時(shí),由備BOOT引導(dǎo)程序引導(dǎo)CPU啟動(dòng),并在CPU啟動(dòng)成功時(shí),CPU加載應(yīng)用程序版本。通過本發(fā)明可以實(shí)現(xiàn)嵌入式系統(tǒng)可靠、簡(jiǎn)單方便且成本低廉的升級(jí)。
文檔編號(hào)G06F11/14GK102073517SQ20091023823
公開日2011年5月25日 申請(qǐng)日期2009年11月23日 優(yōu)先權(quán)日2009年11月23日
發(fā)明者何瑞金, 潘杰, 邱煒 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南陵县| 长泰县| 天台县| 沛县| 汝南县| 乌海市| 仁寿县| 永顺县| 会昌县| 黄浦区| 沧州市| 江川县| 永康市| 新闻| 大港区| 桓台县| 铜陵市| 手机| 景泰县| 将乐县| 湄潭县| 溆浦县| 福建省| 沂南县| 哈尔滨市| 广德县| 本溪| 潞西市| 溆浦县| 汉阴县| 玉溪市| 凤山县| 河西区| 和平区| 都昌县| 盐津县| 甘孜县| 家居| 邵武市| 大连市| 池州市|