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

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 頻譜儀多種內(nèi)核通信機(jī)制的方案設(shè)計(jì)

          頻譜儀多種內(nèi)核通信機(jī)制的方案設(shè)計(jì)

          作者: 時(shí)間:2012-04-12 來(lái)源:網(wǎng)絡(luò) 收藏
          4.1.5 模塊的編譯、加載

            在驅(qū)動(dòng)文件的最后加上如下代碼,設(shè)置模塊加載與釋放對(duì)應(yīng)的函數(shù):

            module_init(hpi_init);

            module_exit(hpi_exit);

            完成了驅(qū)動(dòng)程序的編寫(xiě),將源程序文件在Linux開(kāi)發(fā)環(huán)境下編譯成.ko的模塊文件,使用insmod和rmmod指令來(lái)加載和卸載模塊。

            4.2 SPI設(shè)備驅(qū)動(dòng)程序?qū)崿F(xiàn)

            在SPI的驅(qū)動(dòng)設(shè)計(jì)中,大體的框架跟HPI是相同的。包括頭文件宏定義的完善、SPI設(shè)備的初始化、file_operations結(jié)構(gòu)中函數(shù)的實(shí)現(xiàn)、資源釋放,最后編譯、加載。需要說(shuō)明的是AT91RM9200自帶了SPI接口,所以初始化時(shí)要根據(jù)芯片手冊(cè)對(duì)SPI接口的I/O線、時(shí)鐘、工作模式

            等進(jìn)行配置,才能保證硬件的正常工作。在SPI驅(qū)動(dòng)的write函數(shù)中,使用了如下代碼:

            copy_from_user(Ytos,buf,count);

            在Linux的驅(qū)動(dòng)設(shè)計(jì)中,經(jīng)常涉及到用戶空間和內(nèi)核空間的通信問(wèn)題,即數(shù)據(jù)的交換。copy_from_user與copy_to_user函數(shù)就是為了實(shí)現(xiàn)這一功能。上述代碼實(shí)現(xiàn)的功能就是將用戶空間buf的count字節(jié)的內(nèi)容復(fù)制到內(nèi)核中定義的數(shù)組Ytos中,從而完成用戶空間和內(nèi)核的數(shù)據(jù)交換。驅(qū)動(dòng)的其余實(shí)現(xiàn)類似HPI,不再詳述。



          關(guān)鍵詞: 頻譜儀 內(nèi)核通信

          評(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); })();