<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇Linux專區(qū)Linux驅(qū)動開發(fā) → Linux驅(qū)動程序開發(fā)技術(shù)


      共有7104人關(guān)注過本帖樹形打印

    主題:Linux驅(qū)動程序開發(fā)技術(shù)

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    Linux驅(qū)動程序開發(fā)技術(shù)  發(fā)帖心情 Post By:2010-11-24 9:13:58

    Linux由于其具有內(nèi)核強大且穩(wěn)定,易于擴展和裁減,豐富的硬件支持等諸多優(yōu)點,在嵌入式系統(tǒng)中得到了廣泛的應(yīng)用。很多嵌入式Linux系統(tǒng),特別是一些具有與用戶強交互的嵌入式系統(tǒng),往往需要配備一個特殊設(shè)備,此時開發(fā)者需要根據(jù)實際情況,為自己的特殊設(shè)備編寫驅(qū)動程序。
      Linux設(shè)備驅(qū)動程序在Linux的內(nèi)核源代碼中占有很大比例,源代碼的長度日益增加, 主要是驅(qū)動程序的增加。操作系統(tǒng)是通過各種驅(qū)動程序來駕馭硬件設(shè)備,它為用戶屏蔽了各種各樣的設(shè)備,驅(qū)動硬件是操作系統(tǒng)最基本的功能。本專題主要概述Linux設(shè)備驅(qū)動框架、驅(qū)動程序的配置文件及各種驅(qū)動安裝。編寫 Linux 設(shè)備驅(qū)動程序無疑是一項復(fù)雜的工作。設(shè)備驅(qū)動程序可分為2大類:硬件設(shè)備驅(qū)動程序和軟件設(shè)備驅(qū)動程序。硬件設(shè)備驅(qū)動程序和物理硬件設(shè)備相連接,如UART設(shè)備或IDE設(shè)備,而軟件設(shè)備驅(qū)動程序則作為低級數(shù)據(jù)結(jié)構(gòu)間的接口,或硬件設(shè)備驅(qū)動程序和高級數(shù)據(jù)結(jié)構(gòu)間的接口。
      在Linux操作系統(tǒng)下有3類主要的設(shè)備文件類型:塊設(shè)備、字符設(shè)備和網(wǎng)絡(luò)設(shè)備。這種分類方法可以將控制輸入/輸出設(shè)備的驅(qū)動程序與其他操作系統(tǒng)軟件分離開來。系統(tǒng)調(diào)用時操作系統(tǒng)內(nèi)核與應(yīng)用程序之間的接口,設(shè)備驅(qū)動程序是操作系統(tǒng)內(nèi)核與機器硬件之間的接口。設(shè)備驅(qū)動程序是內(nèi)核的一部分,它完成以下功能:對設(shè)備初始化和釋放、把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù)、讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請求的數(shù)據(jù)、檢測和處理設(shè)備出現(xiàn)的錯誤。
        Linux的設(shè)備驅(qū)動程序可以分為3個主要組成部分,自動配置和初始化子程序,負責(zé)監(jiān)測所要驅(qū)動的硬件設(shè)備是否存在和能否正常工作。服務(wù)于I/O請求的子程序,又稱為驅(qū)動程序的上半部分。調(diào)用這部分程序是由于系統(tǒng)調(diào)用的結(jié)果。中斷服務(wù)子程序,又稱為驅(qū)動程序的下半部分。在Linux系統(tǒng)中,并不是直接從中斷向量表中調(diào)用設(shè)備驅(qū)動程序的中斷服務(wù)子程序,而是由Linux系統(tǒng)來接收硬件中斷,再由系統(tǒng)調(diào)用中斷服務(wù)子程序。在Linux系統(tǒng)里,對中斷的處理是屬于系統(tǒng)核心部分,因而如果設(shè)別與系統(tǒng)之間以中斷方式進行數(shù)據(jù)交換,就必須把該設(shè)備的驅(qū)動程序作為系統(tǒng)核心的一部分。

    支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    Linux驅(qū)動程序開發(fā)技術(shù)








    簽名