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