国产一区二区精品在线_午夜精品视频_亚洲国产高清高潮精品美女_久久久91_午夜精品视频_久久久久亚洲一区二区三区

wince5.0中斷的詳細(xì)解釋

來源:網(wǎng)絡(luò)

點(diǎn)擊:2007

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: wince5.0,wince中斷,wince

      1 WinCE中第一次對(duì)中斷的處理是在OAL的OEMInit()中,該函數(shù)調(diào)用OALIntrInit()完成對(duì)中斷的初始化。

      2 OALIntrInit()對(duì)中斷的初始化做了如下工作:

      2.1 通過配置IPR0-IPR33設(shè)置中斷優(yōu)先級(jí),優(yōu)先級(jí)定義在g_IntPriorities和g_IntPriorities2中,其中IRQ_OSMR0為最高優(yōu)先級(jí), IRQ_KEYPAD為最低優(yōu)先級(jí)。

      2.2 設(shè)置ICCR,在空閑模式時(shí)只對(duì)有效的,非屏蔽的中斷響應(yīng)。

      2.3 BSPIntrInit()。該函數(shù)對(duì)BSP中需要處理的中斷進(jìn)行初始化工作,主要是設(shè)置ICMR寄存器使GPIO1(CPLD)和GPIO2為非屏蔽狀態(tài),然后通過OALIntrStaticTranslate建立IRQ和sysintr之間的關(guān)聯(lián)。

      2.4 對(duì)于WinCE來說,中斷可以作如下分類:

      1》 與BSP無關(guān)的Kernel使用的內(nèi)部中斷, 比如IRQ_OSMR0(for

      sched),IRQ_RTCALARM;

      2》 與BSP有關(guān)的CPU內(nèi)部中斷,比如IRQ_USBOHCI, IRQ_OSM

      R1, IRQ_KEYPAD, IRQ_FFUART, IRQ_BTUART, IRQ_STUART, IRQ_DMAC, IRQ_USBFN;

      3》 CPLD所管理的中斷,以GPIO1通知CPU中斷的產(chǎn)生,在收到G

      PIO1產(chǎn)生的中斷后可以通過讀取地址0x0A00_0010判斷具體的中斷源,比如IRQ_GPIO1_MMCCD(MMC_IN_INT, MMC_OUT_INT), IRQ_GPIO1_USBCD(USB_IN_INT, USB_OUT_INT), IRQ_GPIO1_PCMCIA_S0_CSC(CF_IN_INT. CF_OUT_INT),還有在代碼中沒有處理的SIM卡中斷(SIM_IN_INT, SIM_OUT_INT)。

      4》 GPIO2_120產(chǎn)生的中斷,通過寄存器ICIP的位10-GPIO_x通

      知CPU中斷的產(chǎn)生,然后查詢寄存器GEDR_x可以判斷具體的中斷源,比如IRQ_GPIO12_MARATHO, IRQ_GPIO10_ETHERNET,IRQ_GPIO13_UCB1400;

      5》 以Installable ISR形式產(chǎn)生的中斷,這類中斷通常是以DLL的形式安裝,在注冊(cè)表中定義其實(shí)際的IRQ中斷值,比如IRQ_MMC_DETECT,IRQ_MMC_CONTROL;

      2.5 有幾種方式可以建立實(shí)際中斷IRQ到系統(tǒng)中斷sysintr之間的關(guān)聯(lián),對(duì)于build-in設(shè)備,可以在OEMInit中通過OALIntrStaticTranslate來建立靜態(tài)的關(guān)聯(lián);但是對(duì)于installable ISRs,可以在注冊(cè)表中定義實(shí)際的中斷IRQ,然后通過在KernelIOControl中使用IOCTL_HAL_REQUEST_SYSINTR來實(shí)時(shí)分配新的sysintr,這有助于驅(qū)動(dòng)的移植。

      3 在CPU接收到中斷后,對(duì)中斷的處理是在 OEMInterruptHandler()中,該函數(shù)的首先屏蔽該中斷,最后得到實(shí)際中斷IRQ所對(duì)應(yīng)的sysintr的值。

      3.1 首先它通過中斷寄存器ICHP得到實(shí)際的IRQ值;

      3.2 對(duì)于GPIO產(chǎn)生的中斷,通過清空GFER和GRER寄存器來屏蔽相同的中斷;對(duì)于其余的CPU內(nèi)部中斷,通過清空ICMR寄存器的相應(yīng)位來屏蔽中斷;

      3.3 對(duì)于Kernel使用的IRQ_OSMR0和IRQ_OSMR2,分別進(jìn)行處理,得到sysintr;

      3.4 對(duì)于通過GPIO0,GPIO1和GPIO2_120產(chǎn)生的中斷,將IRQ的值進(jìn)行轉(zhuǎn)化,使之與OAL/intr.c和bulverder_intr.h中所定義的新的IRQ值相對(duì)應(yīng),此時(shí)的IRQ值就不是在ICIP中對(duì)定義的IRQ值了;

      3.5 接著調(diào)用NKCallIntChain(irq)判斷該IRQ是否已經(jīng)被加入中斷列表,同時(shí)開始調(diào)用該中斷的ISR程序。

      4 當(dāng)中斷處理完成后,調(diào)用OALIntrDoneIrqs(),重新使能中斷。

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。

    主站蜘蛛池模板: 精品国产一区二区三区免费 | 成人观看 | 超黄网站在线观看 | 成人黄色一级毛片 | 一本色道综合久久欧美日韩精品 | 日本三级黄在线观看 | 亚洲一区在线观看视频 | 亚洲高清电影 | 视频毛片| 国产日韩欧美91 | 狠狠色网| 亚洲精品mm1313 | 78成人天堂久久成人 | 欧美色图网址 | 一区二区三区四区在线播放 | 久久艹这里只有精品 | 天天干夜夜爽 | av综合在线观看 | 在线播放一区 | 中文字幕日韩欧美一区二区三区 | 色视频免费观看 | 欧美国产一级 | 成人网免费视频 | 淫片在线 | 亚洲第一区在线观看 | 国产成人在线观看免费网站 | 自拍偷拍av| 欧美精品一区二区在线播放 | 三区在线视频 | 国产视频精品免费 | 日韩免费视频一区二区 | 有码精品 | 日韩国产激情 | 69xxx免费| 欧美aⅴ视频| 做a视频在线观看 | 日韩一区二区三区福利视频 | 亚洲国产一区二区在线观看 | 日韩成人在线免费视频 | 欧美综合在线观看 | 久久久91精品国产一区二区三区 |