圖書標籤: 驅動 linux 嵌入式 driver 內核 Linux/Unix 計算機 編程
发表于2024-11-23
Linux設備驅動開發詳解 pdf epub mobi txt 電子書 下載 2024
本書是一本介紹Linux設備驅動開發理論、框架與實例的書,本書以Linux 2.6版本內核為藍本,詳細介紹自鏇鎖、信號量、完成量、中斷頂/底半部、定時器、內存和I/O映射以及異步通知、阻塞I/O、非阻塞I/O等Linux 設備驅動理論;字符設備、塊設備、TTY設備、IC設備、LCD設備、音頻設備、USB設備、網絡設備、PCI設備等Linux設備驅動的架構和框架中各個復雜數據架構和函數的關係,並講解瞭Linux驅動開發的大量實例,使讀者能夠獨立開發各類Linux設備驅動。本書內容全麵,實例豐富,操作性強,語言通俗易懂,適閤廣大Linux開發人員、嵌入式工程師參考使用。
目錄
第1篇 Linux設備驅動入門
第1章 設備驅動概述
1.1 設備驅動的作用
1.2 無操作係統時的設備驅動
1.3 有操作係統時的設備驅動
1.4 Linux設備驅動
1.4.1 設備的分類及特點
1.4.2 Linux設備驅動與整個軟硬件係統的關係
1.4.3 編寫Linux設備驅動的技術基礎
1.4.4 Linux設備驅動的學習方法
1.5 設備驅動的HelloWorld:LED驅動
1.5.1 無操作係統時的LED驅動
1.5.2 Linux係統下的LED驅動
第2章 驅動設計的硬件基礎
2.1 處理器
2.1.1 通用處理器
2.1.2 數字信號處理器
2.2 存儲器
2.3 接口與總綫
2.3.1 串口
2.3.2 I2C總綫
2.3.3 USB
2.3.4 以太網接口
2.3.5 ISA總綫
2.3.6 PCI和cPCI
2.4 CPLD和FPGA
2.5 原理圖分析
2.5.1 原理圖分析的內容
2.5.2 原理圖的分析方法
2.6 硬件時序分析
2.6.1 時序分析的概念
2.6.2 典型硬件時序
2.7 儀器儀錶使用
2.7.1 萬用錶
2.7.2 示波器
2.7.3 邏輯分析儀
2.8 總結
第3章 Linux內核及內核編程
3.1 Linux內核的發展與演變
3.2 Linux2.6內核的特點
3.3 Linux內核的組成
3.3.1 Linux內核源代碼目錄結構
3.3.2 Linux內核的組成部分
3.3.3 Linux內核空間與用戶空間
3.4 Linux內核的編譯及加載
3.4.1 Linux內核的編譯
3.4.2 Kconfig和Makefile
3.4.3 Linux內核的引導
3.5 Linux下的C編程
3.5.1 Linux程序命名習慣
3.5.2 GNUC與ANSIC
3.5.3 do{}while(0)
3.5.4 goto
3.6 總結
第2篇 Linux設備驅動核心理論
第4章 Linux內核模塊
4.1 Linux內核模塊簡介
4.2 Linux內核模塊的程序結構
4.3 模塊加載函數
4.4 模塊卸載函數
4.5 模塊參數
4.6 導齣符號
4.7 模塊聲明與描述
4.8 模塊的使用計數
4.9 模塊的編譯
4.10 模塊與GPL
4.11 總結
第5章 Linux文件係統與設備文件係統
5.1 Linux文件操作
5.1.1 文件操作的相關係統調用
5.1.2 C庫函數的文件操作
5.2 Linux文件係統
5.2.1 Linux文件係統目錄結構
5.2.2 Linux文件係統與設備驅動
5.3 devfs設備文件係統
5.4 udev設備文件係統
5.4.1 udev與devfs的區彆
5.4.2 sysfs文件係統與Linux設備模型
5.4.3 udev的組成
5.4.4 udev規則文件
5.4.5 創建和配置udev
5.5 總結
第6章 字符設備驅動
6.1 Linux字符設備驅動結構
6.1.1 cdev結構體
6.1.2 分配和釋放設備號
6.1.3 file_operations結構體
6.1.4 Linux字符設備驅動的組成
6.2 globalmem虛擬設備實例描述
6.3 globalmem設備驅動
6.3.1 頭文件、宏及設備結構體
6.3.2 加載與卸載設備驅動
6.3.3 讀寫函數
6.3.4 seek()函數
6.3.5 ioctl()函數
6.3.6 使用文件私有數據
6.4 globalmem驅動在用戶空間的驗證
6.5 總結
第7章 Linux設備驅動中的並發控製
7.1 並發與競態
7.2 中斷屏蔽
7.3 原子操作
7.3.1 整型原子操作
7.3.2 位原子操作
7.4 自鏇鎖
7.4.1 自鏇鎖的使用
7.4.2 讀寫自鏇鎖
7.4.3 順序鎖
7.4.4 讀-拷貝-更新
7.5 信號量
7.5.1 信號量的使用
7.5.2 信號量用於同步
7.5.3 完成量用於同步
7.5.4 自鏇鎖vs信號量
7.5.5 讀寫信號量
7.6 互斥體
7.7 增加並發控製後的globalmem驅動
7.8 總結
第8章 Linux設備驅動中的阻塞與非阻塞I/O
8.1 阻塞與非阻塞I/O
8.1.1 等待隊列
8.1.2 支持阻塞操作的globalfifo設備驅動
8.1.3 在用戶空間驗證globalfifo的讀寫
8.2 輪詢操作
8.2.1 輪詢的概念與作用
8.2.2 應用程序中的輪詢編程
8.2.3 設備驅動中的輪詢編程
8.3 支持輪詢操作的globalfifo驅動
8.3.1 在globalfifo驅動中增加輪詢操作
8.3.2 在用戶空間驗證globalfifo設備的輪詢
8.4 總結
第9章 Linux設備驅動中的異步通知與異步I/O
9.1 異步通知的概念與作用
9.2 Linux異步通知編程
9.2.1 Linux信號
9.2.2 信號的接收
9.2.3 信號的釋放
9.3 支持異步通知的globalfifo驅動
9.3.1 在globalfifo驅動中增加異步通知
9.3.2 在用戶空間驗證globalfifo的異步通知
9.4 Linux2.6異步I/O
9.4.1 AIO概念與GNUC庫函數
9.4.2 使用信號作為AIO的通知
9.4.3 使用迴調函數作為AIO的通知
9.4.4 AIO與設備驅動
9.5 總結
第10章 中斷與時鍾
10.1 中斷與定時器
10.2 Linux中斷處理程序架構
10.3 Linux中斷編程
10.3.1 申請和釋放中斷
10.3.2 使能和屏蔽中斷
10.3.3 底半部機製
10.3.4 實例:S3C2410實時鍾中斷
10.4 中斷共享
10.5 內核定時器
10.5.1 內核定時器編程
10.5.2 實例:秒字符設備
10.6 內核延時
10.6.1 短延遲
10.6.2 長延遲
10.6.3 睡著延遲
10.7 總結
第11章 內存與I/O訪問
11.1 CPU與內存和I/O
11.1.1 內存空間與I/O空間
11.1.2 內存管理單元MMU
11.2 Linux內存管理
11.3 內存存取
11.3.1 用戶空間內存動態申請
11.3.2 內核空間內存動態申請
11.3.3 虛擬地址與物理地址關係
11.4 設備I/O端口和I/O內存的訪問
11.4.1 LinuxI/O端口和I/O內存訪問接口
11.4.2 申請與釋放設備I/O端口和I/O內存
11.4.3 設備I/O端口和I/O內存訪問流程
11.4.4 將設備地址映射到用戶空間
11.5 I/O內存靜態映射
11.6 DMA
11.6.1 DMA與Cache一緻性
11.6.2 Linux下的DMA編程
11.7 總結
第12章 Linux字符設備驅動綜閤實例
第3篇 Linux設備驅動實例
第13章 Linux塊設備驅動
第14章 Linux終端設備驅動
……
國內算寫的最好的關於Linux驅動方麵的書瞭。語言詼諧幽默,適閤驅動開發者細讀
評分驅動開發手冊,隨時翻翻
評分有的章節還沒看
評分此書非常全麵的講解瞭linux內核驅動開發的原理和方法,內容很詳盡,給的例子直觀易懂,是一本比較好的嵌入式linux驅動開發培訓的好書,值得反復學習。
評分不錯!linux驅動講得挺全麵的
书中有错,有疏漏,有讲得不深入的地方,没错,但是这书实在。我相信现在没有人在看内核框架编写或移植驱动的时候会同时只看一本书在一棵树上吊死的
評分个人感觉,各种Linux内核方面的书籍,不管是中国的还是外国的,只是起到一个入门作用,想要深入理解驱动实现的各种机制还是得看内核代码,并且还要有驱动相关的项目经验,这些东西不在芯片公司的话是很难获得的。这本书有很多嵌入式相关的驱动介绍,尽管很简略,但还是很好,感...
評分书中有错,有疏漏,有讲得不深入的地方,没错,但是这书实在。我相信现在没有人在看内核框架编写或移植驱动的时候会同时只看一本书在一棵树上吊死的
評分个人感觉,各种Linux内核方面的书籍,不管是中国的还是外国的,只是起到一个入门作用,想要深入理解驱动实现的各种机制还是得看内核代码,并且还要有驱动相关的项目经验,这些东西不在芯片公司的话是很难获得的。这本书有很多嵌入式相关的驱动介绍,尽管很简略,但还是很好,感...
評分个人感觉,各种Linux内核方面的书籍,不管是中国的还是外国的,只是起到一个入门作用,想要深入理解驱动实现的各种机制还是得看内核代码,并且还要有驱动相关的项目经验,这些东西不在芯片公司的话是很难获得的。这本书有很多嵌入式相关的驱动介绍,尽管很简略,但还是很好,感...
Linux設備驅動開發詳解 pdf epub mobi txt 電子書 下載 2024