压力校验仪软件的可维护性编程方法
压力校验仪软件代码在执行中容易出现的下一个问题是跑飞,程序指针受到干扰,跳转到了一个非受控位置,执行了不该执行的代码。如果执行了不该执行的代码,如果在程序中加入了足够的变量判断、读值判断、状态检测判断等,那倒还好了,后果也不会太严重,甚至zui终还是可能自己跑回来的。但有一种跑飞是比较可怕的,一般我们在ROM中存放的程序目标代码是1-3字节的指令,就是zui多3条字段的目标码组成了执行动作,如果程序指针跑飞到了某个3字节指令的第2个字节上的时候,执行的后果是什么,可就真的没人知道了,即使在程序上作了足够的数据判错、逻辑跳转的防范措施,结果也不会好。而且ROM一般是不可能全部都被程序代码填满的,总有富余空间,富余空间中的默认内容是啥,这些默认字节是否也会导致一些操作呢?跳到这些字段里,也是容易出麻烦的。
压力校验仪软件代码跑飞如何解决呢?就是每隔一段程序代码或控制区域,就人为放置上几个NOP指令,在NOP指令后放置一个长跳转的ERR处理程序。注意NOPzui少放置3个,这样任何的跑飞zui多只能占用2个NOP,第三个NOP一样还是能把程序代码揪回来,揪回来后就执行ERR处理程序。