×
嵌入式 > 技术百科 > 详情

软件陷阱技术

发布时间:2020-06-23 发布时间:
|
CPU受到干扰后,往往将一些操作数当作指令码来执行,造成程序执行混乱.在A51的做法主要有以下几种:
1.中断向量区
ORG 0000H
START: LJMP MAIN
LJMP INT0
NOP
NOP
LJMP ERR ;陷阱
LJMP TOINT
NOP
NOP
LJMP ERR ;陷阱
- - - - 
ORG 0040H
ERR:
-----------

 

2.在表格区
在表格区的最后安排5个字节的陷阱
TABEL1:
DB ------------
DB ------------
NOP
NOP
LJMP ERR
3.在未使用的ROM空间
未使用的ROM空间一般全是 0FFH,对于51来说是"MOV R7,A"的单字节指令,程序一旦弹飞到这个区域,将会飞流直下.一般在一些固定的地址加入软件陷阱,捕获弹飞的程序.
ORG 6000H
NOP
NOP
LJMP ERR
ORG 7FFBH
NOP
NOP
LJMP ERR
4.在子程序后面
XXXX:
;;;;;;;;;;
;;;;;;;;;;
RET
NOP
NOP
LJMP ERR

以及在一些长跳转的断裂点...

注: ERR子程序,应当重新设定堆栈,等一些初始化的参数,但对于RAM区的部分数据可以判断保留.




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
NTMD6N03R2G的技术参数