IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

當前位置: 首頁 > 原創圖書 >《Linux設備驅動開發詳解》圖書介紹

《Linux設備驅動開發詳解》圖書介紹
  • 圖書名稱 :    《Linux設備驅動開發詳解》
  • 作       者 :    華清遠見
  • 出版單位 :    人民郵電出版社
  • 叢書名稱 :    北京華清遠見嵌入式培訓中心教材
  • 全書章節 :    共23章
  • 出版日期 :    2008年2月
編輯推薦

· 多年嵌入式人才培養及項目研發經驗總結
· 數百家企業嵌入式研發崗位人才需求匯總
· 數十所嵌入式專業大學院校教學現狀調研
· 側重實踐及案例分析并輔以代碼加以講解

圖書簡介

       本書是一本介紹linux設備驅動開發理論、框架與實例的書,本書以linux 2.6版本內核為藍本,詳細介紹自旋鎖、信號量、完成量、中斷頂/底半部、定時器、內存和i/o映射以及異步通知、阻塞i/o、非阻塞i/o等linux設備驅動理論;字符設備、塊設備、tty設備、i2c設備、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章 驅動設計的硬件基礎
3.1 Linux內核的發展與演變
3.2 Linux 2.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 GNU C與ANSI C
 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字符設備驅動綜合實例
12.1 按鍵的設備驅動
 12.1.1 按鍵的硬件原理
 12.1.2 按鍵驅動中的數據結構
 12.1.3 按鍵驅動的模塊加載和卸載函數
 12.1.4 按鍵設備驅動中斷、定時器處理程序
 12.1.5 按鍵設備驅動的打開、釋放函數
 12.1.6 按鍵設備驅動讀函數
12.2 觸摸屏的設備驅動
 12.2.1 觸摸屏的硬件原理
 12.2.2 觸摸屏設備驅動中數據結構
 12.2.3 觸摸屏驅動中的硬件控制
 12.2.4 觸摸屏驅動模塊加載和卸載函數
 12.2.5 觸摸屏驅動中斷、定時器處理程序
 12.2.6 觸摸屏設備驅動的打開、釋放函數
 12.2.7 觸摸屏設備驅動的讀函數
 12.2.8 觸摸屏設備驅動的輪詢與異步通知
 12.2.9 linux輸入子系統
12.3 dsphpi的設備驅動
 12.3.1 hpi接口的硬件原理
 12.3.2 hpi接口設備驅動中數據結構
 12.3.3 hpi接口設備驅動的讀寫函數
12.4 nvram設備驅動
 12.4.1 nvram設備驅動的數據結構
 12.4.2 nvram設備驅動的模塊加載與卸載函數
 12.4.3 nvram設備驅動讀寫函數
 12.4.4 nvram設備驅動的seek函數
12.5 看門狗設備驅動
 12.5.1 看門狗硬件原理
 12.5.2 看門狗驅動中的數據結構
 12.5.3 看門狗驅動模塊的加載和卸載函數
 12.5.4 看門狗驅動探測和移除函數
 12.5.5 看門狗驅動的掛起和恢復函數
 12.5.6 看門狗驅動的打開和釋放函數
 12.5.7 看門狗驅動寫函數
12.6 總結
第3篇 linux設備驅動實例
 第13章 linux塊設備驅動
13.1 塊設備的i/o操作特點
13.2 linux塊設備驅動結構
 13.2.1 block_device_operations結構體
 13.2.2 gendisk結構體
 13.2.3 request與bio結構體
 13.2.4 塊設備驅動注冊與注銷
13.3 linux塊設備驅動的模塊加載與卸載
13.4 塊設備的打開與釋放
13.5 塊設備驅動的ioctl函數
13.6 塊設備驅動的i/o請求處理
 13.6.1 使用請求隊列
 13.6.2 不使用請求隊列
13.7 實例1:ramdisk驅動
 13.7.1 ramdisk的硬件原理
 13.7.2 ramdisk驅動模塊的加載與卸載
 13.7.3 ramdisk設備驅動block_device_operations及成員函數
 13.7.4 ramdiski/o請求處理
13.8 實例2:ide硬盤設備驅動
 13.8.1 ide硬盤設備原理
 13.8.2 ide硬盤設備驅動的block_device_operations及成員函數
 13.8.3 ide硬盤設備驅動的i/o請求處理
 13.8.4 在內核中增加對新系統ide設備的支持
13.9 總結
 第14章 linux終端設備驅動
