• / 33
  • 下載費用:30 金幣  

引導程序升級方法、嵌入式設備、控制設備及嵌入式系統.pdf

摘要
申請專利號:

CN201510339079.5

申請日:

2015.06.17

公開號:

CN106257417A

公開日:

2016.12.28

當前法律狀態:

實審

有效性:

審中

法律詳情: 實質審查的生效IPC(主分類):G06F 9/445申請日:20150617|||公開
IPC分類號: G06F9/445 主分類號: G06F9/445
申請人: 中興通訊股份有限公司
發明人: 解義超
地址: 518057 廣東省深圳市南山區高新技術產業園科技南路中興通訊大廈法務部
優先權:
專利代理機構: 北京安信方達知識產權代理有限公司 11262 代理人: 張建秀;栗若木
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510339079.5

授權公告號:

|||

法律狀態公告日:

2018.07.13|||2016.12.28

法律狀態類型:

實質審查的生效|||公開

摘要

本發明公開了一種引導程序升級方法、嵌入式設備、控制設備及嵌入式系統。本發明中的引導程序升級方法包括:接收控制設備發送的升級指示消息,該升級指示消息用于指示嵌入式設備監聽嵌入式設備與控制設備之間的串口;通過串口接收控制設備發送的升級文件,該升級文件為控制設備根據用戶選擇的文件路徑計算出的,該升級文件包括文件長度、校驗字段和文件數據;將升級文件寫入嵌入式設備的存儲器中,以替換存儲器中的當前引導程序。本發明解決了采用燒錄器對引導程序進行升級的過程中,由于需要拆卸嵌入式設備的外殼以實現升級,而導致升級引導程序的操作方式比較復雜,工作量大的問題。

權利要求書

