更新时间: 2023-05-19
软件陷阱设计
软件陷阱是指令冗余的一种应用形式,用于程序“跑飞”的捕捉。当噪声信号的干扰,系统程序会脱离正常运行的轨道,为了使“跑飞”的程序稳定下来,设计人员在程序中设计了陷阱。所谓的软件陷阱,是通过一条引导指令,强行将捕获的程序引向一个特定的地址,并对紊乱的程序进行出错处理。对于受干扰而混乱的程序,多字节指令是**危险的,原因是错误的指针可以“跑飞”到多个字节指令之间,从而运行更深度不可知的指令。相对于多字节指令,单字节指令可以使紊乱中指针理顺,让其按照正常的顺序运行,紊乱的现象可以得到有效的抑制。根据以上原理,软件陷阱可以形成一个程序,通常为了提高对“弹飞”程序的捕获率,可以在引导指令前添加两个空操作指令,具体形式为:
--NOP-- --NOP-- JUMP ERROR
程序中JUMP ERROR就是将“弹飞”的程序转移到出错处理程序中。在程序中未使用的大片只读存储器空间、未使用的中断向量区、程序区的“断裂处”以及表格的头尾处等四处使用软件陷阱,效果**。
软件看门狗设计
“看门狗”是采用软硬结合的方式防止程序发生死循环。“看门狗”的硬件基础是一个独立运行、定时周期为T的计数器。中央处理器的复位引脚与计数器的定时输出脚相连,且中央处理器控制计数器清零。系统正常运行过程中,“看门狗”在小于T的时间间隔内将被清零,定时器从而不会产生溢出。但是当系统紊乱,处于不正常的工作状态下,中央处理器的时序逻辑被打乱,不能在周期T内将计数器清零,**终导致计数器溢出,“看门狗”产生一个复位信号,传送到中央处理器,使其复位。这种设计可以使系统摆脱一时干扰,增强系统的可靠性。
上一篇:330180-90-00
下一篇:AS-J890-101