91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » EDA/PLD

程序是不是運行在有效的存儲器范圍內

發布時間:2014/4/22 22:11:40 訪問次數:663

   檢測這些情況并不困難,可能只需要額外的幾行編碼。可用的技術包括:看門狗(程序的健全性)定時器、軟件檢查點、錯誤捕獲、無操作返回碼以及對未使用的中斷向量位置的捕獲。

   應對死循環最有效的保護是使用一個sanity定時器或看門狗定時器。現在,UCC1895J很多微處理器包含集成的sanlty定時器,如果沒有定時器,則可以用外部電路實現。這種想法就是設置一個定時器,當它計數到某設定值時使微處理器復位。編寫的軟件輸出周期性的sanlty脈沖以使定時器在超時前復位。如果每個程序都運行正常,定時器就不會超時,因此,也不會使微處理器復位。如果處理器陷入死循環,定時器就不輸出samty脈沖,于是,定時器超時,微處理器復位,系統從死循環中退出。在這個過程中,系統可能會出錯,但它不再處于鎖死狀態并且很快平穩恢復。sanity脈沖的代碼可以寫為一個子程序,主程序重復調用這個子程序。這僅僅需要加幾行編碼即可。

   軟件令牌是另一種方法。令牌通常加在軟件模塊的入口和出口處,人口和出口令牌都設成相同的值。退出一個模塊時,如果出口令牌與入口令牌不匹配,就可以從某個地方跳轉到例行程序。然后就可以退到錯誤恢復程序,這就可以減少可能的摜害,實現平穩恢復。

   如果存儲器是分區的,則程序被限制在存儲器的特定區域。如果程序存儲器是只讀存儲器(ROM),軟件中可以設置陷阱,防止程序試圖從有效存儲范圍外存取指令。未使用的部分程序存儲器應該填充“無操作”(或相似的)指令,最后跳轉到錯誤處理程序。按照這種方式,如果因疏忽跳轉至未使用或不存在的存儲區時,將會調用錯誤處理程序。

   未使用的微處理器硬件中斷向量位置經常成為程序流程錯誤的源。如果靜電放電瞬態過程出現在未使用中斷的輸入上,那么它將導致程序跳轉至中斷向量的位置。如果這個位置包含一條程序指令或存儲的數據,那么,結果將難以預料。簡單的解決辦法就是在所有未使用的中斷向量位置設置一條“返回”指令或一條跳轉至錯誤處理程序的指令。

   一旦檢測到程序流程錯誤,就需要使系統返回到一個已知的穩定狀態,盡可能使損害降到最小。這可以通過將控制轉移到錯誤處理程序來實現。最簡單的錯誤處理程序是使系統復位。然而,在某些情況下,這種強制復位的辦法是不可接受的。錯誤恢復應該包括損害評估和必要時對程序進行修復。具體怎么處理依賴于特定系統的具體問題,這個問題超出了本書的范圍。

   檢測這些情況并不困難,可能只需要額外的幾行編碼。可用的技術包括:看門狗(程序的健全性)定時器、軟件檢查點、錯誤捕獲、無操作返回碼以及對未使用的中斷向量位置的捕獲。

   應對死循環最有效的保護是使用一個sanity定時器或看門狗定時器。現在,UCC1895J很多微處理器包含集成的sanlty定時器,如果沒有定時器,則可以用外部電路實現。這種想法就是設置一個定時器,當它計數到某設定值時使微處理器復位。編寫的軟件輸出周期性的sanlty脈沖以使定時器在超時前復位。如果每個程序都運行正常,定時器就不會超時,因此,也不會使微處理器復位。如果處理器陷入死循環,定時器就不輸出samty脈沖,于是,定時器超時,微處理器復位,系統從死循環中退出。在這個過程中,系統可能會出錯,但它不再處于鎖死狀態并且很快平穩恢復。sanity脈沖的代碼可以寫為一個子程序,主程序重復調用這個子程序。這僅僅需要加幾行編碼即可。

   軟件令牌是另一種方法。令牌通常加在軟件模塊的入口和出口處,人口和出口令牌都設成相同的值。退出一個模塊時,如果出口令牌與入口令牌不匹配,就可以從某個地方跳轉到例行程序。然后就可以退到錯誤恢復程序,這就可以減少可能的摜害,實現平穩恢復。

   如果存儲器是分區的,則程序被限制在存儲器的特定區域。如果程序存儲器是只讀存儲器(ROM),軟件中可以設置陷阱,防止程序試圖從有效存儲范圍外存取指令。未使用的部分程序存儲器應該填充“無操作”(或相似的)指令,最后跳轉到錯誤處理程序。按照這種方式,如果因疏忽跳轉至未使用或不存在的存儲區時,將會調用錯誤處理程序。

   未使用的微處理器硬件中斷向量位置經常成為程序流程錯誤的源。如果靜電放電瞬態過程出現在未使用中斷的輸入上,那么它將導致程序跳轉至中斷向量的位置。如果這個位置包含一條程序指令或存儲的數據,那么,結果將難以預料。簡單的解決辦法就是在所有未使用的中斷向量位置設置一條“返回”指令或一條跳轉至錯誤處理程序的指令。

   一旦檢測到程序流程錯誤,就需要使系統返回到一個已知的穩定狀態,盡可能使損害降到最小。這可以通過將控制轉移到錯誤處理程序來實現。最簡單的錯誤處理程序是使系統復位。然而,在某些情況下,這種強制復位的辦法是不可接受的。錯誤恢復應該包括損害評估和必要時對程序進行修復。具體怎么處理依賴于特定系統的具體問題,這個問題超出了本書的范圍。

熱門點擊

 

推薦技術資料

聲道前級設計特點
    與通常的Hi-Fi前級不同,EP9307-CRZ這臺分... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
平度市| 阳西县| 长春市| 拜泉县| 大丰市| 娄底市| 临洮县| 平遥县| 新巴尔虎右旗| 内江市| 射洪县| 册亨县| 娄底市| 泗水县| 灌云县| 南宫市| 临澧县| 定日县| 祁门县| 田阳县| 方山县| 临沂市| 江门市| 白河县| 朔州市| 霍州市| 望奎县| 虹口区| 新巴尔虎左旗| 石首市| 光泽县| 汝阳县| 新泰市| 宁化县| 新巴尔虎右旗| 安陆市| 焦作市| 吉首市| 南平市| 交城县| 尚志市|