1.一種引導程序升級方法,其特征在于,包括:
接收控制設備發送的升級指示消息,所述升級指示消息用于指示嵌入式
設備監聽所述嵌入式設備與所述控制設備之間的串口;
通過所述串口接收所述控制設備發送的升級文件,所述升級文件為所述
控制設備根據用戶選擇的文件路徑計算出的,所述升級文件包括文件長度、
校驗字段和文件數據;
將所述升級文件寫入所述嵌入式設備的存儲器中,以替換所述存儲器中
的當前引導程序。
2.根據權利要求1所述的引導程序升級方法,其特征在于,所述通過所
述串口接收所述控制設備發送的升級文件之后,還包括:
將通過所述串口接收到的升級文件寫入所述嵌入式設備的內存中,并對
所述升級文件進行校驗;
當對所述升級文件校驗成功后,將所述升級文件寫入所述嵌入式設備的
存儲器中;
當對所述升級文件校驗失敗后,加載并啟動所述當前引導程序。
3.根據權利要求2所述的引導程序升級方法,其特征在于,所述升級指
示消息為所述控制設備在所述控制設備中的控制程序為升級模式下發送的,
所述接收控制設備發送的升級指示消息之前,還包括:
通過處理器CPU執行所述存儲器中的啟動引導程序,并通過所述啟動引
導程序向所述控制設備發送第一問詢消息;
當在預置的時間內接收到所述升級指示消息,根據所述升級指示消息開
始監聽所述串口;
當在預置的時間內沒有接收到所述升級指示消息,加載并啟動所述當前
引導程序。
4.根據權利要求3所述的引導程序升級方法,其特征在于,所述接收控
制設備發送的升級指示消息之前,還包括:
接收所述控制設備發送的備份指示消息,所述備份指示消息用于指示所
述控制設備開始監聽所述串口;
根據所述備份指示消息讀取所述存儲器中的所述當前引導程序,并計算
所述當前引導程序的文件長度、校驗字段和文件數據;
向所述控制設備發送備份文件,以使所述控制設備將接收到的所述備份
文件寫入所述控制設備的內存中,并對所述備份文件進行校驗,在校驗成功
后,將所述備份文件保存到所述用戶在所述控制設備中預先設置的存儲位置
中,其中,所述備份文件包括對所述當前引導程序的計算結果。
5.根據權利要求4所述的引導程序升級方法,其特征在于,所述備份指
示消息為所述控制設備在所述控制程序為備份模式下發送的,所述接收所述
控制設備發送的備份指示消息之前,還包括:
通過CPU執行所述存儲器中的所述啟動引導程序,并通過所述啟動引導
程序向所述控制設備發送第二問詢消息;
當在預置的時間內接收到所述備份指示消息,根據所述備份指示消息指
示所述控制設備開始監聽所述串口;
當在預置的時間內沒有接收到所述備份指示消息,加載并啟動所述當前
引導程序。
6.根據權利要求4所述的引導程序升級方法,其特征在于,所述向所述
控制設備發送備份文件之后,還包括:
接收所述控制設備發送的備份失敗消息,所述備份失敗消息用于指示所
述控制設備對所述備份文件校驗失敗。
7.根據權利要求4~6中任一項所述的引導程序升級方法,其特征在于,
在將所述升級文件寫入所述嵌入式設備的存儲器的過程中發生升級錯誤,所
述方法還包括:
重新啟動所述嵌入式設備,并通過所述CPU再次執行所述啟動引導程序
后,通過所述啟動引導程序向所述控制設備發送所述第三問詢消息;
接收所述控制設備發送的恢復指示消息,所述恢復指示消息用于指示所
述嵌入式設備監聽所述串口;
通過所述串口接收所述控制設備發送的恢復文件,所述恢復文件為所述
控制設備根據所述用戶選擇的文件路徑計算出的,所述恢復文件包括文件長
度、校驗字段和文件數據;
將所述恢復文件寫入所述嵌入式設備的存儲器中,以還原在寫入所述升
級文件前所述嵌入式設備的存儲器中的引導程序。
8.根據權利要求7所述的引導程序升級方法,其特征在于,所述恢復文
件為在所述控制設備中存儲的所述備份文件中選擇出的其中一個備份文件。
9.一種引導程序升級方法,其特征在于,包括:
向嵌入式設備發送升級指示消息,所述升級指示消息用于指示所述嵌入
式設備監聽所述嵌入式設備與所述控制設備之間的串口;
根據用戶選擇的文件路徑計算升級文件的文件長度、校驗字段和文件數
據;
通過所述串口向所述嵌入式設備發送所述計算出的升級文件,使得所述
嵌入式設備將所述升級文件寫入所述嵌入式設備的存儲器中,以替換所述存
儲器中的當前引導程序。
10.根據權利要求9所述的引導程序升級方法,其特征在于,所述向嵌
入式設備發送升級指示消息之前,還包括:
啟動所述控制設備的控制程序,并在所述控制程序上選擇升級模式;
通過所述控制程序接收所述嵌入式設備發送的第一問詢消息,所述第一
問詢消息用于提示所述控制設備對所述嵌入式設備中的所述當前引導程序進
行升級。
11.根據權利要求10所述的引導程序升級方法,其特征在于,所述向嵌
入式設備發送升級指示消息之前,還包括:
向所述嵌入式設備發送備份指示消息,所述備份指示消息用于指示所述
嵌入式設備向所述終端發送備份文件;
通過所述串口接收所述嵌入式設備發送的備份文件,所述備份文件包括
所述嵌入式設備的存儲器中的所述當前引導程序的文件長度、校驗字段和文
件數據;
將所述接收到的備份文件寫入所述控制設備的內存中,并對所述備份文
件進行校驗;
當對所述備份文件校驗成功后,將所述備份文件保存到所述用戶在所述
控制設備中預先設置的存儲位置中;
當對所述備份文件校驗失敗后,向所述嵌入式設備發送備份失敗消息。
12.根據權利要求11所述的引導程序升級方法,其特征在于,所述向所
述嵌入式設備發送備份指示消息之前,還包括:
啟動所述控制設備的控制程序,并在所述控制程序上選擇備份模式;
通過所述控制程序接收所述嵌入式設備發送的第二問詢消息,所述第二
問詢消息用于提示所述控制設備對所述嵌入式設備中的所述當前引導程序進
行備份。
13.根據權利要求11或12所述的引導程序升級方法,其特征在于,所
述通過所述串口向所述嵌入式設備發送所述計算出的升級文件之后,還包括:
通過所述控制程序接收所述嵌入式設備發送的第三問詢消息,所述第三
詢問消息用于指示所述嵌入式設備對所述當前引導程序升級失敗;
向所述嵌入式設備發送恢復指示消息,所述恢復指示消息用于指示所述
嵌入式設備監聽所述串口;
根據所述用戶選擇的文件路徑計算恢復文件的文件長度、校驗字段和文
件數據;
通過所述串口向所述嵌入式設備發送所述恢復文件,使得所述嵌入式設
備將所述恢復文件寫入所述嵌入式設備的存儲器中,以還原在寫入所述升級
文件前所述嵌入式設備的存儲器中的引導程序。
14.根據權利要求13所述的引導程序升級方法,其特征在于,所述恢復
文件為在所述控制設備中存儲的所述備份文件中選擇出的其中一個備份文
件。
15.一種嵌入式設備,其特征在于,包括:
接收模塊,用于接收控制設備發送的升級指示消息,所述升級指示消息
用于指示所述接收模塊監聽所述嵌入式設備與所述控制設備之間的串口;
所述接收模塊,還用于通過所述串口接收所述控制設備發送的升級文件,
所述升級文件為所述控制設備根據用戶選擇的文件路徑計算出的,所述升級
文件包括文件長度、校驗字段和文件數據;
存儲模塊,用于將所述接收模塊接收到的升級文件寫入所述嵌入式設備
的存儲器中,以替換所述存儲器中的當前引導程序。
16.根據權利要求15所述的嵌入式設備,其特征在于,所述存儲模塊包
括:存儲單元,用于在所述接收模塊接收到所述控制設備發送的所述升級文
件之后,將所述升級文件寫入所述嵌入式設備的內存中;
校驗單元,用于對所述存儲單元寫入所述嵌入式設備的內存中的升級文
件進行校驗;
所述存儲單元,還用于在所述校驗單元對所述升級文件校驗成功后,將
所述升級文件寫入所述嵌入式設備的存儲器中;
所述校驗單元,還用于在對所述升級文件校驗失敗后,加載并啟動所述
當前引導程序。
17.根據權利要求16所述的嵌入式設備,其特征在于,所述升級指示消
息為所述控制設備在所述控制設備中的控制程序為升級模式下發送的,所述
嵌入式設備還包括:處理模塊,用于在所述接收模塊接收控制設備發送的升
級指示消息之前,通過處理器CPU執行所述存儲器中的啟動引導程序;
發送模塊,用于通過所述啟動引導程序向所述控制設備發送第一問詢消
息;
所述處理模塊,還用于當所述接收模塊在預置的時間內接收到所述升級
指示消息,根據所述接收模塊接收的升級指示消息開始監聽所述串口;
所述處理模塊,還用于當所述接收模塊在預置的時間內沒有接收到所述
升級指示消息,加載并啟動所述當前引導程序。
18.根據權利要求17所述的嵌入式設備,其特征在于,所述接收模塊,
還用于在接收所述控制設備發送的升級指示消息之前,接收所述控制設備發
送的備份指示消息,所述備份指示消息用于指示所述控制設備開始監聽所述
串口;
所述嵌入式設備還包括:計算模塊,用于根據所述接收模塊接收的備份
指示消息讀取所述存儲器中的所述當前引導程序,并計算所述當前引導程序
的文件長度、校驗字段和文件數據;
所述發送模塊,還用于向所述控制設備發送備份文件,以使所述控制設
備將接收到的所述備份文件寫入所述控制設備的內存中,并對所述備份文件
進行校驗,在校驗成功后,將所述備份文件保存到所述用戶在所述控制設備
中預先設置的存儲位置中,其中,所述備份文件包括對所述當前引導程序的
計算結果。
19.根據權利要求18所述的嵌入式設備,其特征在于,所述備份指示消
息為所述控制設備在所述控制程序為備份模式下發送的,所述處理模塊,還
用于在所述接收模塊接收所述控制設備發送的備份指示消息之前,通過CPU
執行所述存儲器中的所述啟動引導程序;
所述發送模塊,還用于通過所述啟動引導程序向所述控制設備發送第二
問詢消息;
所述處理模塊,還用于當所述接收模塊在預置的時間內接收到所述備份
指示消息,根據所述接收模塊接收的備份指示消息指示所述控制設備開始監
聽所述串口;
所述處理模塊,還用于當所述接收模塊在預置的時間內沒有接收到所述
備份指示消息,加載并啟動所述當前引導程序。
20.根據權利要求18所述的嵌入式設備,其特征在于,所述接收模塊,
還用于在所述發送模塊向所述控制設備發送備份文件之后,接收所述控制設
備發送的備份失敗消息,所述備份失敗消息用于指示所述控制設備對所述備
份文件校驗失敗。
21.根據權利要求18~20中任一項所述的嵌入式設備,其特征在于,所
述處理模塊,還用于在所述存儲模塊將所述升級文件寫入所述嵌入式設備的
存儲器的過程中發生升級錯誤時,重新啟動所述嵌入式設備,并通過所述CPU
再次執行所述啟動引導程序;
所述發送模塊,還用于通過所述啟動引導程序向所述控制設備發送所述
第三問詢消息;
所述接收模塊,還用于接收所述控制設備發送的恢復指示消息,所述恢
復指示消息用于指示所述嵌入式設備監聽所述串口,并通過所述串口接收所
述控制設備發送的恢復文件,所述恢復文件為所述控制設備根據所述用戶選
擇的文件路徑計算出的,所述恢復文件包括文件長度、校驗字段和文件數據;
存儲模塊,還用于將所述恢復文件寫入所述嵌入式設備的存儲器中,以
還原在寫入所述升級文件前所述嵌入式設備的存儲器中的引導程序。
22.根據權利要求21所述的嵌入式設備,其特征在于,所述恢復文件為
在所述控制設備中存儲的所述備份文件中選擇出的其中一個備份文件。
23.一種控制設備,其特征在于,包括:
發送模塊,用于向嵌入式設備發送升級指示消息,所述升級指示消息用
于指示所述嵌入式設備監聽所述嵌入式設備與所述控制設備之間的串口;
計算模塊,用于根據用戶選擇的文件路徑計算升級文件的文件長度、校
驗字段和文件數據;
所述發送模塊,還用于通過所述串口向所述嵌入式設備發送所述計算模
塊計算出的升級文件,使得所述嵌入式設備將所述升級文件寫入所述嵌入式
設備的存儲器中,以替換所述存儲器中的當前引導程序。
24.根據權利要求23所述的控制設備,其特征在于,所述控制設備還包
括:啟動模塊,用于在所述發送模塊向所述嵌入式設備發送升級指示消息之
前,啟動所述控制設備的控制程序,并在所述控制程序上選擇升級模式;
接收模塊,用于通過所述控制程序接收所述嵌入式設備發送的第一問詢
消息,所述第一問詢消息用于提示所述控制設備對所述嵌入式設備中的所述
當前引導程序進行升級。
25.根據權利要求24所述的控制設備,其特征在于,所述發送模塊,還
用于在向所述嵌入式設備發送升級指示消息之前,向所述嵌入式設備發送備
份指示消息,所述備份指示消息用于指示所述嵌入式設備向所述終端發送備
份文件;
所述接收模塊,還用于通過所述串口接收所述嵌入式設備發送的備份文
件,所述備份文件包括所述嵌入式設備的存儲器中的所述當前引導程序的文
件長度、校驗字段和文件數據;
所述控制設備還包括:存儲模塊,用于將所述接收模塊接收到的備份文
件寫入所述控制設備的內存中;
校驗模塊,用于對所述存儲模塊寫入所述控制設備的內存中的備份文件
進行校驗;
所述存儲模塊,還用于在所述校驗模塊對所述備份文件校驗成功后,將
所述備份文件保存到所述用戶在所述控制設備中預先設置的存儲位置中;
所述發送模塊,還用于在所述校驗模塊對所述備份文件校驗失敗后,向
所述嵌入式設備發送備份失敗消息。
26.根據權利要求25所述的控制設備,其特征在于,所述啟動模塊,還
用于在所述發送模塊向所述嵌入式設備發送備份指示消息之前,啟動所述控
制設備的控制程序,并在所述控制設備的控制程序上選擇備份模式;
所述接收模塊,還用于通過所述控制程序接收所述嵌入式設備發送的第
二問詢消息,所述第二問詢消息用于提示所述控制設備對所述嵌入式設備中
的所述當前引導程序進行備份。
27.根據權利要求25或26所述的控制設備,其特征在于,所述接收模
塊,還用于在所述發送模塊通過所述串口向所述嵌入式設備發送所述計算出
的升級文件之后,通過所述控制程序接收所述嵌入式設備發送的第三問詢消
息,所述第三詢問消息用于指示所述嵌入式設備對所述當前引導程序升級失
敗;
所述發送模塊,還用于向所述嵌入式設備發送恢復指示消息,所述恢復
指示消息用于指示所述嵌入式設備監聽所述串口;
所述計算模塊,還用于根據所述用戶選擇的文件路徑計算恢復文件的文
件長度、校驗字段和文件數據;
所述發送模塊,還用于通過所述串口向所述嵌入式設備發送所述計算模
塊計算出的恢復文件,使得所述嵌入式設備將所述恢復文件寫入所述嵌入式
設備的存儲器中,以還原在寫入所述升級文件前所述嵌入式設備的存儲器中
的引導程序。
28.根據權利要求27所述的控制設備,其特征在于,所述恢復文件為在
所述控制設備中存儲的所述備份文件中選擇出的其中一個備份文件。
29.一種嵌入式系統,其特征在于,包括:如權利要求15~22中任一項
所述的嵌入式設備和如權利要求23~28中任一項所述的控制設備。

說明書

引導程序升級方法、嵌入式設備、控制設備及嵌入式系統

技術領域

本發明涉及計算機技術,尤指一種引導程序(BOOT)升級方法、嵌入
式設備、控制設備及嵌入式系統。

背景技術

隨著嵌入式系統(Embedded system,簡稱為:ES)在通信及工業控制領
域的廣泛應用,為了提高產品的生命周期以及適應新的業務需求,通常需要
對嵌入式系統進行現場升級,其中一項重要的升級內容包括對嵌入式設備中
引導程序的升級。

嵌入式設備的引導程序通常存放于非易失性存儲器中,例如NOR
FLASH和NAND FLASH等器件中,引導程序的主要功能包括初始化中央處
理器(Central Processing Unit,簡稱為:CPU)和顯示數據隨機存儲器(Display
Data Random Access Memory,簡稱為:DDRAM)等器件,然后引導操作系
統(Operating System,簡稱為:OS)或應用程序啟動。引導程序是嵌入式設
備上電后的運行的第一段程序,若該引導程序升級失敗則會造成嵌入式設備
無法啟動,例如,在使用引導程序自身的命令實現自我更新進行升級的過程
中,如果升級失敗,則會造成嵌入式設備無法啟動。基于上述問題,為了保
證引導程序升級過程中的安全性和可靠性,目前通常使用的引導程序的升級
方式中可以采用燒錄器,具體通過燒錄器將待升級版本的引導程序燒錄到嵌
入式設備的存儲器中,同時需要借助附加的燒錄軟件。

