發表於2024-12-30
隨著物聯網和人工智能的發展,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驅動程序設計 下載 mobi epub pdf txt 電子書 格式
深入理解Linux驅動程序設計 下載 mobi pdf epub txt 電子書 格式 2024
深入理解Linux驅動程序設計 下載 mobi epub pdf 電子書好,物有所值
評分書較薄,屬於總結性的教程,類似於課堂的ppt
評分深入理解Linux驅動程序設計
評分這年頭,學瞭太多東西,但是總賺不來錢,sigh
評分包裝上麵有香口膠 厲害
評分還行吧。。。。。。。
評分速度還挺快,內容還沒看,不知道怎麼樣!
評分內容介紹的點比較多,但沒有較為係統的教程。
評分書很不錯,和書店看的一模一樣,無損壞
深入理解Linux驅動程序設計 mobi epub pdf txt 電子書 格式下載 2024