嵌入式設(shè)備遠(yuǎn)程在線升級技術(shù)的研究
摘要:介紹了嵌入式系統(tǒng)遠(yuǎn)程在線升級的工作原理,并詳細(xì)闡述了系統(tǒng)硬件平臺及軟件的設(shè)計原理,提出了基于Internet通信方式的嵌入式系統(tǒng)遠(yuǎn)程在線升級的方案,并對該方案進(jìn)行了測試,測試結(jié)果表明:該方案具有較高的升級成功率和較快的升級速度。
關(guān)鍵詞:在線升級;TCP通信協(xié)議;嵌入式系統(tǒng);在應(yīng)用編程
隨著電子技術(shù)、通信技術(shù)以及計算機技術(shù)的迅猛發(fā)展,嵌入式系統(tǒng)已經(jīng)廣泛應(yīng)用于各領(lǐng)域,各種行業(yè)對嵌入式設(shè)備的系統(tǒng)功能、性能以及規(guī)模的要求都在日益提高,開發(fā)者必須能夠針對客戶的需求及時對系統(tǒng)進(jìn)行維護和升級,以延長系統(tǒng)的使用周期,改善系統(tǒng)的性能。目前遠(yuǎn)程升級方式主要有:采用Boot加雙Loader的結(jié)構(gòu)式設(shè)計實現(xiàn)系統(tǒng)的完整升級、基于TFTP(Trivial File Transfer Protocol)協(xié)議的ARM軟件遠(yuǎn)程更新系統(tǒng)等。筆者對基于LM3S6965微控制器的嵌入式系統(tǒng)軟件遠(yuǎn)程在線升級技術(shù)進(jìn)行研究,并提出了一種已成功驗證的在線升級實現(xiàn)方法,該方法對減少嵌入式設(shè)備的維護成本、提高設(shè)備的工作效率具有很重要的現(xiàn)實意義。
1 嵌入式系統(tǒng)功能及在線升級原理
1.1 嵌入式系統(tǒng)的功能
嵌入式系統(tǒng)的運行主要分為工作模式和升級模式,其中工作模式為默認(rèn)模式,工作模式指設(shè)備正常工作狀態(tài),嵌入式系統(tǒng)按預(yù)定的程序完成相應(yīng)的測控任務(wù),并且通過internet、GPRS等方式向監(jiān)控管理中心上報監(jiān)測參數(shù)。升級模式是指嵌入式處于升級狀態(tài),包括接收服務(wù)器發(fā)送的程序代碼,以及在flash區(qū)域固化程序代碼等。
1.2 遠(yuǎn)程在線升級原理
整個升級系統(tǒng)主要由服務(wù)器和遠(yuǎn)程終端組成,其中遠(yuǎn)程終端包括基于ARM內(nèi)核的嵌入式控制芯片和Modem模塊。二者之間通過RS232總線連接,服務(wù)器與遠(yuǎn)程終端通過Internet進(jìn)行通信。系統(tǒng)結(jié)構(gòu)如圖1所示。
服務(wù)器作為軟件升級任務(wù)的主動發(fā)起者,首先向嵌入式系統(tǒng)發(fā)送升級命令,嵌入式系統(tǒng)在硬件啟動后,首先執(zhí)行引導(dǎo)程序Bootloader進(jìn)行一系列的初始化操作,同時選擇執(zhí)行升級控制程序,待服務(wù)器接收到嵌入式系統(tǒng)的確認(rèn)升級回復(fù)后即開始發(fā)送升級程序代碼,在發(fā)送升級程序代碼前,服務(wù)器會將這些代碼拆分成固定長度的多個數(shù)據(jù)單元,以每個數(shù)據(jù)單元為核心組成數(shù)據(jù)包(數(shù)據(jù)包內(nèi)容包含數(shù)據(jù)包頭標(biāo)志、命令頭、包序列、數(shù)據(jù)單元、CRC校驗碼、數(shù)據(jù)包尾標(biāo)志、總包數(shù)等),嵌入式系統(tǒng)每接收到一個數(shù)據(jù)包,都將返回確認(rèn)信息,若數(shù)據(jù)包校驗無誤,則在規(guī)定的FLASH區(qū)域進(jìn)行舊程序的擦除以及新程序的復(fù)制,從而達(dá)到遠(yuǎn)程終端的嵌入式系統(tǒng)軟件的在線升級目的。在線升級實現(xiàn)流程如圖2所示。
2 嵌入式系統(tǒng)在線升級的設(shè)計
2.1 硬件平臺
筆者設(shè)計的嵌入式系統(tǒng),其硬件結(jié)構(gòu)主要包括一個片外EEPROM、微處理器LM3S6965及相應(yīng)的接口電路。LM3S6965處理器是Luminary Micro公司生產(chǎn)的Stellaris系列微控制器,該芯片內(nèi)部具有256 kB FLASH和64 kB SRAM,LM3S6965芯片能夠提供高效的性能,廣泛的集成功能,適用于各種關(guān)注成本并明確要求具有過程控制以及連接能力的應(yīng)用方案,此微處理器是針對工業(yè)的應(yīng)用方案而設(shè)計的,這些方案包括遠(yuǎn)程監(jiān)控、測試和測量設(shè)備等。
評論