国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式Linux的用戶空間驅(qū)動(dòng)開發(fā)的研究

2012-12-31 00:00:00于繼武閆應(yīng)棟
電腦知識(shí)與技術(shù) 2012年14期


  在嵌入式Linux系統(tǒng)開發(fā)過(guò)程中,設(shè)備驅(qū)動(dòng)程序的編寫涉及到內(nèi)核空間的眾多接口函數(shù)、權(quán)限分配、線程控制等,是一個(gè)難以理解掌握的重要內(nèi)容[1]。對(duì)于Linux內(nèi)核編程不熟悉的驅(qū)動(dòng)程序?qū)W習(xí)者來(lái)說(shuō),是一道難以逾越的障礙,從而影響了對(duì)嵌入式Linux驅(qū)動(dòng)開發(fā)的學(xué)習(xí)。
  通過(guò)研究Linux內(nèi)核源代碼[2-3],設(shè)備文件/dev/mem是ARM嵌入式處理器主存的一個(gè)映像。通過(guò)內(nèi)存映像的方式,把整個(gè)/dev/ mem設(shè)備文件或文件的一部分映射到內(nèi)存中,并在內(nèi)存中創(chuàng)建一個(gè)與Linux內(nèi)核存儲(chǔ)器完全相同的映像,實(shí)現(xiàn)嵌入式處理器的物理地址映射到內(nèi)存中,可以提供給用戶程序直接訪問(wèn)設(shè)備內(nèi)存的能力。映射一個(gè)設(shè)備意味著將用戶空間的一段內(nèi)存與設(shè)備內(nèi)存關(guān)聯(lián)起來(lái),當(dāng)程序在分配的地址范圍內(nèi)作讀寫操作時(shí),實(shí)際訪問(wèn)的是設(shè)備地址。
  3結(jié)論
  用戶空間驅(qū)動(dòng)實(shí)現(xiàn)由物理內(nèi)存到用戶空間的映射,直接對(duì)設(shè)備端口進(jìn)行讀寫操作,不必關(guān)心內(nèi)核的細(xì)節(jié)問(wèn)題,大大降低了編寫驅(qū)動(dòng)程序的難度。通過(guò)把用戶空間的驅(qū)動(dòng)程序加上文件系統(tǒng)接口,使用內(nèi)核同步機(jī)制進(jìn)行同步,從而把用戶空間驅(qū)動(dòng)編譯進(jìn)內(nèi)核,轉(zhuǎn)變?yōu)閮?nèi)核驅(qū)動(dòng)。
  但用戶空間的驅(qū)動(dòng)程序?qū)崿F(xiàn)也有缺點(diǎn),如響應(yīng)速度慢,不能處理網(wǎng)絡(luò)設(shè)備和塊設(shè)備等。驅(qū)動(dòng)程序的開發(fā)者要根據(jù)具體的應(yīng)用場(chǎng)合進(jìn)行相應(yīng)選擇。
  參考文獻(xiàn):
  [1] Corbet J.Linux設(shè)備驅(qū)動(dòng)程序[M].

辰溪县| 灵石县| 鄂州市| 宾阳县| 中方县| 吉林省| 丰原市| 于都县| 筠连县| 枣强县| 尤溪县| 大英县| 黔西| 根河市| 扬州市| 鄱阳县| 濮阳市| 胶州市| 龙岩市| 临泉县| 福安市| 翁牛特旗| 双鸭山市| 阳原县| 安庆市| 石林| 双柏县| 湖南省| 莒南县| 佛教| 措美县| 鹤壁市| 墨玉县| 旺苍县| 铁岭市| 万山特区| 辽阳县| 龙江县| 武冈市| 清丰县| 蒙城县|