用上面程序段重復(fù)覆蓋剩余的程序空間
發(fā)布時間:2016/7/23 19:37:58 訪問次數(shù):483
程序陷阱是指用來將捕獲的“亂飛”程序引向復(fù)位入口地址(一般為0000H)的指令,這IR21834PBF主要是為了防止程序跑飛到盲區(qū)。一般情況下,程序代碼空間以外的RoM空間被全寫為1或全寫為0,程序跳入這一區(qū)域?qū)⒉豢煽亍<僭O(shè)某系統(tǒng)程序空間為32KB,程序編譯后共生成18KB的代碼,那么,還有14KB的程序空間未被使用,可以在該區(qū)域放置下面的陷阱程序:
bIULL-PRo: NoP
NOP
LJMP 0000H
用上面程序段重復(fù)覆蓋剩余的程序空間,陷阱程序里的每一段NOP指令的多少對于捕獲的成功率及捕獲的時間有影響。NoP指令放置的越多捕獲的成功率就越高,但花費(fèi)的時間就越長,程序失控的時間也越長;否則,情況則相反。因?yàn)橹挥谐绦蛱D(zhuǎn)到NoP指令或LJMP指令的首個字節(jié)時,才能成功捕獲;當(dāng)程序跳到LJW1P指令的后兩個字節(jié)時,可能會出現(xiàn)不可預(yù)知的執(zhí)行結(jié)果。在用戶程序區(qū)各模塊之間的空余單元也可填入陷阱指令。當(dāng)未使用的中斷因干擾而開放時,在對應(yīng)的中斷服務(wù)程序中設(shè)置程序陷阱,能及時捕獲錯誤的中斷。
程序陷阱是指用來將捕獲的“亂飛”程序引向復(fù)位入口地址(一般為0000H)的指令,這IR21834PBF主要是為了防止程序跑飛到盲區(qū)。一般情況下,程序代碼空間以外的RoM空間被全寫為1或全寫為0,程序跳入這一區(qū)域?qū)⒉豢煽。假設(shè)某系統(tǒng)程序空間為32KB,程序編譯后共生成18KB的代碼,那么,還有14KB的程序空間未被使用,可以在該區(qū)域放置下面的陷阱程序:
bIULL-PRo: NoP
NOP
LJMP 0000H
用上面程序段重復(fù)覆蓋剩余的程序空間,陷阱程序里的每一段NOP指令的多少對于捕獲的成功率及捕獲的時間有影響。NoP指令放置的越多捕獲的成功率就越高,但花費(fèi)的時間就越長,程序失控的時間也越長;否則,情況則相反。因?yàn)橹挥谐绦蛱D(zhuǎn)到NoP指令或LJMP指令的首個字節(jié)時,才能成功捕獲;當(dāng)程序跳到LJW1P指令的后兩個字節(jié)時,可能會出現(xiàn)不可預(yù)知的執(zhí)行結(jié)果。在用戶程序區(qū)各模塊之間的空余單元也可填入陷阱指令。當(dāng)未使用的中斷因干擾而開放時,在對應(yīng)的中斷服務(wù)程序中設(shè)置程序陷阱,能及時捕獲錯誤的中斷。
上一篇:軟件鎖、程序陷阱技術(shù)
上一篇:軟件“看門狗”技術(shù)
熱門點(diǎn)擊
- 用戶RAM區(qū)(30H~7FH)
- 接觸孔(Contact)
- VO接口電路概述
- 中斷撤銷
- 0.18uM LOgic1g/33v1P6M
- 天線效應(yīng)的消除
- 微處理器的基本組成
- 外延生長速率的限制機(jī)制
- 三態(tài)雙向數(shù)據(jù)線,
- 柵氧化層厚度對熱載流子效應(yīng)的影晌
推薦技術(shù)資料
- 按鈕與燈的互動實(shí)例
- 現(xiàn)在趕快去看看這個目錄卞有什么。FGA15N120AN... [詳細(xì)]
- 高速功耗比 (2.5MHz)
- 32 位微控制器 (MCU)&
- 微控制器RA Arm Cortex-M MC
- 32MHz Arm Cortex-M23 超
- RA2T1 系列微控制器
- CNC(計(jì)算機(jī)數(shù)控)和制造機(jī)械系統(tǒng)應(yīng)用探究
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究