軟件“看門狗”對程序“跑飛”的處理
發(fā)布時間:2008/8/25 0:00:00 訪問次數:913
則軟件陷阱可以由以下幾條指令組成:
nop
nop
ljmp error
軟件陷阱常常用在未使用的中斷向量區(qū)、未使用的rom區(qū)中以及表格區(qū)的后面。因為程序跑飛有可能在中斷程序中發(fā)生,這時中斷邏輯己經置位,這樣就不再響應同級或低級的中斷,所以一定要釋放中斷邏輯,即清除中斷標志位,抗干擾中心的可由以下程序段實現:
error:
clr ea
mov dptr,#err1
push dpl
push dph
reti
err1:
clr a
push acc
push acc
reti
end
只要在未使用的rom區(qū)域中每隔一定單元就設置一個軟件陷阱,就能夠將“跑飛,到未使用rom區(qū)的pc引導到抗千擾中心進行處理,但是當程序“跑飛”到一個臨時構成的死循環(huán)中時,指令冗余和軟件陷阱都會失去作用,這時就要用“硬件看門狗”技術來使程序恢復正常了。
歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)
則軟件陷阱可以由以下幾條指令組成:
nop
nop
ljmp error
軟件陷阱常常用在未使用的中斷向量區(qū)、未使用的rom區(qū)中以及表格區(qū)的后面。因為程序跑飛有可能在中斷程序中發(fā)生,這時中斷邏輯己經置位,這樣就不再響應同級或低級的中斷,所以一定要釋放中斷邏輯,即清除中斷標志位,抗干擾中心的可由以下程序段實現:
error:
clr ea
mov dptr,#err1
push dpl
push dph
reti
err1:
clr a
push acc
push acc
reti
end
只要在未使用的rom區(qū)域中每隔一定單元就設置一個軟件陷阱,就能夠將“跑飛,到未使用rom區(qū)的pc引導到抗千擾中心進行處理,但是當程序“跑飛”到一個臨時構成的死循環(huán)中時,指令冗余和軟件陷阱都會失去作用,這時就要用“硬件看門狗”技術來使程序恢復正常了。
歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)