最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

驅(qū)動學(xué)習(xí)感想

2023-02-09 17:01 作者:秋名山西  | 我要投稿

最近看到某些驅(qū)動說自己屬于linux某某子系統(tǒng)的驅(qū)動,例如I2C、USB等,但在其代碼中由混雜著注冊了
其他類型的驅(qū)動注冊函數(shù),例如USB 鼠標(biāo)驅(qū)動中,就在驅(qū)動初始化函數(shù)中注冊了調(diào)用了inpu驅(qū)動的注冊函數(shù)。

現(xiàn)在的感悟是:
對于Linux系統(tǒng)而言,真正的設(shè)備文件分類主要有:
1、字符設(shè)備
2、塊設(shè)備
3、網(wǎng)絡(luò)設(shè)備

因此Linux設(shè)備驅(qū)動框架雖然有很多種,但是提供給用戶程序進(jìn)行操作時,最終都是要?dú)w屬到上述的三種設(shè)備文件類型中去。
所以對于USB鼠標(biāo),只能認(rèn)為USB設(shè)備和主機(jī)的通信方式使用的是USB通信協(xié)議,但是這只是將數(shù)據(jù)從設(shè)備讀取到了內(nèi)核,但是內(nèi)核該如何將信息提交給應(yīng)用程序呢?
這就需要考慮設(shè)備屬于哪種類型,字符設(shè)備?塊設(shè)備?網(wǎng)絡(luò)設(shè)備?,鼠標(biāo)一般歸屬為字符設(shè)備類型,而且屬于輸入設(shè)備(輸入設(shè)備的本質(zhì)也是字符設(shè)備)。因此這里可以
使用字符設(shè)備的方式組織將信息發(fā)送給應(yīng)用程序,也可以使用linux 提供的Input驅(qū)動框架,使用事件管理機(jī)制簡化驅(qū)動的編寫。
當(dāng)然,這兩種方式都需要先按照設(shè)備與主機(jī)的通信方式選擇對應(yīng)的驅(qū)動框架,在后再在對應(yīng)框架的初始化函數(shù)中注冊字符設(shè)備驅(qū)動或者Input驅(qū)動,完成應(yīng)用程序交給驅(qū)動的任務(wù)。

其次,常常在某些驅(qū)動中會專門為設(shè)備定制一個私有數(shù)據(jù)結(jié)構(gòu)體,當(dāng)然名字不一定帶有“pdata”,這樣做的目的,是將某些設(shè)備的特殊功能通過這樣的方式,帶入內(nèi)核,
以便在設(shè)備初始化的時候調(diào)用,例如 中斷、gpio、時鐘等。



驅(qū)動學(xué)習(xí)感想的評論 (共 條)

分享到微博請遵守國家法律
揭西县| 寻乌县| 利津县| 平昌县| 安顺市| 新闻| 建德市| 黔西县| 汾西县| 芦山县| 贵南县| 贵德县| 长岭县| 甘泉县| 辽中县| 平塘县| 嵩明县| 大埔区| 金川县| 邵东县| 嘉善县| 喜德县| 平远县| 安康市| 湖口县| 绥江县| 阿拉善左旗| 延津县| 济南市| 友谊县| 富宁县| 马尔康县| 永修县| 沿河| 钦州市| 西平县| 黄浦区| 广灵县| 旬邑县| 淅川县| 东辽县|