然而,在采用燒錄器對引導程序進行升級的過程中,由于嵌入式設備中
與燒錄器連接的接口通常設置于該嵌入式設備的內部,因此需要拆卸該嵌入
式設備的外殼以實現升級,而導致升級引導程序的操作方式比較復雜,工作
量大的問題。

發明內容

為了解決上述技術問題,本發明提供了一種引導程序升級方法、嵌入式
設備、控制設備及嵌入式系統,以解決采用燒錄器對引導程序進行升級的過
程中,由于需要拆卸嵌入式設備的外殼以實現升級,而導致升級引導程序的
操作方式比較復雜,工作量大的問題。

第一方面,本發明提供一種引導程序升級方法,包括:

接收控制設備發送的升級指示消息,所述升級指示消息用于指示嵌入式
設備監聽所述嵌入式設備與所述控制設備之間的串口;

通過所述串口接收所述控制設備發送的升級文件,所述升級文件為所述
控制設備根據用戶選擇的文件路徑計算出的,所述升級文件包括文件長度、
校驗字段和文件數據;

將所述升級文件寫入所述嵌入式設備的存儲器中,以替換所述存儲器中
的當前引導程序。

在第一方面的第一種可能的實現方式中,所述通過所述串口接收所述控
制設備發送的升級文件之后,還包括:

將通過所述串口接收到的升級文件寫入所述嵌入式設備的內存中,并對
所述升級文件進行校驗;

當對所述升級文件校驗成功后,將所述升級文件寫入所述嵌入式設備的
存儲器中;

當對所述升級文件校驗失敗后,加載并啟動所述當前引導程序。

根據第一方面的第一種可能的實現方式,在第二種可能的實現方式中,
所述升級指示消息為所述控制設備在所述控制設備中的控制程序為升級模式
下發送的,所述接收控制設備發送的升級指示消息之前,還包括:

通過處理器CPU執行所述存儲器中的啟動引導程序,并通過所述啟動引
導程序向所述控制設備發送第一問詢消息;

當在預置的時間內接收到所述升級指示消息,根據所述升級指示消息開
始監聽所述串口;

當在預置的時間內沒有接收到所述升級指示消息,加載并啟動所述當前
引導程序。

根據第一方面的第二種可能的實現方式,在第三種可能的實現方式中,
所述接收控制設備發送的升級指示消息之前,還包括:

接收所述控制設備發送的備份指示消息,所述備份指示消息用于指示所
述控制設備開始監聽所述串口;

根據所述備份指示消息讀取所述存儲器中的所述當前引導程序,并計算
所述當前引導程序的文件長度、校驗字段和文件數據;

向所述控制設備發送備份文件,以使所述控制設備將接收到的所述備份
文件寫入所述控制設備的內存中,并對所述備份文件進行校驗,在校驗成功
后,將所述備份文件保存到所述用戶在所述控制設備中預先設置的存儲位置
中,其中,所述備份文件包括對所述當前引導程序的計算結果。

根據第一方面的第三種可能的實現方式,在第四種可能的實現方式中,
所述備份指示消息為所述控制設備在所述控制程序為備份模式下發送的,所
述接收所述控制設備發送的備份指示消息之前,還包括:

通過CPU執行所述存儲器中的所述啟動引導程序,并通過所述啟動引導
程序向所述控制設備發送第二問詢消息;

當在預置的時間內接收到所述備份指示消息,根據所述備份指示消息指
示所述控制設備開始監聽所述串口;

當在預置的時間內沒有接收到所述備份指示消息,加載并啟動所述當前
引導程序。

根據第一方面的第三種可能的實現方式,在第五種可能的實現方式中,
所述向所述控制設備發送備份文件之后,還包括:

接收所述控制設備發送的備份失敗消息,所述備份失敗消息用于指示所
述控制設備對所述備份文件校驗失敗。

根據第一方面的第三種到第五種可能的實現方式中的任意一種,在第六
種可能的實現方式中,在將所述升級文件寫入所述嵌入式設備的存儲器的過
程中發生升級錯誤,所述方法還包括:

重新啟動所述嵌入式設備,并通過所述CPU再次執行所述啟動引導程序
后,通過所述啟動引導程序向所述控制設備發送所述第三問詢消息;

接收所述控制設備發送的恢復指示消息,所述恢復指示消息用于指示所
述嵌入式設備監聽所述串口;

通過所述串口接收所述控制設備發送的恢復文件,所述恢復文件為所述
控制設備根據所述用戶選擇的文件路徑計算出的,所述恢復文件包括文件長
度、校驗字段和文件數據;

將所述恢復文件寫入所述嵌入式設備的存儲器中,以還原在寫入所述升
級文件前所述嵌入式設備的存儲器中的引導程序。

根據第一方面的第六種可能的實現方式,在第七種可能的實現方式中,
所述恢復文件為在所述控制設備中存儲的所述備份文件中選擇出的其中一個
備份文件。

第二方面,本發明提供一種引導程序升級方法,包括:

向嵌入式設備發送升級指示消息,所述升級指示消息用于指示所述嵌入
式設備監聽所述嵌入式設備與所述控制設備之間的串口;

根據用戶選擇的文件路徑計算升級文件的文件長度、校驗字段和文件數
據;

通過所述串口向所述嵌入式設備發送所述計算出的升級文件,使得所述
嵌入式設備將所述升級文件寫入所述嵌入式設備的存儲器中,以替換所述存
儲器中的當前引導程序。

在第二方面的第一種可能的實現方式中,所述向嵌入式設備發送升級指
示消息之前,還包括:

啟動所述控制設備的控制程序,并在所述控制程序上選擇升級模式;

通過所述控制程序接收所述嵌入式設備發送的第一問詢消息,所述第一
問詢消息用于提示所述控制設備對所述嵌入式設備中的所述當前引導程序進
行升級。

根據第二方面的第一種可能的實現方式,在第二種可能的實現方式中,
所述向嵌入式設備發送升級指示消息之前,還包括:

向所述嵌入式設備發送備份指示消息,所述備份指示消息用于指示所述
嵌入式設備向所述終端發送備份文件;

通過所述串口接收所述嵌入式設備發送的備份文件,所述備份文件包括
所述嵌入式設備的存儲器中的所述當前引導程序的文件長度、校驗字段和文
件數據;

將所述接收到的備份文件寫入所述控制設備的內存中,并對所述備份文
件進行校驗;

當對所述備份文件校驗成功后,將所述備份文件保存到所述用戶在所述
控制設備中預先設置的存儲位置中;

當對所述備份文件校驗失敗后,向所述嵌入式設備發送備份失敗消息。

根據第二方面的第二種可能的實現方式,在第三種可能的實現方式中,
所述向所述嵌入式設備發送備份指示消息之前,還包括:

啟動所述控制設備的控制程序,并在所述控制程序上選擇備份模式;

通過所述控制程序接收所述嵌入式設備發送的第二問詢消息,所述第二
問詢消息用于提示所述控制設備對所述嵌入式設備中的所述當前引導程序進
行備份。

根據第二方面的第二種或第三種可能的實現方式,在第四種可能的實現
方式中,所述通過所述串口向所述嵌入式設備發送所述計算出的升級文件之
后,還包括:

通過所述控制程序接收所述嵌入式設備發送的第三問詢消息,所述第三
詢問消息用于指示所述嵌入式設備對所述當前引導程序升級失敗;

向所述嵌入式設備發送恢復指示消息,所述恢復指示消息用于指示所述
嵌入式設備監聽所述串口;

根據所述用戶選擇的文件路徑計算恢復文件的文件長度、校驗字段和文
件數據;

通過所述串口向所述嵌入式設備發送所述恢復文件,使得所述嵌入式設
備將所述恢復文件寫入所述嵌入式設備的存儲器中,以還原在寫入所述升級
文件前所述嵌入式設備的存儲器中的引導程序。

根據第二方面的第四種可能的實現方式,在第五種可能的實現方式中,
所述恢復文件為在所述控制設備中存儲的所述備份文件中選擇出的其中一個
備份文件。

第三方面,本發明提供一種嵌入式設備,包括:

接收模塊,用于接收控制設備發送的升級指示消息,所述升級指示消息
用于指示所述接收模塊監聽所述嵌入式設備與所述控制設備之間的串口;

所述接收模塊,還用于通過所述串口接收所述控制設備發送的升級文件,
所述升級文件為所述控制設備根據用戶選擇的文件路徑計算出的,所述升級
文件包括文件長度、校驗字段和文件數據;

存儲模塊,用于將所述接收模塊接收到的升級文件寫入所述嵌入式設備
的存儲器中,以替換所述存儲器中的當前引導程序。

在第三方面的第一種可能的實現方式中,所述存儲模塊包括:存儲單元,
用于在所述接收模塊接收到所述控制設備發送的所述升級文件之后,將所述
升級文件寫入所述嵌入式設備的內存中;

校驗單元,用于對所述存儲單元寫入所述嵌入式設備的內存中的升級文
件進行校驗;

所述存儲單元,還用于在所述校驗單元對所述升級文件校驗成功后,將
所述升級文件寫入所述嵌入式設備的存儲器中;

所述校驗單元,還用于在對所述升級文件校驗失敗后,加載并啟動所述
當前引導程序。

根據第三方面的第一種可能的實現方式,在第二種可能的實現方式中,
所述升級指示消息為所述控制設備在所述控制設備中的控制程序為升級模式
下發送的,所述嵌入式設備還包括:處理模塊,用于在所述接收模塊接收控
制設備發送的升級指示消息之前,通過處理器CPU執行所述存儲器中的啟動
引導程序;

發送模塊,用于通過所述啟動引導程序向所述控制設備發送第一問詢消
息;

所述處理模塊,還用于當所述接收模塊在預置的時間內接收到所述升級
指示消息,根據所述接收模塊接收的升級指示消息開始監聽所述串口;

