嵌入式Linux驅動模板精講與項目實踐

嵌入式Linux驅動模板精講與項目實踐

《嵌入式Linux驅動模板精講與項目實踐》是2014年5月電子工業出版社出版的圖書,作者是林錫龍。

基本介紹

  • 中文名:嵌入式Linux驅動模板精講與項目實踐
  • 作者:林錫龍
  • 出版社:電子工業出版社
  • 出版時間:2014年5月
  • 頁數:316 頁
  • 定價:59 元
  • 開本:16 開
  • ISBN:9787121230820
內容簡介,圖書目錄,

內容簡介

本書從實用的角度對嵌入式Linux驅動設計開發從理論到實踐做了比較深入的介紹,以Mini2440開發板為基礎,對各種常見驅動開發進行模板化設計訓練,各種模板可以直接套用到實際項目開發中,其中的一線研發技巧和案例分析可以供專業特訓和廣大嵌入式Linux開發者實戰使用。
本書共分為13章,書中介紹的各種開發技巧對實際套用有很大的借鑑意義,在各個知識點介紹中穿插實際項目的經驗分享,包括實際研發的管理經驗介紹,對驅動開發初學者和實際設計開發人員有很大益處,也可作為一線研發公司的崗前培訓教程。
本書重點在於核心驅動的講解,以及模板式開發的訓練,力求完全揭曉各種Linux開發中的技巧和模糊點,是一本比較實用的驅動開發訓練教程。

圖書目錄

