新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 頻譜儀多種內核通信機制的方案設計

        頻譜儀多種內核通信機制的方案設計

        作者: 時間:2012-04-12 來源:網絡 收藏
        troke-width: 0px">  Linux操作系統將所有的設備(而不僅是存儲器里的文件)都看成文件,以操作文件的方式訪問設備。應用程序不能直接操作硬件,而是使用統一的接口函數調用硬件驅動程序。在設計的驅動程序中,首先要根據驅動程序的功能完成file_operations結構中的函數實現,不需要的函數接口可以直接在file_operations結構中初始化為NULL。而file_operations結構變量會在驅動程序初始化時注冊到系統內部。當操作系統對設備操作時,就會調用驅動程序注冊的file_operations結構中相應的函數指針。

          對于Linux驅動的注冊有兩種方式:一種是直接編譯到內核中,在系統啟動時即對設備進行注冊;另一種是以模塊的方式注冊設備,需要在系統啟動后用命令對設備進行注冊。后一種方式在系統開發期使用比較方便,不用在每次修改驅動程序后和內核一起進行編譯,只需要將模塊編譯成后綴為,ko的模塊文件,就可下載到開發板中直接使用。在本課題中,使用的是模塊注冊的方式,在項目開發期間可大大縮短開發時間。

          4 Linux設備驅動的實現

          對于編寫一個Linux設備的驅動程序,大致的流程如下:

          ①查看原理圖、數據手冊,了解設備的操作方法。

          ②實現驅動程序的初始化,比如向內核注冊這個驅動程序,這樣應用程序傳入文件名時,內核才能找到相應的驅動程序。

          ③設計所要實現的操作,比如open、close、read、write等函數。

          ④實現中斷服務(不是必須的)。

          ⑤編譯該驅動程序到內核中,或者用insmod命令加載。



        關鍵詞: 頻譜儀 內核通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 光山县| 水富县| 灵武市| 镇巴县| 罗田县| 盱眙县| 屏山县| 青川县| 安丘市| 蓬安县| 来宾市| 新绛县| 沂源县| 辛集市| 军事| 芮城县| 中超| 石河子市| 民和| 清水县| 扎兰屯市| 张家川| 屏东县| 鄯善县| 临朐县| 博湖县| 奉节县| 利辛县| 高清| 临桂县| 若羌县| 鹰潭市| 宁强县| 靖宇县| 拉孜县| 鄂托克旗| 武宁县| 社旗县| 惠来县| 宣汉县| 应城市|