vxworks中斷的使用


VxWorks中使用intConnect()掛接中斷服務程序,但對於PCI設備,一般采用pciIntConnect()掛接中斷,它與intConnect()的主要不同在於intConnect()使用的中斷向量是獨占的,而pciIntConnect()則可使多個外部中斷共享一個中斷向量。它在內部使用一個鏈表管理多個ISR,發生中斷時,鏈接在一個鏈表上的各個ISR被依次調用,pciIntConnect()要求每個ISR被調用時,應該首先查詢是否為自己的設備產生的中斷,不是則應立即返回,以繼續調用其它ISR。

VxWorks中面向應用的編程接口為intConnect(),其原型如下:

STATUS intConnect( VOIDFUNCPTR *vector,VOIDFUNCPTR routine,int parameter)

其中

vector:要掛接的中斷向量地址;

routine:中斷發生時調用ISR;

parameter:傳遞給IST的參數。

一般調用intConnect函數時需要使用INUM_TO_IVEC()函數對終端號進行處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM