位置:51电子网 » 技术资料 » 其它综合

软件“看门狗”对程序“跑飞”的处理

发布时间:2008/8/25 0:00:00 访问次数:908

  当跑飞的程序进入非程序区〔如eprom未使用区)或表格区时,采用指令冗余技术已经无法将程序纳入正轨。这时可以设定软件陷阱,拦截跑飞程序,将其迅速引向抗干扰中心,那里有一段专门对程序运行出错进行处理的程序。如果把其入口标号称为error,

  则软件陷阱可以由以下几条指令组成:

   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)



  当跑飞的程序进入非程序区〔如eprom未使用区)或表格区时,采用指令冗余技术已经无法将程序纳入正轨。这时可以设定软件陷阱,拦截跑飞程序,将其迅速引向抗干扰中心,那里有一段专门对程序运行出错进行处理的程序。如果把其入口标号称为error,

  则软件陷阱可以由以下几条指令组成:

   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)



相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!