<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MCS-96單片機(jī)控制系統(tǒng)的程序失控防范

          基于MCS-96單片機(jī)控制系統(tǒng)的程序失控防范

          作者: 時間:2012-02-15 來源:網(wǎng)絡(luò) 收藏

          3 無擾動重恢復(fù)

            上述各項措施,只解決了如何發(fā)現(xiàn)系統(tǒng)被干擾和如何捕捉到失控的程序,這對于巡回檢測、顯示之類的普通單片機(jī)應(yīng)用系統(tǒng)已經(jīng)足夠了。但是,在一些關(guān)鍵的工業(yè)控制系統(tǒng)中,由于工作過程和生產(chǎn)工藝的邏輯性和順序性,當(dāng)后,希望引導(dǎo)系統(tǒng)恢復(fù)執(zhí)行剛才失控發(fā)生時的那個程序模塊,不希望,甚至不允許程序從入口處重新執(zhí)行。更重要的是,失控程序往往會亂涂亂寫,不僅會破壞一些重要的信息,而且會對輸出口進(jìn)行非法操作。在此情況下前述方法就顯得太不完整了。因此,如何恢復(fù)系統(tǒng)的重要信息,盡量無擾動地重新進(jìn)入正常工作狀態(tài),是一個必須解決的問題,同時也是一個比較難解決的問題。

          3.1 利用軟件選擇啟動方式的方法

            復(fù)位有兩種方式:即初始復(fù)位和再次復(fù)位。習(xí)慣上稱前者為“冷啟動”,后者為“熱啟動”?!袄鋯印睍r,系統(tǒng)的狀態(tài)全部無效,需進(jìn)行徹底的初始化操作。而 “熱啟動”僅對系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修復(fù)和有選擇的初始化,從而使系統(tǒng)盡可能快的恢復(fù)正常。系統(tǒng)初次上電投入運(yùn)行時,必須是“冷啟動”。運(yùn)行過程中,由于抗干擾措施引起的復(fù)位,一般均為“熱啟動”。為了使系統(tǒng)能正確地決定采用何種啟動方式,往往由軟件用“上電標(biāo)志”來區(qū)分。系統(tǒng)入口程序設(shè)計策略如圖3—1所示。

            為使“熱啟動”順利進(jìn)行,首先要關(guān)中斷,重新設(shè)置堆棧,將所有的I/O口設(shè)置為安全狀態(tài),封鎖I/O操作,以免事態(tài)擴(kuò)大,然后進(jìn)行信息的恢復(fù)和狀態(tài)的重入工作。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();