软件陷阱技术
发布时间:2014/8/3 12:17:54 访问次数:2200
指令冗余使跑飞的程序安定下来是有条件的,DAC7565IAPWR首先跑飞的程序必须落到程序区,其次必须执行到冗余指令。当跑飞的程序落到非程序区(如EPROM中未使用的空间、程序中的数据表格区)时,对此情况采取的措施就是设立软件陷阱。
软件陷阱就是在非程序区设置拦截措施,使程序进入陷阱,即通过一条引导指令,强行将跑飞的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序。如果把这段程序的入口标号称为ERROR的话,软件陷阱即为一条JMP ERROR指令。为加强其捕捉效果,一般还在它前面加上两条NOP指令,因此真正的软件陷阱是由3条指令构成:
NOP
NOP
JMP ERROR
软件陷阱安排在以下四种地方:未使用的中断向量区、未使用的大片ROM空间、程序中的数据表格区以及程序区中一些指令串中间的断裂点处。
由于软件陷阱都安排在正常程序执行不到的地方,故不影响程序的执行效率,在当前EPROM容量不成问题的条件下,还应多多安插软件陷阱指令。
程序运行监视系统
工业现场难免会出现瞬间的尖峰高能脉冲干扰,可能会长驱直入作用到CPU芯片上,使正在执行的程序跑飞到一个临时构成的死循环中,这时候的指令冗余和软件陷阱技术也无能为力,系统将完全瘫痪。此时必须强制系统复位,摆脱死循环。由于操作者不可能一直监视系统,因此需要一个独立于CPU之外的监视系统,在程序陷入死循环时,能及时发现并自动复位系统,这就是看守大门作用的程序运行监视系统,国外称为“Watchdog Timer”,即看门狗定时器或看门狗。
指令冗余使跑飞的程序安定下来是有条件的,DAC7565IAPWR首先跑飞的程序必须落到程序区,其次必须执行到冗余指令。当跑飞的程序落到非程序区(如EPROM中未使用的空间、程序中的数据表格区)时,对此情况采取的措施就是设立软件陷阱。
软件陷阱就是在非程序区设置拦截措施,使程序进入陷阱,即通过一条引导指令,强行将跑飞的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的程序。如果把这段程序的入口标号称为ERROR的话,软件陷阱即为一条JMP ERROR指令。为加强其捕捉效果,一般还在它前面加上两条NOP指令,因此真正的软件陷阱是由3条指令构成:
NOP
NOP
JMP ERROR
软件陷阱安排在以下四种地方:未使用的中断向量区、未使用的大片ROM空间、程序中的数据表格区以及程序区中一些指令串中间的断裂点处。
由于软件陷阱都安排在正常程序执行不到的地方,故不影响程序的执行效率,在当前EPROM容量不成问题的条件下,还应多多安插软件陷阱指令。
程序运行监视系统
工业现场难免会出现瞬间的尖峰高能脉冲干扰,可能会长驱直入作用到CPU芯片上,使正在执行的程序跑飞到一个临时构成的死循环中,这时候的指令冗余和软件陷阱技术也无能为力,系统将完全瘫痪。此时必须强制系统复位,摆脱死循环。由于操作者不可能一直监视系统,因此需要一个独立于CPU之外的监视系统,在程序陷入死循环时,能及时发现并自动复位系统,这就是看守大门作用的程序运行监视系统,国外称为“Watchdog Timer”,即看门狗定时器或看门狗。
上一篇:指令冗余技术