基于STR7 ARM微控制器的IRQ中斷防御體系
比較修改前后的代碼,修改后每次執(zhí)行的代碼只比原來增加了5條指令,中斷響應(yīng)處理的實(shí)時(shí)性有所下降,但是,在高速的ARM微控制器上,犧牲5條指令周期的時(shí)間來換取系統(tǒng)的可靠和安全是完全值得的。
一般情況下,程序員不會(huì)對未使能的中斷通道編寫中斷服務(wù)程序,故此,在32個(gè)IRQ中斷通道散轉(zhuǎn)向量表中,可以把沒有使能的中斷通道直接鏈接到復(fù)位向量進(jìn)行強(qiáng)行復(fù)位,代碼如下:
4 結(jié)束語
本文提出的IRQ中斷防御體系的構(gòu)建,通過了Kell ARM3.04的開發(fā)環(huán)境調(diào)試。并成功應(yīng)用在基于STR71x ARM微控制器的某數(shù)控切割加工的控制系統(tǒng)。在持續(xù)一個(gè)月的系統(tǒng)運(yùn)行測試中,對在程序中沒有構(gòu)建IRQ中斷防御體系的系統(tǒng)(簡稱“A系統(tǒng)”)和構(gòu)建了IRQ中斷防御體系的系統(tǒng)(簡稱“B系統(tǒng)”)相比較,發(fā)現(xiàn)A系統(tǒng)曾經(jīng)出現(xiàn)過兩次的程序跑飛現(xiàn)象,而B系統(tǒng)的運(yùn)行穩(wěn)定,未出現(xiàn)程序跑飛的情況??梢姡捎昧嗽摲烙w系后,大大提高ARM微控制器的抗干擾能力,增強(qiáng)了系統(tǒng)的可靠性和安全性。
參考文獻(xiàn):
[1].ARM7TDMIdatasheethttp://www.dzsc.com/datasheet/ARM7TDMI_139812.html.
[2].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
[3].MCS-51datasheethttp://www.dzsc.com/datasheet/MCS-51_477840.html.
評論