新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Linux的設備驅動程序應是一個內核模塊

        Linux的設備驅動程序應是一個內核模塊

        作者: 時間:2012-08-28 來源:網絡 收藏

        為了增跟的靈活性和為了方便,設各應被設計為可動態安裝的

        本文引用地址:http://www.104case.com/article/148516.htm

        于是,典型的設各應包含如下幾部分代碼:

        ·的注冊與注銷函數;

        ·設各的打開、關閉、讀、寫及需要的其他操作函數;

        ·的中斷服務程序。

        下面用偽代碼給出從鍵盤上輸入一個字符的例子,以使讀者對驅動程序的構成有一個基本的概念。

        (1)定義讀操作函數

        ssize mydev_read(……)

        {

        獲取本的信號量以確倮沒有其他進程訪悶本設備;

        申請中斷標志,允許中斷;

        對設備發出讀命令;

        將進EH于等待隊列,等待中斷到來:

        }

        (2)定義中斷服務程序

        void mydev_ihterpt(……)

        {

        處理器讀入字符;

        設置中斷標志:

        喚醒等侍的進程:

        }

        (3)定義初始化函數

        int init_module(void)

        向系統注冊設各;

        其他初始化代碼;

        (4)定義模塊析構函數

        void cleMup_modtLle(void)

        {

        取消注冊的設備;

        其他析構代碼;

        }

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

        linux相關文章:linux教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永嘉县| 新郑市| 柳林县| 田东县| 调兵山市| 元江| 罗平县| 玉田县| 定日县| 拜城县| 文化| 金华市| 章丘市| 偃师市| 金门县| 景泰县| 白城市| 临安市| 绍兴县| 买车| 五指山市| 东平县| 金坛市| 镇沅| 淮滨县| 宁晋县| 云龙县| 绥宁县| 靖远县| 茌平县| 尼勒克县| 莱州市| 嘉黎县| 大连市| 木兰县| 望奎县| 德庆县| 仁化县| 富源县| 鹤山市| 浮山县|