亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

嵌入式處理器宕機的處理方法

文檔序號:9274607閱讀:526來源:國知局
嵌入式處理器宕機的處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式系統(tǒng)領(lǐng)域,尤其涉及一種基于硬件與軟件共同檢測并處理嵌入式處理器的宕機異常方法。
【背景技術(shù)】
[0002]嵌入式處理器中的軟件在運行中如果發(fā)生致命的異常,會使處理器宕機,導(dǎo)致控制端軟件無法接入,處理器上的調(diào)試信息無法獲取。尤其是在脫離硬件仿真器的正式產(chǎn)品運行環(huán)境下,嵌入式處理器在宕機時,缺乏手段獲取處理器的軟件運行記錄,不容易對處理器的宕機原因進行分析。
[0003]通常的宕機處理流程如圖1所示,在該流程中,處理器的復(fù)位破壞了宕機時的第一運行現(xiàn)場,無法對異常原因進行分析;并且該流程往往需要大量的測試版本進行嘗試,才能定位問題。

【發(fā)明內(nèi)容】

[0004]為解決現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明實施例一方面提供了一種嵌入式處理器宕機的處理方法,方法包括:
使用軟件存活檢測為后續(xù)處理器是否存活的判斷提供第一依據(jù);
使用硬件存活檢測為后續(xù)處理器是否存活的判斷提供第二依據(jù);
處理器存活判斷根據(jù)軟件與硬件的檢測結(jié)果決定處理器是否存活;
處理器軟復(fù)位對宕機進行強制恢復(fù),但不破壞處理器的運行環(huán)境;
處理器根據(jù)硬件特征,決定是運行宕機后處理程序,或者重新運行正常程序。
[0005]宕機后處理程序用于重新建立與控制端的通信鏈路;
宕機后處理程序?qū)⑻幚砥麇礄C后的內(nèi)存?zhèn)魉徒o控制端;
在鏈接正常程序時,保留一段內(nèi)存,在生成正常程序的可執(zhí)行文件鏡象后,將宕機后處理程序追加到預(yù)留的內(nèi)存中。
[0006]本發(fā)明實施例,采用一種基于硬件與軟件共同檢測并處理嵌入式處理器的宕機異常方法,提供了新的處理器宕機后處理手段,增強了嵌入式系統(tǒng)的可調(diào)測性,有利于準(zhǔn)確、高效的定位嵌入式處理器宕機類的復(fù)雜問題。
【附圖說明】
[0007]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0008]圖1為嵌入式處理器的宕機常規(guī)處理流程的示意圖;
圖2為本發(fā)明的嵌入式處理器的宕機處理的第一實施例的流程示意圖; 圖3為本發(fā)明的嵌入式處理器宕機的處理方法和裝置的第一實施例中宕機后處理程序的存儲不意圖。
【具體實施方式】
[0009]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0010]圖2,是本發(fā)明的嵌入式處理器宕機的處理方法的第一實施例的流程示意圖,該方法包括:
步驟Sll:軟件存活檢測。
[0011]本步驟中,軟件模塊基于請求?應(yīng)答的模式,由控制端向被檢測的處理器發(fā)送軟件請求,要求處理器進行響應(yīng)。
[0012]本步驟中,在控制端發(fā)出請求后,同時啟動接收時間窗,如果在時間窗內(nèi)未收到被檢測端的響應(yīng),則記為一次檢測超時,同時再次發(fā)送請求。在經(jīng)過連續(xù)的多次檢測超時后,即可認(rèn)為處理器不存活。
[0013]示例性的,可以從控制端向被檢測的處理器發(fā)送PING命令,或發(fā)送特定格式的數(shù)據(jù)字段。
[0014]步驟S12:硬件存活檢測。
[0015]本步驟中,硬件存活檢測基于偵聽模式,即由跟被檢測處理器連接的其它處理器或芯片,被動的檢測處理器的活動狀態(tài),如檢測處理器外部管腳上的電平變化。
[0016]硬件存活檢測較軟件存活檢測有更嚴(yán)格的要求,如果在設(shè)定的時間窗內(nèi),一直未檢測到處理器的活動狀態(tài)變化,即可認(rèn)為處理器不存活。
[0017]步驟S13:判定處理器是否存活。
[0018]本步驟中,根據(jù)Sll和S12的檢測結(jié)果判定處理器是否存活。
[0019]步驟S14:處理器軟復(fù)位。
[0020]本步驟中,當(dāng)判定為處理器不存活后,觸發(fā)處理器的軟復(fù)位,使程序從啟動代碼開始重新執(zhí)行。軟復(fù)位的觸發(fā)方式,可以通過與被檢測處理器相連接的其它處理器來觸發(fā),或者直接使用跟處理器軟復(fù)位管腳連接的其它可行方式。
[0021]步驟S15:讀取硬件特征。
[0022]本步驟中,根據(jù)期望的后續(xù)處理流程,需要設(shè)定硬件特征,從而使啟動代碼選擇相應(yīng)的可執(zhí)行程序。啟動代碼在最開始的最小運行環(huán)境中,需要讀取硬件特征。硬件特征如處理器外部管腳的電平,處理器內(nèi)部某個寄存器等。
[0023]步驟S16:判定是否進行宕機后處理。
[0024]本步驟中,當(dāng)啟動代碼將根據(jù)硬件特征判定需要運行宕機后處理程序。
[0025]步驟S17:運行宕機后處理程序。
[0026]本步驟中,啟動代碼將跳轉(zhuǎn)到宕機后處理程序執(zhí)行。宕機后處理程序用于重新建立與控制端的通信鏈路,并且將處理器在宕機后的內(nèi)存?zhèn)魉徒o控制端,開發(fā)人員再利用收集的內(nèi)存信息對宕機的原因進行分析。
[0027]本發(fā)明實施例,為用戶提供了嵌入式系統(tǒng)宕機后的分析手段,便于用戶讀取準(zhǔn)確的獲取處理宕機的原因,提高問題定位的效率。
[0028]上文對本發(fā)明中嵌入式系統(tǒng)的調(diào)試方法的實施例作了詳細介紹。下面將相應(yīng)于上述方法的調(diào)試裝置作進一步闡述。
[0029]圖3,是本發(fā)明的嵌入式系統(tǒng)的調(diào)試裝置的第一實施例中宕機后處理程序的存儲結(jié)構(gòu)示意圖,該裝置100包括正常程序110、宕機后處理程序120。
[0030]其中,模塊110,是用戶的正常功能代碼;模塊120,是存儲宕機后處理程序的預(yù)留的內(nèi)存。在編譯與鏈接宕機后處理程序時,需要指定程序的運行堆棧、數(shù)據(jù)段、代碼段等所有內(nèi)容,均只能在預(yù)留的內(nèi)存中存在。
[0031]以上所述僅為本發(fā)明的較佳實施例而已,并不用于限定本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種嵌入式處理器宕機的處理方法,其特征在于,所述方法包括: 軟件存活檢測為后續(xù)處理器是否存活的判斷提供第一依據(jù); 硬件存活檢測為后續(xù)處理器是否存活的判斷提供第二依據(jù); 處理器存活判斷根據(jù)軟件與硬件的檢測結(jié)果決定處理器是否存活; 處理器軟復(fù)位對宕機進行強制恢復(fù),但不破壞處理器的運行環(huán)境; 處理器重新運行啟動代碼; 處理器根據(jù)硬件特征,決定是運行宕機后處理程序,或者重新運行正常程序。2.如權(quán)利要求1所述的方法,其特征在于,所述軟件存活檢測基于請求?應(yīng)答的模式,即由控制端向被檢測的處理器發(fā)送軟件請求,要求處理器進行響應(yīng)。3.如權(quán)利要求1所述的方法,其特征在于,所述軟件存活檢測在控制端發(fā)出請求后,同時啟動接收時間窗,如果在時間窗內(nèi)未收到被檢測端的響應(yīng),則記為檢測超時,同時再次發(fā)送請求; 所述軟件存活檢測在經(jīng)過連續(xù)的多次檢測超時后,即可認(rèn)為處理器不存活。4.如權(quán)利要求1所述的方法,其特征在于,所述硬件存活檢測基于偵聽模式,由與被檢測處理器連接的其它處理器或芯片,被動的檢測處理器的活動狀態(tài); 所述的硬件存活檢測在設(shè)定的時間窗內(nèi),一直未檢測到處理器的活動狀態(tài)變化,即可認(rèn)為處理器不存活。5.如權(quán)利要求1所述的方法,其特征在于,當(dāng)判定處理器不存活后,觸發(fā)所述處理器的軟復(fù)位,使程序從啟動代碼開始重新執(zhí)行。6.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)期望的后續(xù)處理流程,需要設(shè)定硬件特征,從而使啟動代碼選擇相應(yīng)的可執(zhí)行程序; 所述啟動代碼在最開始的最小運行環(huán)境中,需要讀取硬件特征。7.如權(quán)利要求1所述的方法,其特征在于,所述宕機后處理程序當(dāng)啟動代碼根據(jù)硬件特征判定需要運行時,程序?qū)⑻D(zhuǎn)到所述宕機后處理程序執(zhí)行。8.如權(quán)利要求1所述的方法,其特征在于,所述宕機后處理程序的方法包括: 用于重新建立與控制端的通信鏈路; 將處理器宕機后的內(nèi)存?zhèn)魉徒o控制端; 開發(fā)人員再利用收集的內(nèi)存信息對宕機的原因進行分析。9.如權(quán)利要求1所述的方法,其特征在于,所述宕機后處理程序是在內(nèi)存保留區(qū)域預(yù)存的代碼; 所述內(nèi)存保留區(qū)域需要在鏈接正常程序時,保留一段內(nèi)存,在生成正常程序的可執(zhí)行文件鏡象后,將宕機后處理程序追加到預(yù)留的內(nèi)存中。
【專利摘要】本發(fā)明涉及嵌入式系統(tǒng)領(lǐng)域,提供了一種基于硬件與軟件共同檢測并處理嵌入式處理器的宕機異常方法,提供了新的處理器宕機后處理手段,增強了嵌入式系統(tǒng)的可調(diào)測性,有利于準(zhǔn)確、高效的定位嵌入式處理器宕機類的復(fù)雜問題。
【IPC分類】G06F11/07, G06F1/24, G06F9/445
【公開號】CN104991832
【申請?zhí)枴緾N201510344469
【發(fā)明人】何宗彬, 周果
【申請人】成都彬鴻科技有限公司
【公開日】2015年10月21日
【申請日】2015年6月20日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1