freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式linux系統(tǒng)高級(jí)開發(fā)工程師(編輯修改稿)

2024-09-19 10:29 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ?初始化 device結(jié)構(gòu)中的變量 ?讓硬件正式開始工作 網(wǎng)絡(luò)驅(qū)動(dòng)程序 — 打開 打開 (open) open這個(gè)方法在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序里是在網(wǎng)絡(luò)設(shè)備被激活的時(shí)候被調(diào)用 (即設(shè)備狀態(tài)由 downup) ? 實(shí)際上很多在 initialize中的工作可以放到這里來(lái)做。比如資源的申請(qǐng)、硬件的激活。 ? 如果 devopen返回非 0(error),則硬件的狀態(tài)還是 down ? open方法另一個(gè)作用是如果驅(qū)動(dòng)程序做為一個(gè)模塊被裝入,則要防止模塊卸載時(shí)設(shè)備處于打開狀態(tài)。 ? 使能隊(duì)列 if_start_queue (dev)。 網(wǎng)絡(luò)驅(qū)動(dòng)程序 — 關(guān)閉 關(guān)閉 (stop) close方法做和 open相反的工作??梢葬尫拍承┵Y源以減少系統(tǒng)負(fù)擔(dān)。 ?close是在設(shè)備狀態(tài)由 up轉(zhuǎn)為 down時(shí)被調(diào)用的 ?close方法必須返回成功 (0==success) ?禁止隊(duì)列 ?if_stop_queue (dev)。 網(wǎng)絡(luò)驅(qū)動(dòng)程序 — 發(fā)送 發(fā)送 (hard_start_xmit) 所有的網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序都必須有這個(gè)發(fā)送方法。 ? 在系統(tǒng)調(diào)用驅(qū)動(dòng)程序的 xmit時(shí),發(fā)送的數(shù)據(jù)放在一個(gè)sk_buff結(jié)構(gòu)中。 ? 一般的驅(qū)動(dòng)程序把數(shù)據(jù)傳給硬件發(fā)出去。也有一些特殊的設(shè)備比如 loopback把數(shù)據(jù)組成一個(gè)接收數(shù)據(jù)再回送給系統(tǒng),或者 dummy設(shè)備直接丟棄數(shù)據(jù)。 ? 如果發(fā)送成功, hard_start_xmit方法里釋放 sk_buff,返回 0(發(fā)送成功 ) ? 如果設(shè)備暫時(shí)無(wú)法處理,比如硬件忙,則返回 1。這時(shí)如果 devtbusy置為非 0,則系統(tǒng)認(rèn)為硬件忙,要等到 devtbusy置 0以后才會(huì)再次發(fā)送。 tbusy的置 0任務(wù)一般由中斷完成。 網(wǎng)絡(luò)驅(qū)動(dòng)程序 — 發(fā)送(續(xù)) ? 硬件在發(fā)送結(jié)束后產(chǎn)生中斷,這時(shí)可以把 tbusy置 0,然后用 mark_bh()調(diào)用通知系統(tǒng)可以再次發(fā)送。 ? 在發(fā)送不成功的情況下,也可以不置 devtbusy為非 0,這樣系統(tǒng)會(huì)不斷嘗試重發(fā)。 ? 如果 hard_start_xmit發(fā)送不成功,則不要釋放 sk_buff。 ? 傳送下來(lái)的 sk_buff中的數(shù)據(jù)已經(jīng)包含硬件需要的幀頭。所以在發(fā)送方法里不需要再填充硬件幀頭,數(shù)據(jù)可以直接提交給硬件發(fā)送。 sk_buff是被鎖住的 (locked), 確保其他程序不會(huì)存取它。 網(wǎng)絡(luò)驅(qū)動(dòng)程序 — 接收 接收 (reception) 驅(qū)動(dòng)程序并不存在一個(gè)接收方法。有數(shù)據(jù)收到應(yīng)該是驅(qū)動(dòng)程序來(lái)通知系統(tǒng)的。 ?一般設(shè)備收到數(shù)據(jù)后都會(huì)產(chǎn)生一個(gè)中斷,在中斷處理程序中驅(qū)動(dòng)程序申請(qǐng)一塊 sk_buff(skb),從硬件讀出數(shù)據(jù)放置到申請(qǐng)好的緩沖區(qū)里。接下來(lái)填充 sk_buff中的一些信息。 skbdev = dev,判斷收到幀的協(xié)議類型,填入 skbprotocol(多協(xié) 議的支持 )。 ?把指針 skb幀頭 (skb_pull)。 網(wǎng)絡(luò)驅(qū)動(dòng)程序 — 接收(續(xù)) ? 還要 設(shè)置 skbpkt_type,標(biāo)明第二層 (鏈路層 )數(shù)據(jù)類型??梢允且韵骂愋停? PACKET_BROADCAST : 鏈路層廣播 PACKET_MULTICAST : 鏈路層組播 PACKET_SELF : 發(fā)給自己的
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1