所述處理模塊,還用于當所述接收模塊在預置的時間內沒有接收到所述
升級指示消息,加載并啟動所述當前引導程序。

根據第三方面的第二種可能的實現方式,在第三種可能的實現方式中,
所述接收模塊,還用于在接收所述控制設備發送的升級指示消息之前,接收
所述控制設備發送的備份指示消息,所述備份指示消息用于指示所述控制設
備開始監聽所述串口;

所述嵌入式設備還包括:計算模塊,用于根據所述接收模塊接收的備份
指示消息讀取所述存儲器中的所述當前引導程序,并計算所述當前引導程序
的文件長度、校驗字段和文件數據;

所述發送模塊,還用于向所述控制設備發送備份文件,以使所述控制設
備將接收到的所述備份文件寫入所述控制設備的內存中,并對所述備份文件
進行校驗,在校驗成功后,將所述備份文件保存到所述用戶在所述控制設備
中預先設置的存儲位置中,其中,所述備份文件包括對所述當前引導程序的
計算結果。

根據第三方面的第三種可能的實現方式,在第四種可能的實現方式中,
所述備份指示消息為所述控制設備在所述控制程序為備份模式下發送的,所
述處理模塊,還用于在所述接收模塊接收所述控制設備發送的備份指示消息
之前,通過CPU執行所述存儲器中的所述啟動引導程序;

所述發送模塊,還用于通過所述啟動引導程序向所述控制設備發送第二
問詢消息;

所述處理模塊,還用于當所述接收模塊在預置的時間內接收到所述備份
指示消息,根據所述接收模塊接收的備份指示消息指示所述控制設備開始監
聽所述串口;

所述處理模塊,還用于當所述接收模塊在預置的時間內沒有接收到所述
備份指示消息,加載并啟動所述當前引導程序。

根據第三方面的第三種可能的實現方式,在第五種可能的實現方式中,
所述接收模塊,還用于在所述發送模塊向所述控制設備發送備份文件之后,
接收所述控制設備發送的備份失敗消息,所述備份失敗消息用于指示所述控
制設備對所述備份文件校驗失敗。

根據第三方面的第三種到第五種可能的實現方式中的任意一種,在第六
種可能的實現方式中,所述處理模塊,還用于在所述存儲模塊將所述升級文
件寫入所述嵌入式設備的存儲器的過程中發生升級錯誤時,重新啟動所述嵌
入式設備,并通過所述CPU再次執行所述啟動引導程序;

所述發送模塊,還用于通過所述啟動引導程序向所述控制設備發送所述
第三問詢消息;

所述接收模塊,還用于接收所述控制設備發送的恢復指示消息,所述恢
復指示消息用于指示所述嵌入式設備監聽所述串口,并通過所述串口接收所
述控制設備發送的恢復文件,所述恢復文件為所述控制設備根據所述用戶選
擇的文件路徑計算出的,所述恢復文件包括文件長度、校驗字段和文件數據;

存儲模塊,還用于將所述恢復文件寫入所述嵌入式設備的存儲器中,以
還原在寫入所述升級文件前所述嵌入式設備的存儲器中的引導程序。

根據第三方面的第六種可能的實現方式,在第七種可能的實現方式中,
所述恢復文件為在所述控制設備中存儲的所述備份文件中選擇出的其中一個
備份文件。

第四方面,本發明提供一種控制設備,包括:

發送模塊,用于向嵌入式設備發送升級指示消息,所述升級指示消息用
于指示所述嵌入式設備監聽所述嵌入式設備與所述控制設備之間的串口;

計算模塊,用于根據用戶選擇的文件路徑計算升級文件的文件長度、校
驗字段和文件數據;

所述發送模塊,還用于通過所述串口向所述嵌入式設備發送所述計算模
塊計算出的升級文件,使得所述嵌入式設備將所述升級文件寫入所述嵌入式
設備的存儲器中,以替換所述存儲器中的當前引導程序。

在第四方面的第一種可能的實現方式中,所述控制設備還包括:啟動模
塊,用于在所述發送模塊向所述嵌入式設備發送升級指示消息之前,啟動所
述控制設備的控制程序,并在所述控制程序上選擇升級模式;

接收模塊,用于通過所述控制程序接收所述嵌入式設備發送的第一問詢
消息,所述第一問詢消息用于提示所述控制設備對所述嵌入式設備中的所述
當前引導程序進行升級。

根據第四方面的第一種可能的實現方式,在第二種可能的實現方式中,
所述發送模塊,還用于在向所述嵌入式設備發送升級指示消息之前,向所述
嵌入式設備發送備份指示消息,所述備份指示消息用于指示所述嵌入式設備
向所述終端發送備份文件;

所述接收模塊,還用于通過所述串口接收所述嵌入式設備發送的備份文
件,所述備份文件包括所述嵌入式設備的存儲器中的所述當前引導程序的文
件長度、校驗字段和文件數據;

所述控制設備還包括:存儲模塊,用于將所述接收模塊接收到的備份文
件寫入所述控制設備的內存中;

校驗模塊,用于對所述存儲模塊寫入所述控制設備的內存中的備份文件
進行校驗;

所述存儲模塊,還用于在所述校驗模塊對所述備份文件校驗成功后,將
所述備份文件保存到所述用戶在所述控制設備中預先設置的存儲位置中;

所述發送模塊,還用于在所述校驗模塊對所述備份文件校驗失敗后,向
所述嵌入式設備發送備份失敗消息。

根據第四方面的第二種可能的實現方式,在第三種可能的實現方式中,
所述啟動模塊,還用于在所述發送模塊向所述嵌入式設備發送備份指示消息
之前,啟動所述控制設備的控制程序,并在所述控制設備的控制程序上選擇
備份模式;

所述接收模塊,還用于通過所述控制程序接收所述嵌入式設備發送的第
二問詢消息,所述第二問詢消息用于提示所述控制設備對所述嵌入式設備中
的所述當前引導程序進行備份。

根據第四方面的第二種或第三種可能的實現方式,在第四種可能的實現
方式中,所述接收模塊,還用于在所述發送模塊通過所述串口向所述嵌入式
設備發送所述計算出的升級文件之后,通過所述控制程序接收所述嵌入式設
備發送的第三問詢消息,所述第三詢問消息用于指示所述嵌入式設備對所述
當前引導程序升級失敗;

所述發送模塊,還用于向所述嵌入式設備發送恢復指示消息,所述恢復
指示消息用于指示所述嵌入式設備監聽所述串口;

所述計算模塊,還用于根據所述用戶選擇的文件路徑計算恢復文件的文
件長度、校驗字段和文件數據;

所述發送模塊,還用于通過所述串口向所述嵌入式設備發送所述計算模
塊計算出的恢復文件,使得所述嵌入式設備將所述恢復文件寫入所述嵌入式
設備的存儲器中,以還原在寫入所述升級文件前所述嵌入式設備的存儲器中
的引導程序。

根據第四方面的第四種可能的實現方式,在第五種可能的實現方式中,
所述恢復文件為在所述控制設備中存儲的所述備份文件中選擇出的其中一個
備份文件。

第五方面,本發明提供一種嵌入式系統,包括:如上述第三方面中任一
項所述的嵌入式設備和上述第四方面中任一項所述的控制設備。

本發明提供的引導程序升級方法、嵌入式設備、控制設備及嵌入式系
統,通過接收終端發送的升級指示消息監聽嵌入式設備與該控制設備之前的
串口,并通過該串口接收控制設備發送的升級文件,該升級文件為控制設備
根據用戶選擇的文件路徑計算出的,從而將該升級文件寫入嵌入式設備的存
儲器,以替換存儲器中的當前引導程序,本實施例通過將控制設備中的升級
文件下載到嵌入式設備的存儲器中,實現對該嵌入式設備中的引導程序進行
升級的目標;本實施例提供的引導程序升級方法,解決了采用燒錄器對引導
程序進行升級的過程中,由于需要拆卸嵌入式設備的外殼來實現升級,而導
致升級引導程序的操作方式比較復雜,工作量大的問題。

附圖說明

附圖用來提供對本發明技術方案的進一步理解,并且構成說明書的一部
分,與本申請的實施例一起用于解釋本發明的技術方案,并不構成對本發明
技術方案的限制。

圖1為本發明實施例提供的一種引導程序升級方法的流程圖;

圖2為執行圖1所提供的引導程序升級方法的一種應用場景;

圖3為本發明實施例提供的另一種引導程序升級方法的流程圖;

圖4為本發明實施例提供的又一種引導程序升級方法的流程圖;

圖5為本發明實施例提供的再一種引導程序升級方法的流程圖;

圖6為本發明實施例提供的還一種引導程序升級方法的流程圖;

圖7為本發明實施例提供的一種引導程序升級方法的交互執行的流程
圖;

圖8為本發明實施例提供的一種嵌入式設備的結構示意圖;

圖9為本發明實施例提供的另一種嵌入式設備的結構示意圖;

圖10為本發明實施例提供的一種控制設備的結構示意圖;

圖11為本發明實施例提供的另一種控制設備的結構示意圖。

具體實施方式

為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖
對本發明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申
請中的實施例及實施例中的特征可以相互任意組合。

在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機
系統中執行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,
可以以不同于此處的順序執行所示出或描述的步驟。

圖1為本發明實施例提供的一種引導程序升級方法的流程圖。本實施例
提供的引導程序升級方法適用于對嵌入式系統中的引導程序進行升級的情況
中,該方法可以由嵌入式設備執行,該嵌入式設備通常以硬件和軟件的方法
來實現,該嵌入式設備通過與嵌入式系統中的控制設備的消息交互和數據交
互實現引導程序的升級。如圖1所示,本實施例的方法可以包括:

