[發明專利]一種物聯網設備程序升級的方法有效
| 申請號: | 201811186498.X | 申請日: | 2018-10-12 |
| 公開(公告)號: | CN109189445B | 公開(公告)日: | 2022-03-15 |
| 發明(設計)人: | 潘進 | 申請(專利權)人: | 武漢微智創大科技有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 430074 湖北省武漢市東湖新技術開發區光谷*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 聯網 設備 程序 升級 方法 | ||
1.一種物聯網設備程序升級的方法,其特征在于:它包括升級發送設備和升級接收設備;升級發送設備與升級接收設備無線或有線連接;升級發送設備存儲待升級的新程序,通過有線通信接口或者無線通信接口將待升級的新程序發送到升級接收設備中,用于升級接收設備的程序更新升級;
升級接收設備通過有線通信接口或者無線通信接口接收新程序代碼,通過內部的程序升級啟動機制、程序升級代碼復制擦寫機制、新程序啟動確認機制、升級失敗錯誤處理機制進行新程序的升級和程序升級的異常處理;
所述升級發送設備和升級接收設備包括:一、設備程序運行CPU處理器,用于物聯網設備程序的運行;二、程序存儲器用于存儲升級發送設備發送過來的新程序;三、通信接口用于從升級發送設備接收待升級的新程序;
所述CPU處理器中的內部程序空間劃分為三個部分:一、BOOT啟動代碼空間,用于存儲物聯網設備的程序啟動和程序升級;二、APP_RUN程序代碼空間,用于存儲物聯網設備運行的APP應用程序,完成物聯網設備功能執行;三、CONFIG參數配置空間,用于存儲物聯網設備在進行升級過程中的程序升級狀態和標志,便于判斷新程序升級是否成功,是否需要回退到原始的舊的程序中;
所述程序存儲器空間劃分為三個APP部分:一、APP_FACTORY,用于存儲物聯網設備出廠時的應用程序代碼,該存儲空間為只讀保護模式,不可擦除和修改;二、APP1、APP2,用于交替存儲升級過程中新的應用程序代碼,若當前運行的程序放在APP1區時,則新的升級程序存儲到APP2區;升級完成后重啟,運行存放在APP2區的程序,再次進行新的升級時,新程序放在APP1區;以此類推交替使用APP1和APP2區作為當前應用程序和新升級程序的存儲區,該存儲空間內容可以擦除、修改、重寫;所述程序存儲器空間存儲的三個APP空間包括升級程序頭部和程序二進制內容兩個部分;空間大小為CPU處理器中的內部程序空間中的APP_RUN程序代碼空間大小+4K Byte;其中升級程序頭部大小為512~4096Byte,默認取值為512Byte;
所述程序存儲器空間存儲的三個APP空間的程序二進制內容,用于存儲設備程序升級的可執行的二進制代碼;所述程序存儲器空間存儲的三個APP空間的升級程序頭部格式為:
(a)、Head,用于表示APP空間的起始部分,固定取值為兩個0xFFFFFFFF,占用8Byte;
(b)、AppLen,存儲程序二進制內容的字節長度,占用8Byte,前4Byte存儲長度值,后4Byte存儲長度值的二進制取反;
(c)、AppCRC,存儲程序二進制內容的CRC校驗碼,用于校驗程序二進制文件是否正確,占用4Byte,前2Byte存儲校驗碼,后2Byte存儲校驗碼實際值的二進制取反;
(d)、AppVer,存儲程序二進制內容中的APP程序的版本信息,便于進行APP程序版本管理,占用8Byte;
(e)、保留,占用228 Byte空間,用于保證程序代碼存儲格式的空間對齊以及后續升級程序二進制內容的擴展標識使用,可以擴展存儲程序二進制文件的文件名、程序升級的時間、程序應用的設備類型等;
(f)、數據塊標志,在進行升級程二進制數據傳輸過程中,用于記錄數據塊的正確性,每一個bit表示一個數據塊,取值為0時表明該數據塊不可用,取值為1是表明該數據塊正確寫入APP空間并校驗正確;
所述物聯網設備程序升級包括:(a)、程序升級代碼傳輸校驗機制;(b)、程序升級代碼啟動運行機制;(c)、程序升級代碼擦寫復制機制;(d)、程序升級代碼啟動確認機制;(e)、升級失敗錯誤檢查機制共5個步驟;其中程序升級代碼傳輸及校驗機制、程序升級代碼啟動確認機制2個機制在APP_RUN程序代碼中執行,程序升級代碼傳輸校驗機制、程序升級代碼啟動運行機制、程序升級代碼擦寫復制機制、升級失敗錯誤檢查機制4個機制在BOOT啟動代碼中執行;
所述升級發送設備向升級接收設備發送新升級程序二進制數據,在有線通信接口進行新程序升級時,采用Ymodem數據傳輸協議進行數據傳輸,在無線通信接口進行新程序升級時,采用TFTP數據傳輸協議或者采用自定義數據塊的方式進行數據傳輸;自定義數據塊進行數據傳輸可以連續傳輸也可以間斷性傳輸,升級發送設備每傳輸若干個數據塊后,升級接收設備對數據塊進行校驗后會給升級發送設備接收確認信號,保證每個數據塊的正確性;
所述程序升級代碼啟動確認機制,用于新程序功能自檢,新程序功能自檢通過后,將FailCnt參數賦值為0,以進行新程序啟動確認,新程序功能自檢包含程序版本信息檢測、硬件功能檢測、軟件功能檢測、通信指令檢測四個部分;新程序啟動確認分為程序自動確認和遠程管理通信確認兩種模式;程序自動確認是對版本信息檢測、硬件功能檢測、軟件功能檢測、通信指令檢測四個部分全部進行檢測正確無誤后來進行新程序啟動確認;遠程管理通信確認是通過與遠程管理服務器進行通信,由遠程管理服務器來進行新程序啟動確認。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢微智創大科技有限公司,未經武漢微智創大科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811186498.X/1.html,轉載請聲明來源鉆瓜專利網。





