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