14.1 終端設備
14.2 終端設備驅動結構
14.3 終端設備驅動的初始化與釋放
 14.3.1 模塊加載與卸載函數
 14.3.2 打開與關閉函數
14.4 數據發送和接收
14.5 tty線路設置
 14.5.1 線路設置用戶空間接口
 14.5.2 tty驅動的set_termios函數
 14.5.3 tty驅動的tiocmget和tiocmset函數
 14.5.4 tty驅動的ioctl函數
14.6 uart設備驅動
14.7 s3c2410uart的驅動實例
 14.7.1 s3c2410串口硬件描述
 14.7.2 s3c2410串口驅動的數據結構
 14.7.3 s3c2410串口驅動的初始化與釋放
 14.7.4 s3c2410串口數據收發
 14.7.5 s3c2410串口線路設置
14.8 總結
 第15章 linux的i2c核心、總線與設備驅動
15.1 linux的i2c體系結構
15.2 linuxi2c核心
15.3 linuxi2c總線驅動
 15.3.1 i2c適配器驅動加載與卸載
 15.3.2 i2c總線通信方法
15.4 linuxi2c設備驅動
 15.4.1 linuxi2c設備驅動的模塊加載與卸載
 15.4.2 linuxi2c設備驅動的i2c_driver成員函數
 15.4.3 linuxi2c設備驅動的文件操作接口
 15.4.4 linux的i2c-dev.c文件分析
15.5 s3c2410i2c總線驅動實例
 15.5.1 s3c2410i2c控制器硬件描述
 15.5.2 s3c2410i2c總線驅動總體分析
 15.5.3 s3c2410i2c適配器驅動的模塊加載與卸載
 15.5.4 s3c2410i2c總線通信方法
15.6 saa7113h視頻ad芯片的i2c設備驅動實例
 15.6.1 saa7113h視頻ad芯片硬件描述
 15.6.2 saa7113h視頻ad芯片驅動的模塊加載與卸載
 15.6.3 saa7113h設備驅動的i2c_driver成員函數
15.7 總結
 第16章 linux網絡設備驅動
16.1 linux網絡設備驅動的結構
 16.1.1 網絡協議接口層
 16.1.2 網絡設備接口層
 16.1.3 設備驅動功能層
 16.1.4 網絡設備與媒介層
16.2 網絡設備驅動的注冊與注銷
16.3 網絡設備的初始化
16.4 網絡設備的打開與釋放
16.5 數據發送流程
16.6 數據接收流程
16.7 網絡連接狀態
16.8 參數設置和統計數據
16.9 cs8900網卡設備驅動實例
 16.9.1 cs8900網卡硬件描述
 16.9.2 cs8900網卡驅動設計分析
 16.9.3 cs8900網卡注冊、初始化與注銷
 16.9.4 cs8900網卡發送數據流程
 16.9.5 cs8900網卡接收數據流程
16.10 總結
 第17章 linux音頻設備驅動
17.1 數字音頻設備
17.2 音頻設備硬件接口
 17.2.1 pcm接口
 17.2.2 iis接口
 17.2.3 ac97接口
17.3 linuxoss音頻設備驅動
 17.3.1 oss驅動的組成
 17.3.2 mixer接口
 17.3.3 dsp接口
 17.3.4 oss用戶空間編程
17.4 linuxalsa音頻設備驅動
 17.4.1 alsa的組成
 17.4.2 card和組件管理
 17.4.3 pcm設備
 17.4.4 控制接口
 17.4.5 ac97api接口
 17.4.6 alsa用戶空間編程
17.5 s3c2410+uda1341oss驅動實例
 17.5.1 s3c2410與uda1341接口硬件描述
 17.5.2 注冊dsp和mixer接口
 17.5.3 mixer接口的i/o控制函數
 17.5.4 dsp接口音頻數據傳輸
17.6 sa1100+uda1341alsa驅動實例
 17.6.1 card注冊與注銷
 17.6.2 pcm設備的實現
 17.6.3 控制接口的實現
17.7 pxa255+ac97alsa驅動實例
17.8 總結
 第18章 lcd設備驅動
18.1 lcd硬件原理
18.2 幀緩沖
 18.2.1 幀緩沖的概念
 18.2.2 顯示緩沖區與顯示點
 18.2.3 linux幀緩沖相關數據結構與函數
