Linux驅(qū)動(dòng)開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)

出版時(shí)間:2011-1  出版社:清華大學(xué)出版社  作者:鄭強(qiáng)  頁(yè)數(shù):441  
Tag標(biāo)簽:無(wú)  

前言

Linux驅(qū)動(dòng)程序開(kāi)發(fā)是當(dāng)前一個(gè)非常熱門(mén)的領(lǐng)域,大多數(shù)基于Linux操作系統(tǒng)的嵌入式系統(tǒng)都需要編寫(xiě)驅(qū)動(dòng)程序。隨著嵌入式系統(tǒng)的廣泛應(yīng)用,出現(xiàn)了越來(lái)越多的硬件產(chǎn)品,必須有人不斷地編寫(xiě)驅(qū)動(dòng)使設(shè)備在Linux操作系統(tǒng)上工作。但是,Linux驅(qū)動(dòng)程序開(kāi)發(fā)相對(duì)較難,高水平的開(kāi)發(fā)人員也比較少,所以導(dǎo)致驅(qū)動(dòng)程序跟不上硬件發(fā)展的問(wèn)題。基于這個(gè)原因,筆者編寫(xiě)了本書(shū),希望借助本書(shū)能使驅(qū)動(dòng)程序的開(kāi)發(fā)更容易被開(kāi)發(fā)人員所理解,從而迅速高效地開(kāi)發(fā)出相關(guān)的驅(qū)動(dòng)程序來(lái)。筆者結(jié)合自己多年的Linux驅(qū)動(dòng)程序開(kāi)發(fā)經(jīng)驗(yàn)和心得體會(huì),花費(fèi)了一年多的時(shí)間寫(xiě)作本書(shū)。希望各位讀者能在本書(shū)的引領(lǐng)下跨入Linux驅(qū)動(dòng)開(kāi)發(fā)大門(mén),并成為一名驅(qū)動(dòng)程序丌發(fā)高手。本書(shū)結(jié)合大量基礎(chǔ)知識(shí),全面、系統(tǒng)、深入地介紹了Linux驅(qū)動(dòng)程序開(kāi)發(fā)技術(shù),并以大量實(shí)例貫穿于全書(shū)的講解之中,使讀者對(duì)驅(qū)動(dòng)開(kāi)發(fā)有一個(gè)深入的了解。學(xué)習(xí)完本書(shū)后,讀者應(yīng)該可以具備獨(dú)立進(jìn)行驅(qū)動(dòng)程序開(kāi)發(fā)的能力。

內(nèi)容概要

  本書(shū)由淺入深,全面、系統(tǒng)地介紹了Linux驅(qū)動(dòng)開(kāi)發(fā)技術(shù),提供了大量實(shí)例供讀者實(shí)戰(zhàn)演練。另外,作者在實(shí)例講解中詳細(xì)分析了各種重要的理論知識(shí),讓讀者能夠舉一反三。本書(shū)共分3篇。第1篇介紹了Linux驅(qū)動(dòng)開(kāi)發(fā)概述、嵌入式處理器和開(kāi)發(fā)板、構(gòu)建嵌入式驅(qū)動(dòng)程序開(kāi)發(fā)環(huán)境、構(gòu)建嵌入式Linux操作系統(tǒng)、第一個(gè)驅(qū)動(dòng)程序、簡(jiǎn)單的字符設(shè)備驅(qū)動(dòng)程序等內(nèi)容;第2篇介紹了設(shè)備驅(qū)動(dòng)中的并發(fā)控制、阻塞和同步機(jī)制、中斷與時(shí)鐘機(jī)制、內(nèi)存訪問(wèn)等內(nèi)容;第3篇介紹了設(shè)備驅(qū)動(dòng)模型、RTC實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)程序、看門(mén)狗驅(qū)動(dòng)程序、IIC設(shè)備驅(qū)動(dòng)程序、LCD設(shè)備驅(qū)動(dòng)程序、觸摸屏設(shè)備驅(qū)動(dòng)程序、輸入子系統(tǒng)驅(qū)動(dòng)程序、塊設(shè)備驅(qū)動(dòng)程序、LISB設(shè)備驅(qū)動(dòng)程序等內(nèi)容?! ∽髡邔iT(mén)為本書(shū)重點(diǎn)內(nèi)容錄制了教學(xué)視頻,以提高讀者的學(xué)習(xí)效率。另外,本書(shū)還贈(zèng)送了大量的Linux拓展學(xué)習(xí)視頻。這些視頻和本書(shū)源代碼需要讀者自行下載,下載地址見(jiàn)封面提示?! ”緯?shū)重點(diǎn)突出,涉及面廣,實(shí)用性強(qiáng),從基本知識(shí)到核心原理,再到實(shí)例開(kāi)發(fā),幾乎涉及Linux驅(qū)動(dòng)開(kāi)發(fā)的所有重要知識(shí)。本書(shū)適合所有想學(xué)習(xí)Linux驅(qū)動(dòng)開(kāi)發(fā)的入門(mén)人員閱讀,也適合作為驅(qū)動(dòng)工程師的參考書(shū),對(duì)于Linux驅(qū)動(dòng)開(kāi)發(fā)的專業(yè)開(kāi)發(fā)人員也有很高的參考價(jià)值。

