單板機產品軟件升級解決方案是盈鵬飛嵌入式系統(tǒng)解決方案旗下的方案之一,是解決嵌入式系統(tǒng)設備“在應用編程(IAP)”的優(yōu)秀方案。它可以輕松實現(xiàn)使用 SD 卡、CF 卡、U 盤等熱插拔存儲設備對操作系統(tǒng)和應用軟件的在系統(tǒng)升級。這可以大大節(jié)省系統(tǒng)維護成本、提高系統(tǒng)工作效率。適用于工控、醫(yī)療、監(jiān)控、數(shù)據(jù)采集等各類嵌入式系統(tǒng)設備的升級更新。
《單板機產品軟件升級技術說明書(Win CE 篇)》主要介紹 Win CE 操作系統(tǒng)和應用軟件升級方案的技術性內容,幫助技術人員了解此方案的工作原理和技術特性。關于軟件升級的操作方法請參見《單板機產品軟件升級操作手冊(Win CE篇)》。如有疑問請與盈鵬飛科技技術支持部聯(lián)系。
WinCE在系統(tǒng)升級程序
單板機產品軟件升級解決方案是解決嵌入式系統(tǒng)設備“在應用編程”的優(yōu)秀方案。它可以輕松實現(xiàn)使用SD卡、CF 卡、U 盤等熱插拔存儲設備對操作系統(tǒng)和應用軟件的在系統(tǒng)升級。這可以大大節(jié)省系統(tǒng)維護成本、提高系統(tǒng)工作效率。
功能參數(shù)
適用于WinCE 5.0操作系統(tǒng),自定義升級方式,在系統(tǒng)升級設計,使用U盤/CF卡/SD卡實現(xiàn)升級,無需專用設備。
功能特征
無需工程師親臨現(xiàn)場,無需停機升級,即插即用的全自動完成,內核校驗及升級監(jiān)控功能保證升級安全穩(wěn)定。
單板機產品軟件升級解決方案是解決嵌入式系統(tǒng)設備“在應用編程(IAP)”的優(yōu)秀方案。它可以輕松實現(xiàn)使用SD卡、CF 卡、U 盤等熱插拔存儲設備對操作系統(tǒng)和應用軟件的在系統(tǒng)升級。這可以大大節(jié)省系統(tǒng)維護成本、提高系統(tǒng)工作效率。適用于工控、醫(yī)療、監(jiān)控、數(shù)據(jù)采集等各類嵌入式系統(tǒng)設備的升級更新。
適用場合
遠程傻瓜式升級 ——— 技術人員制作好內核文件后,用網(wǎng)絡發(fā)送到設備場所,由非技術人員傻瓜式升級。
現(xiàn)場在應用調試 ——— 在不方便停機或拆機調試的情況下,可在現(xiàn)場制作內核文件并用U盤在應用狀態(tài)下調試。
升級原理介紹
基本原理
在 Win CE 操作系統(tǒng)內部已經集成了內核升級監(jiān)控程序 EBDUpdate.exe,并在系統(tǒng)運行期間一直處于監(jiān)控狀態(tài)。當有可熱插拔存儲設備(如 U 盤、SD 卡、CF 卡等)插入時,監(jiān)控程序會自動檢測存儲設備中是否滿足升級條件,并做相應的處理。即根據(jù)存儲設備內的配置文件、內核校驗文件以及用戶的選擇,判斷是否升級當前系統(tǒng),若確認升級,則將內核文件和配置文件中的數(shù)據(jù)寫到 Flash 中,完成系統(tǒng)升級。在系統(tǒng)升級需要如下文件支持:Win CE 內核文件(NK.nb0)、配置信息文件(EBDSerialID.bin)、內核校驗文件(NKVerify.bin)。其中配置信息文件和內核校驗文件由配置信息生成軟件 EBDSerialID.exe 生成,內核編譯完成后應立即制作相應的配置信息文件和內核校驗文件,或由 Win CE 內核供應商給出。
生成文件流程圖
升級流程圖
配置文件生成軟件介紹(EBDSerialID.exe)
技術特征
EBDSerialID.exe 可以在 Windows 2000/xp/me 操作系統(tǒng)中運行。
EBDSerialID.exe 在校驗內核時將生成 NKVerify.bin 文件,用于生成系統(tǒng)升級校驗碼。
EBDSerialID.exe 在生成配置信息時將生成 EBDSerialID.bin 文件,用于生成系統(tǒng)升級配置信息碼。
生成的 NKVerify.bin 和 EBDSerialID.bin 將被自動存放在與 EBDSerialID.exe 相同的路徑下。
EBDSerialID.exe 軟件界面
字段功能說明
細則
1. 產品型號索引方式
產品型號索引方式中有多款可供選擇的產品型號。選擇所需產品時配置信息欄中的數(shù)據(jù)將會變成對應的默認值。默認配置可手動修改,重新選擇產品型號將恢復默認值設置。如沒有所需的產品型號則可設置
為空,并手動修改配置信息。
2. ID 號索引方式
ID號索引方式是專為產品升級類型較多的情況而設計。使用前需要開發(fā)商對產品進行分類并設置ID號碼。在應用時可直接輸入對應的 ID 號碼完成配置信息設置。(目前 ID 號索引方式為預留功能,如有需要我公司可協(xié)助完成相關工作。)
3. 存儲器類型
存儲器類型是指 WinCE 內核文件在產品中的存儲介質,此設置由產品硬件設計決定,設置前請參考相應產品的技術說明書。
4. 更新方式
更新方式分為自動、手動和強制。選擇自動升級時,整個更新過程無需人工操作,但系統(tǒng)要判斷升級版本和升級日期是否新于當前版本,如果版本較舊則不進行升級;選擇手動升級時,在升級過程中各階段
將出現(xiàn)操作對話框,需要人工操作才能完成升級;選擇強制升級時,升級程序將不判斷升級版本和升級日期,而直接進行自動方式升級。
5. 客戶信息
客戶信息用于配置客戶專用的公司信息,可由用戶自定義名稱(一般為縮寫或簡稱)。若用“EBD”字段,則代表該字段在系統(tǒng)升級過程中無作用,且對應的“升級版本”也將失效。
6. 公司信息
公司信息固定使用“EBD”字段。(定制服務時可修改)
7. 升級版本
升級版本是在客戶信息有效時使用,由用戶自行定義整套軟件版本,格式為“1.00”,格式中只允許數(shù)字和點,如出現(xiàn)其它字符則視為無效格式。
8. 軟件版本
軟件版本是與產品型號的 WinCE BSP 包的版本一致,格式為“1.00”,格式中只允許數(shù)字和點,如出現(xiàn)其它字符則視為無效格式。
9. 起始地址
起始地址是指 WinCE 內核文件在存儲器中的開始地址,此設置由產品硬件設計決定,設置前請參考相應產品的技術說明書。一般采用默認方式即可,字段以十六進制數(shù)值設置。單板機產品軟件升級技術說明書 (Win CE 篇) V1.02
10. 硬件版本
硬件版本是指產品的 PCB 版本,此設置可以區(qū)分同種產品的不同 PCB 版本,以細化升級內容。
11. 讀取長度
讀取長度是指 WinCE 內核文件的有效數(shù)據(jù)長度,即 Total ROM Size 變量的值,字段是以十六進制格式顯示,其長度值必須大于等于內核文件有效數(shù)據(jù)長度,否則將導致升級失敗或系統(tǒng)無法啟動。(例如:SBC9307-II,SBC9315,MINI9315 三款單板機的內核長度不能超過 28.25MB,即 Total ROM Size≤1C40000。SBC9261,STORMY9 兩款單板機的內核長度不能超過 31.75MB,即 Total ROM Size≤1FC0000)。
12. BOM 版本
BOM 版本是指產品生產時,產品的元器件清單的版本,沒有特殊情況時,這個字段采用默認方式。(部分嵌入式設備的 BOM 版本不同會使升級內容有所不同)
13. 更新日期
更新日期是指 WinCE 內核文件的編譯完生時間,這個字段為讀取 PC 系統(tǒng)的時間,若該時間不正確,可手動修改。因此在 WINCE 內核編譯完時時必須立即制作所需的所有文件。格式:4 位年,2 位月,2 位日。例:2008 年 3 月 1 日的格式為 20080301
14. 升級版本判斷
除強制升級方式外,待升級的文件必須滿足如下條件方能升級:
(1)“軟件版本”或“升級版本”高于當前版本。
(2)“更新日期”高于當前版本的更新日期。
15. 必要文件
NK.nb0、NKVerify.bin、EBDSerialID.bin 是升級的必要文件,必須存放在移動存儲設備(如 U 盤、SD卡)的根目錄下,否則嵌入式系統(tǒng)設備將不能識別。建議在電腦本地硬盤上生成配置文件,再復制到存儲設備,在移動存儲設備上生成文件可能會導致錯誤。若已有相應的配置信息文件(EBDSerialID.bin)和內核校驗文件(NKVerify.bin),則可省略制作升級文件這個步驟,直接進行在嵌入式系統(tǒng)升級WinCE 系統(tǒng)的步驟。
16. 內核校驗文件
內核校驗文件(NKVerify.bin)是防止內核文件(NK.nb0)在升級過程中被意外修改或數(shù)據(jù)出錯。在嵌入式系統(tǒng)開始升級前將會對內核文件再次校驗,確認內核文件無誤后方能開始升級。
升級監(jiān)控程序介紹(EBDUpdate.exe)
技術特征
EBDUpdate.exe 可以在 Windows CE 4.2/5.0 嵌入式操作系統(tǒng)中運行。
EBDUpdate.exe 程序的安裝和卸載需在 Win CE 操作系統(tǒng)內核編譯時完成。
EBDUpdate.exe 將在系統(tǒng)啟動時自動運行,并轉入到后臺監(jiān)控狀態(tài)。
EBDUpdate.exe 將在系統(tǒng)發(fā)現(xiàn)移動存儲設備時檢查升級條件,條件滿足時則轉到前臺運行。
升級流程圖
在嵌入式系統(tǒng)中,EBDUpdate.exe 的升級部分流程圖
細則
1. 程序安裝
當前嵌入式系統(tǒng)中安裝有EBDUpdate.exe程序是系統(tǒng)升級的必要條件,EBDUpdate.exe隨Win CE內核一同編譯,需要在內核編譯時添加并設置為自動后臺運行。首次下載帶有升級監(jiān)控程序的內核文件需要使用常規(guī)下載方式。關于 EBDUpdate.exe 程序的安裝方法請參見《單板機產品軟件升級操作手冊》。
2. 系統(tǒng)啟動
在冷啟動和重新啟動時,系統(tǒng)都會自動運行 EBDUpdate.exe 程序。系統(tǒng)啟動時將自動檢測升級條件,如有移動存儲設備并配置信息正確則將自動彈出升級提示(配置為手動狀態(tài)時)。因 Win CE 操作系統(tǒng)在 SDRAM 中運行,所以在升級完成但沒有重新啟動之前,系統(tǒng)升級不能生效。
3. 程序運行
EBDUpdate.exe 程序在系統(tǒng)啟動后一直處于后臺監(jiān)控狀態(tài),當滿足升級條件時才被激活,升級完成后將自動轉入后臺運行。EBDUpdate.exe 程序在系統(tǒng)運行時無法關閉,其會占用部分系統(tǒng)資源,具體數(shù)據(jù)依實際情況而有所不同。
4. 激活條件
EBDUpdate.exe 的激活需要滿足以下條件。如滿足則轉到前臺執(zhí)行升級,如不滿足則繼續(xù)處于后臺監(jiān)控狀態(tài)。
(1) 監(jiān)控程序啟動或正在監(jiān)控時發(fā)現(xiàn)移動存儲設備存在或接入。
(2) 移動存儲設備的根目錄下存在配置信息文件,文件名必須是 EBDSerialID.bin。
(3) 讀取配置信息文件的格式和數(shù)據(jù)符合規(guī)范。
5. 升級條件
EBDUpdate.exe 順利完成升級必須滿足以下條件。
(1) 移動存儲設備根目錄下必須存在以下文件:NKVerify.bin、EBDSerialID.bin、NK.nb0。
(2) EBDSerialID.bin 和 NKVerify.bin 文件中的數(shù)據(jù)正確。
(3)升級過程中,系統(tǒng)停止運行其它應用程序。
(4)升級過程中,系統(tǒng)電源不能中斷。
6. 程序卸載
監(jiān)控程序的卸載是其安裝的逆過程,需要在 Win CE 內核文件重新編譯時完成。關于 EBDUpdate.exe 程序的卸載方法請參見《單板機產品軟件升級操作手冊》。