日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Linux中斷處理:從定義到實(shí)現(xiàn)(linux中斷函數(shù))

linux中斷處理是操作系統(tǒng)中非常重要的一部分,它在多種外圍設(shè)備的支持,以及操作系統(tǒng)與應(yīng)用程序間的協(xié)調(diào)下扮演了重要角色。本文旨在介紹Linux中斷處理的概念、相關(guān)定義及實(shí)現(xiàn)原理。

Linux中斷處理又稱為中斷服務(wù)例程(ISR,Interrupt Service Routine),它是指當(dāng)外部設(shè)備(如硬件設(shè)備、系統(tǒng)定時(shí)器等)發(fā)出中斷信號(hào)時(shí),操作系統(tǒng)可以立即中斷當(dāng)前程序,進(jìn)入到一個(gè)專門的處理函數(shù)中去處理該中斷的情況,這就是操作系統(tǒng)處理外設(shè)中斷的運(yùn)行機(jī)制。Linux中斷處理的本質(zhì)是將中斷信號(hào)捕獲、處理,并采取正確的反應(yīng)的一連串事件。

在Linux中,需要實(shí)現(xiàn)中斷處理的主要步驟如下:

1、建立ISR:ISR(interrupt service routine)是一個(gè)以中斷號(hào)作為參數(shù)的函數(shù),它處理設(shè)備發(fā)出的中斷信號(hào),可以在實(shí)際應(yīng)用中根據(jù)需要定義系統(tǒng)中斷處理函數(shù),如下是一個(gè)示例:

serving myISR //provide function entry address

{

unsigned char buf[8];

int i;

//read buffer from device

for(i=0;i

{

buf[i] = getByte(i);

}

//add number or data as instruction request

inst = addFromBuffer(buf);

//get interrupt

ackInterrupt();

}

2、設(shè)定中斷服務(wù)函數(shù):當(dāng)外設(shè)產(chǎn)生中斷時(shí),硬件設(shè)備會(huì)向操作系統(tǒng)發(fā)出中斷信號(hào),那么操作系統(tǒng)就根據(jù)中斷號(hào)找到對(duì)應(yīng)的ISR,這時(shí)系統(tǒng)會(huì)調(diào)用函數(shù)request_irq,該函數(shù)會(huì)把每個(gè)可能產(chǎn)生中斷的設(shè)備的中斷處理函數(shù)接口放入到一個(gè)指針數(shù)組中:

request_irq(unsigned int irq_num, void (*dev_id)(int, void *, struct pt_regs *),

unsigned long flags, const char *desc, void *dev);

3、響應(yīng)中斷:當(dāng)需要響應(yīng)外設(shè)中斷信號(hào)時(shí),操作系統(tǒng)會(huì)從單獨(dú)編號(hào)的IRQ處理的中斷請(qǐng)求函數(shù)中獲得外設(shè)信息,然后開(kāi)始對(duì)設(shè)備的中斷響應(yīng),如執(zhí)行低級(jí)驅(qū)動(dòng)器的ackInterrupt()函數(shù)確認(rèn)中斷:

driverInfo *di;

di->topDriver->ackInterrupt();

Linux中斷處理的實(shí)現(xiàn)需要正確的響應(yīng)外設(shè)的中斷信號(hào),并根據(jù)需要采取正確的反應(yīng),從而完成從不可響應(yīng)的設(shè)備到可控的智能化設(shè)備的演進(jìn),使系統(tǒng)得以及時(shí)響應(yīng)性高。

成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽(yáng)、重慶、貴陽(yáng)機(jī)房服務(wù)器托管租用。


網(wǎng)頁(yè)標(biāo)題:Linux中斷處理:從定義到實(shí)現(xiàn)(linux中斷函數(shù))
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/dhdpico.html