一種mqx操作系統映像結構、mqx操作系統、用電信息采集終端及映像更新方法
【技術領域】
[0001]本發明涉及電力用戶用電信息采集終端維護技術領域,尤其涉及一種應用于用電信息采集終端的MQX操作系統映像結構、MQX操作系統以及相應的映像更新方法。
【背景技術】
[0002]用電信息采集終端(electric energy data acquire terminal)是對各信息采集點用電信息采集的設備,簡稱采集終端,可以實現電能表數據的采集、數據管理、數據雙向傳輸以及轉發或執行控制命令的設備。
[0003]由于MQX實時操作系統可支持多處理器應用,并具有大小可裁剪、面向組件的架構和便于使用等優點,在用電信息采集終端設備中得到了廣泛應用。
[0004]隨著國家電網公司對電力用戶用電信息采集系統的不斷建設,用電信息采集終端的功能也得到了不斷擴展、豐富,這就需要對已經運行的采集終端進行軟件升級、映像更新,以持續滿足新的功能要求。
[0005]目前存在以下問題:嵌入式系統映像結構一般由引導、操作系統、應用程序三部分構成。對于Linux操作系統而言這三部分可分別編譯、更新,而對于MQX操作系統,這三部分是一起編譯的,最后的映像只有一個文件不可拆分,不可分別更新,如果需要映像更新則必須將這三部分一起更新。考慮以下情況,在映像更新過程中如果異常中斷(比如斷電),對于Linux系統來說只需要更新應用程序映像,即使應用程序破壞了,操作系統還可以正常啟動,此時只需再將應用程序重新裝入文件系統或者重新寫入Flash存儲器指定位置即可。而對于MQX操作系統來說,因為整個映像是一起更新的,這就意味著如果映像更新失敗,將導致整個系統無法工作,只能返廠使用Flash存儲器燒寫工具重寫正確的映像文件。再考慮以下情況映像更新過程完整結束,但映像本身有故障、缺陷導致采集終端不能正常啟動、或者啟動后不停重啟,這種情況下也沒辦法再進行映像更新了。這兩種情況會造成采集系統采集成功率低、計量數據丟失、產生計量糾紛等,返廠重寫映像會增加大量維修成本、造成使用不便。
【發明內容】
[0006]為解決上述MQX操作系統映像更新時如有異常發生將導致采集終端不能正常運行的問題,本發明設計了一種新的MQX操作系統映像結構,基于該結構進行MQX操作系統映像更新,能保證終端正常運行,并降低更新成本。
[0007]本發明的具體技術方案如下:
一種MQX操作系統映像結構,包括基本映像和全功能映像,基本映像包括引導、操作系統和應用程序,其中引導設有全功能映像標志檢查模塊和編程按鍵狀態檢查模塊,分別用于檢查全功能映像標志的狀態和編程按鍵的狀態,應用程序用于文件傳輸和映像更新;全功能映像包括引導、操作系統和應用程序,引導負責加載系統映像,應用程序具備采集終端功能規范要求的全部功能。
[0008]所述的全功能映像標志檢查模塊用于檢查全功能映像更新是否正常結束,通過全功能映像標志是否為OK來判斷,而該標志在每次全功能映像更新前先擦除,映像更新完畢再置為0K,若映像更新異常中斷,則不做處理。
[0009]所述的編程按鍵狀態檢查模塊用于檢測是否有人為意愿將采集終端引導至基本映像,用于全功能映像更新正常結束,但全功能映像本身故障導致采集終端啟動失敗時,可人為引導至基本映像,等待啟動后重新更新全功能映像。
[0010]所述的基本映像、全功能映像和全功能映像標志預先編制并在采集終端出廠時寫入Flash存儲器的不同指定位置,全功能映像標志預置為0K。設置全功能映像標志,便于通過它判斷全功能映像更新是否正常結束,若有異常中斷,下一輪更新時會自動恢復。
[0011]全功能映像標志在Flash存儲器中的存儲位置與基本映像和全功能映像所在位置相互隔離,以防相互寫覆蓋。
[0012]本發明將MQX操作系統的映像結構設置為兩個文件,其中基本映像包括系統的基本功能,只具有文件傳輸和映像更新功能,并具有狀態檢查功能,確保系統異常時能進行基本映像加載,保證采集終端能啟動;同時通過一些狀態判斷,若判斷出上一輪更新異常中斷,可進一步完成全功能映像更新,制定了映像更新過程異常中止后的自動恢復機制。還可通過按鍵狀態檢測是否有人為進入基本映像的意愿,用于在全功能映像故障系統不能正常啟動時引導終端進入基本映像,以完成全功能映像的更新,使終端正常工作。全功能映像則包含了終端所要求的全部功能,即采集終端正常運行時的映像文件,系統正常運行時,只更新全功能映像,確保基本映像的安全。
[0013]本發明進一步提供了一種具有上述映像結構的MQX操作系統以及具有該操作系統的用電信息采集終端。
[0014]本發明還提供了一種MQX操作系統映像更新方法,采用上述用電信息采集終端,包括如下步驟:
(1)用電信息采集終端上電,系統初始化;
(2)進彳丁基本映像引導,檢查全功能映像標志狀態和編程按鍵狀態,若全功能映像標志為OK且編程按鍵未按下,則將程序指針指向全功能映像位置完成映像引導、系統加載及應用程序初始化;若全功能映像標志不是OK或者編程按鍵處于按下狀態,則按下一步進行;
(3)加載基本映像,基本映像加載完畢啟動后,檢測指定目錄是否存在映像文件,若存在,則通過文件屬性判斷是否為合法、完整的映像文件,若映像文件合法,則將映像文件更新至全功能映像位置,并將全功能映像標志設置為0K,復位采集終端。這樣,再回到步驟(I)采集終端再次啟動后,執行完步驟(I)、(2),在步驟(2)中會檢測到全功能映像標志為0K,采集終端加載全功能映像,啟動后終端恢復正常工作。
[0015]用電信息采集終端正常運行時接到映像更新指令后,接收映像文件并將映像以文件的形式存儲至指定文件系統目錄,文件接收完畢發起映像更新任務。在映像更新時,在映像文件寫到Flash存儲器之前先將全功能映像標志擦除,全功能映像更新成功之后再將全功能映像標志置為0K,并將指定目錄中的映像文件刪除。更新過程異常中斷時全功能映像標志不置0K。
[0016]更新完成后若發現加載的全功能映像存在缺陷導致系統啟動、運行不正常,則按下編程按鍵,復位采集終端,采集終端啟動后執行步驟(1)、(2),在步驟(2)中檢測到編程按鍵按下,采集終端會加載基本映像,在基本映像下完成全功能映像的更新。使終端恢復正常工作,可避免由全功能映像缺陷導致終端死機、不停復位時,不能再進行映像更新的問題。
[0017]優選的,步驟(3)中用于判斷映像文件合法性的文件屬性包括文件類型、標志位和CRC校驗。
[0018]本發明的有益效果:
1、將映像結構分為基本映像和全功能映像,映像更新時,只更新全功能映像,確保基本映像的安全,都能通過基本映像引導,以保證任何情況下都可更新全功能映像。
[0019]2、通過設置全功能映像標志,來判斷映像更新過程正常與否,若非OK說明映像升級過程曾有異常中斷,會自動加載基本映像,并查找合法映像文件,將其寫到全功能映像位置,完成全功能映像更新,實現了映像更新過程異常中斷后的自動恢復機制。
[0020]3、若加載后的