新四季網

一種嵌入式系統上電自檢方法

2023-05-21 11:17:01 1

專利名稱:一種嵌入式系統上電自檢方法
技術領域:
本發明涉及一種安全(Safety)領域內設備上電自檢及故障隔離方法,尤其是涉及一種嵌入式系統上電自檢方法。
背景技術:
隨著科技的發展,人們越來越依賴各種智能電子設備,而其中一些直接涉及人身安全,如軌道交通運控系統、飛機的飛行控制系統、汽車的電子控制系統等關鍵電子系統,如何確保這些電子系統安全可靠,成為必須解決的問題。在傳統的嵌入式設備中,通常上電自檢只是對內存或特定硬體進行檢測,並沒有考慮其它部件存在故障對系統的影響,尤其是安全相關的電子設備。通常傳統的上電自檢方法採用簡單的方法,並沒有考慮檢測覆蓋率,也就是說,它只對某一類型的故障檢測有效,檢測結果並不能完全代表設備的運行狀態。

發明內容
本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種可靠、有效、故障檢測覆蓋率高的嵌入式系統上電自檢方法。本發明的目的可以通過以下技術方案來實現:一種嵌入式系統上電自檢方法,該方法包括以下步驟:I)系統上電,對CPU寄存器進行檢測,判斷CPU寄存器是否存在故障,若是,則進行故障處理,若否,則執行步驟2);2)採用交叉走位法對內存進行檢測,判斷內存是否存在故障,若是,則進行故障處理,若否,則執行步驟3);3)對系統使用到的指令進行分類,分別對各類別指令進行測試,並將測試結果與預期測試結果向量進行比對,判斷所有指令是否均通過測試,若是,則執行步驟4),若否,則進行故障處理;4)對即將加載的作業系統文件及應用程式和數據進行ROM完整性檢測,判斷需要加載的文件是否完整,若是,則退出檢測,若否,則進入錯誤處理。所述的CPU寄存器包括通用寄存器、特殊寄存器和I/O接口寄存器。所述的交叉走位法的具體過程如下:測試內存數據總線,在指定地址處將數據逐位移位賦值,測試內存數據總線操作是否正確;測試地址總線,將特定數據放入不同的地址處,測試內存地址總線是否正確;對整個內存進行數據及地址的遞增及遞減操作,在每次操作結束後,對操作結果進行驗證,如通過則執行步驟3),否則直接返回錯誤結果。所述的指令的類別包括加、減、乘、除、移位、加載及存儲。所述的ROM完整性檢測採用的方法為基於MD5碼的文件完整性檢測方法。
與現有技術相比,本發明具有以下優點:1、本發明考慮了嵌入式系統的關鍵部件(CPU、內存、FLASH)失效問題以及拷貝過程中關鍵文件和數據損壞問題,採用的檢測方法診斷覆蓋率高,適用範圍廣(可推廣至各種ARM、X86嵌入式系統中);2、本發明的關鍵測試代碼可採用彙編語言開發,執行效率高,無需更改現有硬體設計,而且該方法實現成本較低;3、診斷中發現了故障及時處理,將系統掛起。