18.3 linux幀緩沖設備驅動結構
18.4 幀緩沖設備驅動的模塊加載與卸載函數
18.5 幀緩沖設備顯示緩沖區的申請與釋放
18.6 幀緩沖設備的參數設置
 18.6.1 定時參數
 18.6.2 像素時鐘
 18.6.3 顏色位域
 18.6.4 固定參數
18.7 幀緩沖設備驅動的fb_ops成員函數
18.8 lcd設備驅動的讀寫、mmap和ioctl函數
18.9 幀緩沖設備的用戶空間訪問
18.10 linux圖形用戶界面
 18.10.1 qt-x11/qtembedded/qtopia
 18.10.2 microwindows/nano-x
 18.10.3 minigui
18.11 實例:s3c2410lcd設備驅動
 18.11.1 s3c2410lcd控制器硬件描述
 18.11.2 s3c2410lcd驅動的模塊加載與卸載函數
 18.11.3 s3c2410lcd驅動的探測與移除函數
 18.11.4 s3c2410lcd驅動掛起與恢復函數
 18.11.5 s3c2410lcd驅動的fb_ops成員函數
18.12 總結
 第19章 flash設備驅動
19.1 linuxflash驅動結構
 19.1.1 linuxmtd系統層次
 19.1.2 linuxmtd系統接口
 19.1.3 mtd用戶空間編程
19.2 norflash驅動
19.3 nandflash驅動
19.4 norflash驅動實例:s3c2410外圍的norflash驅動
19.5 nandflash驅動實例:s3c2410外圍的nandflash驅動
 19.5.1 s3c2410nand控制器硬件描述
 19.5.2 nand_chip初始化和成員函數
 19.5.3 nand設備驅動初始化與釋放
19.6 flash文件系統的建立
 19.6.1 flash轉換層
 19.6.2 cramfs
 19.6.3 jffs/jffs2
 19.6.4 yaffs/yaffs2
19.7 總結
 第20章 usb主機與設備驅動
20.1 linuxusb驅動層次
   20.1.1 主機側與設備側usb驅動
   20.1.2 設備、配置、接口、端點
20.2 usb主機驅動
   20.2.1 usb主機驅動的整體結構
   20.2.2 實例:s3c2410usb主機驅動
20.3 usb設備驅動
   20.3.1 usb設備驅動整體結構
   20.3.2 usb請求塊(urb)
   20.3.3 探測和斷開函數
   20.3.4 usb骨架程序
20.4 usb設備驅動實例
   20.4.1 usb串口驅動
  20.4.2 usb鍵盤驅動
20.5 總結
第21章 pci設備驅動
21.1 pci總線與配置空間
 21.1.1 pci總線的linux描述
 21.1.2 pci設備的linux描述
 21.1.3 pci配置空間訪問
21.2 pci設備驅動結構
 21.2.1 pci_driver結構體
 21.2.2 pci設備驅動的組成
 21.2.3 舊版內核的pci設備探測
21.3 實例:intel810主板聲卡驅動
21.4  總結
第4篇 linux設備驅動測試、移植
 第22章 linux設備驅動的調試
22.1 linux開發環境建設
 22.1.1 實驗室建設
 22.1.2 工具鏈
 22.1.3 串口工具
22.2 gdb調試器用法
 22.2.1 gdb基本用法
 22.2.2 ddd圖形界面調試工具
22.3 linux內核調試
22.4 內核打印信息-printk()
22.5 使用/proc
22.6 oops
22.7 監視工具
22.8 內核調試器
 22.8.1 kcore
 22.8.2 kdb
 22.8.3 kgdb
22.9 使用仿真器調試內核
22.10 應用程序調試
22.11 總結
 第23章 linux設備驅動的移植
23.1 編寫可移植的設備驅動
 23.1.1 可移植的數據類型
 23.1.2 結構體對界
 23.1.3 littleendian與bigendian
 23.1.4 內存頁面大小
23.2 巧用同類設備驅動
 23.2.1 巧用demo板驅動
 23.2.2 巧用類似芯片的驅動程序
 23.2.3 借用芯片廠商的范例程序
23.3 從linux2.4移植設備驅動到linux2.6
23.4 linux與其他操作系統之間的驅動移植
23.5 總結
參考文獻

