機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
用“軟件陷阱+程序口令”對付PC指針的彈飛
用“軟件陷阱+程序口令”對付PC指針的彈飛
 更新時間:2008-7-27 16:07:32  點擊數:2
【字體: 字體顏色
經驗之一:用“軟件陷阱+程序口令”對付PC指針的彈飛

當CPU受到外界干擾,有時PC指針會飛到另一段程序中,或跳到空白段去。

其實,如果PC指針飛到空白段去,倒也好處理。只要在空白段設立軟件陷阱(攔截指令),將程序攔
截到初始化段或程序錯誤處理段。

但是,如果PC指針飛到另一段程序中去了,系統(tǒng)如何辦?小匠在這里推薦一種方法——程序口令,
思路如下:

1、首先,程序必須模塊化。每個模塊(子程序)執(zhí)行一個功能。每個模塊只有一個出口
(RET)。

2、設立一個模塊(子程序)ID寄存器。

3、為每個子程序配置一個唯一的ID號碼。

4、每當子程序執(zhí)行完畢,要返回(RET)之前,先將本子程序的ID號送入 ID寄存器

5、返回到上級程序后,先判斷ID寄存器中的ID號。如果正確,則繼續(xù)執(zhí)行;如果不正確,則表示
PC指針有可能已經跳錯了,子程序沒有按預計的出口返回,這時將程序攔截到初始化段或程序錯
誤處理段。

這種方法,如同在程序中設立了若干個崗哨,每次調用子程序返回后,都要對口令(ID號),驗
明正身后再放行。再配合軟件陷阱,基本上可以將大多數PC指針彈飛的現象檢測到。

到了程序錯誤處理段,要殺要剮(冷啟動還是熱啟動)就由您了。
  • 上一篇: 嵌入式系統(tǒng)C語言面試(上)
  • 下一篇: 話說RAM冗余技術
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網站

    網站經營許可證:浙B2-20080178-1