新聞中心

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

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

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

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

          4 Linux設備驅動的實現

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

         ?、俨榭丛韴D、數據手冊,了解設備的操作方法。

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

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

         ?、軐崿F中斷服務(不是必須的)。

         ?、菥幾g該驅動程序到內核中,或者用insmod命令加載。



        關鍵詞: 頻譜儀 內核通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阜平县| 松原市| 青浦区| 乌拉特中旗| 远安县| 临泉县| 合水县| 太原市| 重庆市| 扶风县| 车致| 土默特右旗| 自贡市| 晴隆县| 凤庆县| 雅江县| 江门市| 华安县| 阿鲁科尔沁旗| 安仁县| 公安县| 隆化县| 盐山县| 庄浪县| 修文县| 无为县| 厦门市| 洛川县| 万年县| 紫阳县| 抚顺县| 眉山市| 呼和浩特市| 靖宇县| 上蔡县| 彭州市| 龙州县| 双柏县| 囊谦县| 平凉市| 沁水县|