嵌入式系統(tǒng)該如何實現(xiàn)中斷控制
http://www.kblhh.cn 2009-09-09 10:43 來源:NI
今天嵌入式系統(tǒng)帶來的工業(yè)年產(chǎn)值已超過了1萬億美元,1997年來自美國嵌入式系統(tǒng)大會(EmbeddedSystemConference)的報告指出,未來5年僅基于嵌入式計算機系統(tǒng)的全數(shù)字電視產(chǎn)品,就將在美國產(chǎn)生一個每年1500億美元的新市場。據(jù)調(diào)查,目前國際上已有兩百多種嵌入式操作系統(tǒng),而各種各樣的開發(fā)工具、應用于嵌入式開發(fā)的儀器設備更是不可勝數(shù)。在國內(nèi),雖然嵌入式應用、開發(fā)很廣,但該領域卻幾乎還是空白,只有三兩家公司和極少數(shù)人員在從事這方面工作。由此可見,嵌入式系統(tǒng)技術發(fā)展的空間真是無比廣大。
中斷是現(xiàn)代操作系統(tǒng)的一大特點,在嵌入式系統(tǒng)尤為明顯,中斷函數(shù)在驅(qū)動程序中的作用非常重要,相當于各種函數(shù)的調(diào)度中心。在我們的驅(qū)動程序中數(shù)據(jù)包被接收,數(shù)據(jù)包發(fā)送完畢,buffer分配完成以及其他異常情況都會觸發(fā)中斷而調(diào)用中斷函數(shù)進行處理。其他情況觸發(fā)中斷比較容易理解,下面對buffer分配完成中斷作一些說明。
現(xiàn)代網(wǎng)絡芯片為增加數(shù)據(jù)吞吐量,在芯片內(nèi)部都包含一定數(shù)量的buffer緩存發(fā)送和接收的數(shù)據(jù)包,在發(fā)送數(shù)據(jù)時網(wǎng)絡芯片往往要先分配適當大小的buffer空間,以接收內(nèi)核發(fā)送的數(shù)據(jù),當芯片buffur滿時,這些buffer分配命令(芯片的內(nèi)部寄存器指令)就暫時不能執(zhí)行,如果芯片緩存數(shù)據(jù)因為成功發(fā)送或者接收的數(shù)據(jù)成功傳遞給上層協(xié)議,釋放buffer空間,這時buffer分配命令就可以繼續(xù)執(zhí)行,一旦執(zhí)行成功就觸發(fā)中斷告知系統(tǒng)可以向芯片傳送數(shù)據(jù)了。