注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)計算機組織與體系結(jié)構(gòu)嵌入式Linux驅(qū)動模板精講與項目實踐

嵌入式Linux驅(qū)動模板精講與項目實踐

嵌入式Linux驅(qū)動模板精講與項目實踐

定 價:¥59.00

作 者: 林錫龍 著
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 計算機/網(wǎng)絡(luò) 計算機體系結(jié)構(gòu)

ISBN: 9787121230820 出版時間: 2014-05-01 包裝: 平裝
開本: 其他 頁數(shù): 316 字?jǐn)?shù):  

內(nèi)容簡介

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

作者簡介

  8年嵌入式軟件一線研發(fā)經(jīng)驗,曾在華為等通信公司從事底層軟件研發(fā)、Linux驅(qū)動開發(fā)工作。多次擔(dān)任專業(yè)培訓(xùn)機構(gòu)高級培訓(xùn)師,主講嵌入式Linux驅(qū)動開發(fā)。

圖書目錄

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

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號