新聞中心

        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教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 木兰县| 禹城市| 石柱| 西城区| 绍兴市| 尼木县| 竹溪县| 三穗县| 奉贤区| 韶关市| 长白| 大宁县| 稻城县| 鲁甸县| 克拉玛依市| 千阳县| 肃北| 湘西| 山阳县| 师宗县| 南雄市| 景德镇市| 镇赉县| 湘西| 临桂县| 靖江市| 彩票| 连州市| 安远县| 霍林郭勒市| 新巴尔虎左旗| 手游| 肥东县| 聂拉木县| 利辛县| 长子县| 阜南县| 湘阴县| 夹江县| 舟曲县| 景谷|