作者簡(jiǎn)介

鄭強(qiáng),畢業(yè)于西南大學(xué),獲碩士學(xué)位。現(xiàn)任公司項(xiàng)目主管,長(zhǎng)期從事嵌入式系統(tǒng)開(kāi)發(fā)和設(shè)計(jì)。先后開(kāi)發(fā)過(guò)十幾個(gè)大中型項(xiàng)目,涉及GPS定位系統(tǒng)、刷卡系統(tǒng)、指紋識(shí)別、手機(jī)等產(chǎn)品。工作之余,熱心于Flash游戲引擎開(kāi)發(fā)和2D游戲開(kāi)發(fā)。

書(shū)籍目錄

第1篇 Linux驅(qū)動(dòng)開(kāi)發(fā)基礎(chǔ) 第1章 Linux驅(qū)動(dòng)開(kāi)發(fā)概述  1.1 Linux設(shè)備驅(qū)動(dòng)的基本概念   1.1.1 設(shè)備驅(qū)動(dòng)程序概述   1.1.2 設(shè)備驅(qū)動(dòng)程序的作用   1.1.3 設(shè)備驅(qū)動(dòng)的分類  1.2 Linux操作系統(tǒng)與驅(qū)動(dòng)的關(guān)系  1.3 Linux驅(qū)動(dòng)程序開(kāi)發(fā)   1.3.1 用戶態(tài)和內(nèi)核態(tài)   1.3.2 模塊機(jī)制   1.3.3 編寫(xiě)設(shè)備驅(qū)動(dòng)程序需要了解的知識(shí)  1.4 編寫(xiě)設(shè)備驅(qū)動(dòng)程序的注意事項(xiàng)   1.4.1 應(yīng)用程序開(kāi)發(fā)與驅(qū)動(dòng)程序開(kāi)發(fā)的差異   1.4.2 GUNC開(kāi)發(fā)驅(qū)動(dòng)程序   1.4.3 不能使用C庫(kù)開(kāi)發(fā)驅(qū)動(dòng)程序   1.4.4 沒(méi)有內(nèi)存保護(hù)機(jī)制   1.4.5 小內(nèi)核?!  ?.4.6 重視可移植性  1.5 Linux驅(qū)動(dòng)的發(fā)展趨勢(shì)   1.5.1 Linux驅(qū)動(dòng)的發(fā)展   1.5.2 驅(qū)動(dòng)的應(yīng)用   1.5.3 相關(guān)學(xué)習(xí)資源  1.6 小結(jié) 第2章 嵌入式處理器和開(kāi)發(fā)板簡(jiǎn)介  2.1 處理器的選擇   2.1.1 處理器簡(jiǎn)述   2.1.2 處理器的種類  2.2 ARM處理器   2.2.1 A剛處理器簡(jiǎn)介   2.2.2 ARM處理器系列   2.2.3 ARM處理器的應(yīng)用   2.2.4 ARM處理器的選型   2.2.5 ARM處理器選型舉例  2.3 S3C2440開(kāi)發(fā)板   2.3.1 S3C2440開(kāi)發(fā)板簡(jiǎn)介   2.3.2 S32440開(kāi)發(fā)板的特性  2.4 小結(jié) 第3章 構(gòu)建嵌入式驅(qū)動(dòng)程序開(kāi)發(fā)環(huán)境  3.1 虛擬機(jī)和Linux安裝   3.1.1 在windows上安裝虛擬機(jī)   3.1.2 在虛擬機(jī)上安裝Linux   3.1.3 設(shè)置共享目錄  3.2 代碼閱讀工具Sorece Insight   3.2.1 Source Insighl簡(jiǎn)介   3.2.2 閱讀源代碼  3.3 小結(jié) 第4章 構(gòu)建嵌入式Linux操作系統(tǒng) 第5章 構(gòu)建第一個(gè)驅(qū)動(dòng)程序 第6章 簡(jiǎn)單的字符設(shè)備驅(qū)動(dòng)程序第2篇 Linux驅(qū)動(dòng)開(kāi)發(fā)核心技術(shù)第3篇 Linux驅(qū)動(dòng)開(kāi)發(fā)實(shí)用實(shí)戰(zhàn)

