Linux驅(qū)動開發(fā)入門與實(shí)戰(zhàn)

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

前言

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

內(nèi)容概要

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

作者簡介

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

書籍目錄

第1篇 Linux驅(qū)動開發(fā)基礎(chǔ) 第1章 Linux驅(qū)動開發(fā)概述  1.1 Linux設(shè)備驅(qū)動的基本概念   1.1.1 設(shè)備驅(qū)動程序概述   1.1.2 設(shè)備驅(qū)動程序的作用   1.1.3 設(shè)備驅(qū)動的分類  1.2 Linux操作系統(tǒng)與驅(qū)動的關(guān)系  1.3 Linux驅(qū)動程序開發(fā)   1.3.1 用戶態(tài)和內(nèi)核態(tài)   1.3.2 模塊機(jī)制   1.3.3 編寫設(shè)備驅(qū)動程序需要了解的知識  1.4 編寫設(shè)備驅(qū)動程序的注意事項(xiàng)   1.4.1 應(yīng)用程序開發(fā)與驅(qū)動程序開發(fā)的差異   1.4.2 GUNC開發(fā)驅(qū)動程序   1.4.3 不能使用C庫開發(fā)驅(qū)動程序   1.4.4 沒有內(nèi)存保護(hù)機(jī)制   1.4.5 小內(nèi)核棧   1.4.6 重視可移植性  1.5 Linux驅(qū)動的發(fā)展趨勢   1.5.1 Linux驅(qū)動的發(fā)展   1.5.2 驅(qū)動的應(yīng)用   1.5.3 相關(guān)學(xué)習(xí)資源  1.6 小結(jié) 第2章 嵌入式處理器和開發(fā)板簡介  2.1 處理器的選擇   2.1.1 處理器簡述   2.1.2 處理器的種類  2.2 ARM處理器   2.2.1 A剛處理器簡介   2.2.2 ARM處理器系列   2.2.3 ARM處理器的應(yīng)用   2.2.4 ARM處理器的選型   2.2.5 ARM處理器選型舉例  2.3 S3C2440開發(fā)板   2.3.1 S3C2440開發(fā)板簡介   2.3.2 S32440開發(fā)板的特性  2.4 小結(jié) 第3章 構(gòu)建嵌入式驅(qū)動程序開發(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簡介   3.2.2 閱讀源代碼  3.3 小結(jié) 第4章 構(gòu)建嵌入式Linux操作系統(tǒng) 第5章 構(gòu)建第一個驅(qū)動程序 第6章 簡單的字符設(shè)備驅(qū)動程序第2篇 Linux驅(qū)動開發(fā)核心技術(shù)第3篇 Linux驅(qū)動開發(fā)實(shí)用實(shí)戰(zhàn)

章節(jié)摘錄

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

編輯推薦

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

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Linux驅(qū)動開發(fā)入門與實(shí)戰(zhàn) PDF格式下載


用戶評論 (總計22條)

 
 

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

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

京ICP備13047387號-7