S110,接收控制設備發送的升級指示消息,該升級指示消息用于指示嵌
入式設備監聽該嵌入式設備與控制設備之間的串口。

如圖2所示,為執行圖1所提供的引導程序升級方法的一種應用場景。
本實施例提供的方法具體由嵌入式設備100和控制設備200執行,嵌入式設
備100例如可以為交換機,電視機頂盒等工業設備,控制設備200例如可以
為一臺個人計算機(Personal Computer,簡稱為:PC),可以通過串口線纜
300連接嵌入式設備100與控制設備200之間的串口;其中,嵌入式設備100
中包括通過總線相連接的CPU110和存儲器120,存儲器120中存儲有當前
引導程序121和啟動引導程序122,控制設備200中具有控制程序210。在本
實施例中,嵌入式設備上電后,也就是在S110之前還包括:S100,通過CPU
執行存儲器中的啟動引導程序,并通過該啟動引導程序向控制設備發送第一
問詢消息;該第一問詢消息可以為一個問詢握手信號,例如為0x5a5a5a5a,
在其發送該第一問詢消息后,等待控制設備返回的應答信號,即等待升級指
示消息,例如為0x9a9a9a9a,該嵌入式設備在接收到升級指示消息前,并不
明確是需要進行引導程序的升級操作。此時,控制設備在其控制程序設置為
升級模式下接收到該第一問詢消息,因此,該控制設備可以發起對嵌入式設
備的引導程序的升級流程,從而通過用戶的選擇確定是否發送升級指示消息;
具體地,當在預置的時間內接收到升級指示消息,嵌入式設備則根據該升級
指示消息開始監聽串口,即開始執行引導程序的升級操作;在另一種情況下,
當在預置的時間內沒有接收到升級指示消息,嵌入式設備加載并啟動上述當
前引導程序,此時,嵌入式設備進入正常啟動程序,即說明沒有對嵌入式設
備的當前引導程序進行升級,例如嵌入式設備在發送第一問詢消息后可以預
留3秒(s)的等待時間,以確定是進入升級引導程序的流程,還是進入正常
工作的流程。

需要說明的是,本實施例中嵌入式設備100的存儲器120中可以劃分有
第一引導程序區域121a和第二引導程序區域122a,其中,當前引導程序121
具體為待升級的引導程序,也就是引導OS或應用程序啟動的主要程序,其
設置于第一引導程序區域121a中,啟動引導程序122為嵌入式設備100上電
后,CPU110開始執行的程序,例如可以是進行預處理的程序,其設置于第
二引導程序區域122a中;通過將不同功能的引導程序設置于存儲器的不同區
域中,明確待升級引導程序的具體位置,以提高升級引導程序的可靠性。

S120,通過串口接收控制設備發送的升級文件,該升級文件為控制設備
根據用戶選擇的文件路徑計算出的,該升級文件包括文件長度、校驗字段和
文件數據。

在本實施例中,控制設備在發送升級指示消息后,通過用戶預先指定的
文件路徑開始計算升級文件的文件長度、校驗字段和文件數據,文件長度和,
校驗字段通常均為4個字節(byte),例如用戶可以在開啟控制設備的控制
程序后,選擇升級模式,并指定待升級引導文件的路徑。在計算并獲取到升
級文件的內容后,為了保證嵌入式設備已經解析出當前為升級流程,并已進
入監聽狀態,通常可以等待一定的時間后開始發送上述計算出的升級文件,
從而保證嵌入式設備可以通過串口接收到該升級文件。

S130,將升級文件寫入嵌入式設備的存儲器中,以替換該存儲器中的當
前引導程序。

在本實施例中,嵌入式設備通過將其接收到的升級文件寫入到存儲器中,
實現引導程序的升級,該升級文件實際上就是較高版本的引導程序,通過該
較高版本的引導程序替換掉當前嵌入式設備中的引導程序,以完成引導程序
的升級流程。

需要說明的是,專利申請號為“CN201210436671.3”,發明名稱為“一
種高效嵌入式系統調試方法”的專利也提供了一種升級引導程序的方法,上
述專利提供的方法存在以下缺陷:一方面,利用預置在存儲器(Flash)中的
starter程序通過串口加載引導程序,然后手動輸入命令對Flash中的引導程序
進行更新,該方式的操作復雜,容易出錯,并且不能對嵌入式設備內的引導
程序進行備份,在升級失敗的情況下無法回退,只能應用于開發和測試環節
中,不適用于現場升級引導程序的場景中;另一方面、該專利提出的觸發引
導程序從串口加載的操作方式具體通過觸發功能鍵來實現,具體在starter程
序啟動時通過檢測功能鍵是否被觸發來決定是否從串口加載,然后通過電腦
軟件發送引導程序的文件,該方法需要嚴格控制嵌入式設備及按鍵的觸發時
間,尤其在嵌入式設備與控制主機距離較遠的情況下非常難以操作。

本實施例所提供的引導程序升級方法,通過接收終端發送的升級指示消
息監聽嵌入式設備與該控制設備之前的串口,并通過該串口接收控制設備發
送的升級文件,該升級文件為控制設備根據用戶選擇的文件路徑計算出的,
從而將該升級文件寫入嵌入式設備的存儲器,以替換存儲器中的當前引導程
序,本實施例通過將控制設備中的升級文件下載到嵌入式設備的存儲器中,
實現對該嵌入式設備中的引導程序進行升級的目標;本實施例提供的引導程
序升級方法,解決了采用燒錄器對引導程序進行升級的過程中,由于需要拆
卸嵌入式設備的外殼來實現升級,而導致升級引導程序的操作方式比較復
雜,工作量大的問題。

需要說明的是,本實施例中的嵌入式設備,僅在初始制作其存儲器時,
需要通過燒錄器將當前引導程序和啟動引導程序燒錄到存儲器中,在將該存
儲器安裝于嵌入式設備之后,則不需要通過拆卸設備來實現升級引導程序的
目的;本實施例提供的方法在現場升級引導程序時,可以直接通過對控制設
備中控制程序的設置,在嵌入式設備上電后自動實現引導程序的升級操作,
升級期間不需要操作人員的干預,與現有技術相比,操作過程更加安全、便
捷,保證了引導程序升級過程中的可靠性和安全性。并且有些嵌入式設備中
可能并沒有預留與燒錄器連接的接口,若采用通過燒錄器的方式升級引導程
序,則需要返廠更換嵌入式設備的存儲器芯片。另外,本實施例中對控制設
備中控制程序的設置,來實現升級引導程序的方式,顯然比上述專利中手動
輸入命令對Flash中的引導程序進行更新的方式更加易于操作,同樣比通過
觸發功能鍵來觸發引導程序從串口加載的操作方式更好控制,易于實現。

進一步地,圖3為本發明實施例提供的另一種引導程序升級方法的流程
圖。在上述圖1所示實施例的基礎上,本實施例提供的方法在S120之后還
包括:S121,將通過串口接收到的升級文件寫入嵌入式設備的內存中,并對
該升級文件進行校驗;相應地,該方法還包括:S122,判斷對升級文件的校
驗是否成功;若成功,則執行S130,若失敗,則執行S123。

S123,加載并啟動當前引導程序。

本實施例中,在對升級文件校驗成功后,繼續執行升級流程,即將升級
文件寫入嵌入式設備的存儲器中,在對升級文件校驗失敗后,也不會影響該
嵌入式設備的使用,即若升級失敗可以通過第一引導程序區域中的當前引導
程序啟動嵌入式設備,嵌入式設備進入正常工作流程中,進一步保證了升級
引導程序的安全性和可靠性。

圖4為本發明實施例提供的又一種引導程序升級方法的流程圖。本實施
例提供的引導程序升級方法適用于對嵌入式系統中的引導程序進行備份和升
級的情況中,該方法可以由嵌入式設備執行,該嵌入式設備通常以硬件和軟
件的方法來實現,該嵌入式設備通過與嵌入式系統中的控制設備的消息交互
和數據交互實現引導程序的升級。如圖4所示,本實施例的方法可以包括:

S210,接收控制設備發送的備份指示消息,該備份指示消息用于指示控
制設備開始監聽串口。

本實施例提供的方法同樣可以應用于圖2所示的應用場景中,與圖1所
示實例類似地,嵌入式設備上電后,也就是在S210之前還包括:S200,通
過CPU執行存儲器中的啟動引導程序,并通過該啟動引導程序向控制設備發
送第二問詢消息,該第二問詢消息的內容和作用與上述實施例中的第一問詢
消息相同,故在此不再贅述。此時,控制設備在其控制程序設置為備份模式
下接收到該第二問詢消息,因此,該控制設備可以發起對嵌入式設備的引導
程序的備份流程,從而通過用戶的選擇確定是否發送備份指示消息,該備份
指示消息例如為0x95959595;具體地,當在預置的時間內接收到備份指示
消息,根據該備份指示消息指示控制設備開始監聽串口,即開始執行引導程
序的備份操作;在另一種情況下,當在預置的時間內沒有接收到備份指示消
息,嵌入式設備加載并啟動當前引導程序,此時,嵌入式設備進入正常啟動
程序,即說明沒有對嵌入式設備的當前引導程序進行備份。

S220,根據備份指示消息讀取存儲器中的當前引導程序,并計算當前引
導程序的文件長度、校驗字段和文件數據。

S230,向控制設備發送備份文件,以使控制設備將接收到的備份文件寫
入控制設備的內存中,并對備份文件進行校驗,在校驗成功后,將備份文件
保存到用戶在控制設備中預先設置的存儲位置中,其中,該備份文件包括對
當前引導程序的計算結果。