章節(jié)摘錄

插圖:Linux操作系統(tǒng)分為用戶態(tài)和內(nèi)核態(tài)。用戶態(tài)處理上層的軟件工作。內(nèi)核態(tài)用來(lái)管理用戶態(tài)的程序,完成用戶態(tài)請(qǐng)求的工作。驅(qū)動(dòng)程序與底層的硬件交互,所以工作在內(nèi)核態(tài)。Linux操作系統(tǒng)分為兩個(gè)狀態(tài)的原因主要是,為應(yīng)用程序提供一個(gè)統(tǒng)一的計(jì)算機(jī)硬件抽象。工作在用戶態(tài)的應(yīng)用程序完全可以不考慮底層的硬件操作,這些操作南內(nèi)核態(tài)程序來(lái)完成。這些內(nèi)核態(tài)程序大部分是設(shè)備驅(qū)動(dòng)程序。一個(gè)好的操作系統(tǒng)的驅(qū)動(dòng)程序?qū)τ脩魬B(tài)應(yīng)用程序應(yīng)該是透明的,也就是說(shuō),應(yīng)用程序可以在不了解硬件工作原理的情況下,很好地操作硬件設(shè)備,同時(shí)不會(huì)使硬件設(shè)備進(jìn)入非法狀態(tài)。Linux操作系統(tǒng)很好的做到了這一點(diǎn)。一個(gè)值得注意的問(wèn)題是:工作在用戶態(tài)的應(yīng)用程序不能因?yàn)橐恍╁e(cuò)誤而破壞內(nèi)核態(tài)的程序。現(xiàn)代處理器已經(jīng)充分考慮了這個(gè)問(wèn)題。處理器提供了一些指令,分為特權(quán)指令和普通指令。特權(quán)指令只有在內(nèi)核態(tài)下才能使用;普通指令既可以在內(nèi)核態(tài)使用,也可以在用戶態(tài)使用。通過(guò)這種限制,用戶態(tài)程序就不能執(zhí)行只有在用戶態(tài)才能執(zhí)行的程序了,從而起到保護(hù)的作用。另一個(gè)值得注意的問(wèn)題是:用戶態(tài)和內(nèi)核態(tài)是可以互相轉(zhuǎn)換的。每當(dāng)應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用或者被硬件中斷掛起時(shí),Linux操作系統(tǒng)都會(huì)從用戶態(tài)切換到內(nèi)核態(tài)。當(dāng)系統(tǒng)調(diào)用完成或者中斷處理完成后,操作系統(tǒng)會(huì)從內(nèi)核態(tài)返回用戶態(tài),繼續(xù)執(zhí)行應(yīng)用程序。

編輯推薦

