国产九九热视频-国产九九精品视频-国产精自产拍久久久久久蜜-国产精自产拍久久久久久-国产精在线-国产精亚洲视频


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


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

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

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


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

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

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

返回版面帖子列表

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








簽名
主站蜘蛛池模板: 阳江市| 厦门市| 长泰县| 杂多县| 杭锦后旗| 舒兰市| 锦屏县| 闻喜县| 汝城县| 陆河县| 文山县| 和田县| 观塘区| 兴文县| 资源县| 溆浦县| 柘荣县| 安平县| 阿拉善左旗| 台南市| 红安县| 浦江县| 治多县| 建平县| 清水县| 金沙县| 翁牛特旗| 石渠县| 黎川县| 丁青县| 绿春县| 澳门| 交城县| 德化县| 平远县| 香港 | 辽阳市| 那曲县| 华容县| 扶沟县| 阜南县|