目 錄
第1章 驅動總論 (1)
1.1 總論 (1)
1.1.1 驅動在核心中的比例 (1)
1.1.2 驅動開發需要具備的能力 (1)
1.1.3 驅動開發重點關注的內容 (2)
1.2 驅動理論與思想 (3)
1.2.1 分類思想 (4)
1.2.2 分層思想 (4)
1.2.3 分離思想 (10)
1.2.4 匯流排思想 (11)
本章小結 (11)
第2章 核心編程及基礎知識點 (12)
2.1 核心執行緒 (12)
2.2 核心定時器 (16)
2.3 鍊表 (18)
2.4 記憶體操作 (18)
2.5 I/O連線埠 (20)
2.6 核心相關宏 (21)
2.7 核心態檔案操作 (22)
2.8 核心通知鏈 (25)
本章小結 (30)
第3章 模組與常用字元設備方法 (31)
3.1 Linux驅動 (31)
3.2 核心驅動模組剖析 (32)
3.2.1 核心模組 (34)
3.2.2 模組工具集 (34)
3.2.3 模組檔案結構分析 (36)
3.2.4 核心管理 (37)
3.2.5 Modutils工具包及Module-init-tools移植 (37)
3.2.6 符號 (37)
3.2.7 驅動模組之間的依賴 (38)
3.2.8 模組編譯流程細節 (38)
3.2.9 模組編寫 (39)
3.3 巨觀分析Linux驅動 (39)
3.4 設備檔案 (41)
3.5 設備管理系統 (46)
3.5.1 自動創建和管理設備檔案揭秘 (46)
3.5.2 devfs、mdev和udev (46)
3.5.3 udev基本原理與流程 (47)
3.5.4 熱插拔與冷插拔 (48)
3.5.5 class (48)
3.6 字元設備驅動 (50)
3.6.1 原始方式 (51)
3.6.2 靜態設定設備號方式 (51)
3.6.3 使用udev工具自動生成設備檔案方式 (52)
3.6.4 簡潔型字元設備驅動——misc字元設備驅動方式 (53)
3.7 設備操作方法file_operations (55)
3.7.1 ioctl和unlocked_ioctl操作 (57)
3.7.2 read/write設備方法 (65)
3.7.3 llseek設備方法 (70)
3.7.4 mmap設備方法 (70)
3.7.5 利用mmap在套用層實現硬體操作 (75)
本章小結 (76)
第4章 同步和互斥 (77)
4.1 概述 (77)
4.2 基本概念 (77)
4.3 互斥和同步機制 (79)
4.4 互斥 (79)
4.4.1 禁止中斷 (79)
4.4.2 原子操作 (80)
4.4.3 自旋鎖 (81)
4.4.4 信號量 (82)
4.4.5 自旋鎖與信號量 (83)
4.4.6 互斥體:專用於互斥 (84)
4.5 同步 (84)
本章小結 (86)
第5章 中斷系統 (87)
5.1 中斷概述 (87)
5.2 基本概念 (87)
5.3 中斷原理及使用注意事項 (89)
5.4 中斷接口函式 (89)
5.4.1 中斷申請和釋放 (89)
5.4.2 中斷共享 (90)
5.4.3 中斷例程之一:按鍵中斷 (92)
5.4.4 中斷例程之二:A/D轉換驅動 (96)
5.5 底半部:tasklet、工作佇列 (104)
5.6 時間管理 (106)
本章小結 (107)
第6章 設備高級特性 (108)
6.1 字元設備file_operations的高級特性 (108)
6.2 Linux設備驅動的I/O模型 (109)
6.2.1 同步阻塞I/O (109)
6.2.2 同步非阻塞I/O (109)
6.2.3 異步阻塞I/O (110)
6.2.4 異步非阻塞I/O (110)
6.2.5 異步通知 (110)
6.2.6 同步阻塞型I/O的實現:建立在等待佇列的基礎上 (117)
6.2.7 異步阻塞型I/O的實現:基於poll系統調用操作接口函式 (121)
6.3 設備復用 (126)
本章小結 (128)
第7章 高級類型驅動 (129)
7.1 misc類型驅動 (129)
7.1.1 概述 (129)
7.1.2 結構與流程分析 (129)
7.1.3 關於設備節點的創建 (130)
7.2 input類型驅動 (130)
7.2.1 input驅動概述 (130)
7.2.2 三個主要結構體 (133)
7.2.3 Input驅動步驟 (136)
7.3 觸控螢幕驅動 (144)
7.4 I2C驅動 (150)
7.4.1 I2C匯流排接口 (150)
7.4.2 I2C核心驅動層及相關檔案分析 (151)
7.4.3 重要的數據結構及相關聯繫 (153)
7.4.4 流程分析 (157)
7.4.5 i2c-tools (165)
7.5 塊設備驅動 (169)
7.5.1 塊設備驅動分析 (169)
7.5.2 製作一個塊設備例子:RamDisk驅動 (174)
本章小結 (177)
第8章 虛擬檔案系統 (178)
8.1 核心線上視窗——虛擬檔案系統 (178)
8.2 proc檔案系統 (179)
8.2.1 目錄介紹 (179)
8.2.2 創建目錄與檔案 (184)
8.2.3 相關套用 (185)
8.3 sys檔案系統 (186)
8.3.1 sys檔案系統概述 (186)
8.3.2 sys檔案目錄 (187)
8.3.3 sys檔案系統接口函式與創建資料夾模板 (189)
本章小結 (192)
第9章 設備驅動模型 (193)
9.1 設備驅動模型概述 (193)
9.2 sys檔案系統與設備驅動模型 (194)
9.3 認識設備驅動模型 (195)
9.4 兩大基石kobject和kset (197)
9.4.1 核心對象kobject (197)
9.4.2 另外一個基石kset (199)
9.5 subsystem (203)
9.6 三角關係核心——匯流排、設備、驅動 (204)
9.6.1 匯流排 (204)
9.6.2 設備 (207)
9.6.3 驅動 (209)
9.7 platform匯流排 (211)
9.8 serio匯流排 (220)
9.8.1 serio子系統介紹 (220)
9.8.2 serio子系統框架 (220)
9.8.3 主要數據結構 (223)
本章小結 (229)
第10章 嵌入式Linux檔案系統 (230)
10.1 檔案系統介紹 (230)
10.2 創建最簡單的根檔案系統 (233)
10.3 YAFFS檔案系統移植 (241)
10.4 JFFS2檔案系統製作 (250)
10.5 ramdisk檔案系統製作 (250)
10.6 cramfs檔案系統製作 (252)
本章小結 (253)
第11章 開發與調試技巧 (254)
11.1 vim使用 (254)
11.2 工具使用 (254)
11.3 printk使用技巧 (259)
11.4 使用proc線上打開列印開關 (260)
11.5 異常崩潰oops處理 (261)
11.6 動態修改模組參數 (269)
11.7 使用devmem2操作物理地址 (269)
11.8 時間測量 (270)
11.9 善於使用開源項目 (270)
本章小結 (271)
第12章 底層驅動規劃與管理探索 (272)
12.1 底層驅動規劃探索 (272)
12.1.1 設計理念概述 (272)
12.1.2 底層平台軟體設計 (273)
12.1.3 底層平台軟體管理規則 (276)
12.1.4 獨立驅動模組的版本管理 (276)
12.1.5 提供最基本的系統 (278)
12.1.6 驅動開發注意事項 (278)
12.1.7 版本庫 (279)
12.1.8 平台版本構建發布 (282)
12.2 研發管理 (283)
12.2.1 嵌入式軟體研發管理暢想 (284)
12.2.2 嵌入式軟體V字形開發模式 (285)
12.3 軟體開發文檔 (286)
12.3.1 可行性分析報告 (286)
12.3.2 嵌入式軟體系統設計方案文檔 (289)
12.3.3 嵌入式軟體概要設計 (290)
12.3.4 嵌入式軟體詳細設計 (293)
12.3.5 案例分析 (294)
本章小結 (295)
第13章 Linux設備驅動編程規範 (296)
13.1 基本原則 (296)
13.2 布局 (297)
13.3 基本格式 (299)
13.4 對齊 (300)
13.5 空行空格 (301)
13.6 注釋 (301)
13.7 命名 (302)
13.8 函式 (302)
13.9 可靠性 (303)
13.10 其他 (303)
本章小結 (305)
參考文獻 (306)

相關詞條

熱門詞條

聯絡我們