《Linux驅(qū)動(dòng)開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)》結(jié)合多媒體語(yǔ)音教學(xué)視頻,全面、系統(tǒng)地介紹了Linux.備驅(qū)動(dòng)開(kāi)發(fā)從入門(mén)到應(yīng)用實(shí)戰(zhàn)的方方面面知識(shí)。內(nèi)容涵蓋Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)的基礎(chǔ)知識(shí)、核心技術(shù)及RTC實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)、看門(mén)狗驅(qū)動(dòng)、IIC設(shè)備驅(qū)動(dòng)、LCD設(shè)備驅(qū)動(dòng)、觸摸屏設(shè)備驅(qū)動(dòng)、輸入子系統(tǒng)驅(qū)動(dòng)、塊設(shè)備驅(qū)動(dòng)、USB設(shè)備驅(qū)動(dòng)的開(kāi)發(fā)過(guò)程、通過(guò)閱讀《Linux驅(qū)動(dòng)開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn)》,可以系統(tǒng)地掌握Linux設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)方法。ChinaUnix.net技術(shù)社區(qū)對(duì)本系列圖書(shū)的支持!ChinaUnix.net是一個(gè)以討論操作系統(tǒng)、軟件開(kāi)發(fā)、數(shù)據(jù)庫(kù)技術(shù)、網(wǎng)絡(luò)技術(shù)及服務(wù)器存儲(chǔ)等技術(shù)為主的大型IT技術(shù)社區(qū)網(wǎng)站,ChinaUnix.net的宗旨是。給所有愛(ài)好IT技術(shù)、開(kāi)源技術(shù)的朋友提供一個(gè)自由、開(kāi)放和免費(fèi)的交流空間。ChinaUnix.net的目標(biāo)是建成中國(guó)最好的開(kāi)源技術(shù)共享社區(qū),為宣傳和推動(dòng)開(kāi)源技術(shù)及自由軟件在中國(guó)的應(yīng)用發(fā)展做出貢獻(xiàn)。由淺入深,全面、系統(tǒng)地介紹Linux驅(qū)動(dòng)開(kāi)發(fā)的基礎(chǔ)與核心技術(shù)注重實(shí)戰(zhàn),重點(diǎn)闡述8種典型的Linux設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)方法內(nèi)容新穎:基于最新的Linux26.29內(nèi)核,講解最新的驅(qū)動(dòng)設(shè)計(jì)方法內(nèi)容全面:覆蓋Linux驅(qū)動(dòng)開(kāi)發(fā)的基礎(chǔ)知識(shí)、核心技術(shù)與典型應(yīng)用分析深入:深入分析了Linux驅(qū)動(dòng)的實(shí)現(xiàn)原理,提高讀者的綜合能力注重實(shí)戰(zhàn):介紹了看門(mén)狗、LCD、觸摸屏等8種設(shè)備的驅(qū)動(dòng)開(kāi)發(fā)方法技巧性強(qiáng):講解時(shí)融入了作者多年的項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)和開(kāi)發(fā)技

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Linux驅(qū)動(dòng)開(kāi)發(fā)入門(mén)與實(shí)戰(zhàn) PDF格式下載


