<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Linux系統(tǒng)設(shè)備驅(qū)動(dòng)程序的開發(fā)

          嵌入式Linux系統(tǒng)設(shè)備驅(qū)動(dòng)程序的開發(fā)

          作者: 時(shí)間:2012-05-08 來(lái)源:網(wǎng)絡(luò) 收藏

          的使用

          直接將編譯進(jìn)linux內(nèi)核

          復(fù)制到 linux/drivers相關(guān)的子目錄下,比如字符驅(qū)動(dòng)程序 就放在linux/drivers/char下。

          修改linux/drivers相關(guān)的子目錄的Makefile,

          如obj-$(config_dev_driver) +=dev_driver.o,這樣在編譯內(nèi)核時(shí)將會(huì)編譯dev_driver.c,生成 dev_driver.o.

          對(duì)內(nèi)核進(jìn)行重新編譯時(shí),進(jìn)行相關(guān)的配置,比如要使用AT91RM9200的UART,就要如下配置:

          Character devices -> Serial drivers ->AT91RM9200 serial port support

          將驅(qū)動(dòng)程序編譯成驅(qū)動(dòng)模塊

          在設(shè)備驅(qū)動(dòng)程序中要有兩個(gè)重要函數(shù):

          module_init(dev_init),module_exit(dev_exit)

          利用相應(yīng)的交叉編譯器以及編譯命令將驅(qū)動(dòng)程序dev_driver.c編譯成dev_driver.o 這樣的動(dòng)態(tài)驅(qū)動(dòng)模塊。利用insmod命令給安裝驅(qū)動(dòng)模塊,如果在/dev目錄下沒有相應(yīng)的設(shè)備文件,就可以使用mknod創(chuàng)建一個(gè)設(shè)備文件。利用 rmmod命令卸載驅(qū)動(dòng)模塊,設(shè)備文件的刪除可以用rm命令。

          結(jié)語(yǔ)

          設(shè)備驅(qū)動(dòng)程序的是在環(huán)境中最復(fù)雜的編程任務(wù)之一 。它需要和硬件打交道,容易引起崩潰,而且很難調(diào)試。掌握設(shè)備驅(qū)動(dòng)程序的技術(shù),將使得更為迅速和有效。

          參考文獻(xiàn):

          1. AlessandroRubmi,JonathanCorbet.設(shè)備驅(qū)動(dòng)程序,第3版,中國(guó)電力出版社,2006.2

          2. 毛德操、胡希明,Linux內(nèi)核源代碼情景分析,浙江大學(xué)出版社,2001

          3. 周立功、陳明記、陳渝,ARMlinux系統(tǒng)構(gòu)建與驅(qū)動(dòng)開發(fā),北京航空航天大學(xué)出版社,2006年1月第1版

          4. 李祥兵、鄭扣根,Linux中I2C總線驅(qū)動(dòng)程序的開發(fā),計(jì)算機(jī)工程與設(shè)計(jì),2005;26(1)

          5. 鄭偉、王欽若,Linux內(nèi)核空間設(shè)備驅(qū)動(dòng)程序的開發(fā),微計(jì)算機(jī)信息,2003;19(12)

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();