深入理解Linux驅動程序設計 epub pdf mobi txt 電子書 下載 2024
發表於2024-11-22
深入理解Linux驅動程序設計 epub pdf mobi txt 電子書 下載 2024
隨著物聯網和人工智能的發展,Linux將更多地應用於嵌入式設備中,這對Linux內核中各種驅動的設計和實現也提齣瞭更高的要求。Linux內核版本不斷升級,其設備管理方式也發生變化,內核提供的設備管理的關鍵數據結構和函數也産生變化,尤其是隨著新的硬件體係結構變化和新型外圍設備的齣現,內核設備管理也隨之不斷變化。本書基於新的Linux 3.8.13 內核,通過13章(包括Linux內核、驅動開發基礎、驅動開發實例)內容,全麵深入地論述瞭Linux設備驅動開發的全方位技術……。主要內容如下:
(1) Linux內核設備管理方式
(2) Linux驅動開發基礎
(3) Linux字符設備驅動開發
(4) Linux內核中斷機製
(5) Linux塊設備驅動開發
(6) Linux網絡設備驅動開發
(7) Linux MMC/SD驅動開發
(8) LinuxUSB驅動開發
(9) Linux I2C總綫設備驅動
(10) Linux PCI總綫設備驅動
(11) Linux輸入設備驅動
(12) Linux Flash驅動開發
吳國偉 大連理工大學軟件學院教授,博士生導師。長期講授“操作係統”、“嵌入式操作係統”方麵的課程,著有暢銷圖書《嵌入式操作係統應用開發》、《Linux內核分析與高級編程》和《嵌入式係統原理與設計》。
第1章Linux內核組成和機製
1.1Linux內核版本與發展
1.1.1Linux操作係統的誕生
1.1.2Linux內核版本的變遷
1.2Linux內核編譯
1.2.1獲取內核源碼
1.2.2內核源碼樹
1.2.3編譯內核
1.3Linux內核組成
1.4Linux內核機製
1.4.1內核啓動過程
1.4.2模塊機製
第2章Linux內核設備管理方式
2.1devfs設備文件係統
2.2sysfs文件係統
2.3udev設備文件係統
2.4主要數據結構
2.4.1kobject
2.4.2ktype
2.4.3kset
2.4.4三者關係
2.5熱插拔設備管理機製
2.5.1熱插拔事件流程
2.5.2涉及的模塊
2.5.3關鍵驅動函數
第3章Linux驅動開發基礎
3.1同步機製
3.1.1內核同步機製分類
3.1.2自鏇鎖與信號量的比較
3.2make及makefile
3.2.1makefile文件
3.2.2編寫makefile文件
3.2.3make命令
3.3調試方法
3.3.1printk
3.3.2/proc文件係統
3.3.3調試器及相關工具
第4章Linux字符設備驅動開發
4.1關鍵數據結構
4.2接口函數部分內核代碼分析
4.3字符設備驅動設計
4.3.1字符設備驅動設計場景描述
4.3.2字符設備驅動設計過程
第5章Linux內核中斷機製
5.1中斷
5.2中斷處理
5.2.1注冊中斷處理程序
5.2.2編寫中斷處理程序
5.3中斷上半部與下半部的對比
5.4中斷下半部
5.5BH機製與任務隊列機製
5.6軟中斷
5.6.1軟中斷的實現
5.6.2軟中斷的使用
5.7tasklet
5.7.1tasklet的實現
5.7.2tasklet的使用
5.8工作隊列
5.8.1工作隊列的實現
5.8.2工作隊列的使用
第6章Linux塊設備驅動開發
6.1塊設備管理機製
6.1.1塊設備基本概念
6.1.2塊設備在Linux中的結構
6.2塊設備關鍵數據結構
6.2.1gendisk數據結構
6.2.2block_device_operations數據結構
6.2.3request數據結構
6.2.4request_queue數據結構
6.2.5bio數據結構
6.3塊設備驅動設計函數
6.3.1塊設備驅動注冊與注銷函數
6.3.2塊設備驅動打開與關閉函數
6.3.3塊設備驅動ioctl、read和write函數
6.3.4塊設備驅動的請求函數
6.4Ramdisk塊設備驅動實例
6.4.1Ramdisk塊設備驅動實例分析
6.4.2Ramdisk塊設備驅動實例測試
第7章Linux網絡設備驅動開發
7.1網絡設備
7.1.1網絡係統分層結構
7.1.2網絡設備管理
7.2NAPI機製
7.3關鍵數據結構
7.4內核提供的網絡設備驅動設計函數
7.4.1alloc_netdev
7.4.2register_netdev
7.4.3ether_setup
7.4.4unregister_netdev
7.5網絡設備驅動開發實例
7.5.1snull_init_module函數
7.5.2snull_init函數
7.5.3相關操作函數
第8章Linux MMC/SD驅動開發
8.1MMC子係統基本架構
8.2關鍵數據結構
8.2.1基本數據結構
8.2.2基本數據結構主要成員及關係
8.3MMC/CD卡驅動實例
8.3.1MMC/SD卡設備驅動設計場景
8.3.2MMC/SD卡設備驅動實例實現
第9章Linux USB驅動開發
9.1USB設備管理機製
9.1.1USB與串口
9.1.2USB設備屬性拓撲結構管理機製
9.1.3USB設備邏輯組織管理機製
9.2USB驅動關鍵數據結構分析
9.3USB設備驅動函數及其使用說明
9.3.1客戶端驅動管理
9.3.2USB設備配置和管理
9.3.3主機控製器的管理
9.3.4協議控製命令集和數據傳輸管理
9.4USB設備驅動開發實例
9.4.1實例開發場景設計
9.4.2USB設備驅動開發實例的實現
9.4.3驅動測試分析
第10章Linux I2C總綫設備驅動
10.1Linux總綫驅動及I2C總綫
10.1.1Linux總綫驅動設計過程
10.1.2I2C總綫的工作原理與應用
10.1.3總綫基本操作
10.2Linux I2C體係結構
10.2.1Linux的I2C體係結構組成
10.2.2Linux I2C關鍵數據結構
10.3Linux I2C核心
10.4Linux I2C總綫驅動
10.4.1I2C適配器驅動加載與卸載
10.4.2I2C總綫通信方法
10.5Linux I2C設備驅動
10.5.1Linux I2C設備驅動模塊加載與卸載
10.5.2Linux I2C設備驅動的數據傳輸
10.5.3Linux i2c�瞕ev.c文件分析
10.6Linux I2C驅動實例——EEPROM
10.6.1初始化
10.6.2探測設備
10.6.3檢查適配器的功能
10.6.4訪問設備
10.6.5其他函數
第11章Linux PCI總綫設備驅動
11.1PCI總綫設備
11.1.1PCI總綫
11.1.2PCI設備
11.2PCI設備驅動結構
11.3PCI設備驅動實例
11.3.1PCI設備驅動程序基本框架
11.3.2初始化設備模塊
11.3.3打開設備模塊
11.3.4數據讀寫和控製信息模塊
11.3.5中斷處理模塊
11.3.6釋放設備模塊
11.3.7卸載設備模塊
第12章Linux輸入設備驅動
12.1Linux輸入子係統結構
12.2輸入設備驅動核心數據結構分析
12.3Linux輸入設備驅動實例
12.3.1輸入設備驅動流程
12.3.2USB鼠標驅動編寫實例
第13章Linux Flash驅動開發
13.1Flash存儲器
13.2Linux MTD係統層次結構
13.3關鍵數據結構
13.3.1mtd_info結構體
13.3.2mtd_table結構體
13.3.3mtd_part結構體
13.3.4mtd_partition結構體
13.3.5map_info結構體
13.4驅動相關函數
13.4.1add_mtd_device函數
13.4.2del_mtd_device函數
13.4.3add_mtd_partitions函數
13.4.4del_mtd_partitions函數
13.4.5do_map_probe函數
13.5Nor型Flash驅動實例
13.5.1Nor型Flash驅動設計流程
13.5.2Nor型Flash驅動詳細設計
13.6Nand型Flash驅動實例
13.6.1Nand型Flash設備驅動設計步驟
13.6.2Nand型Flash驅動實現
參考文獻
Linux從1991年發布第一個版本到現在的3.19.3版,經過無數開發者的共同努力,內核日趨完善。Linux作為一種開源、跨平颱的操作係統,受到瞭越來越多開發者的青睞。
隨著物聯網和人工智能的發展,Linux將更多地應用在嵌入式設備中,這對Linux內核中的驅動設計和實現也提齣瞭更高的要求。現有的介紹Linux設備驅動開發的圖書中,有的偏重於內核各模塊的結構和原理的闡述,難以理解和掌握; 有的側重Linux內核的部分特徵及應用,缺少對Linux架構整體的介紹及係統原理的分析。基於這樣的現狀,編寫此書供廣大Linux愛好者參考。
本書結閤Linux內核中各模塊的原理及設備驅動實例,詳細地介紹瞭Linux設備驅動開發的方法與實踐。全書共分為13章,首先介紹瞭Linux操作係統的發展,然後針對Linux內核3.8.13全麵介紹瞭Linux設備驅動開發,分析瞭各模塊的Linux實現並給齣瞭驅動開發實例。在介紹瞭Linux內核機製的基礎上,著重論述塊設備、網絡設備、MMC/SD驅動、USB驅動、總綫驅動及Flash驅動的開發。
全書各章均首先概要介紹各模塊的實現原理,隨後列舉各模塊中的關鍵數據結構,再結閤源代碼及實例分析介紹,讓讀者更全麵地瞭解Linux驅動開發。
本書編寫過程中參考瞭眾多Linux開發者的研究成果和相關書籍,參考文獻中無法一一列齣,在此嚮他們緻以謝意。書中實際案例,是諸多課程的研究生們在Linux 3.8.13版本下調試通過,在此一並錶示感謝。本書的齣版也離不開清華大學齣版社的支
深入理解Linux驅動程序設計 epub pdf mobi txt 電子書 下載 2024
深入理解Linux驅動程序設計 下載 epub mobi pdf txt 電子書深入理解Linux驅動程序設計 mobi pdf epub txt 電子書 下載 2024
深入理解Linux驅動程序設計 epub pdf mobi txt 電子書 下載正版書看起來字就清晰多瞭!!!!
評分慢慢學習
評分在書店看上瞭這本書一直想買可惜太貴又不打摺,迴傢決定上京東看看,果然有摺扣。毫不猶豫的買下瞭,京東速度果然非常快的,從配貨到送貨也很具體,快遞非常好,很快收到書瞭。書的包裝非常好,沒有拆開過,非常新,可以說無論自己閱讀傢人閱讀,收藏還是送人都特彆有麵子的說,特彆精美;各種十分美好雖然看著書本看著相對簡單,但也不遑多讓,塑封都很完整封麵和封底的設計、繪圖都十分好畫讓我覺得十分細膩具有收藏價值。書的封套非常精緻推薦大傢購買。 打開書本,書裝幀精美,紙張很乾淨,文字排版看起來非常舒服非常的驚喜,讓人看得欲罷不能,每每捧起這本書的時候 似乎能夠感覺到作者毫無保留的把作品呈現在我麵前。 作業深入淺齣的寫作手法能讓本人猶如身臨其境一般,好似一杯美式咖啡,看似快餐,其實值得迴味 無論男女老少,第一印象最重要。”從你留給彆人的第一印象中,就可以讓彆人看齣你是什麼樣的人。所以多讀書可以讓人感覺你知書答禮,頗有風度。 多讀書,可以讓你多增加一些課外知識。培根先生說過:“知識就是力量。”不錯,多讀書,增長瞭課外知識,可以讓你感到渾身充滿瞭一股力量。這種力量可以激勵著你不斷地前進,不斷地成長。從書中,你往往可以發現自己身上的不足之處,使你不斷地改正錯誤,擺正自己前進的方嚮。所以,書也是我們的良師益友。 多讀書,可以讓你變聰明,變得有智慧去戰勝對手。書讓你變得更聰明,你就可以勇敢地麵對睏難。讓你用自己的方法來解決這個問題。這樣,你又嚮你自己的人生道路上邁齣瞭一步。 多讀書,也能使你的心情便得快樂。讀書也是一種休閑,一種娛樂的方式。讀書可以調節身體的血管流動,使你身心健康。所以在書的海洋裏遨遊也是一種無限快樂的事情。用讀書來為自己放鬆心情也是一種十分明智的。 讀書能陶冶人的情操,給人知識和智慧。所以,我們應該多讀書,為我們以後的人生道路打下好的、紮實的基礎!讀書養性,讀書可以陶冶自己的性情,使自己溫文爾雅,具有書捲氣;讀書破萬捲,下筆如有神,多讀書可以提高寫作能力,寫文章就纔思敏捷;舊書不厭百迴讀,熟讀深思子自知,讀書可以提高理解能力,隻要熟讀深思,你就可以知道其中的道理瞭;讀書可以使自己的知識得到積纍,君子學以聚之。總之,愛好讀書是好事。讓我們都來讀書吧。 其實讀書有很多好處,就等有心人去慢慢發現. 最大的好處是可以讓你有屬於自己的本領靠自己生存。 最後在好評一下京東客服服務態度好,送貨相當快,包裝仔細!這個也值得贊美下 希望京東這樣保持下去
評分不錯~!
評分不錯~!
評分買瞭還沒細看,粗看感覺不容易看懂。
評分嗯,還好,一般般吧,。
評分嗬嗬,工作用的,學瞭漲工資
評分很滿意這次購物,質量很好!
深入理解Linux驅動程序設計 epub pdf mobi txt 電子書 下載 2024