[發明專利]固件升級方法、設備及存儲介質有效
| 申請號: | 201810379308.X | 申請日: | 2018-04-25 |
| 公開(公告)號: | CN108804118B | 公開(公告)日: | 2023-06-09 |
| 發明(設計)人: | 劉虎 | 申請(專利權)人: | 順豐科技有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65;H04L67/06 |
| 代理公司: | 北京瑞盟知識產權代理有限公司 11300 | 代理人: | 劉昕 |
| 地址: | 518000 廣東省深圳市南山區學府路(以南)*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 升級 方法 設備 存儲 介質 | ||
本發明提供一種固件升級方法、設備和存儲介質,該方法包括以下步驟:使設備進入啟動區,讀取升級信息區的升級信息;根據所述升級信息判斷有無下載完成的升級數據包,若無,跳轉至代碼區運行原有固件程序,并開啟設備的無線數據收發端口,接收并保存升級數據包至升級數據區;根據所述接收的升級數據包,更新升級信息區的升級信息;判斷所述升級數據包是否接收完成,若是,使設備進入啟動區,讀取所述更新后的升級信息區的升級信息;擦除所述代碼區原有固件程序,將所述升級數據區的升級數據包復制至代碼區,運行升級后的固件程序。通過本發明能夠實現設備的無線升級,設備復位后,并可同時運行下載升級數據包和原固件程序。
技術領域
本發明涉及電子信息技術領域。
背景技術
隨著計算機信息技術的不斷發展,嵌入式系統在社會的各個領域都有廣泛應用。由于用戶的要求越來越高,嵌入式設備的功能也變得越來越強大,軟件越來越復雜,固件版本也在不斷的更新。
而固件升級一般的方法的程序運行區域分為代碼區和Boot區。設備復位后通過啟動選擇項進入Boot區。Boot區負責擦除代碼區的原固件,接收新固件數據并寫到代碼區。固件更新完成后重新啟動設備,然后通過啟動選項進入代碼區,運行新版本固件。
目前的技術主要存在如下問題:
1.上述方法造成設備在更新程序時,無法運行設備功能程序。
2.Boot區代碼固定,只能使用既定的方式下載升級包,無法進行空中升級。
3.固件更新必須是一次性完成,中途出現接收或者寫入失敗,只能重新更新一次。
4.在更新時,原固件已擦除,若更新未成功,設備無法運行。
發明內容
為了解決上述問題,本發明提供了一種固件升級方法、設備和存儲介質,在設備復位后,直接進入啟動區進行升級確認,再自動進入代碼區運行固件程序,在下載升級包的同時運行原固件程序。
本發明涉及的設備的固件升級方法,包括以下步驟:使設備進入啟動區,讀取升級信息區的升級信息;根據所述升級信息判斷有無下載完成的升級數據包,若無,跳轉至代碼區運行原有固件程序,并開啟設備的無線數據收發端口,接收并保存升級數據包至升級數據區;根據所述接收的升級數據包,更新升級信息區的升級信息;判斷所述升級數據包是否接收完成,若是,使設備進入啟動區,讀取所述更新后的升級信息區的升級信息;擦除所述代碼區原有固件程序,將所述升級數據區的升級數據包復制至代碼區,運行升級后的固件程序;其中,所述啟動區用于程序引導,所述代碼區用于存儲固件程序,所述升級數據區用于存儲升級數據包,所述升級信息區用于保存升級數據包的升級信息。
優選地,接收升級數據包至升級數據區,包括接收由所述升級數據包分割成的若干個長度相同的數據塊。
優選地,升級信息包括升級控制數據和數據塊下載表。
優選地,升級控制數據包括升級版本號、數據塊總數量、數據塊序號和控制標識。
優選地,每個數據塊對應一個數據塊序號,并映射到所述數據塊下載表中。
優選地,根據數據塊序號在升級數據區的相應位置保存數據塊,并在數據塊下載表中的映射位置記錄下該序號數據塊已下載。
優選地,控制標識包括下載未完成、下載已完成和程序已更新。
優選地,根據升級信息判斷有無下載完成的升級數據包,包括根據升級信息判斷控制標識是否為下載未完成,若是,則讀取固件升級數據包的升級版本號、數據塊總數量和數據塊序號。
優選地,本發明的固件升級方法還包括判斷讀取的升級版本是否為新版本且從未下載,若是,則初始化升級控制數據和數據塊下載表,并根據數據塊序號在升級數據區的相應位置保存數據塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于順豐科技有限公司,未經順豐科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810379308.X/2.html,轉載請聲明來源鉆瓜專利網。





