一種遠程升級無線模塊固件的方法
【專利摘要】本發明的目的在于公開一種遠程升級無線模塊固件的方法,它包括如下步驟:(1)壓縮;(2)增添偽文件頭;(3)下載;(4)解壓并升級;與現有技術相比,采用開源的zip壓縮技術將升級包壓縮后通過服務器下載到模塊,然后在模塊內部解壓,同時升級,流量費遠遠小于交給FOTA供應商的費用,且由模塊廠商掌握,可以直接給模塊客戶提供服務,實現本發明的目的。
【專利說明】一種遠程升級無線模塊固件的方法
【技術領域】
[0001]本發明涉及一種升級無線模塊固件的方法,特別涉及一種遠程升級無線模塊固件的方法。
【背景技術】
[0002]目前,無線通訊模塊的固件遠程升級方案主要有兩種:
第一種方案,AP (應用處理器)端通過模塊的GPRS網絡下載無線通訊模塊的固件,經串口接收保存到AP端的存儲器,然后再按固件升級協議通過串口給無線通訊模塊升級。
[0003]第二種方案,首先無線通訊模塊需要合入需付License費用的FOTA技術(目前都掌握在外企手中,如惠普),無線通訊模塊的固件被分解成許多獨立的分片,需要升級的分片交給FOTA技術供應商,由他們去計算分析差分數據,并由他們的服務器下載到無線通訊模塊(需另行按件付費),無線通訊模塊然后自行升級。
[0004]第一種方案的缺點在于:需下載整個無線通訊模塊的固件,對于GPRS網絡來說,流量大和下載時間長,對AP端來說,需要提供較大的RAM或ROM保存固件,同時還要開發固件升級協議,開發難度大,調試周期長,而且每個使用無線通訊模塊的廠商都要開發一次,無疑是極大的人力資源浪費,另外串口通訊還存在誤碼的風險。
[0005]第二種方案的缺點在于:需要無線通訊模塊通訊芯片供應商集成FOTA技術,而由無線通訊模塊廠商交付昂貴的License費用以及后續升級服務費給壟斷FOTA技術的外企,此外每次固件升級的流程比較繁瑣,需要由無線通訊模塊廠商提供固件給FOTA供應商,再知會無線通訊模塊客戶升級固件。
[0006]因此,特別需要一種遠程升級無線模塊固件的方法,已解決上述現有存在的問題。
【發明內容】
[0007]本發明的目的在于提供一種遠程升級無線模塊固件的方法,針對現有技術的不足,降低下載時對流量的消耗,有效地降低對flash空間的需要,同時也降低對RAM的消耗。
[0008]本發明所解決的技術問題可以采用以下技術方案來實現:
一種遠程升級無線模塊固件的方法,其特征在于,它包括如下步驟:
(1)壓縮:通過壓縮算法對升級包進行壓縮;
(2)增添偽文件頭:偽文件頭用于存放壓縮后的升級包的MD5、文件名和文件大小等基本信息,偽文件頭與壓縮后的升級包合并在一起形成真正的升級包;
(3)下載:通過下載協議下載壓縮后的升級包并存放在升級包區域,下載后,對升級包的內容做MD5校驗,MD5校驗成功后,置升級包下載成功標志并記錄其必要的信息,重啟進行升級;
(4 )解壓并升級:讀取壓縮算法從而確定解壓縮的算法對壓縮后的升級包進行解壓縮,擦除系統區域,開始邊解壓邊升級,升級成功后,寫升級成功標記并擦除升級包區域,重啟并完成升級。[0009]在本發明的一個實施例中,所述壓縮算法為ZIP壓縮算法。
[0010]在本發明的一個實施例中,所述必要的信息包括文件的大小、文件名、壓縮算法和MD5 值。
[0011]在本發明的一個實施例中,壓縮后的升級包的MD5通過偽隨機分散(不連續)存放在整個偽文件頭中;一方面用以確保下載的文件不出現差錯,另一方面用以防止人為的偽造升級包。
[0012]在本發明的一個實施例中,在正式升級之前,需要再次校驗升級包的MD5值,校驗比對一致則進行升級,以保證數據的有效性(如防止物理損傷或Flash讀異常)。
[0013]本發明的遠程升級無線模塊固件的方法,與現有技術相比,采用開源的zip壓縮技術將升級包壓縮后通過服務器下載到模塊,然后在模塊內部解壓,同時升級,流量費遠遠小于交給FOTA供應商的費用,且由模塊廠商掌握,可以直接給模塊客戶提供服務,實現本發明的目的。
[0014]本發明的特點可參閱本案圖式及以下較好實施方式的詳細說明而獲得清楚地了解。
【專利附圖】
【附圖說明】
[0015]圖1為本發明的Flash容量的分布示意圖;
圖2為本發明的壓縮和下載的流程示意圖;
圖3為本發明的解壓并升級的流程示意圖。
【具體實施方式】
[0016]為了使本發明實現的技術手段、創作特征、達成目的與功效易于明白了解,下面結合具體圖示,進一步闡述本發明。
[0017]如圖2和圖3所示,本發明的遠程升級無線模塊固件的方法,它包括如下步驟:
(1)壓縮:通過壓縮算法對升級包進行壓縮;
(2)增添偽文件頭:偽文件頭用于存放壓縮后的升級包的MD5、文件名和文件大小等基本信息,偽文件頭與壓縮后的升級包合并在一起形成真正的升級包;
(3)下載:通過下載協議下載壓縮后的升級包并存放在升級包區域,下載后,對升級包的內容做MD5校驗,MD5校驗成功后,置升級包下載成功標志并記錄其必要的信息,重啟進行升級;
(4 )解壓并升級:讀取壓縮算法從而確定解壓縮的算法對壓縮后的升級包進行解壓縮,擦除系統區域,開始邊解壓邊升級,升級成功后,寫升級成功標記并擦除升級包區域,重啟并完成升級。
[0018]為降低下載時對流量的消耗同時有效地降低對Flash空間(如圖1所示)的需要和也降低對RAM的消耗,本發明的遠程升級無線模塊固件的方法中,2M的升級包區域用來臨時存放系統升級包,5M的系統區域為需要升級的區域,IM的系統引導區。
[0019]在本發明中,所述壓縮算法為ZIP壓縮算法。
[0020]在本發明中,壓縮后的升級包的MD5通過偽隨機分散(不連續)存放在整個偽文件頭中;一方面用以確保下載的文件不出現差錯,另一方面用以防止人為的偽造升級包。[0021]在本發明中,所述必要的信息包括文件的大小、文件名、壓縮算法和MD5值。
[0022]在本發明中,在正式升級之前,需要再次校驗升級包的MD5值,校驗比對一致則進行升級,以保證數據的有效性(如防止物理損傷或Flash讀異常)。
[0023]以上顯示和描述了本發明的基本原理和主要特征和本發明的優點。本行業的技術人員應該了解,本發明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發明的原理,在不脫離本發明精神和范圍的前提下,本發明還會有各種變化和改進,這些變化和改進都落入要求保護的本發明范圍內,本發明要求保護范圍由所附的權利要求書及其等效物界定。
【權利要求】
1.一種遠程升級無線模塊固件的方法,其特征在于,它包括如下步驟: (1)壓縮:通過壓縮算法對升級包進行壓縮; (2)增添偽文件頭:偽文件頭用于存放壓縮后的升級包的MD5、文件名和文件大小等基本信息,偽文件頭與壓縮后的升級包合并在一起形成真正的升級包; (3)下載:通過下載協議下載壓縮后的升級包并存放在升級包區域,下載后,對升級包的內容做MD5校驗,MD5校驗成功后,置升級包下載成功標志并記錄其必要的信息,重啟進行升級; (4 )解壓并升級:讀取壓縮算法從而確定解壓縮的算法對壓縮后的升級包進行解壓縮,擦除系統區域,開始邊解壓邊升級,升級成功后,寫升級成功標記并擦除升級包區域,重啟并完成升級。
2.如權利要求1所述的遠程升級無線模塊固件的方法,其特征在于,所述壓縮算法為ZIP壓縮算法。
3.如權利要求1所述的遠程升級無線模塊固件的方法,其特征在于,壓縮后的升級包的MD5通過偽隨機分散(不連續)存放在整個偽文件頭中。
4.如權利要求1所述的遠程升級無線模塊固件的方法,其特征在于,所述必要的信息包括文件的大小、 文件名、壓縮算法和MD5值。
5.如權利要求1所述的遠程升級無線模塊固件的方法,其特征在于,在正式升級之前,需要再次校驗升級包的MD5值,校驗比對一致則進行升級,以保證數據的有效性。
【文檔編號】G06F9/445GK103902309SQ201210577923
【公開日】2014年7月2日 申請日期:2012年12月27日 優先權日:2012年12月27日
【發明者】唐濤, 吳恩越, 向健華, 朱東鵬, 鐘明, 劉忠文, 姜雷, 張華明, 陳萬如, 桂軍軍, 李志華, 孫銳, 孫振華, 王宏宇, 吳曉婧 申請人:龍尚智聯通信科技(上海)有限公司