出版時間:2010-5 出版社:人民郵電出版社 作者:Sreekrishnan Venkateswaran 頁數(shù):468 譯者:宋寶華,吳國成,史海濱,何昭然
Tag標(biāo)簽:無
前言
20世紀(jì)90年代末,我們IBM的一群同事將Linux內(nèi)核移植到了一種智能手表上。目標(biāo)設(shè)備雖然微不足道,但是移植Linux的任務(wù)卻相當(dāng)艱巨。在當(dāng)時,內(nèi)核中還不存在MTD(MemoryTeclmology Device,內(nèi)存技術(shù)設(shè)備)子系統(tǒng),這意味著為了讓文件系統(tǒng)能夠運(yùn)行在這種手表的閃存中,我們不得不從頭開發(fā)必要的存儲驅(qū)動程序。由于當(dāng)時內(nèi)核的輸入事件驅(qū)動程序接口尚未誕生,因此手表的觸摸屏與用戶應(yīng)用程序的接口非常復(fù)雜。讓x Windows運(yùn)行在手表的LCD上十分困難,因?yàn)閤 Windows和幀緩沖設(shè)備驅(qū)動程序搭配得并不好。如果你戴著一塊防水的Linux智能手表,卻不能躺在浴缸里實(shí)時獲得股票行情,那么這塊手表還有什么用呢?Linux幾年前就已集成了藍(lán)牙技術(shù),而當(dāng)時我們卻花費(fèi)了數(shù)月的時間將一種專有的藍(lán)牙協(xié)議棧移植到手表上,從而使得這種手表可以聯(lián)上因特網(wǎng)。電源管理系統(tǒng)雖然只能從手表的電池中多“榨出”短短幾個小時時間,但也算夠意思了;實(shí)際上,為了解決這個棘手的問題,我們也沒少花心思。那時候,Linux紅外項(xiàng)目Linux-Infrared還不穩(wěn)定,而為了使用紅外鍵盤輸入數(shù)據(jù),我們不得不與其協(xié)議棧小心翼翼地周旋。最后,由于當(dāng)時還沒有能應(yīng)用于消費(fèi)類電子產(chǎn)品的成型的編譯器發(fā)行版,我們也只能自己編個編譯器,并交叉編譯出一個緊湊的應(yīng)用程序集。時光飛逝,當(dāng)年的小企鵝已經(jīng)成長為一名健壯的少年。過去我們編寫了成千上萬行代碼并耗時一年完成的任務(wù),若采用現(xiàn)在的內(nèi)核,只需要幾天就可以完成。但是,要成為一名能巧妙地解決多種問題的高級內(nèi)核工程師,就必須理解今天的Linux內(nèi)核提供的各種功能和設(shè)施。
內(nèi)容概要
本書是Linux設(shè)備驅(qū)動程序開發(fā)領(lǐng)域的權(quán)威著作。全書基于2.6內(nèi)核,不僅透徹講解了基本概念和技術(shù),更深入探討了其他書沒有涵蓋或淺嘗輒止的許多重要主題和關(guān)鍵難點(diǎn),如PCMCIA、I2C和USB等外部總線以及視頻、音頻、無線連網(wǎng)和閃存等驅(qū)動程序的開發(fā),并講解了相關(guān)的內(nèi)核源碼文件,給出了完整的開發(fā)實(shí)例。 本書適合中高級Linux開發(fā)人員閱讀。
作者簡介
作者:(印度)溫卡特斯瓦蘭(Sreekrishnan Venkateswaran) 譯者:宋寶華 何昭然 史海濱 等溫卡特斯瓦蘭(Sreekrjshnan Menkateswaran),世界頂級Linux開發(fā)技術(shù)專家。在IBM工作多年。有豐富的嵌入式Linux和驅(qū)動程序開發(fā)經(jīng)驗(yàn)。曾將Linux移植到了手表、音樂播放器、VolP電話、心臟起搏器以及遠(yuǎn)程門診監(jiān)控系統(tǒng)等設(shè)備上。目前是IBMI錢度公司的嵌入式解決方案組負(fù)責(zé)人。他曾擔(dān)任LinuX Magazine的特邀編輯。主持內(nèi)核技術(shù)專欄。
書籍目錄
第1章 引言 第2章 內(nèi)核 第3章 內(nèi)核組件 第4章 基本概念 第5章 字符設(shè)備驅(qū)動程序 第6章 串行設(shè)備驅(qū)動程序 第7章 輸入設(shè)備驅(qū)動程序 第8章 I2C協(xié)議第9章 PCMCIA和CF 第10章 PCI 第11章 USB第12章 視頻驅(qū)動程序 第13章 音頻驅(qū)動程序 第14章 塊設(shè)備驅(qū)動程序 第15章 網(wǎng)絡(luò)接口卡 第16章 Linux無線設(shè)備驅(qū)動 第17章 存儲技術(shù)設(shè)備 第18章 嵌入式Linux 第19章 用戶空間的驅(qū)動程序 第20章 其他設(shè)備和驅(qū)動程序 第21章 調(diào)試設(shè)備驅(qū)動程序 第22章 維護(hù)與發(fā)布 第23章 結(jié)束語 附錄A Linux匯編 附錄B Linux與BIOS 附錄C seq文件
章節(jié)摘錄
插圖:為了確保系統(tǒng)在處理器故障時仍然能夠進(jìn)行恢復(fù),即使主處理器上集成有強(qiáng)大的看門狗模塊(例如我們的例子中),一些規(guī)則制定者規(guī)定要使用外部看門狗芯片。因此,一些嵌入式設(shè)備有時使用較為便宜的、簡單的看門狗芯片(例如Maxim的MAX6730),外部的看門狗芯片通過硬件連線發(fā)揮作用,而不像片上集成看門狗通過寄存器接口產(chǎn)生效果??撮T狗的輸入引腳在固定的復(fù)位超時時間內(nèi)如果沒有檢測到電壓脈沖,就會設(shè)置復(fù)位引腳。復(fù)位引腳和處理器的復(fù)位邏輯相連,而輸入引腳和處理器的通用目的I/O端口(GPIO)相連。軟件必須周期性地在芯片的復(fù)位超時時間內(nèi)向輸入引腳輸送脈沖,以免看門狗復(fù)位。如果為此類設(shè)備編寫驅(qū)動程序,ioctl方法并不合適。當(dāng)應(yīng)用軟件需要向相應(yīng)的設(shè)備節(jié)點(diǎn)寫入數(shù)據(jù)時,就會利用驅(qū)動程序提供的write方法向輸入引腳輸送脈沖。為了幫助生產(chǎn)和現(xiàn)場排障,看門狗通過導(dǎo)線和處理器相連,這樣可以通過斷開GPIO引腳和看門狗的連接來停用看門狗??紤]到起動時間,外部看門狗芯片通常允許較長的初始超時時間,但隨后的復(fù)位超時時間會變短。
媒體關(guān)注與評論
“這是我讀過的最全面的Linux設(shè)備驅(qū)動程序開發(fā)著作?!薄 猅heodore Ts'o,Linux基金會首席平臺戰(zhàn)略師。北美第一位內(nèi)核開發(fā)者“我要找的就是這樣一本書。它告訴我的不只是實(shí)例,更重要的是設(shè)備驅(qū)動程序的開發(fā)思路。” ——Anthony Lawrence,知名操作系統(tǒng)咨詢師
編輯推薦
《精通Linux設(shè)備驅(qū)動程序開發(fā)》:時至今日,Linux操作系統(tǒng)充分展現(xiàn)了其跨平臺、開源、支持眾多應(yīng)用軟件和網(wǎng)絡(luò)協(xié)議等優(yōu)點(diǎn)。已經(jīng)成為應(yīng)用最廣泛的開發(fā)平臺。在這部貼近實(shí)戰(zhàn)、實(shí)例豐富的著作中。享譽(yù)世界的Linux驅(qū)動程序開發(fā)大師將與你面對面。系統(tǒng)深入地闡述如何為各種設(shè)備開發(fā)可靠的驅(qū)動程序。在回顧了驅(qū)動程序開發(fā)的各種基礎(chǔ)知識和最新的Linux 2.6內(nèi)核相關(guān)特性之后。作者不僅講述了其他設(shè)備驅(qū)動程序圖書中都會涉及的較容易的內(nèi)容,更迎難而上,深入探討了包括嵌入式Linux開發(fā)在內(nèi)的驅(qū)動程序開發(fā)中必須面對的難點(diǎn)。比如PCMCIA、LJSB、12C、視頻、音頻、內(nèi)存、無線通信等。揭示了許多技術(shù)內(nèi)幕。對每種驅(qū)動程序。書中除了剖析關(guān)鍵技術(shù)。還帶你查看相關(guān)的內(nèi)核源代碼。提供完整的實(shí)例。全面深入的Linux設(shè)備驅(qū)動程序名著,世界級Linux技術(shù)大師力作,大量底層技術(shù)內(nèi)幕首次公開。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
精通Linux設(shè)備驅(qū)動程序開發(fā) PDF格式下載