• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux的設(shè)備驅(qū)動(dòng)程序應(yīng)是一個(gè)內(nèi)核模塊

    Linux的設(shè)備驅(qū)動(dòng)程序應(yīng)是一個(gè)內(nèi)核模塊

    作者: 時(shí)間:2012-08-28 來源:網(wǎng)絡(luò) 收藏

    為了增跟的靈活性和為了方便,設(shè)各應(yīng)被設(shè)計(jì)為可動(dòng)態(tài)安裝的

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

    于是,典型的設(shè)各應(yīng)包含如下幾部分代碼:

    ·的注冊(cè)與注銷函數(shù);

    ·設(shè)各的打開、關(guān)閉、讀、寫及需要的其他操作函數(shù);

    ·的中斷服務(wù)程序。

    下面用偽代碼給出從鍵盤上輸入一個(gè)字符的例子,以使讀者對(duì)驅(qū)動(dòng)程序的構(gòu)成有一個(gè)基本的概念。

    (1)定義讀操作函數(shù)

    ssize mydev_read(……)

    {

    獲取本的信號(hào)量以確倮沒有其他進(jìn)程訪悶本設(shè)備;

    申請(qǐng)中斷標(biāo)志,允許中斷;

    對(duì)設(shè)備發(fā)出讀命令;

    將進(jìn)EH于等待隊(duì)列,等待中斷到來:

    }

    (2)定義中斷服務(wù)程序

    void mydev_ihterpt(……)

    {

    處理器讀入字符;

    設(shè)置中斷標(biāo)志:

    喚醒等侍的進(jìn)程:

    }

    (3)定義初始化函數(shù)

    int init_module(void)

    向系統(tǒng)注冊(cè)設(shè)各;

    其他初始化代碼;

    (4)定義模塊析構(gòu)函數(shù)

    void cleMup_modtLle(void)

    {

    取消注冊(cè)的設(shè)備;

    其他析構(gòu)代碼;

    }

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

    linux相關(guān)文章:linux教程




    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 环江| 漾濞| 阆中市| 伽师县| 凌源市| 若尔盖县| 西城区| 博爱县| 沁阳市| 阿拉善右旗| 乌鲁木齐县| 桃江县| 翼城县| 翁牛特旗| 建瓯市| 义马市| 临澧县| 新疆| 湘潭市| 呼图壁县| 瑞安市| 乐至县| 长白| 西盟| 建宁县| 义乌市| 临泽县| 彝良县| 宜宾县| 高淳县| 七台河市| 英超| 福清市| 达孜县| 深泽县| 遵义市| 鄂伦春自治旗| 微博| 昌江| 延川县| 遵义县|