用戶評(píng)論 (總計(jì)22條)

 
 

  •   內(nèi)容豐富。不可缺少的驅(qū)動(dòng)開(kāi)發(fā)書(shū)
  •   這本書(shū)很不錯(cuò),寫(xiě)得很詳細(xì),適合有一定linux基礎(chǔ)的人看。
  •   適合入門(mén),如果參加過(guò)嵌入式方向的培訓(xùn),那么這本書(shū)是十分適合用于復(fù)習(xí)和加強(qiáng)的。
  •   很好的書(shū),內(nèi)容適合本人現(xiàn)階段需求
  •   書(shū)的目錄說(shuō)得很好,內(nèi)容一般,而且有些代碼說(shuō)得不透徹,感覺(jué)在百度里看到的一樣!
  •   細(xì)細(xì)一品 值得擁有
  •   不錯(cuò),用了2.6.29的內(nèi)核,比較新。
  •   不通透;
  •   步驟很詳盡,入門(mén)好書(shū)
  •   在西單就看見(jiàn)他了,比那本外文經(jīng)典的還要詳盡
  •   書(shū)中錯(cuò)誤太多了。
  •   第一部分前4章內(nèi)容屬于打醬油內(nèi)容,講的很空泛,尤其構(gòu)建根文件系統(tǒng)一節(jié),這是寫(xiě)驅(qū)動(dòng)的書(shū)寫(xiě)這些不痛不癢的有什么意思,要么你好好寫(xiě)教人家怎么用busybox構(gòu)建根文件系統(tǒng)。第二部分描述一些驅(qū)動(dòng)開(kāi)發(fā)的基本內(nèi)容,只是一些概念性的東西沒(méi)什么可說(shuō)的。第三部分驅(qū)動(dòng)開(kāi)發(fā)這個(gè)寫(xiě)的結(jié)構(gòu)不怎么樣。比如RTC實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)的構(gòu)架連個(gè)platform device和device以及platform driver和device driver是什么關(guān)系都不說(shuō)明,哎總體很失望。
  •   不推薦買(mǎi)這本書(shū),書(shū)中有很多的錯(cuò)別字,這是其一,說(shuō)明編者的態(tài)度并不是放在技術(shù)上,而是放在了賺錢(qián)上,其二,書(shū)中的很多例子,不能很好的運(yùn)行
  •   超級(jí)**的書(shū),建議大家不要**
  •   很一般的書(shū)阿,希望亞馬遜監(jiān)督一下出版社,出版社對(duì)文學(xué)有嚴(yán)格的審查制度而且異常的敏感。為什么對(duì)計(jì)算機(jī)這些科學(xué)書(shū)籍如此馬虎,對(duì)科學(xué)如此馬虎,不得不說(shuō)這是一個(gè)悲哀的民族,對(duì)屁事關(guān)注過(guò)度,對(duì)本該精益求精的事情卻草草了事到處都是錯(cuò)別字,為什么......為什么....求解?不過(guò)還是喜歡亞馬遜的服務(wù),稍微舒坦點(diǎn)了
  •   從本書(shū)內(nèi)從來(lái)看,作者是很有經(jīng)驗(yàn)的工程師。我接觸linux驅(qū)動(dòng)差不多只有一個(gè)星期,先前在圖書(shū)館看到這本書(shū),它注釋很多,很容易看懂,非常適合初學(xué)者。
  •   內(nèi)容新穎:基于最新的Linux26.29內(nèi)核,講解最新的驅(qū)動(dòng)設(shè)計(jì)方法26.29內(nèi)核是亮點(diǎn)
  •   內(nèi)容重復(fù)拖沓,有些不必介紹的東西不止一遍的介紹,大部分的“...,所以...”語(yǔ)句前后根本構(gòu)不成因果關(guān)系,甚至有些句子都不通順,感覺(jué)作者語(yǔ)言功底很有問(wèn)題,很多技術(shù)細(xì)節(jié)都是剛開(kāi)始講就馬上結(jié)束,從不深入探討,只適合掃盲。
  •   書(shū)不錯(cuò)哦,我正在觀看中,很不錯(cuò)的一本書(shū)。
  •   入門(mén)不多,知識(shí)講得比較多,講解還可以,能夠看懂。
  •   我現(xiàn)在讀到第6章了,發(fā)現(xiàn)本書(shū)錯(cuò)別字特別多,而且前后有很多矛盾,比如第6頁(yè)1.3.3節(jié)第一句話和29頁(yè)的最后一句話就互相矛盾嗎,雖然不影響使用,但也反映了編輯審查的太不嚴(yán)格了,漏洞太多,對(duì)所講解的知識(shí)太寬泛,很多都是一筆帶過(guò),但是,作為一個(gè)入門(mén)書(shū)籍,也算是馬馬虎虎吧,我當(dāng)小說(shuō)讀了!
  •   這次發(fā)貨速度有點(diǎn)慢 用了三天時(shí)間 一般都是第二天到的 可能是因?yàn)閹?kù)存點(diǎn)遠(yuǎn)的原因另外我的隨書(shū)光盤(pán)沒(méi)有 請(qǐng)客服人員幫助補(bǔ)發(fā)下
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7