圖1為本發明的流程示意圖。
具體實施例方式下面結合附圖和具體實施例對本發明進行詳細說明。本實施例以本發明技術方案為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護範圍不限於下述的實施例。實施例如圖1所示,一種嵌入式系統上電自檢方法,該方法包括以下步驟:I)系統上電,在初始化階段對CPU寄存器進行檢測,判斷CPU寄存器是否存在故障,若是,則進行故障處理,若否,則執行步驟2);2)採用交叉走位法對內存進行檢測,判斷內存是否存在故障,若是,則進行故障處理,若否,則系統會進行其它外設的初始化工作(初始化驅動、加載驅動設備程序、發現設備等操作),如FLASH控制器,然後執行步驟3);3)對系統使用到的指令進行分類,分別對各類別指令進行測試,並將測試結果與預期測試結果向量進行比對,判斷所有指令是否均通過測試,若是,則執行步驟4),若否,則進行故障處理;4)當文件系統組件可用時,在BootLoad程序加載作業系統前,對即將加載的關鍵文件(包括作業系統文件、應用程式及數據)進行ROM完整性檢測,根據預存的MD5標記值對文件進行MD5比對運算,判斷需要加載的文件是否完整,若是,則退出檢測,上電自檢流程結束,若否,則進入錯誤處理。本方法中的故障處理(錯誤處理)均為根據實際故障採用現有的有效方法進行處理,包括啟動備用設備、重啟或重新安裝等。為提高自檢執行效率,該自檢方法關鍵自檢代碼全部採用彙編語言編寫;為提高開機內存檢測速度,該部分代碼是在內存中運行,而非傳統的在快閃記憶體中或BIOS中運行。本方法對嵌入式系統中典型的關鍵部件採用了高覆蓋率檢測方法,一旦發現故障,,程序立即進入死循環,直接將系統掛起,確保系統運行安全。上述嵌入式系統上電自檢方法具體由以下幾個子方法組成:1、CPU寄存器檢測方法通常在嵌入式系統中,系統上電時的CPU寄存器存取模式為管理模式。在管理模式下,可以讀寫大部分寄存器,包括通用寄存器、特殊寄存器、I/O接口寄存器。由於在管理模式或用戶模式下均可對通用寄存器進行操作,因此對通用寄存器除進行走位測試外,還應進行通用寄存器間故障耦合的測試,在此過程中,一旦發現寄存器錯誤,立即跳轉至錯誤處理部分,並返回測試結果,由BootLoad主程序根據錯誤結果進行錯誤處理。通常特殊寄存器,I/O接口寄存器在初始化過程中已被配置,因此在測試過程中應用通用寄存器保留配置值,通過測試後恢復配置值。對特殊寄存器,I/O接口寄存器的測試採用走位測試法。該部分代碼全部採用彙編語言編寫。2、內存測試方法通常嵌入式系統在開發時考慮通用應用開發,因此內存配置一般餘量較大,在上電自檢時只檢測作業系統和應用所用到的內存空間。對內存測試採用的是「交叉走位法」,具體過程如下:首先測試內存數據總線,在特定地址處將數據逐位移位賦值,測試內存數據總線操作是否正確;接下來測試地址總線,將特定數據放入不同的地址處,測試內存地址總線是否正確;最後對整個內存進行數據及地址的遞增及遞減操作,在每次操作結束後,對操作結果進行驗證,如通過則進入下一步操作,否則直接返回錯誤結果。內存測試代碼可採用C語言開發,函數接口調用則採用彙編語言。由於上電初始化開始階段,通常代碼執行是在FLASH中,眾所周知,內存存取比FLASH快,而內存測試是個耗時操作,如果測試代碼在FLASH中運行,則上電初始化時間對於實時應用來說過於漫長,因此必須將內存測試代碼從FLASH中放入作業系統及應用不用的內存空間中,具體實現方法如下:在內存測試代碼末中加入一個空函數,通過計算空函數與內存測試函數對應的地址差得到內存測試代碼段大小,將內存測試代碼從當前內存測試函數地址處拷入特定的內存空間中(作業系統及應用不用的內存空間),然後跳轉至內存中的函數入口處。由於其它代碼仍要在FLASH中運行,因此在跳轉過程中修改函數返回地址為調用跳轉指令後的下一條指令地址。3、彙編指令測試方法依據POWERPC指令列表及應用可能用到的指令,將指令分成以下幾類:加、減、乘、除、移位、加載及存儲,按照EN50129標準要求準備了一組高覆蓋率測試數據源,對這些指令進行測試,測試結果與預期的測試向量表進行比對,若,如果一致,則所有指令測試通過,則判定指令測試通過,反之若有任何一條指令測試不通過,則判定未通過測試,程序進入錯誤處理。彙編指令測試代碼全部用彙編語言編寫,函數接口調用則採用C語言。4、ROM完糖件檢測在上電過程中,對即將加載的作業系統文件及應用程式、數據進行MD5碼完整性檢測。若作業系統文件及應用程式、數據與預期MD5值一致,表示該文件在拷貝及存放時未被破壞,數據是完整的。反之則進表示文件不完整,程序進入錯誤處理。
權利要求
1.一種嵌入式系統上電自檢方法,其特徵在於,該方法包括以下步驟: 1)系統上電,對CPU寄存器進行檢測,判斷CPU寄存器是否存在故障,若是,則進行故障處理,若否,則執行步驟2); 2)採用交叉走位法對內存進行檢測,判斷內存是否存在故障,若是,則進行故障處理,若否,則執行步驟3); 3)對系統使用到的指令進行分類,分別對各類別指令進行測試,並將測試結果與預期測試結果向量進行比對,判斷所有指令是否均通過測試,若是,則執行步驟4),若否,則進行故障處理; 4)對即將加載的作業系統文件及應用程式和數據進行ROM完整性檢測,判斷需要加載的文件是否完整,若是,則退出檢測,若否,則進入錯誤處理。
2.根據權利要求1所述的一種嵌入式系統上電自檢方法,其特徵在於,所述的CPU寄存器包括通用寄存器、特殊寄存器和I/O接口寄存器。
3.根據權利要求1所述的一種嵌入式系統上電自檢方法,其特徵在於,所述的交叉走位法的具體過程如下: 測試內存數據總線,在指定地址處將數據逐位移位賦值,測試內存數據總線操作是否正確; 測試地址總線,將特定數據放入不同的地址處,測試內存地址總線是否正確; 對整個內存進行數據及地址的遞增及遞減操作,在每次操作結束後,對操作結果進行驗證,如通過則執行步驟3),否則直接返回錯誤結果。
4.根據權利要求1所述的一種嵌入式系統上電自檢方法,其特徵在於,所述的指令的類別包括加、減、乘、除、移位、加載及存儲。
5.根據權利要求1所述的一種嵌入式系統上電自檢方法,其特徵在於,所述的ROM完整性檢測採用的方法為基於MD5碼的文件完整性檢測方法。
全文摘要
本發明涉及一種嵌入式系統上電自檢方法,該方法包括以下步驟1)系統上電,對CPU寄存器進行檢測;2)採用交叉走位法對內存進行檢測,判斷內存是否存在故障;3)對系統使用到的指令進行分類,分別對各類別指令進行測試,並將測試結果與預期測試結果向量進行比對,判斷所有指令是否均通過測試,若是,則執行步驟4),若否,則進行故障處理;4)對即將加載的作業系統文件及應用程式和數據進行ROM完整性檢測,判斷需要加載的文件是否完整,若是,則退出檢測,若否,則進入錯誤處理。與現有技術相比,本發明具有可靠、有效、故障檢測覆蓋率高等優點。
文檔編號G06F11/22GK103176875SQ20131008857
公開日2013年6月26日 申請日期2013年3月19日 優先權日2013年3月19日
發明者孫軍峰, 王瀾, 耿進龍, 崔丹, 張磊, 徐軍, 汪明新 申請人:卡斯柯信號有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