在本實施中,嵌入式設備在解析該備份指示消息后,確定需要開始執行
備份流程,則通過讀取存儲器中的第一引導程序區域,計算出當前引導程序
的文件長度、校驗字段和文件數據,從而向控制設備發送備份文件,該備份
文件包括對當前引導程序的計算結果;類似地,控制設備在接收到該備份文
件后同樣可以對寫入內存中備份文件進行校驗,并將校驗成功的備份文件保
存到用戶在控制設備中預先設置的存儲位置中,例如用戶可以在開啟控制設
備的控制程序后,選擇備份模式,并指定要保存的備份文件的路徑,該備份
文件例如可以保存到BOOT.bak中。

可選地,若控制設備對備份文件校驗失敗,則本實施例提供的方法還包
括:S240,接收所述控制設備發送的備份失敗消息。

本實施例提供的引導程序升級方法,在對嵌入式設備中的當前引導程序
進行備份后,可以繼續對嵌入式設備中的當前引導程序進行升級,在具體實
現中,結束備份操作后,重新啟動嵌入式設備開始執行升級操作,升級的具
體方式包括:

S250,接收控制設備發送的升級指示消息,該升級指示消息用于指示嵌
入式設備監聽串口。

與上述實施例相同地,是在S250之前還包括:S231,重新啟動嵌入式
設備,通過CPU再次執行存儲器中的啟動引導程序,并通過該啟動引導程序
向控制設備發送第一問詢消息。

S260,通過串口接收控制設備發送的升級文件,該升級文件為控制設備
根據用戶選擇的文件路徑計算出的,該升級文件包括文件長度、校驗字段和
文件數據。

S270,將升級文件寫入嵌入式設備的存儲器中,以替換該存儲器中的當
前引導程序。

具體地,S250~S270的實現方式可以參照圖1所示實施例中S110~S130。

進一步地,本實施例提供的方法,在執行S270的過程中發生升級錯誤
的情況下,還可以對嵌入式設備中第一引導程序區域中的內容進行恢復,即
退回到升級前的狀態,例如可以使用S230中保存到BOOT.bak中的備份文件,
重新執行一次升級流程,本實施例的具體實現方式可以包括以下步驟:

1)、重新啟動嵌入式設備,并通過CPU再次執行啟動引導程序后,通
過啟動引導程序向控制設備發送第三問詢消息。

2)、接收控制設備發送的恢復指示消息,恢復指示消息用于指示嵌入式
設備監聽串口。

3)、通過串口接收控制設備發送的恢復文件,恢復文件為控制設備根據
用戶選擇的文件路徑計算出的,恢復文件包括文件長度、校驗字段和文件數
據。

4)、將恢復文件寫入嵌入式設備的存儲器中,以還原在寫入升級文件前
嵌入式設備的存儲器中的引導程序。

在本實施例中,在在升級失敗后需要重啟嵌入式設備,通過CPU再次執
行啟動引導程序,發送第三問詢消息時控制設備的控制程序同樣為升級模式,
因此,嵌入式設備接收到恢復指示消息后的處理方式與圖1所示實施例中接
收到升級指示消息的處理方式類似,均是采用控制設備發送的文件內容替換
存儲器中現有的引導程序;不同的是,本實施例中用戶在控制設備中選擇的
文件路徑可以是上述通過備份流程存儲到控制設備中的備份文件的路徑,即
該恢復文件為在控制設備中存儲的備份文件中選擇出的其中一個備份文件,
例如可以是上述S230中保存到BOOT.bak中的備份文件。

本實施例提供的方法,在對嵌入式設備進行升級操作失敗時,可以利用
存儲到控制設備中的備份文件,重新執行一次升級操作,即可將嵌入式設備
中的引導程序恢復到執行升級操作之前,存儲器中具有的引導程序。因此本
實施例提供的方法,在執行升級操作前對嵌入式設備中的當前引導程序進行
備份的方式,解決了升級失敗無法退回的問題,從而實現了將引導程序升級
方法應用于現場升級的場景中,在進一步提高了引導程序升級過程中的安全
性的同時,保證該方法具有可回溯性,并增加了該方法的使用范圍。

圖5為本發明實施例提供的再一種引導程序升級方法的流程圖。本實施
例提供的引導程序升級方法適用于對嵌入式系統中的引導程序進行升級的情
況中,該方法可以由控制設備執行,該控制設備通常以硬件和軟件的方法來
實現,該控制設備通過與嵌入式系統中的嵌入式設備的消息交互和數據交互
實現引導程序的升級。如圖5所示,本實施例的方法可以包括:

S310,向嵌入式設備發送升級指示消息,該升級指示消息用于指示嵌入
式設備監聽嵌入式設備與控制設備之間的串口。

本實施例提供的方法同樣可以應用于圖2所示的應用場景中,在S310
之前還包括:S300,啟動控制設備的控制程序,并在該控制程序上選擇升級
模式;于此同時,嵌入式設備上電后,在CPU啟動上述各實施例中所述的啟
動引導程序后,向控制設備發送第一問詢信號,相應地,本實施例中還包括:
S301,通過控制程序接收嵌入式設備發送的第一問詢消息,第一問詢消息用
于提示控制設備對嵌入式設備中的當前引導程序進行升級。控制設備通過用
戶的選擇確定是否發送升級指示消息,在其發送該升級指示消息的情況下,
通過該消息向嵌入式設備指示控制設備已進入升級流程,指示嵌入式設備開
始監聽串口,以隨時接收控制設備發送的升級文件。

S320,根據用戶選擇的文件路徑計算升級文件的文件長度、校驗字段和
文件數據。

在本實施例中,用戶可以在選擇升級模式后,指定待升級引導文件的路
徑,從而嵌入式設備根據用戶已指定的文件路徑計算并獲取升級文件的內
容,該升級文件的內容與上述各實施例中相同。

S330,通過串口向嵌入式設備發送計算出的升級文件,使得嵌入式設備
將升級文件寫入嵌入式設備的存儲器中,以替換存儲器中的當前引導程序。

在本實施例中,為了保證嵌入式設備已經解析出當前為升級流程,并已
進入監聽狀態,通常可以在計算出升級文件后等待一定的時間之后執行發送
升級文件的操作,例如在S320到S330之間可以設定3s的延遲時間,從而保
證嵌入式設備可以通過串口接收到該升級文件。

本實施例所提供的引導程序升級方法,通過向嵌入式設備發送升級指示
消息,以指示嵌入式設備開始監聽嵌入式設備與該控制設備之前的串口,于
此同時,終端根據用戶選擇的文件路徑計算出升級文件的內容,從而將該升
級文件通過串口發送給嵌入式設備,使得該嵌入式設備將升級文件寫入其存
儲器中,以替換存儲器中的當前引導程序,本實施例通過將控制設備中的升
級文件下載到嵌入式設備的存儲器中,實現對該嵌入式設備中的引導程序進
行升級的目標;本實施例提供的引導程序升級方法,解決了采用燒錄器對引
導程序進行升級的過程中,由于需要拆卸嵌入式設備的外殼來實現升級,而
導致升級引導程序的操作方式比較復雜,工作量大的問題。

需要說明的是,本實施例提供的方法中,嵌入式設備發送第一問詢消息
后,根據在預置的時間內是否接收到升級指示消息執行的相應操作,以及在
接收到升級文件保存到內存后,對該升級文件進行驗證,并且根據驗證結果
執行的相應操作,均與上述圖1到圖4所示實施例中的操作方式相同,并且
具有相同的有益效果,故在此不再贅述。

圖6為本發明實施例提供的還一種引導程序升級方法的流程圖。與圖4
所示實施例類似地,本實施例提供的引導程序升級方法適用于對嵌入式系統
中的引導程序進行備份和升級的情況中。如圖6所示,本實施例的方法可以
包括:

S410,向嵌入式設備發送備份指示消息,該備份指示消息用于指示嵌入
式設備向終端發送備份文件。

在本實施例中,在S410之前同樣還包括:S400,啟動控制設備的控制
程序,并在該控制程序上選擇備份模式;S401,通過控制程序接收嵌入式設
備發送的第二問詢消息,第二問詢消息用于提示控制設備對嵌入式設備中的
當前引導程序進行備份。控制設備通過用戶的選擇確定是否發送備份指示消
息,在其發送該備份指示消息的情況下,通過該消息向嵌入式設備指示控制
設備已進入備份流程,指示嵌入式設備計算其存儲器中的當期引導程序的文
件長度、校驗字段和文件數據,該計算結果的內容即是備份文件,并向控制
設備發送該備份文件。

S420,通過串口接收嵌入式設備發送的備份文件,該備份文件包括嵌入
式設備的存儲器中的當前引導程序的文件長度、校驗字段和文件數據。

S430,將接收到的備份文件寫入控制設備的內存中,并對備份文件進行
校驗。

S431,判斷對備份文件的校驗是否成功;若成功,則執行S440,若失敗,
則執行S432。

S440,將備份文件保存到用戶在控制設備中預先設置的存儲位置中。

S432,向嵌入式設備發送備份失敗消息。

在本實施例中,控制設備同樣可以將接收到的備份文件先保存到內存中
進行校驗,在對備份文件校驗成功后,完成備份流程,即將備份文件保存到
用戶在控制設備中預先設置的存儲位置中,例如可以是控制程序上選擇備份
模式后,在控制設備中指定要保存的備份文件的路徑,該備份文件例如可以
保存到BOOT.bak中;另外,在對備份文件校驗失敗后,可以發送備份失敗
消息以提示嵌入式設備。

本實施例提供的引導程序升級方法,在對嵌入式設備中的當前引導程序
進行備份后,可以繼續對嵌入式設備中的當前引導程序進行升級,在具體實
現中,結束備份操作后,即在S440之后,重新啟動嵌入式設備開始執行升
級操作,升級的具體方式包括:

