软件“看门狗”对程序“跑飞”的处理
发布时间:2008/8/25 0:00:00 访问次数:908
则软件陷阱可以由以下几条指令组成:
nop
nop
ljmp error
软件陷阱常常用在未使用的中断向量区、未使用的rom区中以及表格区的后面。因为程序跑飞有可能在中断程序中发生,这时中断逻辑己经置位,这样就不再响应同级或低级的中断,所以一定要释放中断逻辑,即清除中断标志位,抗干扰中心的可由以下程序段实现:
error:
clr ea
mov dptr,#err1
push dpl
push dph
reti
err1:
clr a
push acc
push acc
reti
end
只要在未使用的rom区域中每隔一定单元就设置一个软件陷阱,就能够将“跑飞,到未使用rom区的pc引导到抗千扰中心进行处理,但是当程序“跑飞”到一个临时构成的死循环中时,指令冗余和软件陷阱都会失去作用,这时就要用“硬件看门狗”技术来使程序恢复正常了。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
则软件陷阱可以由以下几条指令组成:
nop
nop
ljmp error
软件陷阱常常用在未使用的中断向量区、未使用的rom区中以及表格区的后面。因为程序跑飞有可能在中断程序中发生,这时中断逻辑己经置位,这样就不再响应同级或低级的中断,所以一定要释放中断逻辑,即清除中断标志位,抗干扰中心的可由以下程序段实现:
error:
clr ea
mov dptr,#err1
push dpl
push dph
reti
err1:
clr a
push acc
push acc
reti
end
只要在未使用的rom区域中每隔一定单元就设置一个软件陷阱,就能够将“跑飞,到未使用rom区的pc引导到抗千扰中心进行处理,但是当程序“跑飞”到一个临时构成的死循环中时,指令冗余和软件陷阱都会失去作用,这时就要用“硬件看门狗”技术来使程序恢复正常了。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)