主站蜘蛛池模板: 数控落地镗铣床_数控刨台式镗铣床_数控龙门加工中心-青岛辉腾机械设备有限公司 | 三安光电股份有限公司| 柱塞泥浆泵|压滤机专用泵|陶瓷泥浆泵_咸阳华星泵业有限公司 | 联系我们-99公司开户电话-99厅 | 洛阳轴承研究所有限公司| 指纹锁_智能锁_指纹密码锁_智能锁十大品牌_智能门锁厂家-深圳市豪力士智能科技有限公司 | 伸缩接头,限位伸缩接头,传力接头,可拆卸接头,橡胶接头,衬四氟橡胶接头,橡胶软连接,橡胶补偿器,防水套管- 巩义市隆盛管道设备有限公司 | 组合包装箱,折叠包装箱,烟台木箱,烟台包装箱-烟台顺达包装有限责任公司 | 组合式空调机组-吊顶式新风换气机-消防高温排烟风机-德州宏楚空调设备有限公司 | 深圳沃亚游学官网丨国外游学丨国际夏冬令营丨美国游学线路丨出国短期游学丨亲子海外游丨游学咨询: 0755-83843308 | 石英砂|无烟煤滤料|火山岩|聚合硫酸铁|活性炭-河南碧水清源水处理材料有限公司 | 长沙考研-长沙考研辅导学校-长沙领航教育科技有限公司 | 昆山开曼流体系统科技有限公司 | 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 - 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 秦皇岛市信恒电子科技有限公司 秦皇岛市华谊彩印有限公司 | 温湿度记录仪_温度监控_冷链监控云平台_USB/PDF温度记录仪-深圳市鸿睿物联科技发展有限公司 | 四方光电(武汉)仪器有限公司_四方仪器首页-烟气分析仪|尾气分析仪|煤气分析仪|沼气分析仪|天然气分析仪|超声波流量计|在线气体分析系统|红外气体传感器 | 胶球清洗-射水抽气器-磷酸盐加药装置-连云港振辉机械设备有限公司 | 长沙网站建设,网站设计制作,长沙小程序开发,公众号开发,长沙叶老设计 | 烧腊培训,广东有实力的烧腊培训[免费试吃],广式烧鸭培训-烧鹅培训-学烧腊选广州嘉政 | 长春试验机-长春凯新试验仪器_试验机研发生产 专注试验机_首页 | 江苏省阀门工业协会,江苏阀协| 珠海拾比佰彩图板股份有限公司| 郑州宏大纺机有限公司 | 首页|广东蒙泰高新纤维股份有限公司|丙纶细旦丝|丙纶异形丝|丙纶FDY网络丝 - 广东蒙泰高新纤维股份有限公司 | 智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒 | 破碎机设备-锤式颚式反击式圆锥移动冲击式破碎机厂家-成都大宏立机器公司 | 陕西锐锋建筑安装有限公司,锐锋建筑,总承包,专业分包,市政综合,劳务,水电钢构,铁路公路,房建,房屋建筑施工 | 无心磨床- 无锡润一机床有限公司| 天下机械|机床商讯-机械网|机械技术|机械信息|机床资讯|机床设备|机床商讯杂志 | 日本国际高中学校招生【立学仕日本留学服务】日语中学学校|美术生|艺术生|高中生|本科|研究生|语言学校留学择校申请 | 垃圾桶_垃圾桶厂家_临沂市旭宏塑料有限公司 | 润东方环保空调厂家-水冷式空调价格-润东方水冷空调-东莞市科骏机电设备有限公司 | 西门子伺服电机维修_西门子变频器维修_西门子伺服驱动器维修_数控系统维修_PL维修-上海仰光电子 西克制冷官网│制冷机组冷风机冷库设备厂家-西克制冷(无锡)有限公司_西克制冷(无锡)有限公司 | 耐火砖厂家价格-郑州荣盛窑炉耐火材料有限公司 | 医盟网-全国首家医疗信息化行业门户网站 | 深圳彩盒印刷-纸盒包装-不干胶标签印刷-深圳印刷厂家-深圳贝的印刷 | 上海浩斌信息科技有限公司RFID读写器,IC卡读卡器,手持机,数据采集终端,电力仓库管理软件开发,固定资产软件,纱管标签,试剂管理,RFID试剂柜,档案管理,档案柜,智能货架 | 托普云农-数字农业综合服务商-官方网站| 贴片磁胶电感_一体成型电感_贴片共模电感_广东精密龙电子科技有限公司 | 新余婚庆公司_新余最好的婚庆公司_新余高端婚礼-爱尚婚礼策划 | 烧碱-工业片碱-火碱价格-氢氧化钠厂家-巩义市宝莱新材料厂 |