S450,向嵌入式設備發送升級指示消息,該升級指示消息用于指示嵌入
式設備監聽嵌入式設備與控制設備之間的串口。

類似地,在S450之前同樣可以包括:S441,在該控制程序上選擇升級
模式;S442,通過控制程序接收嵌入式設備發送的第一問詢消息,第一問詢
消息用于提示控制設備對嵌入式設備中的當前引導程序進行升級。

S460,根據用戶選擇的文件路徑計算升級文件的文件長度、校驗字段和
文件數據。

S470,通過串口向嵌入式設備發送計算出的升級文件,使得嵌入式設備
將升級文件寫入嵌入式設備的存儲器中,以替換存儲器中的當前引導程序。

具體地,S441~S470的實現方式可以參照圖5所示實施例中S300~S330。

進一步地,本實施例提供的方法,在嵌入式設備將升級文件寫入存儲器
的過程中若發生升級錯誤的情況下,還可以對嵌入式設備中第一引導程序區
域中的內容進行恢復,即退回到升級前的狀態,例如可以使用S440中保存
到BOOT.bak中的備份文件,重新執行一次升級流程,本實施例的具體實現
方式可以包括以下步驟:

1)、通過控制程序接收嵌入式設備發送的第三問詢消息,該第三詢問消
息用于指示嵌入式設備對當前引導程序升級失敗。

2)、向嵌入式設備發送恢復指示消息,該恢復指示消息用于指示嵌入式
設備監聽串口。

3)、根據用戶選擇的文件路徑計算恢復文件的文件長度、校驗字段和文
件數據。

4)、通過串口向嵌入式設備發送恢復文件,使得嵌入式設備將恢復文件
寫入嵌入式設備的存儲器中,以還原在寫入升級文件前嵌入式設備的存儲器
中的引導程序。

在本實施例中,在升級失敗后同樣需要重啟嵌入式設備,通過CPU再次
執行啟動引導程序,發送第三問詢消息時控制設備的控制程序同樣為升級模
式,因此,嵌入式設備接收到恢復指示消息后的處理方式與上述實施例中接
收到升級指示消息的處理方式類似,均是采用控制設備發送的文件內容替換
存儲器中現有的引導程序;不同的是,本實施例中用戶在控制設備中選擇的
文件路徑可以是上述通過備份流程存儲到控制設備中的備份文件的路徑,即
該恢復文件為在控制設備中存儲的備份文件中選擇出的其中一個備份文件,
例如可以是上述S440中保存到BOOT.bak中的備份文件。

圖7為本發明實施例提供的一種引導程序升級方法的交互執行的流程
圖。本實施例提供的引導程序升級方法適用于對嵌入式系統中的引導程序進
行備份和升級的情況中,該方法可以由控制設備和嵌入式設備執行。如圖7
所示,本實施例的方法可以包括:

在控制設備中執行,S501,啟動控制設備的控制程序,并在該控制程序
上選擇升級模式。

S502,通過用戶的選擇確定升級文件的路徑。

隨后對嵌入式設備上電,嵌入式設備開始執行,S503,通過CPU執行存
儲器中的啟動引導程序。

S504,通過該啟動引導程序向控制設備發送第一問詢消息。

S505,等待預置的時間,并判斷在該等待預置的時間內是否接收到升級
指示消息;若接收到,則執行S506;若沒有接收到,則執行S507,加載并
啟動當前引導程序。

此時,控制設備在接收到第一問詢消息后,通過用戶的選擇確定是否發
送應答響應,其中,若需要進入升級流程,控制設備執行S508,向嵌入式設
備發送升級指示消息;相應地,S505中的判斷為接收到,進而執行S506,
開始監聽串口。

控制設備在發送升級指示消息后,繼續執行S509,根據用戶選擇的文件
路徑計算升級文件的文件長度、校驗字段和文件數據,以獲取出升級文件的
內容。

S510,通過串口向嵌入式設備發送已計算出的升級文件。

嵌入式設備在此時處于監聽狀態,在通過串口接收到控制設備發送的升
級文件后,執行S511,將通過串口接收到的升級文件寫入嵌入式設備的內存
中,并對升級文件進行校驗。

S512,判斷對升級文件的校驗是否成功;若成功,則執行S513,若失敗,
則執行S514。

S513,將升級文件寫入嵌入式設備的存儲器中,以替換存儲器中的當前
引導程序。

S514,加載并啟動當前引導程序。

本實施例提供的方法,同樣可以在對嵌入式設備的當前引導程序進行升
級前,對該當前引導程序先進行備份,具體實現方式為,控制設備在執行S501
之前還可以執行S515,啟動控制設備的控制程序,并在該控制程序上選擇備
份模式。

S516,通過用戶的選擇指定備份文件的保存路徑。

隨后對嵌入式設備上電,該嵌入式設備開始執行,S517,通過CPU執行
存儲器中的啟動引導程序。

S518,通過該啟動引導程序向控制設備發送第二問詢消息。

S519,等待預置的時間,并判斷在該等待預置的時間內是否接收到備份
指示消息;若接收到,則執行S520;若沒有接收到,則執行S521,加載并
啟動當前引導程序。

此時,控制設備在接收到第二問詢消息后,通過用戶的選擇確定是否發
送應答響應,其中,若需要進入備份流程,控制設備執行S522,向嵌入式設
備發送備份指示消息;相應地,S519中的判斷為接收到,進而執行S520,
讀取存儲器中的當前引導程序,并計算該當前引導程序的文件長度、校驗字
段和文件數據。

S523,向所述控制設備發送備份文件,該備份文件包括嵌入式設備對當
前引導程序的計算結果。

控制設備在此時處于監聽狀態,在通過串口接收到嵌入式設備發送的備
份文件后,執行S524,將接收到的備份文件寫入控制設備的內存中,并對備
份文件進行校驗。

S525,判斷對備份文件的校驗是否成功;若成功,則執行S526,若失敗,
則執行S527。

S526,將備份文件保存到用戶在控制設備中預先設置的存儲位置中。

S527,向嵌入式設備發送備份失敗消息。

需要說明的是,本實施例提供的引導程序升級方法與上述實施例類似地,
在嵌入式設備執行S513的過程中發生升級錯誤的情況時,還可以對嵌入式
設備的存儲器中的引導程序進行恢復,即退回到升級前的狀態,例如可以使
用S526中保存到控制設備中的備份文件,重新執行一次升級流程,即再次
執行S501~S514,在本次執行過程中,用戶的選擇確定升級文件的路徑具體
為:用戶將控制設備中存儲的備份文件的路徑確定為升級文件的路徑,從而
將S501~S514中的升級文件替換為控制設備中存儲的備份文件。

圖8為本發明實施例提供的一種嵌入式設備的結構示意圖。本實施例提
供的嵌入式設備適用于對嵌入式系統中的引導程序進行升級的情況中,該嵌
入式設備通常以硬件和軟件的方法來實現,通過與嵌入式系統中的控制設備
的消息交互和數據交互實現引導程序的升級。如圖8所示,本實施例的嵌入
式設備具體包括接收模塊11和存儲模塊12。

其中,接收模塊11,用于接收控制設備發送的升級指示消息,升級指示
消息用于指示接收模塊11監聽嵌入式設備與控制設備之間的串口。

通過本實施例提供的嵌入式設備進行引導程序升級時同樣可以應用于圖
2所示的應用場景中,升級指示消息為控制設備在控制設備中的控制程序為
升級模式下發送的,具體地,本實施例提供的嵌入式設備還包括:處理模塊
13,用于在接收模塊11接收控制設備發送的升級指示消息之前,通過CPU
執行存儲器中的啟動引導程序;發送模塊14,用于通過啟動引導程序向控制
設備發送第一問詢消息;相應地,一方面,處理模塊13,還用于當接收模塊
11在預置的時間內接收到升級指示消息,根據接收模塊11接收的升級指示
消息開始監聽串口;另一方面,處理模塊13,還用于當接收模塊11在預置
的時間內沒有接收到升級指示消息,加載并啟動當前引導程序。

接收模塊11,還用于通過串口接收控制設備發送的升級文件,該升級文
件為控制設備根據用戶選擇的文件路徑計算出的,該升級文件包括文件長度、
校驗字段和文件數據。

存儲模塊12,用于將接收模塊11接收到的升級文件寫入嵌入式設備的
存儲器中,以替換存儲器中的當前引導程序。

本發明實施例提供的嵌入式設備用于執行本發明圖1所示實施例提供的
引導程序升級方法,具備相應的功能模塊,其實現原理和技術效果類似,此
處不再贅述。

進一步地,圖9為本發明實施例提供的另一種嵌入式設備的結構示意
圖。在上述圖8所示實施例的基礎上,本實施例中的存儲模塊12具體可以包
括:存儲單元15,用于在接收模塊11接收到控制設備發送的升級文件之后,
將該升級文件寫入嵌入式設備的內存中;校驗單元16,用于對存儲單元15
寫入嵌入式設備的內存中的升級文件進行校驗;相應地,存儲單元15,還用
于在校驗單元16對升級文件校驗成功后,將升級文件寫入嵌入式設備的存儲
器中;在另一種可能的實現方式中,校驗單元16,還用于在對升級文件校驗
失敗后,加載并啟動當前引導程序。

本發明實施例提供的嵌入式設備不僅可以對其引導程序進行升級,在升
級前還可以將其存儲器中的當前引導程序備份到控制設備中,具體實現方式
為:接收模塊11,還用于在接收控制設備發送的升級指示消息之前,接收控
制設備發送的備份指示消息,該備份指示消息用于指示控制設備開始監聽串
口;相應地,該嵌入式設備還包括:計算模塊17,用于根據接收模塊11接
收的備份指示消息讀取存儲器中的當前引導程序,并計算當前引導程序的文
件長度、校驗字段和文件數據;發送模塊14,還用于向控制設備發送備份文
件,以使控制設備將接收到的備份文件寫入控制設備的內存中,并對備份文
件進行校驗,在校驗成功后,將備份文件保存到用戶在控制設備中預先設置
的存儲位置中,其中,該備份文件包括對當前引導程序的計算結果。

與上述實施例類似地,備份指示消息為控制設備在控制程序為備份模式
下發送的,則處理模塊13,還用于在接收模塊11接收控制設備發送的備份
指示消息之前,通過CPU執行存儲器中的啟動引導程序;發送模塊14,還
用于通過啟動引導程序向控制設備發送第二問詢消息;相應地,一方面,處
理模塊13,還用于當接收模塊11在預置的時間內接收到備份指示消息,根
據接收模塊11接收的備份指示消息指示控制設備開始監聽串口;另一方面,
處理模塊13,還用于當接收模塊11在預置的時間內沒有接收到備份指示消
息,加載并啟動當前引導程序。

可選地,若控制設備對備份文件校驗失敗,還可以向嵌入式設備發送提
示消息,則本實施例中的接收模塊11,還用于在發送模塊14向終端備發送
備份文件之后,接收該控制設備發送的備份失敗消息,備份失敗消息用于指
示所述控制設備對所述備份文件校驗失敗。

更進一步地,本實施例提供的嵌入式設備,在存儲模塊12將升級文件寫
入存儲器的過程中發生升級錯誤的情況下,還可以對嵌入式設備的存儲器中
的引導程序進行恢復,即退回到升級前的狀態,例如可以使用執行備份操作
時保存到控制設備中的備份文件,重新執行一次升級操作,在本次執行升級
操作過程中,升級文件的路徑具體為控制設備中存儲的備份文件的路徑,從
而在執行升級操作時,將上述升級文件替換為控制設備中存儲的備份文件,
其具體實現方式為:處理模塊13,還用于在存儲模塊12將升級文件寫入嵌
入式設備的存儲器的過程中發生升級錯誤時,重新啟動嵌入式設備,并通過
CPU再次執行啟動引導程序;發送模塊14,還用于通過啟動引導程序向控制
設備發送第三問詢消息;接收模塊11,還用于接收控制設備發送的恢復指示
消息,該恢復指示消息用于指示該嵌入式設備監聽串口,并通過串口接收控
制設備發送的恢復文件,該恢復文件為控制設備根據用戶選擇的文件路徑計
算出的,該恢復文件包括文件長度、校驗字段和文件數據;存儲模塊12,還
用于將恢復文件寫入嵌入式設備的存儲器中,以還原在寫入升級文件前嵌入
式設備的存儲器中的引導程序。上述恢復引導程序的操作方式與升級引導程
序的操作方式類似,只是寫入嵌入式設備的存儲器中的文件內容不同,故在
此不再具體說明。

本發明實施例提供的嵌入式設備用于執行本發明圖3和圖4所示實施例
提供的引導程序升級方法,具備相應的功能模塊,其實現原理和技術效果類
似,此處不再贅述。

圖10為本發明實施例提供的一種控制設備的結構示意圖。本實施例提
供的控制設備適用于對嵌入式系統中的引導程序進行升級的情況中,該控制
設備通常以硬件和軟件的方法來實現,通過與嵌入式系統中的嵌入式設備的
消息交互和數據交互實現引導程序的升級。如圖10所示,本實施例的控制
設備具體包括發送模塊21和計算模塊22。

其中,發送模塊21,用于向嵌入式設備發送升級指示消息,升級指示消
息用于指示嵌入式設備監聽嵌入式設備與控制設備之間的串口。

通過本實施例提供的控制設備進行引導程序升級時同樣可以應用于圖2
所示的應用場景中,在具體實現中,該控制設備還包括:啟動模塊23,用于
在發送模塊21向嵌入式設備發送升級指示消息之前,啟動控制設備的控制程
序,并在該控制程序上選擇升級模式;于此同時,嵌入式設備上電后,在CPU
啟動上述各實施例中所述的啟動引導程序后,向控制設備發送第一問詢信號,
相應地,控制設備還包括:接收模塊24,用于通過控制程序接收嵌入式設備
發送的第一問詢消息,該第一問詢消息用于提示控制設備對嵌入式設備中的
當前引導程序進行升級。

計算模塊22,用于根據用戶選擇的文件路徑計算升級文件的文件長度、
校驗字段和文件數據;

發送模塊21,還用于通過串口向嵌入式設備發送計算模塊22計算出的
升級文件,使得嵌入式設備將升級文件寫入嵌入式設備的存儲器中,以替換
存儲器中的當前引導程序。

本發明實施例提供的控制設備用于執行本發明圖5所示實施例提供的引
導程序升級方法,具備相應的功能模塊,其實現原理和技術效果類似,此處
不再贅述。

需要說明的是,本實施例提供的控制設備在執行引導程序升級方法中,
嵌入式設備發送第一問詢消息后,根據在預置的時間內是否接收到升級指示
消息執行的相應操作,以及在接收到升級文件保存到內存后,對該升級文件
進行驗證,并且根據驗證結果執行的相應操作,均與上述各實施例中的操作
方式相同,并且具有相同的有益效果,故在此不再贅述。

進一步地,圖11為本發明實施例提供的另一種控制設備的結構示意圖。
本發明實施例提供的控制設備不僅可以對其引導程序進行升級,在升級前還
可以將嵌入式設備的存儲器中的當前引導程序備份到該控制設備中,具體實
現方式為:發送模塊21,還用于在向嵌入式設備發送升級指示消息之前,向
嵌入式設備發送備份指示消息,該備份指示消息用于指示嵌入式設備向終端
發送備份文件;相應地,接收模塊24,還用于通過串口接收嵌入式設備發送
的備份文件,備份文件包括嵌入式設備的存儲器中的當前引導程序的文件長
度、校驗字段和文件數據;在上述圖10所示實施例的基礎上,本實施例提供
的控制設備還包括:存儲模塊25,用于將接收模塊24接收到的備份文件寫
入控制設備的內存中;校驗模塊26,用于對存儲模塊25寫入控制設備的內
存中的備份文件進行校驗;相應地,存儲模塊25,還用于在校驗模塊26對
備份文件校驗成功后,將備份文件保存到用戶在控制設備中預先設置的存儲
位置中;在另一種實現方式中,發送模塊21,還用于在校驗模塊26對備份
文件校驗失敗后,向嵌入式設備發送備份失敗消息。

與上述實施例類似地,本實施例提供的控制設備,啟動模塊23,還用于
在發送模塊21向嵌入式設備發送備份指示消息之前,啟動控制設備的控制程
序,并在控制設備的控制程序上選擇備份模式;于此同時,嵌入式設備上電
后,在CPU啟動上述各實施例中的啟動引導程序后,向控制設備發送第二問
詢信號,相應地,接收模塊24,還用于通過控制程序接收嵌入式設備發送的
第二問詢消息,第二問詢消息用于提示控制設備對嵌入式設備中的當前引導
程序進行備份。

更進一步地,本實施例提供的控制設備執行引導程序升級方式時,在嵌
入式設備將升級文件寫入其存儲器的過程中發生升級錯誤的情況下,還可以
對嵌入式設備的存儲器中的引導程序進行恢復,即退回到升級前的狀態,例
如可以使用執行備份操作時保存到控制設備中的備份文件,重新執行一次升
級操作,在本次執行升級操作過程中,升級文件的路徑具體為控制設備中存
儲的備份文件的路徑,從而在執行升級操作時,將上述升級文件替換為控制
設備中存儲的備份文件,其具體實現方式為:接收模塊24,還用于在發送模
塊21通過串口向嵌入式設備發送計算出的升級文件之后,通過控制程序接收
嵌入式設備發送的第三問詢消息,該第三詢問消息用于指示嵌入式設備對當
前引導程序升級失敗;發送模塊21,還用于向嵌入式設備發送恢復指示消息,
該恢復指示消息用于指示嵌入式設備監聽串口;計算模塊22,還用于根據用
戶選擇的文件路徑計算恢復文件的文件長度、校驗字段和文件數據;從而,
發送模塊21通過串口向嵌入式設備發送計算模塊22計算出的恢復文件,使
得入式設備將恢復文件寫入嵌入式設備的存儲器中,以還原在寫入升級文件
前嵌入式設備的存儲器中的引導程序。上述恢復引導程序的操作方式與升級
引導程序的操作方式類似,只是寫入嵌入式設備的存儲器中的文件內容不同,
故在此不再具體說明。

圖2為同樣為本發明實施例提供的一種嵌入式系統的結構示意圖。如圖
2所示,本實施例提供的嵌入式系統中可以包括嵌入式設備100和控制設備
200,該嵌入式設備100可以為上述圖8和圖9任一實施例中所示的嵌入式設
備,該控制設備200可以為上述圖10和圖11任一實施例中所示的控制設備,
可以用于執行圖1,圖3到圖7所示的引導程序升級方法,其實現的具體方
式和實現的有益效果均與上述實施例相同,故在此不再贅述。

雖然本發明所揭露的實施方式如上,但所述的內容僅為便于理解本發明
而采用的實施方式,并非用以限定本發明。任何本發明所屬領域內的技術人
員,在不脫離本發明所揭露的精神和范圍的前提下,可以在實施的形式及細
節上進行任何的修改與變化,但本發明的專利保護范圍,仍須以所附的權利
要求書所界定的范圍為準。

關 鍵 詞:
引導 程序 升級 方法 嵌入式 設備 控制 系統
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:引導程序升級方法、嵌入式設備、控制設備及嵌入式系統.pdf
鏈接地址:http://www.rgyfuv.icu/p-6100739.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图